- 博客(25)
- 收藏
- 关注
原创 【高效程序员系列】2、别做机器人——让工作自动化
今天,我们就从最简单的“偷懒”开始,一步步把重复工作交给代码,让自己从“人肉机器人”进化为“自动化指挥官”。—### 4. 第三层:让网页操作自动化(用Selenium模拟点击)如果工作涉及浏览器操作——比如每天登录后台、下载报表、填写表单——那手动点击是最大的时间黑洞。从今天的案例中,你已经学会了:- 基础:文件操作自动化(os模块)- 进阶:系统任务自动化(shutil、datetime)- 高阶:浏览器操作自动化(Selenium)- 决策自动化:规则检查与判断。:一次性任务,写脚本可能比手动更慢。
2026-08-05 18:03:17
187
原创 C#与闭包
闭包是C#里一个既基础又容易被忽略的特性,它让方法能“记住”创建时的环境,像是把当时的变量快照装进了一个时间胶囊。### 总结闭包是C#中一个强大又隐蔽的特性,它让函数拥有“记忆”,是函数式编程风格(如LINQ、事件、回调)的基石。编译器在背后做了什么C#编译器会把闭包“翻译”成一个类,把捕获的变量变成这个类的字段。### 闭包的经典坑:循环变量捕获这是最著名的闭包陷阱。日常开发中,合理使用闭包能让代码更简洁,但在循环和异步场景中要格外小心。时,不妨想想背后的“时间胶囊”机制,你会更自信地掌控它。
2026-08-05 18:02:08
201
原创 MySQL数据库InnoDB数据恢复工具使用总结
大家好,我是老猫。今天咱们来聊一个让所有DBA和开发者都手心冒汗的话题——数据恢复。尤其是当你的MySQL数据库使用的是InnoDB引擎,突然遭遇误删、磁盘损坏、或者ibdata1文件损坏时,那种绝望感简直能让人一夜白头。但别慌,今天我就把压箱底的InnoDB数据恢复工具和心法总结出来,希望能给各位同学一颗定心丸。### 一、InnoDB数据损坏的常见场景在动手恢复之前,我们得先搞清楚敌人长什么样。InnoDB数据损坏通常分为这么几类:1.物理损坏。
2026-08-04 17:43:05
215
原创 您知道C++/CX吗?
明白它与标准 C++ 的互操作方式(字符串转换、缓冲区传递)。”本文将从一个实战全栈工程师的视角,带您深入 C++/CX 的世界,用大量可运行的代码示例,帮您理清它的前世今生、核心语法、适用场景以及它与现代 C++/WinRT 的关系。C++/CX 就是针对 C++ 的投影层,它隐藏了大部分 COM 的繁琐细节,让你用“类似 C#”的语法编写 WinRT 组件。—## C++/CX 与标准 C++ 的互操作在实际项目中,你往往需要在 C++/CX 代码和标准 C++ 代码之间传递数据。
2026-08-04 17:42:00
174
原创 ASP.NET状态管理的总结
在Web开发中,状态管理始终是一个绕不开的话题。HTTP协议本身是无状态的——每次请求都是独立的,服务器不会自动记住上一次请求的信息。但我们的业务逻辑往往需要“记忆”,比如购物车、登录状态、用户偏好等。ASP.NET为此提供了一整套状态管理方案,今天我们就来系统地梳理一下。### 为什么需要状态管理?想象一下,你在淘宝上把一件商品加入购物车,然后继续浏览其他商品。如果服务器不记得你刚才的操作,那么当你点击“购物车”时,里面应该是空的——这显然不合理。因此,我们必须通过某种手段,在多个请求之间共享数据。
2026-08-03 17:18:12
204
原创 谈谈离职和跳槽
最终,你的职业路径是由每一次“提交”(commit)累积而成的,保持持续学习,理性决策,才能构建出稳定而高产的“职业系统”。作为编程讲师,我更愿意从“系统工程”的角度来拆解这件事:离职和跳槽就像一次代码重构——你需要评估旧代码(当前工作),规划新架构(目标岗位),并处理好迁移过程中的各种依赖与风险。通过这样的量化分析,你就能避免“海投简历”的盲目性,而是精准锁定那些与自身能力契合度高的机会。### 三、跳槽的“架构设计”:如何选择新机会跳槽不是简单的“换一家公司”,而是重新设计自己的职业架构。
2026-08-03 17:17:06
244
原创 CsGrafeq: 比 Desmos 更“能折腾”的几何函数画板(.NET + Avalonia)
它基于 .NET 与 Avalonia 构建,不仅具备 Desmos 的核心绘图能力,更将“可编程性”发挥到极致。Desmos 是优秀的在线工具,但它的脚本语言受限,无法脱离浏览器运行。CsGrafeq 则不同:它运行在 .NET 生态中,你可以使用 C# 或 F# 直接定义函数、控制渲染、甚至嵌入到自己的应用中。更重要的是,它的核心逻辑完全开源,你可以“折腾”任何细节——从坐标轴样式到数值算法。从简单的函数绘制到复杂的自定义渲染,它比 Desmos 更“折腾”——但这种折腾正是开发者所追求的。
2026-07-31 20:13:26
155
原创 拒绝宕机!用 Python 优雅榨干百万级 GIS 点矢量的裁剪极限
本文将带你从实战角度出发,用 Python 构建一套高鲁棒性的裁剪方案,既能处理海量点数据,又能最大化利用硬件资源。本文提供的两段代码已在实际项目经受考验(某省交通轨迹数据 300 万点裁剪,内存占用 400MB,耗时 20 秒)。- 实际测试:8 核 CPU 处理 200 万点,单线程需 45 秒,4 进程只需 15 秒,效率提升 3 倍。:对多边形构建空间索引,点查询时先通过 bounding box 过滤,避免全量几何运算,速度提升 10-100 倍。,写入速度快 10 倍,且支持压缩。
2026-07-30 19:26:52
236
原创 【Agent Harness】Gliding Horse 的 L2 作战地图:让多 Agent 协作从“摸黑”变成“透明”
在多 Agent 系统开发中,协作的“黑盒”问题一直是团队协作与调试的痛点:Agent 之间如何通信?今天,我们结合 Gliding Horse 框架的 L2 作战地图(L2 Operation Map),用实战代码带你体验如何将多 Agent 协作从“摸黑”变成“透明”。建议你在自己的多 Agent 项目中尝试集成,体验从“黑盒”到“地图”的转变。运行以上代码,你会看到清晰的执行链路。通过注入一个“侦查器”(Harness),我们可以在运行时捕获所有 Agent 交互数据,并生成可查询的执行图。
2026-07-27 19:58:02
218
原创 [Python]标准库argparse解析命令行参数使用介绍
能帮你优雅地解决这些问题:- 自动生成帮助信息- 支持位置参数和可选参数- 自动进行类型转换和错误检查- 支持子命令(如 git 中的 add、commit)## 快速入门:第一个 argparse 程序让我们从最基础的例子开始。在日常的 Python 开发中,我们经常需要编写可以被命令行调用的脚本。支持多种参数类型,以下是常用配置:| 参数 | 说明 | 示例 ||------|------|------||的顺序输入参数,一旦参数顺序错误或忘记输入,程序就会崩溃。可以自动将字符串参数转换为指定的类型。
2026-07-25 00:04:36
230
原创 Agent 工具到底怎么选?
无论你是开发聊天机器人、自动化工作流,还是构建复杂的多Agent系统,选择合适的工具都至关重要。这时,多Agent系统(如CrewAI或AutoGen)允许你定义不同角色的Agent,它们各自拥有专属工具,并协同工作。这个例子展示了Agent工具的核心模式:模型决定何时调用工具,工具执行后结果被反馈回模型,最终生成自然语言回复。## 基础概念:单个Agent的构建让我们从最简单的例子开始——一个基于OpenAI API的单个Agent,它可以根据用户指令调用计算器工具。选择这类工具时,需要评估:-
2026-07-24 23:37:59
235
原创 Dario 常驻 Codex|从生图到安装,手把手带你换一套 Codex 皮肤
# 总结通过本文,我们从原理上理解了 Codex 皮肤系统如何通过 CSS 注入实现深度定制,并用 Python 生成了 Dario 风格的背景图,最后构建了一个完整的 Codex 扩展。记住,好的皮肤设计不仅要好看,还要考虑代码可读性和性能平衡,这才是技术美学的精髓。而“换皮肤”不仅是外观美化的过程,更涉及到 Codex 的主题系统、CSS 注入机制以及扩展的生命周期管理。## 构建 Codex 扩展安装皮肤有了图片后,我们需要创建一个 Codex 扩展来注入 CSS,并引用这张图片作为背景。
2026-07-24 23:35:24
259
原创 比较优雅地编码
命名很重要,随便一本逻辑学教材(如果读者有兴趣,此处推荐《逻辑学导论》)里都会有长篇大论来讨论命名的问题,我国古代在人才辈出的百家争鸣时期曾经出现过一个学派叫“名家”,专门讨论命名的问题,比如著名的“白马非马”、“离坚白”等,有空读读还是挺有趣的,比玩王者荣耀还有趣。保持良好的态度是指如果预知了有人会看自己的代码,那么就会自觉地尽量把代码写工整,即使审查代码的人偷懒没有真真看过,正所谓,如果人人都相信三尺之上有神灵,那么也就没人做坏事了,宗教的积极意义就在于此,扯远了。丁酉年夏,鹏镇守武汉。
2026-07-22 17:09:20
168
原创 Skills:是什么、怎么找、如何开发?(最通俗易懂版)
当球飞过来,我拿起球拍,在合适的时机、用合适的力度击球,让球准确落在对方场地,这一整套操作逻辑,就叫“技能”。你会骑自行车,你会做饭,完成这些事情的整套操作逻辑,都是一项项技能。Claude Code 启动的时候会自动扫一眼你所有 Skill 的元数据(大概一百个 token,不占地方),它就知道:“哦,这是个写公众号的活儿,主人有规矩的,我按规矩来。每次开新对话,你都得重新交代一遍:“我是写公众号的”、“语气要随意”、“别用 emoji”、“先列提纲”、“标题要带情绪”、“加粗要克制”……
2026-07-21 16:31:33
193
原创 先搞懂加密两大底层分类:对称加密 & 非对称加密
依据《中华人民共和国密码法》,SM2、SM4是国家密码管理局发布商用密码标准,完全自主设计,核心算法、参数、标准体系不受国外管控,现已全部纳入ISO国际标准。在国产服务器、飞腾、鲲鹏芯片环境下运行稳定,是国内数据库、物联网、政务内网加密首选对称算法。根据《商用密码管理条例》,政务、金融、能源、交通等关键信息基础设施,必须使用自主商用密码保障核心数据安全,规避海外算法潜在管控风险。非对称加密 RSA、SM2 公私钥分离、可签名验签、安全交换密钥 HTTPS证书、身份认证、软件签名、密钥协商、区块链。
2026-07-21 16:29:24
313
原创 PublishAotClang 是什么?
PublishAotClang 是一个 NuGet 包,用 Zig 包装成 Clang 工具链环境,专门帮助你在 Windows 上把 .NET 项目 PublishAot 到多种 Linux RID。它并不是运行时,也不是编译器本体,而是一个 构建环境注入器。解决了哪些痛点?✅ 1. 内置 Zig 工具链(Windows 免装)#引用的是 Vezel.Zig.Toolsets,NuGet 还原即可使用:不需要你手动装 Zig不需要配 PATHCI 与本地开发环境一致性极高。
2026-07-19 21:06:55
179
原创 | 端口本身没区别,暴露方式才是关键
真正的差别在于,生产环境里的 80/443 往往不是直接打到应用容器,而是先经过一层统一入口,比如 WAF、负载均衡器、Nginx 反向代理。80/443 是公开 Web 服务常见入口,而像 8028、8035 这样的非标准高位端口,一旦开放,往往更像测试后台、内部系统或未加固服务,因此更容易成为重点探测对象。一句话总结:80/443 和 8028 在协议层面没有高低贵贱,但在生产架构里,前者通常属于“被统一保护的入口”,后者如果直接外放,往往就是“裸露的内部服务”。这就是两者在安全上最关键的区别。
2026-07-19 21:06:04
161
原创 七、实战演示
首先,利用api-testscript-generator 技能 为被测项目shop-lab一键生成好测试脚本,比如生成好的项目脚本目录为:shop-lab-api-test (之前有文章分享过,此处不再重复)4、收到上述执行提示词后,技能会进行自动解析成测试框架能理解的执行意图,最终将执行翻译为:test 环境,冒烟测试,登录模块(auth),4 线程并发,失败重试 2 次,并询问用户是否确认。在 test 环境跑一下shop-lab-api-test 项目登录模块的冒烟测试。
2026-07-18 20:34:11
219
原创 Service 业务实现层 ChatServiceImpl
核心业务处理,包含会话防并发创建、消息事务入库、WebSocket推送、离线消息补发、批量已读标记。核心复杂SQL:联表用户获取昵称头像、子查询实时统计未读、昵称模糊搜索、双人会话唯一查询。功能:会话管理、消息存储、未读计数、消息推送、离线消息补发。log.warn(“会话创建冲突,重新查询会话记录”);事务方法:保存消息、更新会话最后消息、未读数自增。// 事务外推送消息,推送失败不影响消息存储。// 统一大小ID存储,保证双人会话唯一。// 事务入库、更新会话、未读数+1。
2026-07-18 20:33:05
251
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