软件开发

开发一个 Linux 调试器(一):准备环境

尽管调试器已经得到了广泛的使用,却并没有太多的资源告诉你它们的工作原理以及如何开发,尤其是和其它那些比如编译器等工具链技术相比而言。
2017-06-21
5分钟阅读时长

许多 SQL 性能问题来自于“不必要的强制性工作”

在编写高效 SQL 时,你可能遇到的最有影响的事情就是索引。但是,一个很重要的事实就是很多 SQL 客户端要求数据库做很多“不必要的强制性工作”。
2017-06-15
8分钟阅读时长

机器学习的新捷径:通过 SYCL 在 GPU 上加速 C++

不幸的是,对于日常程序员,OpenCL 的学习曲线陡峭;一个简单的 Hello World 程序可能就需要上百行晦涩难懂的代码。因此,为了减轻这种痛苦,Khronos 组织已经开发了一个称为 SYCL 的新标准,这是一个在 OpenCL 之上的 C++ 抽象层。
2017-06-13
8分钟阅读时长

掌握 Git 之美

使用 7 条简单的 Git 命令开始你的软件开发之旅
2017-06-12
7分钟阅读时长

使用 Python 开始你的机器学习之旅

从无人驾驶汽车到股市预测,再到在线学习,机器学习通过预测来进行自我提高的方法几乎被用在了每一个领域。由于机器学习的实际运用,目前它已经成为就业市场上最有需求的技能之一。
2017-06-07
4分钟阅读时长

调试器工作原理(三):调试信息

本文将解释调试器是如何在机器码中查找它将 C 语言源代码转换成机器语言代码时所需要的 C 语言函数、变量、与数据。
2017-06-06
10分钟阅读时长

在 Go 中如何使用切片的容量和长度

在 Go 中同时有数组(array)和切片(slice)。这可能令人困惑,但一旦你习惯了,你会喜欢上它。请相信我。
2017-06-02
7分钟阅读时长