Alex的小站

好记性不如烂笔头


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

nsq介绍

发表于 2019-05-06 | 分类于 server
消息队列主要用来在高并发、大数据场景下解决服务的异步处理,流量削峰填谷,应用解耦问题,提高系统模块化能力。市面上有很多优秀的消息队列产品,如Kafka、RabbitMQ、ActiveMQ、RocketMQ等,本文主要介绍下跟着golang一起流行起来的nsq。 nsq是基于go语言开发的一个实时分布式消息平台。 拓扑结构/核心组件nsqdnsqd是分布式中的单个节点,负责具体接收生产者消息,发布消 ...
阅读全文 »

fiber是如何工作的

发表于 2019-01-08 | 分类于 js
之前曾经写过一篇介绍fiber的文章,当时提到fiber就是一个实现了时间分片+链表结构的数据结构。这里结合源码介绍下fiber的链表结构是如何工作的。 reconciliation/render阶段react(v16.6)实现reconciliation/伪代码, 源码位置12345678910111213141516171819202122232425262728293031323334353 ...
阅读全文 »

活动专题系统搭建过程中我的一些思考

发表于 2018-12-19 | 分类于 work
CMS系统是由携程民宿(C),去哪儿民宿(Q),途家(T)共同维护的一个项目。运营在活动后台通过拖拽配置不同的功能模块,生成前台可直接访问的活动页面。 以往的专题活动页往往需要前端人力开发,费事费力,CMS旨在减轻开发人员开发成本。 CMS系统分前后台两个项目。搭建后台(B端)用于配置活动,渲染前台(C端)渲染实际页面。 后台共享一个配置后台系统,CQT活动均统一在配置系统内配置,功能模块统一维护 ...
阅读全文 »

简单聊下react和vue之争

发表于 2018-12-14
react和vue谁更好? 这个问题感觉隔段时间就会被拎出来,然后在知乎掘进等内容区掀起一片骂战,各说各话,甚至逼的vue作者尤大都要出来回应一波。贵圈真乱!我不想参与社区这种无畏的争论,但最近看到还在有人提这种问题,之前做面试官时,也有候选人问过我类似看法,这里就说几句。 老实说我觉得问这个问题的人很无聊,就像那些语言之争,有什么用呢。还是说真的是“同行相轻”。 讨论哪个更好有意义吗?你用rea ...
阅读全文 »

hooks背后的设计思想

发表于 2018-12-13 | 分类于 js
此前在React Conf 2018 上 react公布了自己最新的实验性API: hooks 之前我们提到react组件中复用代码主要有两个方式:高阶组件以及render props。hooks给函数式组件引入了state的概念,可以更方便的抽离业务逻辑代码,实现业务逻辑复用和组件复用 hooks的基本介绍有很多文章,这里就不再赘述。下面我们主要来聊聊hooks背后的设计思想 允许多次调用use ...
阅读全文 »

async/await动手实现

发表于 2018-12-10 | 分类于 js
async/await本质上是一个generator/yield的语法糖,通过内置一个执行器,来实现自动执行。 generator/yield的实现可参考上一篇 generator动手实现 自动执行器123456789101112131415161718192021222324252627282930// 一个简单的自动执行器var autoGen = function(fn, ...args) ...
阅读全文 »

generator动手实现

发表于 2018-12-10 | 分类于 js
1234567function *test() { console.log('generator demo'); yield 'aa'; yield 'bb';}var gen = test();gen.next(); 手动实现1234567891011121314151617181920212223242526272829303132333435363738 ...
阅读全文 »

class component 中的 super(props)

发表于 2018-12-01 | 分类于 js
react中class component常见写法1234567891011121314151617class Card extends React.Component { constructor(props) { // 此处this还不存在 super(props); this.state = { ...
阅读全文 »

passive

发表于 2018-11-01 | 分类于 browser
背景浏览器多进程结构 Browser Process 浏览器底层操作,文件请求,网络请求 Renderer Process 渲染进程,负责一个tab内的所有工作 Plugin Process 管理插件,如flash GPU Process Render Process 多线程: 主线程/内核线程 Main thread js执行,样式计算,布局,绘制 工作线程 Worker thread ...
阅读全文 »

清理磁盘

发表于 2018-10-07 | 分类于 linux
最近有次应用发布,部署失败了,查原因是beta机的磁盘满了,这里mark下如何找到过大size的文件 1.查看当前文件系统磁盘占用情况1df -h 2.查看当前目录下所有文件夹的size1du -sh *
阅读全文 »
12…7
Alex

Alex

65 日志
9 分类
18 标签
GitHub E-Mail
© 2019 Alex
由 Hexo 强力驱动
|
主题 — NexT.Mist