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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
goma
April 27, 2023
Programming
310
0
Share
新しく取り組む言語で プロダクトリリースを目指す キャッチアップ法 実例 (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
230
育休/産休における 生存戦略
gomayumax
1
980
人類光属性エンジニア計画
gomayumax
1
390
Other Decks in Programming
See All in Programming
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
270
要はバランスからの卒業 #yumemi_grow
kajitack
0
200
AI 時代のソフトウェア設計の学び方
masuda220
PRO
28
10k
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
370
RTSPクライアントを自作してみた話
simotin13
0
290
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
1.5k
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.4k
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
250
JavaDoc 再入門
nagise
0
190
Claspは野良GASの夢をみるか
takter00
0
130
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
290
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.1k
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
150
Visualization
eitanlees
152
17k
Amusing Abliteration
ianozsvald
1
180
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
130
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
190
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
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 やります
よきチャレンジを 💪