CA.ktに登壇してServer Side Kotlinについて話してきた。
CA.kt #3で登壇しました。テーマは「FRESH!プロジェクト/Server Side Kotlin 活用事例」。スライドはこちら。
約1年前にFRESH!チームにジョインしてKotlinに出会いServer Side Kotlinと向き合ってきた経験を話してきた。
Server Side Kotlinの導入事例やIdeomatic Kotlin Codeをテーマにしたコード事例を紹介したり、Spring Boot 2.0とgRPCのチャレンジ、DBアクセスには何を使ってるの?、テストは?、Apiドキュメンテーションは?など、Server Side Kotlinを俯瞰して横断的な内容をまとめられと思う。
興味ある方は是非スライドを参照ください👀
そして今回のエントリは、これまでアウトプットしてきたServer Side Kotlin、Spring Boot 2.0、gRPC方面のエントリを総集編的にまとめていきたい。会場で出会えた方にもブログの存在をアピールできたし、「で、そのブログにはどんなエントリあるの?」って少なからず感じてもらえたと思うので応えたい。
Sever Side Kotlin
Kotlinを始めてまず取り掛かったのがテストコード。JavaではJMockitoにお世話になっていたがKotlinで動かないことに絶望を感じたのが記憶にある。JMockitoが使えないならKotlinでどのようにコードの品質を担保するのか!!と差し迫った時期のエントリ。
KotlinでMockテストのまとめ - 平日インプット週末アウトプットぶろぐ
DelegateとKotlinコルーチンについてまとめたエントリ。ここらへんの話も発表に入れたかった。
Kotlin コルーチンでasync/awaitをつかってgRPC Serverをリクエストしてみた - 平日インプット週末アウトプットぶろぐ
KotlinでConstructor Injectionが増えてきたからDelegateをつかってリファクタリングしてみた - 平日インプット週末アウトプットぶろぐ
純正KotlinのJSONパーサーのKlaxonについてのエントリ。この記事はアクセス数が結構ある。JSONパースって必須と感じる。
Kotlinで快適なJSONパース。Klaxon: JSON for Kotlinを使ってみた。 - 平日インプット週末アウトプットぶろぐ
Spring Boot 2.0.0
Spring Boot 2.0.0+ Kotlin動きそう? HTTPサーバのInterceptorってどうなってるの? を疑問に思ってまとめたエントリ。
Spring5.0 + KotlinではDoma、Request Interceptorあたりはどうなっているのか調べてみた - 平日インプット週末アウトプットぶろぐ
Spring Framework 5から提供が始まったRouter Function DSLのテスト方法についてまとめたエントリ。
Spring5.0 + KotlinのRouterFunctionのテストはどうすればよいか? 試してみた - 平日インプット週末アウトプットぶろぐ
Spring Boot 2.0.0 Milestone versionではSpringFox(Swagger)やSpring Rest DocsなどのAPIドキュメンテーションツールのサポートが不完全なので、その時期にどうやって解決したかアウトプットしたエントリ。
SpringBoot 2.0とapiDocを連携させてみた - 平日インプット週末アウトプットぶろぐ
gRPC
protobuf typeについてまとめたエントリ。まだ試していない型がたくさんあるしgRPC楽しい。
protobuf typeに日付型のcom.google.protobuf.Timestampをつかってみた - 平日インプット週末アウトプットぶろぐ
protobuf typeに値が入っているか確認するにはgoogle/protobuf/wrappers.protoをつかうとよい - 平日インプット週末アウトプットぶろぐ
protoの運用について考えたエントリ。protodep便利。
Kotlin + gradleでgRPCプロトコル定義ファイル(.proto)のvendoringにprotodepをつかってみた - 平日インプット週末アウトプットぶろぐ
gRPC Contextについてまとめたエントリ。gRPCはInterceptorを使ってContextに値を入れたり取り出したりすることがある。AOPには必須な知識。
Kotlin + gRPCでio.grpc.Contextをつかってログ出力を横断処理してみた - 平日インプット週末アウトプットぶろぐ
gRPC Client/Serverのテスト方法をまとめたエントリ。
gRPC serverのmetadataをテストする方法をまとめる - 平日インプット週末アウトプットぶろぐ
grpc-javaのClient/ServerのテストをKotlinで書く - Client編 - 平日インプット週末アウトプットぶろぐ
grpc-javaのClient/ServerのテストをKotlinで書く - Server編 - 平日インプット週末アウトプットぶろぐ
エンドクライアント(iOSやAndroid)のgRPC ClientとgRPC Serverの通信にTLSを有効にするためにはどうすればよいのか?を調べてアウトプットしたエントリ。
KotlinでgRPC。SSL/TLSを有効にする方法をまとめた。 - 平日インプット週末アウトプットぶろぐ
KotlinでgRPC。grpc-javaのTLS with JDKとTLS with OpenSSLの使い方をまとめた。 - 平日インプット週末アウトプットぶろぐ
TLSについてまとめたけどALPN対応できなくて焦って問題解決できた経緯をまとめたエントリ。
grpc-javaのServerでTLSを有効にした場合はALPN対応しているか確認すべし - 平日インプット週末アウトプットぶろぐ
まとめ
- スライドのテーマに似ているような過去エントリをまとめてみた。
- まとめた順番とエントリの時期が前後したり、過去の情報で最新ではない可能性もあるので内容は保証できないことをご了承いただきたい🙏
- こういう機会にエントリをまとめてみるのは頭の整理が進むので良いと感じた。
次回はgrpc-gatewayのアウトプットをしようと計画中。