18__场景联动:智能电灯如何感知光线?(上)

你好,我是郭朝斌。

在上一讲,我们打造了自己的联网智能电灯,你可以通过手机小程序来控制它的打开和关闭,也就是实现远程控制。

其实,我们还可以进一步提高体验,让智能电灯可以基于环境的明暗来自动地打开和关闭。要做到这一点并不难,可以分为两个阶段,第一阶段是打造传感器设备来感知光照的强弱,判断出环境的明暗状态,第二阶段是创建一个场景联动,根据传感器的数值来控制智能电灯的状态。

18__磁盘视角:如果内存无限大,磁盘还有用武之地吗?

你好,我是吴磊。

我们都知道,Spark 的优势在于内存计算。一提到“内存计算”,我们的第一反应都是:执行效率高!但如果听到“基于磁盘的计算”,就会觉得性能肯定好不到哪儿去。甚至有的人会想,如果 Spark 的内存无限大就好了,这样我们就可以把磁盘完全抛弃掉。当然,这个假设大概率不会成真,而且这种一刀切的思维也不正确。

18__从全局到局部:核技巧

俗话说得好:“支持向量机有三宝,间隔对偶核技巧”。在上一篇文章中我和你分享了间隔这个核心概念,今天就来看看对偶和核技巧的使用。对偶性主要应用在最优决策边界的求解中,其逻辑比较简单。

18__单元测试:自定义_Hooks_应该如何进行单元测试?

你好,我是王沛。今天这节课我们来学习如何对 Hooks 进行单元测试。

在课程的一开始,我想首先强调一下单元测试的重要性。因为我发现很多同学在实现业务功能的时候,干劲十足,非常感兴趣。但是一旦要去写测试用例,就顿时觉得枯燥和无趣。

18__当反射、注解和泛型遇到OOP时,会有哪些坑?

你好,我是朱晔。今天,我们聊聊 Java 高级特性的话题,看看反射、注解和泛型遇到重载和继承时可能会产生的坑。

你可能说,业务项目中几乎都是增删改查,用到反射、注解和泛型这些高级特性的机会少之又少,没啥好学的。但我要说的是,只有学好、用好这些高级特性,才能开发出更简洁易读的代码,而且几乎所有的框架都使用了这三大高级特性。比如,要减少重复代码,就得用到反射和注解(详见第 21 讲)。

18__反应式编程框架设计:如何使程序调用不阻塞等待,立即响应?

我们在专栏第 1 篇就讨论了为什么在高并发的情况下,程序会崩溃。主要原因是,在高并发的情况下,有大量用户请求需要程序计算处理,而目前的处理方式是,为每个用户请求分配一个线程,当程序内部因为访问数据库等原因造成线程阻塞时,线程无法释放去处理其他请求,这样就会造成请求堆积,不断消耗资源,最终导致程序崩溃。

18__防人之心不可无:检查数据的有效性

你好,我是盛延敏,这里是网络编程实战第 18 讲,欢迎回来。

在前面一讲中,我们仔细分析了引起故障的原因,并且已经知道为了应对可能出现的各种故障,必须在程序中做好防御工作。

18__分组操作:处理一组子任务,该用什么并发原语?

你好,我是鸟窝。

共享资源保护、任务编排和消息传递是 Go 并发编程中常见的场景,而分组执行一批相同的或类似的任务则是任务编排中一类情形,所以,这节课,我专门来介绍一下分组编排的一些常用场景和并发原语,包括 ErrGroup、gollback、Hunch 和 schedgroup。