Go tipでなにが行われてる?(2013-08-30)
What's happening in Go tip (2013-08-30)よりメモ。
前回のメモはこちら: http://atotto.hatenadiary.jp/entry/2013/08/24/214941
(以下、間違い/勘違いがあるかもしれないので注意してね)
What's happening in Go tip (2013-08-30)
- より安全に
- GIF画像のエンコーディングをサポート
- zipの圧縮方法の選択肢が増える
- MD5とSHAでハッシュがより簡単に
- go get -tで依存関係のテスト
より安全に
Go is becoming a better citizen ← タイトルの訳し方がわからなかった。。
メモリの割り当てに関する話。
- 64bitシステムで1GB、32bitシステムで250MBのスタックサイズの制限が入る(?)
- 10MBを超える全ての変数はヒープへ移動する
runtime/debug.SetMaxThreads()
を通してスレッドの数を設定する- DNSルックアップの???
GIF画像のエンコーディングをサポート
これまで、GIFはデコードだけだったけど、Go 1.2でGIFエンコーダが実装される。
image/draw
パッケージに2つのインターフェースが追加されてる:
* Drawer
インターフェース
* Quantizer
インターフェース
みんな大好きGIFアニメーションは、新しいエンコーダのEncodeAll
関数にある。
zipの圧縮方法の選択肢が増える
archive/zip
ではこれまで圧縮方法がハードコードされてた。
zipの仕様では、11の圧縮方法がある。
Goは2つ(DEFLATE、stored)だけサポートしてる。
今回の変更でarchive/zip
を直接修正しなくても新しい圧縮方法を追加することができるようになる。
MD5とSHAでハッシュがより簡単に
data := []byte(`hello, world`) h := sha1.New() h.Write(data) hash := h.Sum(nil) fmt.Printf("H(data) = %x\n", hash) // Output: H(data) = b7e23ec29af22b0b4e41da31e868d57226121c84
↓ Go 1.2でこうなる。
data := []byte(`hello, world`) hash := sha1.Sum(data) fmt.Printf("H(data) = %x\n", hash) // Output: H(data) = b7e23ec29af22b0b4e41da31e868d57226121c84
go get -tで依存関係のテスト
go get
に依存関係をテストする-t
オプションが追加される。
ひとまずおしまい。。
- 作者: David Chisnall,デイビッド・チズナール,柴田芳樹
- 出版社/メーカー: ピアソン桐原
- 発売日: 2012/10/04
- メディア: 単行本(ソフトカバー)
- 購入: 1人 クリック: 5回
- この商品を含むブログを見る
- 作者: 古川昇
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2012/11/21
- メディア: 単行本(ソフトカバー)
- クリック: 7回
- この商品を含むブログ (2件) を見る
Programming in Go: Creating Applications for the 21st Century (Developer's Library)
- 作者: Mark Summerfield
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2012/05/01
- メディア: Kindle版
- この商品を含むブログを見る