最新文章
混合 Dev 和 Life 的所有最新內容
277 篇2026-08-2714 分鐘閱讀
解釋容器協調(orchestration)在大規模部署下要解決的問題,帶出 Kubernetes 這類工具的角色,整理 round robin、least connections 等常見排程演算法的取捨,示範用 htop 觀察伺服器負載,並用 Nginx 的 upstream 設定把流量分配到多個容器實例。
2026-08-2718 分鐘閱讀
逐行拆解一個 Node.js 應用程式的 Dockerfile:為什麼用 Alpine 版基礎映像、建立 node 使用者並改變檔案擁有權、先複製 package.json 再裝套件,並用 docker build、docker run 把應用程式跑起來,同時開出多個埠號的容器實例,為下一節流量分配鋪路。
Full Stack Fundamentals
#frontendMasters #fullStackFundamentals #Docker #Dockerfile #AlpineLinux #DockerBuild #NonRootUser #LayerCaching #PortMapping 2026-08-2613 分鐘閱讀
拆解單體架構與微服務架構在團隊協作方式、技術棧選擇自由度上的優缺點取捨,解釋容器化跟虛擬化的差異:虛擬化把一整台實體伺服器切分成好幾個獨立區塊,容器則進一步把每個服務拆成各自獨立輕量的單位,說明容器怎麼做到零停機更新、跨作業系統自由移植,並帶出這門課為什麼選用 Docker 作為容器管理工具。
Full Stack Fundamentals
#frontendMasters #fullStackFundamentals #Container #Docker #Microservices #Monolith #Virtualization #ZeroDowntime #CloudComputing 2026-08-2610 分鐘閱讀
解釋 HTTP/1.1 每個檔案獨立開連線、HTTP/2 用 multiplexing 共用單一連線的差異,示範在 Nginx 的 443 埠 listen 區塊加上 http2 關鍵字即可啟用,並用瀏覽器 Network 面板的 Protocol 欄位驗證連線從 h1 換成 h2,附上重啟前的驗證指令。
Full Stack Fundamentals
#frontendMasters #fullStackFundamentals #HTTP2 #Nginx #Multiplexing #NetworkInspector 2026-08-2513 分鐘閱讀
示範用 EFF 提供的免費工具 Certbot,透過 snap 套件管理器安裝,自動改寫 Nginx 虛擬伺服器設定加上 443 埠與憑證、把 HTTP 導向 HTTPS,並解釋 Certbot 為什麼要建立臨時檔案驗證網域所有權,最後用 ufw 開放 443 埠、測試自動更新,完成整個 HTTPS 部署流程。
Full Stack Fundamentals
#frontendMasters #fullStackFundamentals #HTTPS #Certbot #Nginx #SSL #UFW #CertificateAuthority #Snap #PEM 2026-08-2516 分鐘閱讀
拆解一個 HTTP 請求跟回應實際長什麼樣子,整理 User-Agent、Accept-Encoding、Set-Cookie 等常見標頭的用途,說明狀態碼第一碼分類(1xx 到 5xx)怎麼幫助快速判斷問題出在客戶端還是伺服器端,並解釋為什麼未加密的連線容易被攔截竊聽,一定要改用 HTTPS 保護資料傳輸。
Full Stack Fundamentals
#frontendMasters #fullStackFundamentals #HTTP #HTTPS #HTTPHeader #StatusCode #Encryption #ManInTheMiddleAttack 2026-08-2419 分鐘閱讀
用 SQLite 幫 WebSocket 伺服器寫一份訪客紀錄,示範為什麼 SQLite 比 MySQL 更適合小型專案,用記憶體資料庫、serialize 建表、db.run/db.each 讀寫資料,並拆解實際部署時撞到的三個真實錯誤:SQL 語法逗號、記憶體資料庫重建、關閉順序卡死的除錯過程。
Full Stack Fundamentals
#frontendMasters #fullStackFundamentals #SQLite #Database #WebSocket #SQL #PreparedStatement #SIGINT #InMemoryDatabase #GracefulShutdown 2026-08-2414 分鐘閱讀
解釋為什麼多台伺服器沒辦法共用同一個檔案儲存資料,資料庫如何同時解決檔案缺乏擴展性、缺乏結構強制力這兩個根本問題,比較關聯式資料庫與非關聯式資料庫在嚴謹度、查詢速度上的取捨,拆解關聯式資料庫的三大組成:表、欄位、記錄,並示範用主鍵、外鍵把多張表串接起來,用 SELECT 與 JOIN 寫出一個簡單的跨表查詢。
Full Stack Fundamentals
#frontendMasters #fullStackFundamentals #Database #SQL #RelationalDatabase #PrimaryKey #ForeignKey #JOIN #NoSQL 2026-08-2315 分鐘閱讀
在 index.html 補上前端的 WebSocket 連線程式碼,用 window.location.protocol 判斷該用 wss 還是 ws,串接 host 建立連線,用 onmessage 印出伺服器傳來的訊息,最後把成果部署到正式伺服器,用 pm2 換掉舊的伺服器並排查過程中遇到的錯誤。
Full Stack Fundamentals
#frontendMasters #fullStackFundamentals #WebSocket #PM2 #Onmessage #Protocol #Deployment MIT Licensed | Copyright © 2025-present Wen-Hsiu's Blog

