Skip to content

gfoxiii/going

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Going

前言

本“代码库”主要是本人在项目开发过程中,抽取出的一部分常用的、可组件化的代码组成的代码集合。目前刚刚起步,所以还比较凌乱,在今后的工作中,我会不断地对其进行完善。

本“代码库”的来源主要有两部分:

  • 自己写的组件:这部分主要是在项目开发过程中,将一些可组件化的功能模块进行单独的封装,以便日后使用,以提高开发效率。
  • 扩展网上的开源组件:对于一些自己想要实现的功能,网上有了相应的开源库,但是感觉又不太适合自己的习惯,所以会对其进行一些小的修改。这一部分代码,都会在源代码的开头注明其来源。

更新说明

2015.08.05

  • 发送邮件组件支持 TLS 加密传输

包说明

config

配置文件:主要功能是读、写配置文件,数据将以JSON格式存储在硬盘的指定位置,建议只存储一些不重要的、简单的信息。

context

只读配置文件:这个组件同样是读取配置信息,但是它是只读的。并且可以根据指定的环境信息,获取不同的配置信息。这一点常用到的场景有两个:

  • 国际化:有时候,需要对来自不同地域的请求,输出不同的提示语言;
  • 读取不同的配置信息:一般情况一下,我们都有开发环境、测试环境和生产环境,如果每次部署的时候,都需要手动修改代码,指定配置文件的信息,那样很麻烦,并且也容易出错。所以我们可以在程序的入口处就将“环境信息”设置好,让程序只读取某个配置文件的信息,并且也可以在代码中灵活切换。

convert

类型转换:API 接口获取到数据后,需要转换为我们需要的类型,但是 golang 提供的方法稍显复杂,所以稍作封装,将数据转换的工作简化。当然,只适用于数值类型。

email

邮件发送:这个组件集成了 https://github.com/jordan-wright/email 项目,主要简化了接口调用。

http

网络请求:封装 HTTP 请求,简化操作。

logs

日志:对于服务器端的开发来讲,为了便于调试及发现问题,我们需要将一些关键信息输出到文件以做后期的分析。本组件可以取代golang自带的 fmt.Printxxx 函数,用作输出调试使用。

logs 目前主要有以下几个功能:

  • 输出信息分级,在 console 输出信息的时候,会用不同的颜色对信息进行标记。
  • 指定输出通道,并且指定该输出通道的输出日志级别。
  • 输出信息到 console,取代 fmt.Printxxx。
  • 输出信息到文件,将日志信息记录到文件,超过指定大小之后,会自动分隔存储。
  • 输出信息到邮件,如果是比较紧急的日志信息,可以设置其发送到指定的邮箱,对于维护还是比较有用的。

time

时间组件:目前就一个 Timestamp.

tools

常用小工具信息,目前内容还很少,会慢慢增加。

validator

验证组件:对于客户端提交的信息,我们需要验证其格式和有效性,有效性主要通过数据库查询。对于格式的验证我们经常会写很多 if 语句来判断,这样很麻烦,也不专业。Python 的 Django 带有一个功能强大的 Form 验证组件,还有 WTForm 的验证功能也很不错。所以就借鉴这两个组件,用 golang 的方式实现了这个验证组件,因为本人涉及到的工作主要是 API 接口开发,所以并没有提供表单的功能,而只是开发了验证的功能。

具体的使用,请参考测试文件。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%