Logo Ricky
  • 首頁
  • 關於
  • 更多的
    技能 經歷 學歷 專案
  • 文章
  • 筆記
  • 活動
  • Transform
  • Chinese
    English Chinese
  • Dark Theme
    Light Theme Dark Theme System Theme
Logo Inverted Logo
  • 標籤
  • A10
  • ACME
  • AD
  • AES
  • AI
  • Aliyun
  • Ansible
  • APP
  • Application Delivery Controller
  • Arceus
  • Argo CD
  • ASCII
  • Authentication
  • Authorization
  • AWS
  • BASH
  • Bayonet
  • Benchmark
  • BGP
  • BIRD
  • Board Game
  • Browser
  • Byte
  • Cache
  • CDN
  • Channel
  • Chart
  • Checklist
  • Chrome
  • Chrome OS
  • Chrony
  • CI
  • Cilium
  • Cisco
  • Cloud-Native
  • Cloudflare
  • Cluster
  • Command Line
  • Completion
  • Config
  • Container
  • Context
  • CPU
  • CURL
  • Data
  • Database
  • Debug
  • Dehydrated
  • Design
  • DevSecOps
  • Diagrams
  • Dmg
  • DNS
  • DNS-01
  • Docker
  • EFF
  • ElasticSearch
  • ELK
  • Emoji
  • EMQX
  • Encode
  • Encrypt
  • ESXi
  • Extension
  • Firewall
  • Fortigate
  • Fortinet
  • FortiOS
  • Game
  • GeoIP
  • GIN
  • Git
  • GitBook
  • Github
  • Gitlab
  • GitOps
  • Gluetun
  • Go
  • Go-Mysql-Elasticsearch
  • Golang
  • Google
  • GPG
  • GraphQL
  • HA
  • HAProxy
  • Hash
  • HomeLab
  • Htop
  • HTTP
  • Infra
  • Infrastructure
  • Input Method
  • Interview
  • Introduction
  • IPhone
  • Iptables
  • Iso
  • Issue
  • ITerm2
  • Jenkins
  • Jsoniter
  • Juniper
  • JWT
  • Kafka
  • Kibana
  • Kubernetes
  • LDAP
  • Leetcode
  • Lightweight
  • Linkerd
  • Links
  • Linux
  • Llamafile
  • LLM
  • Log
  • Lua
  • Lullaby
  • LVM
  • Machinelearning
  • MacOS
  • Markdown
  • Mattermost
  • Mermaid
  • MinIO
  • Module
  • MQTT
  • MSS
  • MTU
  • Music
  • MyDumper
  • MySQL
  • NAS
  • Netcat
  • Network
  • Nftables
  • Nginx
  • OAuth
  • OIDC
  • Ollama
  • OpenResty
  • Parquet
  • Percona
  • Pinyin
  • Pip
  • Plugin
  • Pokemon
  • Postgres
  • PostgreSQL
  • PowerDNS
  • PowerShell
  • Pprof
  • Principle
  • Prometheus
  • Protobuf
  • Proxy
  • Push
  • Python
  • QRCode
  • R
  • RAID
  • RDP
  • Redis
  • Regex
  • Ringtone
  • Route
  • Rust
  • S3
  • ScreenShot
  • Security
  • Selenium
  • Sentry
  • Service Mesh
  • SFTP
  • SHELL
  • Slides
  • Snow
  • Software
  • SonarQube
  • SQL
  • SSH
  • SSL
  • String
  • Switch
  • Sync
  • Synology
  • System
  • Tcpdump
  • Telegram
  • Terminal
  • Terraform
  • Test
  • Testing
  • Time
  • Timeout
  • TLS
  • Tools
  • Tor
  • Trace
  • Traefik
  • Travel
  • Tunnel
  • Typora
  • Ubuntu
  • UNIX
  • URL
  • UserAgent
  • V2Ray
  • Vagrant
  • Video
  • Vim
  • Virtualization
  • Visualization
  • VNC
  • VPN
  • VSCode
  • WAF
  • WASM
  • Web
  • WebAssembly
  • Webp
  • Windows
  • WSL
  • YAML
  • Youtube
  • Zabbix
  • Zero Trust
  • Zim
  • ZSH
  • 台語
