Go勉強会 Webアプリケーション編 #2を開催しました!
こんにちは。
IDOMで主にNORELの開発を行っている、エンジニアの小林です。
先日、弊社にてGo言語勉強会「Webアプリケーション編」を開催させていただきました。
勉強会概要
今回はIDOMのオフィスでの開催は2回目。
講師を努めて下さったのは、弊社の@MiyamotoTaさんです。
今回も、教材となる Go Web Examples の和訳ページを、勉強会用に用意していただきました。
▼教材はコチラ
今回も会場が埋まるくらいの方にお集まりいただきました。
今回も実際にGoのコードリーディングをする前に、アイスブレイクと称して集まっていただいた方々と名刺交換や雑談をさせていただきました。
非エンジニアの方や、ゲーム・フィンテックなど色々な分野のエンジニアと知り合うことができました!
アイスブレイクが終わった後は、実際に大型のモニタを使用して勉強会がスタートです。
前回に引き続き連続で参加してくださった方も多くいらっしゃいました。
↓写真の中央右に写っているのが弊社テックリードの@MiyamotoTa氏
Qiitaに上げた内容の説明や
GoLandを使ってのコードの解説を行っています。
勉強会ふりかえり
前回のふりかえり
前回の内容を思い出すため & 初参加の方に前回の内容をお伝えするため、HttpServerの起動からrouterまわりについてライブラリのコードも読みつつ、ざっくりと実装の再確認を行いました。
Templates
Web開発をする人なら使った事も多いと思われるTemplateについての章です。
NORELではSpringBootを利用しているため、Thymeleaf、Railsではerbなどが使われていたりしますね。
Go言語においては、html/template
パッケージをimportすることで利用することができるようになっています。
少しクセがあるなーという印象を受けましたが、テンプレートの仕様についてQiitaでまとめていただいて、おり、読み進めることができました。
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で公開いたしますので、是非ご参加下さい!!