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
290
新しく取り組む言語で プロダクトリリースを目指す キャッチアップ法 実例 (1)
2023/04/26
ヤフー名古屋 Tech Meetup LT #3
「新年度なので新しく取り組みたいこと」
goma
April 27, 2023
Tweet
Share
More Decks by goma
See All by goma
技術系同人誌のおすすめ
gomayumax
1
220
ハンドメイド now loading
gomayumax
0
220
育休/産休における 生存戦略
gomayumax
1
950
人類光属性エンジニア計画
gomayumax
1
370
Other Decks in Programming
See All in Programming
Benchmark
sysong
0
160
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
190
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
800
ReadMoreTextView
fornewid
1
390
データベースコネクションプール(DBCP)の変遷と理解
fujikawa8
1
250
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
1
120
複数アプリケーションを育てていくための共通化戦略
irof
10
3.8k
2度もゼロから書き直して、やっとブラウザでぬるぬる動くAIに辿り着いた話
tomoino
0
160
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
2
150
Development of an App for Intuitive AI Learning - Blockly Summit 2025
teba_eleven
0
110
Go1.25からのGOMAXPROCS
kuro_kurorrr
0
250
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
280
Featured
See All Featured
Writing Fast Ruby
sferik
628
61k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Code Review Best Practice
trishagee
68
18k
Scaling GitHub
holman
459
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Building an army of robots
kneath
306
45k
For a Future-Friendly Web
brad_frost
179
9.8k
Six Lessons from altMBA
skipperchong
28
3.8k
What's in a price? How to price your products and services
michaelherold
245
12k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
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 やります
よきチャレンジを 💪