Kotlin サーバーサイドプログラミング実践開発
- 竹端尚人 著
- 定価
- 3,608円(本体3,280円+税10%)
- 発売日
- 2021.4.14
- 判型
- B5変形
- 頁数
- 304ページ
- ISBN
- 978-4-297-11859-4
概要
プログラミング⾔語「Kotlin」は,Android開発ではすでに広く知られていますが,JVM(Java仮想マシン)で動作するサーバーサイド開発での選択肢としても注目されている言語の一つです。
本書はサーバーサイドの開発者を読者対象とし,Kotlinの基本構⽂とともに,Javaとの親和性が⾼いうえに,Javaよりも安全性が⾼く書きやすいと⾔われる理由を解説します(第1部)。そして実践的な内容としてSpring Bootを使い,データベースの検索系/更新系機能や認証/認可機能などを実装したWebアプリケーションを構築します(第2部)。加えて,従来型の案件だけでなく新規プロダクトへの⾜がかりにもなるよう,gRPCやKtorなどといった⽐較的新しい技術との組み合わせ⽅をフォローします(第3部)。「実践開発」という書名のとおり,プロダクトの開発でKotlinを導入する際に役立てられる内容です。
こんな方にオススメ
- 新しいプロダクトのサーバーサイド技術を選定する中で,Kotlinを検討している方(Javaプログラミングの知識は前提としない)
- Javaでサーバサイド開発をしているが,より保守性の高い,安全なコードに変えていきたいと感じている方
目次
第1部 Kotlin入門
第1章 Kotlinをお勧めする理由
- 1. なぜKotlinが誕生したのか?
- 2. Kotlinでなにを作れるのか?〜サーバーサイドでの利⽤意義
- 3. コードの安全性を高めるKotlinの型とNull非許容/許容
- 4. 環境構築と最初のプログラムの実行
- 5. Kotlinの基本構文
第2章 様々なKotlinの機能
- 1. if,when文を式として扱いコードをシンプルにできる
- 2. プロパティの定義でアクセサメソッド(getter,setter)が不要になる
- 3. データクラスでボイラープレートを減らせる
- 4. デフォルト引数と名前付き引数で関数呼び出しをシンプルにできる
- 5. 関数型と⾼階関数,タイプエイリアスでロジックを再利用しやすくできる
- 6. 拡張関数で柔軟にロジックを追加できる
- 7. スコープ関数でオブジェクトへの処理をシンプルにできる
- 8. 演算子オーバーロードでクラスに対する演算子の処理を実装できる
- 9. デリゲートで冗長な処理を委譲できる
- 10. 充実したコレクションライブラリでコレクションに対する処理をシンプルにできる
- 11. コルーチンで非同期処理が実装できる
第3章 JavaとKotlinの相互互換が既存の資産を生かす
- 1. Javaのコードを呼び出す
- 2. Javaのライブラリを呼び出す
- 3. Javaのクラスを継承してKotlinで実装する
- 4. Javaと相互呼び出しする際の特殊な例
- 5. JavaのコードをKotlinのコードへ変換する
第2部 Kotlinでのサーバーサイド開発
第4章 Webアプリケーション開発の基盤となるSpring Bootを導入する
- 1. Spring Bootの導入
- 2. Spring BootでのREST APIの実装
- 3. Spring FrameworkのDIを使用する
第5章 O/Rマッパーを使用してデータベースへ接続する
- 1. MyBatisとは?
- 2. DockerでMySQLの環境構築
- 3. MyBatisの導入
- 4. MyBatisでCRUDを作成する
- 5. Spring BootからMyBatisを使用する
第6章 Spring BootとMyBatisで書籍管理システムのWebアプリケーションを開発する
- 1. 書籍管理システムの仕様
- 2. アプリケーションの構成
- 3. プロジェクトの環境構築
- 4. 検索系機能(一覧取得,詳細取得)のAPI実装
- 5. 更新系機能(登録,更新,削除)のAPI実装
第7章 書籍管理システムの機能を拡充する
- 1. Spring Securityでユーザー認証,認可の機構を実装する
- 2. 貸出,返却機能のAPI実装
- 3. Spring AOPでログの出力
第8章 JUnitで単体テストを実装する
- 1. JUnitの導入
- 2. JUnitでWebアプリケーションの単体テスト
第3部 Kotlinで色々なフレームワークを使ってみる
第9章 高速な通信フレームワーク gRPC
- 1. gRPCとは?
- 2. gRPCの導入
- 3. Spring BootでgRPCのKotlinサーバーサイドプログラムを実装
第10章 Kotlin製のWebフレームワーク Ktor
- 1. Ktorとは?
- 2. Ktorの導入
- 3. REST APIの実装
- 4. 認証機構の実装
第11章 Kotlin製のO/Rマッパー Exposed
- 1. Exposedとは?
- 2. Exposedの導入
- 3. DSLとDAOそれぞれの実装方法
- 4. DAOでCRUDを作成する
第12章 Kotlin製のテスティングフレームワーク Kotest,MockK
- 1. Kotestとは?
- 2. Kotestの導入
- 3. いくつかのコーディングスタイル(Spec)で単体テストを書く
- 4. データ駆動テストを使う
- 5. MockKを使用してモック化する
プロフィール
竹端尚人
SESでいくつかのSIerやWeb系ベンチャー企業での開発を経験した後,2014年に株式会社サイバーエージェントのグループ会社である株式会社アプリボットに入社。そこでサーバーサイドKotlinでのプロダクト開発,運用に携わる。現在はフリーランスエンジニアとして活動。また,勉強会の開催などを中心に活動する,Kotlin好きが集うコミュニティ「Kotlin愛好会」に運営メンバーとして携わる。
モバイルゲーム開発の経験を多く持ち,KotlinやJavaでのサーバーサイド開発を得意とする。過去にサーバーサイドKotlinについての内容で,国内最大級のゲーム開発者向けカンファレンスである「CEDEC」での登壇(2018,2019),雑誌Software Designで短期連載の執筆(2019年2月号〜4月号)などを行っている。
Twitter:@n_takehata
ブログ :https://blog.takehata-engineer.com/