- 博客(329)
- 收藏
- 关注
原创 由浅入深理解 Skills
Skills是Anthropic推出的模块化能力包系统,通过渐进式披露机制实现按需加载,大幅提升Token效率。Skills正在成为AI Agent能力扩展的事实标准,具有跨平台兼容性和低创作门槛优势,适合有固定工作流、团队协作和Token消耗大的用户使用。
2026-04-27 10:48:23
428
原创 AI编程相关概念
自定义命令的本质其实就是一个 Markdown 文件,在 Cursor 中,只需要在项目的 .cursor/commands/ 目录下创建 .md 文件,里面写上你想要 AI 执行的指令,这个文件名就会变成一个斜杠命令。Agent Skills(智能体技能)是 Anthropic 在 2025 年 10 月推出的 一套开放标准,目的是让 AI 能够学习使用各种专业技能,快速扩展特定领域的专业能力。二者是互补关系,MCP 解决的是 AI 连接工具的问题,A2A 解决的是 AI 之间沟通协作的问题。
2026-03-17 11:21:15
417
原创 提示词相关概念
更重要的是,结构化的内容(标题层级、列表、代码块等)有助于 AI 更准确地理解你的意图,同时也能培养你自己的结构化思维能力,这对写好提示词非常有帮助。比如,“做一个网站” 是一个模糊的提示词,而 “用 React 做一个记账网站,包含添加支出、查看列表、统计总额三个功能,界面用蓝色调” 就是一个更好的提示词。提示词工程(Prompt Engineering)是设计和优化提示词的技术,目的是让 AI 更好地理解你的意图,生成更符合预期的结果。通过提供示例,AI 能更准确地理解你的需求,输出更一致的结果。
2026-03-06 15:08:38
508
原创 AI 基础概念
除了文本大语言模型之外,AI 领域还有专门处理图片的视觉模型(比如 Stable Diffusion)、处理语音的音频模型(比如 Whisper)、以及能同时处理文字、图片、音频的多模态模型(如 GPT-4o、Gemini)。举个好理解的例子,模型在训练时读到了大量 “天空是蓝色的” 这类内容,它就会在参数中记住 “天空” 和 “蓝色” 之间的关联关系。你可以把大语言模型理解成一个读过海量书籍和代码的超级学霸,它见过无数的编程案例,所以能帮你写代码、解释代码、修复 Bug。
2026-03-05 18:03:53
365
原创 《时间陪你慢慢变富》之读书笔记(下)
投资的本质就是用你的钱帮你赚钱——而钱这个东西,它不需要休息,它一年365天,每天24小时,在投资正确的前提下,它都在为你工作。只要你把你的某个行为赋予了极其伟大的意义,你就好像突然换了个人似的——因为接下来在你做那件事的时候,你无须强调坚持,你无须被鼓励,你根本就不怕挫折,你完全不在意别人不认同不支持,甚至,若是谁竟然拦着你不让你去做那件事,你会跟他彻底翻脸——强大的自驱力。1、决定一个人富有的三个条件,一是出身,二是运气,三是努力,而这三者之中,努力是最微不足道的。
2026-02-10 16:10:22
73
原创 《时间陪你慢慢变富》之读书笔记(中)
人们所抱怨的教育失败,本质上来看,只不过是非既得利益者在系统内的不舒适感而已。教育就是你所身处的那个系统想让你变成什么样子。
2026-02-10 13:59:40
94
原创 WebSocket 实现实时数据推送的原理
WebSocket 实现数据实时推送的核心机制在于其全双工通信能力和持久的连接特性。HTTP 像“写信”——每问每答都要装信封;WebSocket 像“打电话”——拿起话筒随时说。
2026-02-10 10:34:04
540
原创 《时间陪你慢慢变富》之读书笔记(上)
1.1、定投定义所谓定投,就是投资者长期定期定额地持续投资某个投资标的。1.2、定投策略的要素1、长期这个长期究竟要多久?2、定期这个间隔多久合适?每年?每月?每周?3、定额这个金额多少才合适?4、标的用什么样的原则去选择标的?标的是定投策略四要素中最重要的,因为标的决定结果,被投资的标的的未来表现决定了投资结果的成败,1.3、疑问:那为什么定投的人这么少?
2026-02-09 13:58:45
84
原创 常用 HTML标签总结归纳
一句话速记“结构+元数据+文本+列表+表单+媒体+语义化布局”七大类,掌握表格内标签,就能 cover 日常 90% 的 HTML 编写需求。
2025-12-02 10:10:20
402
原创 JavaScript 基础知识总结
JavaScript 是解释型、动态类型、单线程事件循环的脚本语言,横跨浏览器、服务器、移动端,每年迭代新标准,拥有全球最大开源生态(npm)。npm = Node Package Manager(Node 包管理器)npm 是 Node 自带的包管理器,负责下载、版本、脚本、发布,让 JS 开发者“装包就像装 App”,是全球最大的开源代码仓库入口。功能命令示例说明下载包把包拉进版本管理精确到补丁号依赖解析锁定整个依赖树,保证“一模一样”脚本运行执行里的自定义脚本发布包。
2025-12-01 11:20:40
417
原创 Vue 条件渲染
你能看到我</p>const show = ref(true) // 变 false 时,<p> 会被销毁</script>指令作用v-if条件为真才渲染v-else-if链式判断v-else其余情况<p v-if="score >= 90">优秀</p><p v-else-if="score >= 60">及格</p><p v-else>不及格
2025-11-28 17:51:37
328
原创 Vue 双向绑定 v-model 指令
Vue 用 v-model 一句话实现“数据 ↔ 表单”双向同步,底层自动生成 :value 和 @input,还支持 .lazy/.number/.trim 等实用修饰符,是日常开发中最常用的表单绑定方式。写法效果.lazy失焦时同步,减少频率.number自动转 Number 类型.trim去掉首尾空格select(单选或多选)
2025-11-28 17:24:37
216
原创 Vue 事件监听
Vue 的事件监听 = “指令式”绑定 DOM 事件,核心语法只有一句话:v-on:事件名=“处理函数” 或其简写 @事件名=“处理函数”') }</script>事件写法场景单击@click按钮、卡片双击@dblclick快速编辑键盘回车提交输入实时搜索失焦@blur校验表单拦截默认刷新总结:在元素上写 @事件名=“函数”,Vue 会自动绑定并管理更新,事件触发 → 函数执行 → 数据变 → 视图自动刷新,全程无需手动操作 DOM。
2025-11-28 09:37:23
223
原创 Attribute 绑定
在 Vue 中,mustache 语法 (即双大括号) 只能用于文本插值。把「JavaScript 表达式」的值实时同步到「DOM 属性/组件 prop」上,数据变 → DOM 属性立刻变。常绑定的属性场景例子图片路径样式类行内样式按钮禁用组件传值总结:attr=“表达式” 就是 v-bind 的简写,用来把数据实时塞进 DOM 属性/组件 props,是 Vue 动态渲染的基石。
2025-11-27 15:20:16
345
原创 Vue 声明式渲染
Vue 的核心功能是声明式渲染:通过扩展于标准 HTML 的模板语法,我们可以根据 JavaScript 的状态来描述 HTML 应该是什么样子的。当状态改变时,HTML 会自动更新。Vue 的核心功能是声明式渲染:通过扩展于标准 HTML 的模板语法,我们可以根据 JavaScript 的状态来描述 HTML 应该是什么样子的。当状态改变时,HTML 会自动更新。count: 0})reactive() 只适用于对象 (包括数组和内置类型,如 Map 和 Set)。
2025-11-27 11:10:31
294
原创 Maven 的 pom 文件结构
pom 指的是 project object model,又叫项目对象模型。Maven的pom文件是一个XML文件,用于描述项目的各种属性、依赖和构建信息,包括项目的名称、版本、许可证、作者、描述、依赖关系、构建过程、插件等。总的来说,POM文件是Maven工程的基本工作单元,它包含了项目的所有必要信息,使得Maven能够自动化地构建和管理项目。在Maven中,dependencies 标签用于定义项目的依赖关系,可以将项目所需的依赖库添加到项目中,并确保这些依赖被正确地管理和使用。
2025-09-11 16:46:15
813
原创 Redis 实现分布式锁
比如,当某个进程试图获取锁时,它会使用 SETNX 命令在 Redis 中设置一个标识,如果该标识已经存在,说明锁已经被占用,当前进程无法获取锁。在单机系统中,资源都在同一台机器上,锁的管理也比较简单,操作系统可以很容易地控制哪些进程可以访问共享资源。也就是说,这个锁是谁加的,谁才有权利解锁。通常,我们会使用一个唯一的标识符作为锁的名称(例如 lock_key),确保每个资源的锁是唯一的。死锁问题发生在进程持有锁的同时又发生了其他问题(比如没有及时释放锁),导致锁无法释放,其他进程永远无法获取锁。
2025-09-07 20:19:33
1109
原创 401 Unauthorized(未授权) 和 403 Forbidden(禁止访问)
401 Unauthorized(未授权) 和 403 Forbidden(禁止访问) 是 HTTP 状态码中最易混淆的两个,核心区别在于:401 表示“身份未通过验证”,403 表示“身份已验证但权限不足”。
2025-09-01 11:11:05
642
原创 Mybatis 实现分页查询总结
优先使用 PageHelper 或 MyBatis-Plus 分页插件,二者均通过物理分页实现高性能,且对代码侵入性低,它们能自动适配不同数据库的分页语法。
2025-08-29 17:57:32
450
原创 设计模式之状态机模式
状态机模式是一种强大的工具,能够帮助开发者在软件开发中处理复杂的逻辑和状态管理问题。通过明确定义系统的状态和转换规则,状态机模式使得系统的行为更加清晰、可控和易于维护。同时,状态机模式还具有广泛的应用场景和灵活的实现方式,适用于多种复杂的软件开发需求。
2025-08-29 15:55:01
801
原创 Date类型时间比较
2、线程安全:Calendar 和 java.time API 的类都是不可变的(java.time API 中的类如 LocalDate 和 LocalDateTime),因此它们在多线程环境中是安全的。从 Java 8 开始,引入了新的日期时间 API,包括 LocalDate 和 LocalDateTime,这些类提供了更直观的方法进行日期操作。3、时区问题:java.time API 提供了更灵活的时区处理功能,如果需要处理不同时区的日期时间,可以使用 ZonedDateTime。
2025-06-06 17:40:50
1740
原创 打印 log 日志规范与实践
用于可视化和分析日志数据,提供灵活的查询和可视化工具,可以创建仪表板、图表和报表来展示日志数据的统计和趋势。:日志应该记录足够详细的信息,包括时间、触发事件、相关参数和上下文等,方便我们快速理解时间的发生和上下文。:日志应该使用易于阅读和理解的格式,日志信息能够被其它开发人员快速理解,而不需要费力解析复杂的日志内容。需要注意的是,日志记录的频率和打印量应根据具体情况进行评估和调整,避免日志过于频繁或过于庞大。:日志应该保护敏感信息的安全性,避免将敏感数据记录在日志中,以防止信息泄露的风险。
2024-12-12 17:49:46
1228
原创 小白如何学习编程
我们可以每天给自己一个编程题,从简单的开始,逼着自己从无到有的一行一行代码去实现,只有大脑思考后写出来的东西,才是属于你自己的东西。只有一次一次的代码实践,从不会写,到会写几行,从会写几行,到能写一大段,慢慢你看到自己的成长进步,你就自然而然会有兴趣。只有一点点的正向反馈(成就感),你才能够坚持去做一件事情,我们学过很多东西,但不是每个东西都能记住并且随时拿出来用,但是我们可以把学过的东西通过文字记录起来,用到但想不起来的时候,随时拿出来翻一翻,又会加深你的记忆,长此以往,你记住的东西就会越来越多。
2024-11-04 23:41:10
422
原创 MyBatisPlus 中 LambdaQueryWrapper使用
MyBatis-Plus是一个强大的MyBatis扩展插件,它为MyBatis提供了许多实用的功能,其中之一就是LambdaQueryWrapper。LambdaQueryWrapper是一个条件构造器,用于构建SQL查询条件。通过使用LambdaQueryWrapper,我们可以以更简洁、更直观的方式编写查询条件,提高开发效率。LambdaQueryWrapper是MyBatis-Plus提供的一个条件构造器,它基于Java 8的Lambda表达式特性,允许我们通过Lambda表达式来构建查询条件。
2024-10-31 19:30:58
1336
原创 Stream流将List转换成Map
通常会需要使用到对象和Map互相转换的开发场景,下面这篇文章主要给大家介绍了关于java对象list使用stream根据某一个属性转换成map的3种方式,需要的朋友可以参考下。无论使用哪种方式,都可以使用Java 8的Stream API将List转换为Map,并根据某个属性作为键或值。需要注意的是,在将List转换为Map时,键必须是唯一的,否则将会抛出异常。
2024-09-27 14:47:27
5315
原创 Java8 Optional类使用说明
Java 8 引入的 Optional 类,是一个可以包含或不包含非空值的容器对象。它的目的是为了提供一种更优雅的方式来处理可能为 null 的值,从而避免直接使用 null 值可能引发的 NullPointerException。Optional 类的主要特点:1、防止 NullPointerException:使用 Optional 可以明确地要求用户在使用变量之前处理 null 情况2、增强代码可读性:通过使用 Optional 的方法,代码的可读性和意图更加明确。
2024-09-07 12:58:04
1145
原创 Solidity初体验
智能合约是仅在满足特定条件时才在区块链上部署和执行的功能,无需任何第三方参与。由于智能合约本质上是不可变的和分布式的,因此它们在编写和部署后无法修改或更新。此外,分布式的意义在于任何人都可以检查和查看区块链上的智能合约状态和交易历史。
2024-09-03 11:17:58
1062
原创 密码学基础
1、Alice 给 Bob传信息,Alice用Bob的公钥加密,Bob用自己的私钥解密。1、对于一个密码学系统,应当仅有密钥是保密的,其余算法和一切参数都应该是公开的。2、Alice用自己的私钥签名,其他人可以用Alice的公钥验证签名有效性。2、并不一定要数学上完全不可破解,只要在现实中不可能破解即可。传统方式:通过非对称交换密钥,再用对称加密通信。2、在没有私钥的情况下,无法获取到明文相关信息。1、Alice想证明某个消息是自己发的。3、在没有私钥的情况下,无法伪造签名。1、加密解密使用的密钥不同。
2024-08-29 22:55:48
614
原创 Java List 集合删除元素的方法
正序删除方法不可取,因为会致 list 的长度发生了改变,后续遍历时,存在元素下标取不到了。倒序删除可以避免这个问题出现。创建一个待删除的集合,调用 removeAll()方法进行删除。
2024-08-19 15:39:51
558
原创 Java 中Lambada表达式中双冒号 ::使用总结
双冒号运算操作符是类方法的句柄,lambda表达式的一种简写表达式:可以替换成:表达式:() - > new HashMap <>();可以替换成:双冒号(::)运算符在Java 8中被用作方法引用(method reference),方法引用是与lambda表达式相关的一个重要特性。它提供了一种执行方法的方法,为此,方法引用需要由兼容的函数式接口组成的目标类型上下文。
2024-04-26 17:03:20
1258
1
原创 Lombok 注解总结
Lombok 是一个 Java 库,用于通过注解方式自动化生成 Java 类的常用方法(如 getter、setter、toString 等),从而简化开发流程并减少重复性代码。以下是 Lombok 库中常用的注解及其作用。这些注解可以根据需求单独使用,也可以组合在一起使用,以简化 Java 类的开发过程,减少冗余代码,并提高代码的可读性和维护性。请注意,使用 Lombok 需要在项目中添加 Lombok 的依赖,以便编译器能够正确处理这些注解。
2024-04-25 17:16:49
1100
原创 Mybatis 动态Sql标签使用总结
常用的动态sql标签包括 if、choose(when、otherwise)、trim(where、set)、foreach。2.1、if 标签1、动态拼接查询条件WHERE 1=1= null">= null">= null">= '' ">2、动态选择不同的执行sql根据输入参数unitType的不同情况来join不同的表查询结果集。
2024-04-24 11:08:29
1791
1
原创 MybatisPlus 常用注解
Mybatis-Plus是一个在Mybatis基础上进行增强的ORM框架,提供了许多便捷的注解来简化数据库操作。本文将介绍Mybatis-Plus常用的注解以及它们的使用方法。
2024-04-23 10:28:55
3365
原创 Oracle 中排序函数总结
rank()和row_number() 函数用法类似,但是rank()生成的序号是同值同序的不连续序号,即如果出现相同的值,那么序号是一样的。dense_rank()与rank()的区别在于,dense_rank()生成的序号是连续的。先排序再确定序号,会根据 partition 分区,在每一个小分区内部取序号。
2023-12-07 16:20:33
2054
原创 Oracle中 Procedure sql%notfound
sql%notfound 是一个布尔值,与最接近的sql语句(update、insert、delete、select)发生交互,当最近的一条sql语句没有涉及到任何行的时候,返回true,否则返回false。
2023-12-06 17:07:50
777
原创 Oracle 中换行chr(10)、回车chr(13)
chr(n):返回 ascii 值对应的字符。ascii(char):返回字符 char对应的ascii 值。chr(n) 和 ascii(char) 作用刚好是相反的。控制台显示:A控制台显示:65。
2023-12-04 16:24:54
3666
原创 Oracle的数据一致性机制原理
在单用户环境下,在操作数据库是不需要考虑其他用户会修改同一个数据。但是在多用户的情况下,多个事务可能会修改同一个数据,最终会得到错误的数据结果。Oracle数据库是通过 multiversion consistency model(多版本数据一致性模型)、还有不同类型的锁、事务隔离保证数据的一致性。通过这种方式,数据库可以向多个并发用户提供在某一个时间点所对应的数据库数据。由于不同版本的数据块可以同时存在,事务可以查询所需时间点已经提交的数据版本,并返回对应时间点已提交的数据查询结果。
2023-12-04 14:40:57
934
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