Please download to get full document.

View again

of 18
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.

@techmeetup Edinburgh nodejs talk

Category:

Technology

Publish on:

Views: 0 | Pages: 18

Extension: PDF | Download: 0

Share
Related documents
Description
1.    Tane Piper - @tanepiper An Introduction To http://nodejs.org 2.    What Is Node? nodejs (node) is a set of bindings to the V8 javascript VM. They allow…
Transcript
  • 1.    Tane Piper - @tanepiper An Introduction To http://nodejs.org
  • 2.    What Is Node? nodejs (node) is a set of bindings to the V8 javascript VM. They allow developers to script programs using asynchronous I/O in javascript. Focused on performance and memory useage through an event loop – not threads.
  • 3.    Features of Node  Node is similar to  Ruby's Event Machine  Python's Twisted  Node takes the event model a bit further—it presents the event loop as a language construct instead of as a library.  Node simply enters the event loop after executing the input script. Node exits the event loop when there are no more callbacks to perform
  • 4.    Synchronous vs Asyncronous $query="SELECT * FROM contacts"; $result=mysql_query($query); ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ File file = new File("C:MyFile.txt"); fis = new FileInputStream(file); fis.close();
  • 5.    What is the software doing?
  • 6.    x http://www.flickr.com/photos/nationaalarchief/3675431410/ What is the software doing?  It's Waiting – Wasting cycles
  • 7.    Synchronous vs Asyncronous db.query(”SELECT * FROM contacts”, function(err, rows) { rows.forEach(function(row) { console.log(row); }); }); ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ fs.readFile('techmeetup.txt', function(data) { console.log(data); }); doSomethingElseWhileNotWaiting();
  • 8.    A HTTP Server in 4 lines var http = require('http'); http.createServer(function (req, res) {   res.writeHead(200, {'Content­Type': 'text/plain'});   res.end('Hello Worldn'); }).listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/');
  • 9.    EventEmitter – The powerhouse of node This should look familiar to most of you: jQuery('.foo').click(function() { var foo = this.attr('rel'); });
  • 10.    EventEmitter – The powerhouse of node var EventEmitter = require('events').EventEmitter; var emitter = new EventEmitter; emitter.on('name', function(data){     console.log(data + ' rocks'); }); emitter.emit('name', 'nodejs'); emitter.emit('name', 'techmeetup');
  • 11.    EventEmitter – A I/O Example var spawn = require('child_process').spawn,     ls    = spawn('ls', ['­lh', '/usr']); ls.stdout.on('data', function (data) {   console.log('stdout: ' + data); }); ls.stderr.on('data', function (data) {   console.log('stderr: ' + data); }); ls.on('exit', function (code) {   console.log('child proc exited with code ' + code); });
  • 12.    NPM – Node Package Manager https://github.com/isaacs/npm Used to install and publish your node programs. JSON package format that It manages dependencies. Integrates nicely with man pages
  • 13.    ExpressJS – Nodejs-powered framework npm install express Robust routing Redirection helpers Dynamic view helpers Application level view options Content negotiation Focus on high performance View rendering and partials support Environment based configuration Session based flash notifications
  • 14.    ExpressJS - Example Var express = require('express'); var app = express.createServer(); app.get('/', function(req, res, next){     res.send('Hello World'); }); app.post('/:name', function(req, res, next) { var name = req.params.name;    If (!name) {      next(new Error('No name passed');    } else {      res.send(['Hello', name].join(' '));    } }); app.listen(3000);
  • 15.    Something new: node-canvas var Canvas = require('canvas')   , canvas = new Canvas(200,200)   , ctx = canvas.getContext('2d'); var fs = require('fs')   , out = fs.createWriteStream(__dirname + '/text.png')   , stream = canvas.createPNGStream(); ctx.font = '30px Droid Sans'; ctx.rotate(.1); ctx.fillText("Yay Techmeet Edinburgh!", 50, 100); stream.on('data', function(chunk){   out.write(chunk); }); stream.on('end', function(){   console.log('saved png'); });
  • 16.    Something new: node-canvas
  • 17.    nodejs Community Google Groups: nodejs – General Community nodejs-dev – Low level development https://github.com/ry/node/wiki/modules
  • 18.    Thank You Any Questions?
  • Similar documents
    Search Related
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks