Claude Code 必備 Skill:pg-aiguide 順便學習 PostgreSQL Table Design 10 大 Best Practice
Timescale 官方出品的 Claude Code Skill「pg-aiguide」整理了 PostgreSQL Table Design 的核心準則。本文精選 10 大 Best Practice,從資料型態選擇、Primary Key 設計、索引策略到 JSONB 使用時機,讓你的 Postgres Schema 從一開始就寫對。
more...2025 OEM 網站開發筆記 [15] - 導入多語系 react-i18n 升級成國際化網站
# 下載套件
npm install react-i18next i18next --save
# 建立語言包
在 /frontend/src/utils 目錄下建立locales語言包資料夾以及 i18n.ts,並在資料夾內建立語言檔案
按照官方 Doc 提供的範例 貼上
// /frontend/src/utils/i18n.ts
import i18n from "i18next";
import { initReactI18next } fr
more...2025 OEM 網站開發筆記 [22] - 後端文章管理系統 & 列表
# 後端
整體後端大致工作流程為
ORM 模型設計
serializer 開發
View 開發
URL 路由配置
API 測試與驗證(Postman / DRF)
# ER Model
因為已經有文章標籤(TAG)的關係,這邊將文章(POST)和分類(CATEGORY)之間的關係從多對多改為一對多,更好的去區別
# ORM 模型
程式碼就不全部列出來,先只顯示 Post 跟 PostTag 兩個表重點說明
在 tag 欄位中用 Django 的 through 參數明確定義了多對多關係的中間表模型
添加了 unique_together 確保一篇文章不會重複關聯同一個分類或標
more...2025 OEM 網站開發筆記 [21] - 後端產品列表 API 開發
# 後端
整體後端大致工作流程為
ORM 模型設計
serializer 開發
View 開發
URL 路由配置
API 測試與驗證(Postman / DRF)
# ER Model
✅ Product 與其他表的關聯:
ProductImage(產品圖片) → 一對多 (One-to-Many)
Specification(產品規格) → 一對多 (One-to-Many)
ProductTag(產品標籤關聯表) → 多對多 (Many-to-Many)
Tag(標籤) → 透過 ProductTag 建立多對多關係
2️⃣ ProductImage(產品圖片表)
Pr
more...Process, Thread, Coroutine,A Hands-on Experiment to Conquer Concurrency in Python and Golang
引言: 為了真正理解現代程式設計中的 Concurrency(併發)概念,稍微複習了 Process, Thread, Coroutine 之間的關係,並透過程式碼徹底比較 Python 與 Golang 在處理 CPU-bound 和 I/O-bound 任務時的效能差異。結果非常驚人,清晰地揭示了 Python GIL 的限制與 Golang Runtime 的優勢。
# Process, Thread, Coroutine
從資源開銷和獨立性的角度來看,併發執行單元的層次結構由大到小排序如下:
概念
資源開銷 / 獨立性
核心特性
適用場景
Exte
more...2025 OEM 網站開發筆記 [10] - Django 後端從單一到多 Apps 架構優化流程
# 目錄結構
由於大多數網路上及教學,專案大都只含一個 app,而實際上多數商用專案及實際情況都會需多管理多個 apps,這邊就來看看多個 app 的整個專案結構會變如何
先看一開始還沒有拆分多個 Apps 前的 Django 專案結構:
my_project/
│
├── manage.py # Django CLI 入口
├── requirements.txt # Python 依賴套件
│
├── backend/ # Django 專案設定
│ ├── _
more...2025 OEM 網站開發筆記 [20] - Django 連線 MySQL、資料遷移流程
# 註冊 Django 應用程式(APP)
在專案中會將大部分功能模組化,每個模組稱為應用程式(APP)。
# api/products/apps.py
from django.apps import AppConfig
class ProductsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'api.products'
verbose_name = "產品管理&q
more...2025 OEM 網站開發筆記 [5] - 用 GSAP 取代 Framer Motion 開發 shadcn/ui's Accordion 展開/收合動畫
# 問題
由於此專案使用 GSAP 而非 framer motion 導致 shadcn/ui 的 accordion 元件在此專案中是沒有展開/收起動畫的,因此需用 GSAP 自行製作動畫效果
# GSAP 動畫建構重點
以下 shadcn/ui 官方的寫法,若專案有 framer motion 應能直接使用
return (
<Accordion type='single' collapsible className='w-full'>
<AccordionIt
more...



