<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Blog — Charles Cheng</title><description>Essays by Charles Cheng on AI agents, Claude Code, Kubernetes, cloud-native infrastructure, investing, career growth, writing, and engineering practice.</description><link>https://www.charles-cheng.com</link><item><title>漫谈 AI 提效的几个问题</title><link>https://www.charles-cheng.com/blog/ai-productivity-frictions</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/ai-productivity-frictions</guid><description>组织里 AI 的体感提效远低于理论值，卡点不在模型能力：深度用 AI 比不用更累，旧的分配制度让高产成员吃力不讨好，token 该按 Task 而不是按次计价，而项目黑盒化是引入 AI 必须承受的代价。</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate><category>AI</category><category>生产力</category><category>工程效率</category><category>管理</category></item><item><title>软技能 01：工作属于公司，职业生涯属于你自己</title><link>https://www.charles-cheng.com/blog/your-career-belongs-to-you</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/your-career-belongs-to-you</guid><description>《软技能》第一条和我的职业理念一致：公司给的是岗位、职级和工牌，换个公司就归零。把职业生涯当企业经营、主动接没人愿意做又重要的事、专业其实是品格问题，以及大目标不必具体但必须清晰。</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate><category>职场</category><category>职业发展</category><category>个人成长</category><category>软技能</category></item><item><title>AI 时代的职业选择：能被打分的工作正在贬值</title><link>https://www.charles-cheng.com/blog/career-advice-in-the-age-of-ai</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/career-advice-in-the-age-of-ai</guid><description>译写 Phil Chen 的《Career advice in the age of AI》：能写出 loss function 的事模型都会学完、真正稀缺的是时间关系和声誉、agent-native 公司的面试题换成了什么、xG 与转化率、现在就可以开始做研究，文末是我自己的三条判断与一条补充。</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate><category>AI</category><category>职业发展</category><category>Agent</category><category>译写</category></item><item><title>我对两性的理解</title><link>https://www.charles-cheng.com/blog/love-is-a-brave-game</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/love-is-a-brave-game</guid><description>在一个人人都对爱情感到不安的时代，敢于把后背交给另一个人是一种稀缺的勇气。从男女底层基因的差异、一夫一妻的反人性，到择偶中真正重要的内核适配、婚姻的合伙逻辑与中国式婚姻的落后，聊聊我对两性和亲密关系的理解。</description><pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate><category>两性</category><category>亲密关系</category><category>婚姻</category><category>随笔</category></item><item><title>Charles 2026 Q1 + Q2 Review</title><link>https://www.charles-cheng.com/blog/charles-2026-q1-q2-review</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/charles-2026-q1-q2-review</guid><description>很久没写季度复盘了，这次一次性补两个季度：AI 如何重塑了整个行业与我的工作模式，从大厂主动跳进 startup 的完整思考，以及那些值得在 AI 时代继续坚持的习惯。</description><pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate><category>季度复盘</category><category>2026</category></item><item><title>用 debug 代码的思维，debug 你的 AI 开发流程</title><link>https://www.charles-cheng.com/blog/debug-your-ai-dev-workflow</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/debug-your-ai-dev-workflow</guid><description>把整套 AI 开发流程当成一份代码来 debug：AI 跑偏时不要人工接手改代码，而是定位是哪一步断了，修流程、补工具、沉淀文档，直到 agent 能自己闭环。</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate><category>AI</category><category>Agent</category><category>工程实践</category><category>开发工具</category></item><item><title>AI 时代下开发模式的转变</title><link>https://www.charles-cheng.com/blog/ai-era-development-mode-shift</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/ai-era-development-mode-shift</guid><description>软件开发正在从大教堂、集市走向 Agentic AI 带来的神秘屋模式。代码生成变快后，真正的护城河转向测试、上下文、权限和整条研发流水线。</description><pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate><category>AI</category><category>Agentic AI</category><category>软件工程</category><category>工程效率</category></item><item><title>关于止盈的一些思考</title><link>https://www.charles-cheng.com/blog/profit-taking-reflection</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/profit-taking-reflection</guid><description>半导体板块上涨后，我重新思考止盈、择时和 Buy &amp; Hold。知道一个原则不难，难的是在真实浮盈和市场情绪里真正内化它。</description><pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate><category>投资</category><category>止盈</category><category>美股</category><category>投资纪律</category></item><item><title>能让你真赚到钱的八条投资心得</title><link>https://www.charles-cheng.com/blog/investment-eight-lessons</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/investment-eight-lessons</guid><description>投资入门不该只停留在开户、港卡和标的推荐。真正能帮普通人在市场里活下去并赚到钱的，是心智、纪律、仓位和对钱的重新理解。</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate><category>投资</category><category>美股</category><category>Crypto</category><category>个人成长</category></item><item><title>自然语言是新时代的编程语言，编程语言是新时代的汇编</title><link>https://www.charles-cheng.com/blog/natural-language-is-new-programming-language</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/natural-language-is-new-programming-language</guid><description>Claude Code 主席 Boris 的播客采访信息量很大。自然语言正在变成新的编程接口，代码越来越像汇编，而软件工程师这个岗位正在向 Builder 演化。</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate><category>AI</category><category>Claude Code</category><category>编程</category><category>工程效率</category></item><item><title>你必须开始输出的七个理由</title><link>https://www.charles-cheng.com/blog/seven-reasons-to-start-output</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/seven-reasons-to-start-output</guid><description>持续输出不只是为了赚流量的钱。它会强迫你学习、训练 Sale 和 Storytelling、积累数字资产、拓宽信息源，并帮你摆脱单点收入风险。</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate><category>自媒体</category><category>写作</category><category>个人品牌</category><category>成长</category></item><item><title>交易风格的反思</title><link>https://www.charles-cheng.com/blog/trading-style-reflection</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/trading-style-reflection</guid><description>半导体、黄金和高 PE 标的继续上涨后，我开始重新审视自己过度依赖左侧交易的问题。左侧交易依然是主系统，但右侧交易可以成为旁路分支。</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate><category>投资</category><category>交易系统</category><category>美股</category><category>反思</category></item><item><title>对流量和曝光的新认识</title><link>https://www.charles-cheng.com/blog/traffic-and-exposure-reflection</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/traffic-and-exposure-reflection</guid><description>曝光不是虚荣，而是让价值被看见的基本能力。无论在公司内部还是外部，你都需要主动设计可见性，让自己的工作变成可积累的资产。</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate><category>自媒体</category><category>职场</category><category>流量</category><category>个人品牌</category></item><item><title>为什么你需要一张海外银行卡</title><link>https://www.charles-cheng.com/blog/why-you-need-an-overseas-bank-card</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/why-you-need-an-overseas-bank-card</guid><description>港卡不仅是支付工具，更是普通人接入全球资产、全球支付体系和 AI 工具生态的基础设施。没有它，你能触达的资产和服务会被天然限制。</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate><category>投资</category><category>港卡</category><category>资产配置</category><category>全球支付</category></item><item><title>做事的本质是做人</title><link>https://www.charles-cheng.com/blog/work-quality-is-character</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/work-quality-is-character</guid><description>真正开始带队之后，我越来越相信做事会暴露一个人的内核。主业是训练密度最高的地方，高质量底线会迁移到你做的所有事情上。</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate><category>职场</category><category>管理</category><category>个人成长</category><category>做事方法</category></item><item><title>AI 时代，内容通胀才刚开始</title><link>https://www.charles-cheng.com/blog/ai-content-inflation</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/ai-content-inflation</guid><description>AI 把内容生产的 build 成本拉低后，文字、视频、漫剧和代码都会迎来供给膨胀。真正稀缺的不是手写痕迹，而是判断力、表达秩序和最后的人类把关。</description><pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate><category>AI</category><category>内容创作</category><category>写作</category><category>生产力</category></item><item><title>AI时代职业发展</title><link>https://www.charles-cheng.com/blog/stanford-cs230-career-advice</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/stanford-cs230-career-advice</guid><description>吴恩达和Lawrence在斯坦福CS230的职业发展讲座收获：AI能力加速、PM与工程师比例变化、团队重于公司、三大能力支柱、技术债理解。</description><pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate><category>AI</category><category>职业发展</category><category>工程师</category><category>Stanford</category></item><item><title>你的 AI-First 战略，大概率是错的（译）</title><link>https://www.charles-cheng.com/blog/ai-first-strategy</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/ai-first-strategy</guid><description>一篇两天斩获150W浏览的 AI Harness 实践落地文章翻译。CreaoAI 联合创始人分享如何围绕 AI 重构整个工程流程，实现 99% AI 生成代码、日均 3-8 次生产部署。</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate><category>AI</category><category>Harness Engineering</category><category>翻译</category><category>工程效率</category></item><item><title>深入分析OpenClaw的爆火</title><link>https://www.charles-cheng.com/blog/openclaw-analysis</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/openclaw-analysis</guid><description>深度解析OpenClaw为什么能在短时间内爆火，从泛流量、垂直流量、大厂跟进时间线等多个维度分析，以及我们能从中学到什么。</description><pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate><category>AI</category><category>OpenClaw</category><category>行业分析</category></item><item><title>Charles 2025 Annual Review</title><link>https://www.charles-cheng.com/blog/charles-2025-annual-review</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/charles-2025-annual-review</guid><description>2025年度回顾：计划完成情况复盘、这一年做得好与做得不够的地方，以及对2026的主线规划。</description><pubDate>Wed, 31 Dec 2025 00:00:00 GMT</pubDate><category>季度复盘</category><category>2025</category></item><item><title>Charles 2025 Q3 Review</title><link>https://www.charles-cheng.com/blog/charles-2025-q3-review</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/charles-2025-q3-review</guid><description>从一次朋友对话聊起「拒绝痛苦工作」——痛苦的本质是对工作的掌控力太弱，以及如何夺回这份掌控力。</description><pubDate>Tue, 30 Sep 2025 00:00:00 GMT</pubDate><category>季度复盘</category><category>2025</category></item><item><title>Charles 2025 Q2 Review</title><link>https://www.charles-cheng.com/blog/charles-2025-q2-review</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/charles-2025-q2-review</guid><description>毕业+正式工作满一年。摸爬滚打一年后的几个变化，以及关于「程序员为什么工资高」「机会成本」的一些思考。</description><pubDate>Mon, 30 Jun 2025 00:00:00 GMT</pubDate><category>季度复盘</category><category>2025</category></item><item><title>Charles 2025 Q1 Review</title><link>https://www.charles-cheng.com/blog/charles-2025-q1-review</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/charles-2025-q1-review</guid><description>从今年起把复盘频次从两月一次调整为每季度一次。这是2025年第一份季度复盘，聊工作、第二收入来源与职业发展的边际效应。</description><pubDate>Mon, 31 Mar 2025 00:00:00 GMT</pubDate><category>季度复盘</category><category>2025</category></item><item><title>逆向初识</title><link>https://www.charles-cheng.com/blog/%E9%80%86%E5%90%91%E5%88%9D%E8%AF%86-8e4eb2</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E9%80%86%E5%90%91%E5%88%9D%E8%AF%86-8e4eb2</guid><description>从开机时BIOS的自检与选盘、操作系统加载内核，到一份C源码经预处理、编译、汇编、链接生成可执行文件的全过程，本文按顺序梳理程序从启动到运行背后的底层机制，作为逆向工程的入门铺垫。</description><pubDate>Fri, 24 Jan 2025 00:00:00 GMT</pubDate><category>Git</category></item><item><title>软件安全之堆栈攻击</title><link>https://www.charles-cheng.com/blog/%E8%BD%AF%E4%BB%B6%E5%AE%89%E5%85%A8%E4%B9%8B%E5%A0%86%E6%A0%88%E6%94%BB%E5%87%BB-6b4bc1</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E8%BD%AF%E4%BB%B6%E5%AE%89%E5%85%A8%E4%B9%8B%E5%A0%86%E6%A0%88%E6%94%BB%E5%87%BB-6b4bc1</guid><description>软件安全大致可以分为软件漏洞、恶意代码和软件侵权三类。本文从冯诺依曼体系为何容易滋生漏洞讲起，梳理程序在内存中的分区与栈帧结构，进而解释栈溢出这类经典漏洞的成因。</description><pubDate>Thu, 23 Jan 2025 00:00:00 GMT</pubDate><category>Git</category><category>DevOps</category></item><item><title>Charles 2024 Annual Review</title><link>https://www.charles-cheng.com/blog/charles-2024-annual-review</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/charles-2024-annual-review</guid><description>2024年逐月回顾：从用力休息的假期，到正式入职、独当一面，再到职业内耗的出现与缓解。一年的成长、习惯与得失盘点。</description><pubDate>Tue, 31 Dec 2024 00:00:00 GMT</pubDate><category>季度复盘</category><category>2024</category></item><item><title>认识区块链（四）：区块链的底层实现之密码学</title><link>https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E5%9B%9B-%E5%8C%BA%E5%9D%97%E9%93%BE%E7%9A%84%E5%BA%95%E5%B1%82%E5%AE%9E%E7%8E%B0%E4%B9%8B%E5%AF%86%E7%A0%81%E5%AD%A6-f34a6e</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E5%9B%9B-%E5%8C%BA%E5%9D%97%E9%93%BE%E7%9A%84%E5%BA%95%E5%B1%82%E5%AE%9E%E7%8E%B0%E4%B9%8B%E5%AF%86%E7%A0%81%E5%AD%A6-f34a6e</guid><description>区块链起源于密码学，可以说区块链的核心，以及安全性、不可篡改性的来源很大一部分都是基于密码学实现的。</description><pubDate>Sun, 22 Dec 2024 00:00:00 GMT</pubDate><category>区块链</category><category>网络</category></item><item><title>认识区块链（六）：区块链的底层实现之共识机制与P2P</title><link>https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E5%85%AD-%E5%8C%BA%E5%9D%97%E9%93%BE%E7%9A%84%E5%BA%95%E5%B1%82%E5%AE%9E%E7%8E%B0%E4%B9%8B%E5%85%B1%E8%AF%86%E6%9C%BA%E5%88%B6%E4%B8%8Ep2p-553527</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E5%85%AD-%E5%8C%BA%E5%9D%97%E9%93%BE%E7%9A%84%E5%BA%95%E5%B1%82%E5%AE%9E%E7%8E%B0%E4%B9%8B%E5%85%B1%E8%AF%86%E6%9C%BA%E5%88%B6%E4%B8%8Ep2p-553527</guid><description>在认识区块链系列的前几篇中，我们已经介绍了区块链的作用、发展、解决了什么问题、以及底层实现之密码学、分布式等等，这篇博客主要围绕的是区块链的另外两个底层技术--**共识机制与P2P。**</description><pubDate>Sat, 21 Dec 2024 00:00:00 GMT</pubDate><category>分布式</category><category>区块链</category></item><item><title>认识区块链（八）：安装fabric</title><link>https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E5%85%AB-%E5%AE%89%E8%A3%85fabric-da680d</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E5%85%AB-%E5%AE%89%E8%A3%85fabric-da680d</guid><description>本篇记录了安装Hyperledger Fabric的实际操作过程，通过官方提供的install-fabric.sh脚本完成环境搭建，并配图记录了安装过程中遇到的实际界面与细节。</description><pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate><category>区块链</category></item><item><title>认识区块链（五）：区块链的底层实现之分布式</title><link>https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E4%BA%94-%E5%8C%BA%E5%9D%97%E9%93%BE%E7%9A%84%E5%BA%95%E5%B1%82%E5%AE%9E%E7%8E%B0%E4%B9%8B%E5%88%86%E5%B8%83%E5%BC%8F-f6bb84</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E4%BA%94-%E5%8C%BA%E5%9D%97%E9%93%BE%E7%9A%84%E5%BA%95%E5%B1%82%E5%AE%9E%E7%8E%B0%E4%B9%8B%E5%88%86%E5%B8%83%E5%BC%8F-f6bb84</guid><description>在认识区块链系列的前几篇中，我们已经介绍了区块链的作用、发展、解决了什么问题、以及底层实现之密码学等等，这篇博客主要围绕的是区块链的另一个底层技术--**分布式。**</description><pubDate>Tue, 19 Nov 2024 00:00:00 GMT</pubDate><category>分布式</category><category>区块链</category></item><item><title>认识区块链（二）：区块链解决了什么问题</title><link>https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E4%BA%8C-%E5%8C%BA%E5%9D%97%E9%93%BE%E8%A7%A3%E5%86%B3%E4%BA%86%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98-551797</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E4%BA%8C-%E5%8C%BA%E5%9D%97%E9%93%BE%E8%A7%A3%E5%86%B3%E4%BA%86%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98-551797</guid><description>区块链的本质是**分布式账本技术** ，也可以看做是**分布式数据库技术** ，从性能上来说，它并不优秀，但是它新壶装老酒，将**密码学、分布式、共识机制、P2P协议等技术** 结合在一起，使得区块链具备**去中心化、安全、可追溯** 等等，同时，它也向全人类提供了一个新的共识方法。</description><pubDate>Mon, 18 Nov 2024 00:00:00 GMT</pubDate><category>分布式</category><category>区块链</category><category>数据库</category></item><item><title>Charles 2024 Sep &amp; Oct Review</title><link>https://www.charles-cheng.com/blog/charles-2024-sep-oct-review</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/charles-2024-sep-oct-review</guid><description>又两个月过去，今年只剩最后两个月。工作后时间过得飞快，这篇记录深度工作、成长与几个职业内耗的解法。</description><pubDate>Thu, 31 Oct 2024 00:00:00 GMT</pubDate><category>季度复盘</category><category>2024</category></item><item><title>认识区块链（三）：区块链的前世今生</title><link>https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E4%B8%89-%E5%8C%BA%E5%9D%97%E9%93%BE%E7%9A%84%E5%89%8D%E4%B8%96%E4%BB%8A%E7%94%9F-42f930</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E4%B8%89-%E5%8C%BA%E5%9D%97%E9%93%BE%E7%9A%84%E5%89%8D%E4%B8%96%E4%BB%8A%E7%94%9F-42f930</guid><description>说到区块链，就不得不提到比特币，甚至有很多人将区块链和比特币等同起来，这是因为区块链的出现就是为了构建出比特币，二者相辅相成，很难脱离比特币去讲区块链，也很难脱离区块链去讲比特币。很多人分不清比特币与区块链，以为比特币就是区块链，区块链就是比特币，其实比特币只是第一个成功的区块链应用。</description><pubDate>Thu, 17 Oct 2024 00:00:00 GMT</pubDate><category>区块链</category></item><item><title>认识区块链（七）：公链、联盟链、私链</title><link>https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E4%B8%83-%E5%85%AC%E9%93%BE%E8%81%94%E7%9B%9F%E9%93%BE%E7%A7%81%E9%93%BE-e7a2dc</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E4%B8%83-%E5%85%AC%E9%93%BE%E8%81%94%E7%9B%9F%E9%93%BE%E7%A7%81%E9%93%BE-e7a2dc</guid><description>在认识区块链系列的前几篇中，我们已经介绍了区块链的作用、发展、解决了什么问题、以及底层实现之密码学、分布式、共识机制、P2P等等，这篇博客主要围绕的是区块链的分类：公有链、私有链、联盟链等等**。**</description><pubDate>Wed, 16 Oct 2024 00:00:00 GMT</pubDate><category>分布式</category><category>区块链</category><category>网络</category></item><item><title>认识区块链（一）：区块链是什么？</title><link>https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E4%B8%80-%E5%8C%BA%E5%9D%97%E9%93%BE%E6%98%AF%E4%BB%80%E4%B9%88-9d737a</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E8%AE%A4%E8%AF%86%E5%8C%BA%E5%9D%97%E9%93%BE-%E4%B8%80-%E5%8C%BA%E5%9D%97%E9%93%BE%E6%98%AF%E4%BB%80%E4%B9%88-9d737a</guid><description>《认识区块链》是一个系列，因为笔者的毕设与区块链相关，所以打算把所学所想通过博客的形式记录下来。这个专栏会从区块链是什么，拓展到区块链核心技术实现，区块链应用，以及区块链相关开发，最后会带大家一步步完成一个DAPP的开发。</description><pubDate>Tue, 15 Oct 2024 00:00:00 GMT</pubDate><category>区块链</category><category>网络</category></item><item><title>计算机专业大学四年应该怎么过？听听过来人的建议</title><link>https://www.charles-cheng.com/blog/%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%93%E4%B8%9A%E5%A4%A7%E5%AD%A6%E5%9B%9B%E5%B9%B4%E5%BA%94%E8%AF%A5%E6%80%8E%E4%B9%88%E8%BF%87-%E5%90%AC%E5%90%AC%E8%BF%87%E6%9D%A5%E4%BA%BA%E7%9A%84%E5%BB%BA%E8%AE%AE-56dc16</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%93%E4%B8%9A%E5%A4%A7%E5%AD%A6%E5%9B%9B%E5%B9%B4%E5%BA%94%E8%AF%A5%E6%80%8E%E4%B9%88%E8%BF%87-%E5%90%AC%E5%90%AC%E8%BF%87%E6%9D%A5%E4%BA%BA%E7%9A%84%E5%BB%BA%E8%AE%AE-56dc16</guid><description>韶华易逝，劝君惜取少年时。我并不是说每个人都需要去卷考研、卷工作，只要你有热爱的事情，并为之努力奋斗，没有在浪费自己的生命，那么你就可以很骄傲的挺起胸膛了。</description><pubDate>Sat, 14 Sep 2024 00:00:00 GMT</pubDate><category>职场</category></item><item><title>计算机专业 读研 OR 就业？ 希望你能早点看到这篇文章</title><link>https://www.charles-cheng.com/blog/%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%93%E4%B8%9A-%E8%AF%BB%E7%A0%94-or-%E5%B0%B1%E4%B8%9A-%E5%B8%8C%E6%9C%9B%E4%BD%A0%E8%83%BD%E6%97%A9%E7%82%B9%E7%9C%8B%E5%88%B0%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0-d62f99</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%93%E4%B8%9A-%E8%AF%BB%E7%A0%94-or-%E5%B0%B1%E4%B8%9A-%E5%B8%8C%E6%9C%9B%E4%BD%A0%E8%83%BD%E6%97%A9%E7%82%B9%E7%9C%8B%E5%88%B0%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0-d62f99</guid><description>考研和工作是完全不同的两个方向，考察的侧重点和需要准备的内容可以说是天差地别，如果可以的话，我希望本文的读者能尽早选好自己的路，并且在选择好方向之后不断前进。</description><pubDate>Fri, 13 Sep 2024 00:00:00 GMT</pubDate><category>云原生</category><category>前端</category><category>数据库</category></item><item><title>Charles 2024 Jul &amp; Aug Review</title><link>https://www.charles-cheng.com/blog/charles-2024-jul-aug-review</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/charles-2024-jul-aug-review</guid><description>今年第四次复盘。正式入职后的两个月，关于工作、投资理财与习惯养成的记录与思考。</description><pubDate>Sat, 31 Aug 2024 00:00:00 GMT</pubDate><category>季度复盘</category><category>2024</category></item><item><title>深入了解异地多活</title><link>https://www.charles-cheng.com/blog/%E6%B7%B1%E5%85%A5%E4%BA%86%E8%A7%A3%E5%BC%82%E5%9C%B0%E5%A4%9A%E6%B4%BB-8be510</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E6%B7%B1%E5%85%A5%E4%BA%86%E8%A7%A3%E5%BC%82%E5%9C%B0%E5%A4%9A%E6%B4%BB-8be510</guid><description>故障不可避免，可能来自硬件故障、软件问题，甚至是不可抗力的因素。因此，如何快速而有效地恢复系统运行，成为衡量可用性的关键因素。在这个背景下，异地多活应运而生，为解决系统故障时的快速恢复提供了高效的解决方案。</description><pubDate>Mon, 12 Aug 2024 00:00:00 GMT</pubDate><category>技术</category></item><item><title>服务端开发常见工具，你都会吗？</title><link>https://www.charles-cheng.com/blog/%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%BC%80%E5%8F%91%E5%B8%B8%E8%A7%81%E5%B7%A5%E5%85%B7%E4%BD%A0%E9%83%BD%E4%BC%9A%E5%90%97-5ba6cc</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%BC%80%E5%8F%91%E5%B8%B8%E8%A7%81%E5%B7%A5%E5%85%B7%E4%BD%A0%E9%83%BD%E4%BC%9A%E5%90%97-5ba6cc</guid><description>在浏览器的开发者工具（F12）中，有一些服务端常用的工具和内容。</description><pubDate>Sun, 11 Aug 2024 00:00:00 GMT</pubDate><category>前端</category><category>网络</category></item><item><title>有了HTTP协议为什么还需要RPC协议？</title><link>https://www.charles-cheng.com/blog/%E6%9C%89%E4%BA%86http%E5%8D%8F%E8%AE%AE%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%98%E9%9C%80%E8%A6%81rpc%E5%8D%8F%E8%AE%AE-d42478</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E6%9C%89%E4%BA%86http%E5%8D%8F%E8%AE%AE%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%98%E9%9C%80%E8%A6%81rpc%E5%8D%8F%E8%AE%AE-d42478</guid><description>当我们需要实现进程间通信时，即在两个不同的四元组之间进行通信时，通常会使用`socket`编程来实现，选择`TCP`或`UDP`作为传输协议。在实际应用中，为了确保数据稳定性，常常选择使用`TCP`。</description><pubDate>Sat, 10 Aug 2024 00:00:00 GMT</pubDate><category>网络</category></item><item><title>最规范的git工作流（翻译）</title><link>https://www.charles-cheng.com/blog/%E6%9C%80%E8%A7%84%E8%8C%83%E7%9A%84git%E5%B7%A5%E4%BD%9C%E6%B5%81-%E7%BF%BB%E8%AF%91-2a30f3</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E6%9C%80%E8%A7%84%E8%8C%83%E7%9A%84git%E5%B7%A5%E4%BD%9C%E6%B5%81-%E7%BF%BB%E8%AF%91-2a30f3</guid><description>记得我正式在第一家公司实习的时候（2022.09），当时的团队就出现过git开发流程的问题，包括但不限于：分支如何管理、合并分支用`rebase/merge`，如何进行`release`版本的管理等等。这些问题在接下来的文章中都会迎刃而解。</description><pubDate>Tue, 09 Jul 2024 00:00:00 GMT</pubDate><category>Git</category><category>职场</category></item><item><title>最新《Go学习路线图》及就业准备</title><link>https://www.charles-cheng.com/blog/%E6%9C%80%E6%96%B0go%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF%E5%9B%BE%E5%8F%8A%E5%B0%B1%E4%B8%9A%E5%87%86%E5%A4%87-c15e90</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E6%9C%80%E6%96%B0go%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF%E5%9B%BE%E5%8F%8A%E5%B0%B1%E4%B8%9A%E5%87%86%E5%A4%87-c15e90</guid><description>下面是**Go学习路线思维导图** ，我将整个`roadmap`分成了七个部分，由浅入深分别是：**语法、日常开发、web、**</description><pubDate>Mon, 08 Jul 2024 00:00:00 GMT</pubDate><category>容器</category><category>Go</category><category>分布式</category></item><item><title>Charles 2024 May &amp; Jun Review</title><link>https://www.charles-cheng.com/blog/charles-2024-may-jun-review</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/charles-2024-may-jun-review</guid><description>五月在深圳、六月回重庆办毕业，还有两周毕业旅行。不知不觉2024已过半，七月就要正式成为打工人。</description><pubDate>Sun, 30 Jun 2024 00:00:00 GMT</pubDate><category>季度复盘</category><category>2024</category></item><item><title>时间处理</title><link>https://www.charles-cheng.com/blog/%E6%97%B6%E9%97%B4%E5%A4%84%E7%90%86-c96413</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E6%97%B6%E9%97%B4%E5%A4%84%E7%90%86-c96413</guid><description>在处理时间和日期数据时，格式的细微差异可以导致解析错误，如你所遇到的问题。这里，我们看到两种不同的时间表示方式：</description><pubDate>Fri, 07 Jun 2024 00:00:00 GMT</pubDate><category>技术</category></item><item><title>我们为什么需要努力？</title><link>https://www.charles-cheng.com/blog/%E6%88%91%E4%BB%AC%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E5%8A%AA%E5%8A%9B-d41796</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E6%88%91%E4%BB%AC%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E5%8A%AA%E5%8A%9B-d41796</guid><description>&quot;去年花里逢君别，今日花开已一年&quot;，时间总是在指尖悄悄划走，2023年笔者基本没有在学校进行停留也没怎么休息过，从找实习到入职，到实习过程中，再到秋招，整个人一直处于一个多线程忙碌的状态。最近打算回学校了，终于可以抽出时间写一点自己最近的思考和想法了。</description><pubDate>Thu, 06 Jun 2024 00:00:00 GMT</pubDate><category>职场</category></item><item><title>想为K8S做贡献？先把CLA签署了</title><link>https://www.charles-cheng.com/blog/%E6%83%B3%E4%B8%BAk8s%E5%81%9A%E8%B4%A1%E7%8C%AE-%E5%85%88%E6%8A%8Acla%E7%AD%BE%E7%BD%B2%E4%BA%86-8c7e89</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E6%83%B3%E4%B8%BAk8s%E5%81%9A%E8%B4%A1%E7%8C%AE-%E5%85%88%E6%8A%8Acla%E7%AD%BE%E7%BD%B2%E4%BA%86-8c7e89</guid><description>七月毕业之后正式入职了深圳的某家大厂，最近慢慢的能cover住手里的工作(主要是前端部分)之后，就想着开始做自己一直想做但是没有做的事情，为现在最大的云原生技术K8S做贡献。</description><pubDate>Wed, 05 Jun 2024 00:00:00 GMT</pubDate><category>K8S</category><category>云原生</category><category>前端</category></item><item><title>开发中常用的数据库命令，你都会吗</title><link>https://www.charles-cheng.com/blog/%E5%BC%80%E5%8F%91%E4%B8%AD%E5%B8%B8%E7%94%A8%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E5%91%BD%E4%BB%A4%E4%BD%A0%E9%83%BD%E4%BC%9A%E5%90%97-c5ead6</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%BC%80%E5%8F%91%E4%B8%AD%E5%B8%B8%E7%94%A8%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E5%91%BD%E4%BB%A4%E4%BD%A0%E9%83%BD%E4%BC%9A%E5%90%97-c5ead6</guid><description>整理了开发中常用但容易忘记的数据库命令，从查看一张表的数据量和存储开销讲起，说明索引本身也需要存储成本这一常被忽视的点，再介绍模糊查询表名等实用技巧。</description><pubDate>Sat, 04 May 2024 00:00:00 GMT</pubDate><category>数据库</category></item><item><title>工业界的几种发布模式</title><link>https://www.charles-cheng.com/blog/%E5%B7%A5%E4%B8%9A%E7%95%8C%E7%9A%84%E5%87%A0%E7%A7%8D%E5%8F%91%E5%B8%83%E6%A8%A1%E5%BC%8F-6c1534</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%B7%A5%E4%B8%9A%E7%95%8C%E7%9A%84%E5%87%A0%E7%A7%8D%E5%8F%91%E5%B8%83%E6%A8%A1%E5%BC%8F-6c1534</guid><description>介绍工业界几种常见的发布模式：蓝绿发布如何用环境冗余降低上线风险、金丝雀发布如何用小流量验证新版本、A/B测试的真正目的、滚动发布的优缺点，以及Netflix采用的红黑部署方式。</description><pubDate>Fri, 03 May 2024 00:00:00 GMT</pubDate><category>DevOps</category></item><item><title>Charles 2024 Mar &amp; Apr Review</title><link>https://www.charles-cheng.com/blog/charles-2024-mar-apr-review</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/charles-2024-mar-apr-review</guid><description>三月旅行结束回到工位，这两个月工作占了生活很大一部分，剩下时间用来培养长期收益很高的习惯，以及处理毕业相关事宜。</description><pubDate>Tue, 30 Apr 2024 00:00:00 GMT</pubDate><category>季度复盘</category><category>2024</category></item><item><title>如何在微服务间通信？</title><link>https://www.charles-cheng.com/blog/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%BE%AE%E6%9C%8D%E5%8A%A1%E9%97%B4%E9%80%9A%E4%BF%A1-cf267f</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%BE%AE%E6%9C%8D%E5%8A%A1%E9%97%B4%E9%80%9A%E4%BF%A1-cf267f</guid><description>在微服务架构中，不同的服务是托管在不同的代码库，运行在不同的进程甚至是机器上的，这会比单体架构中服务之间进行通信付出更大的成本。</description><pubDate>Sun, 28 Apr 2024 00:00:00 GMT</pubDate><category>微服务</category><category>网络</category></item><item><title>实习生必看！！！如何完美度过实习期</title><link>https://www.charles-cheng.com/blog/%E5%AE%9E%E4%B9%A0%E7%94%9F%E5%BF%85%E7%9C%8B-%E5%A6%82%E4%BD%95%E5%AE%8C%E7%BE%8E%E5%BA%A6%E8%BF%87%E5%AE%9E%E4%B9%A0%E6%9C%9F-068e8f</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%AE%9E%E4%B9%A0%E7%94%9F%E5%BF%85%E7%9C%8B-%E5%A6%82%E4%BD%95%E5%AE%8C%E7%BE%8E%E5%BA%A6%E8%BF%87%E5%AE%9E%E4%B9%A0%E6%9C%9F-068e8f</guid><description>相信每位同学，迈出校门，通过实习进入职场都有自己的需要，大部分人应该是基于以下几点：</description><pubDate>Tue, 02 Apr 2024 00:00:00 GMT</pubDate><category>面试</category><category>职场</category></item><item><title>实习求职总结</title><link>https://www.charles-cheng.com/blog/%E5%AE%9E%E4%B9%A0%E6%B1%82%E8%81%8C%E6%80%BB%E7%BB%93-03535f</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%AE%9E%E4%B9%A0%E6%B1%82%E8%81%8C%E6%80%BB%E7%BB%93-03535f</guid><description>前言：其实我是比较喜欢用文字、博客来记录自己的生活，记录自己的一些想法和感悟的，但是之前我一直觉得博客嘛，就应该发一些技术相关的东西，看了很多同龄人的博客我才发现，其实博客可以发的东西有很多很多，不一定要仅限于技术，于是就有了这篇文章。</description><pubDate>Mon, 01 Apr 2024 00:00:00 GMT</pubDate><category>Go</category><category>数据库</category><category>面试</category></item><item><title>大厂程序员讲解git开发流程和回退</title><link>https://www.charles-cheng.com/blog/%E5%A4%A7%E5%8E%82%E7%A8%8B%E5%BA%8F%E5%91%98%E8%AE%B2%E8%A7%A3git%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B%E5%92%8C%E5%9B%9E%E9%80%80-07767c</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%A4%A7%E5%8E%82%E7%A8%8B%E5%BA%8F%E5%91%98%E8%AE%B2%E8%A7%A3git%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B%E5%92%8C%E5%9B%9E%E9%80%80-07767c</guid><description>因为项目都是多人开发，所以一般都是采用的`fork`模式进行开发，也就是程序员们先把修改提交到自己`fork`的仓库，然后在这个仓库的某个分支上进行项目的仓库分支的`merge request`，一般是向`develop`分支发起合并。</description><pubDate>Wed, 27 Mar 2024 00:00:00 GMT</pubDate><category>Git</category><category>DevOps</category></item><item><title>多种常见设计模式的学习--Go实现版本</title><link>https://www.charles-cheng.com/blog/%E5%A4%9A%E7%A7%8D%E5%B8%B8%E8%A7%81%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E7%9A%84%E5%AD%A6%E4%B9%A0-go%E5%AE%9E%E7%8E%B0%E7%89%88%E6%9C%AC-79c7b5</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%A4%9A%E7%A7%8D%E5%B8%B8%E8%A7%81%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E7%9A%84%E5%AD%A6%E4%B9%A0-go%E5%AE%9E%E7%8E%B0%E7%89%88%E6%9C%AC-79c7b5</guid><description>模式：每个模式都描述了一个在我们的环境中不断出现的问题，然后描述了该问题的解决方案的核心，也就是说，**设计模式是在特定环境下人们解决某类重复出现问题的一套成功或者有效的解决方案**</description><pubDate>Tue, 26 Mar 2024 00:00:00 GMT</pubDate><category>Go</category><category>设计模式</category></item><item><title>Charles 2024 Jan &amp; Feb Review</title><link>https://www.charles-cheng.com/blog/charles-2024-jan-feb-review</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/charles-2024-jan-feb-review</guid><description>从书里学到定时复盘的好处，于是开始每两个月一次的复盘——记录这段时间做了什么、有什么成长、犯了什么错。这是第一篇。</description><pubDate>Wed, 28 Feb 2024 00:00:00 GMT</pubDate><category>季度复盘</category><category>2024</category></item><item><title>在校生必看！ 2023：前进 工作 恋爱</title><link>https://www.charles-cheng.com/blog/%E5%9C%A8%E6%A0%A1%E7%94%9F%E5%BF%85%E7%9C%8B-2023-%E5%89%8D%E8%BF%9B-%E5%B7%A5%E4%BD%9C-%E6%81%8B%E7%88%B1-cc4d54</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%9C%A8%E6%A0%A1%E7%94%9F%E5%BF%85%E7%9C%8B-2023-%E5%89%8D%E8%BF%9B-%E5%B7%A5%E4%BD%9C-%E6%81%8B%E7%88%B1-cc4d54</guid><description>下面这篇博客是笔者的2023年总结，记录一下这一年的具体经历，审视自己身上的不足，记录一些感悟还有一些我的碎碎念，**最后附有面经，想要看面经的同学可以直接跳到最后** 。</description><pubDate>Sun, 25 Feb 2024 00:00:00 GMT</pubDate><category>面试</category><category>职场</category></item><item><title>告高中学弟学妹书</title><link>https://www.charles-cheng.com/blog/%E5%91%8A%E9%AB%98%E4%B8%AD%E5%AD%A6%E5%BC%9F%E5%AD%A6%E5%A6%B9%E4%B9%A6-b616f6</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%91%8A%E9%AB%98%E4%B8%AD%E5%AD%A6%E5%BC%9F%E5%AD%A6%E5%A6%B9%E4%B9%A6-b616f6</guid><description>写给高中学弟学妹的一份经验总结，从好学生的共性、为什么要努力、成绩落后该怎么追赶，到选专业和复读该如何权衡，逐条给出具体建议，后半部分延伸到进入大学后该注意的事情。</description><pubDate>Sat, 24 Feb 2024 00:00:00 GMT</pubDate><category>技术</category></item><item><title>后端程序员快速入门前端02：HTML文本与列表</title><link>https://www.charles-cheng.com/blog/%E5%90%8E%E7%AB%AF%E7%A8%8B%E5%BA%8F%E5%91%98%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8%E5%89%8D%E7%AB%AF02-html%E6%96%87%E6%9C%AC%E4%B8%8E%E5%88%97%E8%A1%A8-756632</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%90%8E%E7%AB%AF%E7%A8%8B%E5%BA%8F%E5%91%98%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8%E5%89%8D%E7%AB%AF02-html%E6%96%87%E6%9C%AC%E4%B8%8E%E5%88%97%E8%A1%A8-756632</guid><description>HTML只能帮助我们构建静态页面，在一个静态页面中，一般只有以下几种元素</description><pubDate>Fri, 23 Feb 2024 00:00:00 GMT</pubDate><category>前端</category></item><item><title>后端程序员快速入门前端01：了解HTML</title><link>https://www.charles-cheng.com/blog/%E5%90%8E%E7%AB%AF%E7%A8%8B%E5%BA%8F%E5%91%98%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8%E5%89%8D%E7%AB%AF01-%E4%BA%86%E8%A7%A3html-7917d1</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%90%8E%E7%AB%AF%E7%A8%8B%E5%BA%8F%E5%91%98%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8%E5%89%8D%E7%AB%AF01-%E4%BA%86%E8%A7%A3html-7917d1</guid><description>之前在学校的时候就有一点前端基础，但也只有一点点，勉强能写HTML的程度。之前的前端水平只能在页面加个按钮，改个描述之类的，而且通常还要gpt帮忙。</description><pubDate>Mon, 22 Jan 2024 00:00:00 GMT</pubDate><category>前端</category><category>职场</category></item><item><title>前端路由实现方式</title><link>https://www.charles-cheng.com/blog/%E5%89%8D%E7%AB%AF%E8%B7%AF%E7%94%B1%E5%AE%9E%E7%8E%B0%E6%96%B9%E5%BC%8F-cb3aa9</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%89%8D%E7%AB%AF%E8%B7%AF%E7%94%B1%E5%AE%9E%E7%8E%B0%E6%96%B9%E5%BC%8F-cb3aa9</guid><description>单页应用切换页面时浏览器并不会发出真实请求，页面又是如何感知用户点击并更新内容区域的？本文介绍hash和history两种主流前端路由实现方式，重点讲解hash模式如何借助hashchange事件在不刷新页面的情况下完成跳转。</description><pubDate>Sun, 21 Jan 2024 00:00:00 GMT</pubDate><category>Git</category><category>前端</category></item><item><title>Charles 2023 Annual Review</title><link>https://www.charles-cheng.com/blog/charles-2023-annual-review</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/charles-2023-annual-review</guid><description>2023年终总结：从找实习、百度到腾讯的大厂经历，以及恋爱、生活与这一年的成长感悟。</description><pubDate>Sun, 31 Dec 2023 00:00:00 GMT</pubDate><category>季度复盘</category><category>2023</category></item><item><title>前端html入门</title><link>https://www.charles-cheng.com/blog/%E5%89%8D%E7%AB%AFhtml%E5%85%A5%E9%97%A8-ca3542</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%89%8D%E7%AB%AFhtml%E5%85%A5%E9%97%A8-ca3542</guid><description>HTML是文本标记语言，经过浏览器内核的渲染就变成了我们能够看到的页面</description><pubDate>Wed, 20 Dec 2023 00:00:00 GMT</pubDate><category>前端</category></item><item><title>前端debug学习</title><link>https://www.charles-cheng.com/blog/%E5%89%8D%E7%AB%AFdebug%E5%AD%A6%E4%B9%A0-9680a5</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%89%8D%E7%AB%AFdebug%E5%AD%A6%E4%B9%A0-9680a5</guid><description>找元素，右边会显示style样式</description><pubDate>Tue, 19 Dec 2023 00:00:00 GMT</pubDate><category>前端</category></item><item><title>分布式事务常见方案汇总</title><link>https://www.charles-cheng.com/blog/%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1%E5%B8%B8%E8%A7%81%E6%96%B9%E6%A1%88%E6%B1%87%E6%80%BB-bd9fdc</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1%E5%B8%B8%E8%A7%81%E6%96%B9%E6%A1%88%E6%B1%87%E6%80%BB-bd9fdc</guid><description>本文梳理了分布式事务实现的几个关键点：唯一事务ID、协调者角色和幂等对账能力，并深入讲解XA分布式事务协议（2PC）的两阶段提交过程，作为强一致性方案的代表。</description><pubDate>Mon, 18 Dec 2023 00:00:00 GMT</pubDate><category>分布式</category><category>并发</category></item><item><title>关于MySQL主键的一些思考</title><link>https://www.charles-cheng.com/blog/%E5%85%B3%E4%BA%8Emysql%E4%B8%BB%E9%94%AE%E7%9A%84%E4%B8%80%E4%BA%9B%E6%80%9D%E8%80%83-4ad52c</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%85%B3%E4%BA%8Emysql%E4%B8%BB%E9%94%AE%E7%9A%84%E4%B8%80%E4%BA%9B%E6%80%9D%E8%80%83-4ad52c</guid><description>之前有在面试中被问到过几次`MySQL`主键相关问题，以及偶尔听说了`MySQL`官方并不推荐雪花算法生成主键，引起了我的好奇，故有以下文章。</description><pubDate>Fri, 17 Nov 2023 00:00:00 GMT</pubDate><category>数据库</category><category>面试</category></item><item><title>入职一家新公司如何配置Git及远程开发？</title><link>https://www.charles-cheng.com/blog/%E5%85%A5%E8%81%8C%E4%B8%80%E5%AE%B6%E6%96%B0%E5%85%AC%E5%8F%B8%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AEgit%E5%8F%8A%E8%BF%9C%E7%A8%8B%E5%BC%80%E5%8F%91-d8b590</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E5%85%A5%E8%81%8C%E4%B8%80%E5%AE%B6%E6%96%B0%E5%85%AC%E5%8F%B8%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AEgit%E5%8F%8A%E8%BF%9C%E7%A8%8B%E5%BC%80%E5%8F%91-d8b590</guid><description>首先在我们的开发机上生成对应的`ssh-key`公钥和私钥</description><pubDate>Thu, 16 Nov 2023 00:00:00 GMT</pubDate><category>Git</category></item><item><title>14.【云原生-K8S】：资源与服务质量</title><link>https://www.charles-cheng.com/blog/14-%E4%BA%91%E5%8E%9F%E7%94%9F-k8s-%E8%B5%84%E6%BA%90%E4%B8%8E%E6%9C%8D%E5%8A%A1%E8%B4%A8%E9%87%8F-ec0a0c</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/14-%E4%BA%91%E5%8E%9F%E7%94%9F-k8s-%E8%B5%84%E6%BA%90%E4%B8%8E%E6%9C%8D%E5%8A%A1%E8%B4%A8%E9%87%8F-ec0a0c</guid><description>我们可以精确到容器级别为其设置资源数量，资源`resource`由两部分组成，分别是请求`requests`和限制`limits`。**当我们设置**`**limits**`**时，**`**kubelet**`**和容器运行时以及底层的**`**cgroup**`**会保证容器使用的资源不超过设置</description><pubDate>Sat, 28 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category><category>容器</category><category>云原生</category></item><item><title>15.告别手搓Yaml文件，Jetbrains全家桶都可用的插件</title><link>https://www.charles-cheng.com/blog/15%E5%91%8A%E5%88%AB%E6%89%8B%E6%90%93yaml%E6%96%87%E4%BB%B6jetbrains%E5%85%A8%E5%AE%B6%E6%A1%B6%E9%83%BD%E5%8F%AF%E7%94%A8%E7%9A%84%E6%8F%92%E4%BB%B6-1f37e7</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/15%E5%91%8A%E5%88%AB%E6%89%8B%E6%90%93yaml%E6%96%87%E4%BB%B6jetbrains%E5%85%A8%E5%AE%B6%E6%A1%B6%E9%83%BD%E5%8F%AF%E7%94%A8%E7%9A%84%E6%8F%92%E4%BB%B6-1f37e7</guid><description>在使用K8S的过程中，我们不可避免的会需要接触到Yaml文件，如果一直用`vim/vi`来编写、修改Yaml文件也未尝不可，就是失去了对齐校验和自动补全，免不了造成效率低下的问题。这里推荐几个工具帮助我们快速编写、验证Yaml文件的可用性。</description><pubDate>Sat, 28 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category></item><item><title>16.【云原生-K8S】 往容器中注入数据</title><link>https://www.charles-cheng.com/blog/16-%E4%BA%91%E5%8E%9F%E7%94%9F-k8s-%E5%BE%80%E5%AE%B9%E5%99%A8%E4%B8%AD%E6%B3%A8%E5%85%A5%E6%95%B0%E6%8D%AE-fc150c</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/16-%E4%BA%91%E5%8E%9F%E7%94%9F-k8s-%E5%BE%80%E5%AE%B9%E5%99%A8%E4%B8%AD%E6%B3%A8%E5%85%A5%E6%95%B0%E6%8D%AE-fc150c</guid><description>在实际应用中，很多程序都需要拥有K8S的相关信息，比如运行在哪个Pod、哪个Cluster、哪个Namespace下，而为了避免容器或容器内部的应用程序和K8S过度耦合，引入了`Downward API`这种方式，将Pod和容器字段暴露给运行中的容器。</description><pubDate>Sat, 28 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category><category>容器</category><category>云原生</category></item><item><title>13.【云原生-K8S】 污点与容忍度</title><link>https://www.charles-cheng.com/blog/13-%E4%BA%91%E5%8E%9F%E7%94%9F-k8s-%E6%B1%A1%E7%82%B9%E4%B8%8E%E5%AE%B9%E5%BF%8D%E5%BA%A6-8cee88</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/13-%E4%BA%91%E5%8E%9F%E7%94%9F-k8s-%E6%B1%A1%E7%82%B9%E4%B8%8E%E5%AE%B9%E5%BF%8D%E5%BA%A6-8cee88</guid><description>污点的作用就像一个过滤器，能够使节点排斥一些Pod，它是一个作用于Node的键值对；熟悉K8S的同学可能立马能想到有一个相反作用的属性叫做节点亲和性`Affinity`，作用于Pod，使得Pod能够被吸引到一类特定的节点。</description><pubDate>Fri, 27 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category><category>云原生</category></item><item><title>12.【云原生-K8S】：临时 容器与Pod调试</title><link>https://www.charles-cheng.com/blog/12-%E4%BA%91%E5%8E%9F%E7%94%9F-k8s-%E4%B8%B4%E6%97%B6-%E5%AE%B9%E5%99%A8%E4%B8%8Epod%E8%B0%83%E8%AF%95-14bfd9</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/12-%E4%BA%91%E5%8E%9F%E7%94%9F-k8s-%E4%B8%B4%E6%97%B6-%E5%AE%B9%E5%99%A8%E4%B8%8Epod%E8%B0%83%E8%AF%95-14bfd9</guid><description>对于临时容器Ephemeral Containers最准确的定义是：临时容器是一种特殊的用于`debug`的容器，可以**动态的** 添加到Pod中，通常用来对难以复现的问题进行排查，而不对业务有帮助。因为pod由规约控制，一旦pod创建就无法将容器新加到pod中，如果需要对pod的状态进行检查，那</description><pubDate>Wed, 25 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category><category>容器</category><category>云原生</category></item><item><title>11.源码级别Pod详解（七） Init 容器</title><link>https://www.charles-cheng.com/blog/11%E6%BA%90%E7%A0%81%E7%BA%A7%E5%88%ABpod%E8%AF%A6%E8%A7%A3-%E4%B8%83-init-%E5%AE%B9%E5%99%A8-3f19f4</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/11%E6%BA%90%E7%A0%81%E7%BA%A7%E5%88%ABpod%E8%AF%A6%E8%A7%A3-%E4%B8%83-init-%E5%AE%B9%E5%99%A8-3f19f4</guid><description>`Init Containers`是一个或者一组专用的容器，在业务容器`app containers`之前启动运行，`app containers`是我们认为的业务容器，即专门干活的容器。我们可以在`pod spec`中使用一个数组声明`init Containers`。</description><pubDate>Mon, 23 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category><category>容器</category></item><item><title>10.源码级别Pod详解（六）：Pod、Image与Container</title><link>https://www.charles-cheng.com/blog/10pod-podimagecontainer</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/10pod-podimagecontainer</guid><description>本文介绍K8S中镜像的概念与拉取机制：为什么用摘要代替标签能保证版本一致性，以及IfNotPresent、Always、Never三种镜像拉取策略各自的适用场景，并配实战演示多容器Pod的用法。</description><pubDate>Sat, 21 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category><category>容器</category></item><item><title>09.源码级别Pod详解（五）： Pod Termination</title><link>https://www.charles-cheng.com/blog/09pod-pod-termination</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/09pod-pod-termination</guid><description>我们在前面几篇博客中介绍了`Pod`生命周期各类组件与相关字段，比如`Phase`与`Condition`、`Probe`与`lifecycle`等等，这些组件的作用都是描述或调控`Pod`生命周期。这篇文章会向大家介绍`Pod`终止相关内容。</description><pubDate>Thu, 19 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category></item><item><title>08.源码级别Pod详解（四）： Pod readiness与Container Probe</title><link>https://www.charles-cheng.com/blog/08pod-pod-readinesscontainer-probe</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/08pod-pod-readinesscontainer-probe</guid><description>K8S通过Pod readiness机制判断Pod是否已经就绪，本文说明readiness的值如何由PodStatus的condition决定、需要满足哪些条件才算Ready，以及如何通过Readiness Probe自定义就绪判断逻辑。</description><pubDate>Tue, 17 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category></item><item><title>07.一分钟安装K8S学习环境</title><link>https://www.charles-cheng.com/blog/07%E4%B8%80%E5%88%86%E9%92%9F%E5%AE%89%E8%A3%85k8s%E5%AD%A6%E4%B9%A0%E7%8E%AF%E5%A2%83-bc17da</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/07%E4%B8%80%E5%88%86%E9%92%9F%E5%AE%89%E8%A3%85k8s%E5%AD%A6%E4%B9%A0%E7%8E%AF%E5%A2%83-bc17da</guid><description>你需要一台`Linux`操作系统的虚拟机，服务器也可以，不过这个需要花点钱，新人优惠的话阿里云服务器第一年不到一百元，还是比较良心的。</description><pubDate>Sun, 15 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category><category>Docker</category></item><item><title>你真的理解分布式理论吗？</title><link>https://www.charles-cheng.com/blog/%E4%BD%A0%E7%9C%9F%E7%9A%84%E7%90%86%E8%A7%A3%E5%88%86%E5%B8%83%E5%BC%8F%E7%90%86%E8%AE%BA%E5%90%97-a2801f</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%BD%A0%E7%9C%9F%E7%9A%84%E7%90%86%E8%A7%A3%E5%88%86%E5%B8%83%E5%BC%8F%E7%90%86%E8%AE%BA%E5%90%97-a2801f</guid><description>随着时代的发展，传统的单台机器可能无法完成我们期待的任务，所以发展出了分布式系统这么一个概念，目的是为了提高系统的性能、可伸缩性、可用性、容错性。其本质就是**堆机子** ，通过增加机器数量，完成之前单台机器难以完成的任务。</description><pubDate>Sun, 15 Oct 2023 00:00:00 GMT</pubDate><category>分布式</category><category>网络</category></item><item><title>你写的代码真的符合RESTful风格的设计吗？</title><link>https://www.charles-cheng.com/blog/%E4%BD%A0%E5%86%99%E7%9A%84%E4%BB%A3%E7%A0%81%E7%9C%9F%E7%9A%84%E7%AC%A6%E5%90%88restful%E9%A3%8E%E6%A0%BC%E7%9A%84%E8%AE%BE%E8%AE%A1%E5%90%97-dc4611</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%BD%A0%E5%86%99%E7%9A%84%E4%BB%A3%E7%A0%81%E7%9C%9F%E7%9A%84%E7%AC%A6%E5%90%88restful%E9%A3%8E%E6%A0%BC%E7%9A%84%E8%AE%BE%E8%AE%A1%E5%90%97-dc4611</guid><description>之前一直认为接口按照增删改查的功能，使用`GET POST PUT DELETE`这几个`HTTP`方法，并且URL符合对应对象，比如书籍的增删改查用`book`，用户的增删改查用`user`就算是`RESTUful`风格了，这和实际上的`RESTful`要求的相去甚远。</description><pubDate>Sat, 14 Oct 2023 00:00:00 GMT</pubDate><category>DevOps</category><category>网络</category></item><item><title>06.源码级别Pod详解（三）：Container 生命周期</title><link>https://www.charles-cheng.com/blog/06%E6%BA%90%E7%A0%81%E7%BA%A7%E5%88%ABpod%E8%AF%A6%E8%A7%A3-%E4%B8%89-container-%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F-8f2c97</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/06%E6%BA%90%E7%A0%81%E7%BA%A7%E5%88%ABpod%E8%AF%A6%E8%A7%A3-%E4%B8%89-container-%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F-8f2c97</guid><description>K8S除了会全生命周期跟踪`Pod`的状况，还会跟踪更底层的`Container`生命周期，`Container`的生命周期主要是由三部分组成、调控的，分别是`Container States`、`postStart&amp;&amp;preStop`以及`Container RestartPolicy`。</description><pubDate>Fri, 13 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category><category>容器</category></item><item><title>以拉取镜像失败问题排查为例，谈谈我是如何排查底层问题的</title><link>https://www.charles-cheng.com/blog/%E4%BB%A5%E6%8B%89%E5%8F%96%E9%95%9C%E5%83%8F%E5%A4%B1%E8%B4%A5%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5%E4%B8%BA%E4%BE%8B%E8%B0%88%E8%B0%88%E6%88%91%E6%98%AF%E5%A6%82%E4%BD%95%E6%8E%92%E6%9F%A5%E5%BA%95%E5%B1%82%E9%97%AE%E9%A2%98%E7%9A%84-b83ccb</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%BB%A5%E6%8B%89%E5%8F%96%E9%95%9C%E5%83%8F%E5%A4%B1%E8%B4%A5%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5%E4%B8%BA%E4%BE%8B%E8%B0%88%E8%B0%88%E6%88%91%E6%98%AF%E5%A6%82%E4%BD%95%E6%8E%92%E6%9F%A5%E5%BA%95%E5%B1%82%E9%97%AE%E9%A2%98%E7%9A%84-b83ccb</guid><description>放空脑子的时候在告警群里看到了一个拉取镜像失败的报错，`Failed|Error: ImagePullBackOff`，当时看到就觉得非常奇怪，这个报错意味着镜像拉取失败，通常原因是</description><pubDate>Fri, 13 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category><category>网络</category></item><item><title>05.源码级别Pod详解（二）：Pod生命周期</title><link>https://www.charles-cheng.com/blog/05%E6%BA%90%E7%A0%81%E7%BA%A7%E5%88%ABpod%E8%AF%A6%E8%A7%A3-%E4%BA%8C-pod%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F-459400</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/05%E6%BA%90%E7%A0%81%E7%BA%A7%E5%88%ABpod%E8%AF%A6%E8%A7%A3-%E4%BA%8C-pod%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F-459400</guid><description>`pod`遵循一个既定的生命周期，在起始的时候，它会是`Pending`状态，然后如果有一个主容器运行成功，那么就进入`Running`状态，之后取决于有没有容器失败，如果有失败的话则进入`Failed`状态，否则则是`Succeeded`状态。</description><pubDate>Wed, 11 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category><category>容器</category></item><item><title>04.源码级别Pod详解（一）：对象字段及源码实现</title><link>https://www.charles-cheng.com/blog/04%E6%BA%90%E7%A0%81%E7%BA%A7%E5%88%ABpod%E8%AF%A6%E8%A7%A3-%E4%B8%80-%E5%AF%B9%E8%B1%A1%E5%AD%97%E6%AE%B5%E5%8F%8A%E6%BA%90%E7%A0%81%E5%AE%9E%E7%8E%B0-b979b6</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/04%E6%BA%90%E7%A0%81%E7%BA%A7%E5%88%ABpod%E8%AF%A6%E8%A7%A3-%E4%B8%80-%E5%AF%B9%E8%B1%A1%E5%AD%97%E6%AE%B5%E5%8F%8A%E6%BA%90%E7%A0%81%E5%AE%9E%E7%8E%B0-b979b6</guid><description>K8S使用的`API`风格为**声明式API** ，声明式API更加容易理解与维护，因为它们隐藏了底层的实现细节、我们通过`yaml`文件这种方式去创建、声明对应的对象，在K8S中的每一个对象都对应着一个`yaml`文件，即通过文件完成一次声明，而不是向命令式`API`一样通过一条条命令进行`API</description><pubDate>Mon, 09 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category><category>容器</category></item><item><title>03.你不得不知道的K8S核心概念</title><link>https://www.charles-cheng.com/blog/03%E4%BD%A0%E4%B8%8D%E5%BE%97%E4%B8%8D%E7%9F%A5%E9%81%93%E7%9A%84k8s%E6%A0%B8%E5%BF%83%E6%A6%82%E5%BF%B5-3b442e</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/03%E4%BD%A0%E4%B8%8D%E5%BE%97%E4%B8%8D%E7%9F%A5%E9%81%93%E7%9A%84k8s%E6%A0%B8%E5%BF%83%E6%A6%82%E5%BF%B5-3b442e</guid><description>在K8S中，`Cluster`是一个核心概念，它代表了**整个K8S管理的节点、命名空间、各类对象和资源的集合** ，在K8S中，一个`Cluster`至少包含一个工作结点和一个主节点，这些结点是运行在K8S系统的服务器或者虚拟机，目标是提供一个同一的视图，使得K8S集群成为一个单一的大型计算资源。</description><pubDate>Sat, 07 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category><category>职场</category></item><item><title>02.K8S架构详解</title><link>https://www.charles-cheng.com/blog/02k8s%E6%9E%B6%E6%9E%84%E8%AF%A6%E8%A7%A3-2e59aa</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/02k8s%E6%9E%B6%E6%9E%84%E8%AF%A6%E8%A7%A3-2e59aa</guid><description>上图包含了K8S中的所有组件，我们把K8S集群分为两个部分，即`Master`节点（主结点）和`Node`节点（工作结点），其中主节点运行着控制平面组件`Control Plane Components`，工作结点运行着必要的`Kubelet`和`Kube-proxy`组件。</description><pubDate>Thu, 05 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category><category>分布式</category><category>职场</category></item><item><title>01.你为什么需要学习K8S</title><link>https://www.charles-cheng.com/blog/01%E4%BD%A0%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E5%AD%A6%E4%B9%A0k8s-74778d</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/01%E4%BD%A0%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E5%AD%A6%E4%B9%A0k8s-74778d</guid><description>在&quot;云原生&quot;、&quot;应用上云&quot;火热的这几年，相信大家或多或少都听说过K8S这个可以称得上是**容器编排领域事实** 的存在。</description><pubDate>Tue, 03 Oct 2023 00:00:00 GMT</pubDate><category>K8S</category><category>容器</category><category>Docker</category></item><item><title>什么是正排索引与倒排索引？</title><link>https://www.charles-cheng.com/blog/%E4%BB%80%E4%B9%88%E6%98%AF%E6%AD%A3%E6%8E%92%E7%B4%A2%E5%BC%95%E4%B8%8E%E5%80%92%E6%8E%92%E7%B4%A2%E5%BC%95-752f53</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%BB%80%E4%B9%88%E6%98%AF%E6%AD%A3%E6%8E%92%E7%B4%A2%E5%BC%95%E4%B8%8E%E5%80%92%E6%8E%92%E7%B4%A2%E5%BC%95-752f53</guid><description>正排索引和倒排索引是信息检索场景中常见的概念，比如数据库、搜索引擎等技术中，大部分关系型数据库都是使用正排索引存储记录，一些文档型数据库，比如ES使用的则是倒排数据库。</description><pubDate>Tue, 12 Sep 2023 00:00:00 GMT</pubDate><category>数据库</category></item><item><title>五分钟上手Gin框架核心内容</title><link>https://www.charles-cheng.com/blog/%E4%BA%94%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8Bgin%E6%A1%86%E6%9E%B6%E6%A0%B8%E5%BF%83%E5%86%85%E5%AE%B9-e4f1b8</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%BA%94%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8Bgin%E6%A1%86%E6%9E%B6%E6%A0%B8%E5%BF%83%E5%86%85%E5%AE%B9-e4f1b8</guid><description>因为毕设是用`Go`写的，涉及到`Web`的内容用的是`Gin`框架，所以顺便归纳总结了一下`Gin`的一些核心使用方法，下面是Gin框架开发会用到的核心内容。</description><pubDate>Mon, 11 Sep 2023 00:00:00 GMT</pubDate><category>Go</category></item><item><title>事件溯源是什么？如何基于事件溯源进行开发</title><link>https://www.charles-cheng.com/blog/%E4%BA%8B%E4%BB%B6%E6%BA%AF%E6%BA%90%E6%98%AF%E4%BB%80%E4%B9%88-%E5%A6%82%E4%BD%95%E5%9F%BA%E4%BA%8E%E4%BA%8B%E4%BB%B6%E6%BA%AF%E6%BA%90%E8%BF%9B%E8%A1%8C%E5%BC%80%E5%8F%91-2df0ff</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%BA%8B%E4%BB%B6%E6%BA%AF%E6%BA%90%E6%98%AF%E4%BB%80%E4%B9%88-%E5%A6%82%E4%BD%95%E5%9F%BA%E4%BA%8E%E4%BA%8B%E4%BB%B6%E6%BA%AF%E6%BA%90%E8%BF%9B%E8%A1%8C%E5%BC%80%E5%8F%91-2df0ff</guid><description>之前偶尔接触到了事件溯源，但没有刨根究底的学习，最近抽时间看了一下有关这方面的内容。</description><pubDate>Thu, 10 Aug 2023 00:00:00 GMT</pubDate><category>Go</category><category>数据库</category></item><item><title>不背八股！！！面试官：有了HTTP为什么还需要RPC？</title><link>https://www.charles-cheng.com/blog/%E4%B8%8D%E8%83%8C%E5%85%AB%E8%82%A1-%E9%9D%A2%E8%AF%95%E5%AE%98-%E6%9C%89%E4%BA%86http%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%98%E9%9C%80%E8%A6%81rpc-e658f4</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%B8%8D%E8%83%8C%E5%85%AB%E8%82%A1-%E9%9D%A2%E8%AF%95%E5%AE%98-%E6%9C%89%E4%BA%86http%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%98%E9%9C%80%E8%A6%81rpc-e658f4</guid><description>面试常被问到有了HTTP为什么还需要RPC，本文先从TCP、RPC、HTTP的历史发展顺序纠正这个问题本身的前提，再从服务发现、底层协议、消息格式等维度对比二者的实际差异。</description><pubDate>Wed, 09 Aug 2023 00:00:00 GMT</pubDate><category>面试</category><category>网络</category></item><item><title>不背八股！！！面试官：为什么你手机的IP会是192.168</title><link>https://www.charles-cheng.com/blog/%E4%B8%8D%E8%83%8C%E5%85%AB%E8%82%A1-%E9%9D%A2%E8%AF%95%E5%AE%98-%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BD%A0%E6%89%8B%E6%9C%BA%E7%9A%84ip%E4%BC%9A%E6%98%AF192168-bc4be0</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%B8%8D%E8%83%8C%E5%85%AB%E8%82%A1-%E9%9D%A2%E8%AF%95%E5%AE%98-%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BD%A0%E6%89%8B%E6%9C%BA%E7%9A%84ip%E4%BC%9A%E6%98%AF192168-bc4be0</guid><description>在构建局域网时，`IP`地址的管理是至关重要的。由于`IPv4`地址是非常有限的，**私有IP地址** 的使用成为解决IP地址不足问题的有效手段。</description><pubDate>Tue, 08 Aug 2023 00:00:00 GMT</pubDate><category>面试</category><category>网络</category></item><item><title>不背八股！！！为什么说TCP是基于字节流的？</title><link>https://www.charles-cheng.com/blog/%E4%B8%8D%E8%83%8C%E5%85%AB%E8%82%A1-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%AF%B4tcp%E6%98%AF%E5%9F%BA%E4%BA%8E%E5%AD%97%E8%8A%82%E6%B5%81%E7%9A%84-52e512</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%B8%8D%E8%83%8C%E5%85%AB%E8%82%A1-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%AF%B4tcp%E6%98%AF%E5%9F%BA%E4%BA%8E%E5%AD%97%E8%8A%82%E6%B5%81%E7%9A%84-52e512</guid><description>我们都知道`TCP`的一大特点就**是基于字节流** ，从字面意思上来说，`TCP`在传输报文的时候并不是一个个报文传输的，而是一个个**字节** 传输的。</description><pubDate>Fri, 07 Jul 2023 00:00:00 GMT</pubDate><category>面试</category><category>网络</category></item><item><title>不太熟悉Git？ 不妨看看这篇文章</title><link>https://www.charles-cheng.com/blog/%E4%B8%8D%E5%A4%AA%E7%86%9F%E6%82%89git-%E4%B8%8D%E5%A6%A8%E7%9C%8B%E7%9C%8B%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0-eb694a</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%B8%8D%E5%A4%AA%E7%86%9F%E6%82%89git-%E4%B8%8D%E5%A6%A8%E7%9C%8B%E7%9C%8B%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0-eb694a</guid><description>Git是目前世界上最先进的分布式版本控制系统，由C语言进行开发</description><pubDate>Thu, 06 Jul 2023 00:00:00 GMT</pubDate><category>分布式</category><category>Git</category><category>职场</category></item><item><title>不公平！我们组的好绩效只给嫡系</title><link>https://www.charles-cheng.com/blog/%E4%B8%8D%E5%85%AC%E5%B9%B3-%E6%88%91%E4%BB%AC%E7%BB%84%E7%9A%84%E5%A5%BD%E7%BB%A9%E6%95%88%E5%8F%AA%E7%BB%99%E5%AB%A1%E7%B3%BB-f18293</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%B8%8D%E5%85%AC%E5%B9%B3-%E6%88%91%E4%BB%AC%E7%BB%84%E7%9A%84%E5%A5%BD%E7%BB%A9%E6%95%88%E5%8F%AA%E7%BB%99%E5%AB%A1%E7%B3%BB-f18293</guid><description>初入职场，身份将从学生转变成正式的职场人，因为对身份转换的迷茫，所以最近阅读了不少关于职场的博客和书籍。</description><pubDate>Mon, 05 Jun 2023 00:00:00 GMT</pubDate><category>技术</category></item><item><title>一步步带你了解锁底层</title><link>https://www.charles-cheng.com/blog/%E4%B8%80%E6%AD%A5%E6%AD%A5%E5%B8%A6%E4%BD%A0%E4%BA%86%E8%A7%A3%E9%94%81%E5%BA%95%E5%B1%82-a67777</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%B8%80%E6%AD%A5%E6%AD%A5%E5%B8%A6%E4%BD%A0%E4%BA%86%E8%A7%A3%E9%94%81%E5%BA%95%E5%B1%82-a67777</guid><description>`Go`语言中的`sync`包主要提供的对并发操作的支持，标志性的工具有`cond`（条件变量） `once` (原子性) 还有 锁，本文会主要向大家介绍`Go`语言中锁的特性和实现。</description><pubDate>Sun, 04 Jun 2023 00:00:00 GMT</pubDate><category>Go</category><category>并发</category></item><item><title>一步步带你了解waitgroup底层</title><link>https://www.charles-cheng.com/blog/%E4%B8%80%E6%AD%A5%E6%AD%A5%E5%B8%A6%E4%BD%A0%E4%BA%86%E8%A7%A3waitgroup%E5%BA%95%E5%B1%82-904cb0</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%B8%80%E6%AD%A5%E6%AD%A5%E5%B8%A6%E4%BD%A0%E4%BA%86%E8%A7%A3waitgroup%E5%BA%95%E5%B1%82-904cb0</guid><description>回顾一下Go的并发控制，其实大概有以下几种控制手段</description><pubDate>Sat, 03 Jun 2023 00:00:00 GMT</pubDate><category>Go</category><category>并发</category></item><item><title>一文搞懂到底什么是云原生</title><link>https://www.charles-cheng.com/blog/%E4%B8%80%E6%96%87%E6%90%9E%E6%87%82%E5%88%B0%E5%BA%95%E4%BB%80%E4%B9%88%E6%98%AF%E4%BA%91%E5%8E%9F%E7%94%9F-aba0e3</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%B8%80%E6%96%87%E6%90%9E%E6%87%82%E5%88%B0%E5%BA%95%E4%BB%80%E4%B9%88%E6%98%AF%E4%BA%91%E5%8E%9F%E7%94%9F-aba0e3</guid><description>近年来微服务与云原生、CI/CD这些概念被炒得很火，多数应用都会说自己利用了“云”资源，是一个云原生架构的应用。那么云原生到底是什么呢，或者说使用了什么样的技术的应用才能被称之为云原生应用呢？</description><pubDate>Tue, 02 May 2023 00:00:00 GMT</pubDate><category>云原生</category><category>微服务</category></item><item><title>一文带你理解什么是分布式事务</title><link>https://www.charles-cheng.com/blog/%E4%B8%80%E6%96%87%E5%B8%A6%E4%BD%A0%E7%90%86%E8%A7%A3%E4%BB%80%E4%B9%88%E6%98%AF%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1-2e598f</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/%E4%B8%80%E6%96%87%E5%B8%A6%E4%BD%A0%E7%90%86%E8%A7%A3%E4%BB%80%E4%B9%88%E6%98%AF%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1-2e598f</guid><description>之前在朋友圈看到有大佬推荐《微服务系统架构》一书，陆陆续续花了数个月阅读完成，是一本非常值得后端开发人员阅读的书籍，里面从分布式开始，一直讲到微服务架构，分布式一致性，分布式事务，虚拟化，事件溯源开发等等，有兴趣的朋友可以买来看看。</description><pubDate>Mon, 01 May 2023 00:00:00 GMT</pubDate><category>分布式</category><category>微服务</category><category>职场</category></item><item><title>vue学习笔记</title><link>https://www.charles-cheng.com/blog/vue%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-2bca6e</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/vue%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0-2bca6e</guid><description>在你给出的代码中，`:key=&quot;item.id&quot;`是为Vue的列表渲染指令`v-for`提供一个唯一的键（key）。这个键用于追踪每个节点的身份，从而进行高效的列表更新。</description><pubDate>Fri, 28 Apr 2023 00:00:00 GMT</pubDate><category>前端</category></item><item><title>queryset和list区别</title><link>https://www.charles-cheng.com/blog/querysetlist</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/querysetlist</guid><description>在编程中，特别是在使用Django框架时，`queryset`和`list`这两个概念经常被提到，它们各自有不同的特点和用途：</description><pubDate>Thu, 27 Apr 2023 00:00:00 GMT</pubDate><category>Python</category><category>数据库</category></item><item><title>limit与分页键</title><link>https://www.charles-cheng.com/blog/limit%E4%B8%8E%E5%88%86%E9%A1%B5%E9%94%AE-cea229</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/limit%E4%B8%8E%E5%88%86%E9%A1%B5%E9%94%AE-cea229</guid><description>查询数据库偏移量的数据，或者查询分页的数据是很常见的需求，本文会介绍一些常用的查询方法。</description><pubDate>Wed, 26 Apr 2023 00:00:00 GMT</pubDate><category>数据库</category></item><item><title>js笔记</title><link>https://www.charles-cheng.com/blog/js%E7%AC%94%E8%AE%B0-238af6</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/js%E7%AC%94%E8%AE%B0-238af6</guid><description>整理了几个常被混淆的JS基础知识点：数组find与findLast的区别、箭头函数和普通函数在this指向上的差异、拼接字符串的几种写法，以及Promise中then、catch、finally各自的执行时机。</description><pubDate>Sat, 25 Mar 2023 00:00:00 GMT</pubDate><category>技术</category></item><item><title>go.sum是什么</title><link>https://www.charles-cheng.com/blog/gosum%E6%98%AF%E4%BB%80%E4%B9%88-1337f5</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/gosum%E6%98%AF%E4%BB%80%E4%B9%88-1337f5</guid><description>go.sum是Go语言配合go mod使用的一种锁文件，记录了项目所有依赖包的路径、版本和哈希值。本文说明go.sum如何在构建时校验依赖哈希，从而保证项目依赖关系可靠、构建过程可重现。</description><pubDate>Fri, 24 Mar 2023 00:00:00 GMT</pubDate><category>Go</category><category>Git</category><category>并发</category></item><item><title>django</title><link>https://www.charles-cheng.com/blog/django</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/django</guid><description>**Django的开发服务器具有自动重载功能，当你的Python代码有修改，服务器会在一个时间周期后自动重载。** 但是，有一些动作，比如增加文件，不会触发服务器重载，这时就需要你自己手动重启。所以建议，在任何修改代码的操作后，手动重启开发服务器，确保修改的内容被重载。</description><pubDate>Thu, 23 Feb 2023 00:00:00 GMT</pubDate><category>Go</category><category>Python</category><category>数据库</category></item><item><title>curl入门</title><link>https://www.charles-cheng.com/blog/curl%E5%85%A5%E9%97%A8-d96317</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/curl%E5%85%A5%E9%97%A8-d96317</guid><description>curl是常用的命令行请求工具，功能强大到能替代Postman一类的图形化HTTP客户端。本文从最基础的GET请求讲起，解释裸域名和带www域名返回结果不同的原因，再逐一介绍保存网页、自动重定向、查看请求头、POST表单等常用参数。</description><pubDate>Wed, 22 Feb 2023 00:00:00 GMT</pubDate><category>Git</category></item><item><title>Python进阶技巧二三事（十一)</title><link>https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E5%8D%81%E4%B8%80-8479b5</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E5%8D%81%E4%B8%80-8479b5</guid><description>python内置的字典类型可以保存某个对象的动态内部状态，我们定义了字典之后可以手动的为这个字典添加/删除元素。</description><pubDate>Tue, 21 Feb 2023 00:00:00 GMT</pubDate><category>Python</category><category>并发</category></item><item><title>Python进阶技巧二三事（十)</title><link>https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E5%8D%81-598670</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E5%8D%81-598670</guid><description>脚本第一行的shebang如何告诉系统该用哪个解释器执行代码？本文从shebang和编码声明讲起，说明__init__.py在Python 2和3中的不同作用，再引出用装饰器给函数附加前后置逻辑的写法。</description><pubDate>Fri, 20 Jan 2023 00:00:00 GMT</pubDate><category>Python</category></item><item><title>Python进阶技巧二三事（六）：字典解包与外键</title><link>https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E5%85%AD-%E5%AD%97%E5%85%B8%E8%A7%A3%E5%8C%85%E4%B8%8E%E5%A4%96%E9%94%AE-420552</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E5%85%AD-%E5%AD%97%E5%85%B8%E8%A7%A3%E5%8C%85%E4%B8%8E%E5%A4%96%E9%94%AE-420552</guid><description>在我们的开发过程中，会碰到这种场景：**在查询的时候不明确查询的字段，如果上层传递或参数不为空，就需要将这个参数作为查询字段传入** ，在`Go`这种静态语言中通常是通过拼接`sql`，或者动态修改`orm`的查询参数来实现这个功能的；而`Python`这种动态语言自带了一种解决方法，那就是`kwa</description><pubDate>Thu, 19 Jan 2023 00:00:00 GMT</pubDate><category>Go</category><category>Python</category></item><item><title>Python进阶技巧二三事（八)</title><link>https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E5%85%AB-57d839</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E5%85%AB-57d839</guid><description>Python提供了一种把序列切成小块的写法，语法是`somlist[start:end]`，遵循左闭右开原则，start的元素在结果之中，end的元素在结果之外。同样我们也可以使用负数来倒取切片，这也是被推荐的切片方式。</description><pubDate>Sun, 18 Dec 2022 00:00:00 GMT</pubDate><category>Python</category></item><item><title>Python进阶技巧二三事（五）：PEP8之必须遵守的规范</title><link>https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E4%BA%94-pep8%E4%B9%8B%E5%BF%85%E9%A1%BB%E9%81%B5%E5%AE%88%E7%9A%84%E8%A7%84%E8%8C%83-24c74a</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E4%BA%94-pep8%E4%B9%8B%E5%BF%85%E9%A1%BB%E9%81%B5%E5%AE%88%E7%9A%84%E8%A7%84%E8%8C%83-24c74a</guid><description>链接http://www.python.org/dev/peps/pep0008，建议每位python开发者都自己看一遍规则详情，下面列出几条绝对应该遵守的规则。</description><pubDate>Sat, 17 Dec 2022 00:00:00 GMT</pubDate><category>Python</category></item><item><title>Python进阶技巧二三事（九)</title><link>https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E4%B9%9D-c6da26</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E4%B9%9D-c6da26</guid><description>部署环境指的是程序在运行的时候所用的一套配置，每个程序至少都会有一种部署环境，这就是生产环境。同样的，我们需要再开发机运行代码，这套环境的具体配置可能和生产环境有很大区别，所以通常情况下还需要额外和生产环境做一个区分环境，也就是开发环境或者是测试环境。</description><pubDate>Fri, 16 Dec 2022 00:00:00 GMT</pubDate><category>容器</category><category>Python</category><category>数据库</category></item><item><title>Python进阶技巧二三事（七）：字符串、python版本控制、</title><link>https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E4%B8%83-%E5%AD%97%E7%AC%A6%E4%B8%B2python%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6-685bc5</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E4%B8%83-%E5%AD%97%E7%AC%A6%E4%B8%B2python%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6-685bc5</guid><description>Python2中有两种表示字符序列的类型，分别是str和unicode，str的实例的每个元素包含原始的8位二进制码，而unicode的实例，则包含Unicode字符。</description><pubDate>Tue, 15 Nov 2022 00:00:00 GMT</pubDate><category>Python</category></item><item><title>Python进阶技巧二三事(四) all 与高级查询</title><link>https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E5%9B%9B-all-%E4%B8%8E%E9%AB%98%E7%BA%A7%E6%9F%A5%E8%AF%A2-d64e7e</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E5%9B%9B-all-%E4%B8%8E%E9%AB%98%E7%BA%A7%E6%9F%A5%E8%AF%A2-d64e7e</guid><description>在python中，`__all__ `是一个特殊的变量，用于定义模块的公开接口。它是一个包含字符串的列表，指定了在使用 from module import * 语句时，应该导入哪些名称。通过定义 `__all__`，你可以明确控制模块的导出接口，限制哪些名称在` from module impor</description><pubDate>Mon, 14 Nov 2022 00:00:00 GMT</pubDate><category>Python</category></item><item><title>Python进阶技巧二三事(二) 继承与取值</title><link>https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E4%BA%8C-%E7%BB%A7%E6%89%BF%E4%B8%8E%E5%8F%96%E5%80%BC-894e70</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E4%BA%8C-%E7%BB%A7%E6%89%BF%E4%B8%8E%E5%8F%96%E5%80%BC-894e70</guid><description>`Python`是一门纯面向对象的语言，面向对象的三大特征相信大家都已经听烂了，那就是：继承、多态、封装。和`Go`语言这种类`c`的语言不一样，`Go`是通过结构体组合的方式实现继承的，而`Python`则是完完全全的直接继承基类，和`Php`的`extend`有异曲同工之妙。</description><pubDate>Thu, 13 Oct 2022 00:00:00 GMT</pubDate><category>Go</category><category>Python</category></item><item><title>Python进阶技巧二三事(三) Django语法糖</title><link>https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E4%B8%89-django%E8%AF%AD%E6%B3%95%E7%B3%96-98140d</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E4%B8%89-django%E8%AF%AD%E6%B3%95%E7%B3%96-98140d</guid><description>Django查询中的prefetch_related方法能在一对多、多对多关系场景下减少数据库查询次数、提升性能，本文讲解它的作用与适用场景，并顺带说明PostgreSQL和MySQL在类型匹配上的差异，以及as_view的作用。</description><pubDate>Wed, 12 Oct 2022 00:00:00 GMT</pubDate><category>Python</category><category>数据库</category></item><item><title>Python进阶技巧二三事(一)： 常见的装饰器</title><link>https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E4%B8%80-%E5%B8%B8%E8%A7%81%E7%9A%84%E8%A3%85%E9%A5%B0%E5%99%A8-e4b37b</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/python%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7%E4%BA%8C%E4%B8%89%E4%BA%8B-%E4%B8%80-%E5%B8%B8%E8%A7%81%E7%9A%84%E8%A3%85%E9%A5%B0%E5%99%A8-e4b37b</guid><description>`classmethod`是`python`中的一个装饰器，它的作用是：无需创建类的实例，就能够使用类的方法。很典型的一个使用就是</description><pubDate>Tue, 11 Oct 2022 00:00:00 GMT</pubDate><category>Python</category></item><item><title>Prometheus存储拓展</title><link>https://www.charles-cheng.com/blog/prometheus</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/prometheus</guid><description>`Prometheus`可以监控各种不同类型的应用、服务和基础设施。但是它自身也存在着一些瓶颈和问题，比如默认存储方案是使用内置的时序数据库`TSDB`进行数据存储，这在数据量、采集量偏大的时候往往是性能不够的。</description><pubDate>Sat, 10 Sep 2022 00:00:00 GMT</pubDate><category>K8S</category><category>容器</category><category>监控</category></item><item><title>Mac快捷键帮助提升效率</title><link>https://www.charles-cheng.com/blog/mac%E5%BF%AB%E6%8D%B7%E9%94%AE%E5%B8%AE%E5%8A%A9%E6%8F%90%E5%8D%87%E6%95%88%E7%8E%87-2a4c24</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/mac%E5%BF%AB%E6%8D%B7%E9%94%AE%E5%B8%AE%E5%8A%A9%E6%8F%90%E5%8D%87%E6%95%88%E7%8E%87-2a4c24</guid><description>短按中/英键为切换输入法，长按则为切换大小写，同时control+ space 也是切换输入法。</description><pubDate>Fri, 09 Sep 2022 00:00:00 GMT</pubDate><category>技术</category></item><item><title>K8S 调度器与Pod调度</title><link>https://www.charles-cheng.com/blog/k8s-%E8%B0%83%E5%BA%A6%E5%99%A8%E4%B8%8Epod%E8%B0%83%E5%BA%A6-9f5131</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/k8s-%E8%B0%83%E5%BA%A6%E5%99%A8%E4%B8%8Epod%E8%B0%83%E5%BA%A6-9f5131</guid><description>`kube-scheduler`是k8s的核心组件之一，负责整个集群资源的调度功能。</description><pubDate>Mon, 08 Aug 2022 00:00:00 GMT</pubDate><category>K8S</category></item><item><title>JavaScript学习笔记</title><link>https://www.charles-cheng.com/blog/javascript</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/javascript</guid><description>JavaScript是一种嵌在浏览器中执行的脚本语言，目的是让静态页面能够变得“响应式”。譬如点一个按钮能够触发某些事件、对于某些输入进行限制、保存的时候进行表单校验等等，都隶属于JS的功能范围。</description><pubDate>Sun, 07 Aug 2022 00:00:00 GMT</pubDate><category>前端</category></item><item><title>HPA详解</title><link>https://www.charles-cheng.com/blog/hpa%E8%AF%A6%E8%A7%A3-8c1284</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/hpa%E8%AF%A6%E8%A7%A3-8c1284</guid><description>HPA是Pod水平自动扩缩Horizontal Pod Autoscaler的简称，可以基于多指标，比如CPU利用率、内存利用率等自动扩缩ReplicationController Deployment ReplicaSet 和 StatefulSet这些工作负载中的Pod数量，当然，它不能作用于无</description><pubDate>Sat, 06 Aug 2022 00:00:00 GMT</pubDate><category>K8S</category><category>职场</category></item><item><title>Go语言模糊测试</title><link>https://www.charles-cheng.com/blog/go%E8%AF%AD%E8%A8%80%E6%A8%A1%E7%B3%8A%E6%B5%8B%E8%AF%95-0b373e</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/go%E8%AF%AD%E8%A8%80%E6%A8%A1%E7%B3%8A%E6%B5%8B%E8%AF%95-0b373e</guid><description>在Go 1.18开始提供了Fuzzing能力的支持，testing包在我们常见的T B类型之外新增了F的类型，用于支持模糊测试。</description><pubDate>Tue, 05 Jul 2022 00:00:00 GMT</pubDate><category>Go</category></item><item><title>Go如何解析不定JSON数据</title><link>https://www.charles-cheng.com/blog/go%E5%A6%82%E4%BD%95%E8%A7%A3%E6%9E%90%E4%B8%8D%E5%AE%9Ajson%E6%95%B0%E6%8D%AE-b7f004</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/go%E5%A6%82%E4%BD%95%E8%A7%A3%E6%9E%90%E4%B8%8D%E5%AE%9Ajson%E6%95%B0%E6%8D%AE-b7f004</guid><description>在开发中常常会碰到很多JSON类型的数据进行交互，而其中有很多JSON数据你是不能确定它的字段和结构的，而Go语言是一门静态强类型的语言，在进行JSON解析的时候必须要确定字段的类型，定义出对应的结构体，然后再进行Unmarshal，那这二者之间的冲突我们该如何解决呢？</description><pubDate>Mon, 04 Jul 2022 00:00:00 GMT</pubDate><category>Go</category><category>前端</category></item><item><title>Go云原生与微服务学习三</title><link>https://www.charles-cheng.com/blog/go%E4%BA%91%E5%8E%9F%E7%94%9F%E4%B8%8E%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%AD%A6%E4%B9%A0%E4%B8%89-8f305d</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/go%E4%BA%91%E5%8E%9F%E7%94%9F%E4%B8%8E%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%AD%A6%E4%B9%A0%E4%B8%89-8f305d</guid><description>metadata是指在处理RPC请求和响应过程中需要但又不属于具体业务的信息，比如身份验证等详细信息，metadata采用的是`key-value`的键值对形式，其中键是string类型，值通常是[]string类型。有点类似于我们的HTTP headers中的键值对，通常来说metadata可以包</description><pubDate>Fri, 03 Jun 2022 00:00:00 GMT</pubDate><category>云原生</category><category>Go</category><category>微服务</category></item><item><title>Git高级——忽略文件的几种方式</title><link>https://www.charles-cheng.com/blog/git%E9%AB%98%E7%BA%A7%E5%BF%BD%E7%95%A5%E6%96%87%E4%BB%B6%E7%9A%84%E5%87%A0%E7%A7%8D%E6%96%B9%E5%BC%8F-a0df5c</link><guid isPermaLink="true">https://www.charles-cheng.com/blog/git%E9%AB%98%E7%BA%A7%E5%BF%BD%E7%95%A5%E6%96%87%E4%BB%B6%E7%9A%84%E5%87%A0%E7%A7%8D%E6%96%B9%E5%BC%8F-a0df5c</guid><description>首先我们创建一个`git-learn`目录，通过`git init`来初始化`git`仓库。</description><pubDate>Thu, 02 Jun 2022 00:00:00 GMT</pubDate><category>Git</category><category>职场</category></item></channel></rss>