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
新しく取り組む言語で プロダクトリリースを目指す キャッチアップ法 実例 (1)
Search
goma
April 27, 2023
Programming
0
310
新しく取り組む言語で プロダクトリリースを目指す キャッチアップ法 実例 (1)
2023/04/26
ヤフー名古屋 Tech Meetup LT #3
「新年度なので新しく取り組みたいこと」
goma
April 27, 2023
Tweet
Share
More Decks by goma
See All by goma
技術系同人誌のおすすめ
gomayumax
1
250
ハンドメイド now loading
gomayumax
0
230
育休/産休における 生存戦略
gomayumax
1
980
人類光属性エンジニア計画
gomayumax
1
380
Other Decks in Programming
See All in Programming
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
370
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
320
Claude Codeログ基盤の構築
giginet
PRO
3
1.4k
株式会社 Sun terras カンパニーデック
sunterras
0
2k
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
3
110
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
1k
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
790
Ruby x Terminal
a_matsuda
7
590
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
650
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
520
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.7k
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
230
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
460
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
480
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
630
Six Lessons from altMBA
skipperchong
29
4.2k
Paper Plane (Part 1)
katiecoart
PRO
0
5.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
450
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Typedesign – Prime Four
hannesfritz
42
3k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
290
Transcript
💪 2023/04/26 ヤフー名古屋 Tech Meetup LT #3 「新年度なので新しく取り組みたいこと」 goma
goma @gomaaburamax 愛知 -> 東京 -> 沖縄 -> 愛知 バックエンド中心のWEBエンジニア
なごのキャンパス入居企業 所属 エンジニアイベントが大好き ギターを始めました ボトルネック奏法のボトル準備だけ完璧
• 3ヶ月後に新規プロダクトをリリース • 「Go言語でやりたい」 → 通った むかしむかし(3ヶ月前)
• 3ヶ月後に新規プロダクトをリリース • 「Go言語でやりたい」 → 通った → もくもく勉強しつつ実装 • 開発はスムーズに進み、予定を巻く
むかしむかし(3ヶ月前)
• 3ヶ月後に新規プロダクトをリリース • 「Go言語でやりたい」 → 通った → もくもく勉強しつつ実装 • 開発はスムーズに進み、予定を巻く
<順調にいった理由> ひとまず書いてみるか!よりも 知識積んでから 取り掛かったこと むかしむかし(3ヶ月前)
新しく取り組む言語で プロダクトリリースを目指す キャッチアップ法 実例 (1)
流れ 言語仕様 理解 実コードを 見る 選定/設計 実装
流れ 言語仕様 理解 実コードを 見る 選定/設計 実装 \ ! /
• 言語が大切にしていることを知る ◦ 公式ドキュメント ▪ 複雑さよりもシンプルさ 「core philosophy of simplicity
over complexity.」 https://go.dev/ 日本語版: http://go.shibu.jp/effective_go.html • Udemyの動画を見る (あえて英語+字幕 -> 全然わからんゆえに120%の集中) • 本で補う ◦ 初めてのGo: https://www.oreilly.co.jp/books/9784814400041/ 言語仕様を理解する
• 言語が大切にしていることを知る ◦ 公式ドキュメント ▪ 複雑さよりもシンプルさ 「core philosophy of simplicity
over complexity.」 https://go.dev/ 日本語版: http://go.shibu.jp/effective_go.html • Udemyの動画を見る (あえて英語+字幕 -> 全然わからんゆえに120%の集中) • 本で補う ◦ 初めてのGo: https://www.oreilly.co.jp/books/9784814400041/ 言語仕様を理解する これなら書けそう 雰囲気OK
流れ 言語仕様 理解 実コードを 見る 選定/設計 実装 <•> <•>
• チュートリアル?? ◦ プロダクトコードを書けるほどの知識までになれない → もっとwebアプリケーションとして完成されたコードが見たい 実コードをみる
>>> ISUCON <<<
• いい感じにスピードアップコンテスト ◦ webアプリケーションのパフォーマンスチューニングを競う • 課題: 任意のwebアプリケーション パフォーマンスに影響のある設計やコードが含まれる ◦ 言語:
Go, Perl, PHP, Python, Ruby, Rust, Node.js, Java ◦ 課題のコードは公開されている ISUCONとは
• 機能も複数あり本物webアプリっぽい • コード読みやすい ◦ 1500人以上の参加者が読めるコード ◦ 各言語の強めエンジニアが書いてる • 実装の仕方を参考にできる
(not ロジック) ISUCONのwebアプリケーション 「xx言語のwebアプリケーションならこう書く」 を知る
流れ 言語仕様 理解 実コードを 見る 選定/設計 実装
流れ 言語仕様 理解 実コードを 見る 選定/設計 実装 問題解決しやすさ重視 情報数と充実さ!!! Qiitaの記事数
公式Docの充実さ 安心感を補う
流れ 言語仕様 理解 実コードを 見る 選定/設計 実装 \ うおおおおお!!! /
• 必ず解決策をメモっておく → scrapboxへ: https://scrapbox.io/product 絶対また同じことを調べるので先行投資 • IDEに助けてもらう ◦ GoLand最高!
▪ 静的解析たすかる!コードジャンプ! ▪ ライブラリのドキュメントに爆速アクセス 実装
• 必ず解決策をメモっておく → scrapboxへ: https://scrapbox.io/product 絶対また同じことを調べるので先行投資 • IDEに助けてもらう ◦ GoLand最高!
▪ 静的解析たすかる!コードジャンプ! ▪ ライブラリのドキュメントに爆速アクセス 実装 たのしむこ と!!!!!!
流れ まとめ 言語仕様 理解 実コードを 見る 選定/設計 実装 雰囲気を 感じる
ISUCONに 学べ 安心選定 たのしもう で き た ! ! !
さいごに 触ったことないGoで プロダクト開発するにあたって行った キャッチアップ法を紹介しました 個人的にはISUCONコード読むが最高に良かったので、おすすめします webじゃなくても進め方が少しでも参考になればと思います ※「そんなゆっくりしたやり方、時間がないとできないよ」のご意見、それな〜わかる〜。時間の捻出に自信がある or趣味でぜひ実践ください
最後に宣言
Goはじめたから 次はRustやる
None
新年度なので新しく Rust やります
よきチャレンジを 💪