- 博客(60)
- 收藏
- 关注
原创 DotMemory系列:5. 如何实现自动化抓取和应用自托管
前面几篇我们都是手工安装 dotmemory 软件,然后在程序的合适时机抓取snapshot,这种方式在绝大多数场景下都没有问题,但在一些精细化的场景下,如果能够实现自动化抓取,那就比较🐂👃了,这篇我们就来聊一聊这玩意。,不要小看这个 Console,它可以跨平台,也可以集成到各种 自动化发布工具 里面去,这里我就简单演示下在 ubuntu 上如何用 console 版抓 .net 程序的 snapshot 到 windows 上分析。方法自动化抓取snapshot,这个让你在UI上点击,你根本无法做到
2025-11-21 12:42:30
371
原创 C# 14 新功能全面解析:提升生产力与性能的革命性更新
本文将深入解析这些新功能的设计原理、应用场景及实际价值,帮助开发者快速掌握C# 14的核心优势。C# 14的扩展成员(Extension Members)允许开发者在不修改原始类型的前提下,为现有类型添加属性、运算符甚至静态成员。传统属性开发中,简单的自动属性(Auto-Property)一旦需要添加逻辑(如空值检查),就必须重写完整属性。例如,原先的扩展方法可逐个替换为扩展块内的成员,而不会破坏现有代码。C# 14不仅是语法糖的集合,更是对开发范式的升级,值得所有.NET开发者深入探索。
2025-11-21 12:41:31
307
原创 SQL进阶必备:从计算字段到多表联结,让查询效率翻倍!
这6章内容层层递进,从“处理单表数据”(计算字段、函数),到“统计单表数据”(汇总、分组),再到“跨表关联数据”(子查询、联结),本质是逐步提升数据处理的“维度”和“灵活性”。
2025-11-21 12:39:44
912
原创 通过liquibase实现一个简单的数据库适配器,自动适配60+数据库
最近我打算开发一个数据库适配器,核心目的是实现数据库表结构语句的动态执行,比如常见的创建/删除操作——涉及表、视图、索引、序列等各类数据库对象。当然,这个组件的理想状态是能自动适配主流数据库,用户无需纠结不同数据库的语法差异,只用专注于对应操作的数据结构定义就行。之前写过一篇关于liquibase集成使用的文章。
2025-11-21 12:38:30
548
原创 博客写作者该何去何从
如果 A 拿着 inode 的锁再去要 AGF 的锁, 而 B 拿着 AGF 的锁再去要 inode 的锁, 就会变成 “你等我,我等你” —— 这就是典型的死锁(deadlock)。解析xfs_buf地址,顺着 xfs_buf → xfs_trans → xlog_ticket → task_struct.pid 反查,锁持有者落到下一条堆栈(关键堆栈2)。#9 xfs_read_agf / xfs_alloc_read_agf [xfs] ← 正在尝试拿 AGF buf。
2025-11-20 17:33:25
399
原创 【GitHub每日速递 】告别手动查资料!这两个开源项目(.k+星)让 AI 帮你做深度研究,报告自动生成
具体实现: 这一步是标准的监督学习。SFT 赋予了模型遵循指令的基本形态,使其能够生成符合格式要求的、有意义的回答,为后续的优化步骤打下坚实的基础。“对齐税”问题: 论文敏锐地发现,经过 RLHF 对齐后的模型,在一些传统的 NLP 基准测试(如 DROP, SQUADv2)上出现了性能下降的现象,这就是所谓的“对齐税”。总而言之,InstructGPT 不仅为我们提供了一个更“听话”的模型,更重要的是,它为如何让越来越强大的 AI 系统与人类社会更好地协同,提供了一套切实可行的工程范式和深刻的研究启示。
2025-11-20 17:32:17
347
原创 tHub每日速递 】从 到 玩 AI 开发:OpenManus 免邀请、ChatDev 自动组队、MetaGPT 全流程,总有一款适合你
我在动态方法调用中遇到的最大问题之一是集成开发环境(IDE),如 PhpStorm,很难理解它们的使用。例如,如果你想在 PhpStorm 中重命名一个方法,它将无法找到所有引用(因为它们是动态的),也不会为你重命名它们。所以如果你正在阅读这篇文章并在自己的代码中使用它们,请不要认为我在侮辱你的代码。过去,我曾被诱惑删除 IDE 标记为未使用的方法,后来才发现它们确实通过动态方法调用被使用了。在上面的方法中,我们使用了 "match 表达式"来读取负载的 event 字段,然后根据其值调用相应的方法。
2025-11-20 17:31:12
388
原创 [深度学习] 大模型学习-高效微调框架Unsloth使用指北
特点: 随机访问速度快(可直接 “按地址读取”,类似 RAM),支持 “代码在 Flash 中直接运行”(XIP,eXecute In Place);密度低(容量小),价格高(单位容量成本高),擦写速度慢(尤其大容量擦除)。H7的内部内存分为了ITCM,DTCM,AXI SRAM,SRAM1,SRAM2,SRAM3,SRAM4和备份SRAM。速度中等(比 SRAM 慢),功耗较高(刷新需要耗电);容量小(通常 KB 级,最大几 MB),速度慢(擦写时间毫秒级),寿命有限(通常 10 万次擦写)。
2025-11-20 17:29:51
758
原创 强化学习系统性学习笔记(一):从理论基础到策略优化
torch.Tensor 类型的 .shape 属性比较特殊,是一个数组类型,主要用于存储当前类型的结构,要结合上下文才能判断,例如在当前训练中,x.shape 值是 [64,1,28,28],shape[1] 是图像的通道,1 是灰色,3 是彩色(RGB三通道);为了训练模型,需要定义一个损失函数和一个优化器,损失函数的主要作用是衡量模型的预测结果与真实标签之间的差异,即误差或损失,有了损失函数后,通过优化器可以指导模型参数的调整,使预测结果能够逐步靠近真实值,从而提高模型的性能。
2025-11-20 17:28:30
345
原创 【GitHub每日速递 】无需注册!本地开源AI应用构建器Dyad,跨平台速下载!
PaddleOCR-VL 的核心组件是 PaddleOCR-VL-0.9B,它创新性地将 NaViT 风格的动态分辨率视觉编码器与轻量级 ERNIE-4.5-0.3B 语言模型相结合,兼具结构理解力与资源效率。本文将详细演示如何通过 GPUStack 平台,在本地环境中完成 PaddleOCR-VL 模型的推理部署,并展示其在真实文档解析任务中的表现。由于 PaddleOCR-VL-0.9B 模型位于下载的模型目录的 PaddleOCR-VL-0.9B 子目录下,需要修改为指向该目录进行部署。
2025-11-19 21:30:32
450
原创 python.版本的free-threading功能体验
当然,线程本地缓存也不是没有缺点的,线程本地缓存毫无疑问增加了内存的开销,规格繁多的本地池化内存段对象多数时候都只会静静地在缓存中等待被使用(视为内部碎片),因此线程本地所能缓存的池化内存段数量是被严格限制的,使用者需要在池化内存分配效率与空间利用率的取舍上达成平衡。后续每次被额外依赖,被引用数自增1;jemalloc的论文中提到,内存分配作为一个高频的操作需要尽可能的减少线程的同步竞争以提高效率,大量线程都阻塞在同步锁上会大大降低内存分配的整体吞吐率,通过引入线程本地缓存可以显著减少同步竞争的频率。
2025-11-19 21:27:47
574
原创 ,我感觉“本科岁是小坎,专科岁是小坎。岁是大坎”。我考了软件的软件架构师,轻松过了小坎,我快岁时,旧同事至少一半已经转行。现在我已经 ...
嘉崩酚讲1. 球谐光照(Spherical Harmonics)模型 内存占用 GPU消耗 动态支持 视觉质量。URP混合方案 中 中 ★★★★☆ ★★★★☆。球谐光照 极低 极低 ★★★★★ ★★☆☆☆。反射探针 中-高 中 ★★★☆☆ ★★★★☆。SSR 低 高 ★★★★☆ ★★★★☆。核心方案:反射探针 + 球谐光照。开放世界:球谐为主+关键区域探针。球谐光照提供高效的漫反射环境光。实时动态物体也能接收球谐光照。高端设备:完整反射探针+球谐。将环境光信息编码为球谐系数。存储为立方体贴图或2D贴图。
2025-11-19 21:24:04
369
原创 【】部署Asp.Net MVC 网站到Winodws Azure
Middleware: 针对不同的执行时序节点,系统提供了三种 Middleware: Middleware System、Middleware Global和Middleware Local,从而可以实现更精细化的切面逻辑。this.scope.model.xxx: 没有使用依赖注入,而是使用依赖查找,直接通过 scope 对象获取 model 实例,从而简化代码的书写风格。外部切面: 在不改变 Class 源码的前提下,从外部为任何 Class 的任何方法切入逻辑。匮忠臣温VonaJS AOP编程。
2025-11-19 21:13:17
405
原创 返回不重复数的实现 另类实现方式
我们都知道CPU就像计算机的“大脑”,但在深度学习的模型训练领域中,反而GPU更常用,尤其是在较大的模型训练中,GPU 是深度学习的“加速引擎”,它用大量并行核心,把神经网络训练和推理中重复、耗时的矩阵运算做得又快又高效,所谓的“租用服务器让模型跑快点”,实际上就是利用服务器的较先进的GPU。我们本篇的主要目的还是展示模型构建的过程,在之后的课程学习里,会涉及更多更复杂的算法,函数与优化等,我们到时使用其再来试试在猫狗二分类数据集上的分类效果。这样,我们就完成了预处理部分。
2025-11-18 22:31:40
403
原创 什么叫做类型?简单地说,类型就是把内存中的一个二进制序列赋予某种意义。这篇随笔系统地介绍了JavaScript的类型。 ...
而且是纯粹的那种,不要框架,只依赖原生。早期 JavaScript 没有类的概念,通过 “构造函数+原型链” 模拟面向对象,this 因“动态绑定”特性,从强类型语言的角度看,其表现堪比怪物,this 指向完全依赖调用方式,稍不注意就出错。继承的先父后子,无论是隐式调用父类无参构造,还是显式调用有参构造,父类的构造函数总是先执行,父类成员先行完成初始化,不会出现子类访问未就绪的父类属性的情况。JavaScript 的 this 像怪物,核心是指向由函数调用时的方式决定,属于动态绑定,而非定义时的静态绑定。
2025-11-18 22:28:22
394
原创 Asp.Net 网站优化系列 数据库优化 分字诀 分表(纵向拆分,横向分区)
已删除: $ai_patrickLiu_dir" || echo "?启动脚本: $(ls -ld "/usr/bin/patrickLiuFileBrowser" 2>/dev/null | awk '{print $1 " " $3 ":" $4}' || echo "未知")"AIBroker 目录: $(ls -ld "$AIBROKER_DIR" 2>/dev/null | awk '{print $1 " " $3 ":" $4}' || echo "未知")"权限设置失败,继续尝试删除"
2025-11-18 22:24:37
361
原创 系统设计与规划--一点总结
但今天读到的一篇文章《Java Performs Better When You Misspell Variable Names》,把这条铁律里的“性能部分”掀了桌:在 Java 的某些栈中,刻意缩短、甚至“错拼”的变量名,可能真的让服务更快。用 JMH 写对照实验,两个版本代码逻辑完全一致,唯一变量是“命名长度与形态”:一个版本用规范、完整、可读的名字,另一个版本把元音删掉、前缀缩短、偶尔把名字变得更随机。毕竟,在工程世界里,漂亮的代码不一定是最快的代码,而我们有时需要的,是能顶住流量的那一段真实提升。
2025-11-18 22:20:10
244
原创 设计模式系列-适配器模式
Console.WriteLine($"性能提升:{((watch1.ElapsedMilliseconds - watch2.ElapsedMilliseconds) / (double)watch1.ElapsedMilliseconds):P2}");这会延长对象的生命周期,因为 GC 会认为这个对象 “仍在被使用”。例如,元组解构时,var (_, name, _) = data 生成的 IL 代码仅包含对 name 的存储指令,而传统方式会包含所有成员的存储指令,减少了 CPU 执行的指令数。
2025-11-18 22:16:10
354
原创 从零开始学习jQuery (七) jQuery动画-让页面动起来!
payload加入main函数,原因:32位和64位的结构不同,32位调用一个函数需要返回地址,之后再调用其他的进行传参,而且32位是用栈传递参数的,而64为使用比如rdi,rsi等寄存器进行传参,因此需要插入一个 main 函数作为返回地址。但是不知道为什么 ciscn_2019_ne_5 可以跑通。name 中可以保存字符串,因此我们在 name 中输入 /bin/sh,那么我们就可以利用变量 name 的内存地址,得到 system('/bin/sh'),从而得到shell。
2025-11-17 21:19:16
149
原创 Visual Studio and .NET Framework Beta 发布了
这种分离设计保证了文档的可读性和配置的安全性。名单包括:@a74nh、@am11、@filipnavara、@huoyaoyuan、@martincostello、@Sergio0694、@vcsjones 等 15 位成员。大量使用 @dotnet/xxx 形式的团队标签(如 @dotnet/jit-contrib、@dotnet/ncl),便于批量通知和责任追溯。垃圾回收(GC):CoreCLR 的 GC 由 @Maoni0 负责,Mono 的 GC 由 @agocke 负责并咨询 @BrzVlad。
2025-11-17 21:11:04
247
原创 高性能WEB开发() - flush让页面分块,逐步呈现
这个SQL最大的问题就是标量子查询 (SELECT count(*) FROM ORDER_EXECUTION@DB_LINK c WHERE c.ORDER_NO=A.ORDER_NO AND c.DELETE_FLAG='0')更糟糕的是,完成数被计算了两次(一次用于显示,一次用于计算剩余数),所以实际上子查询执行了2000次!SQL的编写尽量少采用复制、粘贴的方式来实现,最后是根据业务逻辑梳理清楚后再编写SQL语句,可减少SQL的复杂度,也可以减少表的多次访问。
2025-11-17 21:07:02
323
原创 经过一年时间的沉淀 再次回首 TCP Socket服务器编程 (二)
他们讨论了即使是看似微不足道的细节,不仅要提供符合标准的实现,还要提供一个干净、健壮的 API,引导开发者为他们的用例找到正确的解决方案。我们还提前规划,确保新的 URI 扩展及其专用的 Uri 命名空间为在未来版本的 PHP 中添加额外的 URI/URL 相关功能提供了清晰的路径。例如,这两个库都不包含廉价复制内部数据结构的功能,而这对于支持在尝试使用所谓的 with-er 方法(例如 ->withPort(8080))修改各个组件时克隆表示已解析 URL 的只读 PHP 对象是必需的。
2025-11-17 21:02:24
381
原创 Hacker传说之不能说的秘密
这篇论文语义Id的生成也是用的tiger论文提出的RQVAE方法,只不过这里是将语义Id用于排序阶段,将语义Id作为增强特征与其他特征进行拼接后,送入传统的排序模型。然而,这种“死记硬背”的方式也带来了明显的弊端:模型对新出现的、缺乏交互的长尾物品束手无策,因为这些随机ID本身不携带任何语义信息,无法帮助模型进行泛化推理。原理: 借鉴NLP中广泛应用的SentencePiece模型,该方法不再使用固定的N,而是根据ID组合在训练数据中出现的频率,动态地、自适应地学习最优的子词切分方案。
2025-11-17 20:57:42
890
原创 CQRS实践(): Command的实现
伽马校正是对颜色值进行非线性变换的过程,其核心是通过幂函数(γ函数)调整亮度值,使人眼感知更均匀。数学表达式为:输出 = 输入^γ,其中γ=0.45用于编码(sRGB到线性空间),γ=2.2用于解码(线性空间到sRGB)。// 线性转sRGB。:8位色深(0-255)下,通过伽马编码为暗部分配更多值域,亮部分配较少值域,更符合人眼感知特性。在PS中工作于线性空间(编辑→颜色设置→RGB工作空间改为"显示器RGB"):在线性空间计算光照和混合(如PBR),避免亮度计算错误。// 手动伽马校正(线性空间计算)
2025-11-16 15:35:34
509
原创 MVVM(Knockout.js)的新尝试:多个Page,一个ViewModel
HDRP引入更高精度的光照贴图UV生成和分辨率控制,URP随后适配简化版流程,如自动生成Lightmap UVs功能。Unity 5.x之前采用Enlighten光照系统,仅支持静态物体烘焙,动态物体需依赖Light Probe间接光照。URP整合了轻量级烘焙管线,支持混合光照模式(Mixed Lighting),允许静态物体烘焙阴影与动态物体实时交互。光源设为Mixed模式,静态阴影烘焙到光照贴图,动态物体接收实时阴影。:远景物体降低Scale In Lightmap值。
2025-11-16 15:31:23
370
原创 czperfectaction
一个或少数几个事件循环线程负责等待I/O事件,并将就绪的任务分发给工作者线程池(Worker Threads)处理,实现了I/O操作与业务逻辑的解耦。其核心价值在于,它将应用程序从低效的I/O等待中解放出来,实现了“一次等待,响应多个事件”的高效并发模式。因此,当应用程序调用epoll_wait时,内核只需返回这个就绪队列的内容,其时间复杂度为O(k)(k为活跃连接数),与被监视的文件描述符总数无关。从本质上看,I/O多路复用仍属于同步I/O,因为应用程序在调用epoll_wait时是阻塞的。
2025-11-16 15:27:21
337
原创 Logstash实践: 分布式系统的日志监控
AI也是如此,给它什么样的提示词,就会得到什么样的回答。以前我也是这样,每次长假后的第一周都像在调试一个状态异常的系统,各种报错和性能问题接踵而至。现在是2025年10月7日,国庆假期倒数第2天(明天10月8日是假期最后一天,10月9日上班)。定义了明确的输出格式,确保每次得到的信息都是完整和一致的。国庆假期还有2天结束(今天10月7日,后天10月9日上班),现在感觉[描述你的状态]。你是企业心理健康顾问。- [ ] **21:00** 进行10分钟"4-7-8呼吸法"(吸气4秒,憋气7秒,呼气8秒)
2025-11-16 15:23:08
771
原创 测试案例拆解:ab测试/可用性测试一步到位
测试:AB测试与可用性测试的实践指南 引言 在软件开发中,如何确保产品功能符合用户需求并提供良好体验至关重要。这就引出了测试环节,其中AB测试和可用性测试是关键
2025-11-16 14:46:49
436
2
原创 Lucas_coming
随后使用binlog_summary.py(具体用法可参考:Binlog分析利器-binlog_summary.py)对延迟开始时段的四个 binlog 文件( binary-log.005636 ~ binary-log.005639 )进行了分析,发现这些 binlog 的操作模式十分相似:操作次数排名前两位的均为同一张表biz_schema.tbl_product_service_mapping01的 DELETE 与 INSERT 操作。需要注意的是,这个实例的事务隔离级别是 RC。
2025-11-15 16:37:14
432
原创 如果事先没有定义静态关系,在实际代码中,我们就需要提供一种使用动态关系的机制,让我们的查询、类型推断、DTO推断等能力得以正常使用。 ...
在Goroutine分析中,可以锁定真正的问题所在了,在go-zero的core包下的collection文件在不到一秒内创建了两万多的Goroutine,虽然两万多数量不多,但是这个速度十分异常,最重要的是这个定时轮就很奇怪,这个项目中根本没有定时任务,接下来就很容易查询了,只要查找这次提交的代码中哪里使用到了collection包。其实不是的,是我们使用方法错误,正确的使用方法不应该将缓存创建在上下文中,而应该创建一个全局缓存,让所有的上下文都公用这一个缓存,这样就不会发生定时轮无限创建的问题。
2025-11-15 16:32:18
264
原创 如何正确使用SetThreadExecutionState来阻止Windows进入睡眠
一旦虚拟机成功启动,Docker命令行工具就会自动连接到Colima提供的Docker守护进程,此时我们就可以在Mac上正常使用所有Docker命令了。# 当未指定时,会从https://github.com/abiosoft/colima-core/releases下载适当的磁盘镜像。colima start --cpu 1 --memory 2 --disk 10 ## 指定配置启动。# docker daemon的配置,即`daemon.json`# 为虚拟机指定自定义磁盘镜像。
2025-11-15 16:27:10
193
原创 测试实用指南:testlink + 压力测试
测试:从入门到精通 在软件开发过程中,测试是不可或缺的一环,它直接关系到软件的质量和稳定性。本文将围绕测试展开,重点介绍 testlink 工具以及压力测试的相
2025-11-15 03:11:28
362
原创 测试指南:压力测试、功能测试与测试验证
测试:保障软件质量的关键环节 在软件开发过程中,测试是不可或缺的一环。它能帮助我们发现软件中的问题,确保软件的质量和稳定性。本文将重点介绍压力测试和功能测试,带
2025-11-15 03:06:23
414
原创 FFmpeg原始帧处理-滤镜设置视频宽高比
在Goroutine分析中,可以锁定真正的问题所在了,在go-zero的core包下的collection文件在不到一秒内创建了两万多的Goroutine,虽然两万多数量不多,但是这个速度十分异常,最重要的是这个定时轮就很奇怪,这个项目中根本没有定时任务,接下来就很容易查询了,只要查找这次提交的代码中哪里使用到了collection包。其实不是的,是我们使用方法错误,正确的使用方法不应该将缓存创建在上下文中,而应该创建一个全局缓存,让所有的上下文都公用这一个缓存,这样就不会发生定时轮无限创建的问题。
2025-11-14 14:07:39
584
原创 手搓一个可以自动化对比yolo模型性能曲线的工具
一旦虚拟机成功启动,Docker命令行工具就会自动连接到Colima提供的Docker守护进程,此时我们就可以在Mac上正常使用所有Docker命令了。# 当未指定时,会从https://github.com/abiosoft/colima-core/releases下载适当的磁盘镜像。colima start --cpu 1 --memory 2 --disk 10 ## 指定配置启动。# docker daemon的配置,即`daemon.json`# 为虚拟机指定自定义磁盘镜像。
2025-11-14 14:02:41
294
原创 .NET 中GC(垃圾收集器)默认启用DATAS
/ 上传路径(类似目录).endpoint("http://localhost:9000") // MinIO 地址。-v /Users/zhangyong/docker/minio/config:/root/.minio:保存配置。-v /Users/zhangyong/docker/minio/data:/data:映射数据目录。
2025-11-13 16:47:45
417
原创 刚刚,DeepSeek又一重大突破,小身材大智慧玩出新高度
因为终结器的执行顺序是不固定的,当SampleObject对象被终结器触发析构函数时,其他对象(比如_mo)可能也触发了析构函数。造纸在SampleObject执行Dispose时,有可能_mo的Dispose()方法被执行了2次(自身一次,外部调用一次),从而造成意外后果。释放模式是Dispose模式和析构函数(finalizer)的结合使用,目的是为了确保资源能够被正确释放,无论是通过显式的调用Dispose方法,还是在对象被垃圾回收器(GC)回收时触发析构函数。正常情况下我们的代码问题不大。
2025-11-13 16:42:23
306
原创 数据库设计 Step by Step ()
/ 上传路径(类似目录).endpoint("http://localhost:9000") // MinIO 地址。-v /Users/zhangyong/docker/minio/config:/root/.minio:保存配置。-v /Users/zhangyong/docker/minio/data:/data:映射数据目录。
2025-11-12 15:06:07
406
原创 我对面向对象分析与设计与实现的一些看法
因为终结器的执行顺序是不固定的,当SampleObject对象被终结器触发析构函数时,其他对象(比如_mo)可能也触发了析构函数。造纸在SampleObject执行Dispose时,有可能_mo的Dispose()方法被执行了2次(自身一次,外部调用一次),从而造成意外后果。释放模式是Dispose模式和析构函数(finalizer)的结合使用,目的是为了确保资源能够被正确释放,无论是通过显式的调用Dispose方法,还是在对象被垃圾回收器(GC)回收时触发析构函数。正常情况下我们的代码问题不大。
2025-11-12 15:00:45
359
原创 为什么i++不是原子操作?一个让无数并发程序崩溃的“常识”
/ 上传路径(类似目录).endpoint("http://localhost:9000") // MinIO 地址。-v /Users/zhangyong/docker/minio/config:/root/.minio:保存配置。-v /Users/zhangyong/docker/minio/data:/data:映射数据目录。
2025-11-11 14:27:55
283
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