摘要:
代理模式和装饰器模式很像,这里用【到咖啡馆喝咖啡】作例子来讲解。 基础实现 定义一个咖啡的接口。 public interface Coffee { /** * 打印当前咖啡里有什么 */ void printMaterial(); } 定义一个苦咖啡的实现。 public class Bitter 阅读全文
摘要:
编写的目的 -通过规范化的流程,使得产品、开发与测试等各个部门更高效的协同工作。-通过规范化的流程使得产品高效稳定运行。 背景 在多组员,多项目等环境进行协同工作时,如果没有统一规范、统一流程,则会导致额外的工作量,甚至会做无用功。所以要减少版本冲突,减轻不必要的工作,就需要规范化的工作流程。 总则 阅读全文
摘要:
或许你也听说了,摩尔定律失效了。技术的发展不会永远是指数上升,当芯片的集成度越来越高,高到 1 平方毫米能集成几亿个晶体管时,也就是人们常说的几纳米工艺,我们的半导体行业就踩到天花板了。因为再小下去,晶体管内甚至都快无法通过一个原子了,然后就是不得不面临量子效应,也就是人们常开玩笑说的——玄学,所谓 阅读全文
摘要:
Paxos、Zab、Raft都属于在分布式环境保持数据一致性的相关算法。对于这三个算法,初次接触的时候有很多疑惑的地方:1. 这3个算法的实现是什么,复杂么2. 为什么要存在这么多算法,一个不能解决么,都用在什么场景。算法本身不太复杂,但是应用在实际场景中解决问题,开发起来还是比较复杂的。下面尽可能 阅读全文
摘要:
阅读全文
摘要:
前端界有两个“教派”,一个叫 Vue,一个叫 React。Vue 的成员看不起 React,React 成员鄙视 Vue,他们认为手中的“教义”就是真理,可以消灭世界一切苦难。 但正如没有绝对的真理,也没有绝对完美的系统框架,我们需要一双明辨是非的眼睛去解析所面对的难题,带我们找到正确的方法,解决所 阅读全文
摘要:
首先,“数据驱动” 是一种编程范式(Programming Paradigm),相似的有很多,详情可以参考这里:https://en.wikipedia.org/wiki... 如果只谈前端,那么问题就会简化很多,一般来说,会比较 “数据驱动” 与 “事件驱动”。数据驱动思想的出现一定程度上弥补了事 阅读全文
摘要:
什么是Mutex “mutex”是术语“互相排斥(mutually exclusive)”的简写形式,也就是互斥量。互斥量跟临界区中提到的Monitor很相似,只有拥有互斥对象的线程才具有访问资源的权限,由于互斥对象只有一个,因此就决定了任何情况下此共享资源都不会同时被多个线程所访问。当前占据资源的 阅读全文
摘要:
过去十数年间,跨平台开发技术始终是开发者们探索的方向,"Write Once, Run Everywhere" 是无数开发者追逐的目标。放眼今朝,应用运行的平台不但没有减少,反而呈更加碎片化增长的趋势。开发者除了需要考虑兼容 Web、iOS、Android 平台外,还需要考虑兼容各家小程序乃至各种 阅读全文
摘要:
18.04之前的版本 1.修改/etc/default/grub 文件 将GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"注释掉,改为GRUB_CMDLINE_LINUX_DEFAULT=“text” 需要改为图形界面时再反操作即可 18.04之后的版本 输入命令: 阅读全文