- 博客(47)
- 收藏
- 关注
原创 AI开发-python-langchain框架(--pdf文件load()加载 )
服务员(事件循环)负责接待顾客(请求),如果某位顾客点菜后需要等厨房做菜(I/O等待),服务员不会傻等,而是先去接待其他顾客。它的核心是“非阻塞”:当一个请求在等待I/O(比如查数据库、调外部API)时,事件循环(Event Loop)会去处理其他请求,而不是干等着。这意味着,如果你的async函数里干的是CPU密集型的活儿(比如复杂的计算、图像处理),那它依然会阻塞整个事件循环,其他请求照样排队。简单总结:I/O密集型用async,CPU密集型用多线程/多进程,混合型任务两者结合。
2026-05-08 18:02:58
31
原创 别再手动复制SSH公钥了,Linux服务器一键从GitHub快速导入公钥
设计时,要把依赖关系想清楚,比如认证应该放在靠“里”层(后添加),日志可以放在最“外”层(先添加)。划重点: 中间件函数接收一个 call_next,它就像接力棒,你必须调用它(await call_next(request)),请求才能继续往后走。再说个容易翻车的点。这里千万别学我当初偷懒,图省事直接上 `allow_origins=["*"]`,这在生产环境是安全大忌,相当于餐厅大门敞开,谁都能进。- 迎宾(CORS中间件):先看你是不是从允许的街区(域名)来的,不是就直接劝退(返回CORS错误)。
2026-05-08 17:32:01
29
原创 多租户下的系统业务开发过程探讨
Session被销毁: ID=" + se.getSession().getId() + ", 时间=" + new java.util.Date() + "。Session被创建: ID=" + se.getSession().getId() + ", 时间=" + new java.util.Date());
2026-05-08 17:03:02
90
原创 别再手动复制SSH公钥了,Linux服务器一键从GitHub快速导入公钥
设计时,要把依赖关系想清楚,比如认证应该放在靠“里”层(后添加),日志可以放在最“外”层(先添加)。划重点: 中间件函数接收一个 call_next,它就像接力棒,你必须调用它(await call_next(request)),请求才能继续往后走。再说个容易翻车的点。这里千万别学我当初偷懒,图省事直接上 `allow_origins=["*"]`,这在生产环境是安全大忌,相当于餐厅大门敞开,谁都能进。- 迎宾(CORS中间件):先看你是不是从允许的街区(域名)来的,不是就直接劝退(返回CORS错误)。
2026-05-08 15:52:02
83
原创 多租户下的系统业务开发过程探讨
Session被销毁: ID=" + se.getSession().getId() + ", 时间=" + new java.util.Date() + "。Session被创建: ID=" + se.getSession().getId() + ", 时间=" + new java.util.Date());
2026-05-08 15:24:20
86
原创 Claude Opus . 真的用不起了!我换成了国产 M.,实测真香!!
项目内存 ./CLAUDE.md 或 ./.claude/CLAUDE.md 项目的团队共享说明 项目架构、编码标准、常见工作流 通过源代码控制的团队成员。项目规则 ./.claude/rules/*.md 模块化、特定主题的项目说明 特定于语言的指南、测试约定、API 标准 通过源代码控制的团队成员。项目内存(本地) ./CLAUDE.local.md 个人的项目特定偏好设置 您的沙箱 URL、首选测试数据 仅您(当前项目)
2026-05-07 15:59:49
134
原创 为什么 AI 能赢世界冠军,却开不好车?——一条藏在所有 AI 背后的分界线
LZW通过为复杂数据构建简单索引来减少存储的数据量,这一点是朴素的哈希算法,当然,这一算法的发明者通过一套特殊的规则使得其他人可以直接通过索引数据反推出复杂数据,而在GIF中,则是GIF发明公司将他所规定的规则写好,编写GIF的人根据这一套规则构建数据,然后其他人直接使用套用了这一套规则的解码器解码,便能将数据还原成原来的样子。其中,最重要的就是图像数据了,其他的块用于规定这些图像数据应当如何呈现到我们眼中或是告知文件的开始结束,因此对于我们来说,其他块基本上都有固定模板,只有图像数据需要我们自己定义。
2026-05-07 15:25:25
166
原创 AI开发-python-langchain框架(--pdf文件load()加载 )
服务员(事件循环)负责接待顾客(请求),如果某位顾客点菜后需要等厨房做菜(I/O等待),服务员不会傻等,而是先去接待其他顾客。它的核心是“非阻塞”:当一个请求在等待I/O(比如查数据库、调外部API)时,事件循环(Event Loop)会去处理其他请求,而不是干等着。这意味着,如果你的async函数里干的是CPU密集型的活儿(比如复杂的计算、图像处理),那它依然会阻塞整个事件循环,其他请求照样排队。简单总结:I/O密集型用async,CPU密集型用多线程/多进程,混合型任务两者结合。
2026-05-07 14:56:17
198
原创 别再手动复制SSH公钥了,Linux服务器一键从GitHub快速导入公钥
设计时,要把依赖关系想清楚,比如认证应该放在靠“里”层(后添加),日志可以放在最“外”层(先添加)。划重点: 中间件函数接收一个 call_next,它就像接力棒,你必须调用它(await call_next(request)),请求才能继续往后走。再说个容易翻车的点。这里千万别学我当初偷懒,图省事直接上 `allow_origins=["*"]`,这在生产环境是安全大忌,相当于餐厅大门敞开,谁都能进。- 迎宾(CORS中间件):先看你是不是从允许的街区(域名)来的,不是就直接劝退(返回CORS错误)。
2026-05-07 14:29:06
166
原创 多租户下的系统业务开发过程探讨
Session被销毁: ID=" + se.getSession().getId() + ", 时间=" + new java.util.Date() + "。Session被创建: ID=" + se.getSession().getId() + ", 时间=" + new java.util.Date());
2026-05-07 14:01:12
205
原创 Claude Opus . 真的用不起了!我换成了国产 M.,实测真香!!
项目内存 ./CLAUDE.md 或 ./.claude/CLAUDE.md 项目的团队共享说明 项目架构、编码标准、常见工作流 通过源代码控制的团队成员。项目规则 ./.claude/rules/*.md 模块化、特定主题的项目说明 特定于语言的指南、测试约定、API 标准 通过源代码控制的团队成员。项目内存(本地) ./CLAUDE.local.md 个人的项目特定偏好设置 您的沙箱 URL、首选测试数据 仅您(当前项目)
2026-05-06 16:19:00
178
原创 为什么 AI 能赢世界冠军,却开不好车?——一条藏在所有 AI 背后的分界线
LZW通过为复杂数据构建简单索引来减少存储的数据量,这一点是朴素的哈希算法,当然,这一算法的发明者通过一套特殊的规则使得其他人可以直接通过索引数据反推出复杂数据,而在GIF中,则是GIF发明公司将他所规定的规则写好,编写GIF的人根据这一套规则构建数据,然后其他人直接使用套用了这一套规则的解码器解码,便能将数据还原成原来的样子。其中,最重要的就是图像数据了,其他的块用于规定这些图像数据应当如何呈现到我们眼中或是告知文件的开始结束,因此对于我们来说,其他块基本上都有固定模板,只有图像数据需要我们自己定义。
2026-05-06 15:41:32
213
原创 AI开发-python-langchain框架(--pdf文件load()加载 )
服务员(事件循环)负责接待顾客(请求),如果某位顾客点菜后需要等厨房做菜(I/O等待),服务员不会傻等,而是先去接待其他顾客。它的核心是“非阻塞”:当一个请求在等待I/O(比如查数据库、调外部API)时,事件循环(Event Loop)会去处理其他请求,而不是干等着。这意味着,如果你的async函数里干的是CPU密集型的活儿(比如复杂的计算、图像处理),那它依然会阻塞整个事件循环,其他请求照样排队。简单总结:I/O密集型用async,CPU密集型用多线程/多进程,混合型任务两者结合。
2026-05-06 15:00:34
227
原创 多租户下的系统业务开发过程探讨
Session被销毁: ID=" + se.getSession().getId() + ", 时间=" + new java.util.Date() + "。Session被创建: ID=" + se.getSession().getId() + ", 时间=" + new java.util.Date());
2026-05-06 13:35:54
189
原创 Claude Opus . 真的用不起了!我换成了国产 M.,实测真香!!
上述命令是从 kylin-minimal tar 包构建 docker 镜像。镜像名称为kylin-minimal,标签为v10。本文详细介绍如何使用 kylin v10 iso 文件构建出 docker image,docker 版本为 20.10.7。执行chroot /opt/kylin-minimal命令进入最小系统的根目录,执行ll命令查看目录结构。在/etc/yum.repos.d/下创建kylin-local.repo,并添加如下内容。如果显示以上目录结构,则说明最小系统环境安装成功。
2026-05-05 16:54:24
241
原创 为什么 AI 能赢世界冠军,却开不好车?——一条藏在所有 AI 背后的分界线
今天,我们就来聊聊为什么选择它,以及它是如何让我们的开发体验"起飞"的。用过 Python 写构建脚本的朋友肯定遇到过这种尴尬:脚本跑了五分钟,最后报错说 Confi.guration 拼写错了,或者传了一个字符串给了一个本该是数字的参数。当然,这不是绝对的。比如如果你只想跑个测试,不想打包,Nuke 允许你直接执行 nuke Test,它会自动处理好前置的 Restore 和 Compile 步骤。爱的是,一键点击,代码变成产品,那是程序员最迷人的时刻;恨的是,维护那一堆乱糟糟的构建脚本,简直是噩梦。
2026-05-05 16:17:41
194
原创 AI开发-python-langchain框架(--pdf文件load()加载 )
官方文档虽然把查询参数讲得很简单,但根据我们的线上经验,对于复杂的分页过滤接口,强烈建议用Pydantic模型来封装查询参数,而不是把一长串参数都列在函数定义里,维护起来简直是灾难。这个工具的选择,好比选螺丝刀,不是最贵的就好,而是最趁手的。踩坑提醒:当同一个参数既可能是路径参数又可能是查询参数时(虽然设计上应避免),FastAPI默认会认为是查询参数。item_id: int = Path(..., title="商品ID", ge=1), # ...表示无默认值,必填。查询参数/dishes?
2026-05-05 15:40:32
208
原创 别再手动复制SSH公钥了,Linux服务器一键从GitHub快速导入公钥
你的游戏引擎是谁写的?是Python turtle出轨了C++的语法,还是C++红杏出墙学会了Python的撩人技巧?turtle.fd(d).left(72) —— 这链式调用,这丝滑手感,这简直是把C++从"西装革履的老干部"改造成了"穿着潮牌的邻家哥哥"!它让C++放下了身段,穿上了Python的便装,但骨子里还是那个能操控硬件、驾驭操作系统、构建数字文明的底层王者!C++不仅学会了Python的简单,还保持了C++的优雅链式语法!但当你用C++精灵库画图时,你学的是——怎么在数字世界的地基上画图!
2026-05-05 14:57:38
211
原创 多租户下的系统业务开发过程探讨
Apache SeaTunnel PMC Member 对这个提议提出一些疑问,比如这种集成属于哪一层级,对多引擎兼容性的考量,类型转换的准确性等,并根据社区设计规范,要求发起者提交一份正式的设计文档(Design Document)。目前,Apache SeaTunnel 中的许多非关系型连接器(如 Elasticsearch、向量数据库和数据湖引擎)要求用户在作业配置中显式定义完整的列 Schema。先来看看提交这个 Issue 的作者是为什么想到这个点子的,以及他初步的核心设计概念。
2026-05-05 14:10:21
230
原创 Pretext:值得关注的文本排版引擎
printf("Q位状态:%s\n", is_q_flag_set()?"溢出(置1)" : "未溢出(置0)");优先使用 ARM GCC 内置函数(如__qadd),深入调试可通过汇编操作 Q 位,检测溢出需读取 APSR 的 Bit27;printf("32位饱和加法结果:%d(预期:2147483647)\n", res1);运算结果超出目标数据类型的数值范围(上限 / 下限) 时,结果被 “钳位” 到该类型的极值;
2026-05-04 15:38:06
220
原创 数据团队该醒醒了:AI智能体不是你的下一个仪表盘
因此,它天然拥有创建令牌的权力。官方描述是“调试程序”,但实际上它允许持有者打开任何进程的句柄,拥有 PROCESS_ALL_ACCESS 权限,即使该进程属于 SYSTEM 或其他用户。当你登录系统时,无论是交互式登录、服务启动,还是计划任务触发,LSASS 都会负责认证你的身份,并为你生成一个访问令牌。
2026-05-03 20:46:33
351
原创 从数据采集到回放验证:ADTF 适配 ROS 的 ADAS 测试实践
LZW通过为复杂数据构建简单索引来减少存储的数据量,这一点是朴素的哈希算法,当然,这一算法的发明者通过一套特殊的规则使得其他人可以直接通过索引数据反推出复杂数据,而在GIF中,则是GIF发明公司将他所规定的规则写好,编写GIF的人根据这一套规则构建数据,然后其他人直接使用套用了这一套规则的解码器解码,便能将数据还原成原来的样子。其中,最重要的就是图像数据了,其他的块用于规定这些图像数据应当如何呈现到我们眼中或是告知文件的开始结束,因此对于我们来说,其他块基本上都有固定模板,只有图像数据需要我们自己定义。
2026-05-03 20:25:58
317
原创 数据团队该醒醒了:AI智能体不是你的下一个仪表盘
/ 配置静态资源路径。当添加了特定的Starter POM后,springboot会根据类路径上的jar包来自动配置bean(比如:springboot发现类路径上的MyBatis相关类,springboot会自动配置MyBatis相关的bean)。这些注解通常用在自动配置类上,以确保只有在特定条件满足时才会应用相应的配置。
2026-05-02 16:32:32
300
原创 从数据采集到回放验证:ADTF 适配 ROS 的 ADAS 测试实践
LZW通过为复杂数据构建简单索引来减少存储的数据量,这一点是朴素的哈希算法,当然,这一算法的发明者通过一套特殊的规则使得其他人可以直接通过索引数据反推出复杂数据,而在GIF中,则是GIF发明公司将他所规定的规则写好,编写GIF的人根据这一套规则构建数据,然后其他人直接使用套用了这一套规则的解码器解码,便能将数据还原成原来的样子。其中,最重要的就是图像数据了,其他的块用于规定这些图像数据应当如何呈现到我们眼中或是告知文件的开始结束,因此对于我们来说,其他块基本上都有固定模板,只有图像数据需要我们自己定义。
2026-05-02 16:17:01
345
原创 Vue + G 实战:打造高校学生打卡数据可视化大屏
在Word模板中,只需使用{{ rich_text_var }}引用该变量,即可渲染成包含多种格式的连续段落。由于Word文档 (.docx) 本质上是一个压缩包,其中的图片以二进制形式存储在word/media/目录下,且在某些Word版本中,图片文件名可能被自动重命名(例如改为 image1.png),与原始文件名无关。示例:{{ base_value_float|my_filterB(2) }} 中,base_value_float是变量,my_filterB是过滤器名,2是传递的参数。
2026-05-01 15:20:34
325
原创 lvgl-micropython、lv_micropython和lv_binding_micropython到底啥关系?一文读懂
set_target_properties(mypass2 PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) #---->修改 项目名称。set(LLVM_DIR "D:/LLVM/llvm-project/build/lib/cmake/llvm")#---->修改 llvm cmake配置路径。target_pile_options(mypass2 PRIVATE /utf-8)#---->修改 项目名称,文件名。
2026-05-01 14:58:41
279
原创 Vue + G 实战:打造高校学生打卡数据可视化大屏
在Word模板中,只需使用{{ rich_text_var }}引用该变量,即可渲染成包含多种格式的连续段落。由于Word文档 (.docx) 本质上是一个压缩包,其中的图片以二进制形式存储在word/media/目录下,且在某些Word版本中,图片文件名可能被自动重命名(例如改为 image1.png),与原始文件名无关。示例:{{ base_value_float|my_filterB(2) }} 中,base_value_float是变量,my_filterB是过滤器名,2是传递的参数。
2026-04-30 17:09:35
342
原创 lvgl-micropython、lv_micropython和lv_binding_micropython到底啥关系?一文读懂
set_target_properties(mypass2 PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) #---->修改 项目名称。set(LLVM_DIR "D:/LLVM/llvm-project/build/lib/cmake/llvm")#---->修改 llvm cmake配置路径。target_pile_options(mypass2 PRIVATE /utf-8)#---->修改 项目名称,文件名。
2026-04-30 16:47:13
295
原创 Vue + G 实战:打造高校学生打卡数据可视化大屏
注意:templateName、createAsContainerDatabase必須指定。修改db_install.rsp文件中以下内容。12.1.编辑dbca.rsp安装文件。1.7.关闭防火墙还有selinux。10.2.静默安装Oracle软件。1.6.解析/etc/hosts。6./etc/profile配置。10.静默安装Oracle数据库。查看是否安装有Oracle软件。4.配置Oracle的环境变量。以下在root用户下操作。oracle用户下操作。oracle用户下操作。
2026-04-29 16:23:19
353
原创 lvgl-micropython、lv_micropython和lv_binding_micropython到底啥关系?一文读懂
服务成功加锁后,启动后台守护线程,每隔锁过期时间的 1/3 (如 10 秒)检查锁是否仍被自身持有,若持有则延长锁的过期时间(重置为 30 秒),直到业务完成主动释放锁。哨兵将从节点切换为主节点,新主节点无该锁数据,其他服务可重新加锁,导致原锁失效,出现多个服务持有锁的情况。成因:锁 key 粒度太粗(如用“lock:stock”作为所有商品的库存锁),导致所有商品的库存操作都互斥,即使操作不同商品,也需排队等待锁释放,彻底丧失分布式系统的并发优势。③ 释放锁时自动同步清理所有节点锁数据,无需手动协调。
2026-04-29 16:02:45
337
原创 一天一个Python库:oauthlib - 轻松构建OAuth客户端和服务器
set_target_properties(mypass1 PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) #---->修改 项目名称。set(LLVM_DIR "D:/LLVM/llvm-project/build/lib/cmake/llvm")#---->修改 llvm cmake配置路径。target_compile_options(mypass1 PRIVATE /utf-8)#---->修改 项目名称,文件名。
2026-04-28 14:49:53
323
原创 ARM 架构 JuiceFS 性能优化:基于 MLPerf 的实践与调优
print(f"错误信息: {response.data.decode('utf-8')}")状态码: {response.status}")print(f"请求失败!状态码: {response.status}")urllib3 是一个用于处理 请求和连接池的强大、用户友好的 Python 库。print(f"连接失败或重试次数超出限制: {e}")print(f"无法建立连接: {e}")print(f"发生未知错误: {e}")print("响应数据:")自动化测试: 模拟请求,测试Web服务。
2026-04-28 14:26:58
150
原创 一天一个Python库:oauthlib - 轻松构建OAuth客户端和服务器
set_target_properties(mypass1 PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) #---->修改 项目名称。set(LLVM_DIR "D:/LLVM/llvm-project/build/lib/cmake/llvm")#---->修改 llvm cmake配置路径。target_compile_options(mypass1 PRIVATE /utf-8)#---->修改 项目名称,文件名。
2026-04-27 14:52:02
166
原创 ARM 架构 JuiceFS 性能优化:基于 MLPerf 的实践与调优
print(f"错误信息: {response.data.decode('utf-8')}")状态码: {response.status}")print(f"请求失败!状态码: {response.status}")urllib3 是一个用于处理 请求和连接池的强大、用户友好的 Python 库。print(f"连接失败或重试次数超出限制: {e}")print(f"无法建立连接: {e}")print(f"发生未知错误: {e}")print("响应数据:")自动化测试: 模拟请求,测试Web服务。
2026-04-27 14:31:02
152
原创 一天一个Python库:oauthlib - 轻松构建OAuth客户端和服务器
13 年后,我用 fetch-event-source 订阅大模型的“思维流”,用 OCR 解锁图片中的文字——前端,正在成为 AI 产品的第一道体验防线。'Authorization': `Bearer ${getToken()}`, // 从 Pinia 或 localStorage 获取。关键设计:状态分为 'idle' | 'parsing' | 'success' | 'failed',对应四个 UI 区块,避免用户困惑。message.error('翻译服务异常,请稍后重试');
2026-04-26 14:02:45
310
原创 ARM 架构 JuiceFS 性能优化:基于 MLPerf 的实践与调优
当我们需要发起新的提案时,可以直接使用:/openspec:proposal 就可以触发该指令,此时 AI 就会根据 proposal.md 中所定义的规范,来创建一个新的变更提案。mands/openspec 这个目录定义了三个不同的命令,每个命令文件中所写的提示词,都是 AI 在执行该命令时需要参考的"规范"。你只需要理解这套规范的工作流程,就能与 AI 配合无间。当然,在有需要的时候,我们也可以修改 OpenSpec 初始化时所生成的一系列.md文件,直接变更规范,使其更加符合企业内的业务流程。
2026-04-26 13:31:30
321
原创 一天一个Python库:oauthlib - 轻松构建OAuth客户端和服务器
13 年后,我用 fetch-event-source 订阅大模型的“思维流”,用 OCR 解锁图片中的文字——前端,正在成为 AI 产品的第一道体验防线。'Authorization': `Bearer ${getToken()}`, // 从 Pinia 或 localStorage 获取。关键设计:状态分为 'idle' | 'parsing' | 'success' | 'failed',对应四个 UI 区块,避免用户困惑。message.error('翻译服务异常,请稍后重试');
2026-04-25 16:36:20
307
原创 ARM 架构 JuiceFS 性能优化:基于 MLPerf 的实践与调优
当我们需要发起新的提案时,可以直接使用:/openspec:proposal 就可以触发该指令,此时 AI 就会根据 proposal.md 中所定义的规范,来创建一个新的变更提案。mands/openspec 这个目录定义了三个不同的命令,每个命令文件中所写的提示词,都是 AI 在执行该命令时需要参考的"规范"。你只需要理解这套规范的工作流程,就能与 AI 配合无间。当然,在有需要的时候,我们也可以修改 OpenSpec 初始化时所生成的一系列.md文件,直接变更规范,使其更加符合企业内的业务流程。
2026-04-25 16:15:40
276
原创 Openclaw接入自动发文教程
Session被销毁: ID=" + se.getSession().getId() + ", 时间=" + new java.util.Date() + "。Session被创建: ID=" + se.getSession().getId() + ", 时间=" + new java.util.Date());
2026-04-23 22:06:29
366
原创 Unity发布京东小游戏
其底层数据存储在对象存储中(S3、COS、OSS、ceph),在用户和对象存储层中加一个中间层,作为文件系统层,负责将文件系统与对象存储的操作进行翻译转换,从而实现POSIX兼容。在介绍之前,首先需要理清楚文件系统与对象存储的区别是什么,文件系统对接对象存储需要做哪些工作,之后才考虑性能的优化与可靠性的优化。对象存储的 FUSE 并不是完美的。操作接口:基于RESTful API(),主要操作是PUT(上传/覆盖),GET(下载),DELETE(删除),HEAD(获取元数据),不支持seek或部分写入。
2026-04-23 21:27:22
215
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