Posts
All the articles I've posted.
截图软件窗口自动识别实现
Published: at 02:32 PM使用截图软件开始截图的时候,实际上是将当前桌面抓取成一张背景图(加点暗色的透明度),将背景图作为一个无边框的z-order顶级全屏窗口覆盖在桌面上,后续操作就在这个窗口上进行,类似一个当前桌面的快照。 这里要讲的...
推送消息版本号的设计与使用问题
Published: at 06:18 PM客户端服务端网络交互的时候最常用的就两种通信方法:请求应答和推送,在这两种场景同时存在的情况下客户端怎样保证与服务端的数据实时保持一致。 客户端可以分页请求服务端数据,同时为了保证数据实时更新还需要接收...
Qt 绘制简单QPixmap
Published: at 11:52 AM当我们需要一个简单的QPixmap的时候不想很麻烦的去要个切图,直接绘制一下就可以了,比如我们想实现下面这种列表框,需要绘制一个圆形和一个表示无颜色的图形。 (https//ningto.com/upload/20210419-ntscreenshot...
Qt 更改Object Name显示指定的样式
Published: at 02:11 PMQt 更改Object Name显示指定的样式 背景 Qt做UI样式的时候通常会在构造函数里设置窗口整体的stylesheet,然后各个组件根据ObjectName或者类名来应用这些样式。但是这里有个问题就是必须先设置好各个组件,然后再设...
DLL注入和卸载
Published: at 10:35 AMdll本身是不能运行的,它可以被可执行文件调用来执行,这种是主动去调用dll,反过来也可以将dll注入到指定进程地址空间去执行。 注入程序 使用命令行的方式提供了注入dll和卸载dll两个方法 // inject.cpp 此文...
界面之下:还原真实的 MVC、MVP、MVVM 模式
Published: at 10:32 AM文章中会用MVX代表所有MV相关的设计模式,下图中的图示描述的模型并不是固定的,在不同的场景下会有一些差别,如:前端开发,客户端开发,手机端开发可能都不太一样,关键是理解这种设计思想。 前言 做客户端开发、前端开...
Go寻找最长不含有重复字符的子串
Published: at 07:19 PM寻找最长不含有重复字符的子串,这道算法题很常见,现在用go语言来实现下。 思路 从头到尾遍历,设置一个起始位置start,当前最大不重复字符子串的长度maxLength以及位置maxStart,还有一个map存储了遍历过的所有字符...
Go Buffer重用,避免频繁内存分配
Published: at 03:07 PM在我们写代码的过程中如果多次使用make(byte, 4096),那就要考虑使用下面的方法了。当然你不要想着把这个buffer保存为全局变量,多线程下会有竞态问题,实现代码: var blackHoleUsed = make(chan byte, 1) fun...
Go竞态检测
Published: at 02:18 PM介绍 竞争条件是最隐蔽和难以捉摸的编程错误之一。它可能会导致不稳定和莫名其妙的故障,而且很可能是在代码部署到生产环境很久之后才会产生。虽然Go的并发机制使编写干净的并发代码变得容易,但它们并不能防止竞争条件...
Golang pipeline模式
Published: at 03:15 PMpipeline流水线模式(管道模式),我们用这个模式来计算所有质数的和。 什么是质数 质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。 C++代码实现 我们先用一般的方法实现...