自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

人太健忘了,需要有个地方记录

从不专精,永远好奇

  • 博客(169)
  • 资源 (2)
  • 收藏
  • 关注

原创 跟AI学一手之vite跨域代理

本文讲述了在使用React+Go开发博客系统时遇到的CORS跨域问题及解决方案。作者在使用beego框架的后端已配置允许跨域的情况下,前端仍报错。通过咨询AI助手kimi获得建议,最终在Vite配置中添加代理设置:将所有以"/api"开头的请求转发到后端8080端口,并修改baseUrl为"/api",成功解决了跨域问题。这种方法避免了直接处理CORS的复杂性,通过代理实现前后端通信。

2026-04-01 14:45:55 27

原创 ragflow和 knowflow区别

摘要:系统新增多个功能模块,主要包括RAGFlow和KnowFlowAdmin(Python实现)、Agentic_ReasoningBinCmdCommon(Python实现)、Internal(C++/Go实现)、Integrations、KnowFlowMemory、Plugin、Sandbox、ScriptsTools等。这些模块采用多种编程语言开发,涵盖数据处理、系统集成、插件扩展等功能,为系统提供了更丰富的功能支持和扩展能力。

2026-03-26 15:23:21 30

原创 跟AI学一手之渗透测试智能体

本文介绍了一个基于AI的自主渗透测试智能体系统,采用LangChain和LangGraph框架实现。该系统通过模块化设计,整合了DNS枚举、端口扫描、漏洞检测等安全工具,并构建了包含规划、执行、分析三个核心节点的自动化工作流。智能体能够根据测试阶段动态调整策略,自动生成结构化报告,并内置了安全约束检查机制。系统还支持多智能体协作、记忆学习等高级功能,提供了完整的API部署方案。该设计实现了渗透测试流程的智能化与自动化,同时强调伦理合规性,需在合法授权范围内使用。

2026-03-19 14:18:58 98

原创 跟AI学一手之运维Agent

本文展示了一个基于LangChain和LangGraph的智能运维Agent系统实现。该系统通过多阶段工作流处理运维事件:1)监控Agent检测异常并生成告警;2)诊断Agent分析根因;3)决策Agent制定修复计划;4)执行Agent自动化修复;5)验证Agent确认解决效果;6)报告Agent生成事故报告。系统整合了多种工具函数(查询指标、日志、服务拓扑等)和AI模型(GPT-4),支持条件路由和记忆功能,实现了从异常检测到闭环处理的完整运维自动化流程。代码提供了完整的状态管理、工具绑定和工作流定义,

2026-03-18 11:02:26 73

原创 跟AI学一手之元素检查器

摘要:本文介绍了一个基于JavaScript开发的DOM元素检查工具DOMInspector,通过鼠标悬停即可显示元素属性,比浏览器原生检查器更直观。该工具提供元素高亮、属性查看、尺寸测量等功能,支持快捷键操作和自定义回调,可轻松集成到任何网页中。实现原理包括创建遮罩层、提示框和控制面板,通过事件监听实现交互。工具采用模块化设计,支持自动初始化或手动调用,适用于前端开发和调试场景。

2026-03-13 17:47:30 30

原创 python2自动打卡脚本

摘要:作者分享了一个用Python2编写的自动打卡脚本,用于应对公司以工作日志最后更新时间作为下班打卡依据的奇葩制度。该脚本通过Selenium模拟浏览器操作,自动登录公司系统、填写工作日志并提交,实现人不在工位也能"打卡"的效果。代码包含详细的异常处理和浏览器配置,最终还能自动关机。作者表示由于近期工作不忙,便开发了这个"摸鱼神器",但文中也流露出了对公司电脑仍使用Python2环境的无奈。

2026-03-10 17:41:40 36

转载 哪些 Python 库让你相见恨晚?

本文介绍了6个实用但鲜为人知的Python库:1. Rich-Argparse - 美化命令行工具界面,提供彩色格式输出;2. Glom - 简化复杂数据结构的提取和转换;3. Perfplot - 可视化算法性能对比;4. Hydra - 优雅管理复杂配置;5. Furl - 提供链式API操作URL;6. Cattrs - 自动转换数据类与JSON。这些库能提升代码质量、开发效率和可维护性,特别适合数据工程和机器学习场景。

2026-03-06 15:26:32 17

原创 python做tcp开发在macos中有个坑

