顯示具有 好站 標籤的文章。 顯示所有文章
顯示具有 好站 標籤的文章。 顯示所有文章

2026年6月8日 星期一

好站 : 輕鬆製作可開機的 USB 磁碟機

這個周末把水某十二年前的 ASUS 舊筆電 (X550CC) 成功地利用 ISO 檔從 Win8 升級為 Win10, 在這過程中找到一個介紹 Rufus 工具軟體的網站 : 


它除了可用來製作開機 USB 外, 若將來要將 X550CC 的系統硬碟換成 SSD, 也可以用它來燒錄 ISO 檔灌 Win10. 

2026年4月16日 星期四

好站 : 高見龍老師的部落格 (SDD 規格驅動開發)

三月時內訓課程請到六角學院的高見龍老師來講 SDD 規格驅動開發, 讓我覺得獲益匪淺, 其實課程內容的精髓大部份都可以在其部落格找到 :


部落格中與 SDD 規格驅動開發有關的是這幾篇 :


其中 Spectra 是高老師為 OpenSpec 開發的 GUI 工具, 可以讓 OpenSpec 用起來更簡單更直覺, 剛好我最近正在學 OpenSpec 用得上 (雖然我只開發小專案, 但江湖在走, SDD 還是要有). 參考 :


我去年參加公司的 Hahow 企業版線上課程時就上了不少高老師的課 (Python, Javascript, 網頁前端), 不管是口條或內容都非常棒, 雖說 AI 時代學習這些技能似乎不那麼重要了, 但有基礎的人與菜菜小白終究是不同的. 


2026-04-23 補充 :

這幾天上完 TibaMe 的 SDD 課程後, 回頭來複習高老師的文章, 摘要整理如下 :


一. Vibe Coding 的問題 : 
  • AI 產出的程式碼風格不一致 :
    開啟不同的對話詢問相同需求, AI 可能用完全不同的方法跟架構來生成程式碼. 
  • AI 不會主動審查需求的完整性 :
    AI 通常是針對提問中的需求焦點實作, 不會補全其他需要搭配的功能, 導致東補西補或過度猜測實作了不需要的功能.
  • 可維護性與可擴展性較差 : 
    AI 生成的程式碼主要以能跑就好為目標, 忽略長期維護所需的架構設計, 對需要交接的大型專案維護不利. 

二. SDD 的核心概念 : 
  • 先寫規格再寫程式 :
    在寫程式之前先把規格寫清楚, 把規格變成 AI 和人類之間的共同語言. 
  • 規格是跟實作分開的, 可以用同一份規格去嘗試不同的技術組合, 看哪個最適合.
  • SDD 讓 AI 的產出更可控, 更符合我們的期待.
  • SDD 最重要的價值是把規格留下來備查. 
    如果開發的時候有留下 spec, 它記錄的不只是要做什麼, 還有為什麼要這樣做. 它是開發當下的決策脈絡, 是需求和實作之間的橋樑. 重點是這個 spec 不只是給人看的, 還能給 AI 看, 這才是 SDD 真正的亮點. SDD 不只是指揮 AI 做事, 而且還能讓專案的知識不會流失. 
  • Vibe coding 是「邊做邊想」, SDD 是「想清楚再做」.

三. SDD 工作流程的三個階段 (與所對應的 md 文件) :
  1. 需求階段 (對應文件 requirements.md) :
    此階段目標是將模糊的想法變成清晰可被驗證的需求, 需求要按照 User Story (使用者故事) 格式描述, 並附上具體的驗收標準. 使用者故事格式 : 
    作為 (角色), 我希望 (功能), 這樣我就能 (好處)
    例如 : 
    作為一個使用者, 我希望能夠用 Email 和密碼登入, 這樣我就能存取我的個人資料.
    驗收標準要用 EARS 格式撰寫, 例如 :
    當使用者輸入正確的 Email 和密碼的時候系統應該將使用者導向首頁.
  2. 設計階段 (對應文件 design.md) : 
    由 AI 幫忙產出一份技術設計文件, 包含系統架構圖, 資料流程, 資料模型, 錯誤處理策略, 測試策略等. 此階段的重點是讓我們有機會在寫程式之前就發現問題以降低修改成本, 不要等到等到程式都寫完了才發現. 可要求 AI 加入 wireframe mock 來確認介面的設計是否符合要求. 
  3. 任務階段 (對應文件 tasks.md) :
    根據需求和設計, 把工作拆成一個一個可追蹤的小任務, 每個任務同樣都有明確的目標和驗收標準且會追溯到最初的需求編號. 任務的顆粒度 (granularity, 切多大或多小) 很重要, 但這沒有一定要的標準答案, 只要小到可以在一個合理的時間內完成並驗證即可. 
