Tag Archives: golang

Golang 1.7

Golang 1.7 主打更小的 binary size:「Smaller Go 1.7 binaries」: Typical programs, ranging from tiny toys to large production programs, are about 30% smaller when built with Go 1.7. 還附了一張經典的「Hello, world」程式的分析: 由於現代 CPU 的速度與 L1/L2/... cache 有緊密關係,當 binary size 變小時,常常會伴隨著 memory access … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , | Leave a comment

Go 上面的白箱安全性檢查

HP 的 open source 專案「Go AST Scanner」,分析 Go 的原始程式碼拉出 AST 進行分析 (Static program analysis),再找出可能的安全性問題。 雖然是 alpha 階段,但看起來是個好東西啊... 至少寫的太誇張的 SQL injection 可以掃出來。

Posted in Computer, Murmuring, Network, Programming, Security, Software | Tagged , , , , , , , , , , | Leave a comment

Go 1.6 把 HTTP/2 變成預設支援的功能

在 Go 的官方公告「Go 1.6 is released」提到了把 net/http 的 HTTP/2 預設啟用了: In Go 1.6, support for HTTP/2 is enabled by default for both servers and clients when using HTTPS, bringing the benefits of the new protocol to a wide range of … Continue reading

Posted in Computer, Murmuring, Network, Programming, Security, Software, WWW | Tagged , , , , , , , , , , | 1 Comment

Google 的 Load balancer:Seesaw

前幾天因為流感而睡太多,來消化一些文章。 上個星期 Google 放出一套用 Go 寫的 Load balancer,叫 Seesaw:「Seesaw: scalable and robust load balancing」。 比較有趣的是 BGP 與 anycast VIP 的能力: Seesaw v2 provides full support for anycast VIPs - that is, it will advertise an anycast VIP when it becomes … Continue reading

Posted in Computer, Murmuring, Network, Software, WWW | Tagged , , , , , , , , , , , , , , , | Leave a comment

Go 1.5 的進展

Andrew Gerrand 在「The State of Go - Where we are in May 2015」這份投影片裡面提到了不少 1.5 的改變與改善,預定在今年八月釋出。 首先是全部都改用 Go 寫,不再需要 C 語言的協助了: The gc tool chain has been converted from C to Go. 而效能上的改善最大的是 GC 的部份: 另外是對行動平台的發展: Go 1.5 provides support for … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , , , | Leave a comment

CloudFlare 對 Go 上面加解密系統的改善

CloudFlare 發佈了自己版本的 Go,修改了其中的 crypto subsystem:「Go crypto: bridging the performance gap」。 文章花了不少篇幅介紹 AEAD (Authenticated Encryption with Associated Data),而目前 CloudFlare 支援的是 AES-GCM 與 ChaCha20-Poly1305,也是兩大主流,分別佔了 60% 與 10% 的 HTTPS 流量: As such today more than 60% of our client facing traffic is … Continue reading

Posted in CDN, Cloud, Computer, Murmuring, Network, Programming, Security, Software | Tagged , , , , , , , , , , , , , , | Leave a comment

用 Go 寫的 Tor Relay Server

在 Zite 上看到的「Implementing a Tor relay from scratch」,用 Go 寫的 Tor Relay Server。 會跳下去用 Go 寫是因為效能上的考量: [...], but the lack of AES-NI instructions on the CPUs cause a significant slowdown. 但因為一個 IP 只能跑兩個 instance,這就有點痛了: To maximize the amount of relayed … Continue reading

Posted in Computer, Murmuring, Network, P2P, Programming, Security, Software | Tagged , , , , , , , | Leave a comment

C 對 Go Channel 的實做

在「Pure C implementation of Go channels.」這邊看到有人在 C 語言裡面實做 Go 的 Channel,包括了 Unbuffered 與 Buffered 版本。 看起來是支援 multithreading 的:「Add missing pthread_cond_destroy in chan init cleanup」、「Add -lpthread to CFLAGS」。

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , , , | 1 Comment

Go 對 Android 的支援

Google 的 David Crawshaw 提出了「Go support for Android」的計畫。 提案中是希望 Go 1.4 可以開始支援: During the Go 1.4 cycle, GOOS=android will be introduced to the Go repository, along with cgo support on Android (contributed by Elias Naur). Dalvik/ART-loadable .so files will be … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , | Leave a comment

Go 的 cheatsheet?

也不能算是 Cheatsheet... 但功能很接近了:「Go by Example」。 因為不常寫 Go,每次要寫小東西的時候都要重新複習,這個網站提供了範例重點讓看過 Go 文件的人可以快速查詢,包含了常用的 library 的呼叫方式。 先 bookmark 起來...

Posted in Computer, Murmuring, Programming | Tagged , , | Leave a comment