09__事务:如何安全地实现多key操作?

你好,我是唐聪。

在软件开发过程中,我们经常会遇到需要批量执行多个 key 操作的业务场景,比如转账案例中,Alice 给 Bob 转账 100 元,Alice 账号减少 100,Bob 账号增加 100,这涉及到多个 key 的原子更新。

09__视听触的协同性:从人感知世界的时间延迟去理解协同

你好,我是 Rocky。

在前面几节课里我们分别谈了视觉、听觉和触觉。今天我们来聊聊视听触的协同。

视听触协同相当于是一种进阶的体验设计,它在生活中无处不在。毕竟人是有着复杂感官通道的动物,对自然的认知本来就是多通道、多感官的。我下面描述一个场景,你可以尝试从多感官协同体验维度理解一下。

09__手把手教你写用例:_优化微信加好友的功能

如果你在科技公司工作,那么你一定对“use case”这个词语不陌生。

“use case”中文是“用例”,维基百科的解释是“软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术”。这个解释有点难懂,简单来说,用例就是描述在什么场景下用户用产品来做什么事儿。

09__数据传输的质量:金融业务对数据传输有什么要求?

你好,我是任杰。这节课我想和你聊一聊怎么做好金融数据的传输。

我们在开篇词提到过,如果你对系统的要求高,通常都会说要按照金融级的标准来设计。所以当我们提到金融数据传输的时候,你可能也会觉得数据传输应该也是要求非常高的,既要速度快,又要流量大,而且还有极强的容灾能力。

09__数据库优化方案(二):写入数据量增加时,如何实现分库分表?

你好,我是唐扬。

前一节课,我们学习了在高并发下数据库的一种优化方案:读写分离,它就是依靠主从复制的技术使得数据库实现了数据复制为多份,增强了抵抗大量并发读请求的能力,提升了数据库的查询性能的同时,也提升了数据的安全性,当某一个数据库节点,无论是主库还是从库发生故障时,我们还有其他的节点中存储着全量的数据,保证数据不会丢失。此时,你的电商系统的架构图变成了下面这样:

09__数值计算:注意精度、舍入和溢出问题

你好,我是朱晔。今天,我要和你说说数值计算的精度、舍入和溢出问题。

之所以要单独分享数值计算,是因为很多时候我们习惯的或者说认为理所当然的计算,在计算器或计算机看来并不是那么回事儿。就比如前段时间爆出的一条新闻,说是手机计算器把 10%+10% 算成了 0.11 而不是 0.2。

09__索引更新:刚发布的文章就能被搜到,这是怎么做到的?

你好,我是陈东。

在前面的课程中,我们讲到,倒排索引是许多检索系统的核心实现方案。比如,搜索引擎对万亿级别网页的索引,就是使用倒排索引实现的。我们还讲到,对于超大规模的网页建立索引会非常耗时,工业界往往会使用分布式技术来并行处理。

09__推动团队高效执行OKR,你知道这些技巧吗?

你好,我是黄勇。在上一讲中,我们学习了如何制定 OKR 的技巧,那么当你完成 OKR 制定后,接下来需要做的就是进入 OKR 的执行过程。

在逐步推动其执行的过程中,你可能会遇到一些阻碍,比如,由于 OKR 在执行过程中缺乏刷新和同步,因此导致进入 OKR 评估环节时就会出现评分过低的尴尬情况。

09__外存管理与文件系统

你好,我是七牛云许式伟。

在“07 | 软件运行机制及内存管理”中,我们已经聊了内存管理,这一节我们聊聊外置存储设备的管理。

外存的分类

计算机有非常多样化的外置存储设备,比如:磁带、光盘、硬盘、U 盘、SSD 等等。外置存储设备的种类是不可穷尽的。随着科技的发展,新的存储设备会不断涌现,有着更低的单位能耗(存储量 / 每日能源消耗成本),更低的单位存储成本(存储量 / 可存储的时间 / 设备价格),或者更高的访问性能。

09__网络通信优化之序列化:避免使用Java序列化

你好,我是刘超。

当前大部分后端服务都是基于微服务架构实现的。服务按照业务划分被拆分,实现了服务的解偶,但同时也带来了新的问题,不同业务之间通信需要通过接口实现调用。两个服务之间要共享一个数据对象,就需要从对象转换成二进制流,通过网络传输,传送到对方服务,再转换回对象,供服务方法调用。这个编码和解码过程我们称之为序列化与反序列化。