web安全之跨站请求伪造

2017-03-10
CSRF攻击实例 CSRF 攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在并未授权的情况下执行在权限保护之下的操作。 受害者 Bob 在银行有一笔存款,通过对银行的网站发送请求 http://bank.example/withdraw?account=bob&amount=1000000&for=bob2 可以使 Bob 把 1000000 的...

阅读更多

javascript之promise

2017-03-08
Promise定义 在promise以前,js用回调函数来处理异步请求,当上一次请求和下一次请求存在依赖关系的时候,就会出现回调地狱,类似这样嵌套回调 $.post('/getUser', function(data) { $.post('/getInfo', userId: data.id, function(){ ... }) }) 为了更好的异步流程控制...

阅读更多

module.exports vs exports

2017-03-08
有时候在nodejs模块里面经常看到有类似的写法 module.exports = exports = nano = function database_module(cfg) {...} module.exports 官方文档的定义:module.exports是模块系统的一个对象,如果想导出某个对象的实例或者方法,就用module.exports来导出模块,在一个模块文件...

阅读更多

vue2+vuex+vue-router+webpack+es6搭建项目架构

2017-03-01
最近想学下vue全家桶,所以尝试利用这些框架搭建一下项目的结构,主要用到的是vue2,vue-router,vuex,webpack等知识 Vue-cli脚手架 首先需要搭建起一个项目的结构,vue提供了vue-cli脚手架来生成vue项目的结构,通过 npm install vue-cli -g 全局安装, 然后通过 vue init webpack my-project&nbs...

阅读更多

python简单爬虫程序

2016-12-09
思路 爬虫之前要分析下规律,由于**之家的车型不是接口调用的,所以选择用html解析来获取数据,那么车型有4级,我只要把问题化繁为简,就类似获取一个车型下的车系,排量,年款 下一级页面跟上一级有关联,所以根据链接进入下级页面,获取数据,这样一直到第四级,这样问题解决了,就在最顶级(车型)一个循环就可以了 库 需要使用到的库有 urllib,xlwt,json,re,...

阅读更多

nodejs的co简单实现

2016-12-08
Generator和yield es6有一个generator函数,它是一个普通函数,但是有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部使用yield语句,定义不同的内部状态 每次执行generator函数会返回一个iterator,在有yield的关键字停止,所以每次执行一次iterator.next()会在下一个yield停止,可以通过next(v...

阅读更多

js防抖和节流

2016-11-03
防抖(debounce) 在写前端脚本的时候,有时候会某一时间短时间内触发多次事件,例如mouseover,resize,scroll函数,如果在这些回调执行复杂的操作,那么会导致页面卡顿,所以必须采取一些措施,我们想要的是在某一连续操作只执行一次处理,那么就可以用防抖(debounce)函数 function debounce(fn, delay) { var timer; retur...

阅读更多

理解v8的内存管理

2016-10-23
V8的内存管理模式 一个运行的程序通常是通过在内存中分配一部分空间来表示的。这部分空间被称为驻留集(Resident Set)。 V8的内存管理模式有点类似于Java虚拟机(JVM),它会将内存进行分段: 代码 Code:实际被执行的代码 栈 Stack:包括所有的携带指针引用堆上对象的值类型(原始类型,例如整型和布尔),以及定义程序控制流的指针。 堆 Heap:用于保存引用类型(包括...

阅读更多