摘要:当设置signal.signal(signal.SIGPIPE, signal.SIG_DFL)后,若客户端在服务端关闭连接后继续发送数据,程序会静默退出而不报错。这是因为默认处理方式(SIG_DFL)会终止进程而不抛出异常。该设置屏蔽了BrokenPipeError异常,导致调试困难。建议保留默认的SIGPIPE信号处理或显式捕获异常,以便更好地排查连接问题。

2026-03-04 14:24:09 39

原创 跟AI学一手之侧边栏菜单组件

本文介绍了一个基于Vue3开发的多级菜单组件,旨在实现自主可控的后台管理系统。该组件具有以下特点: 采用CSS Grid动画优化性能,替代传统max-height实现流畅展开效果 支持权限控制,可根据用户权限动态过滤菜单项 提供响应式设计,支持侧边栏折叠/展开状态切换 实现菜单项Tooltip提示,优化折叠状态下的用户体验 包含菜单访问历史记录功能 组件代码完整可运行,通过HTML文件即可直接演示,实现了与现有系统的无缝集成,同时确保了数据兼容性。

2026-02-11 17:59:22 58

原创 跟AI学一手之切换网页背景图

本文介绍了如何通过JavaScript动态修改网页背景图。关键代码展示了使用模板字符串``和${}语法正确设置backgroundImage属性,同时配置了backgroundSize、backgroundPosition等样式确保背景图完整覆盖页面。方法中还包含将当前背景图URL保存到localStorage的实现,便于下次访问时保持相同背景。代码演示了如何循环切换预设背景图数组,并通过模运算实现循环索引。

2026-02-11 10:43:36 35

原创 跟AI学一手之vue3分页组件(前端分页)

近期写代码已经很少自己写了,几乎都用 AI 助手,不得不说,AI 写的代码是真好用,分分钟写个分页组件,用着还挺好用的,分享出来,当然借助 AI 助手,自己重新写也非常方便,只是学习一下吧。

2026-02-10 14:56:29 50

原创 跟AI学一手之消息推送

摘要:SSE方案可通过stream_with_context结合生成器和消息队列实现,每个客户端对应一个队列。WebSocket方案包括SocketIO实现、原生WebSocket或自定义实现。此外,WebSocket还可结合MQTT协议,将MQTT部署为独立的消息服务服务器。三种方案各有特点,适用于不同实时通信场景。

2026-02-09 17:55:46 47

原创 跟AI学一手之自定义调试函数或者类

本文介绍了一个针对macOS系统的Python调试方案,主要包含以下内容:1) 使用gevent进行协程调试;2) 捕获并处理终止信号(SIGTERM/SIGINT/SIGQUIT);3) 实现进程退出时的堆栈打印功能;4) 监控线程异常并输出错误信息;5) 通过faulthandler记录程序崩溃日志。这些方法能帮助开发者在macOS环境下更好地调试Python程序,特别是在处理多线程、信号和异常退出等场景时。文中还提供了将崩溃日志写入/tmp/python_crash.log的具体实现方案。

2026-02-04 11:45:21 35

原创 跟AI学习之格式化字符串

这段代码生成一个10位随机数,不足位用0补齐。f-string格式中,random.randint(1,99999999)产生1-99999999的随机整数,:010d指定输出为10位十进制数,不足位左侧补0。例如可能生成"0045678912"这样的字符串。

2026-01-31 13:37:22 33

原创 又是跟AI学习的一天之带参数的装饰器

本文介绍了带参数的装饰器的三层嵌套结构:第一层接收装饰器参数(如permission_code),第二层接收被装饰函数,第三层处理函数调用并添加新逻辑。通过@wraps保留原函数属性,在wrapper中可访问装饰器参数和原函数。这种结构实现了在保留原函数功能的同时,动态添加权限检查等额外功能。

2026-01-28 13:07:01 141

原创 跟AI又学了一手

Python中iforiinlifi==2表达式会根据外围符号返回不同类型:[]返回列表,{}返回集合,()返回生成器。生成器与next()函数配合使用时必须使用(),如next((uforuinusersifu['username']=='bob'),None),这是因为它需要处理生成器对象而非列表或集合。不同符号决定了表达式的返回类型和行为特性。

2026-01-27 10:28:56 193

原创 如何在国内使用 claude code

https://api.whatai.cc/models

2026-01-23 15:03:32 112

原创 gb28181点播流程中INVITE消息需要注意的点

