NodeJS

ECMAScript 6,令Node.js也可以写出同步执行的代码(上)

主宰稳场 提交于 2019-12-01 12:15:51
从MOsky的博客阅读此文 引言 本人学习Node.js已有两周了,有点心得,写成文章,一方面便于今后自己查阅,另一方面巩固自己所学。如有错误,请诸位赏脸批评指教。 Node.js给我的第一印象就是,它的I/O操作是非阻塞的。非阻塞I/O带来了性能上的优势。与Java的阻塞式I/O操作做对比,Java程序需要从网络下载资源的时候,阻塞线程,当查询数据库的时候,阻塞线程,当读取文件的时候,阻塞线程。诸如此类的来自I/O的阻塞将浪费不少CPU的时间。如果心疼这些浪费的时间,那好,你就多开几个线程或进程。但这又引入了线程之间切换的代价。 Node.js使用事件驱动机制,当涉及I/O操作时,代码异步执行。这样带来的另一个好处就是,不需要考虑麻烦的 线程安全 问题,因为到Node.js即便是单线程,也不会因为I/O阻塞而出现性能瓶颈。同样和Java做比较。Java因为性能问题而开多线程,因为开多线程而需要考虑线程安全问题。Node.js可不这样。君不知曾有人在多线程的情况下使用HashMap类而导致服务器崩溃,虽然这只能算自作自受(因为HashMap的API上明确告诉你HashMap是非线程安全的),但如果语言本身就令程序员无需担心线程安全问题,那么这种情况就不会因为程序员的粗心而发生了。 但非阻塞I/O操作也有令人不爽的地方,进行I/O操作的时候,只能 异步调用 。 异步调用的缺点

Windows环境下的NodeJS+NPM+Bower安装配置步骤

时光怂恿深爱的人放手 提交于 2019-12-01 11:45:57
  Windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL”按钮,直接点击就会自动下载安装。安装过程基本直接“NEXT”就可以了。(Windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你的安装路径,例如“C:\Program Files\nodejs”,我这里的演示是安装在 “D:\Program Files\nodejs” )   废话不多说,安装完成之后,我们先检测下 NodeJS是否安装成功,cmd命令行中键入: node -v   若出现版本提示,就说明安装成功了,如下图:      npm的安装。由于新版的NodeJS已经集成了npm,所以之前npm也一并安装好了。同样可以使用cmd命令行中键入: npm -v   同样, 若出现版本提示,就说明安装成功了,如下图:      这样, 常规NodeJS的搭建到现在为止已经完成了,迫不及待的话你可以在cmd命令行中键入“node”进入node开发模式下,输入你的NodeJS第一句:”hello world“ - 输入:console.log('hello world')。这里就不再多作演示了。    npm作为一个NodeJS的模块管理

windows下安装 nodejs

跟風遠走 提交于 2019-12-01 11:45:43
只说一下,windows系统下简单nodejs环境配置。 第一步:下载安装文件 下载地址:官网 http://www.nodejs.org/download/ 这里用的是 第二步:安装nodejs 下载完成之后,双击 node-v0.8.16-x86.msi,开始安装nodejs,默认是安装在C:\Program Files\nodejs下面 第三步:安装相关环境 打开C:\Program Files\nodejs目录你会发现里面自带了npm,直接用npm安装相环境既可 进入node.js command prompt 命令窗口 进入nodejs 安装目录 C:\Program Files\nodejs 键入命令:cd C:\Program Files\nodejs 既可 3.设定环境变量(我加在了用户变量里面了),如: PATH C:\Program Files\nodejs NODE_PATH C:\Program Files\nodejs\node_modules 如果没有将nodejs安装在默认路径下,直接运行npm的时候, 由于不是用的默认安装路径,需要在 报错的路径下 建个名为 npm的文件 ,不要带后缀名哦。报错路径为: C:\Users\“你用户名”\AppData\Roaming\ 这个路径下建个npm文件即可正常使用npm 命令了! 来源: oschina 链接

