Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
書籍『Kotlin サーバーサイドプログラミング実践開発』の こだわりとおすすめポイント 2021 年5 月19 日 竹端 尚人
Slide 2
Slide 2 text
自己紹介
Slide 3
Slide 3 text
概要 竹端 尚人 フリーランスエンジニア Twitter: @n_takehata 職種: バックエンドエンジニア 好きな言語:Kotlin Server-Side Kotlin 、Java 、etc… ( 少し前まで) スマートフォンゲーム開発 昨年12 月からフリーランスに
Slide 4
Slide 4 text
登壇、執筆など CEDEC2018 、2019 登壇 Software Design 2019 年2 〜4 月号で短期連 載 Swift/Kotlin 愛好会で技術書典執筆 https://booth.pm/ja/items/1315478 書籍「 Kotlin サーバーサイドプログラミング 実践開発」を2021 年4 月に発売 https://gihyo.jp/book/2021/978-4-297- 11859-4
Slide 5
Slide 5 text
この書籍で書いたこだわりとおすすめポイントを紹介します
Slide 6
Slide 6 text
ブログでも紹介しています 書籍『Kotlin サーバーサイドプログラミング実践開発』のこだわりとオススメポイント https://blog.takehata-engineer.com/entry/kotlin-server-side-programming-practical-development- commitment-and-recommendations
Slide 7
Slide 7 text
Gihyo Digital Publishing で月間販売数 4 位!!
Slide 8
Slide 8 text
書店ではAndroid 関連のエリアに置いてあることが( 多分) 多いです
Slide 9
Slide 9 text
アジェンダ 1. こだわり 2. おすすめポイント 3. まとめ
Slide 10
Slide 10 text
1. こだわり
Slide 11
Slide 11 text
サーバーサイドの話に特化したKotlin の書籍 実践で導入する際の参考にできる Java を知らなくても読める
Slide 12
Slide 12 text
サーバーサイドの話に特化したKotlin の書籍 Android のKotlin の本は多いが、サーバーサイドの本はほとんどない サーバーサイドKotlin に関して、市場の中でもかなりガッツリ書いている Kotlin の本としても最近のバージョンのものとして価値がある
Slide 13
Slide 13 text
実践で導入する際の参考にできる 実際のプロダクトで導入する際の参考になるように意識 DB の使用、認証・認可、単体テストやロギングなども網羅 実践的なアーキテクチャでのサーバーアプリケーションの開発
Slide 14
Slide 14 text
Java を知らなくても読める Java との比較などは全くしていない Java との相互互換を解説している箇所(10P 程度) 以外は、一切Java のコードはない Spring Boot なども「Kotlin で使うフレームワーク」として解説
Slide 15
Slide 15 text
表紙はやかん(Kotlin の由来にちなんで)
Slide 16
Slide 16 text
2. おすすめポイント
Slide 17
Slide 17 text
第1 部 Kotlin 入門
Slide 18
Slide 18 text
第1 部 Kotlin 入門 第1 章 Kotlin をお勧めする理由 第2 章 様々なKotlin の機能 第3 章 Java とKotlin の相互互換が既存の資産を生かす
Slide 19
Slide 19 text
プログラミング基礎は薄めに、Kotlin については厚めに
Slide 20
Slide 20 text
プログラミング基礎は薄めに 変数 制御構文 クラス、インターフェース コレクション ( 対象読者はサーバーサイド開発経験者のため)
Slide 21
Slide 21 text
Kotlin については厚めに データクラス 拡張関数 スコープ関数 コルーチン etc…
Slide 22
Slide 22 text
Kotlin の基礎を改めて体系的に学びたい人にもおすすめ
Slide 23
Slide 23 text
第2 部 Kotlin でのサーバーサイド開発
Slide 24
Slide 24 text
第2 部 Kotlin でのサーバーサイド開発 第4 章 Web アプリケーション開発の基盤となるSpring Boot を導入する 第5 章 O/R マッパーを使用してデータベースへ接続する 第6 章 Spring Boot とMyBatis で書籍管理システムのWeb アプリケーションを開発する 第7 章 書籍管理システムの機能を拡充する 第8 章 JUnit で単体テストを実装する
Slide 25
Slide 25 text
サーバーサイド開発を実践 この本の核になる部分
Slide 26
Slide 26 text
フレームワークの導入から実践開発 Spring Boot を使用してサーバーサイド開発 MyBatis を使用してデータベースアクセス 2 つのフレームワークを使い、実践的なアーキテクチャのアプリケーション開発
Slide 27
Slide 27 text
実際にサーバーサイドのアプリケーションを開発
Slide 28
Slide 28 text
アプリケーションをより実践的に
Slide 29
Slide 29 text
実プロダクトでも必要な機能を実装 Spring Security での認証・認可の実装 Spring AOP でAOP でのロギングの実装 JUnit で各種単体テストの実装
Slide 30
Slide 30 text
基本機能の実装( マスタデータのCRUD) ↓ 認証・認可とユーザー情報を扱う機能の実装 ↓ ロギングの実装 ↓ 単体テスト
Slide 31
Slide 31 text
単体テストはDomain Object 、Service 、Controller それぞれのテストや、モック化したテストなど 必要なパターンを網羅
Slide 32
Slide 32 text
アーキテクチャも実践的に
Slide 33
Slide 33 text
アプリケーションのアーキテクチャも実プロダクトを想定 オニオンアーキテクチャをベースとしたアーキテクチャ SPA を想定したREST API として開発 フロントエンドのコードもGitHub で提供
Slide 34
Slide 34 text
アプリケーションのイメージ
Slide 35
Slide 35 text
アプリケーションのイメージ フロント部分はGitHub で提供
Slide 36
Slide 36 text
業務で導入する際の一つの例としても使える!
Slide 37
Slide 37 text
第3 部 Kotlin で色々なフレームワーク を 使ってみる
Slide 38
Slide 38 text
第3 部 Kotlin で色々なフレームワークを使ってみる 第9 章 高速な通信フレームワーク gRPC 第10 章 Kotlin 製のWeb フレームワーク Ktor 第11 章 Kotlin 製のO/R マッパー Exposed 第12 章 Kotlin 製のテスティングフレームワーク Kotest ,MockK
Slide 39
Slide 39 text
未来を見据えて新しい技術スタックも紹介
Slide 40
Slide 40 text
今の時代に必須なgRPC マイクロサービスが一般的に取り入れられる今の時代には必須 gRPC に書いてる書籍も多くないのでその情報も価値アリ 昨年12 月にgrpc-kotlin も1.0.0 になった( 執筆中に正式版になった)
Slide 41
Slide 41 text
gRPC を使ってマイクロサービスっぽい形で実装
Slide 42
Slide 42 text
おなじみのJetBrains 製のフレームワーク2 つ
Slide 43
Slide 43 text
JetBrains 製のKtor とExposed Ktor はサーバーサイドKotlin やる上では絶対に知っておきたい選択肢 Exposed もJetBrains 製ORM としては知っておきたい( なかなか1.0.0 にならないけど) 知られてはいるけどこれも載ってる書籍は少ない
Slide 44
Slide 44 text
Ktor はREST API と認証機構の実装まで Exposed ではCRUD を作成して一通りの実装を体験
Slide 45
Slide 45 text
おすすめのテスティングフレームワークKotest
Slide 46
Slide 46 text
Kotlin 製のKotest Kotlin でのテスティングフレームワークとして個人的に一番おすすめ MockK も併せてモックを使ったテストケースも解説 Web 上でもまだまだ情報が少ないので、こちらも情報の価値アリ
Slide 47
Slide 47 text
期待の高い各種Kotlin 製フレームワークを紹介している
Slide 48
Slide 48 text
3. まとめ
Slide 49
Slide 49 text
サーバーサイドKotlin に関して市場の中でもトップレベルに充実した内容 実践での導入に使えることを意識して書いている 最近のKotlin 製フレームワークについても書かれている
Slide 50
Slide 50 text
迷っている方はぜひ手に取ってみてください!!
Slide 51
Slide 51 text
https://gihyo.jp/book/2021/978-4-297-11859-4