picu项目 golang使用体会

因为原来的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真好用

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一只程序汪的自我修养

使用requirejs编写模块化代码

2485
来自专栏Golang语言社区

Golang学习--GroupCache的使用

groupcache 是 Brad Fitzpatrick 最新的作品,目标在于取代一部分memcached的功能。以官方的说明是:groupcache ...

6364
来自专栏深度学习计算机视觉

Qt+opencv+EasyPR(车牌识别系统,从配置环境到成功运行)

最近在东软睿道实训搞一个车牌识别系统,所用材料为Qt+opencv+EasyPR,从配环境到成功运行历时几天颇为艰难,这里写篇经验贴,手把手教你~ 作者:张俊怡...

6753
来自专栏Seebug漏洞平台

Vivotek 摄像头远程栈溢出漏洞分析及利用

作者:fenix@知道创宇404实验室 前 言 近日,Vivotek 旗下多款摄像头被曝出远程未授权栈溢出漏洞,攻击者发送特定数据可导致摄像头进程崩溃。 ...

4519
来自专栏PHP实战技术

ThinkPHP之另类RBAC效果

admin最高权限的用户只有一个,他将不参与判断,直接显示全部

2585
来自专栏大数据文摘

手把手 | 20行Python代码教你批量将PDF转为Word

3265
来自专栏【转载】DRF+Vue+Mysql_生鲜超市系统

十三、首页、商品数量、缓存和限速功能开发

实现这个接口只要在goods/filters/GoodsFilter里面添加一个过滤就可以了

1530
来自专栏Kirito的技术分享

从Spring Session源码看Session机制的实现细节

去年我曾经写过几篇和 Spring Session 相关的文章,从一个未接触过 Spring Session 的初学者视角介绍了 Spring Session ...

64612
来自专栏数据小魔方

word多文档合并技巧

今天要跟大家安利一些word多文档合并的技巧! 经常要处理word文档的小伙伴儿们,是不是也遇到过这样的难题。 偶尔要把一大堆的word文本文档,弄到一个文档...

3556
来自专栏微服务生态

深入浅出Netflix Conductor使用

Netflix Conductor框架是典型的服务编排框架,通过Conductor还可以实现工作流和分布式调度,性能非常卓越。

1.1K3

扫码关注云+社区

领取腾讯云代金券