搭建自己的 teamspeak 服务器
前言
teamspeak 是一款开源、轻量的语音软件,这是它的官网。在官网可以下载客户端 client 和服务端 server,国内客户端下载推荐地址 https://ts3.com.cn/downloads/teamspeak,后续的下载安装都是针对服务端。为了方便,后文简称 teamspeak 为 ts。
为什么要用 ts 呢?有人会说,用 yy 啊,用 qq、微信啊。qq 和微信语音的质量没法说, yy 很吃电脑配置和带宽,我的电脑比较垃圾,所以想要一个比较轻量的语音软件。这时候 ts 就是一个非常好的选择了。
其实 kook 也不错,但是 ts 更轻量,我个人感觉用起来也更舒服。
啊?你问为什么不用 discord 。你说为什么,谁打个游戏聊个天还需要翻墙才行?
编译缓存工具 CCache 介绍与基本使用
编译时间过长是影响大型项目研发效率的一大难题。就市面上被普遍使用的构建系统,其确实存在一定的编译缓存机制,使得用户在重复进行编译操作时(例如修改了一个Bug),尽可能复用之前的编译成果以节省编译时间。例如CMake使用CMakeCache.txt来对编译缓存项进行追踪。但类似的机制存在一些限制,如CMakeCache.txt只能管理它自己所在项目的构建目录,如果用户因为一些原因清空了整个构建目录,构建缓存也将被一同清理;又如果多人协作同一个代码项目,他们各自都有属于自己的用户目录和工作目录(甚至自己的工作电脑),自然不可能指望他们可以共享编译缓存,即使这些缓存实质上确实是完全相同的,毕竟是同一份源码编译出的同样的东西。
为了解决这个问题,我们可以引入专业的编译缓存管理工具:CCache。
使用 Woboq CodeBrowser 搭建源代码网站
背景
在日常学习工作中,我们不免需要浏览一些库的源码。在本地浏览源代码,例如使用Source Insight,当然是可以的,但问题是一是不方便,二是很多库下载下来是以头文件配合静态库或动态库的形式存在的,看不到cpp代码,因此阅读会受限。现在Web技术高速发展,有没有办法用网页直接查看源代码,并且还有类似于Code的代码跳转功能呢?换句话说,如何把C/C++代码转化为前端页面,并且最好是静态的前端页面,就是一个难题了。
幸运的是,github上有人提前考虑到了这件事情,并且有了具体的项目,已经有1k多的star。并且原作者还基于这个框架弄出了一个在线的源代码网站,方便开发者查看各个C/C++库的源代码,例如Qt、GCC、Linux Kernel、GNU C Library等。
Qt Graphics View Framework 预研
该架构涉及到的最主要的三个类是QGraphicsScene、QGraphicsView和QGraphicsItem。
整体流程
绘制流程(
QGraphicsItem->QGraphicsScene->QGraphicsView)QGraphicsItem当中保存了自身的“场景坐标”供QGraphicsScene进行管理。在绘制时,由QGraphicsView对象调用渲染方法,根据自身所设置的可视化相关属性,基于“视图坐标”确定将要绘制的QGraphicsScene当中有哪一部分“场景坐标”内的图元需要渲染,随后通过QGraphicsScene提供的方法,将属于这部分“场景坐标”内的图元(也就是QGraphicsItem)全部找出,并渲染这些图元到可视化viewport中。
