iT邦幫忙

golang相關文章
共有 1012 則文章
鐵人賽 Cloud Native DAY 14

技術 Go 語言搶票煉金術 Day 14 - Redis 的終極武器:Lua Script 的實踐

Day 14 - Redis 的終極武器:Lua Script 的實踐 昨天,我們用 client.Eval() 成功地執行了第一個 Lua 腳本,解決了多個...

鐵人賽 Cloud Native DAY 13

技術 Go 語言搶票煉金術 Day 13 - 原子性的延伸:單一命令不夠用時,如何用 Lua 在 Redis 當中實現

Go 語言搶票煉金術:Day 13 - 原子性的延伸:單一命令不夠用時,如何用 Lua 在 Redis 當中實現 在前幾篇中,我們用 Redis DECRBY...

鐵人賽 Cloud Native DAY 12

技術 Go 語言搶票煉金術 Day 12 - 建立連接:在 Go 中與 Redis 對話

Go 語言搶票煉金術 Day 12 - 建立連接:在 Go 中與 Redis 對話 今天,我們要建立與 Redis 的連接。 但別急著寫程式碼。先問一個 問題...

鐵人賽 Cloud Native DAY 11

技術 Go 語言搶票煉金術 Day 11 - Redis 的工具:搞懂 String 和 Hash

Go 語言搶票煉金術 Day 11 - Redis 的工具:搞懂 String 和 Hash 今天,我們要來搞懂 Redis 的兩個資料結構:String 和...

鐵人賽 生成式 AI DAY 9

技術 D-0x10【Vibe Coding 實戰】需求設計 By Golang v2

在上一篇中,我們雖然多少看懂了行為是怎麼運作,但如果不靠GenAI,我們還是無法理解程式碼是怎麼運作的,所以 臨時急件 救火中... 臨時急件 救火中...臨時...

鐵人賽 Cloud Native DAY 10

技術 Go 語言搶票煉金術 Day 10 - 引入 Redis 新盟友

Go 語言搶票煉金術 Day 10 - 引入 Redis 新盟友 在前篇,我們發現了資料庫的物理極限:磁碟 I/O 的 15-50 微秒延遲,在高併發熱點寫入...

鐵人賽 生成式 AI DAY 9

技術 D-0x09【Vibe Coding 實戰】需求設計 By Golang

還記得我們的目標是什麼嗎! 設計一組能夠記錄「待辦功能」的 API。 1. 路徑規劃 2. 需求解析 3. 回應結構 這三項是三大重點。 而專案的主要需求是...

鐵人賽 Cloud Native DAY 9

技術 Go 語言搶票煉金術 Day 9 - 識別真正敵人:為什麼磁碟 I/O 是不可逾越之牆

Go 語言搶票煉金術 Day 9 - 識別真正敵人:為什麼磁碟 I/O 是不可逾越之牆 在上一篇,我們的壓力測試在 1500 RPS 時撞牆了。根本原因是資料...

鐵人賽 生成式 AI DAY 8

技術 D-0x08【Vibe Coding 實戰】程式碼啟動!

在上一篇我們已經生了四份對應的程式碼,但接下來我們要怎麼讓這四份程式碼動起來? 我自己是習慣使用『Docker』環境來運行程式碼,不管在哪個OS,都是可控、穩定...

鐵人賽 Cloud Native DAY 8

技術 Go 語言搶票煉金術 Day 8 - 度量標準:來寫你的第一個壓力測試

Go 語言搶票煉金術 Day 8 - 度量標準:來寫你的第一個壓力測試 工程是科學,在我們對架構做出任何重大改動之前,必須先有客觀的數據作為決策依據。 在上一...

鐵人賽 生成式 AI DAY 7

技術 D-0x07 【Vibe Coding 實戰】第一份簡易程式碼

接下來我們的實作都會在VScode + Github Copilot ,所以一定要準備的 VScode + Github Copilot 不能少。 在覺得最舒服...

鐵人賽 Cloud Native DAY 7

技術 Go 語言搶票煉金術 Day 7 - 資料庫方案:如何用原子 UPDATE 解決競爭條件

Go 語言搶票煉金術 Day 7 - 資料庫方案:如何用原子 UPDATE 解決競爭條件 昨天我們證明了用 Go 的記憶體鎖 sync.Mutex 鎖不住跨越...

鐵人賽 Cloud Native DAY 6

技術 Go 語言搶票煉金術 Day 6 - 常見陷阱:為什麼不能用 Go 的鎖來解決資料庫的併發問題

Go 語言搶票煉金術 Day 6 - 常見陷阱:為什麼不能用 Go 的鎖來解決資料庫的併發問題 在前面幾篇我們證明了基本的「讀取 → 修改 → 寫入」模式會導...

鐵人賽 Cloud Native DAY 5

技術 Go 語言搶票煉金術 Day 5 - Go 的併發工具箱 (三):Channel 的消息傳遞

Go 語言搶票煉金術 Day 5 - Go 的併發工具箱 (三):Channel 的消息傳遞 在前幾篇文章中,我們探討了 goroutine 如何讓我們輕鬆地...

鐵人賽 Cloud Native DAY 4

技術 Go 語言搶票煉金術 Day 4 - Go 的併發工具箱 (二):Mutex 與 RWMutex

