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
Goとの歩み / History with Go
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
mtskhs
March 10, 2021
Technology
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Goとの歩み / History with Go
Gopher道場 同窓会2021
mtskhs
March 10, 2021
More Decks by mtskhs
See All by mtskhs
解決策を教えても次期リーダーは育たない ─ 器の発達に伴走するために / Partnering with leaders in their vertical development
matsu0228
1
360
マジ価値を早く届ける意思決定のススメ 〜情報をそろえ、決めすぎを避ける〜/ A Decision-Making Approach for Delivering Better Products Faster
matsu0228
1
140
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
4.3k
EMがマジ価値を届けきるために考え行動したこと / Engineering Manager's thoughts and actions to deliver outcome
matsu0228
0
13k
Cloud Firestore With Go
matsu0228
0
990
ReactNativeにおけるパフォーマンスチューニング/ Performance tuning in ReactNative
matsu0228
2
1.6k
スタートアップチームで学んだエンジニアの心構え / The attitude of the engineer who learned from the start-up team
matsu0228
1
1.8k
Goにおける API Client実装パターン / API Client implementation pattern in Go
matsu0228
8
8.6k
expo開発におけるCI/CD / CICD on development of expo
matsu0228
0
950
Other Decks in Technology
See All in Technology
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
170
ザ・データベース、MySQL ~ OSC 2026 Sendai ~
sakaik
0
140
Kiroで書いた 設計書 が AI レビューの 採点基準 になる
ezaki
0
130
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
150
2026年6月23日 Syncable Tech + Start Python Club にて
hamukazu
0
140
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
270
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
1.3k
2026TECHFRESH畢業分享會 - 原生還是跨平台? App 開發踩坑實錄
line_developers_tw
PRO
0
1.3k
FPGAの開発コンペでZephyrを使ってみた
iotengineer22
0
140
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
0
130
Android の公式 Skill / Android skills
yanzm
0
160
GitHub Copilot app最速の発信の裏側
tomokusaba
1
190
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.3k
Statistics for Hackers
jakevdp
799
230k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Accessibility Awareness
sabderemane
1
140
KATA
mclloyd
PRO
35
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
390
The SEO identity crisis: Don't let AI make you average
varn
0
490
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
Tell your own story through comics
letsgokoyo
1
960
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Writing Fast Ruby
sferik
630
63k
Transcript
Goとの歩み 〜レガシーシステム更改・OSS開発〜 2021.3.10 Gopher道場 同窓会2021 Hisayuki Matsuki @mtskhs
History with Go 2018/4-6 Gopher道場一期生 2018/秋 EC モール対応の新規開発
2019/春 EC 一部機能をマイクロサービス化して更改 GoCon登壇 2020/春 スポーツ観戦アプリのバックエンド /夏 OSS: fsrpl (CloudFirestoreの運用ツール) /冬 技術書展10 Firestore Testing 2
Private work 2018/4-6 Gopher道場一期生 2018/秋 EC モール対応の新規開発 2019/春
EC 一部機能をマイクロサービス化して更改 GoCon登壇 2020/春 スポーツ観戦アプリのバックエンド /夏 OSS: fsrpl (CloudFirestoreの運用ツール) /冬 技術書展10 Firestore Testing 3
Who am I • 松木久幸(@mtskhs) • Gopher / TypeScript /
React Native • スポーツ解説アプリ SpoLive • GoにおけるAPI Client @Go Conference Autumn https://speakerdeck.com/matsu0228/api-client-implementation-pattern-in-go • fsrpl :Firestore運用ツール (homebrew) https://firebaseopensource.com/projects/matsu0228/fsrpl/ • Agile (シリコンバレーで3ヶ月働いて体感した自律型組織のス スメ) https://speakerdeck.com/matsu0228/organizationtheory-of-engineering 4
Who am I • 松木久幸(@mtskhs) • Gopher / TypeScript /
React Native • スポーツ解説アプリ SpoLive • GoにおけるAPI Client @Go Conference Autumn https://speakerdeck.com/matsu0228/api-client-implementation-pattern-in-go • fsrpl :Firestore運用ツール (homebrew) https://firebaseopensource.com/projects/matsu0228/fsrpl/ • Agile (シリコンバレーで3ヶ月働いて体感した自律型組織のス スメ) https://speakerdeck.com/matsu0228/organizationtheory-of-engineering 5
Who am I • 松木久幸(@mtskhs) • Gopher / TypeScript /
React Native • スポーツ解説アプリ SpoLive • GoにおけるAPI Client @Go Conference Autumn https://speakerdeck.com/matsu0228/api-client-implementation-pattern-in-go • fsrpl :Firestore運用ツール (homebrew) https://firebaseopensource.com/projects/matsu0228/fsrpl/ • Agile (シリコンバレーで3ヶ月働いて体感した自律型組織のス スメ) https://speakerdeck.com/matsu0228/organizationtheory-of-engineering 6
Ad 絶賛発売中です! 🔍 Firestore Testing JavaScriptにおけるテスト Firestoreに関するテスト に興味のある方はぜひ! 7 https://techbookfest.org/product/5732781973831680?productVariantID=5768446107189248
History with Go 2018/4-6 Gopher道場一期生 2018/秋 EC モール対応の新規開発
2019/春 EC 一部機能をマイクロサービス化して更改 GoCon登壇 2020/春 スポーツ観戦アプリのバックエンド /夏 OSS: fsrpl (CloudFirestoreの運用ツール) /冬 技術書展10 Firestore Testing 8
EC モール対応の新規開発 - 2018/秋 • サービス開始から20年ほど経っているECサイトで、Goで開発 したシステムを商用利用開始 • Why ◦
テスト駆動・仕様駆動開発 ◦ 堅牢性(静的型付けであり、実装時点の確実性が高い) ◦ 既存システムとの親和性 • Key Points ◦ チームとして新しい技術への抵抗感を減らすため、運用 ツールをいくつか開発して慣れておいた ◦ 確度が高く、既存システムとの境界が明確な案件でトライ 9
EC 一部機能をマイクロサービス化して更改 - 2019/春 • レガシーシステムの一部を、マイクロサービス化。その一部を Goで実装した • Why ◦
仕様フィット:キューを受信し続け、一定数溜まったらまとめ てリクエスト 10
スポーツ観戦アプリのバックエンド - 2020/春 • スポーツ観戦アプリ向けのバックエンドシステムを担当し、 一部でGoを採用 • Why ◦ データ連携速度、安定性
• Why Not ◦ メンバーのスキルセット(アプリがReactNativeで、Nodeならみれるメン バーが多かった) ◦ 初期開発コスト・柔軟性(試合状況データから解説文(日本語文)を自動 生成するタスクなど) 👉ref: Wantedly における Go 導入にまつわる技術背景 https://www.wantedly.com/companies/wantedly/post_articles/193633#h3-一般的考察と結論 11
Summary • Goの特性を生かしての開発 ◦ テスト駆動開発・仕様駆動 ◦ パフォーマンス、安定性 ◦ キューを一定数受信し、まとめてリクエスト •
技術選定で考えたこと ◦ メンバーのスキルセット ◦ 初期開発コスト 適材適所な選択を! • マインドセット ◦ 手を上げてみる、やってみる ◦ 実現性 vs 効果 → 無理なく始める ◦ 他人と比べすぎない 12