Node.js与Golang使用感受与小结【三】--JS异步流程控制(序列模式、并发模式、有限...

牧云@^-^@ 提交于 2019-12-01 06:20:12
Node.js与 Golang 使用感受与小结 目录 一、互联网的基石 TCP/IP 协议 二、 HTTP 服务器编写与编程语言无关 三、构建 HTTP 服务器需要掌握的知识点 四、 HTTP 协议基础 五、 Node.js 简介 六、是前端选择,还是后端的福音? 七、 Node.js 与传统 php-fpm 模式之间的对比 八、安装 Node.js 九、让浏览器读懂你的心 --Content-Type 十、向浏览器发送文件 十一、 Node.js 异步流程控制(序列模式、并发模式、有限并发模式) 十二、静态资源文件的简单优化 十三、现在还需少些什么? 十四、 Golang 简介 十五、为什么要用 Golang ? 十六、安装 Golang 开发环境 十七、如何使用 Golang 编写一个 HTTP 服务器? 十八、 Golang 的 http 包与 Node.js 的 http 模块对比 十一、 Node.js 异步流程控制(序列模式、并发模式、有限并发模式) Javascript在基本语法上与其它大部份 C 派生的语言没有太多区别,你可能很容易从其它语言过度到 Javascript 。很多从其它语言转到 Javascript 来的用户,在用一段时间之后很可能对这门语言又爱又恨,特别是对于异步流程的控制。 对于大部份异步编程的模型来说,大多是事件驱动型且是基于进程来编码

以ToDoList应用来学习Geddy

有些话、适合烂在心里 提交于 2019-11-30 09:32:18
Geddy学习笔记 初始工具安装 Node.js, Geddy, Jake 本文运行环境为Windows,Node.js安装比较简单,进入Node.js官网直接下载安装包傻瓜安装即可。 安装Geddy,打开终端cmd.exe,输入 $ npm install -g geddy 安装Jake,输入 $ npm install -g geddy jake geddy gen命令 应用例子: $ geddy gen scaffold book title:string descrption:text $ geddy gen scaffold user name:default Geddy的生成器命令包括有: app <name> secret scaffold <name> [model properties] resource <name> [model attributes] controller <name> model <name> [model attributes] 其中,这三个命令'scaffold', 'resource', 'model'包括以空格分隔的Model属性 构建一个App 新建工作目录,进入目录路径, 敲入命令: $ geddy gen app to_do 生成文件夹及文件,具体含义请参考 http://geddyjs.org/tutorial

NodeJS的安装配置

旧街凉风 提交于 2019-11-30 09:18:07
在Linux下安装: 1 下载编译好的二进制文件。 https://nodejs.org/dist/v4.4.5/node-v4.4.5-linux-x64.tar.xz 2 解压到自己制定目录,例如 /opt/node4.4.5/。 3 设置连接: [root@PEKLNELOIS01 bin]# pwd /opt/node4.4.5/bin [root@PEKLNELOIS01 bin]# ln -s /opt/node4.4.5/bin/node /usr/local/bin/node [root@PEKLNELOIS01 bin]# ln -s /opt/node4.4.5/bin/npm /usr/local/bin/npm [root@PEKLNELOIS01 bin]# ll /usr/local/bin/node lrwxrwxrwx 1 root root 23 Jun 7 18:26 /usr/local/bin/node -> /opt/node4.4.5/bin/node [root@PEKLNELOIS01 bin]# ll /usr/local/bin/npm lrwxrwxrwx 1 root root 22 Jun 7 18:27 /usr/local/bin/npm -> /opt/node4.4.5/bin/npm [root

玩转树莓派-Raspberry,在2代B版上装nodejs和phonegap

三世轮回 提交于 2019-11-30 08:57:04
下载Nodejs 创建一个新的目录去存放下载的Nodejs文件,在这里我们创建了一个'nodes_download'目录。 注* 通过 http://nodejs.org/dist 查看最新版。 并不是所有最新版的NodeJS都能在树莓派上使用,因为有些没有正确地指定ARM的指令集。 树莓派二代已经可以完全正常使用了,本人亲测,把过程分享如下。 注意:树莓派一代使用0.12版本的nodejs,因为是ARM v6指令集的CPU,但Chriumun V8最版JavaScript引擎,可能使用了一些ARM v7的功能,比如内存保护等。 下载并解压'tar'包: wget http://nodejs.org/dist/v0.12.1/node-v0.12.1.tar.gz tar vxf node-v0.12.1.tar.gz cd node-v0.12.1 编译Nodejs 一旦源代码下载完成,编绎可能会花费好几个小时,所以请耐心等待。 注* 以前的版本编绎仅需要十几分钟,但随着Chriumun V8引擎变得越来越复杂,编绎时间也变得越来越长,应该是加入了越来越多对ECMAScript 6 支持的原因。想要提高编绎速度的,可以找到node.js0.8x版本进行编绎。 使用以下命令编绎Nodejs cd node-v0.12.1 ./configure make

nodejs 微信公众号支付开发

爷,独闯天下 提交于 2019-11-30 07:53:50
nodejs 微信公众号支付开发 博客 NodeJs 微信公众号功能开发,移动端 H5页面调用微信的支付功能。这几天根据公司的需要使用 node 和 h5页面调用微信的支付功能完成支付需求。现在把开发过程重新捋一遍,以帮助更多的开发者顺利的完成微信支付功能的开发。(微信暂时还没有提供 node 的支付功能) 一.请求CODE 请求 code 的目的就是获取用户的 openid(用户相对于当前公众号的唯一标识) 和access_token,请求的 API : https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect 此 api 需要注意几个参数: 1. appid公众号的 appid,可以在公众号中看到 2. redirect_uri 自定义的微信回调地址, 微信会在你请求完上面的地址后跳转到你定义的redirect_uri的地址, 带着 code,此处的 redirect_url 需要 **url_encode** *php*, 如果你的程序是 node 则需要使用 **encodeURLComponent(url)**编码

全栈技能之自学sketch指南

▼魔方 西西 提交于 2019-11-29 20:19:48
作为全栈工程师,怎么可以不会点设计呢?哈哈 介绍 西乔说:“sketch无学习门槛,能用keynote的人就自然会用,但sketch是非常有效的能解决问题的原型工具。对设计复杂度要求不高的,直接可以当设计工具用“ 概览 介绍了一个女孩的励志故事,完全自学,做了专业设计师,非常棒,这其实给了我很大信心,非专业的也能学会,哈哈 详细目录 四步学习法 ARTS四个字母其实是Sketch的四个快捷键,也是使用流程中的四个重要步骤,分别对应 Artboard “创建画板”, Rectangle “创建矩形”,Text “创建文字” 和 Slice “创建切片”。这四个操作都可以在左上方的 Insert 新建菜单中找到,但记下这四个常用快捷键会极大地加快设计流程。 这四步总结的还是不错的,而且是非常好的入门,连我这样的都能看懂。最后附录一些设计相关资料 推荐 先聊聊它秒杀Photoshop的原因: 《UI设计师新宠!聊聊SKETCH那些方便好用的贴心功能》 来两篇Sketch新鲜教程练手! 《设计师新宠!教你利用SKETCH创建彩色开关(上)》 《设计师新宠!教你利用SKETCH创建彩色开关(下)》 ppt推荐 Sketch 基础用法,我的好朋友陈蔚虎写的 移动端设计资料整理 https://github.com/i5ting/mobile-design-doc 更新地址 文档 http:/

在ubuntu14.04配置nodejs运行环境

穿精又带淫゛_ 提交于 2019-11-29 19:02:52
首先是连接服务器看看 看起来还不错。 //连接服务器的方法,由于我用的时macbook pro 所以直接使用ssh的方法连接啦 1.打开您的命令窗口并运行以下命令: chmod 400 qiushi.pem 2.使用ssh连接我的服务器 ssh -i /Users/qiushi/Downloads/qiushi.pem ubuntu@ec2-54-148-156-164.us-west-2.compute.amazonaws.com 下面开始配置我常用的nodejs了 我之前使用过windows 7,Ubuntu14.04,Mac 10.9 都开发过nodejs发现很多种方法多可以安装配置,导致我经常弄混。。 于是,我决定好好地整理一下。这回使用的amazona的云服务使用下面的方法 1.看看系统 首先确保系统安装来python,gcc,g++,如果没有则安装 sudo apt-get install python sudo apt-get install build-essential sudo apt-get install gcc sudo apt-get install g++ 有就继续,没有就安装。 2.然后安装最新的nodejs和npm sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update