
javascript
文章平均质量分 94
阿利518
专注于互联网技术学习和积累(31702935)
展开
-
Session原理、安全以及最基本的Express和Redis实现
基础概念Session管理是Web Application的基础也是一个老生常谈的话题。为了方便后文的展开,更重要的是确认自己清晰的理解了整个Session管理的概念,我在此还是决定赘述的整个流程。如果你已经对于Session概念非常清晰的话,可以跳过本节不影响对于后文的理解。HTTP协议在设计的时候是无状态的。这是一个很关键的概念,意味着服务器在处理请求的时候,并不关注这个请求是转载 2015-06-02 10:10:28 · 705 阅读 · 0 评论 -
前端工具bower wiredep
Bower是一个客户端技术的软件包管理器,它可用于搜索、安装和卸载如JavaScript、HTML、CSS之类的网络资源。详细信息请参考 bower官网 。几个例子:1.当前项目需要引入jquerybower install jquery 只需上面简单一条命令就可以将jquery库已经其依赖的库下载下来。直接就可以在项目中引用相关的文件就可以了。2.转载 2016-01-06 16:06:04 · 522 阅读 · 0 评论 -
Jade —— 源于 Node.js 的 HTML 模板引擎
Jade 是一个高性能的模板引擎,它深受 Haml 影响,它是用 JavaScript 实现的,并且可以供 Node 使用。试玩你可以在网上试玩 Jade。特性客户端支持代码高可读灵活的缩进块展开Mixins静态包含属性改写安全,默认代码是转义的运行时和编译时上下文错误报告命令行下编译jade模板HTML5 模式 (使用 !!! 5 文档类型)在内存中缓存(转载 2015-12-04 20:19:36 · 2843 阅读 · 0 评论 -
Node.js回调黑洞全解:Async、Promise 和 Generator
我们常常把这个问题叫做”回调黑洞”或”回调金字塔”:doAsync1(function () { doAsync2(function () { doAsync3(function () { doAsync4(function () { }) })})回调黑洞是一种主观的叫法,就像嵌套太多的代码,有时候也没什么问题。为了控制调用顺序,异步代码变转载 2015-12-23 13:02:59 · 3034 阅读 · 0 评论 -
Generator 函数的含义与用法
异步编程对 JavaScript 语言太重要。JavaScript 只有一根线程,如果没有异步编程,根本没法用,非卡死不可。以前,异步编程的方法,大概有下面四种。回调函数事件监听发布/订阅Promise 对象ECMAScript 6 (简称 ES6 )作为下一代 JavaScript 语言,将 JavaScript 异步编程带入了一个全新的阶转载 2015-12-23 14:18:51 · 874 阅读 · 0 评论 -
Thunk 函数的含义和用法
一、参数的求值策略Thunk函数早在上个世纪60年代就诞生了。那时,编程语言刚刚起步,计算机学家还在研究,编译器怎么写比较好。一个争论的焦点是"求值策略",即函数的参数到底应该何时求值。var x = 1;function f(m){ return m * 2; }f(x + 5)上面代码先定义函数 f,然后向它传入表达式 x + 5转载 2015-12-23 14:20:13 · 706 阅读 · 0 评论 -
co 函数库的含义和用法
一、什么是 co 函数库?co 函数库是著名程序员 TJ Holowaychuk 于2013年6月发布的一个小工具,用于 Generator 函数的自动执行。比如,有一个 Generator 函数,用于依次读取两个文件。var gen = function* (){ var f1 = yield readFile('/etc/fstab'); var f2转载 2015-12-23 14:21:15 · 1611 阅读 · 0 评论 -
async 函数的含义和用法
一、终极解决异步操作是 JavaScript 编程的麻烦事,麻烦到一直有人提出各种各样的方案,试图解决这个问题。从最早的回调函数,到 Promise 对象,再到 Generator 函数,每次都有所改进,但又让人觉得不彻底。它们都有额外的复杂性,都需要理解抽象的底层运行机制。异步I/O不就是读取一个文件吗,干嘛要搞得这么复杂?异步编程的最高境界,就是根本不用关心它是转载 2015-12-23 14:27:56 · 2239 阅读 · 0 评论 -
Nodejs异步流程控制Async
1. Async介绍Async是一个流程控制工具包,提供了直接而强大的异步功能。基于Javascript为Node.js设计,同时也可以直接在浏览器中使用。Async提供了大约20个函数,包括常用的 map, reduce, filter, forEach 等,异步流程控制模式包括,串行(series),并行(parallel),瀑布(waterfall)等。项目地址:ht转载 2015-12-23 14:42:08 · 1012 阅读 · 0 评论 -
Grunt教程-前端自动化
为何选择Grunt?压缩、编译、单元测试、代码检查等 我们需要自动化,不必重复劳动,减小工作量。为何选择Grunt呢?好像是没有更好的选择了。准备工作安装node.jsGrunt基于Node.js,安装之前要先安装Node.js。brew install node更新npmsudo n转载 2015-12-09 08:25:20 · 504 阅读 · 0 评论 -
Relay: 全新的React数据获取框架
React在前端领域开启了一个新的时代。随着Facebook发布并开源React,它迅速成为大量技术公司 运用在生产环境中的一款流行的库。在本文中,我们将会讨论的是一个全新的React附属框架——Relay。React中数据获取存在的问题由于React正在变得越发流行,使用React构建的项目的规模和复杂度也随之增加。 由于React只是一个视图层的库,这使得某些团队需要在不同的基转载 2016-02-26 23:10:24 · 2399 阅读 · 0 评论 -
JavaScript Source Map 详解
这是2.0版之前的最后一个新版本,有很多新功能,其中一个就是支持Source Map。访问 http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js,打开压缩后的版本,滚动到底部,你可以看到最后一行是这样的: //@ sourceMappingURL=jquery.min.map这就是Sourc转载 2016-03-25 17:38:11 · 463 阅读 · 0 评论 -
自动检测代码变化并重启nodejs工具使用对比
As a newbie Node.js developer coming from a Java and PHP background, I found the process of having to search for the correct node terminal and hitting[Ctrl-C] [Up-Arrow] [Enter]after every c转载 2015-12-04 08:48:50 · 1781 阅读 · 0 评论 -
Callback Hell-Javascript异步编程指导
--先摘录,待翻译。What is "callback hell"?Asynchronous javascript, or javascript that uses callbacks, is hard to get right intuitively. A lot of code ends up looking like this:fs.readdir(source,转载 2015-12-03 12:47:22 · 881 阅读 · 0 评论 -
Commander-快速编写自己的命令行程序
前言在使用Nodejs过程中,有很多包都支持全局安装,然后提供一个命令,然后在命令行我们就可以完成一些任务,像 express, grunt, bower, yeoman, reap, karma, requirejs 等。有时候,我们也需要自己开发这样的命令行工具。commander.js,可以帮助我们简化命令行的开发。目录commander介绍comma转载 2015-12-03 22:06:12 · 1527 阅读 · 0 评论 -
gulp入门指南
Grunt靠边,全新的建构工具来了。Gulp的code-over-configuration不只让撰写任务(tasks)更加容易,也更好阅读及维护。Glup使用node.js串流(streams)让建构更快速,不须写出资料到硬盘的暂存档案/目录。如果你想了解更多有关串流–虽然不是必须的–你可以阅读这篇文章。Gulp利用来源档案当作输入,串流到一群外挂(plugins),最后取得输出的结果,转载 2015-05-22 17:47:01 · 1020 阅读 · 0 评论 -
NPM小结
nodejs的出现,可以算是前端里程碑式的一个事件,它让前端攻城狮们摆脱了浏览器的束缚,踏上了一个更加宽广的舞台。前端的可能性,从此更加具有想象空间。随着一系列基于nodes的应用/工具的出现,工作中与nodejs打交道的机会越来越多。无论在node应用的开发,还是使用中,包管理都扮演着一个很重要的作用。NPM(node package manager),作为node的包管理工具,极大地便转载 2015-05-22 17:42:55 · 483 阅读 · 0 评论 -
使用 AngularJS & NodeJS 实现基于 token 的认证应用
认证是任何 web 应用中不可或缺的一部分。在这个教程中,我们会讨论基于 token 的认证系统以及它和传统的登录系统的不同。这篇教程的末尾,你会看到一个使用 AngularJS 和 NodeJS 构建的完整的应用。传统的认证系统在开始说基于 token 的认证系统之前,我们先看一下传统的认证系统。用户在登录域输入 用户名 和 密码 ,然后点击 登录 ;请求发送之后,通转载 2015-10-16 15:14:04 · 1067 阅读 · 0 评论 -
百度开源的数据可视化工具eCharts真心不错
开发文档:http://echarts.baidu.com/doc/doc.html部分摘录如下:简介ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10/11,chrome,firefox,Safari等),底层依赖轻量级的Canvas原创 2015-11-21 00:17:25 · 16790 阅读 · 1 评论 -
WAI-ARIA —— 让盲人更清楚我们的网页
我曾经根据网上一些流行的无障碍建议对博客进行改进,希望能方便视障人士浏览我的博客,但经过一番“改进”之后,我发现这些建议并不完全奏效,用 NVDA 实际测试后,网站的无障碍可访问性并没有得到明显提升。最近几天,我重新思考了无障碍网页的设计,最终得到一些比较有效的方法,在这里整理一下!一. 视障人士是如何浏览网页的?要想让盲人清楚我们的网页,首先要了解盲人是如何浏览网页。如大家熟知,视障转载 2015-11-24 08:39:37 · 1598 阅读 · 0 评论 -
WAI-ARIA无障碍网页应用属性完全展示
一、你至少应该知道ARIA是什么东西!WAI-ARIA指无障碍网页应用。主要针对的是视觉缺陷,失聪,行动不便的残疾人以及假装残疾的测试人员。尤其像盲人,眼睛看不到,其浏览网页则需要借助辅助设备,如屏幕阅读器,屏幕阅读机可以大声朗读或者输出盲文。而ARIA就是可以让屏幕阅读器准确识别网页中的内容,变化,状态的技术规范,可以让盲人这类用户也能无障碍阅读!二、为什么需要ARIA?转载 2015-11-24 08:41:30 · 491 阅读 · 0 评论 -
JerryScript 和 IoT.js:来自三星的物联网JavaScript
最近三星开源了IoT.js和JerryScript。IoT.js是一个使用JavaScript语言编写的物联网应用平台;JerryScript是一个适用于嵌入式设备的小型JavaScript引擎。三星创建这两个项目的目的,是为了让JavaScript开发者能够构建物联网应用。物联网设备在CPU性能和内存空间上都有着严重的制约。因此,三星设计了JerryScript引擎,它能够运行在小于64KB转载 2015-11-20 22:06:48 · 8933 阅读 · 0 评论 -
超越Web,Javascript在物联网的应用
引子Patrick Catanzariti 是一名Web开发工程师,最近他在 sitepoint 发表了《JavaScript Beyond the Web in 2014》,介绍了JavaScript在物联网中的应用,非常有意思。做为JavaScript的爱好者和从业者,我在这里把它翻译了,以飨读者。 顺便说一下,就在上周,我们团队的最新力作“真正的JavaScript控件集”----《转载 2015-11-20 21:59:07 · 755 阅读 · 0 评论 -
Modernizr.js入门指南
HTML5 和 CSS3 的快速发展,给我们带来了极大的便利,比如从此再也不用花费大量的时间只是为了设计一个圆角的效果。但是!我们不能像控制机器一样来控制所有的人都一夜之间升级到现代浏览器,因为那些 不够现代的浏览器 诞生之时,HTML5和CSS3尚未被正式推出。于是,我们的问题来了:针对那些不支持新特性的浏览器而言,我们是直接放弃这些用户群呢,还是直接不用这些新特性,老老实实的用转载 2015-11-28 23:00:23 · 3140 阅读 · 0 评论 -
轻量级桌面应用开发的捷径——nw.js
每个程序员都希望用自己喜欢的语言,自己喜欢的平台、工具,写自己喜欢的程序。于是我们会看到有人在Win下用Visual Studio愉快地coding,也会看到有人在OS X下用Xcode来开发,或者是用Sublime Text不受平台限制地玩。当然了,愿望往往是美好的,然而事与愿违的情况时有发生。如果你基本都是用OS X,却有人让你写一个带有简单界面的小程序,保证在他的Win系统上一定可以转载 2015-12-31 13:32:45 · 2263 阅读 · 0 评论 -
学学JavaScript的闭包特性
闭包是一个比较抽象的概念,尤其是对我这样的js新手来说。以下是网上学习到的一片文章,写得比较通俗一些,转载如下: 闭包:官方解释是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。然而,当我看到这个官方解释的时候顿时就觉得不一般,这个解释太学术了,没达到一定境界的人是理解不了其中深层次内涵的。为此,我们将举出实例来初步说明js中的闭转载 2015-12-03 08:19:22 · 369 阅读 · 0 评论 -
webpack sourcemap 选项多种模式的一些解释
有人说 Webpack 难用,原因是 sourcemap 有 7 种,本文就尝试解释下这些选项都是什么意思,不仅如此,本文还会分析如何用最好的姿势使用这些配置。先一项一项来看:eval 文档上解释的很明白,每个模块都封装到 eval 包裹起来,并在后面添加 //# sourceURLsource-map 这是最原始的 source-map 实现方式,其实现是转载 2016-03-25 17:41:31 · 4493 阅读 · 0 评论