全四回で実践的なGoを体系的に学べるGopher道場、およびその参加者がLTを行うGopher道場#1 LT大会に参加した。

全四回でどのような内容を教わったかは他の参加者の方のブログによくまとまっているので、
(Gopher道場 #1に参加してきました | 本日も乙)
こぼれ話的に紹介されたGoライブラリのリポジトリと、最後のLTについて書こうと思う。

紹介されたサードパーティライブラリ

errorを返す関数を呼んだ場合は、if err != nil { return err }のように逐一チェックする場合が多いが、
errorを返す可能性のある処理が複数あり、
成功したものは成功させ、失敗したものだけエラーとして報告したい場合に使えるとの事。

Go標準ライブラリにtestingパッケージがあるが、アサーションは提供されておらず自分で書く必要がある。
Errorfを使って自前でエラーメッセージ作るのが流儀だが、
上記ライブラリのアサーションや比較演算子を使う場合もあるようだ。

テスタブルなコードと抽象化の話の中で、
DB接続部分など外部との接続部分をテスト時に環境変数で切り替える方法の一つとして。

HTTPハンドラのテストからAPIドキュメントを生成できる。
単にHTTPハンドラのテストを書くだけでいい。

これはGopher道場で紹介されたものではないが、
分割ダウンローダーを作成するという課題で
プログレスバーをいい感じに出力できるものを自分で探して見つけたもの。

LT

総勢15名によるLTが行われた。
ひとくちにGoに関するLTといっても、レイヤー?も色々あり面白かった。
私はGoogle App Engine/Go で自作ブログを動かしている話を(かなり尻切れトンボで…)した。

感想

応募資格として全四回に全て参加できる事が挙げられており、
ちょうど仕事が立て込んでいた時期で少し躊躇したのだが、
忙しさを理由にやりたい事を後回しにするのはやめよう、と勢いで申し込んだが参加できてよかったと思う。

個人的には毎回出される課題がためになったと感じていて、やはり自分でコードを書くと分かってくる事も多かった。
課題はGitHubにPRを出す形で提出する事になっており、気長にフィードバックを待ちたいと思う。

主催のメルペイさん、講師の@tenntennさん、@osamingoさん、参加者の皆様、ありがとうございました。

Copyright© 2011-2021 Shunsuke Otani All Right Reserved .