Skip to content
所有分類

tech

518 篇文章

Cloudflare Edge Platform 上線前檢查:自訂網域、維護頁與 Workers limits

Cloudflare app 上線前不要只看 deploy 成功。Custom Domains、Routes、www/root redirect、維護頁、CPU/memory/subrequest limits、log sampling、fallback path 都要先檢查。這篇把 Edge Platform 系列裡的 production pitfall 收斂成一份 checklist。

Cloudflare Email Service 怎麼用:讓 Workers 寄信、收信與處理產品通知

Cloudflare Email Service 把產品常見的交易信、magic link、通知與收信 routing 接進 Workers。寄任意收件人目前需要 Workers Paid;收信 routing 可在 Free/Paid 使用,但仍要注意 DNS、配額、message size、bounce 和 anti-spam 邊界。

Cloudflare Hyperdrive 怎麼用:讓 Workers 接上既有 Postgres / MySQL

Hyperdrive 解的是 Workers 連到既有 Postgres / MySQL 的延遲與連線池問題。它用 edge connection setup、靠近資料庫的 connection pool、read query cache,讓單區資料庫比較適合被全球 Workers 存取。

Cloudflare Images 怎麼用:圖片變體、格式轉換與交付管線

Cloudflare Images 有兩條路:把 R2/S3/origin 圖片拿來做 edge transformations,或直接把圖片存進 Images 再用 variant delivery。前者按 unique transformations 看成本,後者還要看 stored 和 delivered images。

Cloudflare Observability 怎麼用:Workers Logs、Traces 與 Analytics Engine 的分工

Workers Observability 負責 debug 和 request tracing;Workers Analytics Engine 負責高基數產品事件與自訂 metrics;GraphQL Analytics API 則查 Cloudflare 既有產品資料。把三者分清楚,才不會把 log 當資料庫,也不會把 billing、monitoring、產品分析混在一起。

Cloudflare Smart Shield 怎麼用:讓 Origin 少扛一點流量

Smart Shield 是 Cloudflare 的 origin protection bundle:用 Smart Tiered Cache、connection reuse、Argo Smart Routing、Regional Tiered Cache、Cache Reserve、Health Checks 和 Dedicated CDN Egress IPs,減少打到 origin 的 request 與 connection。

Cloudflare Turnstile 怎麼用:保護表單與公開 API,不靠傳統 CAPTCHA

Turnstile 是 Cloudflare 的 CAPTCHA 替代方案:前端 widget 產生 token,後端必須用 Siteverify API 驗證。token 有效 300 秒、只能驗一次;只放 widget 不驗 token,等於沒有完成防護。

Cloudflare Workflows:把多步驟流程跑到完成

Cloudflare Workflows 把 Workers 上的多步驟流程拆成可持久化的 step:每個 step 可以 retry、sleep、waitForEvent、rollback,instance 可以查狀態、暫停、恢復或終止。Queues 適合單步背景工作;Workflows 適合要記住進度的長流程。

Knowledge——命題邏輯、模型檢查、推理規則與知識表示|Harvard CS50 AI 第 1 週

第 1 週講怎麼讓程式依已知事實推出新事實:用命題符號與五個連結詞把知識寫成句子;model checking 列舉全部 2 的 n 次方種真假組合來判斷知識庫是否蘊涵某個查詢;推論規則與 resolution 改成直接操作句子,先轉成 CNF,再用反證法推出空子句;一階邏輯用常數、述詞與量詞減少符號數量。附逐段時間連結,以及 Knights、Minesweeper 兩個專案的解題思路、易錯處與檢查方式(參考實作摺疊)。

Uncertainty——機率、貝氏網路、馬可夫模型與遺傳推斷|Harvard CS50 AI 第 2 週

第 2 週講機率:條件機率與貝氏法則把證據換算成機率;貝氏網路用箭頭把聯合機率拆成每個節點的條件機率表,列舉推論算得精確但慢,拒絕取樣與概似加權用樣本近似;馬可夫鏈用轉移模型描述隨時間變化的狀態,隱藏式馬可夫模型再加上感測模型,從觀察反推看不到的狀態。附逐段時間連結,以及 Heredity、PageRank 兩個專案的解題思路與檢查方式。

Optimization——局部搜尋、模擬退火、約束滿足問題與填字遊戲|Harvard CS50 AI 第 3 週

