1 Star 0 Fork 620

zuowenzhuang / gf

forked from John / gf 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
TODO 5.85 KB
一键复制 编辑 原始数据 按行查看 历史
ON THE WAY:
orm增加更多数据库支持;
增加对于数据表Model的封装;
更多数据库的ORM功能支持;
考虑gdb对象管理增加二级连接池特性,提高New&Close性能;
增加图形验证码支持,至少支持数字和英文字母;
增加热编译工具,提高开发环境的开发/测试效率(媲美PHP开发效率);
增加可选择性的orm tag特性,用以数据表记录与struct对象转换的键名属性映射;
ghttp.Response增加输出内容后自动退出当前请求机制,不需要用户手动return,参考beego如何实现;
Cookie&Session数据池化处理;
ghttp.Client增加proxy特性;
gtime增加对时区转换的封装,并简化失去转换时对类似+80500时区的支持;
orm增加sqlite对Save方法的支持(去掉触发器语句);
ghttp.Server增加Ip访问控制功能(DenyIps&AllowIps);
ghttp路由功能增加分组路由特性;
ghttp增加返回数据压缩机制;
gview中的template标签失效问题;
gfile文件stat信息使用gfsnotify进行缓存更新改进;
ghttp.Server增加proxy功能特性,本地proxy和远程proxy,本地即将路由规则映射;远程即反向代理;
gjson对大json数据的解析效率问题;
ghttp增加route name特性,并同时支持backend和template(提供内置函数)引用,可以通过RedirectRoute方法给定route name和路由参数跳转到指定的路由地址上;
ghttp.Client自动Close机制;
gvalid校验支持当第一个规则失败后便不再校验后续的规则,最好做成链式操作;
检查ghttp.Server超时问题;
gvalid增加支持对[]rune的长度校验(一个中文占3个字节);
ghttp.Request增加对输入参数的自动HtmlEncode机制;
常量命名风格根据golint进行修改;
开放rwmutex包,并将gjson的互斥锁使用自定义的mutex替换;
文档完善:
gconv struct tag、
控制器及执行对象注册的Init&Shut方法、
ghttp.Response&ServeFile、gfcache、gproc shell执行、
ghttp Server&Client basic auth、
glog分类&日志等级&链式操作、gdb debug自动输出调试信息、gmlock内存锁、
服务注册域名增加对泛域名的支持;
服务注册时判断方法定义满足规范时才执行绑定,否则提示WARN信息;
Cookie设置中文失效问题;
ghttp hook回调使用方式在注册路由比较多的时候,优先级可能使得开发者混乱,考虑方式便于管理;
使用gconv将slice映射到struct属性上,例如redis hscan的结果集;
DONE:
1. gconv完善针对不同类型的判断,例如:尽量减少sprintf("%v", xxx)来执行string类型的转换;
2. ghttp.Server请求执行中增加服务退出的方法,不再执行后续操作;
3. ghttp.Response对象完善并改进数据返回方法(Write/WriteString);
4. ghttp.Server请求执行中增加服务退出的方法,不再执行后续操作;
5. 增加fsnotify包支持;
6. 改进gcfg和gview的文件自动更新机制;
7. 将模板变量进行暴露,以便应用端可以进行灵活控制;
8. 跟踪第三方mxj包的issue问题:https://github.com/clbanning/mxj/issues/48;
9. gdb Where方法参数的改进,研究是否可以将string参数类型修改为interface{};
10. gpage分页控制功能;
11. https支持;
12. ghttp.Server日志中增加请求时间和返回时间,以便计算执行时间差;
13. 由于去掉了gdb的单例模式,并且将gins的部分对象封装迁移到了g包中,需要同时梳理文档,完善修改;
14. 在代码中增加https与http同时开启使用的示例代码,这块大家问得比较多;
15. ghttp.Server多个事件之间通过ghttp.Request.Param自定义参数传参;
16. 研究是否增加配置文件目录检索功能,特别是如何友好改进开发环境的配置文件默认目录问题;
17. 增加ghttp.Server不同状态码的自定义处理方法;
18. ghttp.Server平滑重启方案;
19. 完善gconv类型转换功能,增加time.Time/time.Duration类型转换,并增加benchmark测试脚本
20. 当二进制参数为nil时,gjson.LoadContent并将gjson.Json对象ToMap时会报错;
21. 改进控制器及执行对象注册,更友好地支持动态路由注册,例如:注册规则为 /channel/:name,现有的控制器及执行对象注册很难友好支持这种动态形式;
22. 当前gpage分页包的输出标签不支持li,大多数CSS框架都是li+a标签模式,需要提供可更加灵活的定制化功能实现;
23. 平滑重启机制改进,以便于开发阶段调试;
24. 对grpool进行优化改进,包括属性原子操作封装采用gtype实现,修正设计BUG:https://github.com/johng-cn/gf/issues/6;
25. gredis增加redis密码支持;
26. 改进ghttp.Server平滑重启机制,当新进程接管服务后,再使用进程间通信方式通知父进程销毁;
27. gproc进程间通信增加分组特性,不同的进程间可以通过进程ID以及分组名称发送/获取进程消息;
28. ORM增加获取被执行的sql语句的方法;
29. gdb增加查询缓存特性;
30. gpage分页增加对自定义后缀的支持,如:2.html, 2.php等等;
31. gvalid包增加struct tag的校验规则、自定义错误提示信息绑定的支持特性;
32. 增加文件缓存包,可根据fsnotify机制进行缓存更新;
33. *any/:name路由匹配路由改进支持不带名字的*/:路由规则;
34. ghttp静态文件服务改进(特别是403返回状态的修改);
35. map转struct增加对tag的支持;
36. gcache检查在i386下的int64->int转换问题;
37. ghttp获取参数支持直接转struct功能;
38. gfsnotify增加对于目录的监控;
39. 检查windows下的平滑重启失效问题;
40. ghttp.Server的Cookie及Session锁机制优化(去掉map锁机制);
41. 解决glog串日志情况;
42. glog增加对日志文件名称的生成规则设定,支持时间格式规则;
43. ghttp日志增加客户端IP信息;
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/axsure/gf.git
git@gitee.com:axsure/gf.git
axsure
gf
gf
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891