Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
新米エンジニアから見たGo
Search
yuita
December 14, 2024
2
310
新米エンジニアから見たGo
yuita
December 14, 2024
Tweet
Share
Featured
See All Featured
Speed Design
sergeychernyshev
33
1.4k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
90
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Test your architecture with Archunit
thirion
1
2.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
0
170
The Curious Case for Waylosing
cassininazir
0
190
Chasing Engaging Ingredients in Design
codingconduct
0
84
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
57
38k
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
ご清聴ありがとうございました!