先知.兵圣人机对抗赛
先知.兵圣人机对抗赛是军方组织的兵棋 AI 对抗赛,目前只是在军方内部开放,我们是从某个外包上市公司接到这个项目的,上游需求方是某地方军事院校,情况比较复杂。很显然这个项目最终没有谈成,但这个比赛本身以及谈项目过程中的一些经验教训值得记录并反思。
先知.兵圣人机对抗赛是军方组织的兵棋 AI 对抗赛,目前只是在军方内部开放,我们是从某个外包上市公司接到这个项目的,上游需求方是某地方军事院校,情况比较复杂。很显然这个项目最终没有谈成,但这个比赛本身以及谈项目过程中的一些经验教训值得记录并反思。
allocator 是 C++ std 中引入的,为了处理各种内存管理模式(比如共享内存、垃圾回收等)的内存分配问题,负责内存的分配、回收,对象的创建析构等。
Chromium 这样庞大的工程,涉及超多的模块依赖,如何保证代码质量?源码中随处可见 xxx_unittest.cc 和 xxx_fuzzer.cc 这样的文件,它们是如何组织的呢?项目的每一个 Commit 需要执行哪些测试,流程是什么?Chromium 做了哪些基础的工作支持繁琐又重要的测试工作,我们是否可以借鉴用到自己的项目中?
阅读源代码是程序员最重要的基本功之一,研读高质量的开源项目源码是进阶的必要手段。那么面对一个新项目时,如何高效快速地熟悉整个源码呢?
多线程是基础库非常重要的一部分,每个平台都有各自的多线程API,实现一套高效、易用的多线程基础库也是挺有挑战的。Chromium base库中有完整的跨平台thread封装和实现,本文主要整理一下Chromium 线程相关实现细节。