跳到主要內容

發表文章

目前顯示的是有「Programming」標籤的文章

利用 Claude Code Router 使用 Kimi K2 模型

 最近有個開放權重模型叫 Kimi K2 ,表現接近 Claude Sonnet 3.7,我非常想試看看在 Claude Code 的表現,於是就安裝   Claude Code Router  以便使用不同的模型。

燒 Token 讓 LLM 對地端模型自動評分

 最近在試著用 LLM 做一些事情,希望能夠做一些原本是人在處理的事情,發現LLM的智力差別很大。

告別技術債的泥沼:如何透過完善的規劃與AI Vibe Coding打造穩健程式

 在軟體開發的世界裡,「技術債」(Technical Debt)是一個令人頭痛卻又無處不在的議題。它像是看不見的成本,起初微不足道,隨著時間推移卻可能累積成巨大的負擔,拖慢開發速度、增加維護成本,甚至導致專案失敗。傳統開發模式下,技術債往往因時程壓力、需求變動、或缺乏完善規劃而悄悄積累。 然而,隨著人工智慧(AI)在程式開發領域扮演的角色日益重要,一種新的開發思維正在浮現——我們稱之為「AI Vibe Coding」。這不僅僅是讓AI自動寫程式碼,更是一種以「規劃先行,協同創造」為核心的方法論。本文旨在探討,如何透過嚴謹的產品需求文件(PRD)作為地基,結合與AI的深度協作(AI Vibe Coding),有效避免技術債的產生,打造功能完善且易於理解的程式碼。

Build or Buy 自建或購買軟體

 對於一個中小企業來說,成本絕對是首要考慮的因素,當使用者或高層提出需求/構想時,IT部門應該要如何處置呢? 是買市面上的商品還是找IT人員做一個,或是直接在 Github 找一個Open Source的套件來用呢?現在AI時代很多人提到 RAG 也是同樣的想法,就一併來討論吧!

TRAE AI IDE 使用心得

 最近有個很紅的AI編程工具,叫 TRAE ,用 VS Code 源碼改出來的,把它想成類似  Cursor  或  Windsurf  就對了。

Windsurf 改回 Visual Studio marketplace

Windsurf  Editor 是個 AI Code 神器,和 Cursor Code Editor 比起來 "幾乎" 是有過之而無不及。 但是,我發現 Windsurf  使用 open-vsx 的marketplace,造成某些在 VS Code 常用的 Extension 不能安裝,例如說 Microsoft 的 C# Dev Kit  或是 .Net Unit Test 要用的 .NET Core Test Explorer  ;前者是 微軟禁止在其他 IDE 使用,後者則是與微軟的C# Extension相依。 

利用Ollama建立本地的翻譯API

 最近在上一門線上課程,該課程有提供英文字幕檔,所以我就寫一個簡單的Python程式將該文字檔利用 Google Translate API 翻譯成中文。但是因為在下是免費黨,希望在自己的電腦就能提供還可以的翻譯,不要把Google 的免費額度用光,非必要的翻譯使用本地LLM達成。

ASP.NET Web API 未認證時傳回 Code 404 而非 401

今天在開發簡單的 Web API 時發生一個奇妙的問題,原本應該傳回 401 Unauthorized 卻傳回  404 Not Found ,令我百思不得其解。

C# 將 HTML 碼轉為純文字

 最近某個系統要加上簽核意見,所以先使用  HtmlSanitizer 過濾惡意HTML tag。

Drag and Drop for Vue 3

在Vue 2時我都用 Vue.Draggable ,到Vue 3時代一直沒找到好的替代品;試過 Vue.Draggable.Next ,效果很差完全不建議使用,不要去試。 直到前幾天找到  VueDraggablePlus   ,終於完美替代 Vue.Draggable ,誠心推薦。

區間是否有重疊的演算法 An algorithm to check whether intervals overlap.

 最近剛好有寫到比對是否有區間重覆的程式,擔心自己寫的不夠完整找了一些人的寫法,最後在 Stack Overflow 上看到最清楚的解答,特此誌之供日後查閱。 以下的圖、演算法與版權皆屬於原作者。 出處: Algorithm to detect overlapping periods

Python Flask Web API 中文亂碼

 最近在試著用 Flask 做一個簡單的Web API,結果回傳的中文亂碼,看起來是做了escape encode。 程式碼: 瀏覽器結果:

C# 找出臺灣農曆日期對應的西元日期

收到一個需求,要在前一年底將隔年全年的放假日存入資料庫,原本想用政府資料開放平臺的 中華民國政府行政機關辦公日曆表 ,看了一下格式常在改,命名規則也一直變動,因為我不想常維護這程式,俗話說,隔3年後,你寫的程式就變成別人寫的,自己也看不懂;所以放棄自動匯入一途,改為由程式產生預設假日。

vite編譯typescript時發生錯誤 Property 'xxx' does not exist on type

從vue/cli改為vite時,首先遇到 Property 'xxx' does not exist on type ,這種很鳥的錯誤,不知道為什麼沒找到很好的解法,但我就先把package.json裡的 "build": "vue-tsc --noEmit  && vite build" 直接改成  "build": "vite build" ,等正式發行 vite 3.0時應該這些設定檔都會校調好吧?

Vue 3 使用 script setup 時出現 defineEmits is not defined與 defineProps is not defined 錯誤

當使用<script setup> 語法撰寫時,若出現 defineEmits is not defined 或 defineProps is not defined 時,不一定是真的錯,很可能只是eslint檢查出錯。 解決方法:  加上import { defineEmits, defineProps } from "vue";  直接在 .eslintrc.js 加上 env: { "vue/setup-compiler-macros": true }, ,就不必在每個vue檔裡加入上述引用

ASP.Net 遇到 JSON 格式的日期會差8小時問題

最近開始試著學 ASP.Net Core ,用 .Net 5 寫WebAPI。用前端的 DatePicker 選日期會變成前一天,再追下去,居然是DateTime都會少8小時,這到底是怎麼一回事呢?可能是我之前都沒有用MVC的Model去解析JSON物件,所以沒有發生。 用 股溝 搜尋在 暗黑大的文章 有提到這問題,但我不太相信微軟會犯這種低級錯誤,所以再繼續追下去真正原因。 先假設 Model 裡有一個 public DateTime StartDate {get; set;} WebAPI接收到前端吐回的JSON Date 字串後,會解析成  StartDate.Kind 會是 DateTimeKind.Utc; 這沒錯,若是 DateTime now = DateTime.Now; now.Kind 是 DateTimeKind.Local 所以存到SQL Server時,變成UTC時區,而SQL Server讀取的時候,會依照儲存的時區把資料吐出來,再自己把DateTime.ToString("yyyy/MM/dd")時,就會變成前一天了@@。 目前我的解法是在儲存到SQL Server前, StartDate = StartDate.ToLocalTime();  若是在讀取時轉換應該也行啦,但我的情況和暗黑大一樣,使用者都在這小島內,不會跨時區,用最簡單的方式處理就好。就算有人跨時區使用, DateTime.ToLocalTime() 也不會有錯誤。 結案收工。