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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
goma
April 27, 2023
Programming
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
新しく取り組む言語で プロダクトリリースを目指す キャッチアップ法 実例 (1)
2023/04/26
ヤフー名古屋 Tech Meetup LT #3
「新年度なので新しく取り組みたいこと」
goma
April 27, 2023
More Decks by goma
See All by goma
技術系同人誌のおすすめ
gomayumax
1
260
ハンドメイド now loading
gomayumax
0
240
育休/産休における 生存戦略
gomayumax
1
980
人類光属性エンジニア計画
gomayumax
1
390
Other Decks in Programming
See All in Programming
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.3k
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
160
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.6k
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
2
540
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
880
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
780
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
210
Vite+ Unified Toolchain for the Web
naokihaba
0
240
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
170
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
240
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
390
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
420
Chasing Engaging Ingredients in Design
codingconduct
0
220
The Curious Case for Waylosing
cassininazir
1
380
Become a Pro
speakerdeck
PRO
31
6k
Paper Plane
katiecoart
PRO
1
51k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Between Models and Reality
mayunak
4
330
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
610
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 やります
よきチャレンジを 💪