Hero Image
Tools

tirith: Tirith guards the gate and intercepts suspicious URLs, ANSI injection, and pipe-to-shell attacks before they execute. subtrace: Inspect HTTP requests in any server with just a single command. prek: ⚡ Better pre-commit, re-engineered in Rust sandbox-exec: macOS’s Little-Known Command-Line Sandboxing Tool babyshark: Flows-first PCAP TUI (case files, gorgeous UX). llmfit: A terminal tool that right-sizes LLM models to your system’s RAM, CPU, and GPU. Detects your hardware, scores each model across quality, speed, fit, and context dimensions, and tells you which ones will actually run well on your machine. sandbox-exec(Deprecated) sandbox-exec -f profile.sb command_to_run

Sunday, March 15, 2026 閱讀
Hero Image
Links

AnyStorage: AnyStorage brings S3, R2, Backblaze B2, MinIO, and other compatible services into a single desktop workspace with a cleaner rhythm than cloud dashboards. 歹晚郎內推互助網絡 Grid: Free, Privacy-First Digital Fabrication Tools for STEM Learning Free British Accent Generator minimal: Minimal CVE Hardened container image collection Docker Hardened Images: secure, minimal, production-ready images. webr: The statistical language R compiled to WebAssembly via Emscripten, for use in web browsers and Node. Can I Run AI locally?: Find out which AI models your machine can actually run. Can’t Maintain: A “Can’t Unsee”-style training game that teaches junior React/TypeScript developers proper prop naming conventions and JSDoc documentation. Go Katas: A collection of daily coding challenges designed to help you master idiomatic Go through deliberate, repetitive practice. Paged Out!: a free experimental (one article == one page) technical magazine about programming (especially programming tricks!), hacking, security hacking, retro computers, modern computers, electronics, demoscene, and other similar topics. Free Weather API: Open-Meteo is an open-source weather API and offers free access for non-commercial use. No API key required.

Saturday, March 14, 2026 閱讀
Hero Image
Articles

You don’t need Kafka: Building a message queue with only two UNIX signals It’s 2026, Just Use Postgres What canceled my Go context? Notes on Writing Wasm Go 1.26 interactive tour It’s 2026, Just Use Postgres The “Use the Right Tool” Trap You’ve heard the advice: “Use the right tool for the right job.” Sounds wise. So you end up with: Elasticsearch for search Pinecone for vectors Redis for caching MongoDB for documents Kafka for queues InfluxDB for time-series PostgreSQL for… the stuff that’s left Here’s what most people don’t realize: Postgres extensions use the same or better algorithms as specialized databases (in many cases).

Friday, March 13, 2026 閱讀
Hero Image
Selectively Disabling HTTP/1.0 and HTTP/1.1

