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
mtskhs
March 10, 2021
Technology
170
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
670
マジ価値を早く届ける意思決定のススメ 〜情報をそろえ、決めすぎを避ける〜/ A Decision-Making Approach for Delivering Better Products Faster
matsu0228
1
170
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
4.4k
EMがマジ価値を届けきるために考え行動したこと / Engineering Manager's thoughts and actions to deliver outcome
matsu0228
0
14k
Cloud Firestore With Go
matsu0228
0
1k
ReactNativeにおけるパフォーマンスチューニング/ Performance tuning in ReactNative
matsu0228
2
1.6k
スタートアップチームで学んだエンジニアの心構え / The attitude of the engineer who learned from the start-up team
matsu0228
1
1.9k
Goにおける API Client実装パターン / API Client implementation pattern in Go
matsu0228
8
8.6k
expo開発におけるCI/CD / CICD on development of expo
matsu0228
0
970
Other Decks in Technology
See All in Technology
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
AWSとGitHub Actionsの責任境界と 組織で安全に使用する取り組み
nealle
1
240
サーバー常駐型の 簡易障害調査AI エージェントを作ってみた話
masayoshi
1
500
Master Dataグループ紹介資料
sansan33
PRO
1
4.9k
bet_ai_day_2026_session02
agenticsec
0
210
IHV like なユースケースへのOpenID Connect 関連仕様の適用事例
optim
0
420
APIセキュリティを組織で実現するには~注力する点と設計・実装に入れたい対策~
riiimparm
3
830
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
1
370
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.3k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
9.1k
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
23k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
Git: the NoSQL Database
bkeepers
PRO
432
67k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
230
Are puppies a ranking factor?
jonoalderson
2
3.9k
sira's awesome portfolio website redesign presentation
elsirapls
0
370
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
460
Google's AI Overviews - The New Search
badams
0
1.6k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
830
Building an army of robots
kneath
306
46k
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