Go 語言搶票煉金術:Go 的併發工具箱 (二):Mutex 與 RWMutex 上一篇,我們學會了如何使用 goroutine 來實現併發,並用 WaitG...

鐵人賽 Software Development DAY 14

技術 Day 14 - 打通真路徑:連上本機 ES 的 smoke test

昨天我們用 fake ES 成功寫出第一個 E2E 測試。今天的目標更進一步: 啟動一個本地 Elasticsearch(Docker)並撰寫真正的 ESSea...

鐵人賽 Software Development DAY 10

技術 Day 10 - pprof:找到 1 個熱點並改善

到目前為止,我們寫了 table-driven 測試、加了 context/timeout、做了微基準。今天要進一步學會: 啟動 pprof:在程式中暴露...

鐵人賽 Software Development DAY 8

技術 Day 8 - 微基準:用 go test -bench 建立效能基線

到目前為止,我們已經有了 /search、中介層、context/timeout 與錯誤策略。今天目標是: 寫幾個微基準來量測「一小段可重複的關鍵程式」,建立...

鐵人賽 Cloud Native DAY 3

技術 Go 語言搶票煉金術 Day 3 - Go 的併發工具 (一):goroutine 與 WaitGroup

Go 語言搶票煉金術:Day 3 - Go 的併發工具 (一):goroutine 與 WaitGroup 上次我們證明了在沒有任何併發控制下,一個簡單的「讀...

鐵人賽 Cloud Native DAY 2

技術 Go 語言搶票煉金術 Day 2 - 併發陷阱:為什麼你的搶票系統總在超賣?

Go 語言搶票煉金術 Day 2 - 併發陷阱:為什麼你的搶票系統總在超賣? 在高併發場景下,當多個請求試圖同時修改同一個資源時——例如搶票系統中的庫存數量—...

鐵人賽 Software Development DAY 2

技術 Day 2 - 專案骨架:Go 專案起跑

昨天的前言裡,我們談了這個系列的動機和最終目標:用 Golang、Elasticsearch 和 Kubernetes 打造一個雲原生搜尋服務。今天正式進入第一...

鐵人賽 Software Development DAY 14

技術 Day 14:Ktor 和 Golang 進行後端開發的比較

昨天聊完了和 PHP Laravel 框架的比較 今天來聊聊我主觀對 Ktor 和 Golang 進行後端開發的比較 Kotlin vs Golang 首先比較...

鐵人賽 Software Development DAY 30

技術 Sudoku 遊戲: 遊戲的互動體驗

主題 昨天我們完成了 關卡難度選擇與執行時間顯示,遊戲已經能完整跑起來。不過一個好玩的數獨遊戲,除了基本的規則檢查與勝利判斷之外,互動體驗才是能讓玩家持續遊玩的...

鐵人賽 Software Development DAY 29

技術 Sudoku 遊戲:關卡難度選擇與顯示執行時間

主題 在前幾天,我們已經完成了數獨盤面的初始化、玩家輸入檢查、勝利判定與結束畫面。今天的重點是進一步提升遊戲性: 加入「關卡難度選擇」功能,讓玩家能挑戰不同難...

鐵人賽 Software Development DAY 28

技術 Sudoku 遊戲:遊戲勝利檢查與結束畫面設計

前言 昨天我們完成了 輸入違規提示與剩餘格數、錯誤格數的顯示,今天要進一步設計遊戲的 勝利檢查與結束畫面。這是數獨遊戲的最後一步之一,能讓玩家有完整的挑戰與回饋...

鐵人賽 Software Development DAY 27

技術 Sudoku遊戲:輸入違規時給予錯誤提示或標記

主題 本篇文章的目標,在玩家輸入違規時,於畫面上即時給予提示或標記,並額外在遊戲畫面上顯示: 剩餘尚未填寫的格數 當前檢測出的錯誤格數 輸入違規的提示設計...

鐵人賽 Modern Web DAY 20
後端攻略筆記 系列 第 20

技術 Day 20 : Go語言練習- LeetCode 1732 找最高海拔

標題: LeetCode 1732 找最高海拔 接下來幾天,來學點不一樣,把之前學過的概念,應用在實際例子跟解題上面!! 題目來源:LeetCode 1732...

鐵人賽 Software Development DAY 26

技術 Sudoku 遊戲: 游標控制與玩家輸入

主題 在前一天,我們已經完成了 Sudoku 基本盤面繪製,能在畫面上顯示 9x9 的格子結構。今天的目標是讓玩家能夠「操作遊戲」,具體來說: 用鍵盤方向鍵移...

鐵人賽 Modern Web DAY 19
後端攻略筆記 系列 第 19

技術 Day 19 :【Go 練習題】用 for...range 幫助小偵探統計「神秘盒子」裡的寶藏

【Go 練習題】用 for...range 幫助小偵探統計「神秘盒子」裡的寶藏 題目背景 你是一位尋寶小偵探,手裡有一個裝滿多種寶物(不同數量糖果、金幣、寶石...

鐵人賽 Software Development DAY 25

技術 Sudoku 遊戲: Ebiten 基本盤面繪製

主題 繪製盤面格子與 3x3 區塊分隔線目標是讓遊戲螢幕能夠清楚呈現數獨盤面。 為什麼要畫盤面? 數獨的核心就是一個 9x9 的方格,玩家需要直觀地看到: 每...