[{"categories":[],"date":"2026-10-15T20:30:00+08:00","permalink":"https://SymphonyW.github.io/p/entropy-coding-and-file-compression/","readingTime":5,"tags":["数据压缩","熵编码","信息论","编码算法"],"title":"Entropy Coding and File Compression: Distinctions, Common Methods, and the Role of Local Continuity","wordCount":910},{"categories":[],"date":"2026-10-15T15:00:00+08:00","permalink":"https://SymphonyW.github.io/p/agentic-rag-guide/","readingTime":12,"tags":["Agentic RAG","RAG","AI Agent","LLM","Information Retrieval"],"title":"Agentic RAG Explained: Turning Retrieval into a Planning and Reflection Loop","wordCount":2554},{"categories":[],"date":"2026-10-13T16:03:50+08:00","permalink":"https://SymphonyW.github.io/p/cloud-storage-object-file-block/","readingTime":12,"tags":["Cloud Computing","Object Storage","File Storage","Block Storage","Storage"],"title":"Object, File, and Block Storage: How to Choose in the Cloud","wordCount":2434},{"categories":[],"date":"2026-10-09T15:00:00+08:00","permalink":"https://SymphonyW.github.io/p/mcp-guide/","readingTime":15,"tags":["MCP","Agent","AI","Python","Architecture"],"title":"The Complete MCP Guide: Architecture, Remote Call Flow, and Building Your Own Server","wordCount":3000},{"categories":[],"date":"2026-10-08T00:00:00+08:00","permalink":"https://SymphonyW.github.io/p/fastgpt-guide/","readingTime":10,"tags":["FastGPT","RAG","AI Agent","LLM","Open Source"],"title":"FastGPT in Depth: RAG, Workflows, and Self-Hosting","wordCount":1921},{"categories":[],"date":"2026-10-02T20:13:30+08:00","permalink":"https://SymphonyW.github.io/p/search-matching-retrieval/","readingTime":5,"tags":["Search","Information Retrieval","Vector Search","RAG","AI"],"title":"From Keyword Matching to Vector Retrieval: Three Ways to Search","wordCount":1062},{"categories":[],"date":"2026-09-28T20:17:30+08:00","permalink":"https://SymphonyW.github.io/p/internet-architecture-evolution/","readingTime":2,"tags":["架构","高并发","后端","云原生","微服务"],"title":"互联网架构演进：从单机到云原生，一篇讲清楚","wordCount":265},{"categories":[],"date":"2026-09-19T21:17:15+08:00","permalink":"https://SymphonyW.github.io/p/openend/","readingTime":5,"tags":["OpenEnd","Windows","Tools","Developer Productivity"],"title":"Those Mystery Processes Finally Make Sense: OpenEnd","wordCount":862},{"categories":[],"date":"2026-09-18T21:35:00+08:00","permalink":"https://SymphonyW.github.io/p/kv-cache/","readingTime":4,"tags":["AI","LLM","Transformer","Inference"],"title":"KV Cache 深入理解：为什么只存 K/V，不存 Q","wordCount":779},{"categories":[],"date":"2026-09-17T13:55:26+08:00","permalink":"https://SymphonyW.github.io/p/common-image-formats-explained-jpg-png-gif-webp-avif-svg-and-more/","readingTime":6,"tags":["Image Formats","Web","Frontend","Computer Basics"],"title":"Common Image Formats Explained: JPG, PNG, GIF, WebP, AVIF, SVG, and More","wordCount":1224},{"categories":[],"date":"2026-09-16T10:20:00+08:00","permalink":"https://SymphonyW.github.io/p/flask-tutorial/","readingTime":8,"tags":["Python","Flask","Backend","Web Development"],"title":"Flask 实战教程：面向 Python 开发者的轻量 Web 后端入门","wordCount":1595},{"categories":[],"date":"2026-09-15T22:10:00+08:00","permalink":"https://SymphonyW.github.io/p/fastapi-tutorial/","readingTime":8,"tags":["Python","FastAPI","Backend","API","Web Development"],"title":"FastAPI 实战教程：面向 Python 开发者的现代 API 入门","wordCount":1522},{"categories":[],"date":"2026-09-14T12:00:00+08:00","permalink":"https://SymphonyW.github.io/p/linux-practical-guide/","readingTime":45,"tags":["Linux","Ubuntu","Shell","Development Environment"],"title":"A Practical Linux Tutorial: From the Basics to Everyday Use and Service Management","wordCount":9399},{"categories":[],"date":"2026-09-04T21:43:19+08:00","permalink":"https://SymphonyW.github.io/p/token-counting-in-ai/","readingTime":11,"tags":["AI","LLM","Token","API","Billing"],"title":"How Token Counting Works: How AI Providers and API Proxies Track Usage","wordCount":2252},{"categories":[],"date":"2026-09-03T22:11:19+08:00","permalink":"https://SymphonyW.github.io/p/k8s-container-cloud-deployment/","readingTime":16,"tags":["Kubernetes","K8s","Docker","DevOps","Cloud Native"],"title":"K8s Container Cloud Deployment: From Dockerfile Image Build to Release","wordCount":3317},{"categories":[],"date":"2026-08-10T21:40:29+08:00","permalink":"https://SymphonyW.github.io/p/http-vs-https/","readingTime":3,"tags":["HTTP","HTTPS","Web","Network","Security"],"title":"HTTP 和 HTTPS 的区别：从明文到加密，一篇讲清楚","wordCount":503},{"categories":[],"date":"2026-08-08T18:32:47+08:00","permalink":"https://SymphonyW.github.io/p/kubernetes-from-docker/","readingTime":6,"tags":["Kubernetes","K8s","Docker","DevOps","Cloud Native"],"title":"从 Docker 到 Kubernetes：面向 Docker 用户的 K8s 从 0 到 1 教程","wordCount":1158},{"categories":[],"date":"2026-08-08T18:03:11+08:00","permalink":"https://SymphonyW.github.io/p/docker-k8s-openshift/","readingTime":8,"tags":["Docker","Kubernetes","OpenShift","DevOps","Cloud Native"],"title":"Docker, Kubernetes, and OpenShift: Relationship, Features, and Differences","wordCount":1558},{"categories":[],"date":"2026-07-16T21:46:40+08:00","permalink":"https://SymphonyW.github.io/p/sfm-principle/","readingTime":5,"tags":["SfM","Computer Vision","3D Reconstruction"],"title":"How SfM Works: Recovering 3D Structure from Photos","wordCount":1044},{"categories":[],"date":"2026-07-15T16:00:00+08:00","permalink":"https://SymphonyW.github.io/p/nordic-tourism-visualization/","readingTime":1,"tags":["Data Visualization","Python","Streamlit","Plotly"],"title":"From Fjords to Northern Lights: Nordic Inbound Tourism Visualization, 2015-2024","wordCount":153},{"categories":[],"date":"2026-07-14T21:43:00+08:00","permalink":"https://SymphonyW.github.io/p/3d-gaussian-splatting-principlesrebuilding-the-world-with-millions-of-gaussians-and-its-cost/","readingTime":4,"tags":["3DGS","Computer Vision","Neural Rendering"],"title":"3D Gaussian Splatting Principles:Rebuilding the World with Millions of Gaussians and Its Cost","wordCount":675},{"categories":[],"date":"2026-07-13T21:24:23+08:00","permalink":"https://SymphonyW.github.io/p/vector-databases-vs.-traditional-databases/","readingTime":8,"tags":["Vector Database","Database","RAG"],"title":"Vector Databases vs. Traditional Databases","wordCount":1516},{"categories":[],"date":"2026-07-11T17:30:00+08:00","permalink":"https://SymphonyW.github.io/p/about-the-timing-of-fine-tuning/","readingTime":1,"tags":["LLM","Fine-Tuning","RAG","Interview"],"title":"About the timing of fine-tuning","wordCount":153},{"categories":[],"date":"2026-07-11T13:12:00+08:00","permalink":"https://SymphonyW.github.io/p/claude-code-%E5%92%8C-codex-%E7%9A%84%E5%8C%BA%E5%88%AB%E4%BB%8E%E4%BA%A7%E5%93%81%E5%BD%A2%E6%80%81%E5%88%B0%E5%B7%A5%E4%BD%9C%E6%B5%81%E4%B8%80%E6%AC%A1%E8%AE%B2%E9%80%8F/","readingTime":2,"tags":["Claude Code","Codex","AI 编程","Agent","开发工具"],"title":"Claude Code 和 Codex 的区别：从产品形态到工作流，一次讲透","wordCount":422},{"categories":[],"date":"2026-07-10T22:50:00+08:00","permalink":"https://SymphonyW.github.io/p/strapi-guide/","readingTime":10,"tags":["Strapi","Headless CMS","Node.js","API","Backend Architecture"],"title":"Strapi Explained: From Headless CMS to Customizable Node.js API Backend","wordCount":2096},{"categories":[],"date":"2026-07-08T22:05:00+08:00","permalink":"https://SymphonyW.github.io/p/classic-interview-questionhow-exactly-should-you-set-rag-retrieval-top-k/","readingTime":3,"tags":["LLM","Interview","RAG"],"title":"Classic interview question:How exactly should you set RAG retrieval top-k?","wordCount":486},{"categories":[],"date":"2026-07-08T15:00:00+08:00","permalink":"https://SymphonyW.github.io/p/rag-fully-explainedfrom-closed-book-to-open-book-llms/","readingTime":3,"tags":["RAG","LLM","AI","Vector Database"],"title":"RAG Fully Explained:From \"Closed-Book\" to \"Open-Book\" LLMs","wordCount":562},{"categories":[],"date":"2026-07-07T23:10:08+08:00","permalink":"https://SymphonyW.github.io/p/xaas-explainedunderstanding-saaspaasbaas-and-the-whole-as-a-service-family/","readingTime":5,"tags":["云计算","SaaS","PaaS","IaaS","架构"],"title":"XaaS Explained:Understanding SaaS,PaaS,BaaS and the Whole \"as a Service\" Family","wordCount":912},{"categories":[],"date":"2026-07-07T21:04:00+08:00","permalink":"https://SymphonyW.github.io/p/databases-panoramafrom-sqlite-to-mongodb-a-complete-guide/","readingTime":4,"tags":["数据库","MySQL","MongoDB","Redis","架构"],"title":"Databases Panorama:From SQLite to MongoDB, A Complete Guide","wordCount":747},{"categories":[],"date":"2026-07-04T10:36:23+08:00","permalink":"https://SymphonyW.github.io/p/ci/cd-complete-guidefrom-principles-to-practice/","readingTime":4,"tags":["CI/CD","DevOps","GitHub Actions"],"title":"CI/CD Complete Guide:From Principles to Practice","wordCount":688},{"categories":[],"date":"2026-04-23T21:49:15+08:00","permalink":"https://SymphonyW.github.io/p/mongodb-tutorial/","readingTime":11,"tags":["MongoDB","NoSQL"],"title":"MongoDB Tutorial","wordCount":2158},{"categories":[],"date":"2026-04-20T20:44:41+08:00","permalink":"https://SymphonyW.github.io/p/deep-learning-and-machine-learning-classic-algo/","readingTime":29,"tags":["Machine Learning","Deep Learning"],"title":"Deep Learning And Machine Learning Classic Algo","wordCount":6100},{"categories":[],"date":"2026-04-19T21:03:21+08:00","permalink":"https://SymphonyW.github.io/p/lightgaussian-paper-sharing/","readingTime":1,"tags":["Paper Sharing"],"title":"LightGaussian Paper Sharing","wordCount":86},{"categories":[],"date":"2026-04-18T15:36:08+08:00","permalink":"https://SymphonyW.github.io/p/about-go-interview/","readingTime":10,"tags":["Go","Interview"],"title":"About Go Interview","wordCount":1960},{"categories":[],"date":"2026-04-17T11:18:12+08:00","permalink":"https://SymphonyW.github.io/p/about-rabbitmq-interview/","readingTime":5,"tags":["RabbitMQ","Interview"],"title":"About RabbitMQ Interview","wordCount":939},{"categories":[],"date":"2026-04-16T20:04:52+08:00","permalink":"https://SymphonyW.github.io/p/about-grpc-interview/","readingTime":5,"tags":["GRPC","Interview"],"title":"About gRPC Interview","wordCount":1022},{"categories":[],"date":"2026-04-13T20:40:50+08:00","permalink":"https://SymphonyW.github.io/p/about-agent-interview/","readingTime":5,"tags":["Interview","Agent"],"title":"About Agent Interview","wordCount":1011},{"categories":[],"date":"2026-04-12T13:32:51+08:00","permalink":"https://SymphonyW.github.io/p/gin-tutorial/","readingTime":16,"tags":["Go","Gin","Backend","Web Development"],"title":"Gin Tutorial","wordCount":3402},{"categories":[],"date":"2026-04-09T11:26:03+08:00","permalink":"https://SymphonyW.github.io/p/a-deep-dive-into-gos-standard-library-net-package-and-tchannel-package/","readingTime":16,"tags":["Go","Networking","Backend"],"title":"A Deep Dive into Go's Standard Library net Package and TChannel Package","wordCount":3299},{"categories":[],"date":"2026-04-04T13:48:03+08:00","permalink":"https://SymphonyW.github.io/p/mysql-tutorial/","readingTime":15,"tags":["MySQL","Backend","Database"],"title":"MySQL Tutorial","wordCount":3100},{"categories":[],"date":"2026-04-02T15:23:58+08:00","permalink":"https://SymphonyW.github.io/p/pytorch/","readingTime":11,"tags":["PyTorch","Python","Deep Learning"],"title":"PyTorch","wordCount":2255},{"categories":[],"date":"2026-04-01T16:36:24+08:00","permalink":"https://SymphonyW.github.io/p/design-pattern/","readingTime":10,"tags":["Design Pattern"],"title":"Design Pattern","wordCount":2067},{"categories":[],"date":"2026-03-30T19:45:57+08:00","permalink":"https://SymphonyW.github.io/p/rabbitmq-tutorial-for-beginners-go/","readingTime":20,"tags":["RabbitMQ","Backend","Go"],"title":"RabbitMQ Tutorial for Beginners (Go)","wordCount":4257},{"categories":[],"date":"2026-03-29T14:41:14+08:00","permalink":"https://SymphonyW.github.io/p/complete-docker-tutorial-from-scratch-with-go-language-examples/","readingTime":8,"tags":["Docker"],"title":"Complete Docker Tutorial from Scratch with Go Language Examples","wordCount":1544},{"categories":[],"date":"2026-03-26T20:57:56+08:00","permalink":"https://SymphonyW.github.io/p/about-protocol-buffer/","readingTime":4,"tags":["Protocol Buffer"],"title":"About Protocol Buffer","wordCount":736},{"categories":[],"date":"2026-03-26T17:29:38+08:00","permalink":"https://SymphonyW.github.io/p/go-grpc-tutorial/","readingTime":6,"tags":["Go","GRPC","Backend"],"title":"Go gRPC Tutorial","wordCount":1200},{"categories":[],"date":"2026-03-26T12:56:18+08:00","permalink":"https://SymphonyW.github.io/p/deformable-beta-splatting-interpretation-and-sharing/","readingTime":3,"tags":["Paper Sharing"],"title":"Deformable Beta Splatting Interpretation and Sharing","wordCount":434},{"categories":[],"date":"2026-03-25T22:14:11+08:00","permalink":"https://SymphonyW.github.io/p/tcp/ip-protocol-stack-interview-questions-continuously-updated/","readingTime":4,"tags":["TCP/IP","Interview","Networking"],"title":"TCP/IP Protocol Stack Interview Questions (Continuously Updated)","wordCount":773},{"categories":[],"date":"2026-03-25T22:12:10+08:00","permalink":"https://SymphonyW.github.io/p/mysql-interview-questions-continuously-updated/","readingTime":3,"tags":["MySQL","Interview"],"title":"MySQL Interview Questions (Continuously Updated)","wordCount":492},{"categories":[],"date":"2026-03-25T22:08:57+08:00","permalink":"https://SymphonyW.github.io/p/redis-interview-questions-continuously-updated/","readingTime":3,"tags":["Redis","Interview"],"title":"Redis Interview Questions (Continuously Updated)","wordCount":529},{"categories":[],"date":"2026-03-25T22:03:05+08:00","permalink":"https://SymphonyW.github.io/p/c-the-underlying-implementation-of-stl/","readingTime":7,"tags":["C++","STL"],"title":"C++ the underlying implementation of STL","wordCount":1445},{"categories":[],"date":"2026-03-24T17:05:27+08:00","permalink":"https://SymphonyW.github.io/p/redis-basics-learning-document/","readingTime":2,"tags":["Redis","Backend"],"title":"Redis Basics Learning Document","wordCount":265},{"categories":[],"date":"2026-03-06T15:34:25+08:00","permalink":"https://SymphonyW.github.io/p/c-features-of-each-version/","readingTime":5,"tags":["C++"],"title":"C++ Features of Each Version","wordCount":974},{"categories":[],"date":"2026-01-26T16:31:58+08:00","permalink":"https://SymphonyW.github.io/p/cmake-tutorial/","readingTime":7,"tags":["CMake"],"title":"CMake Tutorial","wordCount":1389},{"categories":[],"date":"2026-01-23T16:09:18+08:00","permalink":"https://SymphonyW.github.io/p/the-roles-and-differences-of-auto-auto-and-auto/","readingTime":3,"tags":["Interview","C++"],"title":"The Roles and Differences of auto, auto\u0026, and auto\u0026\u0026?","wordCount":474},{"categories":[],"date":"2026-01-22T15:52:12+08:00","permalink":"https://SymphonyW.github.io/p/git-guide-and-principles/","readingTime":9,"tags":["Git"],"title":"Git Guide and Principles","wordCount":1868},{"categories":[],"date":"2026-01-21T15:10:42+08:00","permalink":"https://SymphonyW.github.io/p/instant-messaging-system-base-golang/","readingTime":13,"tags":["Go","Project"],"title":"Instant Messaging System base Golang","wordCount":2633},{"categories":[],"date":"2026-01-21T13:54:12+08:00","permalink":"https://SymphonyW.github.io/p/golang-learning-note/","readingTime":19,"tags":["Go","Backend"],"title":"Golang Learning Note","wordCount":3952},{"categories":[],"date":"2026-01-15T18:51:18+08:00","permalink":"https://SymphonyW.github.io/p/eliminate-bugs/","readingTime":1,"tags":[],"title":"Eliminate Bugs","wordCount":23},{"categories":[],"date":"2026-01-07T19:28:40+08:00","permalink":"https://SymphonyW.github.io/p/markdownsyntax/","readingTime":1,"tags":["MarkdownSyntax"],"title":"MarkdownSyntax","wordCount":188}]
