- 博客(109)
- 收藏
- 关注
原创 小白学agent(一)
英译代理,帮助人类做事的智能体。区别于把ai当成一个聊天机器人或者高级搜索引擎,agent的核心是能真正实现自主完成任务。关于AI Agent的定义,大家比较认同的是OpenAI的应用研究主管Lilian Weng给出的定义:Agent = 大模型(LLM)+ 规划(Planning)+ 记忆(Memory)+ 工具(Tool)。 LLM是如何从只输出文字,到自主完成任务。Q:靠什么在感知?记忆又是如何存储?是如何学会规划的?又该如何行动?这就涉及到agent工程实现的四大核心模块。(有些同
2025-12-05 16:10:43
1015
原创 【前端】Vue学习过程一
对了,对于样式上的数值绑定,显示的值用{{}}与之双向绑定,其他当然比如可以:id = "id",:checked="isDone"用v-bind绑定。触发事件后,lable="",值又置回空。<form>标签三件套,<lable><input><button>,有个<lable for "xx"> 显示名称,在里有id,name,type,autoComplete等分别是对应上面的label for,这样显示到标签上也能定位到输入框,name与后端对接,autoComplete自动补全,记录历史数据。
2025-11-21 15:52:48
501
原创 【万字长文】深度学习2 yolov5修改为自己的数据集
使用labelme可以直接导出适用于yolo模型的txt文本数据,也可以直接导出默认的json数据结构,后面我会提供代码进行转换。自行进行标注,图片与标注一一对应,更多要求不赘述。因为我做最简单的检索模型,不做切割,所以用矩形框进行框选就可以。
2025-07-07 14:57:14
741
1
原创 【长文】深度学习小白第一次完整跑通项目全过程
大三老师小学期作业,在与老师协商无果情况下,做深度学习项目。这篇主要记录了为了跑通yolov5代码时的一些准备工作以及在做时候遇到的大部分报错都有包含,事无巨细,适合新手小白能解决你50%问题,其他解决不了整个线性过程也可以提供一个发散思维帮助到最后运行成功。环境准备1.下载miniconda1.1下载1.2设置miniconda环境变量根据网上教程,我设置了两个,因为最近经常使用,把环境变量位置移到前面。
2025-07-03 15:39:03
1014
原创 Android笔记【18】关于数据传输的三份代码
Parcelable使用:简单,适合小型对象,但性能较低。使用Parcelable:性能更高,适合 Android 应用,但需要额外的样板代码。选择哪种方法取决于你的具体需求和对象的复杂性。如果你的对象不复杂且数量较少,是一个简单的选择;如果你需要优化性能,Parcelable是更合适的选项。可以不传递整个对象:如果你只需要传递Student类的属性,可以直接传递基本数据类型,避免序列化的复杂性。在目标活动中重建对象:通过接收这些基本数据,在目标活动中重建Student对象是完全可以的。
2024-12-11 02:30:00
1091
原创 ConditionalOnProperty略解
Profile非常复杂的业务逻辑:自定义Condition根据具体的业务需求选择最合适的条件注解,保持配置的清晰和可维护性。
2025-12-11 10:36:49
536
原创 小白学agent(二)
“AI 时代的 USB-C 接口”。当AI智能体需要通过函数调用(Function Calling)来使用外部工具,通常需要模型事先知道函数的名称和参数,这限制了模型的灵活性。而且,模型在调用函数之前,对于函数所操作的对象(如数据库表结构、文件系统目录)一无所知,导致调用失败率高。MCP(Model Context Protocol)是Anthropic提出的一种开源协议,旨在标准化AI模型与外部工具之间的交互。
2025-12-11 10:35:57
913
原创 Mysql行锁使用
这种高并发问题,并且我最后用行锁解决还是第一次遇见,并且自己独立解决。我的解决其实也是很简单,首先觉得乐观锁加版本号的有点麻烦,所以就自己在当前需要派发查询订单时,使用select ... for update,并且注意加上@Transactional注解,假设“当前冲突一定会发生”,主动加锁阻止其他线程操作,直到当前事务结束。在一个项目中,已退款的订单显示待服务。后面看订单生命周期,发现进行了退款操作同时系统5分钟到了进行了自动派发。
2025-12-06 19:22:18
133
原创 ReAct 小发展
ReAct 并不是“突然”从石头里蹦出来的,它从 2022 年的论文到 2023 年爆红,只花了几个月,看起来“一夜之间”无处不在,其实是四条平行路线在同一时间 converged(汇合)的结果。下面把“发展时间轴 + 背后推力”拆开讲,你就能看到它为什么“好像突然就火了”。作者:普林斯顿 & Google Brain 联合团队,一作 Shunyu Yao论文标题:《ReAct: Synergizing Reasoning and Acting in Language Models》核心卖点:把“思维链(C
2025-12-06 15:26:01
674
原创 mcp小实战
你只写“真正业务”30 行,握手、schema、序列化、错误重试 SDK 全包办;换以前得自己拼 JSON-RPC、管缓冲、拆包粘包。先接官方 demo client,再挂 VS Code + Continue,再挂 CI 脚本,三处零改动;本地 stdio 管道秒级往返,比 REST/HTTP 少 3 次握手、省 1 个端口;没有 MCP 时,每换前端就要重新实现鉴权、参数校验、返回格式——代码量从 N×M 变 N+M。1、安装python的uv包管理工具, 会便捷快一点。,这里主要展示部分步骤结果。
2025-12-05 14:52:09
299
原创 ReAct小实战
Python≥3.8出口有 LLM:官方 OpenAI key,或免费镜像(测试用),或本地(LMStudio / llama.cpp 均可)(我用的是deepseek的key)
2025-12-04 13:36:07
331
原创 安卓开发到半夜的思考......
room数据库连接我都变得小心翼翼,重新写一个副本,测试,说实话,在没有自信的时候哦,干什么事情对我来说都是困难至极,要做好特别大的心理准备去修改,去小心翼翼,去给自己不断深呼吸吐气,一遍一遍告诉自己去尝试,其实这里我应该思考为什么我需要试那么多遍才能做好数据持久化,心太乱了那个时候,通过一个实验我想真的就是看到我的问题,人无法挣到认知以外的钱,无法做出认知以外的题,实验也是一样。我看到挺多技术博客的,他们真的仔细的做技术分享,是那种大佬级别的个人博客网址,我想其实一个程序员应该是什么样的?
2025-11-07 10:13:55
328
原创 java中的split
因为在多数编程语言(如 Java、JavaScript、Python 等)中,字符串里的。是正则表达式本身的语法,表示匹配任意空白字符(空格、制表符。作为字符串传递给正则相关方法时,会被解析为正则表达式。中使用(例如命令行工具、文本编辑器的正则替换功能)。的区别与使用场景有关,核心是。例如在 Java 代码中,
2025-11-06 16:28:19
411
原创 【八股】更新
原理是类型擦除,是一种在编译时期的“语法糖”。主要是两种,在编译时擦除为有边界时上界,没边界时object类。对于?extends T 和?super T,前者是规定了泛型的上界,后者是下界。应用场景分别是比如一个List,泛型是如上类型。前者的实际类型可能是T以及其子类,所以可以读取T类型的数据;后者实际类型可以是T以及其父类,所以可以填写T类型的数据。(即PECS原则: Producer-Extends, Consumer-Super)
2025-11-06 15:10:41
1243
原创 注意的问题汇总
在对多数据库情况下,对表结构进行修改后,要记得对其他数据库也进行同步修改。函数有AVG() 三个字母ok联合索引时会遵循最左前缀匹配的原则,即最左优先,在检索数据时从联合索引的最左边开始匹配。执行时不关心索引的先后顺序,数据库的查询优化器会自动优化我们的sql。
2025-11-05 18:00:00
864
原创 想复杂的问题
ok,逻辑和问题暂时捋到这儿。因为我当时看了移动端的接口入参,只有serviceId,本来想问一下能否传入unitId,这样就能判断了。于是我的逻辑就变成了该要打卡的服务包含的企业是否对于这个专家有未签退记录)。第二,看表的时候可以看数据库,有相同的服务id,也可以说明这个。两种写法,一种会导致上面unit_id为空对应的情况,另一种是ai美化后的,其实只是多了判断非空,也是好笑的。的要清楚,这样就知道有些业务逻辑就是被自己误解了,并且还能提出质疑。其实逻辑是该专家有服务未签退的,就不能进行新的服务签到。
2025-11-05 10:15:00
422
原创 left join与inner join区别
联表查询 条件放在on和放在where后面.一定谨记,师父说法,left join 你的那些条件要放到where后面。就是你前面匹配了,后面没匹配也会继续补空。不过我平时或者我看到的代码平时直接在后面对lsbz进行判断,其实我觉得也是因为lsbz是默认有值的,所以限制条件一定是奏效的。但是我在使用时,寻理点出了连接表时 on 条件放在连接后面和where后面区别。left join以左表为基准,inner join则是匹配两边表都符合的数据。不过由于习惯,我看到的大部分都是左连接。
2025-11-04 13:45:00
351
原创 GroupBy妙用
今天遇到一个bug,一对多问题。其实业务是service表里面有多个保单insurance,一个保单可以有多个企业(这个暂时不考虑,因为后面我是以企业视角去看)有一张service_object表是关联服务和企业的。但是由于其他保单也可以关联这个企业,所以同一个服务可以查出相同企业但是不同保单的数据。但是后面通过企业id去查服务,通过service_object表关联就会有多条数据,这个时候可以通过group by去重。区别于distinct 它是在select后面用,去重去的是重复行。
2025-11-04 08:30:00
349
原创 foreach{}和for(Object o: collection)区别
后在修改别人代码时,对方用得是.foreach,我在里面获取一个Integer类型数据,并赋值0,发现报错,“ Variable used in lambda expression should be final or effectively final ”。需要将其修改成原子类才能符合这个lambda表达式的原子操作,确实会麻烦,故确实更深一步理解这个foreach。但是有次在debug时断点打在foreach上,没有打进去,在一行一行过时,到foreach直接跳过中间部分,到最后的"});
2025-11-03 08:45:00
253
原创 一个开发小白的两个月实习总结
l哥主要带我,寻理也会有时候问问我,给我派活。x哥产品经理真的讲得很清楚,hx哥还帮忙看过我的一个项目前端问题,x哥配合过移动端联调,h姐配合过pc端联调,y哥和我讲过产品流程,ml哥一起做过一个后端,博士一起约南昌吃饭,hh哥哥当然是借借充电器说说笑笑。哇,非常通透的解释和理解,这样就意味着我看到一个东西就可以思考怎么写的,可不可以写,大道至简,可以说是开发的本质。在nd的时候,我真的没接触过真实项目,以及从来没有前后端联调过,都是拿到别人代码,自己跟着视频稍微写了下后端,掌握非常不深,以及很久没写了。
2025-10-21 17:29:46
517
原创 序列化与反序列化小白详解
Override序列化:对象 → 传输格式(保存/传输)反序列化:传输格式 → 对象(读取/使用)实际例子这段代码展示的是JSON对象到Java对象的反序列化过程,具体来说是将JSONObject转换为指定类型的Java对象。
2025-10-21 17:29:07
863
原创 TypeReference小介
是Jackson库为解决泛型类型擦除问题设计的工具类,通过匿名内部类保留泛型参数信息,核心用于需要明确泛型类型的场景(尤其是JSON反序列化)。它与ClassClass适用于非泛型类型,适用于带具体参数的泛型类型。
2025-10-20 15:45:45
409
原创 【算法】小点:List.remove
如果当前列表cur的大小为size,那么索引范围是0到size-1。当我们调用cur.remove(nums[i])时,如果nums[i]的值大于等于cur的大小,就会抛出IndexOutOfBoundsException。在这里,nums[i]是int类型,所以调用的是remove(int index)方法,它会移除指定索引位置的元素。List的remove方法有两个重载:remove(int index)和remove(Object o)。
2025-09-29 10:20:38
336
原创 最新版Cursor使用
我现在是简易的写了一个聊天页面,我想要你帮我丰富一下。我是做了一个和ai聊天的页面,是接入了青云课的api,但是没有做到消息持久化。我想要把页面做到像其他ai聊天界面一样,能够保存上一次聊天内容。就是有点那种左边留一列是之前的消息队列,点开可以看见之前的聊天内容。第二点,我要你帮我看一下我这提供的代码有不好的地方吗?你可以适当修改,因为我不太严谨。续不了杯,我现在用qoder了,它对大项目把握挺可以的,用得比较多的一个。第三点,因为我是前端小白,所以我还需要你提供注释方便我理解。
2025-09-28 18:37:31
283
原创 【算法】相交链表
一开始我是这么写了一下,但是!虽然两个链表包含相同的数值序列(1 → 8 → 4 → 5),但关键问题在于:这些是。但是要计算长度,然后判断长短,感觉这个太不优雅了。时,它比较的是对象引用是否相同,而不是节点值是否相等。对象的引用,而不是节点的值。
2025-09-27 07:30:00
221
原创 【crud】update
后面考虑自己创一个id,用UUID.randomUUID().toString().repalce(''-'',''"),看起来还挺像模像样的,但是在他的框架saveOrUpdate方法中报错,看来不能如此。在写一个专家人员的资质变更时,产品经理给到的需求是要在expert表中新创一个数据,然后根据code去判断这个人。在机构变更的时候,也是。所以很多关联表可能都要改,不能去获取以前的值呀,,,)记得最开始在nd公司的时候我直接把传过来的数值放到数据里直接更新,就会导致之前数据为空,只有更改的数据。
2025-09-26 18:48:57
203
2
原创 【八股】Mysql
Mysql分为四个部分:连接层(处理接口连接),服务层(处理mysql的视图优化等),引擎层(索引结构),存储层(持久化数据存储)Mysql的存储引擎:InnoDB(1.逻辑存储结构: 表空间、段、区、页16K、行 ),MyIsAm,Memory等。MyIsAm是。
2025-09-26 13:30:00
652
原创 【算法】合并两个有序链表
非常简单的力扣上的简单题,字节初面的笔试题,碍于当时的我啥都忘了,没写出来。因为连最基本的链表构造都忘了。后面面试官见我不熟,给了我一道数组的,我也在java和c++中转不过来忘记了,真的笑死。连数组初始化以及获得长度都不会,真的,真的,太吓人了。三月的时候还会一些,现在就是一点都不会。然后就是最简单的合并,当时太。
2025-09-26 08:42:09
130
原创 【基础】对比List三种写法
场景推荐方法原因返回计算结果安全、灵活、兼容创建常量列表List.of()不可变、安全快速创建测试数据方便、简洁需要修改元素的固定列表唯一允许修改的"固定"列表java// 返回一个全新的可变副本这样可以确保调用者无法意外修改您的内部数据结构,同时给他们最大的灵活性来处理结果。最后推荐看源码看三种区别。
2025-09-25 12:45:00
1274
原创 【刷题】力扣
好,复习一下java的泛型是指我们在定义类,接口,方法时能不指定参数类型(使用类型参数),等运行时再指定。首先万变不离其宗,返回值是什么,先new 一个什么的res。target为-num[3],只不过这个num[3]是不固定的。然后在add时要先将那三个给Arrays.asList(xx,xx,xx)返回List<Integer>,或者List.of也可以,但是不能直接res.add({xx,xx,xx}),因为java看不出来{}是set还是list。现在模仿两数之和,写了双重的,过了。
2025-09-25 09:30:00
449
原创 Spring提供创建线程池方式
对于一个异步任务,肯定需要多线程支持。线程池构建可以分为大两种,一种是Excutor,一种是ThreadPoolExcutor。阿里巴巴《Java开发手册》给我们的答案:【强制】线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。
2025-09-24 11:30:00
1198
原创 【基础】Java随机散落知识点
地理位置不同而具有独立功能得多台计算机及其外部设备,通过通信链路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。ctrl+shfit+esc打开任务管理器。:方法引用(Method Reference)。:简化Lambda表达式,直接指向已有方法。提供函数式编程风格(如过滤、映射、遍历)。通信双方地址:ip+端口。:Java 8 定义的函数式接口,表示。规则:网络通信的协议。终端操作触发流的实际计算。
2025-09-24 08:45:00
461
原创 【基础】Java哈希集合
HashSet是 Java 中用于存储唯一元素的高效集合,基于哈希表实现,提供了平均 O (1) 时间复杂度的基本操作。存储自定义对象时必须重写hashCode()和equals()不保证元素的顺序非线程安全,多线程环境需特殊处理根据实际需求选择合适的初始容量和加载因子掌握HashSet的使用是 Java 集合框架学习的基础,合理运用能显著提高程序的效率和可读性。
2025-09-23 09:00:00
900
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