摘要:SIP协议中INVITE消息的SDP部分需准确描述媒体服务器能力。关键字段包括:Content-Length必须正确;a=recvonly表示仅接收模式;a=setup:passive表示被动建立连接;a=connection:new要求新建连接。这些字段值反映媒体服务器的行为特征,必须严格按照规范填写,如示例中所示。错误的字段值将导致媒体协商失败,影响视频流的正常传输。

2026-01-20 11:39:20 137

原创 python中元组的特性

当元组中只有一个元素时,会自动解包,也就是变成一个值而不是一个元素的元组,示例。

2026-01-12 10:51:00 129

原创 python中各种数据类型的转换方法

2. 第二个就是前端 JavaScript 可以把其他类型的数据转成16进制的字符串,这个如果传到后端需要转成对应的字节串,转换方式就是,每两个数为一组,使用 int(xx,16)这个函数转,然后用 struct.pack一下成一位的字节串,再把所有的都加一起就行了。1. 网络协议中,用的最多的就是 struct.pack和 struct.unpack,一个是打包,一个解包,它有一个其他模块都没有的功能就是它可以把整形,字节串,浮点型,都转成字节串。

2026-01-10 16:20:10 173

原创 十年编程总结

调用一定是有层级的,不要出现循环引用,特别是两个独立的模块。执行一次还是执行多次。

2026-01-08 11:19:16 109

原创 python中 tcp编程中最能实时判断客户端是否断连的方法

Socket接收空字节(b'')的常见问题及解决方法。当conn.recv(1024)返回空字节时,通常表示连接已关闭,可通过异常捕获处理该情况。这是一个常见的网络编程问题,虽然简单但容易忽视,很多开发者都曾因此耗费时间排查。建议在代码中添加对空字节的判断和处理逻辑,避免程序异常终止。该问题看似微小,却体现了网络通信中连接状态处理的重要性。

2026-01-05 16:50:27 408

原创 今天跟 AI学了一手

摘要:开发者在实现通信协议时发现AI生成的逐字节接收函数(recv(1))比传统批量读取(如recv(1024))更具优势。虽然看似效率低,但实际数据已在内存缓冲区,速度不受影响。关键优势在于读取行为更可控:固定读取1字节时只有"成功读取"或"阻塞"两种状态,而批量读取会出现三种可能情况(不足/正好/超过指定长度),需要额外处理逻辑。这种方法特别适合预知读取长度的场景,简化了代码逻辑并减少CPU开销。这一发现展示了AI辅助编程不仅能提高效率,还能带来意外收获。

2025-12-27 13:20:51 212

原创 gb28181中保证会话不串线的方法

摘要:GB28181点播流程中,多个客户端并发请求时通过call_id保证消息不串线。同一会话保持call_id不变可使消息按原路径返回,同时维护会话表记录sock连接,确保返回消息正确发送至对应客户端。该机制有效解决了多路并发时的消息路由问题。

2025-12-20 14:02:32 127

原创 国网 i1协议 python实现

本文实现了国网i1协议的Python客户端和服务器端,支持气象、覆冰、舞动特征等监测数据的收发。客户端通过socket发送结构化数据帧,服务器端解析并响应。协议包含多种报文类型,采用固定帧头帧尾和CRC16校验。实现涵盖数据采集、参数设置、远程升级等功能,协议交互简单清晰。代码结构分为客户端、服务器端和公共模块,提供完整的数据打包解包方法,可根据国标扩展更多功能。

2025-12-13 14:19:10 241

原创 前后端流式交互的几种方式

本文总结了开发聊天助手时实现流式交互的几种技术方案:1) Electron通过IPC通信实现,利用事件机制实时更新界面;2) PyQt5采用信号槽机制,结合WebEngineView实现类似Electron的效果;3) Web方案中探讨了fetch+reader和EventSource两种方式,但发现前者可能存在性能问题。文章详细比较了各方案的技术实现特点,包括Electron的事件回调、PyQt5的线程通信机制等,为开发实时聊天应用提供了实用参考。

2025-08-04 17:20:12 1194

原创 我的创作纪念日

不断的创作只是想记录一下和分享一下吧,没什么高远的目标。其实最近在学一些硬件的东西,我从小对电路电子还是比较感兴趣的,但是一直没有深入研究,接触了以后感觉还是有一定的门槛的各种公式,微分方程什么的,但是我不着急,慢慢学,学了以后想自己设计板子,然后做一些软硬件结合的东西,具体还没规划好,慢慢来吧。

2025-06-25 11:02:14 353

转载 PyQt 学习笔记——库结构

