<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:betag="https://blogengine.io/schemas/tags">
  <channel>
    <title>The Will Will Web</title>
    <description>記載著 Will 在網路世界的學習心得與技術分享</description>
    <link>https://blog.miniasp.com/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 3.3.7.0</generator>
    <language>zh-TW</language>
    <blogChannel:blogRoll>https://blog.miniasp.com/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>https://blog.miniasp.com/syndication.axd</blogChannel:blink>
    <dc:creator>Will Huang</dc:creator>
    <dc:title>The Will Will Web</dc:title>
    <geo:lat>24.567110</geo:lat>
    <geo:long>120.970500</geo:long>
    
    <item>
      <title>使用 Ollama Cloud 取得 Token 用量：釐清 Chat Completions 與 Responses API 的串流差異</title>
      <description>&lt;p&gt;最近我在整理「頁問」串接 Ollama Cloud 的 Token 用量資訊，先釐清了一個容易混淆的問題：使用 &lt;code&gt;deepseek-v4.1-flash:1017&lt;/code&gt; 時，是不是一定要傳入 &lt;code&gt;stream_options.include_usage: true&lt;/code&gt;，才拿得到輸入與輸出的 Token 數？&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/10/21/ollama-cloud-streaming-token-usage#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/10/21/ollama-cloud-streaming-token-usage</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="64330d08084a2c11050a0324090d0a0d0517144a070b09">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/10/21/ollama-cloud-streaming-token-usage#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=a8e39125-a5d1-4694-b5e4-a6bfef8bfd15</guid>
      <pubDate>週三, 21 十月 2026 12:42:45 +0000</pubDate>
      <category>AI</category>
      <category>Web</category>
      <betag:tag>Ollama</betag:tag>
      <betag:tag>Token</betag:tag>
      <betag:tag>Chat Completions</betag:tag>
      <betag:tag>Responses API</betag:tag>
      <betag:tag>SSE</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=a8e39125-a5d1-4694-b5e4-a6bfef8bfd15</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=a8e39125-a5d1-4694-b5e4-a6bfef8bfd15</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/10/21/ollama-cloud-streaming-token-usage#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=a8e39125-a5d1-4694-b5e4-a6bfef8bfd15</wfw:commentRss>
    </item>
    <item>
      <title>深入理解 bpmfvs 讀音選擇工具：用 JavaScript、詞庫與 IVS 保存多音字讀音</title>
      <description>
