Skip to content
所有分類

tech

518 篇文章

Django:ORM、Admin、Auth 與長期演進的 Python Web Framework

Django 的價值是把資料模型、migration、auth、admin、forms 與安全預設組成一致系統;代價是要理解 QuerySet、middleware、async 邊界與 production settings。

Dokku:把單台 Docker 主機變成 Git Push PaaS

Dokku 用 Git receiver、buildpack/Dockerfile、process model、Nginx 與 plugins 在單機提供 Heroku 式體驗;簡潔來自刻意縮小編排範圍。

Dokploy:Application、Docker Compose、Remote Server 與 Swarm 的自架 PaaS

Dokploy 同時支援單 container Application 與 Compose/Stack,並把單機、獨立 remote servers、Swarm cluster 定義成三種不同部署拓撲。

DuckDB:把 OLAP Query Engine 放進 Process 裡

DuckDB 是 in-process columnar OLAP database,擅長直接分析 Parquet、CSV 與 DataFrame;它不是一般 web app 的多使用者 OLTP server。

techdeep-dive

Elasticsearch 與 OpenSearch:從 Lucene 全文檢索到站內搜尋的選型

Elasticsearch 與 OpenSearch 都以 Lucene 支撐文字分析、BM25、聚合與向量搜尋,但 2021 年分家後,授權、治理、混合搜尋 API 與託管生態已是兩條路。

Elysia:Bun-first、Runtime Schema 與端到端型別安全的 API Framework

Elysia 把 runtime schema、TypeScript inference、OpenAPI 與 Eden client 串成同一條 contract,但 Bun-first 的效能優勢、plugin scope 與跨 runtime 相容性仍要分開驗證。

Fastify:Plugin Encapsulation、JSON Schema 與高效 Node.js API

Fastify 的核心不只是 benchmark,而是以 plugin scope、hooks、decorators 與 compiled JSON Schema 建立可組合且有明確 request/response contract 的 Node.js API。

Firebase:Auth、Firestore、Functions 與 Security Rules 的 BaaS 邊界

Firebase 的速度來自 client SDK 直連 Auth、Firestore、Storage 等 managed services;真正的後端合約落在資料模型、Security Rules、Functions 與成本限制。

Fly.io:Machines、Fly Proxy 與多區域部署的真實邊界

Fly.io 把可快速啟停的 Machines 放到指定 region,再由 Fly Proxy 與私有 6PN 接線;真正困難仍是有狀態資料的跨區一致性。

gitleaks:掃 Working Tree、Git History 與 CI Diff 的 Secret Detection

gitleaks 用 rules、regex、entropy 與 allowlists 掃檔案或 Git patches;找到 secret 後第一步是 revoke/rotate,而不是只刪檔或改寫 history。

Google Cloud Model Armor:在 Prompt、Response 與 Agent Tool 前加 Runtime Filter

Model Armor 能在 runtime 檢查 prompt injection、jailbreak、敏感資料、惡意 URL 與內容安全;它是 probabilistic detector,不是 authorization 或 sandbox boundary。

Google Cloud Run:Service、Job、Worker Pool 是三種不同的 Container 生命週期

Cloud Run 不只是一個 HTTP container 平台;先按 request、run-to-completion、always-on pull worker 選對 resource,再設計 concurrency、identity 與擴縮。

Google Kubernetes Engine:GKE Autopilot 降低 Node 操作,不會消除 Kubernetes

GKE 代管 Kubernetes control plane;Autopilot 再代管多數 node 基礎設施,但 workload、policy、網路、升級相容性與成本治理仍屬於團隊。

GraphQL 與 Code Generator:型別安全來自 schema 加 operation,不只 schema

GraphQL schema 定義可查詢能力;GraphQL Code Generator 再結合實際 query、mutation、fragment,產生精確 result、variables 與 typed document。

gRPC 與 Connect:同一份 Protobuf 合約如何跨服務與瀏覽器

gRPC 以 Protobuf service 產生跨語言 stub;Connect server 可同時支援 gRPC、gRPC-Web 與 Connect protocol,讓瀏覽器不必額外翻譯 proxy。

Hatchet:一套同時處理 task queue、DAG 與 durable task 的工作流引擎

Hatchet 以 Postgres-backed control plane 統一一般 task、DAG 與 durable task;durable task 在等待與 child task 邊界 checkpoint,恢復時重播 deterministic 編排碼。

Hetzner Cloud:便宜 VM 的真正成本是你要擁有整個作業系統

Hetzner Cloud 以 Server、Network、Volume、Load Balancer 與 Firewall 提供精簡 IaaS;價格優勢只有在 patch、HA、backup、egress 與 on-call 成本算進去後才成立。

Hono RPC:從 route implementation 推導 Fetch client 型別

Hono RPC 匯出 route 的 `typeof AppType`,讓 `hc` client 推導 input、response body 與 status code;它共享的是 TypeScript type,不是獨立 wire schema。

Inngest:用 step 把 serverless function 變成可恢復的工作流

Inngest 讓一般 TypeScript、Python、Go function 以 step 為持久化邊界;失敗時函式從頭執行,但已完成 step 由紀錄回填,不再重做 side effect。

Kamal:沒有常駐 Control Plane 的 Docker 部署工具

Kamal 從操作者端透過 SSH 把 immutable image 部署到 servers,靠 kamal-proxy 切換流量;它不是 scheduler,也不替團隊管理主機與資料。