Qt 更改Object Name显示指定的样式 背景 Qt做UI样式的时候通常会在构造函数里设置窗口整体的stylesheet,然后各个组件根据ObjectName或者类名来应用这些样式。但是这里有个问题就是必须先设置好各个组件,然后再设...
DLL注入和卸载
dll本身是不能运行的,它可以被可执行文件调用来执行,这种是主动去调用dll,反过来也可以将dll注入到指定进程地址空间去执行。 注入程序 使用命令行的方式提供了注入dll和卸载dll两个方法 include <iostream> ...
界面之下:还原真实的 MVC、MVP、MVVM 模式
文章中会用MVX代表所有MV相关的设计模式,下图中的图示描述的模型并不是固定的,在不同的场景下会有一些差别,如:前端开发,客户端开发,手机端开发可能都不太一样,关键是理解这种设计思想。 前言 做客户端开发、前端开...
Go寻找最长不含有重复字符的子串
寻找最长不含有重复字符的子串,这道算法题很常见,现在用go语言来实现下。 思路 从头到尾遍历,设置一个起始位置start,当前最大不重复字符子串的长度maxLength以及位置maxStart,还有一个map存储了遍历过的所有字符...
Go Buffer重用,避免频繁内存分配
在我们写代码的过程中如果多次使用make([]byte, 4096),那就要考虑使用下面的方法了。当然你不要想着把这个buffer保存为全局变量,多线程下会有竞态问题,实现代码: var blackHoleUsed = make(chan []byte, 1) fun...
Go竞态检测
介绍 竞争条件是最隐蔽和难以捉摸的编程错误之一。它可能会导致不稳定和莫名其妙的故障,而且很可能是在代码部署到生产环境很久之后才会产生。虽然Go的并发机制使编写干净的并发代码变得容易,但它们并不能防止竞争条件...
Golang pipeline模式
pipeline流水线模式(管道模式),我们用这个模式来计算所有质数的和。 什么是质数 质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。 C++代码实现 我们先用一般的方法实现...
gorm写入数据库后时间差8小时
这个很明显是时区的问题,首先检查一下数据库连接的uri,是否包含如下参数: parseTime=true&loc=Local 重新连接数据库就可以了,如果还不行那你可能要看一下系统环境设置了。 [官方文档链接](https://github.co...
Qt QTextEdit文本高亮
QTextEdit支持HTML展示,这样实现高亮就很简单了。 需求 QTextEdit展示了一些信息,增加一个搜索框,搜索时实时高亮出搜索的内容并滚动到最近搜索到的地方。 实现 连接textChanged信号,在onSearchChanged中实现...
博客文章增加TOC
博客文章是使用Markdown写的,有了TOC(Table of Contents)阅读起来体验更好,TOC就是所有h1组成的标签目录,点击后调到相应的位置。 获取所有h1标签 我用的是github_markdown库,在renderer的Header方法中可以获取,存...
Chrome简单插件开发——自动初始化gitalk评论
Chrome简单插件开发——自动初始化gitalk评论 gitalk增加手动初始化评论 我给博客增加了gitalk评论,确实蛮方便好用的,但是没有初始评论需要管理员去创建,还好它提供了一个参数来手动创建 createIssueManually:...
Redis常见问题和解答
Redis 持久化机制 =========== Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。 实现:单独创建fork()一个子进程,将当前父进程的数据库数据复...