ログミーTech Live #1「サーバーサイド開発最前線」に参加してきました
- ログミーTech Live #1「サーバーサイド開発最前線」に参加してきました。
- 最近サーバサイドKotlinが気になっていたこともあり参加してみました。
- テーマが「サーバーサイド」とスコープを絞りすぎない勉強会だったので、普段ふれないgoやScalaやGCPの話も聞けて良かったです。
タイトル | 発表者 |
---|---|
Go/GAEで作る金融システム | 株式会社ネクストカレンシー |
FRESH LIVEにおけるServer Side KotlinとMicroservicesの今 | 株式会社サイバーエージェント 野澤聡史氏 |
クラウド電子カルテを支えるテクノロジーの光と闇 | エムスリー株式会社 冨岡純氏 |
Go/GAEで作る金融システム
ネクストカレンシー
- DMMの子会社
- 仮想通貨の会社
- 金融業
- 高い安全性が求められる
技術スタック
Google App Engineはいいぞ
- Googleが提供するPaaS
- とにかく楽
Stackdriver Loggingはいいぞ
- フルマネージドなロギングサービス
- GCPで出力されるログが集約される
- 加工や通知が楽
- 柔軟なフィルタ
Protocol Buffersはいいぞ
golangはいいぞ
- シンプルな仕様
- 並行処理
- ループするならfor,if使うしかない
- シンプル
FRESH LIVEにおけるServer Side KotlinとMicroservicesの今
- 株式会社サイバーエージェント 野澤聡史さん(@soushi_nozawa)
FRESH LIVEとサーバサイドKotlin
- 様々なマイクロサービスにKotlin導入してる
FRESH LIVEとマイクロサービス
- どっかが落ちても全体は倒れない
- 戦略とともに必要なところをスケールできる
- 1サービス1DB
- サービス間はgrpc
- 低レイヤーはgo
SpringBoot2とKotlin
- Idiomatic Kotlin Code
- Kotlinらしく書くためのベストプラクティス
- 拡張関数が便利
- Router Function DSL
- Spring Web Flux
- Reactiveをサポート
- StreamなAPIを簡単に作れる
コンテナとマイクロサービス
gRPC
- HTTP2との効率的な接続
- 双方向ストリーミング
- portを分けて2つのServer起動
- CommandLineRunner
- DisposableBean
- SpringとgRPC
- Server起動Interceptorなど難なく構築
- 入念なクライアント疎通確認必要(特にAndroid)
- 周辺ライブラリのアップデートをこまめに
まとめ
- サーバサイドKotlinやるならSpringBoot2おすすめ
- k8sでコンテナ配置戦略に変化
- gRPCで効率的な通信
クラウド電子カルテを支えるテクノロジーの光と闇
- エムスリー株式会社 冨岡純さん(@jooohn1234)
クラウド電子カルテ
光
- クラウドが当たり前の業界ではない
- 導入できたらありがたみを実感できた
闇
レセコン
- 会計ソフトウェア
闇
- カルテの情報をレセコンと動機するのは必須
- 診療報酬点数計算等々複雑で開発ハードル高い
光
- Scala
- 管理しやすく(oop)
- 堅牢(fp)
- Functional Programming
- テスト再利用容易
- 点数計算は巨大な関数
- Clean Architecture
- 複雑な起算ルールと作用を分離
まとめ
- レガシー業界ではすべてがモダンにならない過渡期がある
- 設計手法を駆使して少しずつ良くしてる