Red-Black Tree Red-Black Tree 是一種自平衡二叉搜索樹,用於數據結構中的排序和檢索操作。它於樹中節點的顏色標記,以確保樹的平衡性。...
今天我們來看看,如果我們要能讓 webSocket 連線和其他的連線互動該怎麼處理 根據官方教學,首先我們要先建立一個自己的 Connection 物件 pac...
Greedy Algorithm Greedy Algorithm 是一種常見的演算法設計方法,通常用於求解最佳化問題。 它的基本思想是在每一步都做出當前看起來...
「其實我不這麼覺得呢。」蕭凱琪回來時剛好聽到勇者的話,不由得接話。 「可是妳不是說考試的時候,考官不會讓你用Intellij IDEA嗎?」 其實勇者之前就一直...
前情提要 昨天我們將MongoDB給建立起來了,今天我們來統整一下測試是甚麼? 很重要嗎? 測試金字塔 在Mike Cohn 的測試金字塔中,它是由三層組成,我...
前面二十天,我們看過了 Ktor 怎麼建立專案,怎麼作為 server 回傳資訊,我們看過了怎麼回傳純文字,以及怎麼透過一系列函數生成 HTML 畫面。另外,也...
今天是最後一天了,我們來看看這幾天以來,我們都學會了什麼。 首先,在 Day 02 時,我們看過了怎麼開啟一個 embeddedServer 服務,並且看到了使...
今天是最後一天,讓我們繼續來介紹一下測試的夥伴 前情提要 我們昨天介紹了Test Double的Stub夥伴,今天要來介紹另一個Mock陣營的 Mock Obj...
按照生物鐘醒來,對生活規律的人是稀鬆平常的事,不過如果人人都可以如此,也就不需要早安鬧鐘的存在了。 蕭凱琪伸伸懶腰,從床上爬了起來。 系統空間裡沒有自然的日出日...
開發 Android 畫面的兩種常用方法: 使用 XML Layout 檔案 Jetpack Compose UI:本篇介紹如下 build.gr...
前情提要 昨天我們介紹了測試金字塔,加上吃了月餅!,今天我們要從最底部的Unit test寫起,透過撰寫Unit test,來確保我們的程式有符合運作條件。 套...
昨天我們看過了 val customer = call.receive<Customer>() 這段函數,在 Ktor 裡面是怎麼將 HTML 請...
「『保留字』是什麼?」勇者的聽力也很好。 「就是有特殊意義、用途的字,像之前提到的『if』、『when』、『else』就是Kotlin程式語言的『保留字』。」蕭...
前情提要 昨天我們又講了關於測試的一些內容,今天我們要再講關於測試的內容,Mutation test Mutaion test是什麼? 它是用來評估測試的品質。...
前情提要 今天我們要將架構給建造出來,為什麼要有架構呢? 因為有架構我們才能比較容易地進行擴展與更動,就像是蛋糕一樣,如果有分層,就可以看得很仔細裡面有什麼口味...
「既然都講了耦合度,乾脆也講講内聚度Cohesion吧。」蕭凱琪興致一來,索性乘勝追擊。 「那又是什麼?」勇者突然覺得自己弱小無助可憐。 蕭凱琪沒有馬上回答,而...
看了 Ktor 預設提供的程式怎麼實作的之後,我們開始看看撰寫其他功能的背後實作。 首先,我們來看看如果要處理靜態檔案, Ktor 要怎麼做。 Ktor 可以使...
今天我們來看看 webSocket("/echo") 裡面所定義的行為 send("Please enter your name&...
「可是明明IntelliJ IDEA訊息裡說0.1是『The floating-point literal』為什麼HP_Real卻不是『Float型別』呢?」勇...
Minimum Spanning Tree Minimum Spanning Tree 是用來解決與連通圖(Connected Graph)相關的問題。 生成樹...
前幾天,我們看過了 client.get("https://ktor.io/") 怎麼存取第三方 API 並取得資料。 今天,我們要來看看...
「可以舉個例子嗎?」勇者問。 「你問到這個我倒是想起來之前很想問你的問題了!」蕭凱琪突然情緒高昂起來,抓住勇者的肩膀。「你世界裡的等級是怎麼查看的?狀態窗?或是...
前幾天我們看過了 WebSockets 的引擎實作,使用方式,以及背後的運作邏輯 今天我們來看看 Frame 的實作細節 簽名以及註解 /** * A fra...
時間過了兩週,我們也看了不少 Ktor 可以提供的各種功能。 今天我們來看看 Ktor 框架所提供的另一大塊功能:針對 HTTP Client 開發上所提供的協...
蕭凱琪決定先從簡單的運動做起,是她錯估了仰臥起坐的難度。她回憶學生時期左三圈右三圈的音樂開始扭動。結果不知道是不是太久沒做這種需要肢體協調的動作,兩隻手光是轉圈...
前言 今天我們要接續昨天的份,來研究如何用kotlin寫出Product type以及Sum type data class data class Custom...
前面我們已經討論過了大多數 Ktor 框架提供的功能。 從 v2.2.0 開始,Ktor 還提供了一個功能,就是允許開發者自己開發客製化的套件。 今天我們來看看...
「妳去了快一天了。」勇者看了下時間。 「抱歉抱歉,我也沒想到會花那麼多時間。」蕭凱琪尷尬的笑笑。「我整理的資料有看懂嗎?因為我平常寫文件的時候會比說話時嚴謹很多...
Dynamic Programming Dynamic Programming 是一種在計算機科學和數學中常用的問題解決方法。 它的主要策略是將一個複雜的問題拆...
昨天我們看過 val response: HttpResponse = client.get("https://ktor.io/") 的一些...