<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Programming on Tarragon</title><link>https://tarrragon.github.io/blog/tags/programming/</link><description>Recent content in Programming on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Tue, 03 Nov 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/programming/index.xml" rel="self" type="application/rss+xml"/><item><title>程式語言：Python、Go、PHP、Flutter</title><link>https://tarrragon.github.io/blog/programming/</link><pubDate>Tue, 03 Nov 2026 00:00:00 +0800</pubDate><guid>https://tarrragon.github.io/blog/programming/</guid><description>&lt;p>本分類收錄綁定特定程式語言或框架的教學系列：Python（入門 &lt;code>python/basic/&lt;/code> 與進階 &lt;code>python/advanced/&lt;/code>）、Go（入門 &lt;code>go/basic/&lt;/code> 與進階 &lt;code>go/advanced/&lt;/code>）、PHP 的伺服器執行模型（&lt;code>php/&lt;/code>），以及 Flutter 與 Dart（&lt;code>flutter/&lt;/code>）。2026-11-03 這些系列從首頁的頂層分類搬進本分類，同一個語言的入門與進階合進同一個語言資料夾；舊網址由各頁 frontmatter 的 &lt;code>aliases&lt;/code> 導向新位置。&lt;/p>
&lt;h2 id="子分類與排序">子分類與排序&lt;/h2>
&lt;p>列表頁依 weight 排出子分類，weight 沿用搬移之前首頁列出這些系列的順序：&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>weight&lt;/th>
 &lt;th>子分類&lt;/th>
 &lt;th>收錄&lt;/th>
 &lt;th>排在這個位置的理由&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>1&lt;/td>
 &lt;td>&lt;a href="https://tarrragon.github.io/blog/programming/python/" data-link-title="Python：入門實戰與進階機制" data-link-desc="要學 Python 的語言精神、型別系統、標準函式庫與重構，或往下深入 asyncio、內部機制與擴展開發時，從這裡進入入門與進階的系列">Python&lt;/a>&lt;/td>
 &lt;td>入門：以 Hook 系統為範例的語言基礎與重構；進階：asyncio、元編程、CPython 內部機制、C/Rust 擴展&lt;/td>
 &lt;td>沿用首頁順序&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>2&lt;/td>
 &lt;td>&lt;a href="https://tarrragon.github.io/blog/programming/go/" data-link-title="Go：入門實戰與進階並發、runtime 與服務架構" data-link-desc="要學 Go 的語言精神、型別與標準函式庫、錯誤處理與測試，或往下深入並發模式、WebSocket、runtime 與服務架構時，從這裡進入入門與進階的系列">Go&lt;/a>&lt;/td>
 &lt;td>入門：語言精神、型別、標準函式庫、錯誤處理與測試；進階：並發模式、WebSocket、runtime 與服務架構&lt;/td>
 &lt;td>沿用首頁順序&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>3&lt;/td>
 &lt;td>&lt;a href="https://tarrragon.github.io/blog/programming/php/" data-link-title="PHP 伺服器執行模型" data-link-desc="PHP 在伺服器上怎麼被執行：從 CGI、mod_php、FastCGI 與 PHP-FPM 到常駐 worker，每一種執行模型的程序與狀態壽命、成本與部署陷阱">PHP&lt;/a>&lt;/td>
 &lt;td>PHP 在伺服器上的執行模型：CGI、mod_php、FastCGI、PHP-FPM、OPcache、常駐 worker&lt;/td>
 &lt;td>範圍只有伺服器上的執行模型，比 Python 與 Go 的系列窄&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>4&lt;/td>
 &lt;td>&lt;a href="https://tarrragon.github.io/blog/programming/flutter/" data-link-title="Flutter 實戰指南" data-link-desc="Flutter 與 Dart 的實作層教材：型別設計與語言機制、狀態與渲染、測試策略、工具鏈，從實際專案 case 抽出判斷標準。">Flutter&lt;/a>&lt;/td>
 &lt;td>Dart 型別設計、狀態與渲染、測試策略與工具鏈&lt;/td>
 &lt;td>框架層教材，章節從 work-log 的 case 聚類&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>語言子分類之內，入門（&lt;code>basic/&lt;/code>，weight 1）排在進階（&lt;code>advanced/&lt;/code>，weight 2）之前：進階系列的目標讀者是讀完入門系列的人。&lt;/p>
