摘要: 用Node.js写一个web服务器,我前面已经写过两篇文章了: 第一篇是不使用任何框架也能搭建一个web服务器,主要是熟悉Node.js原生API的使用:使用Node.js原生API写一个web服务器 第二篇文章是看了Express的基本用法,更主要的是看了下他的源码:手写Express.js源码 阅读全文
posted @ 2020-11-09 11:22 _蒋鹏飞 阅读(544) 评论(2) 推荐(2) 编辑
摘要: 上一篇文章我们讲了怎么用Node.js原生API来写一个web服务器,虽然代码比较丑,但是基本功能还是有的。但是一般我们不会直接用原生API来写,而是借助框架来做,比如本文要讲的Express。通过上一篇文章的铺垫,我们可以猜测,Express其实也没有什么黑魔法,也仅仅是原生API的封装,主要是用 阅读全文
posted @ 2020-11-02 11:34 _蒋鹏飞 阅读(522) 评论(0) 推荐(0) 编辑
摘要: Node.js是JavaScript基础上发展起来的语言,所以前端开发者应该天生就会一点。一般我们会用它来做CLI工具或者Web服务器,做Web服务器也有很多成熟的框架,比如Express和Koa。但是Express和Koa都是对Node.js原生API的封装,所以其实不借助任何框架,只用原生API 阅读全文
posted @ 2020-10-26 14:15 _蒋鹏飞 阅读(1429) 评论(0) 推荐(1) 编辑
摘要: 上一篇文章我们分析了Redux-Thunk的源码,可以看到他的代码非常简单,只是让dispatch可以处理函数类型的action,其作者也承认对于复杂场景,Redux-Thunk并不适用,还推荐了Redux-Saga来处理复杂副作用。本文要讲的就是Redux-Saga,这个也是我在实际工作中使用最多 阅读全文
posted @ 2020-10-19 15:20 _蒋鹏飞 阅读(620) 评论(0) 推荐(1) 编辑
摘要: 前段时间,我们写了一篇Redux源码分析的文章,也分析了跟React连接的库React-Redux的源码实现。但是在Redux的生态中还有一个很重要的部分没有涉及到,那就是Redux的异步解决方案。本文会讲解Redux官方实现的异步解决方案 Redux-Thunk,我们还是会从基本的用法入手,再到原 阅读全文
posted @ 2020-09-09 10:34 _蒋鹏飞 阅读(2169) 评论(1) 推荐(0) 编辑
摘要: 上一篇文章我们手写了一个Redux,但是单纯的Redux只是一个状态机,是没有UI呈现的,所以一般我们使用的时候都会配合一个UI库,比如在React中使用Redux就会用到React-Redux这个库。这个库的作用是将Redux的状态机和React的UI呈现绑定在一起,当你dispatch acti 阅读全文
posted @ 2020-07-09 10:29 _蒋鹏飞 阅读(848) 评论(0) 推荐(0) 编辑
摘要: Redux可是一个大名鼎鼎的库,很多地方都在用,我也用了几年了,今天这篇文章就是自己来实现一个Redux,以便于深入理解他的原理。我们还是老套路,从基本的用法入手,然后自己实现一个Redux来替代源码的NPM包,但是功能保持不变。本文只会实现Redux的核心库,跟其他库的配合使用,比如React-R 阅读全文
posted @ 2020-07-03 14:03 _蒋鹏飞 阅读(1744) 评论(1) 推荐(5) 编辑
摘要: 熟悉React的朋友都知道,React支持jsx语法,我们可以直接将HTML代码写到JS中间,然后渲染到页面上,我们写的HTML如果有更新的话,React还有虚拟DOM的对比,只更新变化的部分,而不重新渲染整个页面,大大提高渲染效率。到了16.x,React更是使用了一个被称为Fiber的架构,提升 阅读全文
posted @ 2020-06-23 17:29 _蒋鹏飞 阅读(3642) 评论(1) 推荐(3) 编辑
摘要: 提高代码质量的目的 程序猿的本职工作就是写代码,写出高质量的代码应该是我们的追求和对自己的要求,因为: 高质量的代码往往意味着更少的BUG,更好的模块化,是我们扩展性,复用性的基础 高质量的代码也意味着更好的书写,更好的命名,有利于我们的维护 什么代码算好的质量 怎样来定义代码质量的"好",业界有很 阅读全文
posted @ 2020-06-05 16:17 _蒋鹏飞 阅读(1112) 评论(3) 推荐(4) 编辑
摘要: 为什么要提高代码扩展性 我们写的代码都是为了一定的需求服务的,但是这些需求并不是一成不变的,当需求变更了,如果我们代码的扩展性很好,我们可能只需要简单的添加或者删除模块就行了,如果扩展性不好,可能所有代码都需要重写,那就是一场灾难了,所以提高代码的扩展性是势在必行的。怎样才算有好的扩展性呢?好的扩展 阅读全文
posted @ 2020-05-29 16:09 _蒋鹏飞 阅读(1549) 评论(0) 推荐(0) 编辑