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
160
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
560
マジ価値を早く届ける意思決定のススメ 〜情報をそろえ、決めすぎを避ける〜/ A Decision-Making Approach for Delivering Better Products Faster
matsu0228
1
150
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
4.3k
EMがマジ価値を届けきるために考え行動したこと / Engineering Manager's thoughts and actions to deliver outcome
matsu0228
0
13k
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
960
Other Decks in Technology
See All in Technology
生成 AI 時代にいま一度「問い合わせ」について考えてみる
kazzpapa3
1
120
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
1
130
穢れた技術選定について
watany
19
6.1k
AI Native なプロダクト組織の立ち上げ方 : 生産性 100 倍への挑戦
mikesorae
0
1.2k
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
1
1k
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
200
なぜ、あなたのAPIは使われないのか? AX時代の設計原則、ガードレール、運用体制
yokawasa
1
200
発表と総括 / Presentations and Summary
ks91
PRO
0
180
AIが実装を自走する時代の認知負債との戦い
lycorptech_jp
PRO
2
1.1k
生成AI×AWS CDK×AWS FISで"振り返れる"ミニGameDayをつくろう
yoshimi0227
2
520
AI時代におけるエンジニアの新たな役割──FDEとクオリアの探求/登壇資料(戸井田 裕貴)
hacobu
PRO
0
300
伝票作成AIエージェントを支える、LLMOpsとインフラの選択肢 / AICon2026_takeda
rakus_dev
0
260
Featured
See All Featured
Design in an AI World
tapps
1
260
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
A designer walks into a library…
pauljervisheath
211
24k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
180
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
The SEO Collaboration Effect
kristinabergwall1
1
510
Product Roadmaps are Hard
iamctodd
55
12k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
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