&lt;h2 id="分類的範圍與相鄰分類">分類的範圍與相鄰分類&lt;/h2>
&lt;ul>
&lt;li>語言無關的設計原則與 DDD 放 &lt;a href="https://tarrragon.github.io/blog/software-design/" data-link-title="軟體設計：設計原則與 DDD 領域驅動設計" data-link-desc="要判斷模組邊界、單一職責與程式碼壞味道，或判斷什麼時候值得建領域模型、不變式落在哪一層時，從這裡進入語言無關的設計原則與 DDD 系列">軟體設計&lt;/a>；各語言系列引用那裡的定義，那裡不依賴任何語言的實作。&lt;/li>
&lt;li>跨語言的後端能力（資料庫、快取、佇列、觀測、部署）放 &lt;a href="https://tarrragon.github.io/blog/backend/" data-link-title="Backend 服務實務指南" data-link-desc="用跨語言教學路線整理資料庫、快取、訊息佇列、觀測、部署、可靠性、資安、事故與容量等後端服務能力">Backend&lt;/a>；語言系列寫實作，連回 Backend 的能力與選型。&lt;/li>
&lt;/ul>
&lt;h2 id="backlog">Backlog&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>項目&lt;/th>
 &lt;th>類型&lt;/th>
 &lt;th>前置條件&lt;/th>
 &lt;th>規模&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>各語言的 &lt;code>title&lt;/code> 與 &lt;code>description&lt;/code> 寫法不一致（Python 入門寫「維護工程師實戰指南」、Go 寫「入門實戰指南」），讀者在列表上分不出兩者是同一層級的系列；並排檢視後統一寫法&lt;/td>
 &lt;td>維護&lt;/td>
 &lt;td>無&lt;/td>
 &lt;td>小&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description><content:encoded><![CDATA[<p>本分類收錄綁定特定程式語言或框架的教學系列：Python（入門 <code>python/basic/</code> 與進階 <code>python/advanced/</code>）、Go（入門 <code>go/basic/</code> 與進階 <code>go/advanced/</code>）、PHP 的伺服器執行模型（<code>php/</code>），以及 Flutter 與 Dart（<code>flutter/</code>）。2026-11-03 這些系列從首頁的頂層分類搬進本分類，同一個語言的入門與進階合進同一個語言資料夾；舊網址由各頁 frontmatter 的 <code>aliases</code> 導向新位置。</p>
<h2 id="子分類與排序">子分類與排序</h2>
<p>列表頁依 weight 排出子分類，weight 沿用搬移之前首頁列出這些系列的順序：</p>
<table>
  <thead>
      <tr>
          <th>weight</th>
          <th>子分類</th>
          <th>收錄</th>
          <th>排在這個位置的理由</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>1</td>
          <td><a href="/blog/programming/python/" data-link-title="Python：入門實戰與進階機制" data-link-desc="要學 Python 的語言精神、型別系統、標準函式庫與重構，或往下深入 asyncio、內部機制與擴展開發時，從這裡進入入門與進階的系列">Python</a></td>
          <td>入門：以 Hook 系統為範例的語言基礎與重構；進階：asyncio、元編程、CPython 內部機制、C/Rust 擴展</td>
          <td>沿用首頁順序</td>
      </tr>
      <tr>
          <td>2</td>
          <td><a href="/blog/programming/go/" data-link-title="Go：入門實戰與進階並發、runtime 與服務架構" data-link-desc="要學 Go 的語言精神、型別與標準函式庫、錯誤處理與測試，或往下深入並發模式、WebSocket、runtime 與服務架構時，從這裡進入入門與進階的系列">Go</a></td>
          <td>入門：語言精神、型別、標準函式庫、錯誤處理與測試；進階：並發模式、WebSocket、runtime 與服務架構</td>
          <td>沿用首頁順序</td>
      </tr>
      <tr>
          <td>3</td>
          <td><a href="/blog/programming/php/" data-link-title="PHP 伺服器執行模型" data-link-desc="PHP 在伺服器上怎麼被執行：從 CGI、mod_php、FastCGI 與 PHP-FPM 到常駐 worker，每一種執行模型的程序與狀態壽命、成本與部署陷阱">PHP</a></td>
          <td>PHP 在伺服器上的執行模型：CGI、mod_php、FastCGI、PHP-FPM、OPcache、常駐 worker</td>
          <td>範圍只有伺服器上的執行模型，比 Python 與 Go 的系列窄</td>
      </tr>
      <tr>
          <td>4</td>
          <td><a href="/blog/programming/flutter/" data-link-title="Flutter 實戰指南" data-link-desc="Flutter 與 Dart 的實作層教材：型別設計與語言機制、狀態與渲染、測試策略、工具鏈，從實際專案 case 抽出判斷標準。">Flutter</a></td>
          <td>Dart 型別設計、狀態與渲染、測試策略與工具鏈</td>
          <td>框架層教材，章節從 work-log 的 case 聚類</td>
      </tr>
  </tbody>
</table>
<p>語言子分類之內，入門（<code>basic/</code>，weight 1）排在進階（<code>advanced/</code>，weight 2）之前：進階系列的目標讀者是讀完入門系列的人。</p>
<h2 id="分類的範圍與相鄰分類">分類的範圍與相鄰分類</h2>
<ul>
<li>語言無關的設計原則與 DDD 放 <a href="/blog/software-design/" data-link-title="軟體設計：設計原則與 DDD 領域驅動設計" data-link-desc="要判斷模組邊界、單一職責與程式碼壞味道，或判斷什麼時候值得建領域模型、不變式落在哪一層時，從這裡進入語言無關的設計原則與 DDD 系列">軟體設計</a>；各語言系列引用那裡的定義，那裡不依賴任何語言的實作。</li>
<li>跨語言的後端能力（資料庫、快取、佇列、觀測、部署）放 <a href="/blog/backend/" data-link-title="Backend 服務實務指南" data-link-desc="用跨語言教學路線整理資料庫、快取、訊息佇列、觀測、部署、可靠性、資安、事故與容量等後端服務能力">Backend</a>；語言系列寫實作，連回 Backend 的能力與選型。</li>
</ul>
<h2 id="backlog">Backlog</h2>
<table>
  <thead>
      <tr>
          <th>項目</th>
          <th>類型</th>
          <th>前置條件</th>
          <th>規模</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>各語言的 <code>title</code> 與 <code>description</code> 寫法不一致（Python 入門寫「維護工程師實戰指南」、Go 寫「入門實戰指南」），讀者在列表上分不出兩者是同一層級的系列；並排檢視後統一寫法</td>
          <td>維護</td>
          <td>無</td>
          <td>小</td>
      </tr>
  </tbody>
</table>
]]></content:encoded></item></channel></rss>