21 安排会议室:如何利用多种方法安排会议室?

本讲是一题多解模块的最后一讲,之所以安排这一讲,是因为通常情况下,一道算法题目有多种的解法。我们与别人交流时,大家的思路和解题方法可能不同,每个人写出来的代码差异巨大。那么这些不同的正确解法,可以理解成“一题多解”吗?换句话说,你能分清什么是真正的“多解”,什么是“伪多解”吗?

21__(0,_eval)(_x_=_100_)_:一行让严格模式形同虚设的破坏性设计(下)

你好,我是周爱民。欢迎回到我的专栏。书接上回,这一讲我们仍然讲动态执行。

之前我说到过,setTimeout 和 setInterval 的第一个参数可以使用字符串,那么如果这个参数使用字符串的话,代码将会在哪里执行呢?毕竟当定时器被触发的时候,程序的执行流程“很可能”已经离开了当前的上下文环境,而切换到未知的地方去了。

21__AbstractFetcherThread:拉取消息分几步?

你好,我是胡夕。从今天开始,我们正式进入到第 5 大模块“副本管理模块”源码的学习。

在 Kafka 中,副本是最重要的概念之一。为什么这么说呢?在前面的课程中,我曾反复提到过副本机制是 Kafka 实现数据高可靠性的基础。具体的实现方式就是,同一个分区下的多个副本分散在不同的 Broker 机器上,它们保存相同的消息数据以实现高可靠性。对于分布式系统而言,一个必须要解决的问题,就是如何确保所有副本上的数据是一致的。

21__AKF立方体:怎样通过可扩展性来提高性能?

你好,我是陶辉。

上一讲我们谈到,调低一致性可以提升有状态服务的性能。这一讲我们扩大范围,结合无状态服务,看看怎样提高分布式系统的整体性能。

当你接收到运维系统的短信告警,得知系统性能即将达到瓶颈,或者会议上收到老板兴奋的通知,接下来市场开缰拓土,业务访问量将要上一个大台阶时,一定会马上拿起计算器,算算要加多少台机器,系统才能扛得住新增的流量。

21__Catalyst逻辑计划:你的SQL语句是怎么被优化的?(上)

你好,我是吴磊。

上一讲我们说,Spark SQL 已经取代 Spark Core 成为了新一代的内核优化引擎,所有 Spark 子框架都能共享 Spark SQL 带来的性能红利,所以在 Spark 历次发布的新版本中,Spark SQL 占比最大。因此,Spark SQL 的优化过程是我们必须要掌握的。

21__CSS选择器:伪元素是怎么回事儿?

你好,我是 winter。

在上一篇文章中,我已经给你介绍了一些简单选择器,这一节课我会继续给你介绍选择器的几个机制:选择器的组合、选择器的优先级和伪元素。

选择器的组合

在 CSS 规则中,选择器部分是一个选择器列表。

21__Java_消费者是如何管理TCP连接的_

你好,我是胡夕。今天我要和你分享的主题是:Kafka 的 Java 消费者是如何管理 TCP 连接的。

在专栏第 13 讲中,我们专门聊过“Java生产者是如何管理 TCP 连接资源的”这个话题,你应该还有印象吧?今天算是它的姊妹篇,我们一起来研究下 Kafka 的 Java消费者管理 TCP 或 Socket 资源的机制。只有完成了今天的讨论,我们才算是对 Kafka 客户端的 TCP 连接管理机制有了全面的了解。

21__Kafka_Consumer源码分析:消息消费的实现过程

你好,我是李玥。

我们在上节课中提到过,用于解决消息队列一些常见问题的知识和原理,最终落地到代码上,都包含在收、发消息这两个流程中。对于消息队列的生产和消费这两个核心流程,在大部分消息队列中,它实现的主要流程都是一样的,所以,通过这两节课的学习之后,掌握了这两个流程的实现过程。无论你使用的是哪种消息队列,遇到收发消息的问题,你都可以用同样的思路去分析和解决问题。