Go勉強会 Webアプリケーション編 #2を開催しました!

こんにちは。
IDOMで主にNORELの開発を行っている、エンジニアの小林です。
先日、弊社にてGo言語勉強会「Webアプリケーション編」を開催させていただきました。

勉強会概要

go-golang.connpass.com

今回はIDOMのオフィスでの開催は2回目。
講師を努めて下さったのは、弊社の@MiyamotoTaさんです。
今回も、教材となる Go Web Examples の和訳ページを、勉強会用に用意していただきました。

▼教材はコチラ

qiita.com

qiita.com

qiita.com

今回も会場が埋まるくらいの方にお集まりいただきました。
f:id:idom_tabasanagai:20181026114125j:plain

今回も実際にGoのコードリーディングをする前に、アイスブレイクと称して集まっていただいた方々と名刺交換や雑談をさせていただきました。
非エンジニアの方や、ゲーム・フィンテックなど色々な分野のエンジニアと知り合うことができました!

アイスブレイクが終わった後は、実際に大型のモニタを使用して勉強会がスタートです。

f:id:idomlab:20181026150909j:plain

f:id:idomlab:20181026150913j:plain

前回に引き続き連続で参加してくださった方も多くいらっしゃいました。

f:id:idomlab:20181026150918j:plain

↓写真の中央右に写っているのが弊社テックリードの@MiyamotoTa氏

Qiitaに上げた内容の説明や

f:id:idomlab:20181026150922j:plain

GoLandを使ってのコードの解説を行っています。

f:id:idomlab:20181026150929j:plain

f:id:idomlab:20181026150935j:plain

勉強会ふりかえり

前回のふりかえり

前回の内容を思い出すため & 初参加の方に前回の内容をお伝えするため、HttpServerの起動からrouterまわりについてライブラリのコードも読みつつ、ざっくりと実装の再確認を行いました。

www.idom-inc.jp

Templates

Web開発をする人なら使った事も多いと思われるTemplateについての章です。
NORELではSpringBootを利用しているため、Thymeleaf、Railsではerbなどが使われていたりしますね。

Go言語においては、html/templateパッケージをimportすることで利用することができるようになっています。

少しクセがあるなーという印象を受けましたが、テンプレートの仕様についてQiitaでまとめていただいて、おり、読み進めることができました。

Go Web Examplesの和訳(Templates)

Forms

こちらもおなじみのform。
この教材では、formのpost処理とpostリクエストを受け取ってからの処理について学べるようになっています。

とはいえ、教材の以下のロジックのようにhttp.MethodPostなどと毎回比較するのではなく、「routerなどで予めリクエストを分岐しておくといいよね」といった議論がされていました。

        if r.Method != http.MethodPost {
            tmpl.Execute(w, nil)
            return
        }

Assets and Files

こちらの内容は、Go勉強会 Webアプリケーション編で行った、以下の教材の静的アセットの配信と近い内容だと感じました。

Go Web Examplesの和訳(HTTP Server) qiita.com

次回開催予定

次回、Go勉強会 Webアプリケーション編 #3(仮) は12月11日(火)を予定しております。
後ほどconnpassで公開いたしますので、是非ご参加下さい!!