顺便说一下,另一篇教程:
(原创)[C#] GDI+ 之鼠标交互:原理、示例、一步步深入、性能优化 讲的更详细和深入,可以作为补充。
MinHook 对.NET底层的 SendMessage 拦截真实案例反思
这是一个
.NET某工控自动化控制系统(
https://www.cnblogs.com/huangxincheng/p/16544462.html) 的卡死故障,经过一顿分析之后,找到了最后的卡死原因,即
cogxImagingDevice.dll 中有一个 DllMain 的卸载通知,熟悉 win32 的朋友都知道,代码经过 DllMain 的时候会持有一个 LdrpAcquireLoaderLock 进程加载锁,在持锁过程中它突然向一个窗体发送 SendMessageW 消息,可惜的是这个窗体没有给予响应,一直卡死在这里,这就导致
进程加载锁 迟迟得不到释放,引发系统性卡死。。。
深度解析:虚拟列表性能优化的技术艺术
虚拟列表的核心挑战在于如何快速定位可见区域内的数据项。让我们看看这个实现的核心算法:
支付宝小程序外链跳转调试爬坑
我有博客文章有介绍常用小程序外链的唤起规则,成功的实现了支付宝小程序的唤起逻辑,但是只是唤起是不行的,你还需要拿到外链唤起的参数,根据参数走余下逻辑
理解堆排序的本质:建堆 + 交换 + 装箱+重复
它的过程可以非常简单地概括为四步:
Svelte 5 状态管理全解析:从响应式核心到项目实战
关于Saga Reader
这个阅读器我在5月份曾经写过一篇文章,大家都很感兴趣,新朋友可看这里
《开源我的一款自用AI阅读器,引流Web前端、Rust、Tauri、AI应用开发》。
Web前端入门第 64 问:JavaScript 几种函数定义方式有什么区别?
我理解的它最主要作用就是用来提取重复代码,但凡有 JS 代码需要
复制粘贴的时候,那么这时候就可以考虑使用函数封装了。
Maui 实践:为控件动态扩展 DragDrop 能力
拖放的实现,和其他的 GestureRecognizer 不同,需要 DragGestureRecognizer 与 DropGestureRecognizer 相互配合,Drag / Drop 又是在不同的控件上附加的,数据传输和配置相对复杂,不太好理解。需要彻底阅读源代码,才能真的把握。我做了一个扩展方法,把复杂的配置包裹起来,在代码层面与要附加拖放功能的控件分离,用户只需关注拖放动作所支持的业务功能即可。
鸿蒙Next仓颉语言开发实战教程:下拉刷新和上拉加载更多
下拉刷新
golang中写个字符串遍历谁不会?且看我如何提升 50 倍
VictoriaMetrics (Github:
https://github.com/VictoriaMetrics/VictoriaMetrics)是一个远远好于 Prometheus 的监控组件,一开始我因为工作需要详细阅读了它的源码,并做了很多分享。今年开始,VictoriaMetrics 团队发布了用于日志处理的高性能组件
VictoriaLogs 的 1.0 版本,我阅读了这个组件的源码,依然非常优秀。
小狮博客