禁用F12作为调试热键

在Windows系统中,F12永远为调试器所预留,不能被用来注册为快捷键,如我们通常使用F12打开浏览器的调试工具。即便当前未调试应用程序,如果内核模式调试器或实时调试器有驻留,F12也会被预留。 详见:https://msdn.microsoft....

编程基础

折腾开发环境的一天

日常使用的 IDE 主要有 Visual Studio、Qt Creator,代码查看工具有 Source Insight、Visual Studio Code。每个工具的使用方式不太一样,今天想花点时间折腾一下,统一下各个工具的快捷键,记录下它们的使用差异。

编程基础

回顾2D绘图的数学知识

本篇旨在帮助开发人员回顾在2D图形编程中可能会涉及到的数学知识。

编程基础

不同操作系统所集成的字体

如果界面所指定的字体在用户系统上未安装,则会自动降级到系统默认字体,这样会导致界面显示异常或达不到预期效果。 对于特殊字体我们通常会集成到软件安装包内,但对于汉字这样的语言,它的文字比较多,因此字体文件比较大,如果集成到安装包内会导致安装包体积变大,所以对于类似中文这样字符比较多的语言字体,我们通常会选择系统自带的字体。 而不同操作系统(如Windows和macOS)所自带的字体不一样,甚至同一操作系统不同的版本(如Windows 7和Windows 11)自带的字体也不一样,因此在选择采用什么字体前,需要弄清我们应用程序支持的操作系统所自带的字体都有哪些,才能更好的做选择。 操作系统的新版本通常只会新增字体,不会移除老的字体。

编程基础

正则规则速查

本文不是一个完整的正则表达式的教程,仅适用于已掌握正则表达式语法,需要进行规则速查的开发人员。

编程基础

Git杂记

本文记录 Git 使用中的一些零碎知识,方便自己查阅,亦希望成人之美。

编程基础

图形编程扫盲

一、常见图形编程接口我们常见的图形编程接口主要分为如下派系: OpenGL DirectX Vulkan Metal 下图展示了各个派系的分支及特点:

编程基础

Windows资源管理器图标覆盖优先级设定

我们在安装了TortoiseSVN或TortoiseGit后,会自动在资源管理器的文件夹和文件图标上显示覆盖图标(Icon Overlay),这样可以比较方便的查看文件状态。 但有时候我们安装的其他软件,如Dropbox等,也会在资源管理器中显示覆盖...

编程基础

网络协议(7)--HTTP与HTTPS协议

HTTP 是Hyper Text Transfer Protocol(超文本传输协议)的缩写。HTTP 协议位于 TCP/IP 协议栈的应用层。

编程基础

网络协议(6)--TCP协议

一、TCP 特性尽管 TCP 和 UDP 都是用 IP 协议作为网络层,但 TCP 却提供和 UDP 完全不同的网络服务。TCP 是面向连接的、稳定可靠的字节流服务。TCP 首部的很多字段都是为了实现这 2 大特性而设计的。

编程基础

网络协议(5)--UDP协议

一、什么是 UDP 协议?UDP 是 User Datagram Protocol 的简称,中文名是用户数据报协议,是 OSI 参考模型中的传输层协议,它是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

编程基础

网络协议(4)--ICMP协议

互联网控制消息协议(英文:Internet Control Message Protocol,ICMP)是互联网协议族的核心协议之一。定义在 RFC 792 文档中。ICMP 的消息大致可以分为两类:一类是差错报文,即通知出错原因的错误消息(如 traceroute),另一类是查询报文,即用于诊断的查询消息(如 ping)。使用 ICMP 协议的典型应用有 ping 和 traceroute(windows 上叫 tracert)。

编程基础
12