nodeJs 初探 ~】的更多相关文章

看一下nodejs中通过socket和客户端交互的最简单例子 //  Sever --> Client 的单向通讯 var net = require('net'); var chatServer = net.createServer(); chatServer.on('connection', function(client) { client.write('Hi!\n'); // 服务端向客户端输出信息,使用 write() 方法 client.write('Bye!\n'); client…
直接用文本编辑器编写helloworld.js,保存在桌面 var http = require("http"); http.createServer(function(request, response) { response.write("Hello World"); response.end(); }).listen(8080); console.log("nodejs start listen 8080 port!"); 在浏览器中访问h…
简介 JavaScript是一种运行在浏览器的脚本,它简单,轻巧,易于编辑,这种脚本通常用于浏览器的前端编程,但是一位开发者Ryan有一天发现这种前端式的脚本语言可以运行在服务器上的时候,一场席卷全球的风暴就开始了.Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用.Node是一个Javascript运行环境…
今天晚上,开始时间了一下nodejs,跟着 Node入门 一步步的往下走.对node开发也有了初步的了解. 期间没有碰到什么问题,只有在最后的时候,碰到了几个问题.在这里记录一下: 1 . cross-device link not permitted, 网上有文章 解释说是由于Node.js安装的盘符和写的地方不在一个盘符,跨目录重命名文件导致的问题. 可以多些下面一句话,重设临时上传路径 form.uploadDir = "./tmp"; 试了一下,发现的确是这样子! 2 .  n…
难怪我没学会, 因为我的套路有问题. 错误点, 1,大而全 2,不注重思路 学习要领: 1, 小而精 2, 重思路(总结) nodejs特点: 1.node提供了js的运行环境, 一般将node运行在服务端, 丰富了各种模块,jsplus 2.大量的工具库 3.事件驱动&异步IO,谷歌v8引擎 全局js对象是windows,而node环境下全局js对象是global express 基于nodejs的web框架: Fast, unopinionated, minimalist web frame…
概念 简单来说,node.js 是一个让 JavaScript 运行在服务端的开发平台,让开发者通过JS编写服务端程序. 安装 从nodeJS官网下载对应平台的安装程序,安装完成后,打开命令行工具,然后输入node -v,如果安装正常,会显示对应的版本号. 模块系统 node.js 内置了一些基本模块 fs 模块就是文件系统模块,负责读写文件 http 模块用来接收网络请求和处理网络请求 crypto 模块的目的是为了提供通用的加密和哈希算法 npm 学习node,npm是必知的,npm 是no…
简介 JavaScript是一种运行在浏览器的脚本.Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用.Node是一个Javascript运行环境(runtime).实际上它是对Google V8引擎进行了封装.V8引 擎执行Javascript的速度非常快,性能非常好.Node对一些特殊用例进行了优化,提供…
我们实现的思路是,当有一个人发送过来消息,我们就广播给其他客户端. var net = require('net'); var chatServer = net.createServer(), clientList = [];//已连接的client列表 chatServer.on('connection', function(client) { // name 的自定义属性,用于表示哪个客户端(客户端的地址+端口为依据) client.name = client.remoteAddress +…
var http= require('http');var server= http.createServer(function(req,res){ res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"}); res.end("<h2>我是标题</h2>")}); server.listen(3000,"127.0.0.1");…
js&jq总结的还是挺棒的: http://www.cnblogs.com/yuanchenqi/articles/5980312.html http://www.cnblogs.com/yuanchenqi/articles/6070667.html 我学了很久没把js学会, 我发现我的路子错了, 一开始就追求大而全.....累死... 好办法应该是迭代式更新知识点.... ECMAScript(4,5) 目前学的是es5 es6其实是ECMAScript 2015. mvc模式和mvvm模式…
参考: http://www.cnblogs.com/whatisfantasy/p/6237713.html http://www.cnblogs.com/freely/p/6690804.html http://www.cnblogs.com/LetMe/articles/7616267.html ajax请求-解放每次手动输url js的XMLHttpRequest对象 我们使用XMLHttpRequest对象来发送一个Ajax请求 用xhr发一个ajax请求 因为我是webstorm,因…
一.node概要 对nodeJS早有耳闻,但是一直迟迟没有对它下手,哈哈哈,今儿咱就来初探一下它. nodeJS是个啥东东? nodeJS,我的理解就是可以运行在后端的JavaScript. 为什么它能够在后端运行呢? 这就得归功于V8引擎(V8是Google Chrome浏览器的JavaScript引擎),通过对高性能V8引擎的封装,并通过一系列优化的API类库,使其就能够在后端运行了. 并且node有两大特点: 1.基于事件驱动: 2.无阻塞. 从而nodeJS非常适合处理并发请求. 大家都…
NodeJS爬虫系统 NodeJS爬虫系统 0. 概论 爬虫是一种自动获取网页内容的程序.是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上是针对爬虫而做出的优化. robots.txt是一个文本文件,robots.txt是一个协议,不是一个命令.robots.txt是爬虫要查看的第一个文件.robots.txt文件告诉爬虫在服务器上什么文件是可以被查看的,搜索机器人就会按照该文件中的内容来确定访问的范围. 一般网站的robots.txt查找方法: 例如www.qq.com http://ww…
一.前言 在"初探nodeJS"随笔中,我们对于node有了一个大致地了解,并在最后也通过一个示例,了解了如何快速地开启一个简单的服务器. 今儿,再次看了该篇随笔,发现该随笔理论知识稍多,适合初级入门node,固萌生一个想法--想在该篇随笔中,通过一步步编写一个稍大一点的node示例,让我们在整体上更加全面地了解node. so,该篇随笔是建立在"初探nodeJS"之上的,固取名为"进阶之初探nodeJS". 好了,侃了这多,那么我们即将实现一个…
记得大四那年实习的时候出去找工作,就常常听见大家说node.从那以后,悄然埋下了一颗学习nodejs的心.不过由于基础太薄弱,一直没有学习.加之工作上没有相关应用,就一直搁置到现在. 年会的时候,老大用node做了一个微信弹幕,感觉好炫酷啊,所以,小白我决定了,好好学一下,好吧虽然我不白╮(╯_╰)╭ 趁今天暂时没有事,↖(^ω^)↗还有什么能阻止我学习的呢. 一般我学习都是从网上看各种api.博客以及视频教程,这样结合着看, 然后自己边学边写点小demo. 再自己写一些小应用,如果有机会的话把…
一Node.js开始学习了!    1) 输出hellow worlds   a.建一个js文件 hello.js 写 console.info('hellow world !!!');    进入终端 cd node 目录 然后 node d:/nodejs/www/hello.js 回车   b. node -e "console.info('hello word !!')"   c.使用node的REPL模式     node     console.info('hello wo…
大家都知道nodejs是一个单进程单线程的服务器引擎,不管有多么的强大硬件,只能利用到单个CPU进行计算.所以,为了使用多核cpu来提高性能 就有了cluster,让node可以利用多核CPU实现并行. 随着nodejs的发展,让nodejs上生产环境,就必须是支持多进程多核处理!在V0.6.0版本,Nodejs内置了cluster的特性.自此,Nodejs终于可以作为一个独立的应用开发解决方案,映入大家眼帘了. 这个包不用安装,node默认自带. 引入cluster const cluster…
原本打算是把node源码看得差不多了再去深入V8的,但是这两者基本上没办法分开讲. 与express是基于node的封装不同,node是基于V8的一个应用,源码内容已经渗透到V8层面,因此这章简述一下我目前理解的V8引擎吧. 首先需要理解的是V8是一个JS代码运行平台,可以将JS代码编译执行. 本节就非常浅显的讲一下V8内部一些常见类,以及一个运行JS代码的简单demo. (由于研究V8引擎原理的人非常多,本人学识浅薄,可以去参考别人的博客) 参考资料: 1.很多大佬的博客 2.V8引擎API文…
nodejs的特点 nodejs 具有事件驱动和非阻塞I/O的特点. 事件驱动是指nodejs把每一个任务当成事件来处理. 非阻塞I/O是指nodejs遇到I/O任务时,会从线程池调度单独的线程处理I/O操作,不会阻塞主线程. 事件循环原理 Node.js 在主线程里维护了一个事件队列,当接到请求后,就将该请求作为一个事件放入这个队列中,然后继续接收其他请求. 当主线程空闲时(没有请求接入时),就开始循环事件队列,检查队列中是否有要处理的事件,这时要分两种情况: 如果是非 I/O 任务,就亲自处…
nodejs启动 入口在node_main.cc,解析参数后进入node.cc 中的node::Start() V8::Initialize() //初始化v8SetupProcessObject() //在v8中创建process对象Load() //bootstrap,加载执行node.jsuv_run() //调用libuv,开始异步事件polling和处理模块装载 为了和用户编写的模块做区别,我将nodejs自带的模块称为系统模块,其中C++模块在src目录中,node_开头的那些文件大…
重新审视了一下上一篇的内容,配合源码发现有些地方说的不太对,或者不太严谨. 主要是关于内置模块引入的问题,当时我是这样描述的: 需要关注的只要那个RegisterBuiltinModules方法,从名字也可以看出来,就是加载内置模块. 然而并不是啊……从名字可以看出来,这只是一个注册方法. Register:登记.注册. 因此,这里并不会真正加载内置模块,而只是做一个登记,表示有哪些模块一会要加载,统计一下. 上一节简单看了下该方法的宏,是一个_register_XX方法的批量调用,而该方法的定…
1.安装socket.io npm install socket.io 2.创建服务端代码server.js var app = require('http').createServer(handler), io = require('socket.io').listen(app), fs = require('fs') app.listen(8080); io.set('log level', 1);//将socket.io中的debug信息关闭 function handler (req,…
1. 前言 阅兵放假三天,我哪儿也没去,宅着看了一些东东:git命令行.svn命令以及下面的主角——百度FIS.对看过的git.svn的命令也做了一些总结,请参见:<git命令学习笔记>和<svn命令学习笔记> 另外,我是开源富文本编辑器 wangEditor 的作者,欢迎大家关注我的项目.下文也会结合我在开发该编辑器过程中的经历,来对比说百度FIS 在查看下文之前,可以先说一下我初探百度FIS,对它的一个总结——由工具到解决方案.不知道大家对“工具”和“解决方案”这两个词如何理解…
概念 Node.js 是构建在Chrome javascript runtime之上的平台,能够很容易的构建快速的,可伸缩性的网络应用程序.Node.js使用事件驱动,非阻塞I/O 模式,这使它能够更轻量,高效且完美的适用于运行在分布式设备之间的数据密集型实时应用程序. 安装 这里主要介绍基于windows平台上最简单方便的安装方式,我们首先直接访问node.js官方网站http://www.nodejs.org/,直接点击Install按钮开始下载安装. 点击Run按钮开始运行 继续点击Nex…
初探WebSocket node websocket socket.io 我们平常开发的大部分web页面都是主动'拉'的形式,如果需要更新页面内容,则需要"刷新"一个,但Slack工具却能主动收到信息,好像服务端能主动给客户端推送信息,请研究一下这是怎么实现的. 任务: 学习一种web推送消息的技术 编写一个小实例加深理解(可使用NodeJS技术) 扩展:思考这种技术可用在我们业务的什么场景 技能: WebSocket NodeJS WebSocket websocket是HTML5中…
基于Vue.web3的以太坊项目开发及交易内幕初探 本文通过宏观和微观两个层面窥探以太坊底层执行逻辑. 宏观层面描述创建并运行一个小型带钱包的发币APP的过程,微观层面是顺藤摸瓜从http api深入go-ethereum源码执行过程. 分析思路:自上而下,从APP深入EVM. 从应用入手,如果一头扎进ethereum,收获的可能是纯理论的东西,要想有所理解还得结合以后的实践才能恍然大悟.所以我始终坚持从应用入手.自上而下是一种正确.事半功倍的方法论. 我在讲解以太坊基础概念的那篇专题文章里,用…
本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.   在开始之前,我想您一定会有这样的困惑:标题里的Electron 是什么?Electron能做什么?许多伟大的公司使用Electron框架的原因又是什么? 带着这些问题和疑惑,通过本文的介绍,可助您全面地认识Electron这门新兴的技术,迅速找到其入门途径,并理解Electron为何被称为当下开发桌面App的最佳选择.   初探Electron一.Electro…
OS Node.js提供了一些基本的底层操作系统的模块OS. API var os = require('os'); console.log('[arch] 操作系统CPU架构'+os.arch()); console.log('[cpus] 每个CPU/内核的信息:'+JSON.stringify(os.cpus())); console.log('[endianness] CPU 的字节序:'+os.endianness()); console.log('[freemem] 操作系统空闲内存…
Path模块 NodeJs提供的Path模块,使得我们可以对文件路径进行简单的操作. API var path = require('path'); var path_str = '\\Users\\Administrator\\Desktop\\event.js'; console.log('文件名带后缀:',path.basename(path_str)); console.log('文件名不带后缀:',path.basename(path_str, '.html')); console.l…