Slide 1

Slide 1 text

© LayerX Inc. 意外(?)と語られないGoのいいところ Kentaro Takahashi, 2024/10/23

Slide 2

Slide 2 text

自己紹介

Slide 3

Slide 3 text

© LayerX Inc. 3 株式会社LayerX Fintech事業部 VPoE Fintech事業部にて ALTERNA(個人向け投資サービス)と ODX(Operation DX)チームのマネジメントを担当 趣味は保護猫を飼うことと酒 以前はPairs(エウレカ) / DeNAなどに在籍 自己紹介 Kentaro Takahashi 髙橋 健太郎

Slide 4

Slide 4 text

事業紹介

Slide 5

Slide 5 text

© LayerX Inc. 5 Fintech事業の構成 事業紹介

Slide 6

Slide 6 text

© LayerX Inc. 6 事業紹介

Slide 7

Slide 7 text

改めてGoが良いと思ったポイント3選

Slide 8

Slide 8 text

ビルド

Slide 9

Slide 9 text

© LayerX Inc. 9 ビルド ● デプロイに不安がない ○ その昔動的型付け言語を書いていた時はデプロイしたら画面が白くなったことがあ る人はいるはず...! ○ ランタイムとビルド時で概念が分離されているのはやはり安心 ● クロスコンパイルによってどのプラットフォームでも使える ○ エンジニア以外向けツールだったりを展開して効率化に活かしやすい 個人的にビルドがいいと思っているところ

Slide 10

Slide 10 text

パッケージ

Slide 11

Slide 11 text

© LayerX Inc. 11 ビルド ● Goで書かれている ○ 開発のメイン言語で使われていない言語で書かれていると読めない ○ Goで書かれているので外部パッケージで問題が起きても原因究明が容易 ● パッケージマネージャーを選定する必要なし ○ go modで一択のため選定の必要なし 個人的にGoの外部パッケージがいいと思っているところ

Slide 12

Slide 12 text

エコシステム

Slide 13

Slide 13 text

© LayerX Inc. 13 エコシステム 個人的に良いと思うGoのエコシステム ● 必要なツールが標準でついてくる ○ gofmt ○ go generate ○ go mod ○ go test ■ 何を使うか現場で宗教戦争が起きにくいため開発効率が良い

Slide 14

Slide 14 text

とはいえ難しいところも...

Slide 15

Slide 15 text

© LayerX Inc. 15 難しいところ 個人的に難しいと思うところ ● アーキテクチャどうする問題 ○ これ!というWAFがないためどのようなアーキテクチャにするのかは一定の経験が 必要 ● ◯◯がない!問題 ○ (ちょっと前まで)generics ○ 例外 ○ optional ■ 他言語から来た人の当たり前がないためやや面食らうことも ■ 自分は無い方がいいと思っている派(=シンプルなので議論がされない

Slide 16

Slide 16 text

まとめ

Slide 17

Slide 17 text

© LayerX Inc. 17 まとめ 金融のプロダクトでも安心して使える言語仕様 Goのおかげもあって1年でサービスリリースできた

Slide 18

Slide 18 text

おわりに

Slide 19

Slide 19 text

© LayerX Inc. 19 まとめ https://note.layerx.co.jp/n/nd989c05bf9b1

Slide 20

Slide 20 text

© LayerX Inc. 20 - それっぽい思い込みで開発せず、仕様をシンプルに保つ - 施策の開発は、1つの目的に対して1つの解決策 - ドメインを理解することによりコミュニケーション・実装の質を上 げる まとめ