這三份文件會隨著專案演進而同步更新, 亦即, 規格會跟程式碼保持同步. 


四. EARS (Easy Approach to Requirements Syntax) 格式 :
  • 此格式源自航空業, 使用固定順序的 When…shall… (then) 語法來撰寫需求, 它清楚地說明了觸發條件 (輸入正確的帳密) 和預期行為 (跳轉到首頁), 此種格式具有足夠的可讀性, 也具有機器讀取所需的結構性, 使需求更容易被測試, 減少了 AI 的猜測空間, 生成的結果更可預測. 

五. SDD 的三個層級 : 
  1. 規格優先 (Spec-first) :
    在寫程式之前先寫好規格, 然後用規格來引導 AI 生成程式碼. 此作法比 Vibe Coding 好的地方是至少有一份文件記錄當初想要什麼.
  2. 規格錨定 (Spec-anchored) :
    把規格保留下來且加進版本控制裡, 使其隨著專案演進而更新. 當要修改功能的時候不是直接去改程式碼, 而是先改規格, 讓程式碼跟著規格走. 這樣做好處是永遠有一份文件知道系統應該做什麼, 對團隊協作尤其有利. 
  3. 規格即原始碼 (Spec-as-source) :
    此為最激進層級, 只編輯規格不直接編輯程式碼, 程式碼完全由規格自動生成 (規格是真相的來源), 這樣就能確保兩者永遠一致. 但要把規格寫得非常非常精確, 才能確保生成的程式碼是正確的.

六. OpenSpec : 
  • 開源的輕量級工具 : https://github.com/Fission-AI/OpenSpec
  • Brownfield-first (棕地優先) : 
    不只適合從零開始的新專案, 更適合在現有系統上做修改.
  • 工作流程簡單 : proposal -> apply -> archive
  • 支援主流的 AI coding 工具 : Gemini CLI, Claude Code, Copilot, ...
  • 強調 "fluid not rigid, iterative not waterfall", 核心理念 "Agree before you build". 
  • 常用指令 :
    • /opsx:new 開一個新的變更
    • /opsx:ff 一口氣產生 proposal, specs, design, tasks
    • /opsx:apply 實作
    • /opsx:archive 歸檔 (留下完整的決策紀錄)

七. SDD 的缺點 : 
  • SDD 會讓開發速度變慢 : 
    SDD 適合有一定複雜度的專案, 小工具直接用 Vibe Coding 即可.
  • SDD 會改變工程師的角色 :
    程式員 -> PM 的掙扎 (how 變成 what) 
    從寫程式碼轉變成設計架構和審查結果.
  • 做好 SDD 需要學習新的技能 :
    寫好規格不容易, 需要時間訓練, 要學會如何把模糊的需求變成清晰的驗收標準, 如何設計可測試的系統.
  • 若既有系統本來就沒有規格文件, 導入 SDD 得先花時間把現有行為記錄下來, 這是導入成本. 
  • 同樣的 spec, 同樣的 prompt, 可能有不同的產出.

八. 結語 : 
  • SDD 適合大專案或團隊協作, Vibe coding 較適合小專案, 小工具, side projects, 或快速原型展示等應用, 而大型專案應該以 SDD 規格驅動開發為準繩.
  •  Vibe Coding 對兩種人很有幫助, 一是很有經驗的開發者, 他們懂得怎麼除錯和解決問題, 透過 AI 幫忙加速開發; 另一種是程式小白, 透過 AI 就可以把想法變成可以運作的軟體, 即使不懂程式設計也做得到.
  • 全自動的 Spec-as-source 可能還要再等等, 也許目前 Spec-anchored 會是比較好的解法. 
  • SDD 的價值不只是指揮 AI, 更是留下脈絡讓未來可以追溯.

2026年2月10日 星期二

好站 : codemee 的部落格

今天在測試 ESP32-S3 CAM 開發板時搜尋到 codemee 的部落格 :


作者是旗標的工程師, 其文章具有高度技術性, 所涉獵範圍與我頗多重疊, 故記錄在此有空好好來學習挖寶. 

