【有料】Gopher塾 #2 - Goらしいコードの書き方 - DAY 3
イベント内容
Gopher塾 #2 - Goらしいコードの書き方 - DAY3
Gopher塾は、tenntennによるGoに関する有料の講義です。第2回目はGoらしいコードの書き方について行います。
無償でGopher道場などで学習することも可能ですが、より実践的で高度な内容を扱います。
キャンセルについて
原則、自己都合によるキャンセルはご遠慮願います。止む得ずキャンセルしたい場合は、連絡先のフォームからお問い合わせください。
なお、学生では無いにも関わらず、学生枠に申し込んだ場合は、こちらでキャンセル致します。誤って申し込んだ方は別途、ご連絡ください。
日程の変更について
運営の体調、不慮の事態などによって開催ができない場合は、別日に振替させて頂きます。 その際は別途メールにてご連絡致します。
講師: tenntenn / Takuya Ueda
バックエンドエンジニアとして日々Goを書いている。Google Developer Expert (Go)。一般社団法人Gophers Japan代表。Go Conference主催者。大学時代にGoに出会い、それ以来のめり込む。人類をGopherにしたいと考え、Goの普及に取り組んでいる。複数社でGoに関する技術アドバイザーをしている。マスコットのGopherの絵を描くのも好き。
- Webサイト: https://tenn.in
- Mastodon: https://mstdn.jp/@tenntenn
過去の実績などはこちらをご覧ください。
内容
以下の内容を演習を交えながら解説を行う予定です。『これまでとこれからのGo』や『Goとは?特徴や仕事に使うことを目指すための勉強法などを解説』にも関連してますので、一読していただくと理解が進むかもしれません。
- Goらしさとは?
- Goに入ってはGoに従え
- Goが生まれた背景を知る
- 安定性とスケーリング
- シンプルさと利便性
- 命名
- 名前の重要性
- 名前に文脈を与える
- 長い名前と短い名前
- フローをわかりやすく
- if文を活用しよう
- switch文を活用しよう
- for rangeを活用しよう
- 関数に分ける
- 循環複雑度を図る
- コメント
- コメントに何を書くのか
- Go1.19で導入された構造化されたコメント
- 複雑さとコードの分け方
- 関数の分け方
- ファイルの分け方
- パッケージの分け方
- 機能を正しく使う
- 名前付き定数
- 名前付き戻り値
- 埋め込み
- エラー処理
- エラーはエラーとして扱う
- ラップ
- errors.Is関数とerrors.As関数の挙動を知る
- Go 1.20で入る予定のerrors.Join関数を学ぶ
- イディオムを学ぶ
- インタフェースの実装を確認する
- for文でdefer文を用いない
- メソッドを活用する
- インタフェースの活用
- スタイルガイドから学ぶ
- Effective Go
- Go Code Review Comments
- Uber Go Style Guide
- Go Style at Google
- 標準ライブラリやOSSから読み解くGoテクニック
- ソースコードリーディング
- 名前付き戻り値とエラーのラップ
- internalパッケージを有効に使う
- 1つのリポジトリに複数のgo.modを置く
- ライブラリの選定
- 良いライブラリとは?
- 自作するかどうか
- どこでライブラリを探すのか?
- サンプルコードを見つける
- デファクトスタンダードに要注意
- 開発ツール
- ツールチェインをよく知る
- 便利な開発ツールを知る
- 静的解析ツールを利用する・自作する
- 一歩進んだ学習方法を知る
- 1次情報手に入れる
- 最新情報を得るには
- 私の情報源はココ
- ここが知りたいGo
- 参加者から疑問を回答します
※ 内容が変更になる可能性があります
※ 参加者の希望によって、内容を変更する場合があります
※ 途中で適宜休憩を入れながら講義を行います
対象者
- Goの基礎を一通り終えた方
- Goらしいコードの書き方が知りたい方
入門者向けの講義ではありません。Goの基礎的な内容は解説しませんので、予めご了承ください。Goの基礎的な内容を学習したい場合は、無償のGopher道場やプログラミング言語Go完全入門をご活用ください。
18歳以上の方を対象としております。
参加方法
- 講義:Remo
- 質問:Slack
RemoやSlackのURLはconnpassのメール機能によってお送り致します。
用意するもの
- 以下の環境が入ったPC(OSは問いません)
- 最新のGoのツールチェイン
- Remo(Chromeなどのブラウザ)
- Slack
講師のPCはmacOSです。WindowsやLinuxのPCでもご参加頂けますが、OS固有の問題にあたった場合は解決できないことがありますので、ご了承ください。
RemoやSlackのURLはご入力頂いたメールアドレスに共有致します。
配布物
参加者の方には、スライドおよび当日の録画を配布致します。 なお、準備には万全を期しますが、機器トラブルによって録画が行えない可能性がありますので、予めご了承ください。
スライドの一部は、今後の講師の活動において無償で公開される可能性があります。予めご了承ください。録画動画は編集し、有料の講義動画として公開する可能性があります。参加者のみなさまが特定できる形では公開致しません。
配布物はアンケートフォームにご入力頂いたメールアドレスに共有致します。
質問について
講義当日までに、Slackにご招待します。当日はSlackに質問を頂けると回答致します。 当日質問頂いた内容は、録画される可能性があります。
Slackでの質問は講義後、1ヶ月間は回答を保証致します。期間後はベストエフォートにて回答致しますが、期間外は回答をお約束できるものではありません。また、期間内であっても質問の内容や分量によっては回答しかねる場合もございますので、予めご了承ください。なお、質問内容は講義内容に関するものでなくても、回答が可能なものはお答えします。
有償開催について
講師はコミュニティ活動の一環として、無償の講義も行っています。コミュニティ活動は、所属企業によるサポートや一般社団法人Gophers Japanとしての活動、および限られた個人の時間を用いて行っています。
本講義は、講師個人の時間を使用して行っています。そのため、準備・実施時間などを鑑みて有償とさせて頂いています。なお、今後の需要によっては価格の改定などを行う可能性がございます。
学生枠について
学生は無料で参加頂けます。申込時のアンケートフォームに、ac.jpで終わるドメインのメールアドレスを入力ください。
社会人としての収入(アルバイトやインターンシップは除く)のある学生の皆様は、他の学生の方を優先したいので、通常枠でご参加頂けますようお願い致します。
所属学校から末尾がac.jpのメールアドレスが発行されていない学生のみなさまは別途お問い合わせください。
なお、学生では無いにも関わらず、学生枠に申し込んだ場合(学校のメールアドレスの記載がない場合)は、こちらでキャンセル致します。誤って申し込んだ方は別途、ご連絡ください。
ブログ枠にて登録された方はブログへの投稿の後に、Gophers Slackへの投稿とこのconnpassページへ掲載を行いますので、ご連絡ください。
企業向けの講義について
本講義は、個人向けの講義となっています。企業で同じような内容での講義をご希望の場合は、仕事依頼フォームから別途お問い合わせください。
行動指針
本イベントでは、参加者および講師はGo Community Code of Conductに従います。
ライセンス表記
GoのマスコットのGopherの原作者はRenee Frenchさんです。
注意事項
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。
新規会員登録
このイベントに申し込むには会員登録が必要です。
アカウント登録済みの方はログインしてください。
※ ソーシャルアカウントで登録するとログインが簡単に行えます。
※ 連携したソーシャルアカウントは、会員登録完了後にいつでも変更できます。