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 for Gopherizing 〜業務で使えるGoを学ぼう〜
Search
uhzz
October 12, 2023
Education
0
210
Enablement Bootcampを終えて -Enablement Bootcamp for Gopherizing 〜業務で使えるGoを学ぼう〜
uhzz
October 12, 2023
Tweet
Share
More Decks by uhzz
See All by uhzz
自動生成されたhttpエンドポイントごとにカスタムミドルウェアを挿入したい話
uhzz
1
1.9k
安全にQAを行える環境が整いました!- Kyash TechTalk #6 - Kyashの開発をチラ見せ
uhzz
0
630
Goのローカル開発をWorkspacesではじめよう
uhzz
1
580
【Go:パッケージ管理】DepからGo Modulesへ
uhzz
0
730
コードレビューで泣かないためのintSize = 32 << (^uint(0) >> 63)
uhzz
0
130
「ウチも、gRPC使えますか?」
uhzz
0
210
「インタフェースデザインの心理学」を読んで話したい3つのこと
uhzz
0
20k
「世界一「自由」な会社、NETFLIX NO RULES」を読んでみた
uhzz
0
240
Golang入門
uhzz
0
250
Other Decks in Education
See All in Education
3Dプリンターの使い方(Sovol 06 Plus)
404background
0
150
非techスキルどう伸ばす? / non_tech_skill_progress
shiina417
0
2.2k
みんなのコード2023年度活動報告・2024年度活動方針/Annual report2023
codeforeveryone
0
130
Adobe Express
matleenalaakso
1
7.2k
SDGsをアシスト! 現地調査データをアーカイブする技術2024|麻布大学デジタルマッピングワークショップ
fullfull
1
230
Ch9_-_Partie_2.pdf
bernhardsvt
0
110
ロータリー地域社会共同隊(RCC)について:国際ロータリー 2720地区 2023-2024年度 社会奉仕部門 部門長・ 熊本西稜ロータリークラブ・ 有限会社 誠商店 代表取締役社長 追立 武 氏
2720japanoke
0
580
Introduction - Lecture 1 - Next Generation User Interfaces (4018166FNR)
signer
PRO
1
3.3k
ブームだけで終わらせない、組織内でコーチングを活用する方法/How to Use Coaching in Your Organization Without It Being Just a Fad
yuko_yokouchi
1
190
10分で日本史(試案)
hidekatsu_izuno
0
620
2024年度春学期 統計学 第4回 データを「分布」で見る (2024. 5. 2)
akiraasano
PRO
0
140
(2024) Histoire et histoires du lycée Saint-Louis
mansuy
0
100
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
189
16k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
105
6.8k
Happy Clients
brianwarren
94
6.5k
The Cult of Friendly URLs
andyhume
75
5.9k
Making Projects Easy
brettharned
111
5.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
26
2.1k
Visualization
eitanlees
139
14k
Build your cross-platform service in a week with App Engine
jlugia
227
17k
Web Components: a chance to create the future
zenorocha
307
41k
Debugging Ruby Performance
tmm1
71
11k
Writing Fast Ruby
sferik
623
60k
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つのテーマについて感じたことを話す機会は貴重 ◦ 理解の助けにもなったし、新しい視点を得ることができた 👍