14__框架思维(上):将素数筛算法写成框架算法

你好,我是胡光,咱们又见面了。

上一节呢,我们提到了一个词,叫做“算法思维”,就是用算法去解决问题的思维方式,并且说明了算法思维有别于我们通常所说的“算法”。那么如何锻炼算法思维呢?

14__理解触屏交互:方寸触屏大乾坤

你好,我是 Rocky。今天我们来谈谈触屏交互的人因学。

从乔帮主第一次发布苹果手机到现在已经 14 年了,但触屏交互并未发生什么革命性的变革。目前的主流依然是电容技术触摸屏 CTP(Capacity Touch Panel)。

14__临近_OOM,如何获取详细内存分配信息,分析内存问题?

你好,我是戴铭。今天我们来聊聊,临近 OOM,如何获取详细的内存分配信息,分析内存问题的话题。

OOM,是 Out of Memory 的缩写,指的是 App 占用的内存达到了 iOS 系统对单个 App 占用内存上限后,而被系统强杀掉的现象。这么说的话,OOM 其实也属于我们在第 12 篇文章“iOS 崩溃千奇百怪,如何全面监控?”中提到的应用“崩溃”中的一种,是由 iOS 的 Jetsam 机制导致的一种“另类”崩溃,并且日志无法通过信号捕捉到。

14__浏览器:一个浏览器是如何工作的?(阶段五)

你好,我是 winter。我们的浏览器系列已经进行到最后一篇。

在之前的几篇文章中,我们已经经历了把 URL 变成字符流,把字符流变成词(token)流,把词(token)流构造成 DOM 树,把不含样式信息的 DOM 树应用 CSS 规则,变成包含样式信息的 DOM 树,并且根据样式信息,计算了每个元素的位置和大小。

14__幂等生产者和事务生产者是一回事吗?

你好,我是胡夕。今天我要和你分享的主题是:Kafka 消息交付可靠性保障以及精确处理一次语义的实现。

所谓的消息交付可靠性保障,是指 Kafka 对 Producer 和 Consumer 要处理的消息提供什么样的承诺。常见的承诺有以下三种:

14__面试答疑(一):说说你面试中的一些困惑

写在前面

答疑之前,先聊一段我最近面试的经历。最近几乎每天都有面试,但我对上周的一个候选人,印象深刻。她应聘一个自动化测试职位,看简历经验匹配,清北毕业,在软件园的大厂做过 6 年,但是面试不到半小时,就面不下去了。为什么呢?她最近两年辞了工作,专心在家照顾孩子,之前的项目说得很含糊,虽然看样子做过不少事情,但很遗憾,我只好叫停,请她回去准备一周再来面一次。

14__面向对象之封装:怎样的封装才算是高内聚?

你好!我是郑晔。

上一讲,我讲了你最熟悉的编程范式:结构化编程。结构化编程有效地解决了过去的很多问题,它让程序员们解决问题的规模得以扩大。

随着程序规模的逐渐膨胀,结构化编程在解决问题上的局限也越发凸显出来。因为在它提供的解决方案中,各模块的依赖关系太强,不能有效地将变化隔离开来。这时候,面向对象编程登上了大舞台,它为我们提供了更好的组织程序的方式。

14__内存管理:如何避免内存溢出和频繁的垃圾回收?

你好,我是李玥。今天,我们来聊一聊内存管理的问题。

不知道你有没有发现,在高并发、高吞吐量的极限情况下,简单的事情就会变得没有那么简单了。一个业务逻辑非常简单的微服务,日常情况下都能稳定运行,为什么一到大促就卡死甚至进程挂掉?再比如,一个做数据汇总的应用,按照小时、天这样的粒度进行数据汇总都没问题,到年底需要汇总全年数据的时候,没等数据汇总出来,程序就死掉了。

14__内存使用篇:如何高效使用内存来优化软件性能?

你好,我是尉刚强。今天,我们来聊聊如何通过内存的高效使用,来进一步优化和提升软件性能。

软件的实现是通过变量和变量之上的计算逻辑组成的,而在计算机运行期间,变量主要依赖于内存来承载。所以,如何高效地使用内存,就成为了高性能编码优化的重要手段之一。而在软件编码的过程中,不同实现方式对内存的影响,则主要体现在这三个场景:内存的空间与布局内存的申请与释放内存的读取与修改

14__内建质量:丰田和亚马逊给我们的启示

你好,我是石雪峰,今天我来跟你聊一个非常重要的话题:内建质量。

我之前给你讲过一个故事,说的是在美国汽车工厂装配流水线的末端,总是有个人在拿着橡胶锤子敲打车门,以检查车门是否安装良好。我还说,如果一个公司要靠“拿锤子的人”来保证质量,这就说明,这个公司的流程本身可能就有问题。