Golang Cafe #11

2014年から再び標準パッケージを追って行きます。今回はarchive(tar,zip)パッケージです。 http://www.zusaar.com/event/2857003
1
Takashi Yokoyama @ttyokoyama

Golang Cafe # 11を開催します。今回はarchiveパッケージを使ってみる会になります。2014/01/05(日)で2014年最初の回でもあります。 http://t.co/7w7m467Lyo #gdgchugoku

2013-12-30 20:26:04
Takashi Yokoyama @ttyokoyama

そろそろ、開催の時間が近づいてきました。到着した方は適当に入って席の確保をお願いします。 #gdgchugoku

2014-01-05 17:26:02
Takashi Yokoyama @ttyokoyama

今日は奥のテーブル席です。 #gdgchugoku

2014-01-05 17:45:18
Ryuji Iwata @qt_luigi

明けましておめでとうGoざいます!q@w@p Golang Cafe #11 始まりまーす! #gdgchugoku

2014-01-05 18:04:08
Ryuji Iwata @qt_luigi

Goフレーズブック p.204「17.4 振る舞いの制限」を検証中。 #gdgchugoku

2014-01-05 18:25:18
taknb2nch @taknb2nch

func NewExample2() Public { e := Example{"No Name"} e.(Public) return e } ではダメなようです。 #gdgchugoku

2014-01-05 18:28:21
Ryuji Iwata @qt_luigi

Wi-FiルーターのGOMAXPROCSを2以上に設定してつかぁさいw #gdgchugoku

2014-01-05 18:29:43
Takashi Yokoyama @ttyokoyama

プログラミング言語GoフレーズブックのP.205 NewExample2()の型アサーションの行がe.(Public)ではなく、http://t.co/nylSH1LVEB が、正解。TypeAssertionは左側がinterface。 #gdgchugoku #golang

2014-01-05 18:33:30
Ryuji Iwata @qt_luigi

本題へ。本日はarchiveパッケージ(tar,zip)です。 #gdgchugoku

2014-01-05 18:44:04
Ryuji Iwata @qt_luigi

// Closeをしないと、展開できなくなる。 tw := tar.NewWriter(file) defer tw.Close() #gdgchugoku

2014-01-05 18:46:01
taknb2nch @taknb2nch

Closeの中でFlushしてくれるらしい #gdgchugoku

2014-01-05 18:54:04
Takashi Yokoyama @ttyokoyama

archive/tarパッケージのClose()の中ではFlushしているが、エラーを受け取っていないので、「Close()の前にFlush()しておく」というのは、強ち間違いじゃない気もする。 http://t.co/rRL3twmsEj #golang #gdgchugoku

2014-01-05 19:01:43
Ryuji Iwata @qt_luigi

作成したsample.tarを展開したら、各ファイルのアクセス権限が----------となってアクセスできません(T_T) on Mac OS X 10.8 #gdgchugoku

2014-01-05 19:02:49
Ryuji Iwata @qt_luigi

zipの方はスムーズに動作中。 #gdgchugoku

2014-01-05 19:11:56
Ryuji Iwata @qt_luigi

Goのarchive/zipはzipバージョン2.0 or 4.5を実装しているからパスワード付きzipとかは出来ません。 #gdgchugoku

2014-01-05 19:27:12
taknb2nch @taknb2nch

圧縮しがいのあるファイルを使う。#gdgchugoku

2014-01-05 19:30:25
taknb2nch @taknb2nch

ディレクトリの操作を勉強してからソースコードを圧縮してみる。#gdgchugoku

2014-01-05 19:32:06
Takashi Yokoyama @ttyokoyama

archive/zipで圧縮する時に、ディレクトリ階層もパスに含めれば、ディレクトリもzipに含める事ができる。 #gdgchugoku #golang

2014-01-05 19:37:31
Takashi Yokoyama @ttyokoyama

goでディレクトリを読み取る。 http://t.co/suW3tbkUck #gdgchugoku #golang path/filepath Walk()を使うのか。

2014-01-05 20:00:04
Ryuji Iwata @qt_luigi

bufioは単体ではちょっと...builtinは組み込み関数だし...bytesも...ということで、次回はcompressパッケージの予定です。 #gdgchugoku

2014-01-05 20:19:54