20__理论六:我为何说KISS、YAGNI原则看似简单,却经常被用错?
上几节课中,我们学习了经典的 SOLID 原则。今天,我们讲两个设计原则:KISS 原则和 YAGNI 原则。其中,KISS 原则比较经典,耳熟能详,但 YAGNI 你可能没怎么听过,不过它理解起来也不难。
上几节课中,我们学习了经典的 SOLID 原则。今天,我们讲两个设计原则:KISS 原则和 YAGNI 原则。其中,KISS 原则比较经典,耳熟能详,但 YAGNI 你可能没怎么听过,不过它理解起来也不难。
我在阿里巴巴工作的头一年,坐在我对面的同事负责开发一个公司统一的运维系统。他对这个系统经过谨慎的调研和认真的思考,花费了半年多的时间开发,终于开发完了。然后邀请各个部门的相关同事做发布评审,如果大家没什么意见就发布上线,全公司范围统一推广使用。
极客时间的专栏读者你好,我是邱岳。
上一篇文章中,我们聊到产品增长过程中的获客环节,提到获客的两种方式,一种是由我们与目标用户直接沟通获客,另一种则是由我们的用户为我们推荐和传播产品,帮助我们获客。后者就是增长中的“传播”环节,我们今天一起来聊聊它。
前面我们用了三讲,用一个个的电路组合,制作出了一个完整功能的 CPU。这里面一下子给你引入了三个“周期”的概念,分别是指令周期、机器周期(或者 CPU 周期)以及时钟周期。
你好,我是刘超。
从今天开始,我将和你一起探讨 Java 虚拟机(JVM)的性能调优。JVM 算是面试中的高频问题了,通常情况下总会有人问到:请你讲解下 JVM 的内存模型,JVM 的性能调优做过吗?
平时我们说计算机的“计算”两个字,其实说的就是两方面,第一,进程和线程对于 CPU 的使用;第二,对于内存的管理。所以从这一节开始,我们来看看内存管理的机制。
你好,我是吴咏炜。
上一讲我们讨论了一些并发编程的基本概念,今天我们来讨论一个略有点绕的问题,C++ 里的内存模型和原子量。
C++98 的年代里,开发者们已经了解了线程的概念,但 C++ 的标准里则完全没有提到线程。从实践上,估计大家觉得不提线程,C++ 也一样能实现多线程的应用程序吧。不过,很多聪明人都忽略了,下面的事实可能会产生不符合直觉预期的结果:
你好,我是朱晓峰。
上节课,咱们学习了通用查询日志、慢查询日志和错误日志,它们可以帮助我们快速定位系统问题。但实际上,日志也可以帮助我们找回由于误操作而丢失的数据,比如二进制日志(binary log)、中继日志(relay log)、回滚日志(undo log)和重做日志(redo log)。
你好,我是程远。
在上一讲里,我们学习了 Linux capabilities 的概念,也知道了对于非 privileged 的容器,容器中 root 用户的 capabilities 是有限制的,因此容器中的 root 用户无法像宿主机上的 root 用户一样,拿到完全掌控系统的特权。