Slide 1

Slide 1 text

Enablement Bootcampを終えて Enablement Bootcamp for Gopherizing 〜業務で使えるGoを学ぼう〜 @_uhzz_

Slide 2

Slide 2 text

目次 ● 参加したきっかけ・モチベーション ● トレーニングの所感と発見 ○ Day1: Go らしいコードの書き方 ○ Day2: テスタブルなコードの書き方 ○ Day3: 実践的なエラー処理 ○ Day4: gRPC をつかった API サーバの作成 ● トレーニングを経て

Slide 3

Slide 3 text

参加したきっかけ・モチベーション # きっかけ ● ナレッジワーク社の note を読んでブートキャンプに興味をもった ○ 「何をどう学ぶか」というところが気になって参加してみたくなった ○ 申し込み課題があったので、腕試しをしてみたかった # 私のバックグラウンド ● 業務でGoをつかっている ○ Go らしい書き方やテストについても普段の開発を通して知っている(つもり) # モチベーション ● 基礎力をさらに高める機会にするぞ👍

Slide 4

Slide 4 text

Day1: Go らしいコードの書き方 # 所感 ● Go らしいとはなにか、Goらしいコードを実践的に書くにはどうすればいいかの指針 を学んだ # 再発見 ● 月末とか年末の忙しいときでも読める言語、それが Go ○ 技巧を凝らすことを減らしているの意 ● 言語仕様の解像度を高めろ ○ トレーニング中に何度か話に出てきたので、必須事項だと心で理解した ○ おすすめの学習方法を聞かれたときにも薦めやすい ● 命名が上手くいくのはいいこと ○ 命名が長くなってしまう場合など上手くいかないときは、なにかがよろしくない

Slide 5

Slide 5 text

Day2: テスタブルなコードの書き方 # 所感 ● ユニットテストの考え方と、Go でテストを書く際のポイントやテクニックを学んだ # 再発見 ● ユニットテストは最初のユーザー ○ テストは品質保証、リファクタリング、ドキュメントを目的とする ● 公開されているものがちゃんと動くことが大事 ○ privateメソッドも、やりすぎるとリファクタリングが大変になる ● テーブル駆動テストの醍醐味はケースとロジックの分離

Slide 6

Slide 6 text

Day3: 実践的なエラー処理 # 所感 ● スタックトレースの考え方から、どのエラーをどうやって、誰に知らせるかといった本 質的なエラーの考え方を学んだ # 発見 ● Typed-nil 問題を初めて知った ○ https://zenn.dev/nobonobo/articles/f554041aea1955 ○ linter に助けられていたことに気づいた ● 標準パッケージのruntime.Stack() が本体であることを初めて知った ○ runtime/debug.Stack()は、runtime.Stack() をラップしていることを知れた

Slide 7

Slide 7 text

Day4: gRPC をつかった API サーバの作成 # 所感 ● gRPC のフレームワーク connect をつかったチュートリアルを通して、gRPC 開発 をスピーディーに行える気づきを得た # 発見 ● net/http のエコシステムが使えるのは知らなかった!便利! # グループワーク ● モブプロを通して、ワイワイ1つのエンドポイントを作れたのはよかった

Slide 8

Slide 8 text

トレーニングを経て # 所感 ● 再発見をしたり、今まで知らずにいた問題に気づく機会になった ● 改めて、基礎力を上げる必要性を感じた ○ 言語仕様を押さえておくことの必要性について、実感を得た ○ 正しい知識をもって開発に取り組むということについて学べた ● チームで、1つのテーマについて感じたことを話す機会は貴重 ○ 理解の助けにもなったし、新しい視点を得ることができた 👍