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
280
新しく取り組む言語で プロダクトリリースを目指す キャッチアップ法 実例 (1)
2023/04/26
ヤフー名古屋 Tech Meetup LT #3
「新年度なので新しく取り組みたいこと」
goma
April 27, 2023
Tweet
Share
More Decks by goma
See All by goma
技術系同人誌のおすすめ
gomayumax
1
210
ハンドメイド now loading
gomayumax
0
200
育休/産休における 生存戦略
gomayumax
1
930
人類光属性エンジニア計画
gomayumax
1
360
Other Decks in Programming
See All in Programming
Amazon S3 TablesとAmazon S3 Metadataを触ってみた / 20250201-jawsug-tochigi-s3tables-s3metadata
kasacchiful
0
180
WebDriver BiDiとは何なのか
yotahada3
1
150
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
140
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
53
18k
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
210
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
190
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
600
SpringBoot3.4の構造化ログ #kanjava
irof
3
1k
SwiftUI Viewの責務分離
elmetal
PRO
2
250
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
110
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.1k
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.1k
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
500
Six Lessons from altMBA
skipperchong
27
3.6k
Rails Girls Zürich Keynote
gr2m
94
13k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
640
Statistics for Hackers
jakevdp
797
220k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
250
Navigating Team Friction
lara
183
15k
The Language of Interfaces
destraynor
156
24k
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 やります
よきチャレンジを 💪