- 博客(29)
- 收藏
- 关注
原创 AI 幻觉包名实测:20 个混搭名 19 个已被注册(附核验脚本)
实测了一下:AI 最爱编的 20 个混搭包名,19 个在 npm 上已经有人注册了,周下载 1 的空壳包一堆。恶意案例 unused-imports 到今天还在线,周下载 221。pip install 之前敲一条 npm info,几秒钟的事。
2026-11-05 09:21:36
339
原创 Java for-each 删除元素实测:删倒数第二个不抛异常,因为 hasNext 判的是 !=
Java增强for循环中删除元素时,若删除倒数第二个元素,因hasNext()判断cursor != size,删除后恰好结束循环,不触发ConcurrentModificationException,导致静默漏删。其他位置则可能抛异常或漏处理。根本问题在于遍历中修改集合长度。正确做法是使用Iterator.remove()或removeIf(),确保安全遍历与删除。
2026-11-02 16:21:36
107
原创 【元宝搜索开发者征文大赛】当我把“搜索”放进生成链路:一场关于元宝搜索与检索生成协同的技术原理观察
当搜索能力被嵌入生成式 AI,问答系统的核心价值不再只是“快速给出答案”,而是建立一套从问题理解、信息检索、证据整合到内容生成的完整链路。本文从开发者视角观察元宝搜索与搜索增强技术的协同机制:检索模块负责定位多源信息,证据模块承担筛选、去重与可靠性校验,生成模块则依据经过组织的材料完成表达。三者之间并非简单串联,而需要统一的查询路由、上下文编排与结果追溯机制。
2026-11-02 11:32:18
249
原创 AES 默认 ECB 实测:同一个密钥加密两次密文一模一样(附对照代码)
AI 十分钟写完的 AES,我删了。Cipher.getInstance("AES") 默认是 ECB——同一个密钥加密两次,密文一字节不差,实测的。不报错的错最难查。
2026-10-29 09:06:59
108
原创 SimpleDateFormat 线程不安全实测:单线程 0 错,8 线程错 8 万次(附四组对照代码)
同一个程序跑两遍,一遍错 98781 次,一遍错 87187 次。它不抛异常,就给你一个看着正常的日期。
2026-10-27 09:30:00
262
原创 JDK 27 对象头压到 64 位实测:9 个对象 4 个一分没省,省的 4 字节被对齐吃了
JDK 27 把对象头从 96 位压到 64 位,都说每个对象省 4 字节。我拿 JDK 25 把开关拨了两遍,量了 9 个对象:Integer 一分没省,String 一分没省,数组也一分没省。省下的 4 个字节,全被 8 字节对齐吃了。真正省的是 HashMap$Node 这种引用多的,32 变 24。
2026-10-24 09:30:00
295
原创 Java 正则回溯导致 CPU 100%:ReDoS 的原理与五种防范写法
一个接口,CPU 打到 100%。不是流量上来了。是有人提交了一个 30 个字符的字符串。问题出在一行正则上。这行正则还是 AI 帮我写的,比我原来那版“严谨”。
2026-10-20 09:30:00
564
原创 AI 生成的代码引用了不存在的 API:两种 API 幻觉和防范方法
AI 写代码会编 API。大部分时候编译器能帮你拦住,这是好事。真正危险的是另一类:它引用的方法真实存在,编译通过,但语义和它以为的不一样。
2026-10-17 09:30:00
175
原创 接口幂等用 Redis 实现,为什么还是会出现重复下单?
让 AI 加个下单幂等,它用 Redis 做了个“先查后写”。看着逻辑完整,压测时并发一上来就失效。更要命的是:就算写对了,Redis 幂等本身也不是可靠的幂等。
2026-10-15 09:30:00
124
原创 MySQL 深分页为什么越翻越慢:LIMIT 大 offset 的三种优化方案
AI 写分页,永远是 `LIMIT offset, size`。前几页没事,翻到几百页之后越来越慢,最后把数据库 CPU 打到 100%。原因在于 offset 的代价是线性的。你要先读完再扔掉。
2026-10-13 09:05:51
159
原创 AI 写的 Redis 分布式锁为什么会超卖:四个错误写法和正确实现
秒杀功能要加个分布式锁。写法看着挺标准。加锁、设过期、释放,一样不缺。压测跑起来,库存超卖。
2026-10-09 10:00:00
258
原创 AI 生成的 Java 代码上线前必查的 6 个地方:线程池、事务、分页、并发安全
AI 写的代码有个共同点:能跑,单测能过,看着也专业。但它偏爱几个“教程里都这么写”的写法,这几个写法在真实并发和数据量下会出事。这是我上线前固定要过一遍的 6 项。
2026-10-01 08:30:00
225
原创 配置写了却不生效:AI 生成的配置项 key 为什么是错的
压测到 200 并发,接口大面积超时,数据库连接数稳在 10 一动不动。配置里明明写着 50。查了两小时才发现,AI 写的那个 key 根本不存在。Spring 不会告诉你。
2026-09-29 08:00:00
420
1
原创 springCloud每次请求网关特定接口需等待特定时间才会接收到请求问题
首先测试环境出现问题的时候,是在测试环境的本地服务,这里需要介绍下整体的项目架构,这个项目一共分为三层,分别为 本地端(微服务,springcloud+nacos+gatway+rabbitmq+mysql+redis,环境网络虚拟机 centos7) 前置服务(springboot单体项目,环境网络虚拟机 centos7),互联网端(微服务,springcloud+nacos+gatway+mysql+redis,环境网络虚拟机 centos7)。
2024-07-24 14:36:33
2155
1
原创 spring boot整合RabbitMq
该篇文章内容较多,包括有rabbitMq相关的一些简单理论介绍,provider消息推送实例,consumer消息消费实例,Direct、Topic、Fanout的使用,消息回调、手动确认等。(但是关于rabbitMq的安装,就不介绍了)在安装完rabbitMq后,输入http://ip:15672/ ,是可以看到一个简单后台管理界面的。可以手动创建虚拟host,创建用户,分配权限,创建交换机,创建队列等等,还有查看队列消息,消费效率,推送效率等等。
2023-03-29 17:00:51
371
1
原创 options 跨域预检
options 请求就是预检请求,可用于检测服务器允许的 http 方法。当发起跨域请求时,由于安全原因,触发一定条件时浏览器会在正式请求之前自动先发起 OPTIONS 请求,即 CORS 预检请求,服务器若接受该跨域请求,浏览器才继续发起正式请求。HTTP 的 OPTIONS 方法 用于获取目的资源所支持的通信选项。客户端可以对特定的 URL 使用 OPTIONS 方法,也可以对整站(通过将 URL 设置为"*")使用该方法。
2023-03-29 10:11:19
822
原创 copy微信消息模板BashURL
1. 登录微信公众号公众平台去登录2. 进入模板列表页面3. 点击从模板库中添加4. 按F12键进入网页开发者工具页面选择Network -> XHR项5. 点击下一页,选择一条请求6. 鼠标右键点击该条请求选择copy -> copy as cUrl(bash)7. copy的连接放入模板更新的框中,点击更新...
2020-12-01 10:07:44
460
原创 手机抓包-Charlesa
1. charlesa安装一直 next下一步 记住安装位置打开 O:\tyw\抓包工具\破解.txt 文件的网址 下载生成jar包替换安装目录的 lib/下的同名jar包2. 手机抓包前提:手机电脑同一网络下 电脑防火墙关闭安装证书 下图提示两处[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bxa9NYCJ-1593596111699)(/uploads/renwubao01/images/m_1cbf890d45f7357428d956b127a06
2020-07-01 17:35:41
372
原创 软件测试的基本流程
软件测试的基本流程1. 测试需求分析阶段阅读需求理解需求主要就是对业务的学习分析需求点参与需求评审会议2. 测试计划阶段主要任务就是编写测试计划参考软件需求规格说明书项目总体计划,内容包括测试范围(来自需求文档),进度安排,人力物力的分配,整体测试策略的制定风险评估与规避措施有一个制定。3. 测试设计阶段主要是编写测试用例,会参考需求文档(原型图)概要设计,详细设计等文档用例编写完成之后会进行评审4. 测试执行阶段搭建环境执行冒烟测试(预测试)然后进入正式
2020-07-01 17:33:55
852
2
原创 liunx安装PHP
1、首先要更新yum源,不然是默认的老版本,一般都在5.6及以下,但是php7都出来好久了,性能提升50%以上!按照系统更新yum源,我的是centos7,所以我运行下面的代码!CentOS/RHEL 7.x:rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmrpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm如
2020-07-01 17:33:14
263
原创 liunx服务器挂载硬盘
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。本文的两个linux环境分别为CentOS和Ubuntu,其他版本类似。将Ubuntu下的/home/dhcc/nfs挂载到CentOS下/home/shao/nfs。Ubuntu:1.安装配置NFS服务器sudo apt-get insta
2020-07-01 17:32:49
399
原创 liunx-gitlab安装
前言GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。Git的家族成员Git:是一种版本控制系统,是一个命令,是一种工具。Gi
2020-07-01 17:31:57
518
原创 liunx-安装mq消息栈
1.安装erlang下载rpm仓库:wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm安装rpm仓库rpm -Uvh erlang-solutions-1.0-1.noarch.rpm安装erlangyum -y install erlang2.安装RabbitMQ下载RabbitMQ的rpm:wget http://www.rabbitmq.com/releases/rabbitmq
2020-07-01 17:31:02
171
原创 liunx-安装 nodejs
第一步:curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -第二步:sudo yum -y install nodejs如果以上步骤不能安装 最新版 node,执行以下命令后再执行第二步:sudo yum clean all如果存在多个 nodesoucre,执行以下命令删除,然后重新执行第一第二步:sudo rm -fv /etc/yum.repos.d/nodesource*安装n
2020-07-01 17:30:27
247
原创 liunx-Nginx安装
1、添加源默认情况Centos7中无Nginx的源,最近发现Nginx官网提供了Centos的源地址。因此可以如下执行命令添加源:sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm2、安装Nginx通过yum search nginx看看是否已经添加源成功。如果成功则执行下列命令安装Nginx。sudo yum install -y ngi
2020-07-01 17:29:55
142
原创 liunx-Telnet安装
一、安装telnet1、检测telnet-server的rpm包是否安装[root@localhost ~]# rpm -qa telnet-server若无输入内容,则表示没有安装。出于安全考虑telnet-server.rpm是默认没有安装的,而telnet的客户端是标配。即下面的软件是默认安装的。2、若未安装,则安装telnet-server,否则忽略此步骤[root@localhost ~]#yum install telnet-server 3、检测telnet-server的r
2020-07-01 17:29:28
233
原创 liunx——jdk安装
这里介绍两种linux环境下jdk的安装以及环境配置方法在windows系统安装jdk以及环境配置,相信大家都会,这里就不做赘述了,这里主要讲讲linux下的jdk安装以及环境配置。第一种属于傻瓜式安装,一键安装即可(yum安装);第二种手动安装,需要自己去Oracle官网下载需要的jdk版本,然后解压并配置环境,整个过程其实很简单。一、yum一键安装1. 首先执行以下命令查看可安装的jdk版本:yum -y list java*执行成功后可看到如下界面:[外链图片转存失败,源站可能有防盗
2020-07-01 17:28:50
192
原创 liunx maven安装
下载 maven到安装目录wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz解压maventar zvxf apache-maven-3.6.3-bin.tar.gz在setting.xml添加镜像仓库vi /opt/maven/apache-maven-3.6.1/conf/settings.xml修改内容自定esc -> wq .
2020-07-01 17:27:57
151
原创 git yml配置详解
引用文档:git yml 文档详情 官方文档git yml 文档详情 个人理解个人笔记任务都是以任务名开始并且至少要包含script部分job1: script:"execute-script-for-job1"job2: script:"execute-script-for-job2"script 可以直接执行系统命令,每个任务执行过程都是独立运行的.yml文件配置关键字关键词描述** script **由Runner执行的Shell脚
2020-07-01 17:27:03
2676
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