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
460
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
960
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
820
立川で超かぐや姫!について話したい / Talking Cosmic Princess Kaguya! in Tachikawa
contour_gara
2
530
AR グラス + ミニ PC で実現する新しいモバイル環境
contour_gara
0
430
TDD 実践ミニトーク
contour_gara
1
450
Spring Boot と AWS S3 を使ったアプリケーションのテスト
contour_gara
0
180
ノート PC に Linux 入れてみたけど結構良かった
contour_gara
0
3.7k
JUnit5 から Kotest へ
contour_gara
0
230
社外での学びを社内に還元したい
contour_gara
1
610
Other Decks in Programming
See All in Programming
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
330
TS 7.0 で baseUrl が使えなくなった今、パスエイリアスをどうするか
bicstone
2
350
オーケストレーション記述言語 Katari
yukikurage
0
220
Railsバージョンを4倍にした話
optim
0
900
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
690
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
180
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
320
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
300
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
14
11k
Spec-driven Development with AI
simas
PRO
0
2.2k
SODA - FACT BOOK(JP)
sodainc
1
40k
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
400
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
450
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
How to train your dragon (web standard)
notwaldorf
96
6.9k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
960
Automating Front-end Workflow
addyosmani
1370
210k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
520
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.3k
The Pragmatic Product Professional
lauravandoore
37
7.5k
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