和框架的使用方式比較過後,今天我們來談談教學跟文件的完整度。 建立專案 要建立一個全新的 Ktor 專案,我們前面已經操作過幾次,就是使用 https://st...
quarkus 作為一個和雲端服務整合度很高的後端框架 裡面也有很多的套件可以協助後端和雲端服務進行整合 我們先安裝 quarkus 裡面和 kubernete...
我們花了不少時間講 Spring Boot 這個框架,今天我們來聊聊另一個框架:Quarkus Quarkus Quarkus 一樣是後端開發的框架,是由 Re...
比較過 Spring boot 的路由寫法,以及 ORM 寫法之後 今天我們來比較一下 Spring boot 在非同步需求下的寫法,和 Ktor 有什麼不同...
今天我們來討論 Kotlin 最常一起討論比較的語言:Java。 Java 作為後端開發 Java 作為一個歷史悠久的語言,能夠應用的範圍也非常的廣,後端開發自...
前面講過了和 golang 的比較,今天來講講和 Python 進行後端開發的比較 Python Python 作為一個知名度非常高的程式語言,也有許多人嘗試用...
昨天聊完了和 PHP Laravel 框架的比較 今天來聊聊我主觀對 Ktor 和 Golang 進行後端開發的比較 Kotlin vs Golang 首先比較...
講完了 Ktor 程式的撰寫、套件的使用、也講過了部署。 今天來講講為什麼我會選擇使用 Ktor,以及我主觀比較 Ktor 和其他後端開發框架的優缺點。 Lar...
介紹完了各種套件安裝,今天來講講實際的部署 我們試著將之前寫好的專案部署到 Google Cloud Platform 上面看看 雲端容器化的專案部署,基本概念...
除了 Ktor 官方的開發用套件以外,有一些 今天我們來介紹怎麼在 Ktor 專案內使用 detekt 這個套件 有關 detekt 這個套件是什麼,可以參考...
在微服務的場景裡面,有個很重要的觀念是,每個容器都是可拋棄的。有可能突然一個容器就掛了,需要隨時重啟這個服務。 所以,確認每個容器的存活與否(liveness)...
Ktor 作為一個輕量的框架,對框架效率的要求也是很常見的。 後端服務其中一個提升效能的方式,就是將回應進行壓縮,來減少網路傳輸的成本 Ktor 也提供壓縮的套...
除了常見的 HTTP 協定之外,面對不同的需求,在後端有時候也會需要處理其他的協定。 今天我們來看怎麼用 Ktor 處理 websocket 的需求 什麼是 w...
除了既有的功能之外,Ktor 自己也多加了許多新的功能。 其中一個就是依賴注入的功能 以前 Ktor 是沒有依賴注入功能的,所以我們必須要使用 Koin 這個套...
在串接資料庫的部分,Exposed 的用法已經在之前的 [Day 18] 資料表關聯,DAO 的一對多關係、[Day 19] 談談 n+1 問題和 eager...
首先我們改寫一下資料表的格式 object Users : IntIdTable() { val name = varchar("name&q...
看完 src/main/kotlin/Routing.kt 裡面所定義的幾個路由之後,接著我們來看看跟資料庫操作相關的程式 我們先看 src/main/kotl...
建立完 Ktor 3 的專案並且能在本地運作之後,我們來看看專案內的結構如何 首先我們看 src/main/kotlin/Application.kt fun...
要建立 Ktor 3.0 專案之前,我們要先在開發電腦內安裝好開發用的環境和工具。 IntelliJ IDEA 這系列文章內,我們使用的 IDE 是 Inte...
本屆 #JCConf 邀請到 Recca Chao 分享「Ktor 3.0 入門:簡述 Ktor 的架構及 3.0 版本的主要特點」 講題簡介:本演講將介紹...
今天是最後一天了,我們來看看這幾天以來,我們都學會了什麼。 首先,在 Day 02 時,我們看過了怎麼開啟一個 embeddedServer 服務,並且看到了使...
自定義套件除了前面所說的,可以設置行為以及事件之外 Ktor 還提供了設置套件參數的方式 根據官網,我們可以看到教學是先定義了參數類別 class Plugin...
昨天我們試著寫了一個 SimplePlugin import io.ktor.server.application.* val SimplePlugin =...
前面我們已經討論過了大多數 Ktor 框架提供的功能。 從 v2.2.0 開始,Ktor 還提供了一個功能,就是允許開發者自己開發客製化的套件。 今天我們來看看...
看完了如何建立一個接收 webSocket 請求的 server 之後 今天,我們來看看如果將 Ktor 當作 Client 端 要透過 webSocket 持...
今天我們來看看,如果我們要能讓 webSocket 連線和其他的連線互動該怎麼處理 根據官方教學,首先我們要先建立一個自己的 Connection 物件 pac...
前幾天我們看過了 WebSockets 的引擎實作,使用方式,以及背後的運作邏輯 今天我們來看看 Frame 的實作細節 簽名以及註解 /** * A fra...
今天我們來看看 webSocket("/echo") 裡面所定義的行為 send("Please enter your name&...
今天我們來看 call.respondWebSocketRaw 的實作細節 call.respondWebSocketRaw 的實作程式如下 // these...
前面二十天,我們看過了 Ktor 怎麼建立專案,怎麼作為 server 回傳資訊,我們看過了怎麼回傳純文字,以及怎麼透過一系列函數生成 HTML 畫面。另外,也...