理解Promise简单实现的背后原理

在写javascript时我们往往离不开异步操作,过去我们往往通过回调函数多层嵌套来解决后一个异步操作依赖前一个异步操作,然后为了解决回调地域的痛点,出现了一些解决方案比如事件订阅/发布的、事件监听的方式,再后来出现了Promise、Generator、async/await等的异步解决方案。co模块使用了Promise自动执行Generator,async/await这个Node7.6开始默认支持的最新解决方案也是依赖于Promise,所以了解Promise是非常有必要的,而理解它背后的实现原理则能在使用它的时候更加游刃有余。

基于node的stream pipe实现反向代理

反向代理

讲到反向代理,就先提下正向代理与反向代理的区别,正反是相对代理对象而言的,正向则是代理对象是客户端,反向的代理对象是服务端,代理的概念就是中介者,正向代理比如一些vpn,它作为客户端的代理对象,客户端的请求都让它来代替请求,服务端只知道那个代理对象,不知道你的请求,然而反向代理则不同,比如著名的反向代理服务器nginx,就起到这样一个功能,很多大型网站都不止一台服务器,然而我们就只会请求它一个地址,作为反向代理服务器,它帮我们把请求转发到相应的服务器并将返回的内容给我们,但是你并不知道那些真实返回请求的服务器是什么。
通俗来讲,对代理对象的正反而言,其实就是正向代理充当客户端,反向代理充当服务端

记一次Hackathon经历

抱着小伙伴的大腿参加了今年北大、清华、北航、北邮四校MSC联合主办的Hackathon,本来想着做做前端划划水,没想到项目中对前端可视化动画要求挺高,整个不够两天的Hackathon基本一直处于出现问题、解决问题的过程,过程足够难忘,最后也获得了“最佳视觉奖”,happy,写此文章纪录一下与小伙伴们奋斗两天的历程~纪录下开发中遇到的一些问题~