2014年1月31日金曜日

Golang Cafe #14

1/26(日)に開催された「Golang Cafe #14」に参加してきました。

会場には主催者の +Takashi Yokoyama さん、参加者の +Takanobu Hagino さん、私の3名が、タイムライン上には +Takuya Ueda さんが参加されました。

今回はflagパッケージで、横山さんに用意して頂いたサンプルにて動作を確認しました。

機能的にはコマンドオプションの取り扱いであって、サンプルソースもシンプルだったので、今回はあっさり行けるか!?と思いきや、

  • "--"オプション指定は可能?
  • オプション指定がある値とない値の指定の順番は?
  • 誤った引数が指定された時の振る舞いは?

など、普段から触れている機能だけにすぐに疑問が出てきて、それらを確認するためにいつものもくもく状態に。今回は実装例の格好の手本であるGoコマンドのソースを見に行くまでに発展しました。

うえださんからは「cli」というライブラリーを紹介して頂きました。Goでの主な成果物はCLI(Command Line Interface)だと認識しているので、こちらも合わせてもう少し触ってみようと思います。
# 他の成果物としては「GAE/Go」ですかね。あとは...「Go Playground」!?q@w@p

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


次回は2/3(日)で、いよいよnetパッケージを触っていく模様です。

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

2014年1月30日木曜日

第10回 岡山Python勉強会

1/21(火)に開催された「第10回 岡山Python勉強会」に参加してきました。

今年前半はDjango日本語ドキュメントに沿って学習して行くことになりました。

現在のDjangoのバージョンは1.6.1ですが、日本語チュートリアルは1.4ベースとなっていますので、気になる方はご注意下さいm(__)m

最初ということで「Django の概要」を読み進めて行くことになりました。

いきなりモデルの話から始まり、API、管理インターフェース、URL、ビュー、テンプレート、...「Djangoとは?」みたいな感じで始まると思っていたので、少々、面食らいました(@o@)

次の「インストールガイド」はPython勉強会ということで、さすがに飛ばされました(^^;)

次に「はじめての Django アプリ作成、その 1」をハンズオンして行きました。

私は「公式リリースのインストール」の手順に従ってDjangoをインストールしました。

「データベースAPI」にて、SQLではなくモデルやメソッドでデータ操作を行うのは新鮮でした。

やってみると、読みやすく丁寧に書かれてあるチュートリアルだと感じました。

個人的にはGAE/Pyに繋いで行きたいので、引き続き、学んで行く予定です。

2014年1月27日月曜日

第4回 岡山「たのしいRuby」読書会

1/18(土)に開催された「第4回 岡山「たのしいRuby」読書会」に参加してきました。

今回は、開催場所がいつもの会議室ではなく居酒屋の一室(しかも畳部屋!)だったので新鮮&快適でした。(参加者も10名と多かったのも、そのため!?)

今回は、第3版の「8.2.11 継承する」〜「9.11 catchとthrow」を読み進めました。

第4版を持参されている方もいらっしゃいましたが、やはり内容もそれなりに更新されているらしく、自分の順番が来た際には第3版を借りて読み進めていました。
# 第3版はRuby1.8&1.9対応、第4版はRuby1.9&2.0対応なので、内容も変わっているハズ。

ソースが少なく読み進める時間が長かったせいか、進捗はいつもより良かったようです。

個人的に印象に残った点は、以下の通りです。

8.4.2 Mix-inによる機能の提供

 Go言語の「struct」や「interface」の埋め込み機構だと解釈しました。

8.6.3 ダックタイピング

 Go言語の学習中に初めて聞いた言葉で、内容までは理解できていませんでした。
 今回「性質や特徴を振る舞いで表現する考え方」だと理解することができました。

9.2 例外処理

 Javaの例外構文(try〜catch〜finally)だと解釈しました。

読書会の後は、そのまま岡山Rubyの新年会(?)へとシフトして行きました。

次回は2/15(土)にいつもの会議室で「第3部 クラスを使おう」からになる予定です。

2014年1月21日火曜日

Golang Cafe #13

1/19(日)に開催された「Golang Cafe #13」に参加してきました。

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

今回はcontainerパッケージで、横山さんに用意して頂いたサンプル(heaplistring)にて動作を確認しました。

個人的には、ヒープやリストや循環リストは情報処理技術者試験の基本や応用でよく見かけましたので、仕組みを理解したい人はテキストなどを見てみると良いかもしれません。

後半はring.Do()メソッドに引き渡す関数の実装や動作を確認するのにもくもく状態となり、あとは、GAE/Goについて少し話し合いが行われました。

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


ついにGolang Cafeのサイトが出来ました!q@w@p

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

2014年1月15日水曜日

Golang Cafe #12

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

参加者は +Takashi Yokoyama さん、+Takanobu Hagino さん、私、そして、+Tam T さんの4名でした。

今回はcompressパッケージで、横山さんに用意して頂いたサンプルにて、bzip2、flate、gzipの「圧縮と展開」の流れを確認しました。

前回のarchiveパッケージの「書庫化と展開」に似ていたので、理解しやすかったです。

後半は型アサーションについて、わいわいと動作確認プチハンズオンになりました。

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


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

2014年1月7日火曜日

Golang Cafe #11

明けましておめでとうございますm(__)m

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

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

2014年は標準パッケージを見て行くということで、今回はarchiveパッケージでした。

まずは恒例の(?)萩野さんの質問タイムで始まり、書籍「プログラミング言語Goフレーズブック 」のp.204「17.4 振る舞いの制限」についての確認が行われました。
# 気が付けば全員が同書籍を所有しており、教科書?ネタ帳?的な存在となっています(^^;)

本編では、横山さんが用意して下さったarchive/tarパッケージおよびarchive/zipパッケージのサンプルを動作させながら、Go言語でのファイルのtar化やzip圧縮・展開を確認しました。

Mac OS Xにて、作成したtarファイルから展開したファイルがビューワーやエディターで開けないという現象に見舞われましたので、もう少し詳しく見ておきたいところです。

ソースを見てみると、Go言語で実装されているzipのバージョンは2.0および4.5(ZIP64)のため、暗号化(5.0以降)には対応できていないようです。

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


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