昨天我們完成應用的 容器化 (Dockerfile),今天要正式讓它在 Kubernetes 上跑起來。我們會完成以下幾件事: 把應用包裝成一個 Deploy...
到這裡,我們的 Go + Elasticsearch 搜尋服務已經能在本機上穩定運作。 但要讓它成為「雲原生服務」,第一步就是——容器化(Containeriz...
到目前為止,我們的搜尋引擎已經可以把資料載入(Day 20)、解析、索引(Day 21),甚至在 Day 22 嘗試了一些基本的文字查詢。 很多時候,我們並不是...
在前幾天,我們讓 Elasticsearch 跑得更快,但沒有任何效能能比「資料救得回來」更重要。 只要資料沒了,一切都白搭。 今天要講的 Snapshot /...
Elasticsearch 雖然強大,但開箱設定偏「通用」。預設值是為了「能安全啟動」,而不是「效能最佳」。今天我們要用實際例子,看看怎麼調整幾個關鍵參數,讓...
昨天我們處理搜尋的分頁方案,避免 from+size 帶來的效能問題。接下來要做的,就是把一個「真正規模」的資料集放進 Elasticsearch,讓我們能實際...
在實際搜尋系統中,分頁是必須的。Elasticsearch 預設提供 from + size,但這種方式在深度分頁時會變得非常慢。我們今天的目標是:理解 fro...
昨天我們在本地啟動了 Elasticsearch,建立固定 mapping 並插入測試資料。今天的目標是:理解並操作 match 查詢,學會用 bool 組合條...
在 Golang Phase,我們已經寫好 SearchService 介面,並用 Fake + Smoke Test 打通基本 API 流程。接下來,我們要讓...
我們已經一步一步從 go mod init 到 連上 Elasticsearch,完成了 Golang Phase 的基礎。今天的目標是: 回顧學到的重點,用架...
在過去兩週,我們從 go mod init 開始,搭起專案骨架、加上測試框架、中介層、API、pprof、metrics,甚至打通本機 Elasticsearc...
昨天我們用 fake ES 成功寫出第一個 E2E 測試。今天的目標更進一步: 啟動一個本地 Elasticsearch(Docker)並撰寫真正的 ESSea...
到目前為止,我們的 /search handler 還是直接回傳假資料。這樣不利於測試與後續演進。 今天我們要把邏輯抽離成 service 層,定義一個 Sea...
效能優化要有數字依據。Day 10 我們用 pprof 找到 LoggingMiddleware 的熱點並改善,但那是「短時間剖析」。 實務上,我們希望能長期追...
到目前為止,我們寫了 table-driven 測試、加了 context/timeout、做了微基準。今天要進一步學會: 啟動 pprof:在程式中暴露...
Go 的一大賣點就是 goroutine,開發者可以開成千上萬個 goroutine 來並行處理。但如果不設限,所有請求同時打爆下游,就會出現: 下游服務(例...
到目前為止,我們已經有了 /search、中介層、context/timeout 與錯誤策略。今天目標是: 寫幾個微基準來量測「一小段可重複的關鍵程式」,建立...
喵一眼今日重點: 用 %w 包裝錯誤(可疊代追蹤來源) 分類重試(什麼錯誤該重試、什麼不該) 退避 + 抖動(exponential backoff wi...
昨天我們讓 /search API 成形,雖然只是回假資料,但已經建立了 API 雛型。 今天要讓服務更可靠:加入 context/timeout。 這一步很重...
昨天我們加上了中介層:logging、recovery、config。今天要邁出關鍵的一步:建立第一個業務相關 API —— /search。 雖然我們還沒有連...
門禁系統的運作需藉由軟體控制多種硬體設備。那麼,常見的門禁硬體有哪些?各類設備又分別適用於哪些情境與功能? 刷卡機(Card Reader) 首先介紹門禁系統中...
資料傳遞的方法 props / emit / v-model 明顯看到主要是以一層傳遞一層的方法執行,但是如果要多層怎麼辦呢? 這時候就要靠 provide /...
經過上一篇針對基本密碼學構造中的主動安全加密部分的講解,相信大家都對主動安全加密部有初步的認識,接下來在這一篇就會對主動安全加密作深入的講解,希望大家可以更進一...
今天,我們不只來談 Code Review,我們來聊聊如何將它從一個「找出 Bug」的例行公事,轉變成一個真正能提升團隊水平、加速個人成長的關鍵環節。 我們相信...
就如同我們上篇說到,一家餐廳的成功運營,仰賴於廚師、服務生、經理等不同職位的各司其職。同樣地,在軟體開發的龐大工程中,若要開設一家名為「專案」的餐廳,也需要一位...
(以 FastAPI + LINE Messaging API v3 + yfinance + Cloudinary + gTTS/OpenAI TTS + G...
Day 23|把服務撐起來:健康檢查、監控、穩定度三寶(FastAPI × LINE SDK v3) 目標:上線後不再靠運氣。今天把專案補上1. 健康檢查(li...
My Story :我的冠軍之路 回想起大學第一次參加 Excel 比賽,我至今仍記得那份緊張感。雖然考前有題庫可以練習,不過當題目出來後,要從腦袋記憶中...
[鐵人賽] Day 3:臺O資訊安全中心違規事件處理流程 寫在前面(情境重現) 第一份工作、第一個禮拜,結果我就「中獎」了。事情是這樣的:我為了熟悉中心網路環境...
承上文 「好問題」的三個條件: 方向清楚 範圍限定 目的導向 但光是問出一個「好問題」還不夠因為 AI 並不是人類需要把問題翻譯成AI能理解的語言這就是...