PyQt 给我们提供了很多各种功能的模块,包涵UI、网络、多媒体、线程、硬件操作等模块, 下面罗列了相关的模块和功能说明,现有个大概的了解,用到时再去官网查阅相关模块的类和使用说明。随便点击一个类能进入类的详情页面,里面包涵了该类所属的模块、该类的父类、继承该类的子类、类的描述、枚举常量、接口等信息。上面的py文件很清楚列除了所以PyQt 的类, 以及类所在的模块,这样清晰的罗列类似的结构关系。QtGui 涵盖了各种各样的图形相关功能的类,比如字体、图形、背景、图标、颜色等等操作类;

2025-06-20 13:56:07 180

原创 给帮助文档加上AI引擎,实现通过对话方式了解软件使用

本文介绍了为分析工具添加AI助手功能的实现思路。作者将帮助文档与AI结合,通过区分工具使用问题和通用问题,选择性地将文档内容提交给大模型处理。采用PyQt5开发界面,使用OpenAI兼容API(支持公司内部或魔搭平台服务),配置信息保存在config.json中。聊天界面使用QTextEdit控件显示Markdown转HTML的内容,虽然存在代码块显示不够理想等问题,但基本功能可用。作者提到90%代码由AI编程助手完成,展现了当前AI强大的代码能力。这种实现方式既利用了AI的自然语言处理优势,又避免了复杂的

2025-06-12 09:43:06 520

原创 AI自动化编程初探

首先是安装和配置,安装vscode,ubuntu系统在软件商店里搜code,就可以找到,然后点安装就好了,安装好vscode后在左侧dock栏找到插件(四个方块)那个图标,点击,搜cline,然后安装,安装好后配置api,这里我们用魔搭社区的免费api(每个账号一天2000次调用,基本相当于免费)。- 有失忆问题,就是说本来在之前的步骤已经发现某些问题,但是因为一些原因中断后,重新再让它看问题的时候,它就忘了刚才是什么问题,需要重新检测,然后重新检测的得到的问题可能跟刚才的问题不一致。

2025-03-10 14:18:32 2254

原创 pandas中调整部分列顺序的方法

但是这种只适合列调整全部列的顺序,而且如果列太多,写起来也不太方便,那如果只想调整部分列的顺序怎么操作,今天学到一个方式,就是利用重置索引的方法,比如我想把d列放到a后面,就可以这样行写。这样就实现了部分调整列的顺序。

2025-02-05 13:09:55 601

原创 python及第三方依赖包升级的代码改动

4. QCustomplot2,之前用cp39版本,但是后面怎么搜都搜不到了,后来发现是改名了,新的包名叫 QCustomplot_pyqt5或者QCustomplot_pyqt6或QCustomplot_pyside2,但是里面的api基本一致,我只改了导入部分,其它都没改,原来的代码运行正常。3. matplotlib的savefig方法,之前可以加overwrite参数(不知道是否真的有这个参数),老版本是不报错的,新版本加上之后是不允许的,应该是确定没有这个参数了。主要改动在utils.py。

2025-01-10 14:24:24 470

原创 python中os.path.isdir()问题

os.path.isdir()函数只能判断绝对路径,如果判断一个裸的文件夹,如果文件夹不为空,则会被认为是文件,也就是返回False,如果文件夹为空,则会返回True,比如下面这段代码。为了判断一个文件是文件夹还是文件,我需要先把路径拼接成绝对路径,然后再用os.path.isdir()判断。

2024-12-26 17:18:23 694

原创 python关于iter迭代器问题

比如我开始的时候,f_list里有3个元素,第一次迭代,n为1,然后我又向f_list加了一个元素,直接迭代三次,可以看到,后面直接就把4迭代出来了,不用再重新写一次i = iter(f_list),当然这样也会有个问题,就是我事先不知道会直接更新,我以为我后加的元素,不会影响之前的i,就会出现意想不到的结果。项目中用到了iter迭代器,发现一个问题,就是说如果把一个list变成一个可迭代对象,当这个list增加元素后,迭代器会自动更新,不用再写一遍转换代码,实例如下。

2024-11-19 13:46:47 296

原创 不要轻易修改DataFrame的列索引和行索引

这几天做需求犯了个低级错误,其实我是想给行排下序,通常情况下,在行或者列不多的情况可以这样做,原始的df。哎,你说这不也实现了想要的效果了,错,列名虽然改了,但是数据没有重新排序!行索引一样,但是我今天犯了个低级错误,我是这样写的。然后如果想要把列的顺序变成bca,可以这样。记录一下,长点记性。

