Yoru Karu Studio

程式設計學習筆記 | 生活心得

05-3. Redis Protocol (RESP) 完整指南

🔴 Redis Protocol (RESP) 完整指南 ⏱️ 閱讀時間: 15 分鐘 🎯 難度: ⭐⭐ (中等) 🎯 本篇重點 理解 Redis 序列化協定 (RESP) 的原理、5 種資料類型、實際操作範例,以及如何用 telnet 直接測試 Redis,掌握 Pipeline 批次操作優化效能。 🤔 什麼是 RESP? RESP (REdis Serialization Protocol) = Redis 序列化協定 一句話解釋: RESP 是 Redis 客戶端與伺服器之間的「通訊語言」,就像摩斯密碼一樣,用簡單的符號表示不同類型的資料。 比喻:快遞單 當你寄包裹時,快遞單上會用不同的符號標記: 📦 一般包裹 ⚠️ 易碎品 ❄️ 冷凍 💰 貴重物品 RESP 也是一樣,用不同的「符號」標記不同類型的資料 🏗️ RESP 在網路模型中的位置 OSI 7 層模型 ┌──────────────────────────────┬─────────────────┐ │ 7. Application Layer (應用層) │ RESP (Redis) │ ← RESP 在這裡 ├──────────────────────────────┼─────────────────┤ │ 6.

10-4. WebRTC 基礎

📹 WebRTC 基礎 🎯 什麼是 WebRTC? 💡 比喻:直接打電話 vs 透過總機 傳統方式(Client-Server): Alice → Server → Bob 就像打電話要透過總機轉接,會有延遲 WebRTC(Peer-to-Peer): Alice ←→ Bob(直連) 就像直接撥對方號碼,速度更快WebRTC(Web Real-Time Communication) 是一個開放框架,讓瀏覽器和行動應用可以進行即時的語音、視訊和資料傳輸,而且是點對點(P2P) 連線,不需要透過伺服器中轉。 為什麼需要 WebRTC? 問題場景:視訊通話 ❌ 傳統方式(經由伺服器): Alice's 攝影機 → Server → Bob's 螢幕 問題: 1. 延遲高(需經過伺服器) 2. 伺服器頻寬成本高(所有影片都要中轉) 3. 伺服器成為瓶頸(同時 100 人通話 = 100 倍流量)✅ WebRTC(點對點): Alice's 攝影機 ←→ Bob's 螢幕(直連) 優點: 1. 延遲極低(直接連線) 2. 伺服器只需處理訊號(不傳輸影音) 3. 可擴展性高(P2P 分散負載) 🏗️ WebRTC 架構 核心組件 ┌──────────────────────────────────────┐ │ WebRTC 完整流程 │ └──────────────────────────────────────┘ 1.

CSRF 基礎:跨站請求偽造攻擊

