系列精選
查看全部工程師日誌
寫 Code 之外的生活觀察 — 理財、旅遊、健康、居住、時事評論
Elasticsearch 完整指南
從零開始學 Elasticsearch — 環境建置到生產環境優化
Claude Code 完整教學
從入門到進階 — Hooks、Sub-agents、MCP、Skills 開發全攻略
AZ-305 Azure 架構師認證
Azure 解決方案架構設計師五日課程筆記
Java / Spring 學習筆記
Java 核心語法、Stream API、併發控制、Spring Boot 實戰
AI Agent 架構全解析
從 harness 骨架拆解現代 AI Agent — 以 Claude Code 為例的 7 層架...
日本免稅 11 月 1 日改成先付後退:封袋沒了,也把最後一道提醒拿掉了
那個透明塑膠袋,快要沒有了。 在日本買藥妝、零食、面膜,結帳時店員會把東西裝進一個封起來的袋子,印著離境前不要拆開。那是消耗品免稅的規矩:整包原封不動帶出國,袋子就是那道鎖。2026 年 10 月 31 日之後,它不會再出現。 跟它一起消失的,是「結帳當下就少付稅」這件事。 袋子還在的時候,風險不在你身上舊制的邏輯很單純。免稅櫃檯出示護照,店家確認完身分,直接用未稅價賣給你,或是在結帳櫃檯當場退稅。錢在那一刻就省下來了。 要做本人確認、要留紀錄、出錯被追稅的是店家。商品分成一般品跟消耗品,消耗品才要封袋,也才有 50 萬日圓的購買上限;家電、手錶、包包那種一般品,買了拆開用沒人管。 所以你在店裡就結案了。機場那一關,對多數人只是走過去而已。 2025 年 4 月,第一條路先被封掉先鬆動的不是袋子,是寄送。 2025 年 3 月 31 日以前,免稅買完的東西可以自己拿去郵局寄回台灣,出境時向海關出示配送單,輸出確認就算完成。這叫別送。2025 年 4 月 1 日起,這條路廢止了。 之後只剩一個例外:免稅店事先跟第二種貨物利用運送事業者簽代理店契約,由店舖直接寄到海外,也就是直送制度...
AI 與科技新聞摘要 - 2026/09/12
一台叫 RubyDoc.info 的機器,工作內容是替 RubyGems 上的套件產生 API 文件。你把 gem 推上去、發一個文件產生請求,它就去抓那個套件、執行裡面的建置腳本、把渲染好的文件掛上網。它設計成會替陌生人執行程式碼,這正是它存在的理由。 9 月 12 日公開的一批紀錄說,2026 年 5 月開始有人照這個設計走了一遍,而且走得很有耐心。 一、有人把文件產生服務當成自己的執行環境研究者 Spencer Kitts、Thomas Larsen 與 Sydney Von Arx 記錄到一批 agent 在 Ruby 生態系的活動,他們形容這批的行為模式跟先前在一個德語 wiki 上找到的那群高度相似。The Hacker News 那篇說,這件事最早是《華爾街日報》報導的。 攻擊鏈有四步。先把惡意套件上傳到 RubyGems,接著觸發文件產生請求、讓 RubyDoc.info 去建置這個套件,然後利用建置腳本在 RubyDoc.info 上執行程式碼並從那裡爬取目標網站,最後把拿到的資料透過「再發布另一個 gem 回 RubyGems」的方式帶出去。 真正有意思的是第...
該不該幫你的內容標價:RSL 補上了 robots.txt 說不出口的那一格
你的站要不要在 robots.txt 旁邊掛一張價目表? 這題可以先用一個更省事的方式問:你的內容明天被整包拿去訓練模型,你會不會因此少賺到錢。答不出來,或者答案是「不會」,那底下這套東西讀個熱鬧就好,不用動手。 robots.txt 能講的話少得可憐。Allow 跟 Disallow,就這兩格。你真正想講的從來不是「准不准爬」,而是「拿去做搜尋索引可以,拿去訓練要另外談」「學術單位免費,商業公司算錢」「歐盟境內另有條款」。這些條件在 robots.txt 裡一句都寫不出來,於是大家的做法是把 bot 名字一隻一隻列進 Disallow,用一份黑名單去模擬一套自己也講不清楚的規則。 Really Simple Licensing 想補的就是這一格。它是一份 XML,媒體型別 application/rsl+xml,掛在 robots.txt 旁邊,內容是機器讀得懂的授權條款。發起的兩個人裡,一個是 RSS 標準的共同創造者,命名的血統相當明顯。 順帶把層次先分清楚。簽章那套解的是「你是誰」,這套解的是「你能拿去做什麼、要付多少」。兩件事互不取代也互不依賴:你可以在不知道對方是誰的...
無標題
9/7: TPE01P2501 北市府日常維運(查舊環境白名單問題)1h TPE01P2601 北市府處理新舊環境bug 6h TPE01P2501 北市府日常維運(處理Richmenu選單問題)2h TPE01P2601 用戶管理介面-新增市政訂閱清單 1.5h 03CO 聯繫溝通討論 (北市府例會)0.5h 9/8: TPE01P2601 用戶管理介面-新增市政訂閱清單 4h 03CO 聯繫溝通討論 (彰銀貼圖任務會議)1h TPE01P2501 北市府日常維運(查舊環境訂閱推播問題)1h TPE01P2601 北市府處理新舊環境bug 2h 9/9: TPE01P2501 北市府日常維運(查舊環境停水通知和Solr問題)2h TPE01P2601 處理BC註冊碼管理平台開發和Bug 3.5h TPE01P2501 北市府LineBC弱掃處理 3h 03CO 聯繫溝通討論 (北市府討論舊環境訂閱問題)0.5h TPE01P2601 8.9.1 整合測試環境與框架建置 2h 9/10: 03CO 聯繫溝通討論 (勞資所爬蟲會議...
它把框線拆光,換成一行一行的字:Claude Code 的螢幕閱讀器模式
終端機裡那個轉圈圈的符號,每秒重畫好幾次。框線圍出一個盒子,盒子裡的字換掉了,盒子本身沒換。紅色代表出事,待你批准的那一格會亮起來。 這套介面有一半的資訊不在文字裡。它在位置、在顏色、在「剛剛那塊地方變了」這件事上面。 朗讀器拿到的是一串字元。能唸的只有剩下的那一半。 claude --ax-screen-reader 打下去之後,補回那一半的方式,是把整個介面改寫成一行一行、印出去就不再動的字。第一行會告訴你它進來了:[Screen Reader Mode: on via flag]。 三種開法,關掉的時候順序會反過來12345678# 只開這一次claude --ax-screen-reader# 這個 shell 開出來的 session 都開(Bash / Zsh)export CLAUDE_AX_SCREEN_READER=1# PowerShell 的寫法$env:CLAUDE_AX_SCREEN_READER = "1" 第三種是寫進 user settings:"axScreenReader": true,這台機器上每個 ...
AI 與科技新聞摘要 - 2026/09/11
一份講 AI 有多危險的報告,由賣 AI 的那家公司自己偵測、自己中斷、自己決定要寫進去哪幾件,你該把它當證據還是當公關? 9 月 10 日 Anthropic 發了第四份威脅情報報告。隔天 Bloomberg 報導,OpenAI 執行長在一場全公司會議上跟員工說,公司願意調節自己的前沿開發速度,前提是別家也一起。同一組四十八小時裡還有幾件事:原本只在 Codex 裡跑的 agent 框架被包成公開 API、一家用商品記憶體繞開 HBM 的晶片公司拿到 8.75 億美元、中國那邊的 AI 加速器集體調漲,理由是 HBM 得走灰色管道買。 這裡面真正要緊的是頭兩件,所以我在它們身上花的篇幅不對稱。 一、分子印出來了,分母沒有報告的名字是「Detecting and countering misuse of AI: September 2026」,分成七個危害領域:cyber operations、surveillance operations、influence operations、conventional weapons、biological misuse、scams and ...
一個值抄兩份,還要求逐字相同:拆開 MCP 的 Mcp-Param 標頭
一個 tools/call 請求打到你的 nginx 上,在它把 body 讀完之前,那台機器到底知道些什麼? 知道方法是 POST,知道路徑是 /mcp。就這樣。哪個 tool、哪個租戶、要跑在哪個 region,全部埋在 JSON-RPC 的 body 裡,而 JSON-RPC 的設計本來就是把一切塞進那一坨 JSON:method 在裡面,參數也在裡面,URL 從頭到尾只有一個。你擺在前面負責路由或限流的那台東西,看到的每一個請求長得一模一樣。 2026-07-28 這版規格的處理方式,是把幾個欄位抄一份到 HTTP 標頭上。 一個合規的請求,標頭上多了三行規格自己給的範例,是 Google Cloud Spanner 的 execute_sql: 12345678910111213141516171819POST /mcp HTTP/1.1Content-Type: application/jsonMCP-Protocol-Version: 2026-07-28Mcp-Method: tools/callMcp-Name: execute_sqlMcp-Param-Reg...
憑證裝了它還是不認:Claude Code 在公司網路後面該設的那幾個變數
公司配的筆電,Claude Code 裝完,第一次打 claude 下去,第一個請求就死在憑證錯誤上。同一個版本在家裡那台機器跑得好好的。 你去問 IT,得到的回覆是公司有做 TLS 檢查,根憑證早就推到每一台機器了。 推是推了。它就是不認。 export 完沒生效,不是你設錯,是設得太晚最直覺的動作是補 proxy。你開一個新分頁 export HTTPS_PROXY=http://proxy.example.com:8080,切回原本那個還開著的 session 再送一次,錯誤一模一樣。 這裡有一條規則寫在官方那頁的第一段,但你通常要撞過一次才會回頭去讀它:shell 裡 export 的環境變數,Claude Code 在啟動時讀一次。原文是「Variables exported in your shell are read once at startup, so a running session doesn’t pick up later changes to your shell environment」。一個跑起來的 session 不會回頭看你的 shell 後來...
AI 與科技新聞摘要 - 2026/09/10
一個產業所有人都在賺錢的時候,數字會變多,能被查證的數字不會變多。9 月 9 日到 10 日這兩天攤出來的幾件事,主詞幾乎都是一個金額或一個成長率,而那些數字的口徑,要嘛是講的人自己定的,要嘛沒有人交代過怎麼算出來。份量最重的那則剛好是唯一的例外,它來自一家每個月固定把數字交給交易所的公司。 一、5,000 億這個關卡,跟第 5 個月沒有關係台積電 9 月 10 日公告 8 月合併營收新台幣 5,148.06 億元,月增 10.1%,年增 53.3%。月增比的是今年 7 月,年增比的是去年 8 月,兩個分母不一樣,要分開看。這是單月營收首度衝破 5,000 億元大關。前八月累計 3 兆 3,868.7 億元、年增 39.3%,累計那個 39.3% 的期間是今年 1 到 8 月,不是上半年,也不是全年。 把 53.3% 跟 39.3% 放在一起看,加速發生在後段:單月年增率高過整段期間的年增率,代表 8 月比前七個月的平均更猛。這是我唯一願意自己做的算術,因為兩個數字的期間都寫得清楚。 接下來這句要小心。報導的原話是「單月營收已連續 4 個月創高」,口徑就是刷新單月新高的連續月數,...
server 不准再反問你,這讓 MCP server 變好寫了
把「server 主動問使用者」這個能力拿掉,MCP server 反而變好寫了。 這句話在 2026-07-28 這版規格上是字面成立的。MRTR 那頁開場的 Note 寫得毫不客氣:server 要送 roots/list、sampling/createMessage、elicitation/create 這類請求,MUST 走新的模式,然後補了一句 The previous pattern of server-initiated requests is no longer supported. This is a breaking change. 八月那篇寫 A2A 的時候,我卡在 MCP 沒有「我需要你補一點東西才能繼續」這個狀態。那篇當時的結論是:你硬要在 MCP 工具裡表達它,只能自己發明一套約定,回一包特殊的 JSON 說「請再呼叫我一次並帶上 X」,再去 client 那邊寫膠水認這個約定。 那包特殊的 JSON 現在寫進規格了。 那包 JSON 現在有名字了它叫 InputRequiredResult,是一種 Result,不是錯誤。裡面兩個欄位都是選配的:in...









