$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
書籍『Kotlin サーバーサイドプログラミング実践開発』のこだわりとおすすめポイント
Search
Takehata Naoto
May 19, 2021
Programming
0
590
書籍『Kotlin サーバーサイドプログラミング実践開発』のこだわりとおすすめポイント
2021年5月19日(水) 「集まれKotlin好き!Kotlin愛好会 vol.29 @オンライン」の談義資料です。
Takehata Naoto
May 19, 2021
Tweet
Share
More Decks by Takehata Naoto
See All by Takehata Naoto
KotlinConf 2025で発表された言語のアップデートと現地参加レポート
n_takehata
2
250
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
2
390
KotlinConf 2025 現地参加の土産話
n_takehata
0
180
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
5.3k
「2024年版 Kotlin サーバーサイドプログラミング実践開発」の補講 〜O/Rマッパー編〜
n_takehata
2
760
2024年版 Kotlin サーバーサイドプログラミング実践開発
n_takehata
9
8k
Server-Side目線で見る、Kotlin Festの楽しみ方
n_takehata
0
550
KotlinとCloud Vision APIで領収書の電子帳簿保存法対応をする
n_takehata
1
1.8k
KotlinConf 2023 現地参加レポート
n_takehata
1
380
Other Decks in Programming
See All in Programming
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
130
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
140
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
170
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
160
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
980
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
510
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
230
エディターってAIで操作できるんだぜ
kis9a
0
740
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
150
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
280
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
540
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
430
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
180
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
29
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
310
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
23
Believing is Seeing
oripsolob
0
11
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
22
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Visualization
eitanlees
150
16k
Side Projects
sachag
455
43k
Transcript
書籍『Kotlin サーバーサイドプログラミング実践開発』の こだわりとおすすめポイント 2021 年5 月19 日 竹端 尚人
自己紹介
概要 竹端 尚人 フリーランスエンジニア Twitter: @n_takehata 職種: バックエンドエンジニア 好きな言語:Kotlin Server-Side
Kotlin 、Java 、etc… ( 少し前まで) スマートフォンゲーム開発 昨年12 月からフリーランスに
登壇、執筆など 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
この書籍で書いたこだわりとおすすめポイントを紹介します
ブログでも紹介しています 書籍『Kotlin サーバーサイドプログラミング実践開発』のこだわりとオススメポイント https://blog.takehata-engineer.com/entry/kotlin-server-side-programming-practical-development- commitment-and-recommendations
Gihyo Digital Publishing で月間販売数 4 位!!
書店ではAndroid 関連のエリアに置いてあることが( 多分) 多いです
アジェンダ 1. こだわり 2. おすすめポイント 3. まとめ
1. こだわり
サーバーサイドの話に特化したKotlin の書籍 実践で導入する際の参考にできる Java を知らなくても読める
サーバーサイドの話に特化したKotlin の書籍 Android のKotlin の本は多いが、サーバーサイドの本はほとんどない サーバーサイドKotlin に関して、市場の中でもかなりガッツリ書いている Kotlin の本としても最近のバージョンのものとして価値がある
実践で導入する際の参考にできる 実際のプロダクトで導入する際の参考になるように意識 DB の使用、認証・認可、単体テストやロギングなども網羅 実践的なアーキテクチャでのサーバーアプリケーションの開発
Java を知らなくても読める Java との比較などは全くしていない Java との相互互換を解説している箇所(10P 程度) 以外は、一切Java のコードはない Spring
Boot なども「Kotlin で使うフレームワーク」として解説
表紙はやかん(Kotlin の由来にちなんで)
2. おすすめポイント
第1 部 Kotlin 入門
第1 部 Kotlin 入門 第1 章 Kotlin をお勧めする理由 第2 章
様々なKotlin の機能 第3 章 Java とKotlin の相互互換が既存の資産を生かす
プログラミング基礎は薄めに、Kotlin については厚めに
プログラミング基礎は薄めに 変数 制御構文 クラス、インターフェース コレクション ( 対象読者はサーバーサイド開発経験者のため)
Kotlin については厚めに データクラス 拡張関数 スコープ関数 コルーチン etc…
Kotlin の基礎を改めて体系的に学びたい人にもおすすめ
第2 部 Kotlin でのサーバーサイド開発
第2 部 Kotlin でのサーバーサイド開発 第4 章 Web アプリケーション開発の基盤となるSpring Boot を導入する
第5 章 O/R マッパーを使用してデータベースへ接続する 第6 章 Spring Boot とMyBatis で書籍管理システムのWeb アプリケーションを開発する 第7 章 書籍管理システムの機能を拡充する 第8 章 JUnit で単体テストを実装する
サーバーサイド開発を実践 この本の核になる部分
フレームワークの導入から実践開発 Spring Boot を使用してサーバーサイド開発 MyBatis を使用してデータベースアクセス 2 つのフレームワークを使い、実践的なアーキテクチャのアプリケーション開発
実際にサーバーサイドのアプリケーションを開発
アプリケーションをより実践的に
実プロダクトでも必要な機能を実装 Spring Security での認証・認可の実装 Spring AOP でAOP でのロギングの実装 JUnit で各種単体テストの実装
基本機能の実装( マスタデータのCRUD) ↓ 認証・認可とユーザー情報を扱う機能の実装 ↓ ロギングの実装 ↓ 単体テスト
単体テストはDomain Object 、Service 、Controller それぞれのテストや、モック化したテストなど 必要なパターンを網羅
アーキテクチャも実践的に
アプリケーションのアーキテクチャも実プロダクトを想定 オニオンアーキテクチャをベースとしたアーキテクチャ SPA を想定したREST API として開発 フロントエンドのコードもGitHub で提供
アプリケーションのイメージ
アプリケーションのイメージ フロント部分はGitHub で提供
業務で導入する際の一つの例としても使える!
第3 部 Kotlin で色々なフレームワーク を 使ってみる
第3 部 Kotlin で色々なフレームワークを使ってみる 第9 章 高速な通信フレームワーク gRPC 第10 章
Kotlin 製のWeb フレームワーク Ktor 第11 章 Kotlin 製のO/R マッパー Exposed 第12 章 Kotlin 製のテスティングフレームワーク Kotest ,MockK
未来を見据えて新しい技術スタックも紹介
今の時代に必須なgRPC マイクロサービスが一般的に取り入れられる今の時代には必須 gRPC に書いてる書籍も多くないのでその情報も価値アリ 昨年12 月にgrpc-kotlin も1.0.0 になった( 執筆中に正式版になった)
gRPC を使ってマイクロサービスっぽい形で実装
おなじみのJetBrains 製のフレームワーク2 つ
JetBrains 製のKtor とExposed Ktor はサーバーサイドKotlin やる上では絶対に知っておきたい選択肢 Exposed もJetBrains 製ORM としては知っておきたい(
なかなか1.0.0 にならないけど) 知られてはいるけどこれも載ってる書籍は少ない
Ktor はREST API と認証機構の実装まで Exposed ではCRUD を作成して一通りの実装を体験
おすすめのテスティングフレームワークKotest
Kotlin 製のKotest Kotlin でのテスティングフレームワークとして個人的に一番おすすめ MockK も併せてモックを使ったテストケースも解説 Web 上でもまだまだ情報が少ないので、こちらも情報の価値アリ
期待の高い各種Kotlin 製フレームワークを紹介している
3. まとめ
サーバーサイドKotlin に関して市場の中でもトップレベルに充実した内容 実践での導入に使えることを意識して書いている 最近のKotlin 製フレームワークについても書かれている
迷っている方はぜひ手に取ってみてください!!
https://gihyo.jp/book/2021/978-4-297-11859-4