<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-10940209</id><updated>2026-11-03T09:09:44.482+08:00</updated><category term="Programming"/><category term="閒聊"/><category term="軟體"/><category term="Windows"/><category term="Internet"/><category term="Linux"/><category term="FreeBSD"/><category term="WWW"/><category term="資訊安全"/><category term="宅男"/><category term="Apple"/><category term="虛擬化"/><category term="Software"/><category term="asp.net"/><category term="Virtualization"/><category term="不是錯誤特攻隊"/><category term="Blogger"/><category term="Java"/><category term="JavaScript"/><category term="VMWare"/><category term="AI"/><category term="SCM"/><category term=".net"/><category term="Database"/><category term="Network"/><category term="artificial intelligence"/><category term="Mac"/><category term="硬體"/><category term="Python"/><category term="Ruby"/><category term="HTML"/><category term="人工智慧"/><category term="OS X"/><category term="Vue"/><category term="System"/><category term="Ubuntu"/><category term="Xen"/><category term="asp.net MVC"/><category term="ASP.Net Core"/><category term="Hyper-V"/><category term="dotnet"/><category term="無責任美食"/><category term="Development"/><category term="OpenWebMail"/><category term="Rails"/><category term="白爛網管日誌"/><category term="職場"/><category term="Android"/><category term="C#"/><category term="CSS"/><category term="Firewall"/><category term="TypeScript"/><category term="iPhone"/><category term="vSphere"/><category term="奇異果"/><category term="CSharp"/><category term="ESXi"/><category term="GIT"/><category term="Internet Explorer"/><category term="MikroTik"/><category term="Nexenta"/><category term="Nginx"/><category term="Proxmox"/><category term="Solaris"/><category term="VB"/><category term="Visual Studio"/><category term="Vite"/><category term="jQuery"/><category term="macOS"/><category term="熱水器"/><category term="笑話"/><category term="BlogBackup"/><category term="CentOS"/><category term="Claude Code"/><category term="Crystal Reports"/><category term="DHCP"/><category term="LiveReload"/><category term="NetBeans"/><category term="PDA"/><category term="SDS"/><category term="SNMP"/><category term="SQL Server"/><category term="Spam"/><category term="VPN"/><category term="Word"/><category term="ZFS"/><category term="gcc"/><category term="jRuby"/><category term="nuget"/><category term="專案管理"/><category term="Android Studio"/><category term="Antivirus"/><category term="Apache"/><category term="BIOS"/><category term="C++"/><category term="CI"/><category term="CoffeeScript"/><category term="DFS"/><category term="DIY"/><category term="DNS"/><category term="Dedup"/><category term="Distrubuted File System"/><category term="Dovecot"/><category term="Encoding"/><category term="Entity Framework"/><category term="Excel"/><category term="Firefox"/><category term="Flask"/><category term="Fortigate"/><category term="Fortran"/><category term="FreeNAS"/><category term="FullCalendar"/><category term="Gemini CLI"/><category term="Go"/><category term="Google"/><category term="Grub"/><category term="IPSec"/><category term="Jetson Thor"/><category term="L2TP"/><category term="LXDE"/><category term="Lisp"/><category term="Lubuntu"/><category term="NAS4Free"/><category term="NFS"/><category term="NTLM"/><category term="Netezza"/><category term="Objective-C"/><category term="PHP"/><category term="Postfix"/><category term="Proxmox VE"/><category term="PureData"/><category term="Roundcube"/><category term="Rust"/><category term="SageFrame"/><category term="Security"/><category term="SonarQube"/><category term="Version Control"/><category term="WSUS"/><category term="pve"/><category term="光世代"/><category term="壁癌"/><category term="宅男電影觀點"/><category term="小米2S"/><category term="持續整合"/><category term="盧擬化"/><category term="網路"/><category term="臺灣泥水工"/><category term="鍵盤"/><category term="防毒"/><title type='text'>鳥毅的Blog</title><subtitle type='html'>只要有心，人人都能成為宅男</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.tenyi.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default?alt=atom&amp;redirect=false'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default?alt=atom&amp;start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1358</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10940209.post-5796252828457309146</id><published>2026-11-03T09:09:44.481+08:00</published><updated>2026-11-03T09:09:44.482+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.Net Core"/><category scheme="http://www.blogger.com/atom/ns#" term="CSharp"/><category scheme="http://www.blogger.com/atom/ns#" term="dotnet"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Vue"/><title type='text'>Dotnet Web API 整合 SPA 開發 Vue</title><summary type="text">&amp;nbsp;在 2022&amp;nbsp; 年時我曾經在&amp;nbsp;Vue CLI move to Vite&amp;nbsp;介紹過使用臺灣高手MakotoAtsu做的 Visual Studio 模板 AspNetCore_Vite_Starter ，完美整合 Vue 3 與 Dotnet Web API在同專案一次啟動。 但這有一個缺點，就是它必須在 ClientApp 目錄下產生開發憑證，在開發憑證過期時不會自動更新，同事常常會不知道為什麼發生錯誤。因此我在最近一次新專案開發時，特地委請 Opus 5.5 幫我重新設計一個方式，使用另一個 Helper 來處理轉埠的問題。除了 Vue 改用 http 執行，不再用 https 執行外，其他使用與之前並無大差別。在原來的 Program.cs&amp;nbsp; 改成using Microsoft.AspNetCore.Builder;
using </summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/5796252828457309146/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/5796252828457309146' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/5796252828457309146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/5796252828457309146'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2026/11/dotnet-web-api-spa-vue.html' title='Dotnet Web API 整合 SPA 開發 Vue'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-3898453861097323508</id><published>2026-10-26T12:07:48.800+08:00</published><updated>2026-10-26T12:07:48.801+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Software"/><category scheme="http://www.blogger.com/atom/ns#" term="軟體"/><title type='text'>MadEdit 重製版支援 Markdown 預覽</title><summary type="text">&amp;nbsp;MadEdit 重製版支援 Markdown 預覽：一個連假，還順手開發了 fermaid這幾天連假，原本只是想替我正在用 Rust 重製的 MadEdit 加上一個 Markdown 預覽功能，沒想到一路寫下去，竟然另外開發了一套純 Rust 的 Mermaid 圖表渲染引擎 fermaid。最後再整合幾個現有的 Rust 套件，把 Markdown 文件、表格、圖片以及 Mermaid 圖表整合進 MadEdit 的預覽視窗。原本以為只是增加一個功能，結果變成兩個開源專案一起推進。從 MadEdit 的 Rust 重製版開始MadEdit 原本是一套使用 C++ 與 wxWidgets 開發的文字、欄塊及十六進位編輯器。我一直很喜歡它的功能，因此決定使用現代 Rust 語言，搭配 egui / eframe 圖形介面框架，重新打造跨平台的 MadEdit。這個版本保留文字</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/3898453861097323508/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/3898453861097323508' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/3898453861097323508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/3898453861097323508'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2026/10/madedit-markdown.html' title='MadEdit 重製版支援 Markdown 預覽'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhISXF8_nJ9kpNAG2FMXd7tA3ltkfb_wcSKIzxY2OL-VtqfOYexqRFEnUGdzybS2m89fd2GjQFcwbit5sWRfrnU7boym9xPpg8_rJLS3VMcaOvtNYtiREWq4_GaPoOOhou7HrUCEWreLfaQFzjViMWJLlambw_ldw0aGeHUd0GhBYoAhkfFdLF1QQ/s72-c/Snapzy_2026-10-26_12-01-55_839.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-9056240301222661660</id><published>2026-10-23T07:40:18.168+08:00</published><updated>2026-10-23T08:15:16.905+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="artificial intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Software"/><category scheme="http://www.blogger.com/atom/ns#" term="人工智慧"/><category scheme="http://www.blogger.com/atom/ns#" term="軟體"/><title type='text'>好用的 MadEdit Rust 重製版 支援多平臺</title><summary type="text">&amp;nbsp;從小寫程式就一直和編輯器為伍，除了 PE2 之外，DOS時代最好用的就是漢書。到了 Windows 以後，大概就是 UltraEdit 最強，但是公司不給買。因此我在多年前一直使用另一套非常快速而且支援多語系判斷又有簡轉繁的 MadEdit 。但是很可惜，原作者沒空再維護，幾年前又出現 MadEdit-Mod 的維護版，但後來也沒維護。我在 Mac 與 Linux 上找不到相同的好用編輯器，所以藉著 AI 的能力，自己打造一個 Rust重製版MadEdit。原本也是有拿 MadEdit-Mod 的原始碼重新建置出 Mac 版本與 Linux 版本，但是速度慢，有許多功能在非Windows難以正常實現，尤其是字型顯示，修改後各平臺不一致，於是才使用 Rust 重製。原本用 Gemini 4 Argon 製作，沒想到功能差太多，只能請 Opus 5.5 接手，請它完全複刻 </summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/9056240301222661660/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/9056240301222661660' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/9056240301222661660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/9056240301222661660'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2026/10/madedit-rust.html' title='好用的 MadEdit Rust 重製版 支援多平臺'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMGlJrI5UABm3Pn1qATqFjrIDjM2wKG7H5mtAnq4svAzu3YdIlGi6O8vMkJg-BYHAgXn3OCz6I8YQI2C554pa-2_l-aGReSBM5ALPlr6P5F9VA6YStfyVOAKc3C3FjVzX8Ev6j2Ce3ApR3v1wwA3yq7KSIsBtsIs5ehmPfCHwmZYvRkFQOTm0caQ/s72-c/Snapzy_2026-10-23_07-31-02_489.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-2124115212600306601</id><published>2026-10-18T20:59:00.057+08:00</published><updated>2026-10-20T08:14:11.862+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="artificial intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="人工智慧"/><title type='text'>2026年10月中旬 AI 工具的選擇, Google、Anthropic、OpenAI 哪個好？</title><summary type="text">現在 AI 的進步一日千里，在2026年10月中旬，面對 Google AI Pro 的特價快到期、ChatGPT 的 Tibo 三天兩頭重置，與榜單第一的 Claude，到底該選誰呢？這個問題要回歸基本面，如果你像我一樣以 Coding 為主，不用考慮，選 Claude 用 Opus 5.5 就好。我現在訂閱 Claude Pro，每個月 20 美元很夠用。我是很務實的人，會仔細看 AI 的輸出，隨時調整程式的方向，最多同時開 2 個 Terminal，有時候去開會就沒在用，上個月的用量還不到 50%。8 月中到 9 月中我使用 OpenAI ChatGPT Plus 20 美元方案，一開始用 Sol 5.6 完全用不完，但後來換成 Sol 6.0，開始遇到算力不足而卡頓，反應不夠快。但是 ChatGPT 目前是三大家之中的生圖之冠，產生圖文並茂的簡報也是一流，若是有這類需求不要想，就</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/2124115212600306601/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/2124115212600306601' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/2124115212600306601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/2124115212600306601'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2026/10/202610-ai-googleanthropicopenai.html' title='2026年10月中旬 AI 工具的選擇, Google、Anthropic、OpenAI 哪個好？'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIst_aoK6nlySpMz6M7GkCVXk-beyirOKqdj-2XRHqTPP91DeWsmcANxilPYkGUHKpA1VhbGcQB8cMG6MeB44F5kwa_YRvyzkEuB2ysYsSAEQtHbTSw0_aYAaqiKlSkuJFwd-1b1XFZvaymVcrKeqoUlga6z_YucpPAtZKtV650-2aMniKPilyXQ/s72-c/Snapzy_2026-10-20_08-11-14_004.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-4174377842442876853</id><published>2026-09-15T15:45:12.338+08:00</published><updated>2026-09-16T07:43:54.642+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="artificial intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Rust"/><category scheme="http://www.blogger.com/atom/ns#" term="人工智慧"/><title type='text'>AI 詐騙信偵測程式 AntiPhishing</title><summary type="text">&amp;nbsp;有鑑於最近 AI 產生的詐騙 Email 越來越多，而且越來越像真的，所以我做詐騙信偵測程式 -- AntiPhishing ，同時提供 GUI 版本與 CLI 版本，AI偵測是加值功能，就算沒有AI也有基本防護。程式在 Github 上，歡迎自行編譯，若需要Windows版 binary 也可以用 Release 裡的版本。 雲端 AI 用今年的Flash以上都夠，我用非常便宜的 MiniMax-M3 效果非常好；若有足夠 AI 算力可以直接用本機的 Qwen3.8 27B，目前在公司的信箱直接使用地端過濾，我測試過 Gemma4 26B效果不夠好，希望 Google 明年能夠釋出超越千問的開放權重模型。GUI版本內建設定功能，可以不需要手動編輯&amp;nbsp;&amp;nbsp;config.toml ，不過仍然建議先使用&amp;nbsp;config.example.toml 複製為 </summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/4174377842442876853/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/4174377842442876853' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/4174377842442876853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/4174377842442876853'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2026/09/ai-antiphishing.html' title='AI 詐騙信偵測程式 AntiPhishing'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpnb9iePtTYs9GnNBrrUQmg2a0_fVdQsXbJ2eTSHUYCqW0rKSMtAd_A9V_xr1caQIR6lGlCkYlWP74O2L6HRBpE-RqWyQkFbar3aSPY3MCzdnVvMkryGlwnTDZM-AcDIK1eUQ-noh1vag2tfrRQVDJFXdDnsWV0yIvwtkQbaou3c4HF22yRWhNCQ/s72-c/AntiPhishing.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-3088653870289910067</id><published>2026-08-23T20:13:03.429+08:00</published><updated>2026-08-24T08:46:23.409+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="artificial intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="人工智慧"/><title type='text'>Qwen 3.8 27b 測試心得</title><summary type="text">&amp;nbsp;最近一陣子沒有更新 Blog，主因是沒有辦法在第一時間發出與眾不同的消息，畢竟不是靠炒知名度賺錢的網紅，有些業務相關的又不方便發表。另一點則是覺得AI文缺乏靈魂，自己寫的文章雖然粗鄙，卻有人味兒，所以要有時間再來寫點真實的感受。話說公司的Jetson Thor相容機因為研華的 Firmware 與原廠不相容，所以我還不能使用多媒體功能，而 LLM 推論速度之前一直上不去，直到最近幾個月受到開放原始碼的進步，終於達到勉強可用的程度。而公司內部的產品則是使用 5090 在推論。我測試上週出現的 Qwen 3.8 27b 以體感來說，能力相當 Claude Opus 4.6 的程度，用 5090跑的速度可接受，也可以達到&amp;nbsp; 120 tokens/sec，不使用 Subagents 的話，地端 coding 完全沒問題，可以不靠雲端LLM也可以 happy coding。</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/3088653870289910067/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/3088653870289910067' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/3088653870289910067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/3088653870289910067'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2026/08/qwen-38-27b.html' title='Qwen 3.8 27b 測試心得'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-8991121978453724280</id><published>2026-06-07T12:04:52.567+08:00</published><updated>2026-06-07T12:08:39.991+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="artificial intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="dotnet"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>最短路徑 Shortest Paths .net 10 version</title><summary type="text">今天幫同事把 他用到的最短路徑套件修復多執行緒問題，原本是 .net 4.0，我改成 .net 10，讓AI修復整個套件。&amp;nbsp;原本的 YanQi 演算法是用 Java 版改過來，.Net版 裡有 bug，所以後來我再去抓原始的 Java 程式，結果 Java 程式裡又是用別人的 Jar， 所以再去找原始 YanQi Jar 的原始碼來修。現在 AI 很強，直接找出他改錯的地方，再用其他方式修正原本 Dictionary 不是 Thread Safe 的問題。原本的演算法及語法都修復，並且從 nUnit 改為 xUnit。至於到底修了多少，請自行去看 git log。https://github.com/tenyi/adapters-shortest-paths-dotnet</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/8991121978453724280/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/8991121978453724280' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/8991121978453724280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/8991121978453724280'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2026/06/shortest-paths-net-10-version.html' title='最短路徑 Shortest Paths .net 10 version'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG5qoXsQM8DCT7St35kGbf8h5DfqAINQp6C-fKUf7fJnWegBr9ncwJwS4yCwiXUIpUjayLwdyTb1ZxUfnJqaa6IMlanJhoxs1qU71L3pzdVvqsZMPxc71ILr6UYFnhj55upVCqtVQ6ssZCv3WN77B-ArxidiSXqb8jG8ODQVncrEktMA-eoWUBEw/s72-w640-h173-c/1780792413929@2x.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-6534991440745049588</id><published>2026-06-01T14:40:04.108+08:00</published><updated>2026-06-01T14:40:04.108+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="artificial intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="Claude Code"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>Gemma4 呼叫 Tools 失敗的原因</title><summary type="text">&amp;nbsp;最近在公司都使用 Gemma4 做為 地端的主要模型，但接 Claude Code 常出問題，在深入的 coding 後終於發現問題了。在呼叫 Tools 時，LLM 要把參數包裝為 json 格式，但是 Gemma4 很容易因為注意力不足把 json 格式弄爛，例如在內容多個換行，或是把不該 escape 的文字多個 backslash 例如 \( 。用AI Studio 的Gemma4 31B 結果仍然相同，所以只有不可言明的千X 才能真正在地端比較穩定的接入 Claude Code使用。</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/6534991440745049588/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/6534991440745049588' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/6534991440745049588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/6534991440745049588'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2026/06/gemma4-tools.html' title='Gemma4 呼叫 Tools 失敗的原因'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-2053512961117058917</id><published>2026-04-19T12:25:00.006+08:00</published><updated>2026-04-19T12:26:12.928+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CSharp"/><category scheme="http://www.blogger.com/atom/ns#" term="dotnet"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>零參考 ZeroReferences 找出 dot net 程式內 未使用到的方法</title><summary type="text">&amp;nbsp;由於被同事質疑在某專案中引用的 Library 太多未使用到的方法，決定自行開發一個減肥程式。我原本只有開發 Windows GUI程式，但由於我目前多半以 mac 開發，所以就請 AI 幫我做出跨平臺的GUI，想想獨樂樂不如眾樂樂，用最寬鬆的方式放到Github給大家使用。&amp;nbsp;取名為「零參考」&amp;nbsp;ZeroReferences&amp;nbsp;是我一慣的風格，言簡意賅，自行編譯使用，沒能力編譯表示您無需要使用。</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/2053512961117058917/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/2053512961117058917' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/2053512961117058917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/2053512961117058917'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2026/04/zeroreferences-dot-net.html' title='零參考 ZeroReferences 找出 dot net 程式內 未使用到的方法'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXprxm5p42pJNueyElInSpQXlIuG2v9m5hBPDGSitzGw575vqKC_1mN-NHouYDnNCLPrBFbHeu36sfMaKJ-qL59b8mVlB669d-SKtfq11fquabQXgt4oH7nrmL5zFzO4TEpPtmMz7eSGqe4YLXmSy6vLPEfz-CY6sLvP4sIZ71xvmn64oUOXe97g/s72-c/bettershot_1776571950125.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-1467107558422223665</id><published>2026-04-04T15:21:00.007+08:00</published><updated>2026-04-19T11:57:23.917+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="artificial intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>Gemma4 ：地端 Coding 的時代到來</title><summary type="text">今天趁著連假，在家沒事就拿起 Macbook M1 Pro 16GB RAM的舊筆電，執行 ollama launch claude --model gemma4:e2b ，這樣的記憶體需求小，但為了怕 context 不足，在執行 Ollama 時要設定 OLLAMA_CONTEXT_LENGTH=65536 ，至少要設定 32768才足夠寫程式。

雖然筆電不快但是使用Gemma4最小的模型，能夠讓 Claude Code 自主使用 Rust 寫出Native GUI 的 貪食蛇，真不是普通的強。有興趣的朋友，可以在有8GB 以上VRAM的顯卡試試，這代表著地端Coding時代到了！以我的 Macbook 16GB 為例，執行 Gemma4:e4b 沒有壓力，效果比e2b更好一些。無論使用何種模型，想要LLM Coding效果好必須要留足夠的RAM給作業系統與Context，</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/1467107558422223665/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/1467107558422223665' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/1467107558422223665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/1467107558422223665'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2026/04/gemma4-coding.html' title='Gemma4 ：地端 Coding 的時代到來'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEhJea8sTqgsJZ9Btjr9iKLkCJqP1a33tra_1sexWCvwYUD4YH0HiCPZ9yhxE3InyoPXQTDQ7oZvuFrRa_8Waxohu1zLF6QNs32KtCDHpAjS0C9Cyyg99eybOu55e1byFB9R4z3PWHOkVvWmk5iwWnWWJanFEMZkPxcxIhy6-ySeIFX-P-Ye7AxXDg=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-5920378501292819690</id><published>2026-02-07T21:37:00.012+08:00</published><updated>2026-02-08T07:34:57.953+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MikroTik"/><title type='text'>MikroTik 的 中文註解亂碼解決方法</title><summary type="text">&amp;nbsp;自從去年臨時換成MikroTik路由器後，功耗和效能都非常滿意，臺灣代理商送來時就有預設的Firewall Rules，完全沒有問題，唯一的不滿就是註解在網路介面看到時是亂碼，詢問代理商說要用 WinBox v3 Windows 版本才能正常顯示註解。WinBox v3還有另一個問題，在高解析度螢幕上文字非常小。我在家使用的主力是 mac 和 Linux，我也不喜歡使用 WinBox，能夠使用瀏覽器才方便。雖然沒有太多時間去研究，但基本上所有的路由器都可以匯出文字，所以找Gemini討論。首先，Gemini教我如何匯出，開啟 Terminal，輸入 export  file=my_config接下來會在 Files 看到 my_config.rsc ，這是純文字的指令，其中會有Big5中文編碼後的註解 add action=accept chain=input comment</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/5920378501292819690/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/5920378501292819690' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/5920378501292819690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/5920378501292819690'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2026/02/mikrotik.html' title='MikroTik 的 中文註解亂碼解決方法'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEhna6BR90w4farav68wdBVciozuCRrKce19cHp5YB5-a7LR5k8FWCw_wCfbEA2RIyNGsT2N4TYByJCCXlb3AaPi9XjjpAosvogQUqVuGgdKmCT4PMJ96C-RjWwdmsLiUsCptqT-zR1cdBp1nmMTA_MwXHVmLReTTjrzkR0adg_AKTGPjoOpPO0xkA=s72-w640-h272-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-8998846025000986234</id><published>2026-02-01T16:23:00.008+08:00</published><updated>2026-02-01T18:14:10.017+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>AI 模型的「指令遵循性」的重要性</title><summary type="text">很多人可能不太懂，為什麼我老是強調 AI 模型的「指令遵循性」（Instruction Following）有多重要。昨天剛好發生了一件血淋淋的慘案，決定寫下來作為證明。因為我有訂閱 Google AI Pro，每天 Antigravity 的 Token 點數不用白不用，昨天閒著沒事，就叫它用 Gemini 3 Flash 幫我把手上一個舊專案補上註解。我的指令非常簡單，只有三條：&amp;nbsp;只加繁體中文註解；如果原本就有繁中註解，請不要動它。遇到英文註解，請翻譯成繁體中文。嚴禁修改任何程式碼。剛開始一切正常，結果跑到一個義大利麵式 、長達 3000 行的程式檔時，AI 就開始暴走了。它不只把註解改得「更漂亮」，後來甚至看參數名稱不順眼，直接幫我重新命名。這也就算了，最後最扯的是，它竟然覺得有些邏輯寫得不對，擅自改動了幾行程式碼！如果我沒人工核對就直接 Push 到 Git，之後大概會</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/8998846025000986234/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/8998846025000986234' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/8998846025000986234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/8998846025000986234'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2026/02/ai.html' title='AI 模型的「指令遵循性」的重要性'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-8644017596234740192</id><published>2026-01-26T14:04:00.003+08:00</published><updated>2026-01-26T14:04:38.929+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Claude Code"/><category scheme="http://www.blogger.com/atom/ns#" term="Development"/><title type='text'>在 Claude Code 啟用沙箱 sandbox</title><summary type="text">最近偶有檔案被刪除的案例傳出，現在 Claude Code 也加入沙箱功能，啟動後就可放心開發，不用擔心被誤刪其他檔案。只要輸入 /sandbox預設值會是無沙箱 （No Sandbox）設定好之後，再輸入一次 /sandbox 確認&amp;nbsp;</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/8644017596234740192/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/8644017596234740192' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/8644017596234740192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/8644017596234740192'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2026/01/claude-code-sandbox.html' title='在 Claude Code 啟用沙箱 sandbox'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv3iW45vgC1NDkQDjh-HZZdSLaMWYPnczMu6cL68CdyA1UyQEb3w0w0f5k8jE2muiSJOOvRDbGzVAkZG8ChC1UGEmkPq9ytH2SvRp-y9S9cVs8vKDzUFzGpwLbRMEbAE3ABbT3DUjeAkIwtOH6OeX11tlY-OQQZIhDzIwYpH0_zCxTmg5MQsLNQA/s72-c/%E6%88%AA%E5%9C%96%202026-01-26%2013.52.36.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-6717256861720219153</id><published>2025-11-17T09:20:00.003+08:00</published><updated>2025-11-17T09:21:32.710+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>重建 Windows RE 復原分割區，並手動執行更新</title><summary type="text">&amp;nbsp;在去年初我寫過重做WinRE修復磁碟分區，但當時的情況是執行更新KB5034441失敗，在更新成功後只照著那篇重建，會因為沒有執行Windows Update而導致，這時候就應該要手動去 Microsoft Update Catalog 搜尋最新的 WInRE update手動重新安裝。目前遇到的狀況是 Windows Server 2022 C: 空間不足，所以在虛擬機直接加大磁碟空間，但是Windows的復原分割區必須要先刪除才易於擴充容量。 若不刪除也可，必須使用 Gparted 等工具，將復原分割區移到磁碟的末端。所以我就到Microsoft Update Catalog&amp;nbsp;搜尋KB5034441，發現最新的WinRE更新是KB5034235，所以下載</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/6717256861720219153/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/6717256861720219153' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/6717256861720219153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/6717256861720219153'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2025/11/windows-re.html' title='重建 Windows RE 復原分割區，並手動執行更新'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEikFEj6tyPrEcCKFmdPlAK1e5Hpk6ZQZTD0fetO1szCJGsqdN3RnAocrIbCfcFem1ZAP8XjGt75zD2xddAYzgFjNMfoWnX5xnhX8FAeynCT_Hq7jNVQ_NRRiqbcrLw59XorKSZqHwgaoKpMMu824H7xFD6fvJWRNMJEEnq1algbYPOOl5PF64SDSA=s72-w640-h507-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-2945560009420260579</id><published>2025-11-10T14:42:00.004+08:00</published><updated>2025-11-12T14:12:18.055+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Jetson Thor"/><title type='text'>Jetson Thor 開發機升級 firmware </title><summary type="text">&amp;nbsp;根據 Nvidia 開發者網站，要升級Jetson Thor 的AGX開發套件必須要升級 firmware (BSP)，詳 BSP Installation.先說明，我手上的是研華的&amp;nbsp;MIC-743-AT ，確定是&amp;nbsp;Jetson T5000 .刷機的三種方式比較：最好的方式當然就是 Option 1，直接使用USB開機安裝，但不知道為何我照著官方寫的做，進入到Flash步驟後黑畫面無回應，等了半小時也沒有反應，只好進入Option 2。結果不知道為什麼，我把 Thor進入 Recovery mode 再把 OTG port 接上 USB 線之後，Ubuntu 24.04 的電腦執行 SDK Manager，確實有抓到裝置，但是試了幾次都刷機失敗，不知道和研華使用 USB micro B 有沒有關係，結果這條路也行不通。現在只剩下 Option3，官方的“</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/2945560009420260579/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/2945560009420260579' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/2945560009420260579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/2945560009420260579'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2025/11/jetson-thor-firmware.html' title='Jetson Thor 開發機升級 firmware '/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEhvitBwb5c0FY2c4Z4J2zpTw2Auh2Y36juutTCVodvU-LEJaSRfKC_pRXZuT6uF_SNG5xATjK2DQVEIcGcBGFgqu9vtQNUS2FhTb56E8WPD1dDnvW64WJdxLEFW5Im0P-ykEI1COFc9GeRmF2yJBlsenzxV-Tov8b0sjHfBNC_TMcEu9meCCyKi-w=s72-w640-h344-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-6949019735503832275</id><published>2025-10-31T09:11:00.009+08:00</published><updated>2026-02-07T20:55:03.786+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MikroTik"/><category scheme="http://www.blogger.com/atom/ns#" term="Network"/><title type='text'>使用MikroTik RouterOS設定中華電信 IPv6</title><summary type="text">&amp;nbsp;原本看了 Mobile01上的超長篇連載，打算挑燈夜戰來設定IPv6，沒想到又看到 iT邦幫忙上的RouterOS IPV6 from pppoe，照他的設定就快速搞定，不用花很多時間。故以下省略二千字。後來馬上就遇到問題，LINE無法使用，在Mobile01上也有別人遇到但未解決，後來我詢問Gemini 如何正確地在 MikroTik RouterOS設定IPv6，它有多增加一個建議，照著設定就解決 Line無法使用的問題。
  Gemini寫得太不清楚，這幾個設定是在不同的分頁裡。</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/6949019735503832275/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/6949019735503832275' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/6949019735503832275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/6949019735503832275'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2025/10/mikrotik-router-ipv6.html' title='使用MikroTik RouterOS設定中華電信 IPv6'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeLZhhGdBd71Ij_PCsYa3r9UYjDYdSZYayu3ooOEdR0_JHkWoVEy9UuK7PNlSZAPRl_Ytl43eEUFKrm7y5LlZKl3wFJQifmzxEJ1ZCQ5B2J5Hf_L5-k40UvwedOEWwry6LN1iJ9EAKwGpmCE3ASzTuAdi_kxwQSlpYZL59iOXck9g_Giws6ds5Ig/s72-w400-h231-c/%E6%88%AA%E5%9C%96%202025-10-31%2009.20.17.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-8551283525208095726</id><published>2025-10-29T09:28:00.002+08:00</published><updated>2026-02-07T20:54:52.326+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MikroTik"/><category scheme="http://www.blogger.com/atom/ns#" term="Network"/><title type='text'>改用 MikroTik 路由器/網關/軟路由</title><summary type="text">我家裡使用種花電信光世代，使用一般的WiFi 分享器有可能在流量較高，Session多時當機或降速，所以有額外購買獨立的網路分享器/網關/軟路由。先前使用台灣居易DrayTek Vigor 2926 做為家中的分享器，優點是開機超快，不到20秒，但可調整的選項較少，Session數高時網速明顯下降。若沒有網管經驗又接種花光世代100M以上，買這臺是很不錯的選項，現在市售的機型是Vigor 2927，可以滿足光世代500M頻寬。去年在海鮮市場買一臺洋垃圾 FortiGate 90E取代Vigor 2926，缺點是開機時間很長，而且很熱，家中只能放在電視櫃裡，所以我拆機在原廠散熱器上加裝一個風扇。在使用一年半後，前幾天看電視時忽然燒掉，只能再把Vigor 2926拿出來擋幾天。看來看去原本要買軟路由，但是詢問過使用過的朋友，發現x64的軟路由都很熱，放在電視櫃裡難保哪一天又燒掉，而arm的軟</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/8551283525208095726/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/8551283525208095726' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/8551283525208095726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/8551283525208095726'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2025/10/mikrotik.html' title='改用 MikroTik 路由器/網關/軟路由'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEhwjSs_UxR8NLZUalFe3ufV4xNgjnmg5--2Kwyp8JeG_dpmRarAyK87hZPmDibB8DwJ8FbNBT7E4zoWnmH3guvByZDWd9H89kDHtjUr3B2Q06_H6anb3YCAK7fsafczrxlUHBJbKqoWFg_JSwF4T7VxQ2HJdHVReeknfkJ4EKFHN_YdN3AUiJ4ymA=s72-w400-h264-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-6396915315997639588</id><published>2025-07-27T09:02:00.004+08:00</published><updated>2025-07-27T15:28:14.542+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="閒聊"/><title type='text'>瑪利歐也被發好人卡，只能說人醜性騷擾</title><summary type="text">&amp;nbsp;瑪利歐的夢想今天吃早餐看著新聞，忽然看到令人震撼的新聞，瑪利歐與碧姬公主只是朋友，還是任天堂官宣，身為工具人宅男對這種事情感同身受。只能說人帥真好，人醜性騷擾呀～任天堂設定林克才是碧姬公主的真愛奉勸吾輩宅男，有錢帥十倍，還是努力讓荷包塞滿吧！</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/6396915315997639588/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/6396915315997639588' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/6396915315997639588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/6396915315997639588'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2025/07/blog-post.html' title='瑪利歐也被發好人卡，只能說人醜性騷擾'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEhjspTZp-zWvSj8rcJ4KKQVSNLKmM7aXIS5YD2NwkJzKio8oMAbTHTElgBUZ0pFKTzs7Hrk5ENoAlkjrZbhV5Zcad2c9SnuR1MeBIe7UUcbYVMXO_A8hIGMavGxg9jVP29R5qNiTSe2P1Fu_LuKv71SCMrTpa9EZMw0F6GtQQY1sb2anK_3SakteQ=s72-w552-h640-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-5697178873937176492</id><published>2025-07-20T09:06:00.000+08:00</published><updated>2025-07-20T09:06:02.458+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Software"/><category scheme="http://www.blogger.com/atom/ns#" term="軟體"/><title type='text'>利用 Claude Code Router 使用 Kimi K2 模型</title><summary type="text">&amp;nbsp;最近有個開放權重模型叫 Kimi K2 ，表現接近 Claude Sonnet 3.7，我非常想試看看在 Claude Code 的表現，於是就安裝&amp;nbsp;&amp;nbsp;Claude Code Router&amp;nbsp;以便使用不同的模型。Claude Code Router&amp;nbsp; 安裝非常簡單，只要&amp;nbsp;npm install -g @musistudio/claude-code-router 即可。接下來在 ~/.claude-code-router 目錄下設定 config.json 即可。先增加 Provider&quot;Providers&quot;: [&amp;nbsp; &amp;nbsp;&amp;nbsp;{&amp;nbsp; &quot;name&quot;: &quot;requesty&quot;,&amp;nbsp; &quot;api_base_url&quot;: &quot;https://router.requesty.ai/v1/chat/</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/5697178873937176492/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/5697178873937176492' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/5697178873937176492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/5697178873937176492'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2025/07/claude-code-router-kimi-k2.html' title='利用 Claude Code Router 使用 Kimi K2 模型'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ9fkJCBpbq5TiBdeJi0e3FiVmhoQakfyIo6PVZ-Jez7-Evz4yjeYsOpOfyx5kqg_dXwUrzwJuCOm3gR2lHGu-DkYL2ynz6Y7Y6PMG-LiSumclXoee0LtJnazyYXwwWOaYMIwED_mqeAMAG7GMWjQoyjlxMZ9Vgw6jGYaym6lN1KDRBBbcYvB5Ew/s72-c/%E6%88%AA%E5%9C%96%202025-07-20%2008.36.37.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-7824898609623463799</id><published>2025-07-18T08:47:00.002+08:00</published><updated>2025-07-18T08:47:32.252+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Software"/><category scheme="http://www.blogger.com/atom/ns#" term="軟體"/><title type='text'>Kiro AI IDE 試用心得</title><summary type="text">&amp;nbsp;最近的 AI IDE 工具實在太卷了，OpenAI 收購Windsurf破局後，Google立馬出手收購技術及開發團隊，彷彿 HTC 手機團隊收購重現。 而Windsurf 也馬上被開發Devin的&amp;nbsp;Cognition 併購，接著Anthropic就解禁，Windsurf&amp;nbsp;就能使用Claude Sonnet 4了。而其他巨頭也沒閒著，AWS馬上推出 Kiro。我在2003年就在Visual Studio 2022使用 AWS CodeWhisper 免費版，後來它變成Amazon Q Developer還免費時也用了一陣子，接著就改用 Codeium，再下來它變成 Windsurf 時仍繼續使用 plugin，還訂了幾個月，直到沒有Claude 4才改訂Cursor。說這麼多，表示我對AWS的開發工具有信心，雖然可能會多了我用不到的雲端布署工具，幸好目前</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/7824898609623463799/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/7824898609623463799' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/7824898609623463799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/7824898609623463799'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2025/07/kiro-ai-ide.html' title='Kiro AI IDE 試用心得'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEgqA2dc39y2HR9572sSDOw93yyuzU8phgFgtpuKuKKfwuvaMoS3wO3CCD2ErAbCVivgbFBBCtj0M1-BIHbPCtKiFC5ECc5t3EF9ezctuyPkUUubPWESR9UFTIh8nvTfllRGeuOrLcp-3HkDqJ77PspkUKCVYULsBa6bwo98W-xmU_mLfDR3Sb497w=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-7336089970767529367</id><published>2025-06-27T21:57:00.004+08:00</published><updated>2025-06-28T08:35:42.089+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="artificial intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="Gemini CLI"/><category scheme="http://www.blogger.com/atom/ns#" term="Software"/><category scheme="http://www.blogger.com/atom/ns#" term="軟體"/><title type='text'>Gemini CLI 發一句 Hi 要花多少 Tokens?</title><summary type="text">直接破題，若已經使用Gemini CLI建立 memory 的話，至少幾千個，我建立不少 rules，再加上 MCP Server，所以花了一萬八千多個 tokens，有圖有真相。事實上，我連測2日的 Gemini CLI，才使用10分鐘就說我超過速度限制，為什麼呢？因為它內部自動會呼叫 Tools，請它改程式就會很快超過1分鐘60次呼叫 Gemini 2.5 pro 的速率限制，會自動降為 Gemini 2.5 flash。&amp;nbsp; 若僅使用工具，確實使用 Gemini 2.5 flash 也沒差，但是目前 Gemini CLI 還不夠穩定，與我使用Cursor搭配Claude 4 Sonnet 相比，效果略遜一籌，所以要成為開發主力還要再多努力。要注意，雖然說每日 1000 次 requests 乍聽之下似乎很夠用，但因為內部呼叫 tools 的次數比一般人想像中多，所以 </summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/7336089970767529367/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/7336089970767529367' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/7336089970767529367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/7336089970767529367'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2025/06/gemini-cli-hi-tokens.html' title='Gemini CLI 發一句 Hi 要花多少 Tokens?'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv5Joc1q_Ii9rw61f2c-38ZKvAFKd-rhpGvdDS-Ypk6PqHeFgO6YdgaSFLy4SVoF2MvOFQwKw05ATT3NOVOqJTd83IBFRcTeTn35e0T_rvr5i_d_G_7D8m6_x6PfUXUeQyE1fHJmH-Sw5Qdnzg5p_G2E9Gxcd0wsqfcHbQGShFRWuH8jeMq-m5sw/s72-c/%E6%88%AA%E5%9C%96%202025-06-27%2021.29.52.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-616504866342280954</id><published>2025-06-25T06:00:00.026+08:00</published><updated>2025-06-25T09:25:03.960+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="artificial intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>燒 Token 讓 LLM 對地端模型自動評分</title><summary type="text">&amp;nbsp;最近在試著用 LLM 做一些事情，希望能夠做一些原本是人在處理的事情，發現LLM的智力差別很大。難免會遇到雲端發生問題，所以在公司內準備最小的地端算力是必要的，因為就寫了一個評分系統。這個評分系統可以決定要用什麼模型，使用什麼模型去評分，初步結果還沒出來就遇到上圖的OpenAI API錯誤，我只好先燒自己的Gemini API Toke，才燒幾次就花不少錢。我的目標是找出翻譯與摘要的能力哪個模型好，於是先叫 Jules 寫一個 CompareModel，效果實在太差了，修了很久還有一堆未完成；只好自己打開 Cursor 寫一個 EvaluateModels，自己靠Claude Sonnet 4 寫大概2小時就完成。直接說結論吧，我使用 GPT-4.1 和 GPT-4o 、Gemini-2.5-flash 評分都是亂七八糟，地端模型明明寫英文都還評分說有確實寫繁體中文，這3個</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/616504866342280954/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/616504866342280954' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/616504866342280954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/616504866342280954'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2025/06/token-llm.html' title='燒 Token 讓 LLM 對地端模型自動評分'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNJPNJ46b57y0keg9MaOhyphenhyphen81cbeIXB3Dm9lGjQMK78IxVJXlSQ1hAlhtAHLOiQBGtTDMwleVR1-uKVo5vsRzKd_cyL5oUDeEmkfvQr1_efvLSmIS4Az07YfAnt8qbzoD7tKtswcMc3ZlfyPACAERP7v2T4yTG4QKxVSD4PPEiS7qGsRc6pSTNlOw/s72-w640-h640-c/Copilot_20250625_084947.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-2463239429564267518</id><published>2025-05-28T19:26:00.010+08:00</published><updated>2025-05-28T19:50:28.938+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Software"/><title type='text'>WindSurf 與 Cursor 功能及價格比較</title><summary type="text">由於WindSurf 被Anthropic擺了一道不能使用Claude 4，所以我正在考慮要不要換到Cursor，於是請Gemini幫我做了一篇詳細比較：
WindSurf&amp;nbsp;與&amp;nbsp;Cursor&amp;nbsp;功能及價格比較摘要：WindSurf&amp;nbsp;與&amp;nbsp;Cursor&amp;nbsp;概覽人工智慧輔助編碼工具已迅速改變軟體開發領域，提供即時程式碼建議、自動化任務完成及智慧除錯等前所未有的功能。這些工具旨在顯著提升開發人員的生產力、減少錯誤並加速專案時程&amp;nbsp;1。它們超越了基本的自動完成功能，利用先進的大型語言模型（LLMs）來理解深層程式碼語境、生成連貫且複雜的程式碼結構，甚至促進複雜系統的大規模重構&amp;nbsp;1。本報告旨在對市場上兩款主要的人工智慧編碼助手&amp;nbsp;WindSurf&amp;nbsp;和&amp;nbsp;Cursor&amp;nbsp;進行詳細的功能與價格比較</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/2463239429564267518/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/2463239429564267518' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/2463239429564267518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/2463239429564267518'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2025/05/windsurf-cursor.html' title='WindSurf 與 Cursor 功能及價格比較'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-1087705644104592476</id><published>2025-05-14T11:24:00.000+08:00</published><updated>2025-05-14T11:24:19.655+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="artificial intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><title type='text'>寫程式？要的，就是那種『對味兒』！ </title><summary type="text">&amp;nbsp;今天看到 Rails 大師 DHH 的一篇文章 Coding should be a vibe!&amp;nbsp;，Google 翻譯得不夠好，因此請 Gemini 幫忙翻成更像 Coding 大師的語氣，看起來多了幾分人味。寫程式？要的，就是那種『對味兒』！所謂的「氛圍編碼」（vibe coding）—— 講白了，就是那種翹著二郎腿、動動嘴皮子，靠著 AI 餵餵提示詞就把整個專案搞定的玩法—— 會這麼有市場，說穿了，還不是因為現在一堆開發環境難用到爆，寫起程式碼來，根本是折磨！所以啦，那些被鳥程式語言和爛框架綁死的工程師，想趕快把寫程式碼這活兒丟掉，一點也不意外！要是寫程式碼對我來說是種折磨，我大概也早就想退休了！但我可沒這麼想！呃，我是說，以前嘛... 是有點這樣！剛入行那會兒，寫程式純粹就是為了「做出點東西」！學寫程式，就像是個必要但有點麻煩的工具，為了把腦袋裡的東西變成現實</summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/1087705644104592476/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/1087705644104592476' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/1087705644104592476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/1087705644104592476'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2025/05/blog-post.html' title='寫程式？要的，就是那種『對味兒』！ '/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10940209.post-3056505782837550828</id><published>2025-05-10T22:36:00.002+08:00</published><updated>2025-05-10T22:56:57.525+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="artificial intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="人工智慧"/><title type='text'>告別技術債的泥沼：如何透過完善的規劃與AI Vibe Coding打造穩健程式</title><summary type="text">&amp;nbsp;在軟體開發的世界裡，「技術債」（Technical Debt）是一個令人頭痛卻又無處不在的議題。它像是看不見的成本，起初微不足道，隨著時間推移卻可能累積成巨大的負擔，拖慢開發速度、增加維護成本，甚至導致專案失敗。傳統開發模式下，技術債往往因時程壓力、需求變動、或缺乏完善規劃而悄悄積累。然而，隨著人工智慧（AI）在程式開發領域扮演的角色日益重要，一種新的開發思維正在浮現——我們稱之為「AI Vibe Coding」。這不僅僅是讓AI自動寫程式碼，更是一種以「規劃先行，協同創造」為核心的方法論。本文旨在探討，如何透過嚴謹的產品需求文件（PRD）作為地基，結合與AI的深度協作（AI Vibe Coding），有效避免技術債的產生，打造功能完善且易於理解的程式碼。什麼是技術債？為何它如此棘手？在深入探討解決方案之前，我們必須先了解技術債的本質。技術債的概念由軟體工程師Ward </summary><link rel='replies' type='application/atom+xml' href='http://blog.tenyi.com/feeds/3056505782837550828/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/10940209/3056505782837550828' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/3056505782837550828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10940209/posts/default/3056505782837550828'/><link rel='alternate' type='text/html' href='http://blog.tenyi.com/2025/05/ai-vibe-coding.html' title='告別技術債的泥沼：如何透過完善的規劃與AI Vibe Coding打造穩健程式'/><author><name>鳥毅</name><uri>http://www.blogger.com/profile/08368762184448456724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>