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

Enablement Bootcampを終えて -Enablement Bootcamp for Gopherizing 〜業務で使えるGoを学ぼう〜

uhzz
October 12, 2023

Enablement Bootcampを終えて -Enablement Bootcamp for Gopherizing 〜業務で使えるGoを学ぼう〜

uhzz

October 12, 2023
Tweet

More Decks by uhzz

Other Decks in Education

Transcript

  1. Enablement Bootcampを終えて
    Enablement Bootcamp for Gopherizing
    〜業務で使えるGoを学ぼう〜
    @_uhzz_

    View full-size slide

  2. 目次
    ● 参加したきっかけ・モチベーション
    ● トレーニングの所感と発見
    ○ Day1: Go らしいコードの書き方
    ○ Day2: テスタブルなコードの書き方
    ○ Day3: 実践的なエラー処理
    ○ Day4: gRPC をつかった API サーバの作成
    ● トレーニングを経て

    View full-size slide

  3. 参加したきっかけ・モチベーション
    # きっかけ
    ● ナレッジワーク社の note を読んでブートキャンプに興味をもった
    ○ 「何をどう学ぶか」というところが気になって参加してみたくなった
    ○ 申し込み課題があったので、腕試しをしてみたかった
    # 私のバックグラウンド
    ● 業務でGoをつかっている
    ○ Go らしい書き方やテストについても普段の開発を通して知っている(つもり)
    # モチベーション
    ● 基礎力をさらに高める機会にするぞ👍

    View full-size slide

  4. Day1: Go らしいコードの書き方
    # 所感
    ● Go らしいとはなにか、Goらしいコードを実践的に書くにはどうすればいいかの指針
    を学んだ
    # 再発見
    ● 月末とか年末の忙しいときでも読める言語、それが Go
    ○ 技巧を凝らすことを減らしているの意
    ● 言語仕様の解像度を高めろ
    ○ トレーニング中に何度か話に出てきたので、必須事項だと心で理解した
    ○ おすすめの学習方法を聞かれたときにも薦めやすい
    ● 命名が上手くいくのはいいこと
    ○ 命名が長くなってしまう場合など上手くいかないときは、なにかがよろしくない

    View full-size slide

  5. Day2: テスタブルなコードの書き方
    # 所感
    ● ユニットテストの考え方と、Go でテストを書く際のポイントやテクニックを学んだ
    # 再発見
    ● ユニットテストは最初のユーザー
    ○ テストは品質保証、リファクタリング、ドキュメントを目的とする
    ● 公開されているものがちゃんと動くことが大事
    ○ privateメソッドも、やりすぎるとリファクタリングが大変になる
    ● テーブル駆動テストの醍醐味はケースとロジックの分離

    View full-size slide

  6. Day3: 実践的なエラー処理
    # 所感
    ● スタックトレースの考え方から、どのエラーをどうやって、誰に知らせるかといった本
    質的なエラーの考え方を学んだ
    # 発見
    ● Typed-nil 問題を初めて知った
    ○ https://zenn.dev/nobonobo/articles/f554041aea1955
    ○ linter に助けられていたことに気づいた
    ● 標準パッケージのruntime.Stack() が本体であることを初めて知った
    ○ runtime/debug.Stack()は、runtime.Stack() をラップしていることを知れた

    View full-size slide

  7. Day4: gRPC をつかった API サーバの作成
    # 所感
    ● gRPC のフレームワーク connect をつかったチュートリアルを通して、gRPC 開発
    をスピーディーに行える気づきを得た
    # 発見
    ● net/http のエコシステムが使えるのは知らなかった!便利!
    # グループワーク
    ● モブプロを通して、ワイワイ1つのエンドポイントを作れたのはよかった

    View full-size slide

  8. トレーニングを経て
    # 所感
    ● 再発見をしたり、今まで知らずにいた問題に気づく機会になった
    ● 改めて、基礎力を上げる必要性を感じた
    ○ 言語仕様を押さえておくことの必要性について、実感を得た
    ○ 正しい知識をもって開発に取り組むということについて学べた
    ● チームで、1つのテーマについて感じたことを話す機会は貴重
    ○ 理解の助けにもなったし、新しい視点を得ることができた
    👍

    View full-size slide