Selectively Disabling HTTP/1.0 and HTTP/1.1 http { ... # Check for text-based browsers map $http_user_agent $is_text_browser { default 0; # Text-Based Browsers (not exhaustive) "~*^w3m" 1; "~*^Links" 1; "~*^ELinks" 1; "~*^lynx" 1; # Bots (not exhaustive) "~*Googlebot" 1; "~*bingbot" 1; "~*Yahoo! Slurp" 1; "~*DuckDuckBot" 1; "~*YandexBot" 1; "~*Kagibot" 1; } # Check if request is HTTP/1.X map $server_protocol $is_http1 { default 0; "HTTP/1.0" 1; "HTTP/1.1" 1; } # If Request is not text-based browser, # and is HTTP/1.X, set the http1_and_unknown variable # to 1, which is equivalent to "true" map "$is_http1:$is_text_browser" $http1_and_unknown { default 0; "1:0" 1; } ... }

Tuesday, February 3, 2026 閱讀
Hero Image
Go Tool Trace

淺談 Go Tool Trace - 1 淺談 Go Tool Trace - 2 Go Trace 與使用者自訂追蹤分析 淺談 Go Tool Trace - 3 實際分析 Goroutine Analysis Go Tool Trace - 4 從 分析到實戰:最佳化 Goroutine 數量 trace trace 是「事件時間軸」,不是「取樣統計」 go tool trace:用來看 runtime trace(執行追蹤),本質是「時間序列事件」: goroutine 的建立 / runnable / running / waiting / syscall scheduler(G/M/P)相關事件、排程延遲 blocking(net / sync / syscall)時間分佈 GC 事件、STW、heap 變化(在 trace viewer 會看到) 用 pprof 是找「熱點」:誰吃 CPU / 誰 alloc 多 用 trace 是找「延遲原因」:為什麼卡(排程?鎖?網路?syscall?GC?) 直覺判斷:

Tuesday, January 27, 2026 閱讀
Hero Image
I Replaced Redis with PostgreSQL (And It's Faster)

I Replaced Redis with PostgreSQL (And It’s Faster) 在更改之前,Redis 主要處理三件事: 快取(佔使用量的 70%) 發布/訂閱(佔使用量的 20%) 後台作業佇列(使用率 10%) 痛點: 需要備份兩個資料庫 Redis 使用記憶體(規模化時成本很高) Redis 持久化機制…很複雜。 Postgres 和 Redis 之間的網路跳躍 PostgreSQL 功能 1: 使用未記錄表進行快取 Redis await redis.set("session:abc123", JSON.stringify(sessionData), "EX", 3600); PostgreSQL CREATE UNLOGGED TABLE cache ( key TEXT PRIMARY KEY, value JSONB NOT NULL, expires_at TIMESTAMPTZ NOT NULL ); CREATE INDEX idx_cache_expires ON cache(expires_at); Insert INSERT INTO cache (key, value, expires_at) VALUES ($1, $2, NOW() + INTERVAL '1 hour') ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value, expires_at = EXCLUDED.expires_at; Read SELECT value FROM cache WHERE key = $1 AND expires_at > NOW(); Cleanup (run periodically)

Monday, January 19, 2026 閱讀
Hero Image
臺灣台語輸入法 App 上架,即日起行動裝置也能輸入臺灣台語

臺灣台語輸入法 App 上架,即日起行動裝置也能輸入臺灣台語 教育部臺灣台語輸入法 - iOS 教育部臺灣台語輸入法 - Android 「臺灣台語輸入法」除了支援拼音輸入,也提供語音輸入功能,讓使用者能透過語音轉換成文字。

Thursday, January 15, 2026 閱讀
Hero Image
WebAssembly 發生了什麼事

WebAssembly 發生了什麼事 Watlings

Sunday, January 11, 2026 閱讀
Hero Image
用 WUD 取代 Watchtower:打造可控的 Docker 自動更新方案

用 WUD 取代 Watchtower:打造可控的 Docker 自動更新方案 WUD(What’s Up Docker) services: wud: image: getwud/wud:latest container_name: wud restart: unless-stopped ports: - "3000:3000" volumes: - /var/run/docker.sock:/var/run/docker.sock - ./store:/store environment: - TZ=Asia/Shanghai # 本机 Docker watcher - WUD_WATCHER_LOCAL_SOCKET=/var/run/docker.sock # 关键:默认不监控任何容器 - WUD_WATCHER_LOCAL_WATCHBYDEFAULT=false # 每 12 小时扫描一次 - WUD_WATCHER_LOCAL_CRON=0 */12 * * * # 自动更新 + 更新后清理旧镜像 - WUD_TRIGGER_DOCKER_AUTO_PRUNE=true # 效果等同于 `watchtower --cleanup` 只監控(不自動更新) labels: - "wud.watch=true" 會出現在 WUD UI 會提示有更新 不會自動重啟 監控 + 自動更新(等同 Watchtower) labels: - "wud.watch=true" - "wud.trigger.include=docker.auto"

Sunday, January 11, 2026 閱讀
Hero Image
終端機如何運作

終端機如何運作

Friday, January 9, 2026 閱讀
Hero Image
每位程式設計師都該知道的 Python 數字

每位程式設計師都該知道的 Python 數字

Sunday, January 4, 2026 閱讀
Hero Image
為什麼它正在執行?

為什麼它正在執行?

Tuesday, December 30, 2025 閱讀
  • ««
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
  • »»
導覽列
  • 關於
  • 技能
  • 經歷
  • 學歷
  • 專案
聯絡方式:
  • zeyanlin@outlook.com
  • linzeyan
  • Ricky
  • Ricky