iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Software Development

每天一點 Ktor 3.0:一個月學會 Kotlin 後端開發 系列

Kotlin 近年來已經成為後端開發的新寵,不僅語言特性能自然搭配非同步程式設計,更有許多專為雲端應用設計的框架。其中,Ktor 作為 JetBrains 官方打造的框架,在 3.0 版本帶來了更佳的效能與擴充能力,讓 Kotlin 在後端開發領域的地位更為穩固。

本系列文章會介紹 Ktor 3.0 的基礎用法,逐步延伸到、API 設計、測試、部署等主題,並且搭配常見的 Kotlin 生態圈工具,例如 Koin、Exposed、kotlinx.coroutines⋯⋯等,讓你能快速組合出完整的後端解決方案

參賽天數 25 天 | 共 25 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day 01:Ktor 3.0

時間過得很快,在之前的鐵人賽,透過 最好用的非同步網頁框架!開始用 Ktor 寫 Kotlin Server 這一系列文章,介紹了 Ktor 這個簡單好用的後端...

2025-09-02 ‧ 由 ReccaChao 分享
DAY 2

Day 02:使用 gradle 和 docker 建立 Ktor 3.0 專案

要建立 Ktor 3.0 專案之前,我們要先在開發電腦內安裝好開發用的環境和工具。 IntelliJ IDEA 這系列文章內,我們使用的 IDE 是 Inte...

2025-09-03 ‧ 由 ReccaChao 分享
DAY 3

Day 03:StatusPages、staticResources、Serializable

建立完 Ktor 3 的專案並且能在本地運作之後,我們來看看專案內的結構如何 首先我們看 src/main/kotlin/Application.kt fun...

2025-09-04 ‧ 由 ReccaChao 分享
DAY 4

Day 04:Exposed DSL 的資料庫操作以及 CRUD API

看完 src/main/kotlin/Routing.kt 裡面所定義的幾個路由之後,接著我們來看看跟資料庫操作相關的程式 我們先看 src/main/kotl...

2025-09-05 ‧ 由 ReccaChao 分享
DAY 5

Day 05:用 DAO 改寫 UserService 並加上自動化測試

首先我們改寫一下資料表的格式 object Users : IntIdTable() { val name = varchar("name&q...

2025-09-06 ‧ 由 ReccaChao 分享
DAY 6

Day 06:改用 R2DBC 存取資料庫

在串接資料庫的部分,Exposed 的用法已經在之前的 [Day 18] 資料表關聯,DAO 的一對多關係、[Day 19] 談談 n+1 問題和 eager...

2025-09-07 ‧ 由 ReccaChao 分享
DAY 7

Day 07:Ktor 的依賴注入

除了既有的功能之外,Ktor 自己也多加了許多新的功能。 其中一個就是依賴注入的功能 以前 Ktor 是沒有依賴注入功能的,所以我們必須要使用 Koin 這個套...

2025-09-08 ‧ 由 ReccaChao 分享
DAY 8

Day 08:Ktor 3.0 內撰寫 websocket

除了常見的 HTTP 協定之外,面對不同的需求,在後端有時候也會需要處理其他的協定。 今天我們來看怎麼用 Ktor 處理 websocket 的需求 什麼是 w...

2025-09-09 ‧ 由 ReccaChao 分享
DAY 9

Day 09:Ktor 壓縮回應

Ktor 作為一個輕量的框架,對框架效率的要求也是很常見的。 後端服務其中一個提升效能的方式,就是將回應進行壓縮,來減少網路傳輸的成本 Ktor 也提供壓縮的套...

2025-09-10 ‧ 由 ReccaChao 分享
DAY 10

Day 10:KHealth 設置容器存活檢查與就緒檢查

在微服務的場景裡面,有個很重要的觀念是,每個容器都是可拋棄的。有可能突然一個容器就掛了,需要隨時重啟這個服務。 所以,確認每個容器的存活與否(liveness)...

2025-09-11 ‧ 由 ReccaChao 分享