Slide 1

Slide 1 text

💪 2023/04/26 ヤフー名古屋 Tech Meetup LT #3 「新年度なので新しく取り組みたいこと」 goma

Slide 2

Slide 2 text

goma @gomaaburamax 愛知 -> 東京 -> 沖縄 -> 愛知 バックエンド中心のWEBエンジニア なごのキャンパス入居企業 所属 エンジニアイベントが大好き ギターを始めました ボトルネック奏法のボトル準備だけ完璧

Slide 3

Slide 3 text

● 3ヶ月後に新規プロダクトをリリース ● 「Go言語でやりたい」 → 通った むかしむかし(3ヶ月前)

Slide 4

Slide 4 text

● 3ヶ月後に新規プロダクトをリリース ● 「Go言語でやりたい」 → 通った → もくもく勉強しつつ実装 ● 開発はスムーズに進み、予定を巻く むかしむかし(3ヶ月前)

Slide 5

Slide 5 text

● 3ヶ月後に新規プロダクトをリリース ● 「Go言語でやりたい」 → 通った → もくもく勉強しつつ実装 ● 開発はスムーズに進み、予定を巻く <順調にいった理由> ひとまず書いてみるか!よりも 知識積んでから 取り掛かったこと むかしむかし(3ヶ月前)

Slide 6

Slide 6 text

新しく取り組む言語で プロダクトリリースを目指す キャッチアップ法 実例 (1)

Slide 7

Slide 7 text

流れ 言語仕様 理解 実コードを 見る 選定/設計 実装

Slide 8

Slide 8 text

流れ 言語仕様 理解 実コードを 見る 選定/設計 実装 \ ! /

Slide 9

Slide 9 text

● 言語が大切にしていることを知る ○ 公式ドキュメント ■ 複雑さよりもシンプルさ 「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/ 言語仕様を理解する

Slide 10

Slide 10 text

● 言語が大切にしていることを知る ○ 公式ドキュメント ■ 複雑さよりもシンプルさ 「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

Slide 11

Slide 11 text

流れ 言語仕様 理解 実コードを 見る 選定/設計 実装 <●> <●>

Slide 12

Slide 12 text

● チュートリアル?? ○ プロダクトコードを書けるほどの知識までになれない → もっとwebアプリケーションとして完成されたコードが見たい 実コードをみる

Slide 13

Slide 13 text

>>> ISUCON <<<

Slide 14

Slide 14 text

● いい感じにスピードアップコンテスト ○ webアプリケーションのパフォーマンスチューニングを競う ● 課題: 任意のwebアプリケーション パフォーマンスに影響のある設計やコードが含まれる ○ 言語: Go, Perl, PHP, Python, Ruby, Rust, Node.js, Java ○ 課題のコードは公開されている ISUCONとは

Slide 15

Slide 15 text

● 機能も複数あり本物webアプリっぽい ● コード読みやすい ○ 1500人以上の参加者が読めるコード ○ 各言語の強めエンジニアが書いてる ● 実装の仕方を参考にできる (not ロジック) ISUCONのwebアプリケーション 「xx言語のwebアプリケーションならこう書く」 を知る

Slide 16

Slide 16 text

流れ 言語仕様 理解 実コードを 見る 選定/設計 実装

Slide 17

Slide 17 text

流れ 言語仕様 理解 実コードを 見る 選定/設計 実装 問題解決しやすさ重視 情報数と充実さ!!! Qiitaの記事数 公式Docの充実さ 安心感を補う

Slide 18

Slide 18 text

流れ 言語仕様 理解 実コードを 見る 選定/設計 実装 \ うおおおおお!!! /

Slide 19

Slide 19 text

● 必ず解決策をメモっておく → scrapboxへ: https://scrapbox.io/product 絶対また同じことを調べるので先行投資 ● IDEに助けてもらう ○ GoLand最高! ■ 静的解析たすかる!コードジャンプ! ■ ライブラリのドキュメントに爆速アクセス 実装

Slide 20

Slide 20 text

● 必ず解決策をメモっておく → scrapboxへ: https://scrapbox.io/product 絶対また同じことを調べるので先行投資 ● IDEに助けてもらう ○ GoLand最高! ■ 静的解析たすかる!コードジャンプ! ■ ライブラリのドキュメントに爆速アクセス 実装 たのしむこ と!!!!!!

Slide 21

Slide 21 text

流れ まとめ 言語仕様 理解 実コードを 見る 選定/設計 実装 雰囲気を 感じる ISUCONに 学べ 安心選定 たのしもう で き た ! ! !

Slide 22

Slide 22 text

さいごに 触ったことないGoで プロダクト開発するにあたって行った キャッチアップ法を紹介しました 個人的にはISUCONコード読むが最高に良かったので、おすすめします webじゃなくても進め方が少しでも参考になればと思います ※「そんなゆっくりしたやり方、時間がないとできないよ」のご意見、それな〜わかる〜。時間の捻出に自信がある or趣味でぜひ実践ください

Slide 23

Slide 23 text

最後に宣言

Slide 24

Slide 24 text

Goはじめたから 次はRustやる

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

新年度なので新しく Rust やります

Slide 27

Slide 27 text

よきチャレンジを 💪