2026年1月7日 星期三

AI 大模型排行榜 Leaderboard Overview

今天在胡嘉璽老師的 Vibe coding 課程中得知下面這個 AI 排行榜網站 :


谷歌 AI 在四個領域拔得頭籌, 非常厲害耶! 






2025年9月29日 星期一

好站 : Python LINE BOT 串接 OpenAI ChatGPT

今天在整理鄉下老家 LEMEL 老電腦上的書籤時 (2GB DRAM 效能很差, 開太多頁籤會把記憶體吃完), 發現了很久以前搜尋留下的這個網頁 : 


這正是我下一步要測試的項目, 存參. 

這篇其實是 OXXO 參加 iT 邦幫忙的 "跟著 OXXO 一起學 Python 系列" 中的一篇, 我買過也借過他寫的書, 內容都非常實用. 

2025年9月8日 星期一

好站 : 動態網頁爬蟲 - Selenium 套件使用

上週在維元老師課堂上得知他有拍一個 Selenium 用法的 YT 影片, 雖然 Selenium 我已學會, 但學什麼都要溫故知新才不會忘光光 :





Selenium 最麻煩的是 Web driver 版本與瀏覽器搭配的問題, 用 headless 模式會比較方便. 

2025年9月3日 星期三

好站 : 小霸王 MQTT 伺服器

這是我今年初上小霸王的 ESP32-CAM 線上課程時, 尤博介紹他自家好用的免費 MQTT 伺服器, 不但網頁介面簡單清爽, 測試發現速度也很快 :





最近在規劃鄉下老家大門口的太陽能智慧信箱, 屆時會用到 MQTT, 可以先使用小霸王的 MQTT 服務, 我現在已擁有自己的主機, 以後也可以模仿小霸王在 Mapleboard 上打造自己的 MQTT (如果有那個賊時間的話哈哈). 

好站 : Simon Monk 的 ESP32 網站

今天在整理瀏覽器頁籤時看到一個 ESP32 程式碼的 GitHub 網頁 :


忘記為何會找這個網頁, 按回上一頁原來是從作家 Simon Monk 的網站連過來的 :


我有從圖書館借了他寫的 ESP32 書籍, 這個 GitHub 庫應該是我想下載書中範例找到的. 先記下來備查, 我目前暫時騰不出時間玩 ESP32. 

2025年4月15日 星期二

好站 : 最佳 GitHub Copilot 設定

上週在 GitHub Copilot 課程中得知保哥 Will 在 GitHub 上的詳細教學 :


雖然似乎目前也沒用到, 但我瀏覽器開太多頁啦! 關閉前還是先記一下得好, 或許明天就要用也說不定 (就像 Midjourney 收費後我就沒再用了, 但最近看書之後突然想付費來鑽研一下). 

2025年4月8日 星期二

2025年2月22日 星期六

好站 : 資料科學家的工作日常

兩周前臨時決定加入維元老師的 LLM 極速上手體驗課 (5 堂學費 2500 元), 本周一的第二堂課臨時改在今天早上 10:30, 但 10:00 QRV 又要做 140K 保養, 所以今天我是在 NISSAN 的保養等待室上這堂直播課, 結束後才發現雖然從兩三年前公司內訓資料科學課程就追蹤老師臉書, 但卻一直未訂閱他的頻道, 立馬訂閱 : 


裡面有一些資料科學訪談影片還不錯. 

2025年2月17日 星期一

好站 : 範例檔案資料庫網站 samplelib.com

今天為了測試 Gradio 的 Video 元件搜尋線上 mp4 檔案, 找到下面這個好用的範例文件資料庫網站 samplelib.com :





此網站提供視訊 (MP4, WEBM), 音訊 (MP3, WAV), 圖片 (JPEG, PNG, SVG, GIF), Excel 檔, 廣告橫幅, 以及排版用的 Lorem ipsum 文字檔等範例, 可供直接以 URL 方式線上或下載免費無限制使用. 

以視訊檔為例, 點擊首頁上方 Video 選單中的 mp4 選項會列出所有視訊檔範例列表, 點擊右方按鈕即可下載檔案 :




如果要線上使用, 在視訊檔上按滑鼠右鍵, 點選 "複製影片位址" 即可取得 URL :




例如第一個影片網址為 : 

https://samplelib.com/lib/preview/mp4/sample-5s.mp4

