
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>Agile Robin</title>
      <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog</link>
      <description>Robin 的技术博客：AI、软件工程、DevOps、可观测性，以及 Home Lab 折腾记录。</description>
      <language>zh-cn</language>
      <managingEditor> (Robin)</managingEditor>
      <webMaster> (Robin)</webMaster>
      <lastBuildDate>Tue, 20 Oct 2026 00:00:00 GMT</lastBuildDate>
      <atom:link href="https://agile-robin-blog-robinjiangs-projects.vercel.app/feed.xml" rel="self" type="application/rss+xml"/>
      
  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/agentic-design-patterns-sierra</guid>
    <title>从《Agentic Design Patterns》到 Sierra 的按结果付费：AI Agent 正在进入落地加速期</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/agentic-design-patterns-sierra</link>
    <description>Google 的《Agentic Design Patterns》把 Agent 工程装进了 21 个模式的工具箱，而 Sierra 的按结果付费模式把&quot;谁来为失败的 Agent 买单&quot;这个商业问题回答了：技术方法和商业模式同时成熟，是 AI Agent 落地加速的信号。</description>
    <pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>AI</category><category>Agent</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/ai-agent-memory-human-brain</guid>
    <title>AI Agent 记忆系统：从人类大脑那里学到的设计课</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/ai-agent-memory-human-brain</link>
    <description>大语言模型没有记忆，会话一关就&quot;失忆&quot;。从一篇把 Agent 记忆系统按人类大脑结构设计的实战文章出发，聊聊短期记忆、长期记忆、编码巩固提取这套映射哪些是真管用、哪些是坑，再结合 mem0 和 Claude Code 的做法，给出可落地的记忆系统设计建议。</description>
    <pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>AI</category><category>Agent</category><category>记忆</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/counselling-for-toads-reading-notes</guid>
    <title>《蛤蟆先生去看心理医生》读书笔记：给工程师的情绪管理课</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/counselling-for-toads-reading-notes</link>
    <description>一本英国畅销二十多年的心理咨询入门书，用蛤蟆先生与咨询师苍鹭的十次面谈讲清三种自我状态与人生坐标。读给每一个被 on-call、排期和情绪内耗折磨的工程师：情绪不是 bug，是日志，读懂它才修得好。</description>
    <pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>读书笔记</category><category>自我成长</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/docker-agent</guid>
    <title>docker-agent：当 Agent 也能被 docker run——看懂 Docker 的开源 Agent 引擎</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/docker-agent</link>
    <description>Docker 官方开源的 docker-agent 把 AI Agent 做成了 YAML 声明、OCI 分发的&quot;容器式&quot;制品：一个 agent.yaml 定义一支 Agent 小队，docker agent run 拉起来就跑。它是 Gordon 底下的引擎，也是容器厂商切入 Agent 赛道最顺理成章的一步。</description>
    <pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>AI</category><category>Agent</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/github-open-source-projects-summary-2026-10-10</guid>
    <title>GitHub 开源项目仓库汇总（2026-10-10 更新）</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/github-open-source-projects-summary-2026-10-10</link>
    <description>本期新增 34 个项目：Agent 技能与 harness 生态大爆发占据半壁江山，记忆系统、单卡推理、Iceberg 实时分析各有硬货，星数均为抓取快照。</description>
    <pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>GitHub</category><category>开源周报</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/gitlab-bitnami-1123-rescue</guid>
    <title>坏盘上的 GitLab：一次 Bitnami 11.2.3 数据抢救实录</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/gitlab-bitnami-1123-rescue</link>
    <description>一台跑了多年的 Bitnami GitLab 11.2.3，底层物理盘出现坏道：拷虚拟磁盘直接 I/O error，快照和数据躺在同一块坏盘上，官方旧版安装包早已全网下线。这篇文章记录抢救现场的判断顺序——先讲危险线，再讲步骤——和一份只收录已确认操作的恢复流程。</description>
    <pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>GitLab</category><category>运维</category><category>数据恢复</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/system-design-interview-alex-xu</guid>
    <title>《系统设计面试》（第 2 卷）读书笔记：大规模系统设计的方法论</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/system-design-interview-alex-xu</link>
    <description>读完 Alex Xu《系统设计面试》第 2 卷后，梳理了书中&quot;五步法&quot;解题框架、背信封估算和消息队列/缓存章节的核心要点，并结合实际工作谈如何把这套方法论用在日常架构决策里。</description>
    <pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>系统设计</category><category>读书笔记</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/github-open-source-projects-summary-2026-10-03</guid>
    <title>GitHub 开源项目仓库汇总（2026-10-03 更新）</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/github-open-source-projects-summary-2026-10-03</link>
    <description>从本周 79 个抓取素材里精选 14 个硬核项目：Agent 技能框架、跨会话记忆、无向量 RAG、GPU 内核 DSL 等，一句话定位加星数快照，赛道全覆盖。</description>
    <pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>GitHub</category><category>开源周报</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/iot-search-engines-newapi-sub2api-discovery</guid>
    <title>用 FOFA/Shodan 找全网 new-api：中转站资源探索实战</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/iot-search-engines-newapi-sub2api-discovery</link>
    <description>把 8 家网络空间搜索引擎的 API 接进 Cloudflare Worker，用预置指纹语句找全网 new-api/sub2api 实例，再一键探活去重。</description>
    <pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>AI</category><category>Cloudflare</category><category>安全</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/dataops-02-data-quality-gates-great-expectations</guid>
    <title>DataOps 第二集：数据质量门禁——Great Expectations 实战</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/dataops-02-data-quality-gates-great-expectations</link>
    <description>一张满减券的结算金额变成负数，系统倒贴钱发了三小时补贴——没人报错，因为数据不会自己尖叫。这一集把 Great Expectations 接进管道，用 Expectation Suite 加 Checkpoint 做质量门禁，把上下游的数据约定写成可执行的测试。</description>
    <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>DataOps</category><category>Great Expectations</category><category>数据工程</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/dataops-03-data-observability-lineage-metrics</guid>
    <title>DataOps 第三集：数据可观测性——从指标到血缘</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/dataops-03-data-observability-lineage-metrics</link>
    <description>开篇里上游改字段名、ETL 静默写 NULL 的惨案不会自己消失。本篇讲数据可观测性的五大支柱（新鲜度、分布、数据量、schema、血缘），怎么用 Prometheus 搭指标体系、怎么用 OpenLineage + Marquez 落地血缘追踪，以及告警策略的降噪实战。</description>
    <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>DataOps</category><category>可观测性</category><category>数据血缘</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/dataops-04-pipeline-cicd-and-rollback</guid>
    <title>DataOps 第四集：数据管道的 CI/CD 与回滚策略</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/dataops-04-pipeline-cicd-and-rollback</link>
    <description>数据管道最大的风险不是写错 SQL，而是没有纪律地发布它。从一次周五下午的手动上线事故开始，看 Airflow/Dagster 的部署流水线与回滚策略。</description>
    <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>DataOps</category><category>Airflow</category><category>CI/CD</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/dataops-05-testable-pipelines-with-dbt</guid>
    <title>DataOps 第五集：用 dbt 构建可测试的数据管道</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/dataops-05-testable-pipelines-with-dbt</link>
    <description>DataOps 第一季收官：从一句&#39;谁敢改这个存储过程&#39;开始，聊聊 dbt 如何把数据管道变成可版本控制、可测试的软件工程——三层测试体系、Slim CI 与质量门禁，一次讲透。</description>
    <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>DataOps</category><category>dbt</category><category>数据工程</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/repowise-codebase-index-for-ai-agents</guid>
    <title>repowise：给仓库建本地索引，让 Agent 的工具调用砍掉近一半</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/repowise-codebase-index-for-ai-agents</link>
    <description>repowise 把代码依赖、git 历史、测试、文档、架构决策一次性建成可查询的本地索引，通过 10 个任务型 MCP 工具交给 Claude Code、Codex、Cursor：实测 Agent 工具调用从 7.2 次降到 3.8 次，输出减少 31.6%，全程不需要 API Key。</description>
    <pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>AI</category><category>DevOps</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/ai-coding-assistants-compared-2026</guid>
    <title>AI Coding 助手横评：Claude Code、opencode、OpenClaw 怎么选</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/ai-coding-assistants-compared-2026</link>
    <description>博客开源周报里霸榜小半年的三个名字：Claude Code、opencode、OpenClaw。形态完全不同，很多人问“装哪个”，这篇一次讲清。</description>
    <pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>AI</category><category>Claude Code</category><category>开发者工具</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/ai-relay-stations-review-2026</guid>
    <title>AI 中转站测评：23 个公益站实测分档，附官方免费档与自建网关方案</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/ai-relay-stations-review-2026</link>
    <description>基于 23 个公益 AI 中转站的注册门槛、免费额度、模型覆盖与探活数据实测分档：哪些能直接用、哪些先占位、哪些该避坑。Home Lab 玩家的终极答案是自建网关聚合上游。</description>
    <pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>AI</category><category>Home Lab</category><category>API</category><category>测评</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/claude-code-refactoring-ui-skill</guid>
    <title>当 Claude 读完《Refactoring UI》：让 AI 摆脱程序员审美</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/claude-code-refactoring-ui-skill</link>
    <description>refactoring-ui-skill 把《Refactoring UI》的硬性规则编码成 Claude Code 的插件技能：不再凭感觉写 CSS，而是在预设的比例尺里做选择。AI 做设计的进化方向，可能不是创造力，而是对方法论的像素级执行。</description>
    <pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>AI</category><category>Claude Code</category><category>前端</category><category>设计</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/dataops-01-pipelines-like-software</guid>
    <title>DataOps 开篇：当数据管道开始“像软件一样”交付</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/dataops-01-pipelines-like-software</link>
    <description>凌晨三点老板贴出的 GMV 报表少了整整一个零——上游改了个字段名，ETL 静默地把一列全写成了 NULL。DataOps 就是要把 DevOps 的工程化纪律，系统地应用到数据管道上。</description>
    <pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>DataOps</category><category>dbt</category><category>数据工程</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/github-open-source-projects-summary-2026-04-25</guid>
    <title>GitHub 开源项目仓库汇总（2026-04-25 更新）</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/github-open-source-projects-summary-2026-04-25</link>
    <description>GitHub 开源项目仓库汇总（2026-04-25 更新）  数据来源：IMA 知识库 GitHub 相关内容整理 | 每周自动更新 本期新增 15 个项目，总计收录 44 个优质开源项目  📊 本周更新亮点 本周新增 15 个项目，重点聚焦 AI Coding 与 MLOps 基础设施：  🤖 AI Coding 全景图：OpenClaw（356K ⭐）、Claude Code（113K ⭐）、opencode（145K ⭐）等领跑赛道 🧠 记忆与持久化：claude-mem（59K ...</description>
    <pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>AI</category><category>Developer Tools</category><category>GitHub</category><category>open source</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/grafana-loki-2x-3x</guid>
    <title>Grafana Loki 版本变更与存储系统升级完全指南（2.x → 3.x）</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/grafana-loki-2x-3x</link>
    <description>前言 Grafana Loki 作为云原生日志聚合的事实标准，在过去几年经历了从 2.0 到 3.5 的巨大演进。其中，存储系统的重构是最核心的变化——从 BoltDB 本地存储到 TSDB Single Store，从大索引文件到 Bloom Filter 加速查询。 本文系统梳理 Loki 各主要版本的变更要点，着重分析存储系统的演进脉络，并提供阿里云 OSS 作为存储后端的完整配置指南。  一、Loki 版本发布概览     版本发布日期生命周期状态关键里程碑    2.02021-03E...</description>
    <pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/migrating-rundeck-from-h2-to-postgresql-a-complete-guide</guid>
    <title>Migrating Rundeck from H2 to PostgreSQL: A Complete Guide</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/migrating-rundeck-from-h2-to-postgresql-a-complete-guide</link>
    <description>If you&#39;ve been running Rundeck with its default H2 embedded database, you&#39;ve probably already hit the wall: slow queries as job history grows, no proper connect…</description>
    <pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>database</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/github-2026-04-18-6</guid>
    <title>GitHub 开源项目仓库汇总（2026-04-18 更新 | 新增 6 项）</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/github-2026-04-18-6</link>
    <description>GitHub 开源项目仓库汇总（2026-04-18 更新）  数据来源：IMA 知识库 GitHub 相关内容整理 | 每周自动更新 本期新增 6 个项目，总计收录 29 个优质开源项目  📊 本周更新亮点 本周新增 6 个项目，包括：  AI Coding 多 Agent 协调平台 multica（本周 +5,362 stars） AI 持久记忆框架 MemPalace（43k+ stars） AI 编码工作流编排器 Archon（17k+ stars） 全场景具身机器人数据集 AGIBO...</description>
    <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>AI</category><category>GitHub</category><category>open source</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/python-10-ai-2026</guid>
    <title>Python 工具生态全景图：10+ 必备库与 AI 代理工具汇总（2026）</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/python-10-ai-2026</link>
    <description>本文整理自个人 IMA 知识库，汇总了近期收藏的 Python 工具、库与相关插件，作为个人 Python 工具生态的中央索引。</description>
    <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>AI</category><category>Python</category><category>tools</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/python-tools-ima</guid>
    <title>📦 Python Tools 知识库汇总 - 从 IMA 知识库梳理的实用工具</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/python-tools-ima</link>
    <description>本文是从 IMA 个人知识库中梳理出的 Python 相关工具和库，涵盖网络请求、数据处理、可视化等多个领域。</description>
    <pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/the-full-landscape-of-observability-history-present-and-future</guid>
    <title>The Full Landscape of Observability: History, Present, and Future</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/the-full-landscape-of-observability-history-present-and-future</link>
    <description>Preface: Why \&quot;Monitoring\&quot; Is No Longer Enough</description>
    <pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>cloud native</category><category>Devops</category><category>observability</category><category>OpenTelemetry</category><category>SRE</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/python-pycryptodome-aes</guid>
    <title>python 使用pycryptodome 进行AES 加密解密操作</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/python-pycryptodome-aes</link>
    <description>在Python中，你可以使用pycryptodome库来进行AES加密和解密。首先，你需要安装这个库：</description>
    <pubDate>Wed, 14 Aug 2024 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>pycryptodome</category><category>Python</category><category>aes</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/sonarqube-community-with-branch-plugins</guid>
    <title>Sonarqube community with Branch</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/sonarqube-community-with-branch-plugins</link>
    <description>为sonarqube开源版本增加多分支支持 插件地址 项目地址：https://github.com/mc1arke/sonarqube-community-branch-plugin 下载地址：https://github.com/mc1arke/sonarqube-community-branch-plugin/releases wget https://github.com/mc1arke/sonarqube-community-branch-plugin/releases/downloa...</description>
    <pubDate>Sun, 04 Feb 2024 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>sonarqube</category><category>Sonar Systems Market</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/sourcetree</guid>
    <title>sourcetree 卡顿优化</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/sourcetree</link>
    <description>如果sourcetree比较卡 执行下面三个命令试试，我今天试了下，感觉好点了。</description>
    <pubDate>Tue, 09 Jan 2024 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>#sourcetreee</category><category>Git</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/create-mongodb-docker</guid>
    <title>Create MongoDB Standalone and Replica Set containers using Docker</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/create-mongodb-docker</link>
    <description>Docker Containers offer easy setup, customization and scalability. In this article, i will walk you through how to use Docker to setup MongoDB standalone and replica set containers within minutes. The article is divided in two parts, the first part i...</description>
    <pubDate>Fri, 29 Dec 2023 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/doc-as-code</guid>
    <title>Documentation as a code</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/doc-as-code</link>
    <description>Documentation is the most critical activity of any product development. The engineer and user experience improve when there is up-to-date Documentation. Most often, in organizations and products, Documentation is an afterthought, and this is not a go...</description>
    <pubDate>Fri, 29 Dec 2023 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/docker-sbom</guid>
    <title>Guide to Software B</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/docker-sbom</link>
    <description>An Software Bill of Materials (SBoM) is a formal record containing the details and supply chain relationships of various components used in building the software. These components, including libraries and modules, can be proprietary or open source,fr...</description>
    <pubDate>Fri, 29 Dec 2023 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/local-home-lab</guid>
    <title>Local Home Lab DNS Setup with DNSMasq and NGINX</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/local-home-lab</link>
    <description>As I explored and set up an increased number of FOSS software using containers(Docker and LXD) and virtual machines(Multipass) in my home lab environment, I realized the difficulty in remembering the different ports the applications and containers ar...</description>
    <pubDate>Fri, 29 Dec 2023 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/mongodb-replicaset-write-concern-read-pref</guid>
    <title>Understanding MongoDB Replicasets and Write Concern - Part 1</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/mongodb-replicaset-write-concern-read-pref</link>
    <description>The way to achieve fault tolerance in MongoDB is through the use of replica sets.</description>
    <pubDate>Fri, 29 Dec 2023 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/mongodb-rs-docker-persistent-volume</guid>
    <title>MongoDB Replicaset with Persistent Volume using Docker Compose</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/mongodb-rs-docker-persistent-volume</link>
    <description>In this article we will see the steps required to create and configure MongoDB replicaset containers on persistent volumes using Docker Compose. Compose was developed to define, configure and spin-up multi-container docker applications with single co...</description>
    <pubDate>Fri, 29 Dec 2023 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/percona-mongo-replicaset-minio</guid>
    <title>How to configure Percona MongoDB Replicaset, Percona Backup Manager, Backup Agent using Docker and perform Replicaset backup, restore usi...</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/percona-mongo-replicaset-minio</link>
    <description>In this blog post, i will walk you through the steps required to containerize Percona Server for MongoDB, Percona Backup Manager, and Agent from source and configure cloud-native S3(Simple Storage Service) compatible distributed object storage MINIO ...</description>
    <pubDate>Fri, 29 Dec 2023 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    <category>MongoDB</category>
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/rest-api-design-rules</guid>
    <title>Understanding REST API Design Rules</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/rest-api-design-rules</link>
    <description>Introduction to REST API REST (Representational State Transfer) is an architectural style for building distributed systems. A Web API conforms to the REST architectural style, called RESTful Web API.  REST APIs are stateless, client-server, cacheable...</description>
    <pubDate>Fri, 29 Dec 2023 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/sharding-mongo-docker</guid>
    <title>Configure Sharding in MongoDB on Docker Containers</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/sharding-mongo-docker</link>
    <description>In my previous blog post, I posted about configuring Replica Set to meet high availability requirements.  In this post, i cover   MongoDB Sharded Cluster Components  Steps to create MongoDB Sharded Cluster using Docker Compose Add Replica Set as a Sh...</description>
    <pubDate>Fri, 29 Dec 2023 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/cstring</guid>
    <title>C#中是否可以继承String类?</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/cstring</link>
    <description>C#中是否可以继承String类? 答：String类是sealed类故不可以继承。 当对一个类应用 sealed 修饰符时，此修饰符会阻止其他类从该类继承。 在下面的示例中，类 HoverTree 从类 Keleyi 继承，但是任何类都不能从类 HoverTree 继承。 class Keleyi {}  sealed class HoverTree : Keleyi {} 还可以在重写基类中的虚方法或虚属性的方法或属性上使用 sealed 修饰符。 这将使您能够允许类从您的类继承，并防止它们...</description>
    <pubDate>Mon, 13 Apr 2020 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/paper-2020</guid>
    <title>《如何阅读一本书》读书笔记:关于Paper的阅读-2020年版</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/paper-2020</link>
    <description>如何阅读一本书  如何阅读一本书作者: [美] 莫提默·J. 艾德勒 / 查尔斯·范多伦 出版社: 商务印书馆 原作名: How to Read a Book 译者: 郝明义 / 朱衣 出版年: 2004-1 页数: 376 定价: 38.00元 装帧: 平装 ISBN: 9787100040945  最近一直在读分布相关的paper，毕业好多年，分布式的领域水真的太深了~，然后读paper各种卡壳，没办法重新翻出这本经典稳固一遍，然后根据stanford的文献整理了这篇博客 how-to-re...</description>
    <pubDate>Tue, 10 Mar 2020 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/wyamdotnet</guid>
    <title>wyam:基于dotnet的静态内容生成器</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/wyamdotnet</link>
    <description>vps到期了，然后疫情原因，一直没时间去管，去续费的时候才发现之前写的东西全丢了，现在只能挨个找之前的备份，痛定思痛，准备找个大概率不会挂机的服务商了，然后就盯上了github-page,用于托管点博客是够了，而且咱这种也不靠博客盈利的，纯粹就是找个垃圾桶写文章而已，够了够了 劝退指南，目前作者团队已经放弃wyam去开发另外一个项目了statiq,也是一个静态内容生成器，目前该项目还不完整，demo都还不完善 目前本博就是基于wyam的，如果需要demo的话，可以去这里看   本博客 https...</description>
    <pubDate>Tue, 10 Mar 2020 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/aspnet-core</guid>
    <title>Asp.net Core 管道模型和中间件</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/aspnet-core</link>
    <description>请求进入ASP.NET 工作进程后，由进程创建HttpWorkRequest 对象，封装此次请求有关的所有信息，然后进入HttpRuntime 类进行进一步的处理。HttpRuntime 通过请求信息创建HttpContext 上下文对象，此对象将贯穿整个管道，直到响应结束。同时创建或从应用程序池里初始化一个HttpA…</description>
    <pubDate>Sun, 22 Dec 2019 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/aspnetcore</guid>
    <title>AspNetCore启动流程概述</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/aspnetcore</link>
    <description>aspnetcore 应用程序，是一个拥有内置的Self-hosted的WebServer,用于处理外部请求。大部分情况下以控制台应用的方式实现子托管（Self-Hosted）。 相对于传统的aspnet 提供的大而全的设计，aspnetcore以最小化抽象设计为原则，以扩展(中间件)方式提供的易用性扩展来实现更高程度的按需使用。 在ASP.NET Core应用中通过配置并启动一个Host来完成应用程序的启动和其生命周期的管理。而Host的主要的职责就是Web Server的配置和Pilpeli...</description>
    <pubDate>Sat, 21 Dec 2019 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/mailkit-mimekit</guid>
    <title>使用mailkit 和mimekit来发送邮件</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/mailkit-mimekit</link>
    <description>mailkit和mimekit 是什么  What is MailKit? MailKit is a cross-platform mail client library built on top of MimeKit. What is MimeKit? MimeKit is a C# library which may be used for the creation and parsing of messages using the Multipurpose Internet Mail Ex...</description>
    <pubDate>Thu, 24 Oct 2019 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/redis</guid>
    <title>redis十问</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/redis</link>
    <description>1. Redis为什么这么快 1、完全基于内存，绝大部分请求是纯粹的内存操作，非常快速。数据存在内存中，类似于HashMap，HashMap的优势就是查找和操作的时间复杂度都是O(1)； 2、数据结构简单，对数据操作也简单，Redis中的数据结构是专门进行设计的； 3、采用单线程，避免了不必要的上下文切换和竞争条件，也不存在多进程或者多线程导致的切换而消耗 CPU，不用去考虑各种锁的问题，不存在加锁释放锁操作，没有因为可能出现死锁而导致的性能消耗； 4、使用多路I/O复用模型，非阻塞IO； 5、...</description>
    <pubDate>Mon, 06 May 2019 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/55sf5oiq546v5akd55qe6iul5bmy5pel5bx5a6e6le1</guid>
    <title>生成环境的若干日志实践</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/55sf5oiq546v5akd55qe6iul5bmy5pel5bx5a6e6le1</link>
    <description>只记录你需要的日志数据； 关于日志数据数据中的敏感信息记录问题，账户名可以保留，但银行卡/密码等敏感信息，必须要在源头过滤掉，严禁在日志生成后使用文本处理的方式处理这些字段。推荐的方式是使用日志模板+关键字过滤的方式来在开发阶段就将这些不规范的日志暴露出来。 生产环境的日志应该需要包含你的业务细节，而不是流水线日志。如果你的开发框架支持AOP拦截日志的话，先确定你知道如何在生产环境中关闭这些日志，大部分情况下，AOP日志有且仅用于开发环境的debug，生产环境如果用这种方式记录日志的话，那么大部...</description>
    <pubDate>Thu, 20 Dec 2018 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/gitlab-cipowershell</guid>
    <title>gitlab ci与Powershell 乱码</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/gitlab-cipowershell</link>
    <description>存在多种情况下的乱码，应用级别的乱码和控制台乱码 应用级别的乱码类似如下：  error MSB1009: ��Ŀ�ļ������ڡ�  这类需要配置应用的中文输出  修改cmd的代码页即可。 一种方法是在cmd的属性中修改默认代码页为437，第二种是用chcp 437命令修改。 不过这两种解决方法的副作用是msbuild的输出会变为英文。 更好的解决方法暂时还没倒腾出来。  第二种，控制台乱码，这个难治，而且原因千奇百怪 参考方案如下： 解决windowspowershell中文显示问号及乱码...</description>
    <pubDate>Fri, 11 Aug 2017 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/gelf</guid>
    <title>Gelf日志格式漫谈</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/gelf</link>
    <description>什么是GELF Graylog扩展日志格式（GELF）是一种日志格式。  Structured events from anywhere. Compressed and chunked. The Graylog Extended Log Format (GELF) is a log format that avoids the shortcomings of classic plain syslog:  Limited to length of 1024 bytes – Not much spa...</description>
    <pubDate>Mon, 12 Jun 2017 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/5oq96lgh5pel5bx57ue5lu2</guid>
    <title>抽象日志组件</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/5oq96lgh5pel5bx57ue5lu2</link>
    <description>本篇是基于Liblog 的结构分析，同时我提倡在非netcore项目中使用此类库，正常情况下只需要在基础组件库中生成单个文件即可，同时一次安装，终身有效。</description>
    <pubDate>Wed, 10 May 2017 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/metricstracinglogging</guid>
    <title>关于Metrics，Tracing和Logging</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/metricstracinglogging</link>
    <description>这是一篇翻译文章 Peter Bourgon 原作： Metrics, tracing, and logging  今天，我很荣幸的参加了 2017 分布式追踪峰会(2017 Distributed Tracing Summit)， 并和来自 AWS/X-Ray, OpenZipkin, OpenTracing, Instana, Datadog, Librato，以及其他更多组织的同仁进行了愉快的沟通和讨论。 其中一个重要的论点，是针对监控项目的范围和定义的。作为一个分布式追踪系统，应该管理日...</description>
    <pubDate>Wed, 12 Apr 2017 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/redis-1</guid>
    <title>关于redis分布式锁入门</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/redis-1</link>
    <description>原理 单一实例下：使用setnx命令(在key不存在时,创建并设置value 返回1,key存在时,会返回0)来获取锁。 应用 以扣库存为例，使用锁能够有效保证不会被超卖；  基础版方案：数据库锁 SELECT stock from goods where ID =1 for update; update  goods set stock=stock-1 where id=1 and stock=10 // 正常情况下看你业务需求，如果能够在落库前确认库存的话，上面这句话后面的stock=10能...</description>
    <pubDate>Sat, 06 Aug 2016 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/57si5byv5lyy5yyw5y6f5yiz</guid>
    <title>索引优化原则</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/57si5byv5lyy5yyw5y6f5yiz</link>
    <description>最左前缀匹配原则   联合索引，mysql会从做向右匹配直到遇到范围查询(&gt;、&amp;lt;、between、like)就停止匹配，比如a = 1 and b = 2 and c &gt; 3 and d = 4 如果建立(a,b,c,d)顺序的索引，d是用不到索引的，如果建立(a,b,d,c)的索引则都可以用到，a,b,d的顺序可以任意调整   =和in可以乱序，比如a = 1 and b = 2 and c = 3 建立(a,b,c)索引可以任意顺序，mysql的查询优化器会帮你优化成索引可以识别的形式  索...</description>
    <pubDate>Wed, 13 Jan 2016 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/mysql-1</guid>
    <title>MySQL 执行计划</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/mysql-1</link>
    <description>MySQL提供explain/desc命令输出执行计划，我们通过执行计划优化SQL语句</description>
    <pubDate>Wed, 13 Jan 2016 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/mysql</guid>
    <title>MySQL索引原理</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/mysql</link>
    <description>基本概念 索引的功能就是加速查找 mysql中的primary key，unique，联合唯一也都是索引，这些索引除了加速查找以外，还有约束的功能   常用索引 普通索引INDEX：加速查找 唯一索引： 主键索引PRIMARY KEY：加速查找+约束（不为空、不能重复） 唯一索引UNIQUE:加速查找+约束（不能重复）   联合索引： PRIMARY KEY(id,name):联合主键索引 UNIQUE(id,name):联合唯一索引 INDEX(id,name):联合普通索引     索引的两...</description>
    <pubDate>Wed, 13 Jan 2016 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

  <item>
    <guid>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/mysqlselect-for-update</guid>
    <title>MySQL中select * for update锁表的范围</title>
    <link>https://agile-robin-blog-robinjiangs-projects.vercel.app/blog/mysqlselect-for-update</link>
    <description>由于InnoDB预设是Row-Level Lock，所以只有「明确」的指定主键，MySQL才会执行Row lock (只锁住被选取的资料例) ，否则MySQL将会执行Table Lock (将整个资料表单给锁住)。 举个例子: 假设有个表单products ，里面有id跟name二个栏位，id是主键。 例1: (明确指定主键，并且有此笔资料，row lock) SELECT * FROM products WHERE id=&#39;3&#39; FOR UPDATE; SELECT * FROM produc...</description>
    <pubDate>Wed, 13 Jan 2016 00:00:00 GMT</pubDate>
    <author> (Robin)</author>
    
  </item>

    </channel>
  </rss>
