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との歩み / 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
790
マジ価値を早く届ける意思決定のススメ 〜情報をそろえ、決めすぎを避ける〜/ A Decision-Making Approach for Delivering Better Products Faster
matsu0228
1
180
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
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.7k
スタートアップチームで学んだエンジニアの心構え / 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.7k
expo開発におけるCI/CD / CICD on development of expo
matsu0228
0
1k
Other Decks in Technology
See All in Technology
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
580
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
7
2.5k
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
370
3つのアプローチで目指す チームを強くするAI駆動開発
thkt
0
150
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
350
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
1.9k
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
170
SDDの運用にめげずに向き合った話
sansantech
PRO
1
140
AI時代のPRレビューにどう向き合うか?
kairim0
1
160
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
320
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7.2k
The SEO identity crisis: Don't let AI make you average
varn
0
580
Everyday Curiosity
cassininazir
0
350
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
450
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Exploring anti-patterns in Rails
aemeredith
4
530
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
300
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
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