⚠️ 免責聲明 本文內容僅供教育與學習用途。請勿將文中技術用於任何未經授權的系統或惡意目的。 📚 本篇重點 🎯 理解 CSRF 攻擊原理與特徵 🔍 區分 CSRF 與 XSS 的差異 💣 認識真實的 CSRF 攻擊案例 🛡️ 學習基礎防禦策略 閱讀時間: 約 15 分鐘 難度: ⭐⭐ 中階 1️⃣ 什麼是 CSRF? 📖 定義 CSRF (Cross-Site Request Forgery),跨站請求偽造,又稱 XSRF 或 Session Riding,是一種攻擊手法,攻擊者誘使受害者在已登入的網站上執行非預期的操作。 🔑 關鍵特徵 特徵 說明 利用信任 利用網站對已認證用戶的信任 非預期操作 受害者不知情地執行操作 需要登入狀態 攻擊者不需要知道密碼,只需受害者已登入 跨站點 攻擊發起自不同的網站(跨站) 自動發送 Cookie 瀏覽器自動附帶身份驗證 Cookie 🔄 攻擊流程 Step 1: 受害者登入銀行網站 (bank.com) ↓ 獲得 Session Cookie Step 2: 受害者訪問攻擊者的惡意網站 (evil.

05-2. PostgreSQL Protocol 完整指南

🐘 PostgreSQL Protocol 完整指南 ⏱️ 閱讀時間: 12 分鐘 🎯 難度: ⭐⭐ (中等) 🎯 本篇重點 理解 PostgreSQL 前端/後端協定的原理、Simple Query vs Extended Query 的差異、COPY Protocol 批次匯入,以及與 MySQL Protocol 的對比。 🤔 什麼是 PostgreSQL Protocol? PostgreSQL Protocol = PostgreSQL 前端(客戶端)與後端(伺服器)之間的通訊協定 一句話解釋: PostgreSQL Protocol 定義了客戶端如何與 PostgreSQL Server 建立連線、執行查詢、處理結果的規則,相比 MySQL 提供更細粒度的控制。 比喻:精品餐廳 vs 速食店 MySQL Protocol = 速食店 - 簡單快速 - 套餐模式(Text/Binary Protocol 二選一) PostgreSQL Protocol = 精品餐廳 - 更多選擇 - 可以單點(Parse、Bind、Execute 分開控制) - 更靈活的客製化 🏗️ PostgreSQL Protocol 在網路模型中的位置 OSI 7 層模型 ┌──────────────────────────────┬──────────────────────┐ │ 7.

10-3. XMPP 協定詳解

💬 XMPP 協定詳解 🎯 什麼是 XMPP? 💡 比喻:去中心化的 Email 系統 + 即時通訊 就像 Email: - user@gmail.com 可以寄信給 friend@yahoo.com - 不需要都用同一家服務(分散式) 但又像 LINE/WhatsApp: - 即時傳送訊息 - 看得到對方在線與否 - 可以群組聊天XMPP(Extensible Messaging and Presence Protocol) 原名 Jabber,是一種開放、可擴展的即時通訊協定,基於 XML 格式進行訊息傳輸。 為什麼選擇 XMPP? 對比其他協定: 特性 XMPP MQTT 專屬協定(LINE/WhatsApp) 開放性 ✅ 開放標準 ✅ 開放標準 ❌ 封閉 分散式 ✅ 可自建伺服器 ❌ 需要 Broker ❌ 只能用官方伺服器 可擴展 ✅ XML 可擴展 ⚠️ 有限 ❌ 無法擴展 線上狀態 ✅ 內建 ❌ 需自己實作 ✅ 內建 適用場景 即時聊天、社交 IoT、感測器 消費者 App 🏗️ XMPP 架構 分散式設計 💡 比喻:Email 系統 alice@gmail.

Django 面試準備 08-4:防止超賣方案

08-4. 防止超賣方案 📌 什麼是超賣? 超賣(Overselling):指實際銷售的數量超過了庫存數量。 典型場景 商品庫存:10 件 訂單 A:購買 5 件 ✓ 訂單 B:購買 6 件 ✓ 實際賣出:11 件 ⚠️ 結果:超賣 1 件! 🔴 超賣的危害 1. 業務損失 場景:秒殺活動,iPhone 只有 10 台 結果:賣出 15 台 損失:5 台 × NT$ 40,000 = NT$ 200,0002. 用戶投訴 用戶下單成功 → 支付完成 → 被告知缺貨 結果:用戶體驗極差,引發投訴和退款3. 法律風險 根據《消費者保護法》,已收款但無法交貨可能構成欺詐。 🎯 防超賣的核心原則 1. 單一數據源 ❌ 錯誤:多個地方維護庫存 - 數據庫有庫存 - Redis 有庫存 - 內存中也有庫存 → 容易不一致 ✅ 正確:Redis 為主,數據庫為輔 - Redis:實時庫存(高性能) - 數據庫:持久化庫存(可靠性)2.
0%