Zerlinda's Blog

浅谈ES6异步Promise对象

在前一篇文章浅谈JavaScript运行机制Event Loop中讲到Event Loop避免了在浏览器端因为单线程同步执行任务造成的前一个任务未完成,后一个任务必须一直等待因而造成的浏览器阻塞问题。在浏览器端,耗时很长的操作都应该异步执行,避免浏览器失去响应。这就是JavaScript的“异步编程”。异步编程的方法大致包括:直接回调、pub/sub模式(事件模式)、异步库控制库(例如async、when)、promise、Generator等。

(更多…)

浅谈js函数柯里化

在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。这个技术由 Christopher Strachey 以逻辑学家 Haskell Curry 命名的,尽管它是 Moses Schnfinkel Gottlob Frege 发明的。 (更多…)

浅谈XSS 与 CSRF

Xss (Cross Site Scripting)

Xss:跨站脚本攻击(Cross Site Scripting),指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。xss是注入攻击的一种,其特点是不对服务器端造成任何伤害,而是通过一些正常的站内交互途径,例如发布评论,提交含有 JavaScript 的内容文本。这时服务器端如果没有过滤或转义掉这些脚本,作为内容发布到了页面上,其他用户访问这个页面的时候就会运行这些脚本。

(更多…)

浅谈前端登录认证机制

大概每个前端都会碰到的问题是,当用户在某一网站登录之后,记住用户的登录状态。众所周知,HTTP 是一种没有状态的协议,无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。所以,究竟我们要如何去维护登录状态?

(更多…)

前端自动化之gulp使用

说到前端自动化,不得不提到Gulp,虽然在前端技术各种多元发展的如今(grunt更早一些,webpack貌似比较流行),你的项目可能用不到gulp,但是俗话说技多不压身嘛。gulp能够优化你的前端工作流程。比如自动刷新页面、压缩css、js、编译less等等。而且gulp的配置和安装都相当简单,通过安装相应的gulp插件,在文件中正确配置各种插件的使用,就可以把以前需要手工做的事情(比如合并js,压缩js)全部自动做完。同样可以实现实时监控打包的工作,听起来真的很方便! (更多…)