將此 URL 傳給 Gradio 的 Video 元件就可以在 web app 中播放此影片了. 

2025年1月27日 星期一

好站 : 好用的 Markdown 線上編輯工具 StackEdit

最近為了撰寫 GitHub 的 README.md 說明文件, 找到一個好用的 Markdown 工具 :  


介面非常簡單, 左邊是 Markdown 語法編輯器, 右邊就是轉譯為 HTML 後的網頁呈現效果. 以撰寫最近要發佈到 PyPi 的 K 線圖繪製模組 kbar 的說明文件為例, 效果如下 : 




參考 :


2025年1月11日 星期六

好站 : 量化投資與機器學習研究系列

今天在找 pyfolio 資料時搜尋到下面 2019 iT 邦幫忙的得獎系列文章 : 


因為 2025 開年後我的研究重心轉向到量化投資, 此系列文章有許多值得參考借鏡與學習之處, 特別是最後面談到 sklearn 與股市預測模型部分, 而其他爬蟲部分我就當做是複習. 

2024年12月7日 星期六

好站 : 雨恩的生活日誌

今天在整理瀏覽器頁籤時找到上個月測試 MicroPython 與 SD1306 時搜尋到的部落格 : 


頁面最上方版主寫的那段聲明也是我心裡的話, 我用 Blogger 紀錄生活與學習等日常完全是因為備忘的緣故 (當然也不希望將來會失智啦), 不是甚麼教學 (要說有所教的話其實是教很快就會忘記的自己), 也不是甚麼成果展示, 純粹就是為了利用谷歌搜尋自己的資料方便罷了. 

版主的許多文章都很有參考價值 (例如實作了許多趙英傑老師著作中的實驗), 特於刪除此頁籤前紀錄下來. 

好站 : 謝昌勳老師的 YT 頻道

今天整理鄉下 Lemel 電腦的書籤找到謝昌勳老師的 YT 頻道, 裡面有許多 AIGC 相關應用的影片 :


這應該是之前參加謝老師分享會記錄下來的. 今年參加了非常多線上分享會 (例如 MQTT 社團, 茶米老師, ...) 與公司內訓課程, 不過光看不練沒有用,  明年要來回看課程錄影反芻一下. 

2024年11月24日 星期日

好站 : *args 和 **kwargs 是什麼?

最近在寫 ESP32 的 MicroPython 函式時要用到 **kwargs 參數, 很久沒用有點模糊, 搜尋谷歌時找到下面這篇寫得言簡意賅的好文章 :


摘要如下 :
  • Python 函式的有預設值參數必須放在無預設值參數的後面
  • *args 與 **kwargs 都是用來簡化函式參數的寫法
  • *args 會將傳入的位置參數的值收集到一個 tuple
  • **kwargs 會將傳入的關鍵字參數的名稱與值收集到一個 dict
  • 參數用了 *arg 就不能再指名; 而用了 **kwargs 就一定要指名
  • 同時使用 *args 與 **kwargs 時, *args 必須放在 **kwargs 前面 (關鍵字參數殿後)
  • 可以用 * 區隔位置參數與關鍵字參數 (雖然沒必要), * 之前為位置參數, 之後為關鍵字參數
作者 Sky 已經將部落格移到 GitHub 去了, 新版網址如下 :


這種好站對偷學武功慣犯的我真是無上好物啊!

2024年11月12日 星期二

好站 : 台大演講網-智慧農業

今天找到台大演講網兩年前舉辦的一場農業物聯網演講錄影 (講者為陽明交大陳文亮教授) :





農業是物聯網應用很廣的場域, 例如農作物生長監控, 病蟲害防治, 以及防盜等等. 

2024年10月26日 星期六

好站 : micro:bit全攻略

今天在整理瀏覽器書籤時發現之前搜尋 SSD1306 資料時找到的 micro:bit 教學網站 :


從網址看應該是以前的母校高應大的學生或老師架設的, 裡面整理了許多 MicroPython on micro:bit 開發板的物聯網實驗, 包含許多常見的感測器如 DHT11 (溫溼度), HC-SR04 (超音波), 光敏電阻等等, 值得參考. micro:bit 的 MicroPython 用法與 ESP8266/ESP32 的有些差異, 這也是我很多年前買了 5 片 micro:bit 卻簡單測試後就束之高閣, 遲遲沒繼續玩的原因之一. 它比較適合用在教學上.