一周 Go World 新鲜事

mob604756f0bbf4 · · 599 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

01

Go语言TCP/IP网络编程

乍一看,通过TCP/IP层连接两个进程会感觉可怕, 但是在Go语言中可能比你想象的要简单的多

很多情况下,使用更高级别的网络协议毫无疑问会更好,因为可以使用华丽的API, 它们隐藏了很多技术细节。现在根据不同的需求,有很多选择,比如消息队列协议, gRPC, protobuf, FlatBuffers, RESTful网站API, websocket等等。

然而在一些特殊的场景下,特别是小型项目,选择任何其他方式都会感觉太臃肿了,更不用说你需要引入额外的依赖包了。

幸运的是,使用标准库的net包来创建简单的网络通信不比你所见到的要困难。

出自GoCN每日新闻(2018-05-05)

原文链接:https://segmentfault.com/a/1190000014733620

02

go并发实战: 搭配 influxdb + grafana 高性能实时日志监控系统

实战内容: 实时处理读取/解析日志文件, 搭配 influxdb(时序数据库) 存储, grafana 展示, 并提供系统的简单监控.

出自GoCN每日新闻(2018-05-05)

原文链接:https://www.jianshu.com/p/f4d2b2ebafea

03

Go中string转[]byte的陷阱

上周四小伙伴发了Go社区一个帖子下hej8875的回复,如下:


package mainimport "fmt"func main() {
s := []byte("")
s1 := append(s, 'a')
s2 := append(s, 'b')//fmt.Println(s1, "==========", s2)fmt.Println(string(s1), "==========", string(s2))
}// 出现个让我理解不了的现象, 注释时候输出是 b ========== b// 取消注释输出是 [97] ========== [98] a ========== b 

这个回复比原贴有意思,也很有迷惑性。作者测试了下,确实如此,于是和小伙伴们讨论深究下。开始以为应该挺简单的,理解后,发现涉及挺多知识点,值得跟大家分享下过程。

出自GoCN每日新闻(2018-05-09)

原文链接:http://www.cnblogs.com/mushroom/p/8998538.html

04

在Go里面安地记录和跟踪HTTP请求

我最近在我们的一个后台服务中调试了一个令人讨厌的问题,需要查看准确的HTTP请求和响应被发送到一个认证服务器。幸运的是,Go的标准库提供了http.RoundTripper,httputil.DumpRequestOut & httputil.DumpResponse,它非常适合转储确切的输出请求和响应。

出自GoCN每日新闻(2018-05-06)

原文链接:https://zvelo.com/securely-logging-tracing-http-requests-go/

05

C、Go、Perl与Unix

在过去的几个月里,我意识到一些让人觉得不舒服的事,我对所有程序的一些假设都是错的。

在讨论这些之前,我需要确保您理解了Unix过程模型。我想要传达的主要细节是 fork和exec如何结合使用.

出自GoCN每日新闻(2018-05-06)

原文链接:https://blog.afoolishmanifesto.com/posts/c-golang-perl-and-unix/


有疑问加站长微信联系(非本文作者)

本文来自:51CTO博客

感谢作者:mob604756f0bbf4

查看原文:一周 Go World 新鲜事

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

599 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传