7.1k6 分鐘

# TL;DR 我的開發環境是這樣的: 本地端:筆電(macOS)上跑的是 Hermes AI Agent 的 Web 管理介面(Multi-Agent 平台前端) 遠端:Hermes Agent 本身架在家裡的 mac mini,listen 在 127.0.0.1:8642,同時還肩負著 Telegram Bot、Discord Bot 等對外服務 我在咖啡廳寫程式時,需要本地的前端能打到家裡的 Hermes 後端 API。最後用 SSH Tunnel + Tailscale 解決,前後端 code 各自不動一行。 這篇記錄完整流程,包含原理、指令、以及實際踩過的坑。 # 場景與目標
5.1k5 分鐘

# 前言 本篇著重在從開發環境切換至 uWSGI 正式環境需改動的地方,而不是從 0 開始,所以會更精簡,詳細從開始部署以及更詳細的參數解釋可參考 透過 Nginx 部署 Django 至私有主機 # Django 開發伺服器轉向 uWSGI 的優點 Django 的 python manage.py runserver 是一個開發伺服器,而 uWSGI 是生產級別(Production Deployment)的應用伺服器 使用 uWSGI 而不是開發伺服器的原因: 性能優化:uWSGI 可生成多個工作進程來將傳入的請求並行化到多個 CPU 核心,才能處理高流量網站。 安全性更高:Djang
5.5k5 分鐘

# 自訂上傳圖片目的地 透過 imgur 來管理專案圖片是不理想的且 imgur 的圖片連結也會隨著時間而失效 MARTOR_UPLOAD_PATH : 儲存圖片的資料夾路徑目的地 MARTOR_UPLOAD_URL : 上傳圖片的 API URL(views) # backend/settings.py ... # Upload to locale storage MARTOR_UPLOAD_PATH = 'images/uploads/{}'.format(time.strftime("
5451 分鐘

# 過程 開發時,已經習慣長按 ctrl+類名或函式名稱,讓編輯器自動跳轉到該類別或函式的定義位置來快速查看程式碼的實作細節 由於我改用 mise 來管理 golang 版本,導致 vscode golang extension 無法正確辨識 golang 的執行檔位置,長按 ctrl + 點擊類名或函式名稱時就沒反應 # 解法 ctrl + , 快速打開設定頁面,搜尋 go.alternateTools 並點擊在 settings.json 中編輯 直接在 settings.json 中加入以下設定 .... "go.alternateTools": &#12
1.7k2 分鐘

# 問題 GSAP target .page-title not found. https://gsap.com Error Component Stack at BlogPostList (blog-post-list.tsx:15:19) at div (<anonymous>) at div (<anonymous 以上這類錯誤發生的主因是 GSAP 嘗試在 DOM 元素完全渲染到頁面之前對其進行動畫處理 原本會導致錯誤發生的程式碼: useGSAP(() => &#123; // 頁面載入時的
9k8 分鐘

# 前言 像這種郵件發送的功能,通常會在後端處理,前端只需提供表單內容,這樣做的原因有幾個: 安全性:郵件發送需要 SMTP 憑證,這些不應暴露在前端程式碼 可靠性:Django 有成熟的郵件發送模塊(django.core.mail) 擴展性:後期可以輕鬆添加更多功能,如記錄表單歷史、自動回覆等 防濫用:可以實現速率限制、驗證碼等防護機制 # 後端 針對此專案我會額外建立一個 django app 來專門放所有與郵件相關的功能 # settings 配置郵件設定 EMAIL_HOST 是用中華電信的 SMTP 郵件伺服器,通常 TLS 連接使用的是端口 587 # settings.py
3.1k3 分鐘

# 前言 本專案選擇 martor 作為後台的文章內文 Markdown 編輯器,比 ckeditor 更輕量化且支援 Markdown 語法,還有提供預覽、支援圖片上傳...功能等功能 # martor 編輯器套件設定 安裝套件 pip install martor 然後在 settings.py 進行基本設定 # settings.py INSTALLED_APPS = [ # ... 'martor', # ... ] # Martor 配置 MARTOR_ENABLE_CONFIGS = &#123; &#