Kotlin サーバーサイドプログラミング実践開発

書籍情報

発売日 : 2021年04月14日

著者/編集 : 竹端尚人

出版社 : 技術評論社

発行形態 : 単行本

書籍説明

内容紹介

Kotlinは、サーバーサイド開発のプログラミング言語の選択肢として、注目されているものの一つです。Javaとの相互互換という特徴があり、モダンかつ資産も豊富にあるという素晴らしい言語です。しかし、その特徴ゆえ「Javaがわかる人じゃないと難しいんじゃないか」と思われてしまうことも多いです。本書はそういった不安を取り除き、サーバーサイドKotlin導入を後押しすることができればと思い執筆しています。タイトルにもあるように「実践開発」をテーマとして、実プロダクトを意識した設計でアプリケーションの開発をしています。そのため実際に業務での開発でKotlinを導入する際にも、参考にしていただける内容になっています。

目次

【第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/