浅析CSP

CSP(Content Security Policy), 即内容安全策略。可以通过http响应头或<meta>标签的方式引入, 其作用是制定一套资源加载策略,防御XSS攻击。

原生模块打造一个简单的websocket服务器

众所周知,在http2之前,受制于协议本身的原因,http并不支持服务端主动推送。客户端需要采用轮询等方式与服务端进行实时通信,但产生的开销比较大。而html5中提出了一套websocket协议规范,使得客户端浏览器与服务端进行双向实时通信成为可能(具体参见rfc6455),本文将介绍用node.js原生模块打造一个简单的ws服务器,点击这里获取完整代码。

oauth2.0认证服务器搭建流程笔记

OAuth认证流程有什么用,想必使用过第三方账号登录的大家也都有所了解过。某些第三方应用在用户使用合作账号登录时会获取资料。比如多说评论框,在使用qq账号登录时,获取了用户的qq头像以及昵称等信息。传统的做法要使多说评论框获取这些信息,需要将用户的qq账号和密码告诉多说,这样做有几个严重的缺点。

  • 多说会保存用户的账号密码,为了给用户提供后续服务,那么当多说被破解时,将导致用户的账号信息泄露
  • 多说将拥有用户账号所有者的权限,可以任意获取以及修改用户信息
  • 用户收回权限,必须改密,改密后多说将失去用户资源的所有访问及修改权限

而OAuth认证就是为了解决上述问题而诞生的。

9行代码实现超超简版co

前言

说说这几天的经历吧,前几天经由笔兄介绍,向我推荐了一个eleme的实习工作。本来正愁南昌找不到node的面试机会的,准备十月底结课后就去上海找的,却没想到机会来的这么突然,真心的谢谢笔兄以及帮我压缩简历(也就200字左右的简历转pdf居然10多M大小…)的那位eleme的前端哥们and面试我的node团队的leader以及二面的各位hr们(不知道你们叫什么抱歉啦…)。一轮走下来后,感觉公司做事很有条理,大家都很和善,这点我很喜欢。还有就是二面的时候,从大家的交流中也得知了这是一个很好玩的团队,其实真实的我也是比较真性情的(其实是骚,暴露了- -!)。
总体来说,这次面试对我来说收获还是很多的。由于自己第一次来上海,自己也没准备,回答问题时其实很多是没有经过大脑的。自己是个慢性子的人,在需要临场快速作答的环境下还是太紧张导致答错了很多或者没答全(但是没答出来就是没答出来,不要找借口!),这点需要加强练习啊。。。平时无论是写代码还是做事总是兴趣主导,行事方面没有条理,生活无规律,有时天昏地暗,有时懒散如猪,从今往后也会努力改变。
其它的也就不多说了,面试最终结果要等过完国庆才知道。其实即使没面上也没关系的,毕竟早已习惯伤痛(:з」∠),面不上只能说明自己还没努力到能配得上那份工作的实力吧,一切随缘…当然失败我也不会放弃的。
另外,总感觉大家好帅(不限男女)啊,我的哥,还有好想加入eleme的github组织,感觉很装逼(原谅我是图标党)。

浅谈tcp拥塞控制和如何提高网络吞吐量的机制

前言

之前用node的net模块时,翻了一下官方文档,无意间看到了一个这样的方法:

1
2
3
4
5
6
socket.setNoDelay([noDelay])#

Disables the Nagle algorithm. By default TCP connections use the Nagle algorithm, they buffer data before sending it off.
Setting true for noDelay will immediately fire off data each time socket.write() is called. noDelay defaults to true.

Returns socket.

这api的作用是禁用tcp Nagle算法⊙_⊙(什么鬼,Nagle算法是什么。。。怎么没听说过。。赶紧百度百度。到时候被人问到时,还能装一装逼o(*≧▽≦)ツ┏━┓)