- 博客(255)
- 资源 (3)
- 收藏
- 关注
原创 Skills系列-1:了解原理和在AI编程工具中配置过程
Skills其实就是工具和流程的一个抽象,抽象的产物就是标准格式的文件夹,该文件夹里面有定义工具的名称,使用场景,工具的定义,调用说明官方Skill的源码示例。官方地址: https://github.com/anthropics/skills基本使用示例。
2026-01-19 11:53:05
1547
原创 向量(Vector) 类型
在现代机器学习和人工智能系统中,是表示数据的核心方式之一。不同的向量类型适用于不同的场景,尤其在模型推理、存储效率、计算性能等方面有显著差异。
2026-01-08 09:20:51
156
原创 milvus 向量数据库学习笔记-基础认识
Attu是一款专为Milvus向量数据库打造的开源数据库管理工具,提供了便捷的图形化界面,极大地简化了对Milvus数据库的操作与管理流程。阿里云Milvus集成了Attu,以便更加高效地管理数据库、集合(Collection)、索引(Index)和实体(Entity)等的管理。Zilliz Cloud 中型数据集的起价为 0.148 美元,大型数据集的起价为 0.635 美元;Milvus CDC(变更数据捕获)支持主备模式,以提高可用性。⚠️ 它不直接处理数据,而是“大脑”级别的控制中心。
2026-01-04 15:18:42
337
原创 向量数据库相关算法
Cassandra、Neo4j、Astra、MongoDB、Azure Cosmos DB、Redis等。介绍向量数据库的概念及其在AI、相似性搜索中的重要性。
2025-12-31 14:23:30
103
原创 kiro 从入门到精通
类似传统 AI 编程助手(如 GitHub Copilot)用户输入问题 → AI 建议代码或结构强调“探索性”和“互动性”适合非结构化任务要求用户先写出 规格说明(Specification)AI 根据规范自动生成架构、接口、测试用例等支持 MCP(Model-Controlled Programming) 模式更强调“可预测性”和“一致性”
2025-12-30 14:14:35
2678
原创 Cursor 从入门到精通
Cursor 是一款功能强大的 AI 优先代码编辑器,可增强我们的开发工作流程。主要提供三个核心方向,这些功能可以无缝地协同工作,从而提高工作效率:深度集成AI模型,不是简单地接入模型,而是让AI充当了编译器的核心交互方式。支持代码块对话、项目级对话、模型自由选择。强上下文理解能力,可以自动识别项目文件、代码块、错误信息等等,提供更直观准确的AI修改能力。对话式开发体验,仅需用自然语言沟通,Cursor就会根据指令完成布置的任务,使用者可以轻松扮演产品经理,让Cursor理解你的命令自行工作。
2025-12-30 14:05:02
5191
原创 Claude Code
Calude(克劳德)Code 是由 Anthropic 开发的官方 CLI 工具,用于协助用户处理软件工程任务。Anthropic 发现了Cursor的成功后,开发了Claude Code作为Cursor的竞品。Claude Code是一个革命性的AI编程工具,它将强大的Claude AI直接集成到您的开发环境中。Anthropic是一家位于美国加州旧金山的人工智能股份有限公司,成立于2021年。该公司是一家人工智能安全和研究公司,致力于构建可靠、可解释和可操纵的AI系统。
2025-12-30 13:59:31
4943
原创 REST RPC dubbo,HSF 协议总结
对比项RESTRPC设计理念面向资源(Resource-Oriented)面向方法/过程(Procedure-Oriented)耦合度松耦合(无接口依赖)紧耦合(需共享接口 jar)可读性高(URL 自解释)低(需看接口定义)性能低高适用边界外部系统、异构系统内部同构系统📌 一句话:对外用 REST,对内用 RPC。
2025-11-19 10:31:13
1144
原创 理解提示词Prompt
提示词(Prompt)是指导AI输出内容的文本说明,它描述任务目标、提供上下文、设定约束和输出要求。简单说,它是用自然语言编写的“任务描述 + 规则约定”。提示词(Prompt)并不是让模型“猜”,而是让它“理解并执行”。要做到这一点,提示词必须完整回答这五个问题:你是谁(Profile)定义角色、身份、风格、专业范围。→ 决定语气和知识基调。你要做什么(Background / Task)明确当前任务的目标或场景。→ 决定模型输出的方向。
2025-11-05 09:44:18
969
原创 Docker 部署 FastAPI 项目
步骤命令/文件作用1️⃣ 准备项目main.py写好代码和依赖2️⃣ 写 DockerfileDockerfile定义构建流程3️⃣ 构建镜像打包应用4️⃣ 运行容器启动服务5️⃣ 访问测试验证是否成功。
2025-10-29 10:45:28
591
原创 fastApi 之 环境变量篇
✅用 Pydantic 的类,安全、类型化、自动从环境变量加载配置# ❌ 危险!DB_URL = os.getenv("DB_URL", "sqlite:///dev.db") # 没有类型、没有验证、容易出错功能如何实现读环境变量默认值必填字段不设默认值读.env文件多环境安全隐藏SecretStr测试覆盖。
2025-10-24 14:58:02
510
原创 Python 并发与异步机制完全指南
PythonJava并发模型多进程 / 协程为主,线程受限(GIL)多线程为主,成熟强大异步编程+ 事件循环(单线程高并发 I/O)/ Reactor(多线程任务调度)核心优势轻量协程,高 I/O 并发,写法像同步线程安全生态丰富,适合复杂业务流核心限制GIL 限制多线程 CPU 并行线程开销大,易 OOM👉Python 用“协程”解决 I/O 瓶颈,Java 用“多线程”解决并发问题。Python 的是“单线程的高并发魔法”,靠协程和事件循环实现 I/O 高并发,适合 Web API。
2025-09-30 10:50:26
725
原创 协程 和 线程区别
用户态下,程序不能直接访问硬件(比如网卡、磁盘),只能请求内核来帮忙。上下文切换代价:仅仅是保存函数栈帧和一些局部变量,通常只需几十纳秒,远低于线程的切换。内核有最高权限,可以操作 CPU、内存、磁盘、网卡等硬件。上下文切换代价:几十纳秒到微秒级,涉及 CPU 状态保存+恢复,还可能导致缓存失效。:是“协作式调度”,只有协程自己“主动让出”控制权,调度器才会切换到下一个任务。保存线程 A 的 CPU 上下文(寄存器、栈指针、程序计数器等)。更新操作系统调度器的数据结构(TCB,线程控制块)。
2025-09-30 10:43:23
538
原创 MCP是啥?技术原理是什么?Windows系统配置MCP,Cursor使用MCP
MCP是啥?技术原理是什么?Windows系统配置MCP,Cursor使用MCP
2025-06-08 18:44:39
1059
原创 第5章:堆
从内存模型而不是垃圾收集的角度,对Eden区域继续进行划分,JVM为每个线程分配了一个私有缓存区域,它包含在Eden空间内。多线程同时分配内存时,使用TLAB可以避免一系列的非线程安全问题,同时还能够提升内存分配的吞吐量,因此我们可以将这种内存分配方式称之为快速分配策略。据我所知所有OpenJDK衍生出来的JVM都提供了TLAB的设计。、每个线程都有一个TLAB空间2、当一个线程的TLAB存满时,可以使用公共区域(蓝色)的。
2024-12-11 17:12:17
865
原创 AI程序员-Cursor的介绍和使用
在开发一个项目前,可以现在本地创建一个文件夹,然后通过cursor打开,后续通过唤起对话控制图即可完成需求开发。alt + l 唤起对话框进行问答。
2024-12-10 09:33:04
1720
原创 第4章-运行时数据区-虚拟机栈
2. 局部变量表,最基本的存储单元是Slot(变量槽),局部变量表中存放编译期可知的各种基本数据类型(8种),引用类型(reference),returnAddress类型的变量。(this也相当于一个变量)栈帧中的局部变量表中的槽位是可以重用的,如果一个局部变量过了其作用域,那么在其作用域之后申明新的局部变量变就很有可能会复用过期局部变量的槽位,从而达到节省资源的目的。操作数栈就是JVM执行引擎的一个工作区,当一个方法刚开始执行的时候,一个新的栈帧也会随之被创建出来,这时方法的操作数栈是空的。
2024-11-28 10:52:05
735
原创 第3章-运行时数据区-程序计数器和本地方法栈
JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。这里,并非是广义上所指的物理寄存器,或许将其翻译为PC计数器(或指令计数器)会更加贴切(也称为程序钩子),并且也不容易引起一些不必要的误会。JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟。它是一块很小的内存空间,几乎可以忽略不记。也是运行速度最快的存储区域。
2024-11-28 10:30:24
1028
原创 第2章-类加载子系统
除了以上七种情况,其他使用Java类的方式都被看作是对类的被动使用,都不会导致类的初始化,即不会执行初始化阶段(不会调用 clinit() 方法和 init() 方法)除了类的信息外,方法区中还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)如果程序中需要额外的功能类(如加密算法、压缩库),通常可以将 JAR 包放到这个目录中,扩展类加载器会自动加载这些类。是 Java 中最顶层的类加载器,负责加载 JVM 核心类。
2024-11-28 10:17:00
1098
原创 第1章-JVM和Java体系架构
Java虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对应平台上的机器指令执行。每一条Java指令,Java虚拟机规范中都有详细定义,如怎么取操作数,怎么处理操作数,处理结果放在哪里。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。凡是能生成被Java虚拟机所能解释、运行的字节码文件,那么理论上我们就可以自己设计一套语言了。无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中。JVM是运行在操作系统之上的,它与硬件没有直接的交互。,另外一种指令集架构则是。
2024-11-28 10:02:26
1399
原创 logback日志级别动态切换四种方案
代码如下/***//*** logback动态修改包名的日志级别* @param level 日志级别* @param packageName 包名* @return 当前的日志级别*/// 默认值-1,更改全局日志级别;否则按传递的包名或类名修改日志级别。} else {在条件允许的情况下建议使用方案四。
2024-10-30 13:48:19
1612
原创 设计-重试框架的思考和运用(全网最落地的思考)
1:等待时间间隔的实现基于指数退避公式 : baseDelay(初始等待时间) * (2 ^ (retryCount(重试次数) - 1))可以保证时间按照指数级缓存递增2: 业务方式解耦,作为基础框架的设计,我们希望在对2的业务流程中,不仅是满足某一个特定业务的重试, 也可以满足不同业务的重试,基于以上事实我们可以思考1:重试流程是独立的, 业务方法是多变的,2:重试流程 业务流程分开,允许不同的业务方法重用这套逻辑3:可以通过和 Lambda 来进一步简化代码。将。
2024-10-28 15:06:12
561
原创 重试框架的思考和运用(全网最落地的思考)
1:等待时间间隔的实现基于指数退避公式 : baseDelay(初始等待时间) * (2 ^ (retryCount(重试次数) - 1))可以保证时间按照指数级缓存递增2: 业务方式解耦,作为基础框架的设计,我们希望在对2的业务流程中,不仅是满足某一个特定业务的重试, 也可以满足不同业务的重试,基于以上事实我们可以思考1:重试流程是独立的, 业务方法是多变的,2:重试流程 业务流程分开,允许不同的业务方法重用这套逻辑3:可以通过和 Lambda 来进一步简化代码。将。
2024-10-23 10:29:46
404
1
原创 设计模式03-组合模式
组合模式又称为“部分-整体”模式,它将对象组合成树形结构以表示“整体-部分”的层次结构。组合模式让客户端能够忽略单个对象和组合对象的差异,以统一的方式处理它们。组合对象:包含一个或多个叶子对象,同时也可以包含其他组合对象,形成一个树形结构。叶子对象:最基本的对象,不包含其他对象。组合模式是一种强大的设计模式,它允许以一致的方式处理单个对象和对象组合,从而简化了客户端代码,提高了系统的可扩展性和灵活性。然而,在使用组合模式时,也需要注意其可能带来的设计抽象化、性能问题和复杂性增加等缺点。
2024-07-10 17:49:48
847
原创 Etcd 基本入门
Etcd 是 CoreOS 团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用。
2024-03-27 10:37:27
1432
原创 Raft 共识算法
典型的共识算法使 当他们的大多数服务器可用时,进度;如果更多的服务器出现故障,它们将停止前进(但永远不会返回 不正确的结果)。共识通常出现在复制状态机的上下文中,一个 构建容错系统的一般方法。在客户看来,他们是 与单个可靠的状态机交互,即使少数 群集中的服务器出现故障。我们希望 Raft 能使 更广泛的受众可以达成共识,并且这个更广泛的受众将是 能够开发各种更高质量的基于共识的系统 今天可用。作为 结果,每个状态机处理相同系列的命令,因此 生成相同系列的结果并达到相同系列的状态。集合 x 应用于 3。
2024-03-27 09:37:26
560
转载 万级数据深分页查询SQL性能优化实践
如何在Mysql中实现上亿数据的遍历查询?先来介绍一下系统主角:关注系统,主要是维护京东用户和业务对象之前的关注关系;并对外提供各种关系查询,比如查询用户的关注商品或店铺列表,查询用户是否关注了某个商品或店铺等。但是最近接到了一个新需求,要求提供查询关注对象的粉丝列表接口功能。该功能的难点就是关注对象的粉丝数量过多,不少店铺的粉丝数量都是千万级别,并且有些大V粉丝数量能够达到上亿级别。
2024-01-18 09:26:07
320
1
原创 如何看网络架构图-1基础篇
其实我们已经了解了各个图的含义,现在其实缺少的就是怎么串联起来,这个时候,举例说明,才能做到逻辑自洽。以在电商平台购买手机为例你在浏览器中输入网站地址或点击购买手机的链接。浏览器向 LVS(Linux Virtual Server)发送购买手机的请求。信号经过路由器转为电信号,这个时候经过路由器就是物理层LVS 接收到请求后,根据预定义的负载均衡算法和规则,选择一个可用的后端服务器(通常是 Nginx 服务器)。
2023-11-30 10:54:24
1929
原创 英语学习2
我想要知道是否你是周杰伦 I want to know if you are Jay Chou /aɪ/ /wɑnt/ /tə/ /no/ /ɪf/ /ju/ /ɚ/ /dʒe/ /tʃo/我需要知道是否我是重要的 I need to know if I am important /aɪ/ /nid/ /tə/ /no/ /ɪf/ /aɪ/ /æm/ /ɪm'pɔrtnt/
2023-11-30 09:18:53
679
原创 java中SPI机制
SPI的作用其实就是,在系统内部,定义一个能力接口,该接口可以满足自己的业务需要,比如发送短信,定义一个发送短信的接口,至于用什么方式实现,可以交给短信服务提供商去实现,然后根据自己的需要选择使用其中的实现放,这里需要注意几点。1:x系统内部需要将所有的实现放的jar包都要依赖进来,因为实现类的代码是服务提供商写的2: SPI就是一个选择的能力,选择使用哪个接口。jia1需要开发一个接口,该接口的实现可以由jar2和jar3提供,所以在jar1中,一定要依赖jar2和jar3的依赖包。,才能使用SPI的能力
2023-11-27 11:53:04
1159
原创 谈谈中间件设计的思路
想要设计和真正理解中间件的架构理论和思想。对于开发来说需要具备两个关键的能力当然其实还有很多要求,比如安全,日志,异构能力,高可用,不过本人觉得这些可以慢慢了解,不应该一上来就要高大上,仿佛不知道所有的东技术和源码就搞不了中间件开发一样,其实没有那么复杂,先做好基础,才能去了解其他领域,基于这样的愿景,本次专栏将从基础讲起,教中级和高级开发如何做好中级间的架构。
2023-11-27 11:19:50
1253
原创 学习英语1
现在做这件事情(它)是不可能的。现在做这件事情(它)是不可能的。我需要告诉你重要的某些事情。做这件事情(它)是不可能的。每天见到你(它)是非常好的。每天见到你(它)是不可能的。我需要告诉你重要的某些事情。做这件事情(它)是重要的。吃这个食物(它)是重要的。来到这里(它)是非常好的。每天见到你(它)是可能的。我想要知道是否它是可能的。我想要知道是否它是重要的。所以我不必现在做这件事情。我不喜欢现在做这件事情。我今天不需要做这件事情。我不必一整天做这件事情。对我来说它是非常重要的。来到这里(它)是重要的。
2023-10-30 14:23:12
340
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