Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Go を使い始めて 2 ヶ月の学び / My first two months with Go
Search
Daisuke Garaike
August 21, 2026
Programming
440
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Go を使い始めて 2 ヶ月の学び / My first two months with Go
https://tamachi-go.connpass.com/event/400310/
Daisuke Garaike
August 21, 2026
More Decks by Daisuke Garaike
See All by Daisuke Garaike
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
910
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
760
立川で超かぐや姫!について話したい / Talking Cosmic Princess Kaguya! in Tachikawa
contour_gara
1
490
AR グラス + ミニ PC で実現する新しいモバイル環境
contour_gara
0
410
TDD 実践ミニトーク
contour_gara
1
440
Spring Boot と AWS S3 を使ったアプリケーションのテスト
contour_gara
0
170
ノート PC に Linux 入れてみたけど結構良かった
contour_gara
0
3.7k
JUnit5 から Kotest へ
contour_gara
0
220
社外での学びを社内に還元したい
contour_gara
1
610
Other Decks in Programming
See All in Programming
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
100
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
250
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.9k
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.2k
Agents on Rails - Rails at Scale 2026
irinanazarova
0
330
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
310
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
390
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
440
iOSDC2026登壇資料.pdf
riofujimon
0
210
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.5k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
470
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1033
470k
How to build a perfect <img>
jonoalderson
1
6.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Mind Mapping
helmedeiros
1
390
RailsConf 2023
tenderlove
30
1.6k
How STYLIGHT went responsive
nonsquared
100
6.3k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Building an army of robots
kneath
307
47k
My Coaching Mixtape
mlcsv
0
340
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
210
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Transcript
Go を使い始めて 2 ヶ月の学び 2026-08-20 tamachi.go #1 Daisuke Garaike
Daisuke Garaike • プログラマー ◦ ハンディ株式会社 ◦ at 浜松町 •
サーバーサイド Kotlin, アジャイル, 自動テスト, プロダクト開発 2
Go を使い始めて? • よく考えると書いたことはない ◦ AI が書いてくれている • バックエンドメインで 3
年 やっている ◦ Java, Kotlin ◦ 設計とかは なんとなくわかる 3
switch のケース漏れは誰が見つけるのか 4
きっかけ • とある PR • enum の switch による分岐に対して default
を入れる提案 • Java 系から来てる自分にとっては驚き 5
Java 系: コンパイル • Kotlin: when ◦ 式として使えば網羅性がコンパイルエラー • Java:
switch ◦ 式として使えば網羅性がコンパイルエラー • enum, sealed interface と相性良し • いずれも default をつけないことで効果を発揮 6
Go: リンター • case に漏れがあってもコンパイル OK • sealed な型がそもそも無い •
default をつけず、リンターで検知 ◦ ref. 7
学び • 型の力は落ちる • 言語仕様に入れないことで、柔軟性がある 8
ビルドシステムが無い 9
きっかけ • どのリポジトリもビルドに違いが無さそう 10
Java 系 • Maven, Gradle • Xml, Groovy, Kotlin •
プラグイン, タスクグラフ, バージョンカタログ...... • テストも後から入れる 11
Go • build, test, mod が最初から入っている • 学ぶことが共通 ◦ プロジェクト間で移動するコストが低い
12
学び • 凝ったことはできなさそう? • 薄くつくることによる統一感 13
テストが思ったより遅い 14
きっかけ • 開発に慣れてくると、 CI が遅いことに気づいてしまった • テストが思ったより遅い ◦ ローカルは早い ◦
CI で遅い 15
DB テストが遅そう • mysql の起動に時間がかかってそう ◦ GHA だししょうがない? • go
test おもろい ◦ パッケージレベルでの並列化 ◦ t.Parallel() によりパッケージ内でも並列化 ◦ ファイル単位ではなくパッケージ単位 16
学び • まだわからん 17
まとめ • 3 つとも同じ構造だった ◦ 言語仕様は薄く保つ ◦ 同梱ツールが豊富 ◦ 代わりに「ツールの挙動を知っているか」が生産性
を左右する • Java 系は逆で、コンパイラが強くツールは自作前提 • どちらが良いという話ではなく、 保証をどこに置くかの設計思想の差 18