Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Enablement Bootcampを終えて -Enablement Bootcamp fo...
Search
uhzz
October 12, 2023
Education
0
250
Enablement Bootcampを終えて -Enablement Bootcamp for Gopherizing 〜業務で使えるGoを学ぼう〜
uhzz
October 12, 2023
Tweet
Share
More Decks by uhzz
See All by uhzz
自動生成されたhttpエンドポイントごとにカスタムミドルウェアを挿入したい話
uhzz
1
2.2k
安全にQAを行える環境が整いました!- Kyash TechTalk #6 - Kyashの開発をチラ見せ
uhzz
0
710
Goのローカル開発をWorkspacesではじめよう
uhzz
1
800
【Go:パッケージ管理】DepからGo Modulesへ
uhzz
0
910
コードレビューで泣かないためのintSize = 32 << (^uint(0) >> 63)
uhzz
0
190
「ウチも、gRPC使えますか?」
uhzz
0
250
「インタフェースデザインの心理学」を読んで話したい3つのこと
uhzz
0
20k
「世界一「自由」な会社、NETFLIX NO RULES」を読んでみた
uhzz
0
320
Golang入門
uhzz
0
330
Other Decks in Education
See All in Education
Казармы и гарнизоны
pnuslide
0
150
Web Application Frameworks - Lecture 4 - Web Technologies (1019888BNR)
signer
PRO
0
2.6k
Sähköiset kyselyt, kokeet ja arviointi
matleenalaakso
1
17k
Ch2_-_Partie_1.pdf
bernhardsvt
0
120
ルクソールとツタンカーメン
masakamayama
1
1.1k
ISMS審査準備ブック_サンプル【LRM 情報セキュリティお役立ち資料】
lrm
0
560
勉強する必要ある?
mineo_matsuya
2
2.4k
Tableau トレーニング【株式会社ニジボックス】
nbkouhou
0
23k
2024年度秋学期 統計学 第2回 統計資料の収集と読み方(授業前配付用) (2024. 10. 2)
akiraasano
PRO
0
100
Repaso electricidade e electrónica
irocho
0
210
Web Architectures - Lecture 2 - Web Technologies (1019888BNR)
signer
PRO
0
2.7k
自己紹介 / who-am-i
yasulab
PRO
2
4.3k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
For a Future-Friendly Web
brad_frost
175
9.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Scaling GitHub
holman
459
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
It's Worth the Effort
3n
183
28k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
910
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Unsuck your backbone
ammeep
669
57k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Transcript
Enablement Bootcampを終えて Enablement Bootcamp for Gopherizing 〜業務で使えるGoを学ぼう〜 @_uhzz_
目次 • 参加したきっかけ・モチベーション • トレーニングの所感と発見 ◦ Day1: Go らしいコードの書き方 ◦
Day2: テスタブルなコードの書き方 ◦ Day3: 実践的なエラー処理 ◦ Day4: gRPC をつかった API サーバの作成 • トレーニングを経て
参加したきっかけ・モチベーション # きっかけ • ナレッジワーク社の note を読んでブートキャンプに興味をもった ◦ 「何をどう学ぶか」というところが気になって参加してみたくなった ◦
申し込み課題があったので、腕試しをしてみたかった # 私のバックグラウンド • 業務でGoをつかっている ◦ Go らしい書き方やテストについても普段の開発を通して知っている(つもり) # モチベーション • 基礎力をさらに高める機会にするぞ👍
Day1: Go らしいコードの書き方 # 所感 • Go らしいとはなにか、Goらしいコードを実践的に書くにはどうすればいいかの指針 を学んだ #
再発見 • 月末とか年末の忙しいときでも読める言語、それが Go ◦ 技巧を凝らすことを減らしているの意 • 言語仕様の解像度を高めろ ◦ トレーニング中に何度か話に出てきたので、必須事項だと心で理解した ◦ おすすめの学習方法を聞かれたときにも薦めやすい • 命名が上手くいくのはいいこと ◦ 命名が長くなってしまう場合など上手くいかないときは、なにかがよろしくない
Day2: テスタブルなコードの書き方 # 所感 • ユニットテストの考え方と、Go でテストを書く際のポイントやテクニックを学んだ # 再発見 •
ユニットテストは最初のユーザー ◦ テストは品質保証、リファクタリング、ドキュメントを目的とする • 公開されているものがちゃんと動くことが大事 ◦ privateメソッドも、やりすぎるとリファクタリングが大変になる • テーブル駆動テストの醍醐味はケースとロジックの分離
Day3: 実践的なエラー処理 # 所感 • スタックトレースの考え方から、どのエラーをどうやって、誰に知らせるかといった本 質的なエラーの考え方を学んだ # 発見 •
Typed-nil 問題を初めて知った ◦ https://zenn.dev/nobonobo/articles/f554041aea1955 ◦ linter に助けられていたことに気づいた • 標準パッケージのruntime.Stack() が本体であることを初めて知った ◦ runtime/debug.Stack()は、runtime.Stack() をラップしていることを知れた
Day4: gRPC をつかった API サーバの作成 # 所感 • gRPC のフレームワーク
connect をつかったチュートリアルを通して、gRPC 開発 をスピーディーに行える気づきを得た # 発見 • net/http のエコシステムが使えるのは知らなかった!便利! # グループワーク • モブプロを通して、ワイワイ1つのエンドポイントを作れたのはよかった
トレーニングを経て # 所感 • 再発見をしたり、今まで知らずにいた問題に気づく機会になった • 改めて、基礎力を上げる必要性を感じた ◦ 言語仕様を押さえておくことの必要性について、実感を得た ◦
正しい知識をもって開発に取り組むということについて学べた • チームで、1つのテーマについて感じたことを話す機会は貴重 ◦ 理解の助けにもなったし、新しい視点を得ることができた 👍