5191 分鐘

# 重要 按理來說接口應要跟 pydantic 模型一模一樣 # FastAPI vs gRPC 差異 特性 FastAPI (REST) gRPC 通訊協定 HTTP/1.1 HTTP/2 資料格式 JSON Protocol Buffers (二進位) API 定義 OpenAPI/Swagger Proto 檔案 效能 較慢 較快 瀏覽器支援 原生支援 需要額外工具 串流 有限支援 原生支援雙向串流 # Postman 測試 gPRC
2.8k3 分鐘

目標:當遷移歷史混亂或想用現有模型重新建立「乾淨」的初始遷移時,安全地重置 Alembic 狀態並升到最新。 # TL;DR — 指令清單 # 1 生成初始 migration alembic revision --autogenerate -m "initial migration" # 2 執行 migration(創建表格) alembic upgrade head # 3 刪除所有遷移檔案(如已刪除可跳過) rm -f alembic/versions/*.py rm -rf alembic/versions/__pyca
2.4k2 分鐘

# 題目 給定一個單向 Linked List,反轉該鏈表並返回反轉後的頭節點。 題目 Example: Input: head = [1,2,3,4,5] Output: [5,4,3,2,1] # 觀念 反正就記得,反轉一條鏈表,就是把每個節點的 next 指標指向前一個節點 特性 Python list ([]) Linked List 底層結構 動態陣列 (連續記憶體) 節點 (物件) + 指標 存取第 i 個元素 O(1) O(n) (要走訪) 插入 / 刪除 O(n) (中間要搬移) O(1) (只改指標) 記憶體配置 連續 不連續
1.7k2 分鐘

# 題目 輸入一個字串 s,要找出最長的不含重複字元的子字串長度。 例子: s = "abcabcbb" → 答案是 3 ("abc") s = "bbbbb" → 答案是 1 ("b") s = "pwwkew" → 答案是 3 ("wke") # Sliding Window 上圖是大概的 Sliding Window 概念,用 set() 去重,並且用兩個指標 l 和 r 來表示目前的子字串範圍,然後不斷地擴展 r 直到遇到重複字元,
2.2k2 分鐘

# 題目 輸入一個只包含 ()[]{} 的字串,判斷它是否為「有效括號」。 input string 只有在以上狀況才視為 valid: 每個開括號都有對應的閉括號,且順序正確。 開括號與閉括號的類型必須相同。 Example: s = "()" # True s = "()[]{}" # True s = "(]" # False s = "([)]" #
2.4k2 分鐘

# 題目 給定一個非遞減排序(non-decreasing order)的整數 nums 陣列 nums,請 in-place 原地修改原陣列移除所有重複的元素,使每個元素只出現一次,並返回移除重複元素後的陣列長度。 重點 in-place 就是不能回傳一個新的 List 此題已有三個要素 陣列已經排序(Sorted) 所有重複的元素都會相鄰出現 保持 O(1) 額外空間 題目要求: 原地(in-place)移除重複元素 不能用額外的陣列來儲存答案 只能在原陣列 nums 上修改 每個不重複的元素只保留一次 保持原本的相對順序 函式要回傳不重複元素的數量 k 從上述能看出這題目標就是想
2k2 分鐘

# 題目 給定一個整數陣列 numbers 和一個目標數字 target,請找出 numbers 中兩個數字的和等於 target,並返回它們的索引。假設每個輸入只會有一個解,並且你可以假設每個輸入的數字都是唯一的。 # 三種解法 這題跟 Two Sum 最大的差別是,這邊 INPUT: 的 numbers 陣列是 sorted 的,所以題目會提示我們用更有效率的解法 # Two Pointers 類型整理 類型 移動方式 (關鍵邏輯) 核心目的 (解決的問題) 範例題 Opposite Direction 兩端向中間收斂,每次依條件只動一邊。 在有序數組中,高效尋找配對或縮小搜
5.6k5 分鐘

# 1. 安裝套件 pip install line-bot-sdk python-decouple python-dotenv 記得更新 requirements.txt,在正式主機上部署時記得下載,別像我很笨的卡在回傳 502 error,結果 systemctl 一看才發現是 No module named 'linebot' pip freeze > requirements.txt # 2. LINE Developer Console & LINE Official Account Manager 設定 前往 LINE Developers Conso