<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Database on Ricky</title><link>https://59d713fc.rickylin.pages.dev/zh-tw/categories/database/</link><description>Recent content in Database on Ricky</description><generator>Hugo -- gohugo.io</generator><language>zh-tw</language><lastBuildDate>Fri, 07 Aug 2026 16:00:33 +0800</lastBuildDate><atom:link href="https://59d713fc.rickylin.pages.dev/zh-tw/categories/database/index.xml" rel="self" type="application/rss+xml"/><item><title>Articles</title><link>https://59d713fc.rickylin.pages.dev/zh-tw/posts/2026/20260807-articles/</link><pubDate>Fri, 07 Aug 2026 16:00:33 +0800</pubDate><guid>https://59d713fc.rickylin.pages.dev/zh-tw/posts/2026/20260807-articles/</guid><description>&lt;ul>
&lt;li>&lt;a href="https://retrogamesnexus.com/zh-TW" target="_blank" rel="noopener">懷舊遊戲&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://meshdiff.com/" target="_blank" rel="noopener">See exactly what changed between two 3D models&lt;/a>&lt;/li>
&lt;li>&lt;strong>Github&lt;/strong>
&lt;ul>
&lt;li>&lt;a href="https://github.com/Aryan-Raj3112/episteme" target="_blank" rel="noopener">episteme: A multi-platform document and e-book reader.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/victoriametrics/VictoriaMetrics" target="_blank" rel="noopener">VictoriaMetrics: fast, cost-effective monitoring solution and time series database&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/palmier-io/palmier-pro" target="_blank" rel="noopener">palmier-pro: macOS video editor built for AI&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/internetarchive/wayback-machine-webextension" target="_blank" rel="noopener">A web browser extension for Chrome, Firefox, Edge, and Safari 14.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/onecli/onecli" target="_blank" rel="noopener">Open-source credential gateway with a built-in vault. give your AI agents access to services without exposing keys.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/lightningpixel/modly" target="_blank" rel="noopener">Desktop app to generate 3D models from images using local AI — runs entirely on your GPU&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/darktable-org/darktable" target="_blank" rel="noopener">darktable is an open source photography workflow application and raw developer&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/yattee/yattee" target="_blank" rel="noopener">Privacy oriented video player for iOS, tvOS and macOS&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/ml-explore/mlx-examples" target="_blank" rel="noopener">Examples in the MLX framework&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/tazjin/nixery" target="_blank" rel="noopener">Container registry which transparently builds images using the Nix package manager.&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Self-Hosted&lt;/strong>
&lt;ul>
&lt;li>&lt;a href="https://github.com/averygan/reclip" target="_blank" rel="noopener">ReClip: Download videos from almost any website. Lightweight, self-hosted media downloader with a clean web UI.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Sync-in/server" target="_blank" rel="noopener">Sync-in Server · Sovereign platform for file storage, sharing, synchronization, and collaboration.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/MarSeventh/CloudFlare-ImgBed" target="_blank" rel="noopener">🏖️ A serverless, open-source file hosting solution built on Cloudflare. Supports image hosting, secure file storage, and personal cloud drive capabilities.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/superfly/litefs" target="_blank" rel="noopener">FUSE-based file system for replicating SQLite databases across a cluster of machines&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/richinsley/comfy2go" target="_blank" rel="noopener">A Go-based API that acts as a bridge to the ComfyUI backend&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Skill&lt;/strong>
&lt;ul>
&lt;li>&lt;a href="https://github.com/cloudflare/skills" target="_blank" rel="noopener">Skills for teaching agents how to build on Cloudflare.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/affaan-m/ECC" target="_blank" rel="noopener">everything claude code: The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/zhaoxuya520/reverse-skill" target="_blank" rel="noopener">逆向/渗透/安全技能路由包 - AI 自动路由 + 按需自举工具链 + 自动进化经验库 | 支持 Claude Code / Kiro / Cursor / Cline 等代码 AI 客户端&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/nextlevelbuilder/ui-ux-pro-max-skill" target="_blank" rel="noopener">An AI SKILL that provide design intelligence for building professional UI/UX multiple platforms&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Article&lt;/strong>
&lt;ul>
&lt;li>&lt;a href="https://pkg.go.dev/golang.org/x/tools/go/analysis" target="_blank" rel="noopener">https://pkg.go.dev/golang.org/x/tools/go/analysis&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://colobu.com/2026/06/28/go-language-skills-ai-era-go-toolchain/" target="_blank" rel="noopener">Go 语言技能：AI 时代的 Go 开发工具链&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul></description></item><item><title>Articles</title><link>https://59d713fc.rickylin.pages.dev/zh-tw/posts/2026/20260720-articles/</link><pubDate>Mon, 20 Jul 2026 09:19:00 +0800</pubDate><guid>https://59d713fc.rickylin.pages.dev/zh-tw/posts/2026/20260720-articles/</guid><description>&lt;ul>
&lt;li>&lt;a href="https://www.submission.directory/" target="_blank" rel="noopener">A website submission directory to submit your business, startup, or website&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.cloudflare.com/drop/" target="_blank" rel="noopener">Summon your site - HTML, CSS, JS. See it live instantly.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://metawilo.com/" target="_blank" rel="noopener">台灣罪犯圖鑑&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://clocks.dev/" target="_blank" rel="noopener">Collection of digital clock designs&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://clig.dev/" target="_blank" rel="noopener">Command Line Interface Guidelines&lt;/a>&lt;/li>
&lt;li>&lt;strong>Github&lt;/strong>
&lt;ul>
&lt;li>&lt;a href="https://github.com/searxng/searxng" target="_blank" rel="noopener">SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/HelixDB/helix-db" target="_blank" rel="noopener">HelixDB is an OLTP graph-vector database built in Rust on Object Storage.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/VSCodium/vscodium" target="_blank" rel="noopener">vscodium: binary releases of VS Code without MS branding/telemetry/licensing&lt;/a> - &lt;code>VSCodium&lt;/code> 使用 &lt;code>Open VSX Registry&lt;/code> 替換 &lt;code>Visual Studio Marketplace&lt;/code>，相容大多數 extension。&lt;/li>
&lt;li>&lt;a href="https://github.com/EpicGames/lore" target="_blank" rel="noopener">Lore is a next-generation, open source version control system&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/paytonjjones/bsharp" target="_blank" rel="noopener">bsharp: A tool to teach children perfect pitch&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/stamparm/maltrail" target="_blank" rel="noopener">maltrail: Malicious traffic detection system&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/schollz/croc" target="_blank" rel="noopener">croc: Easily and securely send things from one computer to another&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/StarTrail-org/PixelRAG" target="_blank" rel="noopener">PixelRAG: The end of web parsing. The beginning of scalable pixel-native search. link: https://pixelrag.ai/&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/azukaar/Cosmos-Server" target="_blank" rel="noopener">Cosmos is the most secure and easy way to self-host a Home Server. It acts as a secure gateway to your application, as well as a server manager. It aims to solve the increasingly worrying problem of vulnerable self-hosted applications and personal servers.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/jhaals/yopass" target="_blank" rel="noopener">yopass: Secure sharing of secrets, passwords and files&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/OpenHub-Store/GitHub-Store" target="_blank" rel="noopener">GitHub-Store: A free, open-source app store for developers&amp;rsquo; releases on GitHub, Codeberg &amp;amp; Forgejo — browse, discover, and install apps with one click.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/n0-computer/iroh" target="_blank" rel="noopener">iroh: IP addresses break, dial keys instead. A library that adds QUIC + NAT Traversal to your apps.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Crosstalk-Solutions/project-nomad" target="_blank" rel="noopener">Project N.O.M.A.D, is a self-contained, offline survival computer packed with critical tools, knowledge, and AI to keep you informed and empowered—anytime, anywhere.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/sw33tLie/macshot" target="_blank" rel="noopener">macshot: Feature-packed native macOS screenshot &amp;amp; recording tool: annotate, auto-redact PII, record GIFs, OCR + translate, scroll capture, beautify, and more. No Electron, no subscription.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/iOfficeAI/OfficeCLI" target="_blank" rel="noopener">OfficeCLI is the first and best Office suite purpose-built for AI agents to read, edit, and automate Word, Excel, and PowerPoint files. Free, open-source, single binary, no Office installation required.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Diolinux/Photogimp" target="_blank" rel="noopener">A Patch for GIMP 3+(https://www.gimp.org/) for Photoshop Users&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/chattocorp/chatto" target="_blank" rel="noopener">chatto: A fully-featured team and group chat application that you can easily selfhost.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/nextest-rs/nextest" target="_blank" rel="noopener">nextest: A next-generation test runner for Rust.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/peetzweg/opendisplay" target="_blank" rel="noopener">OpenDisplay：Sidecar 与 Duet Display 的开源替代品，把闲置的 iPhone / iPad 变成 Mac 第二显示屏&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/pavlobu/deskreen" target="_blank" rel="noopener">Deskreen：将局域网设备变为电脑的第二块屏幕&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Skill&lt;/strong>
&lt;ul>
&lt;li>&lt;a href="https://github.com/DietrichGebert/ponytail" target="_blank" rel="noopener">ponytail: Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/nvidia/skillspector" target="_blank" rel="noopener">skillspector: Security scanner for AI agent skills. Detect vulnerabilities, malicious patterns, and security risks.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/cloudflare/security-audit-skill" target="_blank" rel="noopener">security-audit: A coding-agent skill for multi-phase security audits with independently verified, machine-readable findings&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Article&lt;/strong>
&lt;ul>
&lt;li>&lt;a href="https://www.rfc-editor.org/info/rfc10008/" target="_blank" rel="noopener">RFC 10008: The HTTP QUERY Method&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://mareksuppa.com/til/bash-dev-tcp-http-without-curl/" target="_blank" rel="noopener">Making HTTP requests from a container that has no curl, using bash &lt;code>/dev/tcp&lt;/code>&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://t.me/TheB1ackParade/1076" target="_blank" rel="noopener">rr-debugger(https://github.com/rr-debugger/rr)&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://docs.deno.com/runtime/desktop/" target="_blank" rel="noopener">Deno Desktop&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.fosslinux.com/158206/linux-on-older-hardware-revival-guide.htm" target="_blank" rel="noopener">Linux on Older Hardware: The Complete Revival Guide (2026)&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://news.ycombinator.com/item?id=48842459" target="_blank" rel="noopener">Show HN: Getting GLM 5.2 running on my slow computer&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://mrmad.com.tw/how-to-turn-on-iphone-guided-access" target="_blank" rel="noopener">iPhone引導模式怎麼開？借手機人不怕隱私外洩和一鍵鎖定App&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://ikrima.dev/dev-notes/linux/linux-modern-tools/" target="_blank" rel="noopener">Modern Linux Tools&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="iphone引導模式怎麼開借手機人不怕隱私外洩和一鍵鎖定app">iPhone引導模式怎麼開？借手機人不怕隱私外洩和一鍵鎖定App&lt;/h2>
&lt;h3 id="開啟與設定功能">開啟與設定功能&lt;/h3>
&lt;ol>
&lt;li>打開 iPhone 上的 &lt;strong>「設定」&lt;/strong> App。&lt;/li>
&lt;li>點選 &lt;strong>「輔助使用」&lt;/strong>。&lt;/li>
&lt;li>往下找到並點選 &lt;strong>「引導使用模式」&lt;/strong>，然後將其&lt;strong>開啟&lt;/strong>。&lt;/li>
&lt;li>建議順便進行以下設定：&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>&lt;strong>密碼設定&lt;/strong>：點一下「密碼設定」&amp;gt;「設定引導使用模式密碼」，輸入一組解鎖密碼，並可同時開啟 &lt;strong>Face ID&lt;/strong> 或 &lt;strong>Touch ID&lt;/strong> 作為快速解鎖/結束的方式。&lt;/li>
&lt;li>&lt;strong>輔助使用快速鍵&lt;/strong>：建議將其開啟，之後只要連按三下側邊按鈕就能快速叫出或退出此模式。&lt;/li>
&lt;/ul>
&lt;h3 id="開始使用將-iphone-鎖定在單一-app">開始使用（將 iPhone 鎖定在單一 App）&lt;/h3>
&lt;ol>
&lt;li>打開你想要讓別人（或自己專注）使用的 &lt;strong>App&lt;/strong>。&lt;/li>
&lt;li>&lt;strong>啟動引導使用模式&lt;/strong>：&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>&lt;strong>具備 Face ID 的 iPhone&lt;/strong>（全螢幕機型）：&lt;strong>連按三下側邊按鈕&lt;/strong>（電源鍵）。&lt;/li>
&lt;li>&lt;strong>具備主畫面按鈕的舊款 iPhone&lt;/strong>：&lt;strong>連按三下主畫面按鈕&lt;/strong>（Home 鍵）。&lt;/li>
&lt;li>或者也可以呼叫 Siri：「打開引導使用模式」。&lt;/li>
&lt;/ul>
&lt;ol start="3">
&lt;li>如果跳出輔助使用快速鍵面板，請點選 &lt;strong>「引導使用模式」&lt;/strong>。&lt;/li>
&lt;li>&lt;strong>自訂限制區域（選用）&lt;/strong>：&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>如果想讓螢幕上的特定區域&lt;strong>無法被觸控點擊&lt;/strong>（例如遊戲內的廣告區塊），直接用手指在該區域&lt;strong>畫一個圓圈&lt;/strong>，之後可以拖曳邊框來調整大小。&lt;/li>
&lt;/ul>
&lt;ol start="5">
&lt;li>&lt;strong>點一下右下角的「階段設定」&lt;/strong>（或選項），可以自由決定是否停用以下功能：&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>側邊按鈕 / 頂端按鈕&lt;/li>
&lt;li>音量按鈕&lt;/li>
&lt;li>動作（防止螢幕自動旋轉或因晃動而有反應）&lt;/li>
&lt;li>軟體鍵盤&lt;/li>
&lt;li>觸控（若想完全讓整個螢幕無法觸控可關閉此項）&lt;/li>
&lt;li>時間限制&lt;/li>
&lt;/ul>
&lt;ol start="6">
&lt;li>設定完成後，點一下右上角的 &lt;strong>「完成」&lt;/strong>，再點一下 &lt;strong>「開始」&lt;/strong> 即可正式鎖定。&lt;/li>
&lt;/ol>
&lt;h3 id="如何結束引導使用模式">如何結束引導使用模式&lt;/h3>
&lt;ol>
&lt;li>&lt;strong>連按三下&lt;/strong>側邊按鈕（或主畫面按鈕）。&lt;/li>
&lt;li>輸入你剛剛設定的&lt;strong>引導使用模式密碼&lt;/strong>（或直接使用 Face ID / Touch ID 驗證）。&lt;/li>
&lt;li>畫面左上角會出現 &lt;strong>「結束」&lt;/strong> 按鈕，點下去即可退出此模式。&lt;/li>
&lt;/ol></description></item><item><title>Articles</title><link>https://59d713fc.rickylin.pages.dev/zh-tw/posts/2026/20260603-articles/</link><pubDate>Wed, 03 Jun 2026 10:07:17 +0800</pubDate><guid>https://59d713fc.rickylin.pages.dev/zh-tw/posts/2026/20260603-articles/</guid><description>&lt;ul>
&lt;li>&lt;a href="https://medium.com/@0050211" target="_blank" rel="noopener">https://medium.com/@0050211&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://bitcoinbook-3nd-zh.doge.tg/" target="_blank" rel="noopener">精通比特幣&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://virtualosmuseum.org/" target="_blank" rel="noopener">https://virtualosmuseum.org/&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://polypad.amplify.com/" target="_blank" rel="noopener">mathematical playground&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://hub.twinkleai.tw/" target="_blank" rel="noopener">台灣資料的 MCP Hub&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.kindyinfo.com/" target="_blank" rel="noopener">幼園通：幼兒園地圖查詢系統&lt;/a>&lt;/li>
&lt;li>&lt;strong>Github&lt;/strong>
&lt;ul>
&lt;li>&lt;a href="https://github.com/xiaolincoder/CS-Base" target="_blank" rel="noopener">小林 x 图解计算机基础&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Haxxnet/Compose-Examples" target="_blank" rel="noopener">Awesome Docker Compose Examples&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/studyplace-io/Golang-Concurrency-Pattern-Demo" target="_blank" rel="noopener">Golang-Concurrency-Pattern-Demo&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/quii/learn-go-with-tests" target="_blank" rel="noopener">Learn Go with Tests&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Admol/SystemDesign" target="_blank" rel="noopener">SystemDesign&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/erdong/prometheus-notes" target="_blank" rel="noopener">Prometheus Notes&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/rustcn-org/rust-algos" target="_blank" rel="noopener">Rust算法题解&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/jbranchaud/til" target="_blank" rel="noopener">📝 Today I Learned&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/GoogleCloudPlatform/golang-samples" target="_blank" rel="noopener">golang-samples&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/lifei6671/interview-go" target="_blank" rel="noopener">Golang 面试题搜集&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/xdite/learn-hack" target="_blank" rel="noopener">打造超人學習能力&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/smallnest/network_benchmark" target="_blank" rel="noopener">单机百万级别QPS 网络传输&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/ruanyf/ai-test-case" target="_blank" rel="noopener">AI 编程的测试用例&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Andyyyy64/whichllm" target="_blank" rel="noopener">whichllm: Find the best local LLM that actually runs on your hardware.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/neuphonic/neutts" target="_blank" rel="noopener">NeuTTS: On-device TTS model by Neuphonic&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/simonoppowa/OpenNutriTracker" target="_blank" rel="noopener">OpenNutriTracker is a free and open source calorie tracker with a focus on simplicity and privacy.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/xai-org/x-algorithm" target="_blank" rel="noopener">Algorithm powering the For You feed on X&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/DigitalPlatDev/FreeDomain" target="_blank" rel="noopener">DigitalPlat FreeDomain: Free Domain For Everyone&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/antoinezambelli/forge" target="_blank" rel="noopener">forge: A Python framework for self-hosted LLM tool-calling and multi-step agentic workflows.&lt;/a>: Three ways to use it: Proxy server, WorkflowRunner, Guardrails middleware.&lt;/li>
&lt;li>&lt;a href="https://github.com/KeygraphHQ/shannon" target="_blank" rel="noopener">Shannon Lite is an autonomous, white-box AI pentester for web applications and APIs. It analyzes your source code, identifies attack vectors, and executes real exploits to prove vulnerabilities before they reach production.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/manaflow-ai/cmux" target="_blank" rel="noopener">cmux: Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/superset-sh/superset" target="_blank" rel="noopener">superset: Code Editor for the AI Agents Era - Run an army of Claude Code, Codex, etc. on your machine&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/soxoj/maigret" target="_blank" rel="noopener">Maigret collects a dossier on a person by username only, checking for accounts on a huge number of sites and gathering all the available information from web pages. No API keys required.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/OpenBMB/VoxCPM" target="_blank" rel="noopener">VoxCPM2: Tokenizer-Free TTS for Multilingual Speech Generation, Creative Voice Design, and True-to-Life Cloning&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Donchitos/Claude-Code-Game-Studios" target="_blank" rel="noopener">Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/alistaitsacle/free-llm-api-keys" target="_blank" rel="noopener">https://github.com/alistaitsacle/free-llm-api-keys&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/helloianneo/ian-xiaohei-illustrations" target="_blank" rel="noopener">Ian Xiaohei Illustrations 是一个 Codex Skill，用来指导 AI Agent 为中文文章、帖子、博客、Notion 文档和方法论内容生成正文配图。&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/pewdiepie-archdaemon/odysseus" target="_blank" rel="noopener">odysseus: A self-hosted AI workspace &amp;ndash; meant to be the self-hosted version of the UI experience you get from ChatGPT and Claude. But with more jank and fun. Running on your own hardware, with your own data &amp;ndash; local-first, privacy-first, and no trojan.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/mengxi-ream/read-frog" target="_blank" rel="noopener">🐸 Read Frog - Open Source Immersive Translate | 🐸 陪读蛙 - 开源沉浸式翻译&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/LiveContainer/LiveContainer" target="_blank" rel="noopener">LiveContainer is an app launcher (not emulator or hypervisor) that allows you to run iOS apps inside it.&lt;/a>: Allows you to install unlimited apps (3 app/10 app id free developer account limit does not apply here) with only one app &amp;amp; app id. You can also have multiple versions of an app installed with multiple data containers.&lt;/li>
&lt;li>&lt;a href="https://github.com/T8RIN/ImageToolbox" target="_blank" rel="noopener">Image Toolbox is a powerful app for advanced image manipulation. It offers dozens of features, from basic tools like crop and draw to filters, OCR, and a wide range of image processing options&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/evilsocket/nyx" target="_blank" rel="noopener">Nyx (goddess of the night in Greek mythology) is a self-contained script for cleaning forensic traces on Linux, macOS, and Windows.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/bobeff/open-source-games" target="_blank" rel="noopener">Open source games&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/golang/groupcache" target="_blank" rel="noopener">groupcache&lt;/a>
&lt;ul>
&lt;li>&lt;a href="https://github.com/groupcache/groupcache-go" target="_blank" rel="noopener">groupcache-go&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="https://github.com/Archeb/peer.as" target="_blank" rel="noopener">PEER.AS — explore global BGP routing, IP prefixes, ASNs, AS_PATH, origins and peering. The whole thing runs in your browser: there is no backend, no API, and no database server. The site is just a bundle of static files you can host, fork, or mirror anywhere.&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Tool&lt;/strong>
&lt;ul>
&lt;li>&lt;a href="https://instances.vantage.sh/" target="_blank" rel="noopener">ec2instances.info&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://imagefree.net/zh-Hant" target="_blank" rel="noopener">https://imagefree.net/zh-Hant&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Article&lt;/strong>
&lt;ul>
&lt;li>&lt;a href="https://xdgbasedirectoryspecification.com/" target="_blank" rel="noopener">XDG Base Directory Spec&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://zackoverflow.dev/writing/zig-vs-rust-in-2026/" target="_blank" rel="noopener">Zig vs Rust in 2026&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://emschwartz.me/your-clippy-config-should-be-stricter/" target="_blank" rel="noopener">Your Clippy Config Should Be Stricter&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blogblog.club/blogrollroll/" target="_blank" rel="noopener">部落卷卷&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://refactoringenglish.com/tools/hn-popularity/" target="_blank" rel="noopener">HN Popularity Contest&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blainsmith.com/articles/httptrace-with-go/" target="_blank" rel="noopener">Tracing HTTP Requests with Go&amp;rsquo;s &lt;code>net/http/httptrace&lt;/code>&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>免費 3D 列印模型網站&lt;/strong>
&lt;ul>
&lt;li>&lt;a href="https://makerworld.com" target="_blank" rel="noopener">MakerWorld&lt;/a>: Bambu Lab 官方模型平台。很多模型已經附好列印參數（3MF），下載後可直接列印。適合新手。&lt;/li>
&lt;li>&lt;a href="https://www.printables.com" target="_blank" rel="noopener">Printables&lt;/a>: Prusa 官方社群平台。高品質免費模型很多，分類清楚。實用工具、收納、機械零件特別豐富。&lt;/li>
&lt;li>&lt;a href="https://www.thingiverse.com" target="_blank" rel="noopener">Thingiverse&lt;/a>: 歷史最悠久的 3D 模型網站之一。免費模型數量非常大。&lt;/li>
&lt;li>&lt;a href="https://thangs.com" target="_blank" rel="noopener">Thangs&lt;/a>: 兼具模型搜尋引擎與模型平台。可以搜尋多個模型網站的內容。有免費也有付費模型。&lt;/li>
&lt;li>&lt;a href="https://cults3d.com" target="_blank" rel="noopener">Cults3D&lt;/a>: 設計師作品較多。公仔、模型、Cosplay 道具品質高。付費模型比例較高，但也有免費下載區。&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="xdg-base-directory-spec">XDG Base Directory Spec&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Category&lt;/th>
&lt;th>Environment Variable&lt;/th>
&lt;th>Default Value&lt;/th>
&lt;th>FHS Approximation&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Configuration&lt;/td>
&lt;td>$XDG_CONFIG_HOME&lt;/td>
&lt;td>$HOME/.config&lt;/td>
&lt;td>/etc&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Data&lt;/td>
&lt;td>$XDG_DATA_HOME&lt;/td>
&lt;td>$HOME/.local/share&lt;/td>
&lt;td>/usr/share&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>State&lt;/td>
&lt;td>$XDG_STATE_HOME&lt;/td>
&lt;td>$HOME/.local/state&lt;/td>
&lt;td>/var/lib&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Cache&lt;/td>
&lt;td>$XDG_CACHE_HOME&lt;/td>
&lt;td>$HOME/.cache&lt;/td>
&lt;td>/var/cache&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-go" data-lang="go">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">package&lt;/span> &lt;span style="color:#a6e22e">main&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> (
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;os&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;fmt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;log&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;path/filepath&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">func&lt;/span> &lt;span style="color:#a6e22e">getConfigDir&lt;/span>() (&lt;span style="color:#66d9ef">string&lt;/span>, &lt;span style="color:#66d9ef">error&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">configDir&lt;/span> &lt;span style="color:#f92672">:=&lt;/span> &lt;span style="color:#a6e22e">os&lt;/span>.&lt;span style="color:#a6e22e">Getenv&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;XDG_CONFIG_HOME&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// If the value of the environment variable is unset, empty, or not an absolute path, use the default&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> &lt;span style="color:#a6e22e">configDir&lt;/span> &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&amp;#34;&lt;/span> &lt;span style="color:#f92672">||&lt;/span> &lt;span style="color:#a6e22e">configDir&lt;/span>[&lt;span style="color:#ae81ff">0&lt;/span>:&lt;span style="color:#ae81ff">1&lt;/span>] &lt;span style="color:#f92672">!=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;/&amp;#34;&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">homeDir&lt;/span>, &lt;span style="color:#a6e22e">err&lt;/span> &lt;span style="color:#f92672">:=&lt;/span> &lt;span style="color:#a6e22e">os&lt;/span>.&lt;span style="color:#a6e22e">UserHomeDir&lt;/span>()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> &lt;span style="color:#a6e22e">err&lt;/span> &lt;span style="color:#f92672">!=&lt;/span> &lt;span style="color:#66d9ef">nil&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&amp;#34;&lt;/span>, &lt;span style="color:#a6e22e">err&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#a6e22e">filepath&lt;/span>.&lt;span style="color:#a6e22e">Join&lt;/span>(&lt;span style="color:#a6e22e">homeDir&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;.config&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;my-application-name&amp;#34;&lt;/span>), &lt;span style="color:#66d9ef">nil&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// The value of the environment variable is valid; use it&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#a6e22e">filepath&lt;/span>.&lt;span style="color:#a6e22e">Join&lt;/span>(&lt;span style="color:#a6e22e">configDir&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;my-application-name&amp;#34;&lt;/span>), &lt;span style="color:#66d9ef">nil&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">func&lt;/span> &lt;span style="color:#a6e22e">main&lt;/span>() {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">config_dir&lt;/span>, &lt;span style="color:#a6e22e">err&lt;/span> &lt;span style="color:#f92672">:=&lt;/span> &lt;span style="color:#a6e22e">getConfigDir&lt;/span>()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> &lt;span style="color:#a6e22e">err&lt;/span> &lt;span style="color:#f92672">!=&lt;/span> &lt;span style="color:#66d9ef">nil&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> panic(&lt;span style="color:#a6e22e">err&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">fmt&lt;/span>.&lt;span style="color:#a6e22e">Println&lt;/span>(&lt;span style="color:#a6e22e">config_dir&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="whichllm">whichllm&lt;/h2>
&lt;p>&lt;code>uvx whichllm@latest&lt;/code>&lt;/p></description></item><item><title>I Replaced Redis with PostgreSQL (And It's Faster)</title><link>https://59d713fc.rickylin.pages.dev/zh-tw/posts/2026/20260119-i-replaced-redis-with-postgresql-and-its-faster/</link><pubDate>Mon, 19 Jan 2026 15:45:23 +0800</pubDate><guid>https://59d713fc.rickylin.pages.dev/zh-tw/posts/2026/20260119-i-replaced-redis-with-postgresql-and-its-faster/</guid><description>&lt;ul>
&lt;li>&lt;a href="https://dev.to/polliog/i-replaced-redis-with-postgresql-and-its-faster-4942" target="_blank" rel="noopener">I Replaced Redis with PostgreSQL (And It&amp;rsquo;s Faster)&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="在更改之前redis-主要處理三件事">在更改之前，Redis 主要處理三件事：&lt;/h3>
&lt;ol>
&lt;li>快取（佔使用量的 70%）&lt;/li>
&lt;li>發布/訂閱（佔使用量的 20%）&lt;/li>
&lt;li>後台作業佇列（使用率 10%）&lt;/li>
&lt;/ol>
&lt;p>&lt;strong>&lt;em>痛點:&lt;/em>&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>需要備份兩個資料庫&lt;/li>
&lt;li>Redis 使用記憶體（規模化時成本很高）&lt;/li>
&lt;li>Redis 持久化機制…很複雜。&lt;/li>
&lt;li>Postgres 和 Redis 之間的網路跳躍&lt;/li>
&lt;/ul>
&lt;h3 id="postgresql-功能">PostgreSQL 功能&lt;/h3>
&lt;h5 id="1-使用未記錄表進行快取">1: 使用未記錄表進行快取&lt;/h5>
&lt;p>&lt;strong>&lt;em>Redis&lt;/em>&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-javascript" data-lang="javascript">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">await&lt;/span> &lt;span style="color:#a6e22e">redis&lt;/span>.&lt;span style="color:#a6e22e">set&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;session:abc123&amp;#34;&lt;/span>, &lt;span style="color:#a6e22e">JSON&lt;/span>.&lt;span style="color:#a6e22e">stringify&lt;/span>(&lt;span style="color:#a6e22e">sessionData&lt;/span>), &lt;span style="color:#e6db74">&amp;#34;EX&amp;#34;&lt;/span>, &lt;span style="color:#ae81ff">3600&lt;/span>);
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>&lt;em>PostgreSQL&lt;/em>&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-sql" data-lang="sql">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">CREATE&lt;/span> UNLOGGED &lt;span style="color:#66d9ef">TABLE&lt;/span> &lt;span style="color:#66d9ef">cache&lt;/span> (
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">key&lt;/span> TEXT &lt;span style="color:#66d9ef">PRIMARY&lt;/span> &lt;span style="color:#66d9ef">KEY&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> value JSONB &lt;span style="color:#66d9ef">NOT&lt;/span> &lt;span style="color:#66d9ef">NULL&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> expires_at TIMESTAMPTZ &lt;span style="color:#66d9ef">NOT&lt;/span> &lt;span style="color:#66d9ef">NULL&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">CREATE&lt;/span> &lt;span style="color:#66d9ef">INDEX&lt;/span> idx_cache_expires &lt;span style="color:#66d9ef">ON&lt;/span> &lt;span style="color:#66d9ef">cache&lt;/span>(expires_at);
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Insert&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-sql" data-lang="sql">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">INSERT&lt;/span> &lt;span style="color:#66d9ef">INTO&lt;/span> &lt;span style="color:#66d9ef">cache&lt;/span> (&lt;span style="color:#66d9ef">key&lt;/span>, value, expires_at)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">VALUES&lt;/span> (&lt;span style="color:#960050;background-color:#1e0010">$&lt;/span>&lt;span style="color:#ae81ff">1&lt;/span>, &lt;span style="color:#960050;background-color:#1e0010">$&lt;/span>&lt;span style="color:#ae81ff">2&lt;/span>, NOW() &lt;span style="color:#f92672">+&lt;/span> INTERVAL &lt;span style="color:#e6db74">&amp;#39;1 hour&amp;#39;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">ON&lt;/span> CONFLICT (&lt;span style="color:#66d9ef">key&lt;/span>) &lt;span style="color:#66d9ef">DO&lt;/span> &lt;span style="color:#66d9ef">UPDATE&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">SET&lt;/span> value &lt;span style="color:#f92672">=&lt;/span> EXCLUDED.value,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> expires_at &lt;span style="color:#f92672">=&lt;/span> EXCLUDED.expires_at;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Read&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-sql" data-lang="sql">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">SELECT&lt;/span> value &lt;span style="color:#66d9ef">FROM&lt;/span> &lt;span style="color:#66d9ef">cache&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">WHERE&lt;/span> &lt;span style="color:#66d9ef">key&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#960050;background-color:#1e0010">$&lt;/span>&lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#66d9ef">AND&lt;/span> expires_at &lt;span style="color:#f92672">&amp;gt;&lt;/span> NOW();
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Cleanup (run periodically)&lt;/strong>&lt;/p></description></item><item><title>資料庫基礎</title><link>https://59d713fc.rickylin.pages.dev/zh-tw/posts/2024/20240101-database-fundementals/</link><pubDate>Mon, 01 Jan 2024 18:46:17 +0800</pubDate><guid>https://59d713fc.rickylin.pages.dev/zh-tw/posts/2024/20240101-database-fundementals/</guid><description>&lt;ul>
&lt;li>&lt;a href="https://tontinton.com/posts/database-fundementals/" target="_blank" rel="noopener">資料庫基礎&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>使用mydumper备份数据库</title><link>https://59d713fc.rickylin.pages.dev/zh-tw/posts/2021/20210901-mydumper/</link><pubDate>Wed, 01 Sep 2021 17:58:48 +0800</pubDate><guid>https://59d713fc.rickylin.pages.dev/zh-tw/posts/2021/20210901-mydumper/</guid><description>&lt;ul>
&lt;li>&lt;a href="https://www.bboy.app/2021/08/09/%E4%BD%BF%E7%94%A8mydumper%E5%A4%87%E4%BB%BD%E6%95%B0%E6%8D%AE%E5%BA%93/" target="_blank" rel="noopener">使用 mydumper 备份数据库&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/mydumper/mydumper" target="_blank" rel="noopener">MyDumper&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>