《未来简史》读书笔记

1%的精英和99%的无用的人
人类将失去在经济和军事上的用途,因此经济和政治制度可能将不再继续认同人类有太多价值。
21世纪经济学最重要的问题,可能就是多余的人能有什么用?一旦拥有高度智能的算法接手几乎一切工作,而且能比人类做的更好时,人类还能做什么?
前段时间看到一个TED演讲,未来世界各地可能像某些北欧国家一样,发基础工资,所有人都有基本工资来消费,而经济的马车由机器拉动。我们看到现在国家在搞扶贫,其实就是发社会基本工资。只不过还够不上发达国家而已。
社会的贫富差距会加大。绝大多数人将会沦为无用的人。我们看到整个社会逐渐淘汰了一些简单的工作。例如扫马路、看守停车场。不幸的是,从事这些岗位的恰恰是低收入者。这些事情都在身边真实发生。
除了计算机互联网的发展、另外一个进步巨大,却又常常被忽视的领域是生物科技,被称为上帝剪刀的基因编辑可能因为法律和伦理问题还需时日。但基于基因组测序和大数据做癌症筛查是现在的精英阶层已经流行的。由此超人类可能和传统的人产生历史上从未发生的生理差距。
RxJava入门

RxJava是
ReactiveX的Java分支,除了Java版,ReactiveX还支持包括JavaScript、C#、C++、Swift、Python、Android、Unity、Kotlin、Go、PHP在内的众多平台和语言。
ReactiveX的核心是对观察者模式的扩展,并上升到了和命令式编程完全不同的编程方式的高度,称为
响应式编程,优势在于处理异步、基于事件的应用程序。可以将数据或是事件都加队列中处理,优雅地解决了以前多线程交互、IO、并发、同步、异常处理这种编程的老大难问题。再加上Lambda表达式和链式编程,让程序变得更加简洁优雅。
React框架原理的思考

React框架的整体思路是将DOM元素彻底改为由JS代码渲染,通过组件(
Component)的层层嵌套,最终由ReactDOM.render()渲染到页面上。
React框架的核心概念:
- 元素(
Element) Recat认为元素是不可变的,创建后不能修改。React使用JSX技术将HTML代码直接作为常量使用。 - 组件(
Component) 组件是对元素的封装。拥有自身的生命周期函数。 - 属性(
Props) 属性可以看作常量,用于构建特定的组件。 - 状态(
State) 组件通过状态维护自身变化。组件通过调用setState()方法重新渲染。
React的理念是采取单一责任原则,自顶向下设计,一层层的拆分成只做一件事的Component。
在做一个实际的项目时,采取先使用假数据画页面的方式,这个过程中只需要关心数据模型和页面。而不去关心逻辑交互。
此时Component为什么要分成Props和State就显而易见了,做页面时只关心Props,做交互时只关心State。
Angular框架原理的思考

Angular 框架的整体思路,很像 Spring 这样的后台框架。一层层的分解、解耦,天下框架莫不如此。
Angular 有 3 个重要概念:
- 模块(Module)
- 组件(Component)
- 路由(Router)
Angular 通过将大型项目分割成一个个模块,松耦合,便于扩展和维护。
所谓组件,就是一个 MVC 块,每个模块会有很多组件,组件代表了一个页面,可以嵌套,因此可以更加细分下去,通过元数据做双向绑定。
所谓路由,就是一个分发器,不同的路径加载不同的模块或组件即可。
所谓元数据,就是 Java 注解。
Spring 那套,控制反转(IOC)依赖注入(DI)也被引入进来。
将业务逻辑封装到Service里,然后注入到各个组件中使用。业务代码就彻底被隔离到 Service 里了,不会侵入框架整体设计。
关于 Webpack:Webpack 在打包 Web 工程时,可以找到资源之间的引用,最小化压缩合并 CSS,JavaScript 文件。
