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
2
260
新米エンジニアから見たGo
yuita
December 14, 2024
Tweet
Share
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
33
1.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Navigating Team Friction
lara
183
15k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
A better future with KSS
kneath
238
17k
Visualization
eitanlees
145
15k
The Pragmatic Product Professional
lauravandoore
32
6.3k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
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
ご清聴ありがとうございました!