ABP DTO 与对象映射:AutoMapper Profile 配置与 Mapperly 源生成器
DTO 基类的设计 ABP 提供了标准的 DTO 基类,看其源码继承关系: // framework/src/Volo.Abp.Ddd.Application.Contracts/Volo/Abp/Application/Dtos/ // 单个实体输出 public abstract class E ...
对标 npx 的 CPX PHP 的 Composer 包执行器
对标 npx 的 CPX PHP 的 Composer 包执行器 cpx CLI 可以从任意 Composer 包中运行命令,而无需将该包安装到项目中——cpx 之于 Composer,正如 npx 之于 npm。 如果曾经使用 composer global require 安装过某个工具,随后又 ...
工控生态之展示与交互:怎么让工业软件不再"丑"
前言 大家好,我是wacky。前两篇我们聊了通信协议和数据与业务层——怎么把数据从PLC搬过来、怎么存、怎么管。数据有了,业务逻辑有了,最后一公里是:怎么把这些东西呈现给用户。 这一篇是工控上位机技术栈的第三层——展示与交互层。说白了就是界面。工控软件的界面名声一直不太好,"土味工控"几乎成了行业标 ...
修 Bug 的手艺与架构的艺术:从熵增到熵减
在 OpenClaw.NET / GoodCrew 中推动的「本体论投影 + IRDI 治理 + MetaSkill DAG」,本质上就是在构建一套可演化的熵减基础设施——让数字员工的技能组合、领域边界、数据语义都具备显式结构和版本治理,从而把「艺术」的部分尽可能地转化为「可复现的手艺」。 ...
3. 1个Tool!让Agent自动生成测试用例
上一节让 Agent 自己把需求文档读进来了。文档进了上下文,下一步就该根据需求整理测试用例,并落到文件里。create_deep_agent 的 tools 参数,就是用来扩展这类业务能力的——想让它整理用例并保存成 YAML,提供对应的 Tool 即可。 配套的动画视频在《3. 1个Tool!让 ...
GitZip Pro 源码解析:一个 GitHub 文件/文件夹下载扩展是如何工作的(六)设置页、Token 与下载历史
一个成熟扩展不能只有下载按钮。GitZip Pro 的设置页里有主题、命名规则、忽略规则、Token、历史和统计,这些配置通过 storage 反过来影响页面注入、API 请求和最终下载结果。 ...
我用AI博客搭了个后台,运维人的 Dashboard 比公司那套还精致
大家好,我是老张。 半个月前写了篇《1.8GB 内存的 VPS,被扫了 600 次后,我给它装了套全自动反导系统》,讲我怎么给博客做安全防护——Nginx 堵门、Prometheus 盯梢、Alertmanager 自动封禁。 那篇写完有读者问:安全搞这么重,那博客本身的统计和管理呢? 问得好。其实 ...
技术团队管理方案分享
工作多年,相信大部分技术人与我一样都已经走上了技术管理的岗位或者是已经在路上了;众所周知的是,管理岗之所以重要,因为领导者的短板,会变成整个团队的灾难。一个有前途的企业或是组织,如何选择一位优秀的领头人或是培养一个优秀的领头人是所有高层管理者或者BOSS最需要直面的问题。自然而然,对于基层管理岗的能 ...
windows安装ddns-go,上传动态的ipv6到自己的域名
背景 家里windows电脑也是有了公网ipv6地址了,唯一的问题就是这个地址每隔一两天就要变一次,我最近都是早上出门前,看一下电脑的最新ipv6是啥,拍个照再去公司,在公司如果有必要,就可以远程桌面回来。 是时候搞一下ddns了,dns是根据固定的域名解析成可能动态变化的ip;ddns就是调用域名 ...
Vibe Coding实战尝试,用 AI 生成闪卡 + FSRS 复习的obsidian插件
场景: 一直听说vibe coding很好用,但是最近都是做传统开发java的我,想找个机会试试。正好前几天刷头条,看到一个帖子介绍anki--闪卡,可以理解为小学那种单词卡,背后有个FSRS算法,就是根据你答题情况安排复习的频率,来加强记忆。再加上自己也是一直在用obsidian的(obsidia ...
SolonCode v2026.8.4 发布:界面字体可调、22 种语言、记忆搜索增强
SolonCode 是企业级终端编码智能体——一位全中文驱动的数字员工,自主理解需求、规划步骤、编写代码。不挑模型、不挑平台,curl 一行装完即用。 ...
Docker 查看容器日志:别只记 `docker logs -f`
排查容器问题时,很多人第一反应都是看日志。笔者也常用 docker logs -f xxx,但如果容器日志很多,这个命令可能会从很早的内容开始刷屏,等很久才看到真正关心的部分。 01 | 从最近 200 行开始看 假设容器名字是 xxx,最常见的实时跟踪命令是: docker logs -f xxx ...
从 PHP 到 AI + Golang,程序员自救转型手记(五十三):管理员日志管理和日志中间件,日志标题读取的极限优化
这是一个系列 Blog,作者将以一个 PHP 全栈工程师的身份,利用 AI 工具(claude code、codex、deepseek、豆包等):从零开始学习 golang 语言,并最终完成 ai-go-admin(github | gitee)开源项目的制作,全程记录分享。 在上一期,我们进行了 ...
千万条数据,1万QPS的实现方案
一千万条数据,1万QPS的实现方案。 需求:主表一千万条数据,每秒1万个http请求,响应时间500毫秒以内。 一次接口访问,需要调用多次数据库,所以数据库本身承载不了那么大的QPS,决方案只有一种,那就是使用缓存。 分3个场景: 场景 1:单 ID 详情查询(商品 / 基础信息,按主键查询) 1. ...
Kubernetes 生产集群 Master 节点重启导致服务异常问题排查报告
一、问题概述 1.1 故障现象 生产 Kubernetes 集群出现服务异常: kubectl 操作超时,无法正常获取集群资源: kubectl get nodes Unable to connect to the server: net/http: request canceled (Client ...
Kafka图形化工具kafka-ui介绍
前言 现所属公司使用了k8s来作为生产环境,使用了knative来作为服务基础构建,底层服务与服务之间的通信全由knative-eventing进行异步传输,broker底层使用的kafka作为消息队列存储。那么服务与服务之间的通信目前是处于黑盒状态,A到B的消息A是否发送成功了,kafka是否收到 ...
Z函数(扩展kmp) & Manacher
Z函数 定义 (后文中字符串下标默认从0开始) Z函数也可以认为是Z数组,即定义数组 \(z[i]\) 表示字符串 \(s\) 与其中以 \(s[i]\) 为开头的最长公共前缀 形式化的说,即 \(z[i]\) 表示为最大的 \(z[i]\) 满足 \(s[0 ...z[i] - 1] = s[i. ...
“打透” Harness:用 GitHub Copilot 跑通从原型、规划到实现与评审的 AI Coding 工作流
面对层出不穷的AI工具与提示词,开发者常陷“工具焦虑”。GitHub AI专家Burke Holland提出:少即是多——聚焦一个成熟Agent Harness(如Copilot),通过原型→规划→实现→评审的八步工作流,把AI用深、用透、用稳。 ...
Docker日志太多撑爆硬盘?一次搞定日志轮转与清理
运维过Docker容器的朋友,大概率都经历过这样的惊魂时刻:突然收到磁盘告警,df -h一看,根目录使用率100%。顺着路径查下去,发现/var/lib/docker/containers/下躺着好几个几十GB的日志文件。 没错,Docker默认的json-file日志驱动不会自动轮转。容器里输出的 ...
ntfy 叮:我和 AI 半天做出一个 Firefox 推送通知插件
又是一个「顺手做个小工具」的周末。这次的产物是一个 Firefox 插件——ntfy 叮 (Receive from ntfy):常驻在浏览器后台,监听 ntfy.sh 上你订阅的公共频道,一来消息就弹一条桌面通知,顺带「叮」一声。 从下午制定方案开始,到凌晨把打包好的源码丢进 Firefox 的 ...


