<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Best Practices on Shaowen Chen's Website</title><link>https://www.chenshaowen.com/en/tags/best-practices/</link><description>Recent content in Best Practices on Shaowen Chen's Website</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>&amp;copy;2016 - {year}, All Rights Reserved.</copyright><lastBuildDate>Thu, 04 Sep 2025 00:00:00 +0000</lastBuildDate><sy:updatePeriod>weekly</sy:updatePeriod><atom:link href="https://www.chenshaowen.com/en/tags/best-practices/atom.xml" rel="self" type="application/rss+xml"/><item><title>Kubernetes Base Environment Requirements</title><link>https://www.chenshaowen.com/en/blog/kubernetes-base-environment-requirements.html</link><pubDate>Thu, 04 Sep 2025 00:00:00 +0000</pubDate><atom:modified>Thu, 04 Sep 2025 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/kubernetes-base-environment-requirements.html</guid><description>1. Base Packages Kubernetes version ≥ 1.18 socat Required conntrack Required ebtables Optional, but recommended ipset Optional, but recommended ipvsadm Optional, but recommended 1 apt-get -y install socat conntrack ebtables ipset ipvsadm 2. Port Requirements 2.1 Base Node Services Service Protocol Action Start Port End Port Comment ssh TCP allow 22 22 Node remote management docker TCP allow 2375 2376 Docker remote communication etcd TCP allow 2379 2380 etcd cluster communication 2.</description><dc:creator>微信公众号</dc:creator><category>Kubernetes</category><category>Cluster</category><category>Configuration</category><category>Security</category><category>Operations</category><category>Learning</category><category>Installation</category><category>Dependencies</category><category>Best Practices</category></item><item><title>AI Application Development Tech Stack</title><link>https://www.chenshaowen.com/en/blog/ai-application-development-tech-stack.html</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0000</pubDate><atom:modified>Sun, 12 Jan 2025 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/ai-application-development-tech-stack.html</guid><description>Embedding Models Embedding models map high-dimensional data into a lower-dimensional space, which makes the data easier to process and analyze.
Text Models Here is a leaderboard, https://huggingface.co/spaces/mteb/leaderboard
The leaderboard above gives each model&amp;rsquo;s score, parameter count, memory usage, vector dimension, maximum tokens, and other information. Below are some commonly used open-source models:</description><dc:creator>微信公众号</dc:creator><category>AI</category><category>Application Development</category><category>Tech Stack</category><category>LLM</category><category>R&amp;D</category><category>Learning</category><category>RAG</category><category>Embedding</category><category>Best Practices</category></item><item><title>A Guide to Designing and Implementing LLM Applications</title><link>https://www.chenshaowen.com/en/blog/large-model-application-design-and-implementation-guide.html</link><pubDate>Sat, 23 Dec 2023 11:22:55 +0000</pubDate><atom:modified>Sat, 23 Dec 2023 11:22:55 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/large-model-application-design-and-implementation-guide.html</guid><description>1. Problems with Using LLMs Directly Unstable output One characteristic of generative AI is the diversity of its output. Ask an LLM the same question several times and you may get different answers. This uncertainty in output is a pleasant surprise for users in conversation and creative scenarios. But in</description><dc:creator>微信公众号</dc:creator><category>LLM</category><category>AI</category><category>Best Practices</category><category>R&amp;D</category><category>Architecture</category><category>Learning</category><category>RAG</category><category>Agent</category></item><item><title>Calling Functions Through Dialogue with OpenAI and Langchain</title><link>https://www.chenshaowen.com/en/blog/call-functions-through-dialogue-using-openai-and-langchain.html</link><pubDate>Wed, 16 Aug 2023 00:00:00 +0000</pubDate><atom:modified>Wed, 16 Aug 2023 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/call-functions-through-dialogue-using-openai-and-langchain.html</guid><description>1. LLMs and Langchain Many people may never get the chance to train, or even fine-tune, a large model, but using large models is the wave of the future. So how should we embrace this change? The answer is Langchain. A large model provides a broad, general-purpose foundation. So far</description><dc:creator>微信公众号</dc:creator><category>OpenAI</category><category>Langchain</category><category>AI</category><category>LLM</category><category>R&amp;D</category><category>Learning</category><category>Function Calling</category><category>Application Development</category><category>Best Practices</category></item><item><title>Zero-Cost Service Availability Monitoring with Upptime</title><link>https://www.chenshaowen.com/en/blog/monitor-service-accessibility-with-upptime-for-free.html</link><pubDate>Sat, 12 Aug 2023 00:00:00 +0000</pubDate><atom:modified>Sat, 12 Aug 2023 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/monitor-service-accessibility-with-upptime-for-free.html</guid><description>1. What Needs Dial Testing GPT was all the rage this year, and I deployed and developed several applications and mini programs to learn from. Of course, following the principle of helping vendors test their features, right now only the GPT 3.5 API costs a little every day — the</description><dc:creator>微信公众号</dc:creator><category>GitHub</category><category>Actions</category><category>Monitoring</category><category>Dial Testing</category><category>Operations</category><category>Learning</category><category>Availability</category><category>Free</category><category>CICD</category><category>Best Practices</category></item><item><title>Kubernetes Cluster Troubleshooting</title><link>https://www.chenshaowen.com/en/blog/kubernetes-cluster-troubleshooting.html</link><pubDate>Tue, 01 Nov 2022 01:00:00 +0000</pubDate><atom:modified>Tue, 01 Nov 2022 01:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/kubernetes-cluster-troubleshooting.html</guid><description>FailedCreatePodSandBox Error Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:402: getting the final child's pid from pipe caused: EOF: unknown Resolution Clear the cache 1 echo 3 &amp;gt; /proc/sys/vm/drop_caches Cause Too much memory fragmentation calico-node Keeps Restarting increase max user Error runtime: failed to</description><dc:creator>微信公众号</dc:creator><category>Kubernetes</category><category>Cluster</category><category>Troubleshooting</category><category>Operations</category><category>Learning</category><category>Fault Diagnosis</category><category>Pod</category><category>Best Practices</category><category>Problem Localization</category></item><item><title>DevOps Toolchain: Argo CD</title><link>https://www.chenshaowen.com/en/blog/argocd-of-devops-tool-chain.html</link><pubDate>Thu, 04 Feb 2021 00:00:00 +0000</pubDate><atom:modified>Thu, 04 Feb 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/argocd-of-devops-tool-chain.html</guid><description>1. What Problem Argo CD Solves 1.1 Starting from GitOps GitOps originated from a blog post published by Weaveworks in 2017: GitOps - Operations by Pull Request. In it, Alexis introduced a deployment approach that treats Git as the single source of truth.
In GitOps practice, we need to define software infrastructure in a Git repository for management.</description><dc:creator>微信公众号</dc:creator><category>DevOps</category><category>ArgoCD</category><category>Kubernetes</category><category>CICD</category><category>GitOps</category><category>Operations</category><category>Learning</category><category>Deployment</category><category>Best Practices</category></item><item><title>Getting Started with Pytest</title><link>https://www.chenshaowen.com/en/blog/101-of-pytest.html</link><pubDate>Sat, 29 Dec 2018 00:00:00 +0000</pubDate><atom:modified>Sat, 29 Dec 2018 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/101-of-pytest.html</guid><description>The Pytest framework is simple to use, rich in plugins, and powerful, and it is widely used for Python automated testing. This article introduces some basic concepts and usage of Pytest. 1. How It Runs Step one, Pytest reads its configuration from the command line or a file. Step two,</description><dc:creator>微信公众号</dc:creator><category>Testing</category><category>Python</category><category>Pytest</category><category>R&amp;D</category><category>Learning</category><category>Automated Testing</category><category>Unit Testing</category><category>Best Practices</category></item><item><title>Django Development Conventions (Part 1)</title><link>https://www.chenshaowen.com/en/blog/development-specification-1-of-django.html</link><pubDate>Sat, 27 Jan 2018 00:00:00 +0000</pubDate><atom:modified>Sat, 27 Jan 2018 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/development-specification-1-of-django.html</guid><description>This article mainly lays out a few things to watch out for during Django development. A consistent coding style and sound design principles help a project&amp;rsquo;s development and maintenance, and are worth developers studying and discussing continuously. 1. Encoding Declaration When the Python interpreter executes code, it needs to be</description><dc:creator>微信公众号</dc:creator><category>Django</category><category>Python</category><category>Conventions</category><category>R&amp;D</category><category>Learning</category><category>Best Practices</category><category>Code Style</category><category>Architecture</category></item><item><title>Error Code Design and Unified Exception Handling in Django</title><link>https://www.chenshaowen.com/en/blog/error-code-design-and-unified-processing-in-django.html</link><pubDate>Mon, 30 Oct 2017 21:50:33 +0000</pubDate><atom:modified>Mon, 30 Oct 2017 21:50:33 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/error-code-design-and-unified-processing-in-django.html</guid><description>I currently use Django for SaaS development, and I develop and maintain several SaaS applications at the same time. Many SaaS applications have agreed-upon error codes, some used to handle login state, others to mark business logic status. For a feature that is so strongly shared across projects, it is</description><dc:creator>微信公众号</dc:creator><category>Django</category><category>Python</category><category>Error Codes</category><category>Middleware</category><category>R&amp;D</category><category>Learning</category><category>API</category><category>Best Practices</category></item></channel></rss>