- 博客(28)
- 收藏
- 关注
原创 构建 Java GIS 工具库:从碎片化 API 到统一抽象的设计实践
如果你在 Java 生态里做过空间数据处理,大概率经历过这样的场景:读一个 Shapefile 要用 GeoTools 的 DataStore,做几何运算要切到 JTS 的 Geometry 对象,空间分析想跑得快一点又得换 ESRI Geometry API,而处理 FileGDB 还得单独装上 GDAL,调它的 Java 绑定。JTS 的几何模型设计严谨,GeoTools 的格式覆盖面广,ESRI 的算子性能优秀,GDAL 的底层能力无可替代——问题出在它们没有人为业务开发者做"减法"。
2026-07-11 13:51:31
213
原创 从链式调用到图式自治:LangChain与LangGraph核心差异与落地选型全解析
配合原生的 Checkpoint 检查点机制,框架会自动记录每一步的运行快照,轻松实现流程暂停、人工介入修改、异常自动重试和断点续跑等高级能力,完美适配生产级长流程任务,极大降低了复杂场景的开发与维护成本。直白地说,LangChain 解决的是「快速落地有无问题」,主打高效、轻量化和低门槛。它的底层执行逻辑依托链式 Pipeline、线性 Workflow 和基础 DAG,是一种典型的「单向流水线」模式:流程从上到下依次执行,节点跑完即结束,没有回头迭代的能力,天生不支持自主循环、动态分支和流程回溯。
2026-07-11 13:50:57
225
原创 微调LLM前你需要了解的一些概念2--多头注意力机制
reshape 把最后的 hidden_size 维拆成 num_heads × head_dim,变成 [batch, num_heads, seq_len, head_dim],让每个 head 拿到自己对应的 Q/K/V 子空间并独立计算 attention。但不同层的 Q/K/V/O 参数不共享,因此第 1 层的 Head 1 和第 20 层的 Head 1 不是同一个东西,它们会学习不同层次的关系。第 1 层的 Head 1 和第 20 层的 Head 1 不是同一个 head。
2026-07-10 14:07:07
201
原创 形式化方法 × UML
想象一下,如果你在写Java的分布式锁、订单状态机、或者线程池调度逻辑时,能在编码前就用数学证明没有死锁、没有竞态条件,那还要什么synchronized的盲目试错?现在才明白,当你能用用例图、类图、时序图清晰表达"系统里有什么对象、它们如何交互",你就掌握了Java面向对象的本质。在Java多线程的混沌世界里,线程调度、内存可见性、指令重排序的组合是天文数字,人脑根本穷举不完。这就是形式化方法的魅力——把"人脑穷举"变成"机器自动证明"。好的Java工程师,既要有摸象的胸怀——能驾驭复杂性,与各方沟通;
2026-07-10 14:06:28
185
原创 开源自荐:功能齐全的截图工具(含录屏、截长图,体积仅780KB)
取景框,支持快捷键复制 RGB 颜色(Ctrl+R)、 HEX 颜色(Ctrl+H)与 CMYK 颜色(Ctrl+K)。撤销(Ctrl+Z)、重做(Ctrl+Y)、保存为文件(Ctrl+S)、保存到剪贴板(Ctrl+C或双击)。绘制填充、非填充的椭圆、正圆(按住Shift)、矩形、正方形(按住Shift)、箭头、标号等。绘制曲线、直线(按住Shift)、马赛克、橡皮擦、文本。滚动截图(截长图)、屏幕录制(输出Gif\Mp4格式)。截图、绘图标注、滚动截图(截长图)、录屏。
2026-07-09 13:50:05
242
原创 还在 XHR、Fetch 和 Axios 之间纠结?我踩过的坑,希望你一个都不用碰到
XHR 对请求状态的判断特别啰嗦,onload 只处理成功,网络错误你得监听 onerror,超时还得单独设 timeout,漏掉一个线上就能崩给你看。根据以往的血泪经验,正确的做法还是要先检查 res.ok,不 ok 立刻手动抛出一个错误,不然等线上用户截图过来,你 debug 都找不到北。你可能会问,“这也没有回调地狱呀”,那试想一下,你在第一个请求200后,需要再用返回数据进一步请求呢?但很不爽的是,它那个“只拒网络错,不拒 HTTP 错”的臭脾气,让我实实在在地翻过几次车,怎么改都拿不到数据。
2026-07-09 13:49:30
178
原创 一文看懂fofa常用语法,告别混淆,精准打击!
这里其实有个问题是正常情况下如果host=".baidu.com"才会进行模糊查询,但是在刚才的图中我们可以发现没有加.也会有好多子域名,这个就涉及到了fofa的匹配机制、IP反查和证书的关联问题,具体这里就不说了。,比如某个漏洞组件特有的 JS 文件路径、某个前端框架特有的变量名、或者企业网站脚部固定的备案号/版权声明。:有严格的域名后缀层级算法,出来的是百度官方的子域名(如 xxx.baidu.com)点开第一个地址的链接并进行抓包,可以看到host头中就有我们搜索时用到的。这样看到的就更加清楚了。
2026-07-08 14:03:19
239
原创 PyTorch KernelAgent 源码解读 ---(6)--- Composer
user/compose_end_to_end.py 是 Fuser 管道中的最后一个关键步骤,它将分散的、针对特定子图优化的 Triton 内核无缝地整合成一个单一的、高性能的端到端 Triton 内核,同时确保其功能与原始 PyTorch 实现的数值等价性。Composer的架构图如下,其功能概括是一句话:把所有验证通过的子图内核+原问题喂给LLM拼成单文件。也会把错误日志让LLM修,最多重试 max_iters轮,并自动 patch 常见 Triton 陷阱。
2026-07-08 14:02:37
216
原创 一款Python语言Django框架DDD脚手架,助你快速搭建项目
基础设施通过实现领域层定义的接口(Repository、EventPublisher)完成对内供给,保证领域层零框架依赖。负责,行为和 gin-ddd / nestjs-ddd 对齐。依赖本地 libmysqlclient;用例编排 · 事务边界 · Command/DTO。Django ORM · 事件发布器 · 数据库。自动路由,业务代码感知不到多数据库的存在。步骤 3:新增 ORM 模型与仓储实现。领域层只定义事件接口,业务代码只和。聚合根 · 业务规则 · 领域事件。
2026-07-07 14:22:10
209
原创 SharpDbg 与 netcoredbg 深度对比分析
且这些类型已应用 DebuggerDisplay 和 DebuggerTypeProxy 属性进行调试优化时,SharpDbg 能够提供。
2026-07-07 14:21:20
238
原创 【Agent Harness】从“提示词玩具”到“认知操作系统”:Gliding Horse 如何重新定义 AI Agent
Gliding Horse 内置 8 个“保洁阿姨”——Batch Agent,定时做技能合并、实体解析、失败模式挖掘、记忆压缩、模板效果分析。在开发 Gliding Horse 的“行为工程系统”时,我只给了 SA 一句话:“实现一个 RootCauseEngine,当 Agent 执行出错时自动进行 5 级回溯追踪。Gliding Horse 的 Skill 是语义网络节点,可遍历、可发现、可进化。,包含 6 种语义链接类型(前置依赖、组合、关联、替代、扩展、泛化)。整个过程中,我只给了起始指令。
2026-07-06 14:21:34
203
原创 为什么我要用 C# 构建数据库引擎
多开发者熟悉的 C# 是类、垃圾回收和 LINQ。但这只是语言的一半。.NET Runtime 团队在过去十年里逐步建立了另一面能力,而这部分看起来和许多人想象中的 C# 很不一样。unsafe:原始指针、指针运算、栈上缓冲区的stackalloc、固定大小数组等。JIT 可以生成与 C 中相同类型的底层指令。。开发者可以固定字节数组,让 GC 不移动它们。Typhon 的整个页缓存都是固定内存;GC 不触碰、不扫描、不移动它。对引擎核心而言,它就是一个固定地址上的原始字节区。。ref struct。
2026-07-05 13:55:54
209
原创 Agent Harness 架构真相:Prompt Cache 如何决定 Skill、MCP 与 SubAgent 设计
最常见的错误是把所有东西都塞进系统提示词,短期看功能全了,长期看缓存差、上下文脏、工具列表膨胀、模型注意力被稀释。里会很省事,但会破坏稳定前缀。工具,Harness 为子任务创建新的 system、tools 和 messages,然后在这个新上下文里再跑一条 Agent Loop。前者简单,后者更利于缓存,因为工具 schema 会更稳定,动态 agent 清单留在消息层。父 Agent 不需要消费子 Agent 的每一步探索,也不需要把子 Agent 查过的所有文件、失败尝试、临时推理都塞回主上下文。
2026-07-05 13:54:59
249
原创 零基础也能做!用 AI 提示词一键生成 Three.js 3D 中国地图
你只需要AI 帮你做描述想要的效果生成完整代码了解 GeoJSON 数据源选择合适的技术方案知道投影中心经纬度写 Three.js 样板代码懂基础 HTML/CSS 布局处理边界情况(MultiPolygon、异常坐标等)
2026-07-04 16:17:33
260
原创 GDB函数调用栈管理
当程序进行函数调用时,系统需要保存该函数调用过程中的上下文信息,例如:函数是从哪里被调用的、传入了哪些参数、局部变量有哪些、函数返回后应该回到哪里继续执行,以及部分寄存器状态等。程序运行时,如果函数 A 调用了函数 B,那么在调用 B 的过程中,会产生 B 对应的栈帧;这也是切换栈帧的重要作用:可以回到某一层函数调用现场,查看当时传入了什么参数、局部变量是什么值,从而分析程序为什么会执行到当前位置。切换栈帧后,GDB 的上下文也会切换到对应函数中。切换到1号栈帧中,查看1号栈帧的上下文信息。
2026-07-04 16:16:55
161
原创 为什么越来越多的大厂抛弃MCP,转向CLI?
对于AI来说,上下文窗口是它拥有的最宝贵的“房地产”,而MCP的设计下,Agent还没开始干活,就已经“满”了。更严重的是,上下文中的无关内容越多,模型对真正重要内容的关注就越弱。研究人员记录了一个现象——“
2026-07-03 14:27:15
213
原创 一分钟学会C++ Lambda表达式使用
Lambda 表达式是 C++11 引入的一种,可以像函数一样使用,但无需单独定义函数。它本质上是一个匿名的函数对象(即闭包),允许在局部作用域内定义功能,并捕获其周围作用域的变量。Lambda 极大地提高了 STL 算法、回调函数、并发编程等场景的表达力。
2026-07-02 15:11:41
218
原创 洛谷-P11403 [RMI 2020] 软盘 / Floppy 题解
注意到,区间最值可以转化成笛卡尔树上 LCA。因此只需要传笛卡尔树即可。考虑单调栈建树过程。用 0/10/1 表示进出栈,这样就可以,从而唯一确定树的形态。由于每个点最多进出栈各一次,因此字符串长度 ≤2�≤2N。
2026-07-01 16:41:56
193
原创 数智同行:甄知科技2026年Q1季度回顾
燕千云深度对标 ServiceNow,降低跨国运维管理复杂度,为企业提供“高性能、低成本、强适配”的全球化运维底座。:AI 应用实现智能服务闭环,服务引擎驱动精细化运维。燕千云在 AI 时代持续磨砺竞争力,确保服务流的高效流转。:甄知科技始终对标国际领先标准,助力企业构建透明、高效且具备。甄知科技将深耕经验转化为。的 IT 运维体系。
2026-07-01 16:41:23
232
原创 如何编写一个SpringBoot项目告警推送的Starter
说白了,它不是想替代完整的监控平台,而是想先把最常用、最直接、最容易落地的告警能力沉淀成一个通用组件。
2026-06-29 15:16:56
174
原创 MiniMax-M3 开源实测:部署、推理与基准测试全记录
方给出了 MiniMax-M3 与多款主流模型的对比,在编码、Cowork、GUI、多模态与推理等多个维度均具备竞争力,其中等多模态与协作类任务表现尤为亮眼,编码上也达到。需要说明的是,目前两者均为,两大引擎主线版本对 M3 的正式支持仍需等待一段时间。本文采用 vLLM 的专用镜像进行部署与测试。vLLM 官方镜像地址为。
2026-06-29 15:16:24
394
原创 polygon出题教程
完成后可以回到“Packges”点击“Full”生成所有的数据包。在“Validatortests“中点击”Add Test“添加,随后点击“Run tests”运行检查。在“Checker tests“中点击”Add Test“添加,随后点击“Run tests”运行检查。如果需要使用数据生成器,需要在“Files”选项中的“Source Files”中上传“gen.cpp”。随后进入“statement”选项,“Language”选择“Chinese”并点击“Create”。
2026-06-28 15:04:17
179
原创 HackTheBox Cap 靶机:从 IDOR 到 PCAP 凭据提取再到 Capabilities 提权
应用系统通过用户可控的标识符(如数字 ID、文件名、UUID)来定位资源,但没有验证当前用户是否有权访问该资源,导致攻击者通过篡改标识符就能越权查看或操作他人的数据。目前来看,UDP 这块并没有高价值的信息,优先考虑打 TCP 端口,如果 TCP 那边没有思路,可以回到 UDP 端口用专门的工具进行验证。FTP 是明文协议,这意味着任何能嗅探到流量的中间人,都能直接看到你的凭据和传输的文件,我们在。这虽然不是准确的命令,但是也可能存在隐藏接口去执行隐藏命令,现在还看不出来有什么特别的。
2026-06-23 13:48:44
171
原创 SpringAI入门指南
Component@Tool(description = "根据城市名称查询当前天气")public String getWeather(@ToolParam(description = "城市名称,如'北京'") String city) {// 实际项目中调用真实天气API"北京", "晴天,25°C,北风2级","上海", "多云,22°C,东风3级","深圳", "阵雨,28°C,南风2级"
2026-06-23 13:47:55
302
原创 基于LangChain实现OpenAI Functions风格Tool Calling智能助手
按照OpenAI Functions的要求,我们将自定义工具(计算器、时间查询)封装成“名称+功能+参数描述”的标准格式,让模型能清晰识别工具的用途和调用方式。比如计算器工具,需要明确说明“用于执行简单数学运算,输入必须是合法的算术表达式”;时间查询工具则说明“无需参数,直接返回当前系统时间”。同时,为了保证安全性,我们还会对工具的输入进行校验(如计算器的表达式白名单),避免恶意代码注入。
2026-06-22 22:39:58
266
原创 AI新时代下的图床管理方案-Cloudflare图床+MCP+Skills方案指南
如果你想自己定制专属的图床 MCP 服务器,Cloudflare 官方提供了现成的 Skill,你可以让 AI 帮你一键构建:打开 Claude,输入:"帮我构建一个部署在 Cloudflare Workers 上的 MCP 服务器,用来管理我的 R2 图床,需要带 OAuth 认证"Claude 会自动触发官方的Skill,帮你生成服务器代码、配置 OAuth 认证、甚至直接帮你部署到 Cloudflare Workers 上,全程不用你写一行代码!
2026-06-22 22:39:10
437
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