2024-08-09 17:15:06 395

原创 关于pandas中两个不同的Series相减的问题

众所周知,pandas中有两种主要的数据结构,一种是DataFrame,一种是Series,DataFrame的行或列其实都是Series,然后一般情况我们不会对两个df或者两个series进行计算,但是事实上pandas是支持两个df或者series的整体运算的,具体算法就是根据对应的行列索引进行计算,比如进行加减乘除,只对行列索引相同的进行计算,剩下的会变成Nan,所以基于这个原理,其实pandas也支持不同长度的Series进行计算,这里有个坑要注意,由于是按索引进行计算,如果索引不同,则计算结果就会

2024-08-02 11:22:46 691

原创 matplotlib中savefig当图片存在时闪退问题

第一次绘图时没有问题,这时文件夹是空的,绘完图后图片保存了,但是再次调用同样的功能后,如果是只绘制两个图,也没问题,都正常,但是一旦超过2张,就会闪退,并且没有报任何异常,设断点调试都看不到报错,但是能定位到确实是调用savefig后闪退了,而且这个问题在开发环境没有,只在打包环境出现,开始我以为是环境问题,因为确实两个环境表现不一样,但是我重新弄了个虚拟环境,重新装了与开发环境一模一样的包,问题依然有,所以到这我就没法子了。

2024-07-18 15:36:33 593 2

原创 记录一个gitee无法push的问题

因为我昨天把项目目录改了,以为是目录修改的问题,但是我尝试下载其它仓库的代码也不行了,但是用ssh协议是可以的,所以推测是https协议突然出问题了,但具体不知道什么问题,百度有说清空dns缓存的,有说设置代理的,都不管用,但是在Stack Overflow查到一个靠谱的,就是把https的url改成ssh的url,因为ssh协议可以用,所以切换完协议,运行git push果然好使了,在此记录一下。今天准备写新功能,想把之前的代码push到远程仓库,但是git突然就不工作了,报错如下。

2024-05-11 09:59:23 745 1

原创 pyqt5实现帮助文档功能

第一个注意事项,编译目录有没有中文,这个不用检查,因为我这个项目一直是在含有中文路径下打包的,一直没出过问题,直到今天,于是我换了一个路径,结果直接就好了,也不用拷贝那些exe还有conf到项目根目录了,就是中文路径的问题,qt直接懵逼了,给我也整懵逼了,难受。第一步,技术路线,一般这种帮助文档都是有图和文本的,如果只是单纯的文本,就好办很多,最简单的用一个text框就能实现了,但是有图有文这种富文本的我觉得html是比较合适的,所以我这里采用是用pyqt5呈现html的方式实现。

2024-05-10 16:23:22 1516

原创 matplotlib循环绘图时如何节省内存

近期在改一个需求,需要绘制大量的图片,起初,用的之前的代码,因为之前虽然也是循环绘制,但是不论是数据量还是图的数量,都没有很大,然后导致我用老的代码做现在的功能时出现爆内存现象,第一次中途退出了我还不知道是怎么回事,但是第二次,我无意中打开了任务管理器,发现内存占用已经到了96%如下图 可以看到,python进程内存占用已经到了惊人的10G,估计已经把其它进程全部挤到硬盘里了,内存里只剩下python了,我没多想肯定是绘图导致的,并且我大概能想到应该是每次绘制完图,内存没有释放,于是搜了下怎么释放已绘制完图

2024-04-28 17:19:02 915

ascll表完整版,不知道为啥标题还有字数限制

这里包括了所有字符的ascll码,方便程序员随时查阅,有需要的可以下载下来看下,不需要的也可以下载下来看下

2013-06-09

Oracle_11g_R2安装教程

这个是Oracle11g的详细安装教程,欢迎大家下载

2013-06-09

QCustomPlot2

QCustomPlot2是一个CPP版本的Qcustomplot2的python封装,用于高性能绘图,同类型的库有pyqtgraph,qtchart,单个人感觉比pyqtgraph好用,bug少,这个是编译后的文件,直接放到site-packages里就行,记得先导入pyqt5后再导入qcustomplot2,否则会报错

2023-09-19

dlib-19.24.1-py3.9-win-amd64.egg

这个包目前线上windows平台只有py3.6的版本,其它python版本需要自己编译,自己编译需要安装cmake,visual studio,而且还得加参数编译,去掉gif支持我已经麻烦了,自己编译了一把,顺便下了个蛋,给不想自己编译的小伙伴使用。

2024-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除