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

バクラク事業部でのGoのユースケースとチームを超えたナレッジ共有 | hatena.go

バクラク事業部でのGoのユースケースとチームを超えたナレッジ共有 | hatena.go

- Connect https://connectrpc.com/
- エンジニアオンボーディングを改善するツールの紹介 https://tech.layerx.co.jp/entry/2022/12/12/131507
- Go言語のAPIサーバーの冗長なエラーログを40%削減した話 #LayerXテックアドカレ https://tech.layerx.co.jp/entry/2023/11/29/132325

Yu SERIZAWA

January 31, 2024
Tweet

More Decks by Yu SERIZAWA

Other Decks in Programming

Transcript

  1. © 2024 LayerX Inc. 2 ▶ 株式会社メルペイ (2018.04 - 2022.03)

    ▶ 株式会社LayerX (2022.04 - 現在) - バクラク事業部 申請・経費精算チーム TechLead 最近は趣味でポッドキャストを始めました 🎙 🧙 magical.fm 画像を入れてね 自己紹介 @upamune (うぱみゅん) #F8B8CC
  2. © 2024 LayerX Inc. 6 「すべての経済活動を、デジタル化する。」をミッションに掲げ、 法人支出管理サービス「バクラク」や企業内業務のデジタル化を支援するサービスを提供しています。 事業紹介 バクラク事業 企業活動のインフラとなる法人支出

    管理(BSM)SaaSを開発・提供 Fintech事業 ソフトウェアを駆使したアセットマネジメ ント・証券事業を合弁会社にて展開 AI・LLM事業 文書処理を中心とした、LLMの活用による プロセスのリデザイン
  3. © 2024 LayerX Inc. 7 ▶ バックエンドのAPIはほとんどがGoで書かれている - GraphQL Gateway、MLのコンポーネント以外

    - REST/GraphQL/Connect を喋るAPIが混在している ▶ ローカル開発する時の様々な便利ツールもGoで書かれている - ローカルのプロセスマネージャー - エンジニアオンボーディングを改善するツールの紹介 - 様々な(2024/01/31時点で6つ!) プロダクトがあるので、ローカルで必要な分だけプロセスを 立ち上げて開発している - キャッシュ機構を備えたビルドシステム - デプロイ用の対話的なCLIツール - などなど... 👑 Goが主役 バクラク事業部でのGoのユースケース
  4. © 2024 LayerX Inc. 10 ▶ 💬 Slackチャンネル - Goについて話すSlackチャンネル

    - Goのリリース前とかに盛り上がる ▶ 🥳 エンジニア全体の共有会 - 毎週45分 - Goに限らないが、チームでやった「カイゼン」も共有する場 - 社内ライブラリに便利なやつを実装したり、ライブラリを使った時のハマりやすいポイント共有 ▶ 📖 Goの技術書読書会 - 毎週1時間 - 今は「Go言語 100Tips ありがちなミスを把握し、実装を最適化する」を読んでいる 🏰 ナレッジ共有の場を複数設けている チームを超えたGoにまつわるナレッジ共有
  5. © 2024 LayerX Inc. 11 ▶ 👇 実際に話されたトピックを一部抜粋 - sync.WaitGroup,

    errorgroup.Group を使わずに sourcegraph/conc を使おう! - panicのハンドリングや間違った使い方、並列数の制御を簡単にできる - エラーをwrapできていない部分をlinterを使いつつ改善する方法 - 手順とガイドラインも含め共有して他チームでも展開できるように - ブログも書きました! 👉 Go言語のAPIサーバーの冗長なエラーログを40%削減した話 - gomock でgomock.Any()を使うのをやめて、簡単にmatcherを作れる薄いラッパーの共有 🥳 エンジニア全体の共有会 チームを超えたGoにまつわるナレッジ共有
  6. © 2024 LayerX Inc. 12 - 準備不要で参加できる、その場の参加者でセクションごとに音読する方式 - 「読書」するのが目的ではなく、これをきっかけに社内のコードではどうかなど、ディスカッションするの が目的

    - 読書会後は、みんなの自由研究が始まる - unsafe.String() はどうやって実装されている? - ハマりやすい罠として紹介されているものでlinterを探す、作る? - MarshalJSON() を実装した構造体が複数埋め込まれていたらどうなる? LayerXで実践中の「ゆるい輪読会」をご紹介します 100 Go Mistakes (日本語版) 📖 Goの技術書読書会 チームを超えたGoにまつわるナレッジ共有
  7. © 2024 LayerX Inc. 14 - 社内でのGoのユースケースを紹介 - APIサーバー -

    CLIツール - ナレッジ共有の場 - Slackチャンネル - エンジニア共有会 - 読書会 ぜひ、みなさんがやっている取り組みがあれば教えてください〜!! 🎯 終わりに 終わりに
  8. © 2024 LayerX Inc. 15 We are hiring! LayerXのプロダクトメンバーと美味しいお酒やご飯を囲み ながら、プロダクトやチーム、技術の話をゆる〜く行うイベン

    トを定期的に行っています。 直近の予定は以下のとおりです。 日程 テーマ 2/13(火) 19時ごろ〜 🥤ご当地フルーツジュース Night 2/26(月) 19時ごろ〜 🍺クラフトビール Night LayerX Casual Night ※原則招待制となっております。このあとの懇親会でお声がけください! LayerX Casual Night LayerX Open Door 事業部・テーマ別にカジュアル面談を公開しています。 アカウント登録は一切不要です! ・メンバーと話してみたい ・質問したいことがある ・選考に進むか悩んでいる などなど、お気軽にお申し込みください。