第一步:如果给定点 z 在八叉树包围盒内就从所属的最末端的子包围盒叶子节点开始,如果在八叉树外的话就从任意最靠近的叶子节点开始,先找一个最靠近 z 的候选点 A,如...
博客广场
Vim2022:实时代码格式化
大部分 IDE/编辑器 都有代码格式化的功能或者插件,但都需要你主动触发格式化命令,而且每次写很多代码在保存的时候一次性格式化,总会有种不放心的感觉,需要跳过头去...
我在命令行下学日语
同一个动作重复 300 遍,肌肉就会有记忆,重复 600 遍,脊柱就会有记忆,学完五十音图不熟练,经常遗忘或者要好几秒才想得起来一个怎么办?没关系,我做了个命令行下的...
桌面开发用 Tkinter/wxPython/PyQt 哪个好?
Python 有很多 GUI 框架,比如著名的 Tkinter,wxPython 和 PyQt,那么想用 Python 开发桌面软件的话选哪个更好呢?作为三个都用过的人先给个结论,不用纠结,直接选 Py...
怎么样打包 pyqt 应用才是最佳方案?
早先看一堆人说 PyQt 打包麻烦,部署困难的,打出来的包大(几十兆起步),而且启动贼慢,其实 Python+PyQt 打包非常容易,根本不需要用什么 PyInstaller,我手工打包出...
用 MFC 写 GUI 程序是一种什么样的体验?
本文来自知乎问题:MFC、WTL、WPF、wxWidgets、Qt、GTK 各有什么特点? 感觉我说了太多 Qt 的事情了,今天只说一下 MFC ,到底过时在哪里,都在说 “MFC 就是 xxx” 类似...
给 Qt5 引入 C# / Delphi 的 Anchor Layout
在前文 用 MFC 写 GUI 程序是一种什么样的体验? 中提过 Anchor Layout 可以很简单的设定让控件跟随窗口四条边大小变化的策略: 比如右下角的两个按钮,设置的 anchor ...
网游通信协议如何防止封包篡改?
第一层:协议非对称加密交换密钥,对称加密传输内容,保护好服务端私钥,防止中间人攻击。流式加密,同样包发两次内容不一样。 第二层:不用标准序列化工具如 protocolb...
用 Lazarus 做界面合适吗?
也许你没留意,很多你经常用的桌面软件是用 Lazarus 开发的。 作为 Delphi 的开源替代品,我一直是比较喜欢 Lazarus 的,虽然有些小众。技术有两种,有些是用来挣钱养家...
哪些特性让你觉得 SVN 比 Git 更好用?
1)不可撤销,SVN 随便你怎么折腾都不会把仓库弄挂,git 的话就要小心了,即便你设置保护了 master,其他分支不小心也会给弄没了。 2)简单直观,不但美术容易使用,连...
VSCode 有哪些让人眼前一亮的插件?
VSCode 里很多插件看着很好玩,但装上看一下你就不会再用了,还有些插件所有人都推过,一堆人推来推去还是那么几个,越看越无聊,因此再说这些也没什么意思,还不如直接...
CD1:BORLAND 宝典
图形界大佬 John Carmack 在推特上呼吁大家,现在应该有意识的保存你的开发环境,这样多年以后你想重新构建你的软件时才不会慌脚乱手,因为通常每过几年你常常会发现,...
用了很久的全拼改为双拼值得吗?
双拼是我最近半年学习的最有用的东西了,世界上有一些基础技能是只要你投入一定固定时间,一次学会然后就可终身受益,比如学习一门外语,比如驾驶,比如练习打字速度,...
我为什么使用 Vim?
很多人说用 Vim 是因为键位比较方便,其实这只是部分原因,不知道你思考过没,为什么今天大部分 Editor/IDE 都支持 vim keymap 的情况下,还有那么多人用 Vim 呢?如果...
什么是 Zettelkasten 卡片盒笔记法?
我也用了 zk 一段时间了,觉得挺科学,应该是我近半年学习到最有价值的东西吧,分享一些我的理解和整理的笔记吧,以下观点来自对他人观点的整理和总结: - 不用纠结 Zet...
笔记软件为何需要本地存储?
不要忘记历史: - Evernote:导出备份的 .enex 文件, 再导入时提示有几篇日志图片 太多,没有会员无 法导入。 - 印象笔记:用户因为从 Evernote 导入到印象笔记时触发...
《原神》也在使用 KCP 加速游戏消息
最近看到米哈游《原神》的客户端安装文件里附带了 KCP 的 LICENSE: 于是找米哈游的同学求证了一下,果然他们在游戏里使用 KCP 来保证游戏消息可以以较低的延迟进行传输...
为什么 C 语言数组是从 0 开始计数的?
C 语言等大多数编程语言的数组从 0 开始而不从 1 开始,有两个原因: **第一:地址计算更方便** C 语言从 0 开始的话,array[i] 的地址就正好是: ``` (array + i) ``` ...
别被忽悠了 Lua 数组真的也可以从 0 开始索引?
先前我说 Lua 数组从 1 开始不太爽,很多人来纠正我说也可以从 0 开始,比如: ``` local m = { [0] = 100, 101, 102, 103 } ``` 然后访问时 m[0] 也可以正常访问到第 0...
性能测试:asyncio vs gevent vs native epoll
测试一下 python 的 asyncio 和 gevent 的性能,再和同等 C 程序对比一下,先安装依赖: ``` pip3 install hiredis gevent ``` 如果是 Linux 的话,可以选择安装 uvloop...