30__Coroutines:协作式的交叉调度执行
你好,我是吴咏炜。
今天是我们未来篇的最后一讲,也是这个专栏正文内容的最后一篇了。我们讨论 C++20 里的又一个非常重要的新功能——协程 Coroutines。
什么是协程?
协程是一个很早就被提出的编程概念。根据高德纳的描述,协程的概念在 1958 年就被提出了。不过,它在主流编程语言中得到的支持不那么好,因而你很可能对它并不熟悉吧。
你好,我是吴咏炜。
今天是我们未来篇的最后一讲,也是这个专栏正文内容的最后一篇了。我们讨论 C++20 里的又一个非常重要的新功能——协程 Coroutines。
协程是一个很早就被提出的编程概念。根据高德纳的描述,协程的概念在 1958 年就被提出了。不过,它在主流编程语言中得到的支持不那么好,因而你很可能对它并不熟悉吧。
讲完了 CPU,我带你一起来看一看计算机里的另外一个处理器,也就是被称之为 GPU 的图形处理器。过去几年里,因为深度学习的大发展,GPU 一下子火起来了,似乎 GPU 成了一个专为深度学习而设计的处理器。那 GPU 的架构究竟是怎么回事儿呢?它最早是用来做什么而被设计出来的呢?
你好,我是胡夕。今天,我们学习位移主题管理的源码。
位移主题,即 __consumer_offsets,是 Kafka 的两大内部主题之一(另一个内部主题是管理 Kafka 事务的,名字是 __transaction_state,用于保存 Kafka 事务的状态信息)。
你好,我是 winter。
我们在上一节课中已经讲过了 JavaScript 语法的顶层设计,接下来我们进入到更具体的内容。
JavaScript 遵循了一般编程语言的‘语句 - 表达式’结构,多数编程语言都是这样设计的。我们在上节课讲的脚本,或者模块都是由语句列表构成的,这一节课,我们就来一起了解一下语句。
你好,我是四火。
今天,我们继续 Ops 三部曲。今天我要讲一讲持续集成和持续发布,以及 Web 全栈项目中一些常见的测试维度。
CI 指的是 Continuous Integration,持续集成,而 CD 指的是 Continuous Delivery,持续交付。它们二者结合起来,通过将工程师的代码变更反复、多次、快速地集成到代码主线,执行多种自动化的测试和验证,从而给出快速反馈,并最终达到将变更持续、迅速发布到线上的目的。
系统安全是一个老生常谈又容易被忽视的问题,往往只有在系统被攻击了,数据泄漏了,才会关注软件安全问题。互联网应用因为要向全球用户提供服务,在任何地方都可以访问互联网应用,任何恶意的用户可以在世界任何地方对互联网系统发起攻击,因此互联网系统又具有天然的脆弱性。
你好,我是胡光,欢迎来到“综合项目篇”的最后一节课。
这节课,我将带你完成一个富有挑战性的任务,就是一起开发一门“编程语言”。哈哈……我说开发一门编程语言当然是和你开玩笑,不过我们可以开发编程语言中的一小部分,那就是定义变量和基本的表达式运算功能。
现在很多的文章和演讲都在谈架构,很少有人再会谈及编程范式。然而,这些基础性和本质性的话题,却是非常非常重要的。
一方面,我发现在一些语言争论上,有很多人对编程语言的认识其实并不深;另一方面,通过编程语言的范式,我们不但可以知道整个编程语言的发展史,而且还能提高自己的编程技能写出更好的代码。
今天,我和你聊聊“编程马拉松 Hackathon”的故事。
Hackathon 是一个合成词,取自 Hack 和 Marathon,意为“编程马拉松”,又叫“黑客节”或“编程节”,它起源于 Sun 公司在 1999 年的 JavaOne 大会的一次活动。