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
新米エンジニアから見たGo
Search
yuita
December 14, 2024
340
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
新米エンジニアから見たGo
yuita
December 14, 2024
Featured
See All Featured
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
200
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
119
120k
Producing Creativity
orderedlist
PRO
348
40k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
460
Building Adaptive Systems
keathley
44
3.2k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
440
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Bash Introduction
62gerente
615
220k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
270
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
新米エンジニアから見たGo
自己紹介 ゆいた X:@yuita_0360 株式会社PREVENT(医療系) バックエンドエンジニア(Go、Rails) エンジニア歴1年半弱 Goまともに書き出してから1年くらい
新米エンジニア(Rails勉強してた) から見たGo ※これからGo勉強する人や、ジュニアエンジニアを指導 する立場の人の何かの参考になれば幸いです。
書いてて楽しいというのが一番 ・シンプルな言語な分自分で考えることが多い ・if文もっと読みやすくかけないか。 ・エラーハンドリングやロギングどうしよう。 ・並行処理を上手く使えると気持ちいい ・タイムアウト対策やバックグラウンド処理。 ・テストもGoで書けるのでGoしか書かなくていい ・テストFWみたいなのが無いのは個人的に好き。
管理が楽 ・今のところ後方互換性担保されているので バージョンアップが楽。 ・半年に1回バージョンアップされるのがわかっている。X 見てたら情報が勝手に流れてくる!! ・go fmt
個人的に難しいと思う部分 ・ジェネリクスの上手な使い方 ・そもそもどういうケースで使うのが有用? ・並行処理の使い所の判断 ・必ずしもメリットがあるわけではない。 ・使うとどうしてもコードが複雑になる。 ・変数名問題 ・ローマ字1字とかでいいやつ。 ・使っていいスコープ、ケースの判断、一貫性ぶれがち。
今までやらかした失敗
HTTPクライアントのタイムアウト時間短くしすぎた ・タイムアウト設定して意気揚々とリリースしたらTLSハンドシェイクが設 定時間内に終わらずタイムアウトになった。。。 ※実際のコードではなくサンプルです
マップのキーにtime.Time型の値をそのまま使った https://pkg.go.dev/time#Time ・マップのキーとしてtime.Time型の値を使いたい場合、全てのキーに同 一のLocationが設定されている、かつモノトニッククロックの読み取り値 が取り除かれている必要がある。 たまにやっちゃうスライス初期化周り slice := make([]int, 10)
これにappendしちゃう
今まで読んだおすすめのGo本 ・初めてのGo言語 ・Go言語プログラミングエッセンス ・詳解 Go言語Webアプリケーション開発 ・Go言語100Tips
ご清聴ありがとうございました!