iT邦幫忙

ktor exposed相關文章
共有 31 則文章
鐵人賽 Modern Web DAY 7

技術 [Day 07] 透過 DAO 和資料庫進行互動

除了使用 DSL 的方式和資料庫進行互動之外,我們還可以透過更加物件導向的方式,來和資料庫進行溝通。 以下我們介紹使用 DAO 的方式,來和資料庫進行溝通。 什...

鐵人賽 Modern Web DAY 27

技術 [Day 27] 沒有 connection pool 支援怎麼辦?談 HikariCP

在資料庫連線中,如果連線數越來越多,在進行管理時常常會使用 connection pool 進行管理。 不過,在目前的 Kotlin Exposed 框架中,...

鐵人賽 Modern Web DAY 4

技術 [Day 04] 用 Exposed 和資料庫進行串接

安裝 Exposed 框架完成之後,再來我們要和資料庫進行串接。 首先我們將原本的 main(){} 改成 fun main() { Database....

鐵人賽 Modern Web DAY 1

技術 [Day 01] 什麼是 Kotlin Exposed?為什麼要介紹它?

大家好!這三十天,我們這系列文章會介紹 Kotlin Exposed 這個框架,並且和大家談怎麼利用這個框架與資料庫進行串接。 什麼?Kotlin 也可以串接資...

鐵人賽 Modern Web DAY 3

技術 [Day 03] 用 Gradle 安裝 Exposed 框架

Kotlin 專案建立完成之後,再來就是安裝 Exposed 框架了。畢竟這是這系列文章的重頭戲嘛! 如果我們嘗試在尚未安裝時,在 main.kt 開頭輸入這兩...

鐵人賽 Modern Web DAY 28

技術 [Day 28] 建立 migration 時使用的套件,來談談 Flyway

昨天我們提到了建立 connection pool 時所使用的套件 HikariCP 今天,我們來談談建立資料庫遷移時使用的套件 Flyway 什麼是資料庫遷移...

鐵人賽 Modern Web DAY 2

技術 [Day 02] 建立 Kotlin 專案

首先,要學怎麼使用 Kotlin Exposed 框架,我們先來建立一個 Kotlin 專案,並透過這個專案來搭配 Exposed 框架,進而操作資料庫。 In...

鐵人賽 Modern Web DAY 19

技術 [Day 19] 突如其來的需求變更!來聊函數式編程

我們好不容易寫了 userAddTag() 和 updateUsersTags() 的邏輯,突然又出現了新需求! 這次需求單位希望 updateUsersTag...

鐵人賽 Modern Web DAY 6

技術 [Day 06] DSL 其他和資料庫互動的方式

如果只會單一資料表的 CRUD 操作,那麼有很多需求是沒有辦法滿足的。 今天我們來聊聊,怎麼用 DSL 的方式進行其他的操作。 Batch Insert 如果我...

鐵人賽 Modern Web DAY 5

技術 [Day 05] Exposed 和資料庫進行互動的方式之一:DSL

昨天我們成功和資料庫進行了串接,但是我們只建立了一張資料表,還沒有實際的處理資料內容。 今天我們嘗試對資料庫進行基本的 CRUD 操作,也就是常說的建立、讀取、...

鐵人賽 Modern Web DAY 14

技術 [Day 14] 更換連線的資料庫,聊 Database.connect 的操作

之前我們連線的,一直都是測試用的資料庫。 今天我們來練線 MySQL 資料庫來進行操作。 連線MySQL 目前有不少網站的資料庫實作,是透過 MySQL 資料庫...

鐵人賽 Modern Web DAY 26

技術 [Day 26] review 一下我們的程式,談談 DSL 和 DAO 的差異

前面講了很多 Kotlin Exposed 框架使用的方式。 今天來講點觀念性的東西,談談 Exposed 框架內 DAO 和 DSL 的差異。 DAO 和 D...

鐵人賽 Modern Web DAY 30

技術 [Day 30] 最後一天了,來複習看看我們學了些什麼

今天是鐵人賽的最後一天了,我們花點時間來看看這三十天我們都介紹了些什麼。 首先,我們介紹了一下 Kotlin Exposed 是怎樣的一個框架(Day 1) 然...

鐵人賽 Modern Web DAY 24

技術 [Day 24] 新功能又來了!時間相關的測試!

這次,需求單位又提出了一個新的想法:我們可不可以設計一個 API,允許用戶在 2021/12/31 23:59:59 之前才能參加該活動。之後的用戶都不允許參...

鐵人賽 Modern Web DAY 29

技術 [Day 29] 建立對外溝通的 API Server,談談 Ktor 框架

能夠存取資料庫了,有時我們可能會需要將資料庫的內容,以 API 的形式,傳輸給其他的開發者。 這時候,我們可以用到 Ktor 這個框架,來協助我們進行API S...

鐵人賽 Modern Web DAY 11

技術 [Day 11] 多對多關聯的變形:Parent-Child reference

之前我們看過了透過 DAO 方式,來處理資料之間呈現一對多關聯,或者多對多關聯的做法。 今天我們來看看,如果資料是呈現 Parent-Child referen...

鐵人賽 影片教學 DAY 16

技術 Day16. 我的第一個 Line Bot (7):Ktor的database功能

溫馨小提醒:影片畫質設成1080會比較清楚喔!! Kotlin語法速成專區:我的Kotlin整理筆記Kotlin線上讀書會共筆讀書會成員Andy Lu學習...

鐵人賽 Modern Web DAY 12

技術 [Day 12] N+1 問題的解決方式:eager loading

前面我們介紹了透過 DAO 取出資料的許多方式,包含了一對多關聯,多對多關聯,甚至包含到 Parent-Child reference 的做法。 今天我們來介紹...

鐵人賽 Modern Web DAY 22

技術 [Day 22] 談 test double 的五種類型

昨天我們講了針對 removeTag() 的單元測試 不過,如果我們考慮到針對 updateUsersTags() 的單元測試,我們會發現到一個問題。就是,這個...

鐵人賽 Modern Web DAY 16

技術 [Day 16] 第一個和資料庫互動的測試

知道什麼是自動測試之後,我們來看看怎麼進行和資料庫互動的自動測試。 測試目標 假設我們現有的資料關聯有 user 和 tag 的多對多關聯 object Use...

鐵人賽 Modern Web DAY 8

技術 [Day 08] Kotlin DAO 其他和資料庫互動的方式

昨天我們看過了使用 Kotlin DAO 進行資料庫 CRUD 的方式。 今天我們來看看,除了基本的 CRUD,我們透過 DAO 還有什麼操作資料庫的方式。 排...

鐵人賽 Modern Web DAY 15

技術 [Day 15] println() 測試不好嗎?來談談什麼是自動測試?

用 Exposed 框架進行資料庫操作的基礎,在前面幾天已經基本說明完畢了。如果將前面幾天的內容看熟的話,要滿足資料庫互動的需求已經沒有大問題。 後面我們來談談...

鐵人賽 Modern Web DAY 20

技術 [Day 20] 調整一下我們的函數架構,談擴充函數和流暢介面

上次我們提到,我們只需要實作 filterAdminTag() filterAuthorTag() filterRegistered() fil...

鐵人賽 Modern Web DAY 17

技術 [Day 17] 新功能的測試,檢驗不應該存在的資料

自動測試時除了檢查加入新資料,有時我們也會希望檢查舊資料是否成功地被移除。 今天我們用一個新的功能,來展示如何針對不應該存在的資料進行檢查。 新功能測試 我們多...

鐵人賽 Modern Web DAY 13

技術 [Day 13] 非同步的操作資料庫?談 suspendedTransactionAsync

前面我們聊到了如何存取資料庫,以及遇到 N+1 問題時該如何發現以及解決問題。 今天我們來談談 Exposed 框架如何非同步的存取資料。 協程 在 Kotli...

鐵人賽 Modern Web DAY 9

技術 [Day 09] 資料和資料之間的一對多關聯

透過 DAO 方式存取資料,除了用傳統的 join 方式處理資料表之間的關聯外,也可以直接從物件之間的關聯來思考。 下面我們來介紹 DAO 物件之間的關聯如何設...

鐵人賽 Modern Web DAY 21

技術 [Day 21] 測試的型態調整,談單元測試與整合測試

我們測試過了幾個案例,像是 測試更新標籤時如過濾Admin,結果應不出現Admin 和 測試更新標籤時如過濾Admin和Author,結果應不出現Admin和A...

鐵人賽 Modern Web DAY 25

技術 [Day 25] 如果我們不想 mock Clock 怎麼辦呢?談依賴反轉

上次我們成功的撰寫好了 isValidDate(),並且利用 mockk 框架,來製作了一個假 Clock 固定測試時的時間。 不過,這段測試有沒有更簡單的實作...

鐵人賽 Modern Web DAY 10

技術 [Day 10 ]資料和資料之間的多對多關聯

除了一對多的關聯方式以外,資料和資料間也有可能是多對多的關聯方式。 比方說常見的用戶標籤(tag) 系統,就是一種多對多的關聯:每個標籤可能對應多個用戶,而每個...

鐵人賽 Modern Web DAY 18

技術 [Day 18] 重構我們的測試程式碼

隨著我們專案功能的增加,雖然目前只有兩個函數,但是我們的測試函數已經增加了不少。 為了減少我們未來閱讀測試程式的痛苦,也為了提升未來整個專案的可維護度,我們可以...