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/
有疑问加站长微信联系(非本文作者)