• Ciff:从零打造一个简化版 Dify — AI Agent 开发与运行平台

    Ciff(Code It For Future)是我独立开发的一个 AI Agent 开发与运行平台,定位为简化版 Dify,面向 20-50 人小团队。支持 Agent 智能助手、知识库 RAG、工作流编排、多模型供应商适配,并提供 Web 界面和 REST API 两种交互方式。

    项目从 2026 年 4 月 13 日启动,到 4 月 25 日完成全部 6 个阶段,历时约两周。后端 Java、前端 Vue 3,借助 AI 编码工具(Claude、Kimi、GLM)完成开发。本文将全面介绍项目的设计思路、技术架构和开发历程。

  • ClaudeCodeRGB:用ESP32给Claude Code做个物理状态灯

    作为一个 Claude Code 重度用户,我经常遇到一个问题:Claude Code 在后台跑着,我切去做别的事,回来一看不知道它跑完了没有。 于是我做了一个小玩意——用 ESP32 开发板 + RGB 灯,做一个物理状态指示灯。绿灯亮着说明空闲,蓝灯闪烁说明正在思考,黄灯闪烁说明在等你确认……一眼就知道该不该切回终端了。

    项目已开源:GitHub - canyuda/ClaudeCodeRGB

  • 索引下推

    • 索引下推(index condition pushdown )简称ICP,在Mysql5.6的版本上推出,用于优化查询。
    • 在不使用ICP的情况下,在使用非主键索引(又叫普通索引或者二级索引)进行查询时,存储引擎通过索引检索到数据,然后返回给MySQL服务器,服务器然后判断数据是否符合条件 。
    • 在使用ICP的情况下,如果存在某些被索引的列的判断条件时,MySQL服务器将这一部分判断条件传递给存储引擎,然后由存储引擎通过判断索引是否符合MySQL服务器传递的条件,只有当索引符合条件时才会将数据检索出来返回给MySQL服务器 。
    • 索引条件下推优化可以减少存储引擎查询基础表的次数,也可以减少MySQL服务器从存储引擎接收数据的次数。
  • Explain详解

    当Explain 与 SQL语句一起使用时,MySQL 会显示来自优化器关于SQL执行的信息。也就是说,MySQL解释了它将如何处理该语句,包括如何连接表以及什么顺序连接表等。

    • 表的加载顺序
    • sql 的查询类型
    • 可能用到哪些索引,哪些索引又被实际使用
    • 表与表之间的引用关系
    • 一个表中有多少行被优化器查询 …
  • 分布式系统(十一)

    而为了确保核心服务的可用性,有时候我们就会故意对那些不重要的服务执行下线操作,从而确保系统中有限的资源都应用到核心服务上。这就引出了在分布式系统构建过程中非常重要的一个技术组件,即服务降级。

    那么,什么是服务降级?又有那些常见的服务降级实现策略呢?

  • 分布式系统(十)

    服务熔断的具体表现形式是熔断器。那么,熔断器的基本结构是怎么样的?它又是如何实现的呢?

  • 分布式系统(九)

    集群的构建一方面能够为实现负载均衡提供基础,另一方面,它也能够有效应对服务访问出错的场景,这就是集群容错。

    在分布式系统运行过程中,远程调用发生失败的现象不可避免。为了应对服务访问失败,集群容错是一种简单高效的技术组件。

    那么,什么是集群容错?常见的又有哪些集群容错策略呢?

  • 分布式系统(八)

    那么,具体某一个请求到底应该是由哪个服务实例来响应最为合适呢?这个话题看上去很简单,实际上却有点复杂,涉及到服务请求的路由机制

    而在分布式系统中,上一讲中引入的负载均衡就是最常见也是最具代表性的一种路由机制。为了对请求进行合理的分发,我们需要提供一组负载均衡算法,那么常见的负载均衡算法有哪些?它们又应该如何实现呢?

/19