
工具
文章平均质量分 77
arbboter
也曾梦想上天,还是默默无闻,而今迈步从头越
展开
-
【加密算法】SM2国密算法原理、C++跨平台实现(含完整代码和示例)
本文围绕SM2算法展开,系统介绍了其技术原理与实现方法。首先,从算法基础入手,概述了SM2的核心数学原理、关键参数及组件构成。接着,深入解析了数字签名、加密解密流程以及密钥交换协议,并探讨了椭圆曲线数学优化技术,展示了SM2在性能与安全性上的优势。安全性分析部分则从算法设计、抗攻击能力及与RSA/AES的对比入手,全面评估了SM2的安全性。最后,通过C++跨平台自实现(Header-Only)展示了源码封装、单元测试及输出结果,为开发者提供了实用参考。本文旨在为SM2算法的理论研究与工程实践提供清晰指导。原创 2025-04-11 16:21:55 · 422 阅读 · 0 评论 -
【C++】nlohmann::json 配置加载技术实践:从基础到高级应用
本文系统解析了C++中nlohmann::json库的配置加载技术,涵盖其核心特性(header-only、类型安全、STL兼容),对比了优缺点及适用场景(配置管理、API交互)。通过代码示例演示JSON创建、解析、遍历等操作,并提出基于模板函数的通用配置加载方案,支持嵌套结构处理。针对高级用法,详细解释NLOHMANN_DEFINE_TYPE_INTRUSIVE宏的序列化机制及约束条件。最后结合Mermaid和PlantUML实现技术文档可视化,提供流程图、时序图、类图等实现方案,提升配置系统的可维护性。原创 2025-04-03 23:24:31 · 1120 阅读 · 0 评论 -
【AI插件开发】Notepad++ AI插件开发实践(代码篇):从Dock窗口集成到功能菜单实现
上篇文章已经在Notepad++的插件开发中集成了`选中即问AI`的功能,这一篇文章将在此基础上进一步集成,支持`AI对话窗口`以及常见的代码功能菜单: - 显示AI的Dock窗口,可以用自然语言向 AI 提问或要求执行任务 - 选中代码后使用,AI 会详细解释代码功能 - 需要 AI 帮助改进或修复代码时使用 - 自动生成代码注释 - 选中即问,直接把选中内容丢给AI - 参数设置,基于插件配置切换AI平台等参数,提供对话框设置及调整平台参数原创 2025-04-02 20:39:25 · 769 阅读 · 0 评论 -
【AI插件开发】Notepad++ AI插件开发实践:从Dock窗口集成到功能菜单实现
本文详细阐述了Notepad++ AI插件的开发实践,重点解决了Dock窗口集成与核心功能菜单的实现难题。通过裁剪Notepad++源码,剥离窗口管理核心模块并重构暗色主题依赖,成功构建轻量化的AI交互界面。基于`DockingDlgInterface`设计支持富文本的对话窗口,实现代码解释、智能优化、注释生成等核心功能,并通过动态菜单注册机制绑定快捷键。文章深入解析了窗口单例模式、DPI自适应布局、线程安全通信等关键技术,展示了插件菜单与AI交互窗口的实际效果,为开发智能化代码辅助工具提供了完整的实现路径原创 2025-04-01 12:09:34 · 1019 阅读 · 0 评论 -
【Ai插件开发】Notepad++ AI插件开发进阶(代码篇):集成Ai模型问答功能与流式交互实现
本文系统阐述了Notepad++插件开发与AI集成的关键技术路径。基于Scintilla控件交互优化,通过ScintillaCall接口替代传统SendMessage实现类型安全的编辑器操作,解决了参数转换繁琐与接口文档依赖问题。创新性地构建流式响应处理管道,采用生产者-消费者模式实现AI模型的异步交互,支持Chunk数据解析与打字机动画渲染,有效处理长文本分段与编码转换(GBK/UTF-8自适应)。工程实践包含多线程架构设计、JSON配置管理及WinHttp封装应用,最终实现选中内容智能问答功能。后续将拓原创 2025-03-30 06:00:00 · 637 阅读 · 0 评论 -
【Ai插件开发】Notepad++ AI插件开发进阶:集成Ai模型问答功能与流式交互实现
本文系统阐述了Notepad++插件开发与AI集成的关键技术路径。基于Scintilla控件交互优化,通过ScintillaCall接口替代传统SendMessage实现类型安全的编辑器操作,解决了参数转换繁琐与接口文档依赖问题。创新性地构建流式响应处理管道,采用生产者-消费者模式实现AI模型的异步交互,支持Chunk数据解析与打字机动画渲染,有效处理长文本分段与编码转换(GBK/UTF-8自适应)。工程实践包含多线程架构设计、JSON配置管理及WinHttp封装应用,最终实现选中内容智能问答功能。原创 2025-03-29 11:27:55 · 1123 阅读 · 0 评论 -
【AI插件开发】Notepad++插件开发实践:从基础交互到ScintillaCall集成
在文本编辑器领域,Notepad++凭借其轻量级特性和强大的插件生态,成为开发者群体中的热门选择。作为基于Scintilla组件构建的编辑器(Scintilla是开源的代码编辑控件,被Notepad++、Geany等知名工具广泛采用),其插件开发体系具有独特的技术特点。本文是AI辅助开发系列的第二篇,前序文章已实现通过WinHttp封装C++访问大模型的SDK。本篇将聚焦于构建Notepad++插件开发框架,重点解决以下技术要点:本文重点讲解插件开发的核心技术路径,重点攻克Scintilla控件交互的工程化原创 2025-03-28 19:41:14 · 1317 阅读 · 0 评论 -
【基础库】Windows环境下OpenSSL安装与集成指南:源码编译与安装包方案解析及对比
OpenSSL作为网络安全领域的基石库,其Windows环境下的部署方案直接影响开发效率与程序性能。本文将系统性探讨源码编译与安装包部署两种方案的技术细节,通过参数对比与场景分析,为开发者提供完整的决策框架,并重点解析Visual Studio 2019环境下的集成方法。原创 2025-03-26 11:13:08 · 849 阅读 · 0 评论 -
【AI部署】Ollama与vLLM深度对比:大模型部署框架的技术演进与实践指南
在人工智能技术快速发展的当下,大语言模型(LLM)的本地化部署与生产级应用已成为开发者关注的焦点。Ollama和vLLM作为两大主流框架,分别代表了轻量化部署与高性能推理的技术路线。本文将从技术架构、性能指标、适用场景等维度展开系统性对比,为开发者提供框架选型与落地实践的全面参考。原创 2025-03-23 21:39:28 · 981 阅读 · 0 评论 -
【工具】从pip到uv:Python开发者的极速工具迁移指南
本文介绍了新一代Python包管理工具uv的核心优势与迁移实践。uv通过Rust原生性能优化,实现依赖解析速度提升10-100倍,并集成虚拟环境管理、多版本Python切换等功能。文中详细演示了Windows环境下的完整工作流以及实践过程中的踩坑问题。通过uv venv创建虚拟环境时支持版本指定,依赖安装速度较pip显著提升。总结了常见问题解决方案,包括网络代理配置、手动下载安装包等实用技巧,为开发者从pip迁移至uv提供了完整指南。原创 2025-03-20 17:37:55 · 1149 阅读 · 0 评论 -
【工具】C#防沉迷进程监控工具使用手册
本工具用于监控指定进程的运行时长,当达到预设时间时通过声音、弹窗、窗口抖动等方式进行提醒,帮助用户合理控制程序使用时间。软件在上篇文章。声音提醒:将WAV格式文件放入程序目录或设置系统自带的音效,配置soundAlert参数弹窗提醒:设置showMessageBox="true"并填写messageBoxText窗口抖动:默认启用,可通过移除禁用。原创 2025-03-17 16:57:59 · 780 阅读 · 0 评论 -
【工具】C#游戏防沉迷小工具
嘿,各位小伙伴!今天想跟大家唠唠我为啥要搞这么个防沉迷小工具。咱都清楚,现在这游戏啊,玩起来那叫一个带劲,但时间一长,不仅眼睛累,心也跟着累。有些游戏,规则定得挺有意思:要是玩超过 15 分钟,你就可以秒退了,系统不会给你什么惩罚。这不,我就寻思着,要是有个东西能帮咱盯着游戏开始的时间,到时候提醒咱一声,那该多好啊!我可以根据当前局势判断要不要退出,要是碰到开挂的、花钱的,那果断推出,不能苦了自己舒服了别人。于是,我就琢磨着做这么个防沉迷小工具。原创 2025-03-14 19:23:33 · 866 阅读 · 0 评论 -
【创意代码】用Python代码编织浪漫:为3.7女生节定制炫酷爱心动画(程序员必看)
马上又是一年一度的GrilDay了,在3月7日这个属于女生的特别节日里,程序员们如何用技术表达心意?本文将带你用Python打造一款融合数学之美与视觉艺术的动态爱心动画,让你的浪漫代码成为最独特的礼物。💖立体旋转的爱心矩阵:数学曲线构建的3D爱心群✨粒子特效:雪花飘落、烟花绽放的动态背景🌈色彩魔法:渐变色文字与流动的光影效果💌定制内容:动态显示TA的名字与专属情话通过本文,我们不仅实现了一个酷炫的动画程序,更展示了技术人的浪漫方式。原创 2025-03-02 16:46:56 · 1084 阅读 · 0 评论 -
Windows下C++实现GBK与UTF-8编码互转:原理与实战
通过理解上述原理和代码,开发者可以轻松应对Windows环境下的字符编码转换需求。完整代码已通过内存安全验证,可直接集成到项目中使用。Windows API提供了。原创 2024-09-03 13:45:33 · 462 阅读 · 0 评论 -
某Dota/IM的某电竞对战平台玩家助手、查看战绩、胜率等
WAR3游戏启动后,可以自动获取游戏双方的玩家列表,然后查询显示玩家的战绩及个人信息。附带查看玩家的战绩详情、最近游戏,查看对手及友方的战绩详情,据此推算出是否开黑、是否小号等信息启动查看对战玩家战绩情况进入魔兽争霸游戏后,点击玩家信息按钮,即可自动获取到魔兽争霸的近卫和天灾玩家列表,并展示玩家的战绩基本情况,包括等级、总胜率、赛季胜率等。缺陷:暂无区分出近卫或天灾队伍情况,可配合平台自带的信息界面查看近卫天灾分队情况原创 2024-07-02 22:28:18 · 668 阅读 · 4 评论 -
C#自定义标签编辑框
经常用到标签和输入框(如文本、下拉列表、富文本)的组合场景,但是一直没趁手的现成控件,于是自己封装了一个,泛型标签输入框:使用示例如下:原创 2022-11-28 09:40:49 · 793 阅读 · 0 评论 -
分享一个自动更新bing桌面壁纸的Python脚本
功能说明该脚本会自动获取当天的bing壁纸并保存到本地的文件夹,然后定时切换桌面壁纸。可将该脚本添加到系统计划任务中,每天定时启动,享受每天最新的桌面壁纸,参考启动命令:pythonw auto_change_desktop_image.py完整代码# coding: utf-8import requestsimport timeimport osimport random# 添加请求头g_headers = { 'User-Agent': 'Mozilla/5.0 (Wi原创 2021-06-02 15:14:39 · 767 阅读 · 0 评论 -
ctypes结构体(Structure)通用格式化输出打印等
背景在使用python和c\c++混合编程的时候,我们通常使用python的ctypes方案,这时在编码过程中就免不了要与c的结构体struct打交道。在编码过程,尤其是调试中,我们有时需要便捷地查看或者日志打印结构体信息,如果我们按c的方式一个个结构体成员手工编码输出,这是比较复杂且费力的,因此有必要实现一种通用的结构体格式化输出的功能,便于查阅结构体对象信息。本文就是基于上述需求实现的一...原创 2019-10-26 14:20:48 · 5662 阅读 · 0 评论 -
WinDbg命令详解--其他命令
$vvalid 判断一个地址是否无效.formats 格式化数值!gle 返回最近的错误码指令!error 查询错误码含义.lastevent 查看最后一次事件信息version 查看版本信息vertarger 查看版本信息.dump 生成DMP命令.ert 显示异常记录.cxr 显示上下文记录原创 2014-03-17 10:07:41 · 1389 阅读 · 0 评论 -
faac源码分析之faacEncOpen
主要包括初始化解码器句柄以及使用的默认参数,最后的是各个功能模块的初始化,主要是分配内存,初始化一些系数表。原创 2015-01-31 10:42:22 · 5873 阅读 · 0 评论 -
以前的C\C++开发等学习博客
以前的一些文章,因为优快云不能修改ID,而我自己想换个ID,所以重新注册了个账号,以前的一些文章有些还是比较有价值的,但是一篇篇拿过来好像挺烦的,在这里自己给自己拉个以前的文章链接,以备查用。IT05的专栏(http://blog.youkuaiyun.com/jiejiaozhufu)原创 2015-01-14 21:07:51 · 1608 阅读 · 0 评论 -
C++开源库之Curl
关于Curl库curl 是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl不但提供了一个可执行的工具库,还提供了供程序开发的libcurl库,该库使用c语言编写,支持跨平台,libcurl的下载地址点这里。下载的安装包里面有个Project文件夹,该原创 2015-02-03 12:41:22 · 14580 阅读 · 0 评论 -
kindle资源Get去处
读远,提供优质epub/mobi/pdf/txt电子书的分享、下载和推送服务,支持kindle、iPad和其他各种移动和平板设备。木书架,一个IT电子书的网站,互联网阅读分享[读书笔记|书评]亚马逊电子书城,最文艺的最全面的电子书城,可惜文艺是要花钱的Kindle人社区,一个论坛社区,可以去淘一淘私货原创 2015-01-17 11:48:42 · 2491 阅读 · 0 评论 -
公交余额查询(深圳通)
关于公交余额查询现在有一些公交卡支持网余额查询了,虽然支持的不多,但是不得不说,深圳通的余额还是很好查的。因为是匿名的公交卡,所以输入用户名、身份证之类的事没用的,需要输入的只是公交卡的号码即可。深圳通的余额查询网站是:深圳通网上查询,输入号码即可查询出卡的余额信息等,如下所示:还是很简单的,没有万恶的广告、没有万恶的验证码!!这篇文章讲得是如何根据这个网页编写自己的程序实原创 2015-02-04 23:31:45 · 7204 阅读 · 0 评论 -
Google地址
Google被封了,各种上不去,Google账户也没用了,真是悲伤。据传是因为IP地址被封了,所以找些没封的IP地址还是可以用Google的,下面是本人收集的一些地址,可用。* 64.233.167.165* 64.233.167.164* 64.233.167.163* 64.233.167.166* 173.194.72.31* 91.213.30.150直接在浏览器里面输入上述的IP原创 2015-02-09 19:21:29 · 4106 阅读 · 0 评论 -
优快云博客支持MarkDown编辑器了
真是良心做法啊。。。。原创 2015-02-09 19:33:00 · 3245 阅读 · 0 评论 -
代码检查工具CppCheck
概要CppCheck是C\C++的静态代码检查工具,可以发现代码的静态缺陷,发现代码的逻辑错误,不过他并不会检查代码的语法错误,他得位置是编译器的一个补充。该工具是跨平台的工具,Windows提供了GUI和命令行工具,而Linux也提供了该命令行工具。安装及其使用(Mac)安装很简单,我使用的时brew安装工具来安装CppCheck工具的,命令是原创 2015-01-06 10:55:00 · 4800 阅读 · 1 评论 -
正则表达式学习
例子邮箱\S+@\S+\.\S+中文[\u4e00-\u9fa5]双字节字符[^\x00-\xff]空白行\n\s*\rURL[a-zA-z]+://[^\s]*电话号码\d{3}-\d{8}|\d{4}-\{7,8}QQ号[1-9][0-9]{4,}邮政编码[1-9]\d{5}(?!\d)身份证号码^(\d{6})(\d{4})(\d{2})(\d{2原创 2015-02-26 17:53:21 · 2360 阅读 · 0 评论 -
SSH自动登录脚本
#!/usr/bin/expect -fset timeout 10set name [lindex $argv 0]set pwd [lindex $argv 1]set ip [lindex $argv 2] spawn ssh -l $name $ipexpect "password:" send "$pwd\r" interact原创 2015-04-27 09:56:50 · 1212 阅读 · 0 评论 -
Python小知识
无窗口运行程序:start pythonw xxx.py原创 2015-06-17 12:36:51 · 730 阅读 · 3 评论 -
实用代码段整理
字符串截断 GBK编码的字符串,截取前n字节,且保证截取部分不包含半个汉字。std::string Substr(const std::string& strSrc, const size_t& nLen){ std::string strSub = strSrc.substr(0, nLen); if (strSub.length() &lt...原创 2016-11-28 19:26:48 · 741 阅读 · 0 评论 -
MarkDown学习
概要Markdown 的目标是实现「易读易写」。可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括 Setext、atx、Textile、reStructuredText、Grutatext 和 EtText,而最大...原创 2014-12-22 19:28:24 · 1855 阅读 · 0 评论 -
FAAC源码分析之faacEncEncode
FAAC编码代码流程图通用的AAC编码系统框图(偷来的图)对比可以发现,其实FAAC的编码和一般的AAC编码大致一致,主要包括心理声学模型处理部分和量化处理两部分,还包括一些优化处理的过程。实现的源码+注释:int FAACAPI faacEncEncode(faacEncHandle hEncoder, int32_t *inputBuffer, unsigned i原创 2015-01-31 11:41:54 · 7825 阅读 · 0 评论 -
工具收集
Linux内存原创 2014-04-14 12:04:11 · 1034 阅读 · 0 评论 -
WinDbg命令详解--远程调试
windbg + windbg方式两边都是windbg。windbg本身支持的链接类型有很多:tcp、pipe、com、ssl等。这里只介绍tcp方式设置方法:目标机器(需要设置端口)方式一:通过命令行windbg.exe - server tcp : port = 12345方式二:windbg运行过程中使用命令.server tcp : port = 12345原创 2014-03-17 10:06:08 · 2429 阅读 · 0 评论 -
WinDbg命令详解--栈
k指令单独使用时,只显示栈地址、返回地址、函数名信息。如果需要其他信息需要使用参数,常见的有:b 显示函数调用时的前三个参数c 只显示函数名p 显示函数的所有参数,包括参数的名字、类型、值。v 显示帧指针遗漏(FPO)信息。在基于x86处理器, 显示器还包括调用约定信息n 显示调用栈的每帧编号f 显示调用栈的每帧占用字节数默认情况下使用k显原创 2014-03-17 10:18:49 · 1940 阅读 · 0 评论 -
WinDbg命令详解--命令帮助
标准命令B[C|D|E][] - clear/disable/enable breakpoint(s)BL - list breakpointsBA - set processor breakpointBP - set soft breakpointD[type][] - dump memoryDT [-n|y] [[mod!]name] [[-n|y]fields] [a原创 2014-03-18 09:51:35 · 2628 阅读 · 0 评论 -
WinDbg命令详解--调试环境设置
源代码.srcpath 设置本地源码和查看源码路径.srcfix 设置一个指向源码服务器的路径命令lsa 显示某一处地址源代码.open 打开源码文件lsf 加载源码文件lsf - 卸载源码文件调试符号(PDB).sympath 设置本地符号和查看符号路径.symfix 设置一个指向微软符号服务器的路径命令.relo原创 2014-03-17 10:03:59 · 1949 阅读 · 0 评论 -
WinDbg命令详解--断点
111原创 2014-03-17 10:14:42 · 3501 阅读 · 0 评论 -
WinDbg命令详解--内存操作
分配内存指令:.dvalloc.dvalloc指令类似与VirtualAlloc函数。可以指定分配的大小、类型(MEM_RESERVE | MEM_COMMIT)(加上参数 / r,申请的内存类型为MEM_RESERVE。默认为MEM_COMMIT)、起始地址(加上参数 / b)使用.dvalloc分配的内存都是PAGE_EXECUTE_READWRITE属性释放内存指令 :原创 2014-03-17 10:07:08 · 4181 阅读 · 0 评论