&lt;p&gt;最近我在研究如何替中文文章標註注音，找到 &lt;a href="https://github.com/ButTaiwan/bpmfvs"&gt;bpmfvs 注音 IVS 字型規格&lt;/a&gt;提供的讀音選擇工具。對這類工具來說，顯示注音只是其中一件事，更麻煩的是同一個字有不同讀音，而且選完之後，還要能複製到其他軟體，甚至更換字型。&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/10/20/bpmfvs-reading-selector-javascript-ivs#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/10/20/bpmfvs-reading-selector-javascript-ivs</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5f0836333371172a3e31381f323631363e2c2f713c3032">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/10/20/bpmfvs-reading-selector-javascript-ivs#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=9cee4e70-e11e-4b1a-9a54-a521d141498b</guid>
      <pubDate>週一, 19 十月 2026 23:38:24 +0000</pubDate>
      <category>介紹好用工具</category>
      <category>JavaScript</category>
      <betag:tag>bpmfvs</betag:tag>
      <betag:tag>注音字型</betag:tag>
      <betag:tag>Unicode</betag:tag>
      <betag:tag>IVS</betag:tag>
      <betag:tag>JavaScript</betag:tag>
      <betag:tag>Ruby</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=9cee4e70-e11e-4b1a-9a54-a521d141498b</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=9cee4e70-e11e-4b1a-9a54-a521d141498b</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/10/20/bpmfvs-reading-selector-javascript-ivs#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=9cee4e70-e11e-4b1a-9a54-a521d141498b</wfw:commentRss>
    </item>
    <item>
      <title>介紹好用工具：apfel (透過 Apple FoundationModels 提供 LLM 服務)</title>
      <description>&lt;p&gt;最近我在看 &lt;a href="https://github.com/Arthur-Ficial/apfel"&gt;apfel&lt;/a&gt; 這個工具。對我來說，它最有意思的地方，是可以把 Mac 裡面的 Apple Intelligence 模型變成一個本機 HTTP API。原本需要在 Swift 程式裡呼叫的 FoundationModels，現在用 cURL 就能送出提示詞，拿回模型的回答，不需要另外申請雲端模型的 API Key。&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/10/19/apfel-apple-foundationmodels-local-llm#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/10/19/apfel-apple-foundationmodels-local-llm</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="43142a2f2f6d0b36222d24032e2a2d2a2230336d202c2e">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/10/19/apfel-apple-foundationmodels-local-llm#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=b2d40d1a-5580-40be-a952-d4ad82794e0b</guid>
      <pubDate>週日, 18 十月 2026 16:29:00 +0000</pubDate>
      <category>AI</category>
      <category>macOS</category>
      <betag:tag>apfel</betag:tag>
      <betag:tag>Apple Intelligence</betag:tag>
      <betag:tag>FoundationModels</betag:tag>
      <betag:tag>cURL</betag:tag>
      <betag:tag>Ollama</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=b2d40d1a-5580-40be-a952-d4ad82794e0b</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=b2d40d1a-5580-40be-a952-d4ad82794e0b</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/10/19/apfel-apple-foundationmodels-local-llm#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=b2d40d1a-5580-40be-a952-d4ad82794e0b</wfw:commentRss>
    </item>
    <item>
      <title>介紹好用工具：pdf-encrypt (針對 PDF 加解密與讀寫文件屬性)</title>
      <description>&lt;p&gt;我經常有一個需求，就是需要把我上課所需要的簡報轉成 PDF，還要加入防寫保護的密碼(限制編輯、防止篡改內容)。但是這個需求以前我在 Windows 的時候，有一個好用的 PDF-XChange 軟體，可以很方便地幫我修改文件屬性，還可以很快地設定密碼。但是到了 macOS 之後，我發現沒有好用的工具可以用。因此，我最近就自己寫了一套全新的 CLI 工具來做這件事。&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/10/17/generate-write-protected-pdf-using-cli#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/10/17/generate-write-protected-pdf-using-cli</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a5f2ccc9c98bedd0c4cbc2e5c8cccbccc4d6d58bc6cac8">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/10/17/generate-write-protected-pdf-using-cli#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=b6112ada-54b0-47da-a2d3-f7544d0b7fb8</guid>
      <pubDate>週五, 16 十月 2026 16:33:00 +0000</pubDate>
      <category>Tips</category>
      <category>Security</category>
      <betag:tag>PDF</betag:tag>
      <betag:tag>CLI</betag:tag>
      <betag:tag>pdf-encrypt</betag:tag>
      <betag:tag>Security</betag:tag>
      <betag:tag>Rust</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=b6112ada-54b0-47da-a2d3-f7544d0b7fb8</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=b6112ada-54b0-47da-a2d3-f7544d0b7fb8</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/10/17/generate-write-protected-pdf-using-cli#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=b6112ada-54b0-47da-a2d3-f7544d0b7fb8</wfw:commentRss>
    </item>
    <item>
      <title>Stylebot CLI 運作機制剖析：如何用 Native Messaging 驅動瀏覽器擴充功能</title>
      <description>&lt;p&gt;在網頁客製化與前端樣式調整的工作流中，&lt;a href="https://github.com/ankit/stylebot"&gt;Stylebot&lt;/a&gt; 是一款廣受歡迎的瀏覽器擴充功能，能讓使用者針對特定網站自訂並套用 CSS 樣式。隨著自動化需求與 AI 輔助開發工具（如 Claude Code 等 Coding Agent）的普及，Stylebot 在 v4 架構中推出了官方命令列工具 &lt;code&gt;@stylebot/cli&lt;/code&gt;，讓開發者與自動化代理程式能夠直接自終端機檢視網頁結構、動態調整 CSS 樣式並擷取畫面驗證結果，無須手動開啟擴充功能的視覺化編輯器。&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/10/13/stylebot-cli-architecture-chromium-native-messaging#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/10/13/stylebot-cli-architecture-chromium-native-messaging</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3166585d5d1f7944505f56715c585f585042411f525e5c">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/10/13/stylebot-cli-architecture-chromium-native-messaging#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=1e7702ab-ae19-40a8-8249-856566877f99</guid>
      <pubDate>週二, 13 十月 2026 05:43:00 +0000</pubDate>
      <category>前端工程研究</category>
      <category>Web</category>
      <category>AI</category>
      <betag:tag>Stylebot</betag:tag>
      <betag:tag>CLI</betag:tag>
      <betag:tag>Chrome Extension</betag:tag>
      <betag:tag>Native Messaging</betag:tag>
      <betag:tag>Chromium</betag:tag>
      <betag:tag>IPC</betag:tag>
      <betag:tag>Claude Code</betag:tag>
      <betag:tag>CSS</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=1e7702ab-ae19-40a8-8249-856566877f99</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=1e7702ab-ae19-40a8-8249-856566877f99</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/10/13/stylebot-cli-architecture-chromium-native-messaging#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=1e7702ab-ae19-40a8-8249-856566877f99</wfw:commentRss>
    </item>
    <item>
      <title>為什麼 Inno Setup 安裝程式的附加工作頁面一片空白？深入追查 Windows Global Atom Table 耗盡問題</title>
      <description>&lt;p&gt;最近我發佈了 &lt;a href="https://github.com/doggy8088/carnac/releases/tag/v2.6.0"&gt;Carnac v2.6.0&lt;/a&gt;，下載安裝檔 &lt;code&gt;Carnac-2.6.0-Setup.exe&lt;/code&gt; 準備將本機的 Carnac 2.5.0 升級上去。沒想到執行安裝程式之後，畫面直接跳到「Select Additional Tasks」頁面，中間原本應該顯示「建立桌面捷徑」與「開機自動啟動」核取方塊的區域卻&lt;strong&gt;一片空白&lt;/strong&gt;，左上角只留下一個細小的虛線焦點框。&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/10/11/troubleshooting-inno-setup-blank-tasks-windows-global-atom-table-exhaustion#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/10/11/troubleshooting-inno-setup-blank-tasks-windows-global-atom-table-exhaustion</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="fcab959090d2b4899d929bbc919592959d8f8cd29f9391">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/10/11/troubleshooting-inno-setup-blank-tasks-windows-global-atom-table-exhaustion#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=526a98cd-90f2-4c1e-844e-5fa6dfbb8fe7</guid>
      <pubDate>週日, 11 十月 2026 14:35:00 +0000</pubDate>
      <category>Windows</category>
      <category>系統管理</category>
      <category>心得分享</category>
      <betag:tag>Windows</betag:tag>
      <betag:tag>Inno Setup</betag:tag>
      <betag:tag>Delphi</betag:tag>
      <betag:tag>Win32 API</betag:tag>
      <betag:tag>Global Atom Table</betag:tag>
      <betag:tag>PowerShell</betag:tag>
      <betag:tag>Carnac</betag:tag>
      <betag:tag>debug</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=526a98cd-90f2-4c1e-844e-5fa6dfbb8fe7</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=526a98cd-90f2-4c1e-844e-5fa6dfbb8fe7</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/10/11/troubleshooting-inno-setup-blank-tasks-windows-global-atom-table-exhaustion#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=526a98cd-90f2-4c1e-844e-5fa6dfbb8fe7</wfw:commentRss>
    </item>
    <item>
      <title>如何使用 Entra ID 應用程式與憑證存取 SharePoint 與 Teams 的指定資料夾</title>
      <description>&lt;p&gt;最近有個需求，要讓一台電腦上的排程程式，每天自動把產出的檔案上傳到公司 Teams 頻道的「檔案」裡面，讓團隊成員可以直接在 Teams 取用。這種每天定時執行的工作，當然不能靠人工登入，也不適合把某個人的帳號密碼寫進設定檔。&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/10/06/entra-app-certificate-sharepoint-teams-folder-access#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/10/06/entra-app-certificate-sharepoint-teams-folder-access</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1b4c72777735536e7a757c5b767275727a686b35787476">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/10/06/entra-app-certificate-sharepoint-teams-folder-access#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=46b7d020-34a0-4c29-9fbc-41d3d9535adc</guid>
      <pubDate>週二, 6 十月 2026 17:36:46 +0000</pubDate>
      <category>Microsoft Azure</category>
      <category>Office 365</category>
      <category>Security</category>
      <betag:tag>Microsoft Entra ID</betag:tag>
      <betag:tag>Microsoft Graph</betag:tag>
      <betag:tag>SharePoint</betag:tag>
      <betag:tag>Teams</betag:tag>
      <betag:tag>OpenSSL</betag:tag>
      <betag:tag>PowerShell</betag:tag>
      <betag:tag>certificate</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=46b7d020-34a0-4c29-9fbc-41d3d9535adc</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=46b7d020-34a0-4c29-9fbc-41d3d9535adc</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/10/06/entra-app-certificate-sharepoint-teams-folder-access#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=46b7d020-34a0-4c29-9fbc-41d3d9535adc</wfw:commentRss>
    </item>
    <item>
      <title>如何在 macOS 使用 Windows App CLI 自動化遠端桌面連線</title>
      <description>&lt;p&gt;最近我在整理 macOS 上的 VPN 與遠端桌面連線流程，希望把每天都會重複操作的步驟，整合成幾個簡單的 &lt;code&gt;make&lt;/code&gt; 命令。VPN 可以透過命令列連線，那麼平常用來連接 Windows 主機的 &lt;strong&gt;Windows App&lt;/strong&gt;，是不是也有 CLI 可以用？能不能順便帶入帳號密碼，讓我不用每次都重新輸入？&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/10/03/windows-app-cli-remote-desktop-automation-on-macos#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/10/03/windows-app-cli-remote-desktop-automation-on-macos</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0a5d63666624427f6b646d4a676364636b797a24696567">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/10/03/windows-app-cli-remote-desktop-automation-on-macos#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=dbd317bf-5086-4297-8fd9-cd61d4ffc4f9</guid>
      <pubDate>週六, 3 十月 2026 15:23:24 +0000</pubDate>
      <category>macOS</category>
      <category>Windows</category>
      <betag:tag>Windows App</betag:tag>
      <betag:tag>RDP</betag:tag>
      <betag:tag>CLI</betag:tag>
      <betag:tag>JXA</betag:tag>
      <betag:tag>Makefile</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=dbd317bf-5086-4297-8fd9-cd61d4ffc4f9</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=dbd317bf-5086-4297-8fd9-cd61d4ffc4f9</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/10/03/windows-app-cli-remote-desktop-automation-on-macos#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=dbd317bf-5086-4297-8fd9-cd61d4ffc4f9</wfw:commentRss>
    </item>
    <item>
      <title>最佳化 Zsh 的 NVM Lazy Load 載入機制：維持 100ms 極速啟動的技巧</title>
      <description>&lt;p&gt;最近我為了極致追求 macOS 上 &lt;a href="https://zsh.sourceforge.io/"&gt;Zsh&lt;/a&gt; 終端機（搭配 Ghostty 與 Powerlevel10k）的啟動速度，針對 &lt;code&gt;~/.zshrc&lt;/code&gt; 做了一番體檢與效能重構。大家都知道，如果直接在 &lt;code&gt;~/.zshrc&lt;/code&gt; 中完整 &lt;code&gt;source "$NVM_DIR/nvm.sh"&lt;/code&gt;，每次開啟新的終端機視窗或分頁，光是這行就要耗費 200ms ~ 500ms 不等，嚴重拖慢 Shell 啟動體驗。&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/09/01/Optimizing-NVM-Lazy-Load-Mechanism-for-Zsh#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/09/01/Optimizing-NVM-Lazy-Load-Mechanism-for-Zsh</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="04536d68682a4c71656a6344696d6a6d6577742a676b69">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/09/01/Optimizing-NVM-Lazy-Load-Mechanism-for-Zsh#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=8c187688-abae-4762-bbb8-d1fe89d6396f</guid>
      <pubDate>週二, 1 九月 2026 12:53:00 +0000</pubDate>
      <category>Linux</category>
      <category>macOS</category>
      <betag:tag>zsh</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=8c187688-abae-4762-bbb8-d1fe89d6396f</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=8c187688-abae-4762-bbb8-d1fe89d6396f</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/09/01/Optimizing-NVM-Lazy-Load-Mechanism-for-Zsh#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=8c187688-abae-4762-bbb8-d1fe89d6396f</wfw:commentRss>
    </item>
    <item>
      <title>搞懂 Chrome Remote Debugging：--autoConnect、9222 與 CDP 的差異</title>
      <description>&lt;p&gt;最近我在研究 Chrome DevTools MCP 時，遇到一個讓我困惑的問題：明明在 &lt;strong&gt;chrome://inspect/#remote-debugging&lt;/strong&gt; 啟用了 Remote Debugging，也看到 &lt;strong&gt;Server running at: 127.0.0.1:9222&lt;/strong&gt;，但 &lt;strong&gt;curl http://127.0.0.1:9222/json/version&lt;/strong&gt; 卻回傳 &lt;strong&gt;HTTP 404 Not Found&lt;/strong&gt;。深入研究後才發現，這其實是兩種不同的「連線建立方式」&amp;mdash;&amp;mdash;以下就是完整的來龍去脈。&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/08/16/chrome-remote-debugging-autoconnect-9222-cdp#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/08/16/chrome-remote-debugging-autoconnect-9222-cdp</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6a3d03060644221f0b040d2a070304030b191a44090507">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/08/16/chrome-remote-debugging-autoconnect-9222-cdp#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=fb82f437-8fb6-4edf-8b08-b0e66f2a5582</guid>
      <pubDate>週日, 16 八月 2026 00:13:00 +0000</pubDate>
      <category>AI</category>
      <category>Web</category>
      <betag:tag>chrome</betag:tag>
      <betag:tag>cdp</betag:tag>
      <betag:tag>autoConnect</betag:tag>
      <betag:tag>9222</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=fb82f437-8fb6-4edf-8b08-b0e66f2a5582</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=fb82f437-8fb6-4edf-8b08-b0e66f2a5582</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/08/16/chrome-remote-debugging-autoconnect-9222-cdp#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=fb82f437-8fb6-4edf-8b08-b0e66f2a5582</wfw:commentRss>
    </item>
    <item>
      <title>解密 macOS 視窗管理：從視窗縮放到虛擬空間的核心邏輯</title>
      <description>&lt;p&gt;由於 macOS 的視窗管理系統與 Windows 作業系統有著根本的設計差異，我因為今年才初次接觸 Mac 電腦，常常會對視窗的行為感到困惑，想問問題的時候，連「好好說話」都沒辦法。尤其是在「多顯示器」環境下，或是當你嘗試將視窗放大或移動時，我會常常無法預測視窗移動的邏輯，還會不知道怎樣快速移動視窗，這些都讓我感覺到十分困惑。所以這幾天花了點時間整理了一下相關知識，寫成這篇文章，希望能夠更清楚地理解 macOS 的視窗管理邏輯，並且掌握一些實用的技巧。&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/05/27/Demystifying-macOS-Window-Management#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/05/27/Demystifying-macOS-Window-Management</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="65320c09094b2d10040b0225080c0b0c0416154b060a08">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/05/27/Demystifying-macOS-Window-Management#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=6eb6da6d-1442-4a41-8a9c-7d849dc4c755</guid>
      <pubDate>週三, 27 五月 2026 03:25:00 +0000</pubDate>
      <category>macOS</category>
      <betag:tag>macOS</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=6eb6da6d-1442-4a41-8a9c-7d849dc4c755</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=6eb6da6d-1442-4a41-8a9c-7d849dc4c755</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/05/27/Demystifying-macOS-Window-Management#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=6eb6da6d-1442-4a41-8a9c-7d849dc4c755</wfw:commentRss>
    </item>
    <item>
      <title>Azure OpenAI Service API 設計演進：從部署導向到統一 v1 介面</title>
      <description>&lt;p&gt;這兩年如果你有同時碰 OpenAI API 與 Azure OpenAI Service，你一定會覺得同樣是呼叫 LLM 的 API，明明都是一樣的服務，但是 Azure OpenAI 的 API 設計就是特別難用，要先部署模型、呼叫路徑要帶 deployment name、每個請求還要綁 &lt;code&gt;?api-version=YYYY-MM-DD&lt;/code&gt; 查詢字串 (Query String)。這套設計不是沒有理由，但對應用開發者來說，確實也帶來不少心智負擔。&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/03/04/Azure-OpenAI-Service-API-Design-Evolution#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/03/04/Azure-OpenAI-Service-API-Design-Evolution</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a8ffc1c4c486e0ddc9c6cfe8c5c1c6c1c9dbd886cbc7c5">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/03/04/Azure-OpenAI-Service-API-Design-Evolution#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=8b7eda41-7013-4964-8724-f22e40cfc14f</guid>
      <pubDate>週三, 4 三月 2026 12:26:00 +0000</pubDate>
      <category>Microsoft Azure</category>
      <betag:tag>Azure OpenAI Service</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=8b7eda41-7013-4964-8724-f22e40cfc14f</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=8b7eda41-7013-4964-8724-f22e40cfc14f</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/03/04/Azure-OpenAI-Service-API-Design-Evolution#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=8b7eda41-7013-4964-8724-f22e40cfc14f</wfw:commentRss>
    </item>
    <item>
      <title>如何在 Windows 安裝和設定 Cloudflare Tunnel 服務</title>
      <description>&lt;p&gt;Cloudflare Tunnel 是 Cloudflare 提供的一種服務，允許你將本地服務安全地暴露給網際網路，而無需開放防火牆或設定路由器。我最近因為重新整理了一台測試機，整理了一些筆記，本篇文章我打算記錄如何在一台乾淨的 Windows Server 環境中安裝和設定 Cloudflare Tunnel 服務的過程。&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/02/08/How-to-install-and-set-up-Cloudflare-Tunnel-service-on-Windows#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/02/08/How-to-install-and-set-up-Cloudflare-Tunnel-service-on-Windows</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="65320c09094b2d10040b0225080c0b0c0416154b060a08">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/02/08/How-to-install-and-set-up-Cloudflare-Tunnel-service-on-Windows#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=c0ecee29-4cd3-42a5-9bfb-867eac6c0ac9</guid>
      <pubDate>週日, 8 二月 2026 15:58:00 +0000</pubDate>
      <category>Windows</category>
      <category>系統管理</category>
      <betag:tag>cloudflare tunnel</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=c0ecee29-4cd3-42a5-9bfb-867eac6c0ac9</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=c0ecee29-4cd3-42a5-9bfb-867eac6c0ac9</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/02/08/How-to-install-and-set-up-Cloudflare-Tunnel-service-on-Windows#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=c0ecee29-4cd3-42a5-9bfb-867eac6c0ac9</wfw:commentRss>
    </item>
    <item>
      <title>如何使用 ssh-copy-id 快速設定 Linux 遠端主機的 SSH 免密碼登入</title>
      <description>&lt;p&gt;身為一名開發人員，每天透過 SSH 連線到遠端 Linux 主機進行維運或部署，可以說是家常便飯。如果不設定 SSH 金鑰登入 (Public Key Authentication) ，每次連線都要輸入密碼，長期下來不僅浪費時間，也容易打斷工作的節奏。雖然我們可以手動將本機的公鑰 (Public Key) 內容複製起來，然後貼到遠端主機的 &lt;code&gt;~/.ssh/authorized_keys&lt;/code&gt; 檔案中，但這個過程繁瑣且容易出錯。這篇文章我將介紹一個內建在 Linux 與 macOS 系統中非常實用的工具 &lt;code&gt;ssh-copy-id&lt;/code&gt; ，讓你只要一行指令就能輕鬆完成設定，實現無密碼登入。&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/01/26/Use-ssh-copy-id-to-set-up-SSH-passwordless-login-on-a-Linux-remote-host#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/01/26/Use-ssh-copy-id-to-set-up-SSH-passwordless-login-on-a-Linux-remote-host</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="481f21242466003d29262f0825212621293b38662b2725">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/01/26/Use-ssh-copy-id-to-set-up-SSH-passwordless-login-on-a-Linux-remote-host#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=303ecc2e-9dee-4425-98bf-51d7634f8b6b</guid>
      <pubDate>週一, 26 一月 2026 15:59:00 +0000</pubDate>
      <category>Linux</category>
      <betag:tag>ssh-copy-id</betag:tag>
      <betag:tag>ssh</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=303ecc2e-9dee-4425-98bf-51d7634f8b6b</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=303ecc2e-9dee-4425-98bf-51d7634f8b6b</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/01/26/Use-ssh-copy-id-to-set-up-SSH-passwordless-login-on-a-Linux-remote-host#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=303ecc2e-9dee-4425-98bf-51d7634f8b6b</wfw:commentRss>
    </item>
    <item>
      <title>Windows 終端機入門操作手冊</title>
      <description>&lt;p&gt;氛圍開發 (Vibe coding) 越來越夯，也越來越多人想開始使用&lt;strong&gt;終端機&lt;/strong&gt;操作超級強大的 AI 開發工具，像是 &lt;a href="https://code.claude.com/docs/zh-TW/overview"&gt;Claude Code&lt;/a&gt;、&lt;a href="https://developers.openai.com/codex/cli/"&gt;Codex CLI&lt;/a&gt;、&lt;a href="https://github.com/features/copilot/cli"&gt;Copilot CLI&lt;/a&gt;、&lt;a href="https://geminicli.com/"&gt;Gemini CLI&lt;/a&gt; 都非常厲害，都很值得學習！但我發現許多 Windows 使用者，對於終端機 (Terminal) 或命令列介面都非常陌生，我說的是連「軟體工程師」都可能覺得陌生，更別說是&lt;strong&gt;非工程師背景&lt;/strong&gt;的使用者了。這篇文章就是要幫助&lt;strong&gt;從未使用過終端機介面 (命令列介面)&lt;/strong&gt; 的 Windows 使用者，順利跨出第一步，開始使用終端機。&lt;/p&gt;&lt;p&gt;... &lt;a class="more" href="https://blog.miniasp.com/post/2026/01/24/Windows-Terminal-Beginners-Guide#continue"&gt;繼續閱讀&lt;/a&gt; ...&lt;/p&gt;</description>
      <link>https://blog.miniasp.com/post/2026/01/24/Windows-Terminal-Beginners-Guide</link>
      <author><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="491e20252567013c28272e0924202720283a39672a2624">[email&#160;protected]</a></author>
      <comments>https://blog.miniasp.com/post/2026/01/24/Windows-Terminal-Beginners-Guide#comment</comments>
      <guid>https://blog.miniasp.com/post.aspx?id=252d2b1e-2ab1-4480-ba99-76245c035223</guid>
      <pubDate>週六, 24 一月 2026 09:08:00 +0000</pubDate>
      <category>Windows</category>
      <category>介紹好用工具</category>
      <betag:tag>windows terminal</betag:tag>
      <betag:tag>Windows</betag:tag>
      <dc:publisher>will</dc:publisher>
      <pingback:server>https://blog.miniasp.com/pingback.axd</pingback:server>
      <pingback:target>https://blog.miniasp.com/post.aspx?id=252d2b1e-2ab1-4480-ba99-76245c035223</pingback:target>
      <trackback:ping>https://blog.miniasp.com/trackback.axd?id=252d2b1e-2ab1-4480-ba99-76245c035223</trackback:ping>
      <wfw:comment>https://blog.miniasp.com/post/2026/01/24/Windows-Terminal-Beginners-Guide#comment</wfw:comment>
      <wfw:commentRss>https://blog.miniasp.com/syndication.axd?post=252d2b1e-2ab1-4480-ba99-76245c035223</wfw:commentRss>
    </item>
  </channel>
</rss><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>