shenyi
管理员
管理员
  • UID1
  • 粉丝45
  • 关注0
  • 发帖数900
阅读:3151回复:0

Golang周报第四期:泛型、领域驱动、人脉、grpc

楼主#
更多 发布于:2020-09-16 13:48


      第一期链接 Golang周报第一期:gorm2、微服务优势、云原生、好程序员
      第二期链接Golang周报第二期:端口扫描、json瓶颈、slice修改、微服务课程升级

       第三期链接  Golang周报第三期:版本升级、共享内存、狮子和老虎谁厉害


一   关于泛型
  根据最新的草案,也许未来Go的泛型是这样:
  func Print[T any](s []T "T any") { … }
  对,也许可能用的是中括号。和其他语言使用<>有区别。
  默默的等待中。泛型还是很有必要的。不过目测大家使用的goland又要升级一波了哦
 另外,有条件的同学可以到 https://go2goplay.golang.org/ 去体验 (不要问 “怎么个有条件法”,你懂的)


二、关于golang写的web服务器
  有吗? 有,看这个https://github.com/caddyserver/caddy
  大约是去年我们在项目里用过一次,体验还是非常不错的。支持赤裸裸的web发布、反代、网关、负载均衡和ingress controller。 试一试不会怀孕的


三、有人说彻底搞懂Go需要学汇编?
  从技术角度是的。从业务角度呢?答:可以不用这么彻底,聊点别的吧~~~(~_~)
  开发GO的程序员应该是食物链顶端的程序员了,连汇编都是自己搞了一套。  go的汇编基于plan9,也是一种伪汇编,所谓的伪汇编:它并不对应某种真实的硬件架构。也是利用这种伪汇编为目标硬件生成具体的机器指令。这就是为何Go有这么好的移植性的原因。
 
四、前两天在 头条里 聊到了点“程序员积累人脉“那些事
  这种话题我知道很招黑。因为始终会有一些双标党,一边喷击程序员应该只搞技术,不应该入世,甚至应该不食人间烟火。一边自己在那。。。。(你懂的)
  作为我个人还是那句话:除非你天赋特别高,高到只需要技术就能行走天下。否则技术、人脉和社会, 都是 我们程序员 生活的一部分,别站着说话不腰疼。


五、又是招黑话题:GO为什么会如此火爆
   不谈语言好坏,没啥好谈。Go火爆是有特殊原因的,我举个栗子:
   之前我们自己项目做过一个测试,相同的功能+相同的硬件环境。用java写的程序,默认(注意用词)情况下承受的压测数据不如Golang。而且耗费的资源比较多。 当然,后面我们找来了某java老手进行各种优化包括JVM的调优。 事实上发现,经过疯狂优化后 Java的压测数据是快于Go的(耗费的资源依然比Go多)。
  以上不是在说谁好(再讨论这个我死你面前)。  就一个词:成本。 你品你细品~~~~。
  另外,还有个"天时"-----那就是现在进入了云原生时代。那么 Go 的一些特性使它相对容易成为“云原生语言”。 (注意,其他语言也能,但是没这么“容易”)


六、关于Go和领域驱动(DDD)
   GO其实不是纯面向对象语言,因此在写DDD的过程中还是有些不丝滑的感觉。 因此我在自己的gin脚手架上做了个简化和阉割版的讲解,目前刚开始更新,免费的。看戳这里 http://b.jtthink.com/read.php?tid=571


七、关于grpc工具
   之前课程里也演示过grpc-gateway,可以把grpc映射成http api的方式发布出去。这个不再赘述,其实还有一个 是 命令行工具
  譬如有些后台服务我们直接做成了grpc服务,那么除了用http api发布出去。假设我们是给系统管理用的,不需要http。只需要命令行操作就行了,有啥办法呢?。 于是 可以用gRPCurl
 地址戳这里:  https://github.com/fullstorydev/grpcurl
 





会讲故事的程序员
游客

返回顶部