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
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
あなたの知らないPDFのアクセシビリティ
lycorptech_jp
PRO
0
220
【NRUG vol.18】KubernetesにおけるNew Relicデータ取得量削減の考え方
nrug_member
0
170
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
13
5.4k
Lightning近況報告
kozy4324
0
200
10年間のブログ発信を振り返って見えたWebアプリケーションエンジニアとしての軌跡
stefafafan
0
170
ロボティクスの技術 / Robotics Technology
ks91
PRO
0
110
失敗を資産に変えるClaude Code
shinyasaita
0
720
AIのReact習熟度を測る
uhyo
2
650
AIはどのように 組織のアジリティを変えるのか?
junki
4
1k
Flow 不死:AI 時代 DevOps 的不變本質
cheng_wei_chen
2
330
2026TECHFRESH畢業分享會 - Lightning Talk - 打造精準高效的 MCP 設計模式與測試實務
line_developers_tw
PRO
0
1.3k
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
280
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Abbi's Birthday
coloredviolet
2
8.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The Limits of Empathy - UXLibs8
cassininazir
1
360
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
730
Building an army of robots
kneath
306
46k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
390
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
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