细读经典: CSAPP–深入理解计算机系统
为什么读这本书
- 对计算机系统有更加全面且深入的认识
- 可以获得扎实的基础知识,本书对计算机网络,操作系统,编译原理有详细的介绍
- 从汇编语言开始逐步了解编程本身的进化史
- 培养自己的自学能力,提高竞争力–各方面的
myBlog
有一段时间没写react-native redux相关文章了,使用中多多少少有些感悟,总结了一些,这次把它写出来。
本文目录
- redux三大原则
- 重新认识redux三要素
- react-redux的最新用法
- redux性能优化
- redux周边设施
- 总结 & 其他
在使用 electron 构建桌面应用的时候,在 package.json 里面的 scripts 字段是这样的1
2
3"scripts": {
"start": "electron ."
},
我们可以执行 npm start ,那么它就会执行 electron .
这个命令。
那么如果我们直接执行 electron .
由于我们没有将 electron 加入到全局,所以不行。
那么为什么 npm start 可以执行呢?
gulp 是一个前端构建工具,它能通过自动执行常见任务,比如编译预处理 CSS ,压缩 JavaScript 和刷新浏览器,来改进网站开发的过程,从而使开发更加快速高效。
与 grunt 相比,gulp 无需写一大堆繁杂的配置参数,API(中文 API) 也非常简单,学习起来很容易,而且 gulp 使用的是 nodejs 中 stream 来读取和操作数据,其速度更快。
gulp 有庞大的生态圈,且每天都在发展。依靠成千上万可供选择的插件,你可以利用 gulp 自动完成几乎任何事。
新版的 gulp 命令行工具已经改名为 gulp-cli 。
如果你之前安装了全局的 gulp 。在使用新的 gulp-cli 之前,执行命令
npm rm --global gulp
,将之前的全局 gulp 卸掉。
经过上次的react-native小模块完成之后,发现不少缺点,而且基本没什么扩展性。这次正好又增加一个react-native模块————我的等级特权,于是动手重构了项目里整个react-native的部分,随着今晚项目发布上线,动手记录下来这次重构的经验。
本文目录
- 为什么要做这次重构
- Flux模式与Redux
- React-Native With Redux
- 代码规范和语法糖
- 重构过程中遇到的坑
- 总结
撰写本文时笔者的相关环境如下
- 操作系统:OS X 10.11.2
- npm中react-native版本:0.17.0
- Android studio中react-native版本:0.17.1
之前的初次踩坑文章是在做第一个react-native需求——通知中心的时候写的,当时为的是功能没问题然后上线,并没有考虑扩展、封装、数据流等问题。当又要添加其他react-native模块的时候,就必须要解决这样的问题了,于是这次重构应运而生。
正如当年为了统一 JavaScript 语言标准,人们制定了 ECMAScript 规范一样,如今为了统一 JavaScript 在浏览器之外的实现,CommonJS 诞生了。CommonJS 试图定义一套普通应用程序使用的 API,从而填补 JavaScript 标准库过于简单的不足。CommonJS 的终极目标是制定一个像 C++ 标准库一样的规范,使得基于 CommonJS API 的应用程序可以在不同的环境下运行,就像用 C++ 编写的应用程序可以使用不同的编译器和运行时函数库一样。为了保持中立,CommonJS 不参与标准库实现,其实现交给像 Node.js 之类的项目来完成。下图是 CommonJS 的各种实现。