第 3 週講最佳化的三種寫法:局部搜尋只記一個 state,hill climbing 往更好的鄰居走、會卡在局部極值,模擬退火用 e^(ΔE/T) 的機率接受變差的一步;線性規劃把問題寫成線性成本函數加線性限制,交給現成的求解器;約束滿足問題用 node consistency、arc consistency(AC-3)縮小 domain,再用回溯搜尋配合 MRV、degree、least-constraining value 三個 heuristic 找解。附逐段時間連結,以及 Crossword 專案的解題思路、虛擬碼、易錯處與檢查方式(參考實作摺疊在最後)。

Learning——監督式學習、k-NN、SVM、強化學習 Q-learning 與 Nim|Harvard CS50 AI 第 4 週

第 4 週講機器學習的三種形式。監督式學習從有標籤的資料學出 hypothesis function:分類可以看最近的 k 個鄰居,或用一組權重畫出決策邊界(perceptron learning rule、logistic regression、support vector machine),再用損失函數、regularization 與 cross-validation 對付 overfitting。強化學習用 Q-learning 依 reward 更新每個 state 與 action 的估計值,ε-greedy 留一點機率隨機探索。非監督式學習以 k-means 分群。附逐段時間連結,以及 Shopping、Nim 兩個專案的解題思路與檢查方式。

Neural Networks——反向傳播、TensorFlow/Keras、CNN 與交通號誌辨識|Harvard CS50 AI 第 5 週

第 5 週講神經網路:一個 unit 把輸入乘上權重、加 bias、再過 activation function;梯度下降一小步一小步調權重,隱藏層靠 backpropagation 把誤差往回分;影像先做卷積與 pooling 再接一般網路,就是 CNN;序列資料用 RNN 把輸出餵回自己。附逐段時間連結,以及 Traffic 專案的解題思路、易錯處與檢查方式。

Language——N-gram、Parser、Attention 與 Transformer|Harvard CS50 AI 第 6 週

第 6 週講電腦怎麼處理自然語言:先用 context-free grammar 手寫規則剖析句子,再改用統計,從 n-gram、Markov chain 生成文字到用 Naive Bayes 判斷評論的正負;接著用 word2vec 把詞變成向量,用 RNN 的 encoder–decoder 處理整個序列,最後是 attention 與 Transformer。附逐段時間連結,以及 Parser、Attention 兩個專案的解題思路、容易出錯的地方與檢查方式。

近似理論(Approximation Theory)—— 萬能近似、Barron 定理與深度為何有用|MIT 6.7960 第 3 堂

單層網路理論上能逼近任何連續函數(萬能近似),但寬度會隨維度指數爆炸;Barron 定理在特定的『Barron 函數類』下讓誤差只隨樣本數 √n 收斂、與維度脫鉤;而深度能對組合/階層函數帶來指數級的寬度節省——這正是深網比淺網強的根本原因。

圖神經網絡(GNN, Graph Neural Networks)—— 訊息傳遞、置換等變與表達力上限|MIT 6.7960 第 5 堂

GNN 本質是「在圖上做局部訊息傳遞的 MLP」:它把 CNN 的固定網格鄰居推廣成任意拓撲的鄰居聚合。它必須滿足置換等變/等變性。理論上,一階 GNN 的表達力不超過 Weisfeiler–Lehman 圖同構測試——有些結構它永遠分不出來,這也是後來 GIN、位置編碼、子圖技巧要補的洞。

課程導論 —— Deep Learning 的地圖、為什麼深,以及第一個訓練 loop|MIT 6.7960 第 1 堂

本講是 6.7960 的導論:deep learning 之所以爆發是『資料 + 算力 + 演算法』三股力量同時到位;本課從架構(CNN/GNN/Transformer)到訓練、表示、生成、遷移、規模、LLM 一路串起來;最後用一個 ~30 行的 PyTorch training loop 確認你的環境能跑。

優化縮放定律 —— 譜視角、特徵學習與超參數遷移|MIT 6.7960 第 7 堂

優化不是孤立的數值問題:用譜視角看 SGD,權重更新的『量』決定特徵學習;Maximal Update Parameterization 讓學習率與初始化跨寬度遷移,critical batch size 決定算力換取收斂的邊際。

Transformer —— Token、Attention 與位置編碼,以及它和 MLP/CNN/GNN 的關係|MIT 6.7960 第 8 堂

Transformer 不是憑空冒出的架構:token 把資料切成離散單元,attention 做軟性的訊息聚合,positional code 補回順序。把它和 MLP/CNN/GNN 擺在一起看,會發現它們都是『對鄰居做加權彙整』的不同特例。

深度學習駭客指南 —— 讓網路真正聽你使喚的實作心法|MIT 6.7960 第 9 堂

訓練神經網路更像工程而非魔法:先看資料、先在小批次上過擬合證明容量夠、再用正則化把泛化補回來;學習率永遠是影響最大的那顆旋鈕。