Upgrade to Pro — share decks privately, control downloads, hide ads and more …

コードリーディングをしよう! - tenntenn Conference 2022

コードリーディングをしよう! - tenntenn Conference 2022

この資料はtenntenn Conference 2022にて発表を行った際に用いた資料です。

■ tenntenn Conferenceとは
tenntenn Conferenceはtenntennが主催し、そしてすべてのセッションがtenntennによる登壇のカンファレンスです。

イベントページ:https://tenntenn.connpass.com/event/226562/
ハッシュタグ:#tennconn
資料(Googleスライド):https://tenn.in/codereading
動画:https://tenn.in/codereading-video
再生リスト:https://tenn.in/conn22-videolist

■ 内容
このセッションではGoの標準パッケージについて扱います。負担の少ないコードリーディング会やコードリーディングに便利なツールについて紹介します。また、実際にerrorsパッケージのコードリーディングを行ってみます。会社や学校の仲間ですぐに始められるコードリーディングの手法を学べます。

・コードリーディング
・標準パッケージ
・Google Open Source
・errorsパッケージ

■ 登壇者&主催者

・名前:tenntenn / 上田拓也
・HP:https://tenntenn.dev
・Twitter:https://twitter.com/tenntenn

メルカリ/メルペイ所属。バックエンドエンジニアとして日々Goを書いている。Google Developer Expert (Go)。一般社団法人Gophers Japan代表。Go Conference主催者。大学時代にGoに出会い、それ以来のめり込む。人類をGopherにしたいと考え、Goの普及に取り組んでいる。複数社でGoに関する技術アドバイザーをしている。マスコットのGopherの絵を描くのも好き。

■ Gopher道場 自習室

https://gopherdojo.org/studyroom/

Gopher道場とは、実践的なGoを体系的に学べる場です。
Gopher道場 自習室では、以下のようなコンテンツや学びの場を提供します。

・Gopher道場の講義を録画した動画(10時間以上分)
・Slackにおける受講者同士のコミュニティ
・Gopher道場卒業生による課題のレビュー(ボランティアでご協力頂いているのでベストエフォートです)

■ Meety(カジュアル面談)

・ソフトウェアエンジニアの地方移住ってどうなの?:https://meety.net/matches/jyZgDkEEwmMk
・メルカリグループにおけるGoの使いどころ:https://meety.net/matches/LbeVbIACxLqk
・地方からの技術コミュニティへの貢献:https://meety.net/matches/gVeMtImLkWJE

■ お仕事の依頼について

副業にて技術顧問やアドバイザーなどを行っています。過去の実績や問い合わせフォームは以下のURLからご確認ください。
https://tenntenn.dev/ja/job/

#golang #tenntenn #tennconn #Go言語

tenntenn - Takuya Ueda

January 15, 2022
Tweet

More Decks by tenntenn - Takuya Ueda

Other Decks in Programming

Transcript

  1. The Go gopher was designed by Renée French. The gopher

    stickers was made by Takuya Ueda. Licensed under the Creative Commons 3.0 Attributions license. コードリーディングをしよ う! 2022/01/15(土) tenntenn Conference 2022 資料:https://tenn.in/codereading 動画:https://tenn.in/codereading-video
  2. 上田拓也 Go ビギナーズ
 Go Conference
 @tenntenn tenntenn.dev Google Developer Expert

    (Go) 一般社団法人 Gophers Japan 代表理事 Experts Team
  3. コードリーディング ▪ 標準パッケージを読む • 古くはGo研でも行われていた • https://devblog.thebase.in/entry/go-code-reading • https://future-architect.github.io/articles/20200310/ ▪

    準備の少ないコードリーディング会 • お題(読むパッケージ)を決める • 選んだお題に期待することを当日話す • 時間を決めてみんなでそれぞれ読む(20分とか) • 読みながらSlackのスレッドにメモをしていく • 残りの時間で気になったところを議論する • 自分が気づけなかった点を知ることができる
  4. errorsパッケージを読もう ▪ 普段何気なく使っている機能の裏側を覗こう • https://cs.opensource.google/go/go/+/master:src/errors/ • errors.Newが返す値は実際何? • errors.Is関数やerrors.As関数の挙動を知る •

    ラップされたエラーはどうやって扱ってるの? • reflectliteパッケージとは? • インタフェースのreflect.Type型の値を取得するには? 皆さんも一緒に読んでみましょう!
  5. まとめ ▪ Goの標準パッケージはお宝 • Goで書かれているの読めるぞ! • pkg.go.devから辿って行ける • blameして過去の経緯を知ろう ▪

    コードリーディング会は楽しい • 自分だけでは気づかなかった点が知れる • 一人では諦めてしまう低レイヤーな実装も頑張れる • 議論の中から新しいアイデアや知見が見つかる