前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >picu项目 golang使用体会

picu项目 golang使用体会

作者头像
radaren
发布2018-08-28 15:00:07
6470
发布2018-08-28 15:00:07
举报

因为原来的golang的notes只有三行。 为了文章质量添加一些项目经历~过两天更新到km上

CSP并发模型

  • channel是第一类对象
  • goroutine是并发执行的实体

golang可能是世界上最好的语言?

  • 学习成本较低,较C++编译快,较python、java执行效率快
  • golang-C编程加速,类似于Cython
  • 我在picu项目实现中重写了奎爷临时存储,全异步实现,横向扩容爽
  • : 用的人不够多,SDK少,go-opencv库鸡肋

框架选择

  • golang 不建议使用框架,因为实在太好写了,所以自己封装一下原生的就可以了。
  • 还有一个原因是golang很多框架go get下载慢、访问外国网站(可以用七牛云解决),godoc太好用直接生成文档,很多东西没有,正常的example和中文文档!

但是很没有理想的,我们还是用了一些封装好的东西~

  • gin: 类似于flask, 一行代码路由业务
  • swapper: (可能名字记错了)用于生成漂亮的接口文档,需要访问外国网站
  • log4go: log,该做的都做了,但是生成格式化(json)log还待研究
  • json(语言自带):没用gjson因为奎爷说写明变量类型好看。。?,没用pb减轻客户端配置压力
  • redis: 用来搞个线程池来传数据,腾讯云双机热备,没用mysql,可以利用自增原子方法得到多服务器id变量
  • 不推荐reflect: 为了封装对象给redis,其实更好的做法是直接json marsh成字符串存进去
  • 不推荐gopython:为了封装业务强行搞了gopython,没有日志,后来解耦了python后端服务器
  • 不推荐opencv-go: (试过2,3两个版本,3好像不叫这个)文档自动生成的,很多opencvapi没有

还有些想说的

  • 别用panic
  • 配置文件提前定义好格式
  • 商量好error在那一层处理
  • 封装基础方法,存储,路由,业务分离。
  • git真好用
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CSP并发模型
  • golang可能是世界上最好的语言?
  • 框架选择
    • 但是很没有理想的,我们还是用了一些封装好的东西~
      • 还有些想说的
      相关产品与服务
      云数据库 Redis
      腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档