摘要:这段时间写了一堆源码解析,这篇文章想换换口味,跟大家分享一个我工作中遇到的案例。毕竟作为一个打工人,上班除了摸鱼看源码外,砖还是要搬的。本文会分享一个使用恰当的数据结构来进行性能优化,从而大幅提高响应速度的故事,提高有几百倍那么多。 事情是这样的,我现在供职一家外企,我们有一个给外国人用的线下卖货的 阅读全文
posted @ 2020-11-24 14:51 _蒋鹏飞 阅读(4442) 评论(55) 推荐(37) 编辑
摘要:上一篇文章我们讲了Koa的基本架构,可以看到Koa的基本架构只有中间件内核,并没有其他功能,路由功能也没有。要实现路由功能我们必须引入第三方中间件,本文要讲的路由中间件是@koa/router,这个中间件是挂在Koa官方名下的,他跟另一个中间件koa-router名字很像。其实@koa/router 阅读全文
posted @ 2020-11-16 14:15 _蒋鹏飞 阅读(123) 评论(0) 推荐(0) 编辑
摘要:用Node.js写一个web服务器,我前面已经写过两篇文章了: 第一篇是不使用任何框架也能搭建一个web服务器,主要是熟悉Node.js原生API的使用:使用Node.js原生API写一个web服务器 第二篇文章是看了Express的基本用法,更主要的是看了下他的源码:手写Express.js源码 阅读全文
posted @ 2020-11-09 11:22 _蒋鹏飞 阅读(131) 评论(2) 推荐(2) 编辑
摘要:上一篇文章我们讲了怎么用Node.js原生API来写一个web服务器,虽然代码比较丑,但是基本功能还是有的。但是一般我们不会直接用原生API来写,而是借助框架来做,比如本文要讲的Express。通过上一篇文章的铺垫,我们可以猜测,Express其实也没有什么黑魔法,也仅仅是原生API的封装,主要是用 阅读全文
posted @ 2020-11-02 11:34 _蒋鹏飞 阅读(173) 评论(0) 推荐(0) 编辑
摘要:Node.js是JavaScript基础上发展起来的语言,所以前端开发者应该天生就会一点。一般我们会用它来做CLI工具或者Web服务器,做Web服务器也有很多成熟的框架,比如Express和Koa。但是Express和Koa都是对Node.js原生API的封装,所以其实不借助任何框架,只用原生API 阅读全文
posted @ 2020-10-26 14:15 _蒋鹏飞 阅读(459) 评论(0) 推荐(1) 编辑
摘要:上一篇文章我们分析了Redux-Thunk的源码,可以看到他的代码非常简单,只是让dispatch可以处理函数类型的action,其作者也承认对于复杂场景,Redux-Thunk并不适用,还推荐了Redux-Saga来处理复杂副作用。本文要讲的就是Redux-Saga,这个也是我在实际工作中使用最多 阅读全文
posted @ 2020-10-19 15:20 _蒋鹏飞 阅读(149) 评论(0) 推荐(1) 编辑
摘要:前段时间,我们写了一篇Redux源码分析的文章,也分析了跟React连接的库React-Redux的源码实现。但是在Redux的生态中还有一个很重要的部分没有涉及到,那就是Redux的异步解决方案。本文会讲解Redux官方实现的异步解决方案 Redux-Thunk,我们还是会从基本的用法入手,再到原 阅读全文
posted @ 2020-09-09 10:34 _蒋鹏飞 阅读(257) 评论(1) 推荐(0) 编辑
摘要:上一篇文章我们手写了一个Redux,但是单纯的Redux只是一个状态机,是没有UI呈现的,所以一般我们使用的时候都会配合一个UI库,比如在React中使用Redux就会用到React-Redux这个库。这个库的作用是将Redux的状态机和React的UI呈现绑定在一起,当你dispatch acti 阅读全文
posted @ 2020-07-09 10:29 _蒋鹏飞 阅读(200) 评论(0) 推荐(0) 编辑
摘要:Redux可是一个大名鼎鼎的库,很多地方都在用,我也用了几年了,今天这篇文章就是自己来实现一个Redux,以便于深入理解他的原理。我们还是老套路,从基本的用法入手,然后自己实现一个Redux来替代源码的NPM包,但是功能保持不变。本文只会实现Redux的核心库,跟其他库的配合使用,比如React-R 阅读全文
posted @ 2020-07-03 14:03 _蒋鹏飞 阅读(402) 评论(1) 推荐(3) 编辑
摘要:熟悉React的朋友都知道,React支持jsx语法,我们可以直接将HTML代码写到JS中间,然后渲染到页面上,我们写的HTML如果有更新的话,React还有虚拟DOM的对比,只更新变化的部分,而不重新渲染整个页面,大大提高渲染效率。到了16.x,React更是使用了一个被称为Fiber的架构,提升 阅读全文
posted @ 2020-06-23 17:29 _蒋鹏飞 阅读(856) 评论(0) 推荐(1) 编辑