2013年11月13日水曜日

Golang Cafe #3

11/10(日)に開催された「Golang Cafe #3」に参加してきました。

参加者は +Takashi Yokoyama  さん、+Takanobu Hagino さん、私の3名でした。

今回も横山さんに資料を用意して頂き、Go言語の目玉機能の一つである「GoroutineとChannel」について学びました。

今回の資料はGitHub上に用意されたため、まずは「プチgit勉強会」から始まりました。

(1)  横山さんのGitHubから資料(ソース)を取得。

 $ git clone https://github.com/tyokoyama/golangcafe

(2) カレントを移動。

 $ cd golangcafe/sample.com/goroutines/

(3) タグの一覧を確認。
  # Step7〜Step9は頭文字が大文字なので注意。

 $ git tag
 Step7
 (省略)
 step6

(4) ブランチを「step1」に切り替え。

 $ git checkout step1
 Note: checking out 'step1'.
 (省略)
 HEAD is now at d965486... Golang Cafe 3日目(Step1)

(5) ソースを変更したり実行したり。

 $ vi main.go
 $ go run main.go

(6) ブランチを「step2」に切り替えようとすると、ソースを変更しているためアボート

 $ git checkout step2
 error: Your local changes to the following files would be overwritten by checkout:
 (省略)
 Aborting


(7) 今回は閲覧がメインでコミットはしないので、ソースの変更を破棄してHEADへ。

 $ git reset --hard HEAD
 HEAD is now at d965486 Golang Cafe 3日目(Step1)

(8) ブランチを「step2」に切り替え

 $ git checkout step2
 Previous HEAD position was d965486... Golang Cafe 3日目(Step1)
 HEAD is now at ee7c1f7... Golang Cafe #3 Step2

上記の(4)〜(8)の手順を繰り返してstep1からStep9までのソースを閲覧したり書き換えたりして動作確認しながら進められました。

肝心のGoroutine&Channelについて書いていないが、まぁ、いっか(^^;)

詳細&技術な内容につきましては、横山さんや萩野さんのブログをご覧下さい。


ちなみに、今回は「エッグカレー」でした!

[2013.11.15] 萩野さんのブログへのリンクを追加しました。

0 件のコメント: