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
420
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
820
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
720
立川で超かぐや姫!について話したい / Talking Cosmic Princess Kaguya! in Tachikawa
contour_gara
1
450
AR グラス + ミニ PC で実現する新しいモバイル環境
contour_gara
0
390
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
600
Other Decks in Programming
See All in Programming
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
150
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
780
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
440
Heart of Swift Concurrency
koher
0
260
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
380
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
140
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
140
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
240
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
670
MIZARU@SPAJAM2026 第二回予選
1901drama
0
110
AIとGame Jamで、ゲームを完成させた話
takahirosaeki
0
120
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
7k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
990
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
270
Ethics towards AI in product and experience design
skipperchong
2
370
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
380
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
The browser strikes back
jonoalderson
0
1.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
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