SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Ivan Srba

                   Rubyslava, 17.5.2012
Powerpoint Templates
                                  Page 1
Prívlastky node.js




Powerpoint Templates
                       Page 2
Prečo vzniklo node.js?
• Lebo Ryan Dahl




   „Windows is very important, just like php.“



     Powerpoint Templates
                                                 Page 3
Prečo vzniklo node.js?
• I/O operácie sú drahé

L1-cache                                                   3 cycles
L2-cache                                                  14 cycles
RAM                                                     250 cycles
Disk                                           41 000 000 cycles
Network                                       240 000 000 cycles


     • Riešenie: fork, threads




http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/
            Powerpoint Templates
                                                                  Page 4
Prečo vzniklo node.js?
• Vlákna sú pamäťovo náročné




     • Ďalšie problémy: deadlock

http://blog.webfaction.com/a-little-holiday-present
            Powerpoint Templates
                                                      Page 5
O node.js
• Serverová platforma
  • Založená na Chrome JS runtime V8
  • Jednovláknová
  • Udalosťami riadená


• Určená pre
  • Aplikácie pracujúce s veľkým
    množstvom dát
  • Aplikácie pracujúce v reálnom čase



     Powerpoint Templates
                                  Page 6
Princíp node.js




http://magnetik.github.com/node-webid-report/
            Powerpoint Templates
                                                Page 7
Hello world

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/');




       Powerpoint Templates
                                     Page 8
Modulárnosť
• Node Package Management,
  NPM
 • Celkovo až 9950 modulov
 • Webové frameworky, databázy, web
   sockety
 • Parsery, TCP/IP, ladenie, I18N, ...




     Powerpoint Templates
                                    Page 9
Web frameworky
• Express
  • Jeden z najpoužívanejších
    frameworkov inšpirovaný Sinatrou

• Locomotive
  • MVC framework inšpirovaný RoR

• RailwayJS
  • MVC framework podobný RoR




      Powerpoint Templates
                                 Page 10
Databázy
• Relačné databázy
  • PostgreSQL, MySQL, MSSQL,
    SQLite, Oracle

• NoSQL databázy
  • Mongo, Hive, Redis, CouchDB,
    Cassandra

• ORM



      Powerpoint Templates
                                   Page 11
Web sockety
• Socket.io
  • Knižnica poskytujúca univerzálne
    API pre vytváranie aplikácií
    pracujúcich v reálnom čase
  • Protokoly: WebSocket, AJAX long
    pooling, JSONP pooling...
  • Prehliadače: IE, Safari, Google,
    Firefox, Opera, ...




      Powerpoint Templates
                                       Page 12
Použitie node.js
• PopCorm
 • Kolaboratívna platforma
 • Pre riešenie úloh (vzdelávanie)
 • Integruje sadu kolaboratívnych
   nástrojov
 • Textový editor, grafický editor,
   kategorizátor, diskusia

                            PopCorm
     Powerpoint Templates
                                      Page 13
PopCorm
• CRUD časť aplikácie v RoR
• Kolaboratívne nástroje v node.js
• Ako databáza bolo použité MySQL
• Na produkcii sme použili webový
  server Nginx a Monit na testovanie
  dostupnosti node.js nástrojov + ich
  prípadný reštart




       Powerpoint Templates
                                     Page 14
Prečo node.js?
• Veľké množstvo dát
  • Každá zmena = nová revízia


• Potreba synchronizovať obsah v
  reálnom čase
  • Snaha o maximálnu efektívnosť
    práce skupín
  • AJAX nie je dostatočne
    rýchly/efektívny


      Powerpoint Templates
                                    Page 15
Video ukážka
• Textový editor
    • Etherpad Lite
• Kategorizátor
• Diskusia




Etherpad Lite: http://etherpad.org/
            Powerpoint Templates
                                      Page 16
Diskusia
var   app = require('express').createServer()
var   io = require('socket.io').listen(app);
var   settings = require("./utils/Settings");
var   messageHandler = require("MessageHandler");

app.listen(settings.port);

io.sockets.on('connection', function (socket) {
    socket.on('start', function(...) {
        messageHandler.handleStart(...);
    });

      socket.on('typing-message', function(...) {
          messageHandler.handleTypingMessage(...);
      });

      socket.on('send-message', function(...) {
          messageHandler.handleNewMessage(...);
      });
      ...
           Powerpoint Templates
                                                    Page 17
Prijatie novej správy
exports.handleNewMessage = function(...) {
    var created_at = new Date().getTime();

   socket.emit('new-message', ...);
   socket.broadcast.to(socket.group_id).
      emit('new-message', ...);

   chatMessage.addNewChatMessage(..., logError);

   if (activity_id !== null) {
       userCharacteristicMatrixValue.
              increaseValue(..., logError);
   }
   ...




         Powerpoint Templates
                                              Page 18
Praktické skúsenosti
• Štatistika
  • Virtuálny stroj: 4 jadrá, 2GB RAM
  • 50 paralelne pracujúcich
    používateľov
  • Vyťaženie CPU: MySQL 10%,
    Ruby 5%, node.js <1%
• Zistenia
  • Nástroje v node.js bez problémov
    zvládali synchronizovať obsah
  • MySQL by bolo vhodné nahradiť za
    Redis
      Powerpoint Templates
                                   Page 19
Praktické skúsenosti
• Identifikované problémy
  • Museli sme riešiť veľa „zvláštnych“
    problémov najmä so socket.io
  • Pri produkčnom nasadení bol veľký
    problém s umiestnením node.js
    aplikácií za Nginx
  • Stlačenie tlačidla ESC zrušilo vo
    Firefoxe socketové spojenia so
    serverom
  • Niektoré problémy so socketmi sa
    prejavovali len pri kombinácii 2 a
    viac rôznych prehliadačov
      Powerpoint Templates
                                        Page 20
Pozitíva node.js
• Javascript je veľmi vhodný pre
  programovanie s callbackmi
  (na rozdiel od Ruby)
• Rovnaký programovací jazyk na
  klientovi aj na serveri
• Všetko sa vykonáva asynchrónne
  (okrem vášho kódu)
• Vysoká produktívnosť
• Minimálna réžia (CPU, pamäť)
• Modulárnosť

       Powerpoint Templates
                                   Page 21
Negatíva node.js
• „It's Fucking JavaScript“
    if (typeof my_var !== "undefined" &&
        my_var !== null) {}


• Problémy s produkčným nasadením
• Celková nevyspelosť technológie
• Priveľmi dynamický vývoj
• Nedostatočné technológie pre
  testovanie



       Powerpoint Templates
                                           Page 22
Záver
• Kedy nepoužiť node.js
  • Výpočtovo náročné aplikácie
  • CRUD/HTML aplikácie


• Kedy použiť node.js
  • JSON API
  • AJAXom preplnené aplikácie
  • Streamovanie dát
  • Realtime aplikácie

      Powerpoint Templates
                                  Page 23
Dôležité zdroje
•   http://nodejs.org/
    •   Oficiálna stránka node.js

•   http://nodeguide.com/
     • Rozsiahly tutoriál pre programovanie v node.js

•   http://nodetuts.com/
     • Sada 30 video-tutoriálov

•   http://blog.mixu.net/2011/02/01/understanding-the-
    node-js-event-loop/
     • Vysvetlenie procesu spracovanie udalostí

•   http://search.npmjs.org/
•   https://github.com/joyent/node/wiki/modules
     • Registre modulov
           Powerpoint Templates
                                                   Page 24
Zaujímavé články
•   http://www.ibm.com/developerworks/opensource/libra
    ry/os-nodejs/
    •   Úvod do node.js

•   http://simonwillison.net/2009/nov/23/node/
    •   Úvod do node.js

•   http://radar.oreilly.com/2011/07/what-is-node.html
    •   Rozsiahlejší úvod spolu s dobrými príkladmi

•   http://mashable.com/2011/03/10/node-js/
    •   Rozsiahlejší úvod spolu s dobrými príkladmi




           Powerpoint Templates
                                                    Page 25
Zaujímavé články
•   http://teddziuba.com/2011/10/node-js-is-cancer.html
    •   Trochu iný pohľad na node.js

•   http://blog.targeterapp.com/post/22984987832/why-
    we-moved-from-nodejs-to-ror
    •   Prípadová štúdia, kedy autori prešli od
        node.js k RoR

•   http://www.unlimitednovelty.com/2012/03/why-critics-
    of-rails-have-it-all-wrong.html
    •   RoR vs. node.js




          Powerpoint Templates
                                                   Page 26

Contenu connexe

Similaire à Node.js @ Rubyslava

Návrh a realizácia web stránky skriptovacím jazykom PHP vrátane administračné...
Návrh a realizácia web stránky skriptovacím jazykom PHP vrátane administračné...Návrh a realizácia web stránky skriptovacím jazykom PHP vrátane administračné...
Návrh a realizácia web stránky skriptovacím jazykom PHP vrátane administračné...Catana0605
 
Ako si vybrať programovací jazyk a framework?
Ako si vybrať programovací jazyk a framework?Ako si vybrať programovací jazyk a framework?
Ako si vybrať programovací jazyk a framework?Jano Suchal
 
The New Distrowatch – Bachelor's thesis (SK)
The New Distrowatch – Bachelor's thesis (SK)The New Distrowatch – Bachelor's thesis (SK)
The New Distrowatch – Bachelor's thesis (SK)Jakub Žitný
 
Require.JS & Backbone.JS
Require.JS & Backbone.JSRequire.JS & Backbone.JS
Require.JS & Backbone.JSsrigi
 
Aký programovací jazyk a framework si vybrať a prečo?
Aký programovací jazyk a framework si vybrať a prečo?Aký programovací jazyk a framework si vybrať a prečo?
Aký programovací jazyk a framework si vybrať a prečo?Jano Suchal
 
ONLINE KLUB - Peťo Nemčok, Webikon - Wordpress
ONLINE KLUB - Peťo Nemčok, Webikon - WordpressONLINE KLUB - Peťo Nemčok, Webikon - Wordpress
ONLINE KLUB - Peťo Nemčok, Webikon - WordpressKatarína Molnárová
 
Mne to na notebooku funguje
Mne to na notebooku fungujeMne to na notebooku funguje
Mne to na notebooku fungujeJuraj Bednar
 
Samuel Hopko & Daniel Rajčan - Cloud Computing
Samuel Hopko & Daniel Rajčan - Cloud ComputingSamuel Hopko & Daniel Rajčan - Cloud Computing
Samuel Hopko & Daniel Rajčan - Cloud ComputingDavinci software
 
Codecon.sk - Ako škálovať PHP stránky? Od malej stránky až po datacentrum
Codecon.sk - Ako škálovať PHP stránky? Od malej stránky až po datacentrumCodecon.sk - Ako škálovať PHP stránky? Od malej stránky až po datacentrum
Codecon.sk - Ako škálovať PHP stránky? Od malej stránky až po datacentrumTomas Srnka
 
Deltacloud Presentation OpenHouse 2010
Deltacloud Presentation OpenHouse 2010Deltacloud Presentation OpenHouse 2010
Deltacloud Presentation OpenHouse 2010Michal Fojtik
 
ONLINE KLUB - Juraj Grešš, WEBGLOBE - Domény a webhosting
ONLINE KLUB - Juraj Grešš, WEBGLOBE - Domény a webhostingONLINE KLUB - Juraj Grešš, WEBGLOBE - Domény a webhosting
ONLINE KLUB - Juraj Grešš, WEBGLOBE - Domény a webhostingKatarína Molnárová
 
CodeCon 2015 - Také slovenské startupovanie
CodeCon 2015 - Také slovenské startupovanieCodeCon 2015 - Také slovenské startupovanie
CodeCon 2015 - Také slovenské startupovanieJozef Prídavok
 
Libraries and tools for C++
Libraries and tools for C++Libraries and tools for C++
Libraries and tools for C++Juraj Michálek
 
GWT Workshop
GWT WorkshopGWT Workshop
GWT Workshopseges
 
Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu
Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webuWordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu
Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webuWebglobe - Yegon
 
DataCore Software - The one and only Storage Hypervisor
DataCore Software - The one and only Storage HypervisorDataCore Software - The one and only Storage Hypervisor
DataCore Software - The one and only Storage HypervisorASBIS SK
 
Devel.cz - História, súčastnosť a budúcnosť spracovania PHP… vieme PHP ešte...
Devel.cz - História, súčastnosť a budúcnosť spracovania PHP…   vieme PHP ešte...Devel.cz - História, súčastnosť a budúcnosť spracovania PHP…   vieme PHP ešte...
Devel.cz - História, súčastnosť a budúcnosť spracovania PHP… vieme PHP ešte...Tomas Srnka
 
Drupal - Open Source CMS
Drupal - Open Source CMSDrupal - Open Source CMS
Drupal - Open Source CMSJozef Toth
 

Similaire à Node.js @ Rubyslava (20)

Návrh a realizácia web stránky skriptovacím jazykom PHP vrátane administračné...
Návrh a realizácia web stránky skriptovacím jazykom PHP vrátane administračné...Návrh a realizácia web stránky skriptovacím jazykom PHP vrátane administračné...
Návrh a realizácia web stránky skriptovacím jazykom PHP vrátane administračné...
 
Ako si vybrať programovací jazyk a framework?
Ako si vybrať programovací jazyk a framework?Ako si vybrať programovací jazyk a framework?
Ako si vybrať programovací jazyk a framework?
 
The New Distrowatch – Bachelor's thesis (SK)
The New Distrowatch – Bachelor's thesis (SK)The New Distrowatch – Bachelor's thesis (SK)
The New Distrowatch – Bachelor's thesis (SK)
 
Require.JS & Backbone.JS
Require.JS & Backbone.JSRequire.JS & Backbone.JS
Require.JS & Backbone.JS
 
Aký programovací jazyk a framework si vybrať a prečo?
Aký programovací jazyk a framework si vybrať a prečo?Aký programovací jazyk a framework si vybrať a prečo?
Aký programovací jazyk a framework si vybrať a prečo?
 
ONLINE KLUB - Peťo Nemčok, Webikon - Wordpress
ONLINE KLUB - Peťo Nemčok, Webikon - WordpressONLINE KLUB - Peťo Nemčok, Webikon - Wordpress
ONLINE KLUB - Peťo Nemčok, Webikon - Wordpress
 
Mne to na notebooku funguje
Mne to na notebooku fungujeMne to na notebooku funguje
Mne to na notebooku funguje
 
Samuel Hopko & Daniel Rajčan - Cloud Computing
Samuel Hopko & Daniel Rajčan - Cloud ComputingSamuel Hopko & Daniel Rajčan - Cloud Computing
Samuel Hopko & Daniel Rajčan - Cloud Computing
 
Webikon Wordpress - ONLINEKLUB
Webikon Wordpress - ONLINEKLUBWebikon Wordpress - ONLINEKLUB
Webikon Wordpress - ONLINEKLUB
 
Codecon.sk - Ako škálovať PHP stránky? Od malej stránky až po datacentrum
Codecon.sk - Ako škálovať PHP stránky? Od malej stránky až po datacentrumCodecon.sk - Ako škálovať PHP stránky? Od malej stránky až po datacentrum
Codecon.sk - Ako škálovať PHP stránky? Od malej stránky až po datacentrum
 
Deltacloud Presentation OpenHouse 2010
Deltacloud Presentation OpenHouse 2010Deltacloud Presentation OpenHouse 2010
Deltacloud Presentation OpenHouse 2010
 
ONLINE KLUB - Juraj Grešš, WEBGLOBE - Domény a webhosting
ONLINE KLUB - Juraj Grešš, WEBGLOBE - Domény a webhostingONLINE KLUB - Juraj Grešš, WEBGLOBE - Domény a webhosting
ONLINE KLUB - Juraj Grešš, WEBGLOBE - Domény a webhosting
 
CodeCon 2015 - Také slovenské startupovanie
CodeCon 2015 - Také slovenské startupovanieCodeCon 2015 - Také slovenské startupovanie
CodeCon 2015 - Také slovenské startupovanie
 
Libraries and tools for C++
Libraries and tools for C++Libraries and tools for C++
Libraries and tools for C++
 
GWT Workshop
GWT WorkshopGWT Workshop
GWT Workshop
 
Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu
Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webuWordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu
Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu
 
DataCore Software - The one and only Storage Hypervisor
DataCore Software - The one and only Storage HypervisorDataCore Software - The one and only Storage Hypervisor
DataCore Software - The one and only Storage Hypervisor
 
Cv_sk
Cv_skCv_sk
Cv_sk
 
Devel.cz - História, súčastnosť a budúcnosť spracovania PHP… vieme PHP ešte...
Devel.cz - História, súčastnosť a budúcnosť spracovania PHP…   vieme PHP ešte...Devel.cz - História, súčastnosť a budúcnosť spracovania PHP…   vieme PHP ešte...
Devel.cz - História, súčastnosť a budúcnosť spracovania PHP… vieme PHP ešte...
 
Drupal - Open Source CMS
Drupal - Open Source CMSDrupal - Open Source CMS
Drupal - Open Source CMS
 

Node.js @ Rubyslava

  • 1. Ivan Srba Rubyslava, 17.5.2012 Powerpoint Templates Page 1
  • 3. Prečo vzniklo node.js? • Lebo Ryan Dahl „Windows is very important, just like php.“ Powerpoint Templates Page 3
  • 4. Prečo vzniklo node.js? • I/O operácie sú drahé L1-cache 3 cycles L2-cache 14 cycles RAM 250 cycles Disk 41 000 000 cycles Network 240 000 000 cycles • Riešenie: fork, threads http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/ Powerpoint Templates Page 4
  • 5. Prečo vzniklo node.js? • Vlákna sú pamäťovo náročné • Ďalšie problémy: deadlock http://blog.webfaction.com/a-little-holiday-present Powerpoint Templates Page 5
  • 6. O node.js • Serverová platforma • Založená na Chrome JS runtime V8 • Jednovláknová • Udalosťami riadená • Určená pre • Aplikácie pracujúce s veľkým množstvom dát • Aplikácie pracujúce v reálnom čase Powerpoint Templates Page 6
  • 8. Hello world 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/'); Powerpoint Templates Page 8
  • 9. Modulárnosť • Node Package Management, NPM • Celkovo až 9950 modulov • Webové frameworky, databázy, web sockety • Parsery, TCP/IP, ladenie, I18N, ... Powerpoint Templates Page 9
  • 10. Web frameworky • Express • Jeden z najpoužívanejších frameworkov inšpirovaný Sinatrou • Locomotive • MVC framework inšpirovaný RoR • RailwayJS • MVC framework podobný RoR Powerpoint Templates Page 10
  • 11. Databázy • Relačné databázy • PostgreSQL, MySQL, MSSQL, SQLite, Oracle • NoSQL databázy • Mongo, Hive, Redis, CouchDB, Cassandra • ORM Powerpoint Templates Page 11
  • 12. Web sockety • Socket.io • Knižnica poskytujúca univerzálne API pre vytváranie aplikácií pracujúcich v reálnom čase • Protokoly: WebSocket, AJAX long pooling, JSONP pooling... • Prehliadače: IE, Safari, Google, Firefox, Opera, ... Powerpoint Templates Page 12
  • 13. Použitie node.js • PopCorm • Kolaboratívna platforma • Pre riešenie úloh (vzdelávanie) • Integruje sadu kolaboratívnych nástrojov • Textový editor, grafický editor, kategorizátor, diskusia PopCorm Powerpoint Templates Page 13
  • 14. PopCorm • CRUD časť aplikácie v RoR • Kolaboratívne nástroje v node.js • Ako databáza bolo použité MySQL • Na produkcii sme použili webový server Nginx a Monit na testovanie dostupnosti node.js nástrojov + ich prípadný reštart Powerpoint Templates Page 14
  • 15. Prečo node.js? • Veľké množstvo dát • Každá zmena = nová revízia • Potreba synchronizovať obsah v reálnom čase • Snaha o maximálnu efektívnosť práce skupín • AJAX nie je dostatočne rýchly/efektívny Powerpoint Templates Page 15
  • 16. Video ukážka • Textový editor • Etherpad Lite • Kategorizátor • Diskusia Etherpad Lite: http://etherpad.org/ Powerpoint Templates Page 16
  • 17. Diskusia var app = require('express').createServer() var io = require('socket.io').listen(app); var settings = require("./utils/Settings"); var messageHandler = require("MessageHandler"); app.listen(settings.port); io.sockets.on('connection', function (socket) { socket.on('start', function(...) { messageHandler.handleStart(...); }); socket.on('typing-message', function(...) { messageHandler.handleTypingMessage(...); }); socket.on('send-message', function(...) { messageHandler.handleNewMessage(...); }); ... Powerpoint Templates Page 17
  • 18. Prijatie novej správy exports.handleNewMessage = function(...) { var created_at = new Date().getTime(); socket.emit('new-message', ...); socket.broadcast.to(socket.group_id). emit('new-message', ...); chatMessage.addNewChatMessage(..., logError); if (activity_id !== null) { userCharacteristicMatrixValue. increaseValue(..., logError); } ... Powerpoint Templates Page 18
  • 19. Praktické skúsenosti • Štatistika • Virtuálny stroj: 4 jadrá, 2GB RAM • 50 paralelne pracujúcich používateľov • Vyťaženie CPU: MySQL 10%, Ruby 5%, node.js <1% • Zistenia • Nástroje v node.js bez problémov zvládali synchronizovať obsah • MySQL by bolo vhodné nahradiť za Redis Powerpoint Templates Page 19
  • 20. Praktické skúsenosti • Identifikované problémy • Museli sme riešiť veľa „zvláštnych“ problémov najmä so socket.io • Pri produkčnom nasadení bol veľký problém s umiestnením node.js aplikácií za Nginx • Stlačenie tlačidla ESC zrušilo vo Firefoxe socketové spojenia so serverom • Niektoré problémy so socketmi sa prejavovali len pri kombinácii 2 a viac rôznych prehliadačov Powerpoint Templates Page 20
  • 21. Pozitíva node.js • Javascript je veľmi vhodný pre programovanie s callbackmi (na rozdiel od Ruby) • Rovnaký programovací jazyk na klientovi aj na serveri • Všetko sa vykonáva asynchrónne (okrem vášho kódu) • Vysoká produktívnosť • Minimálna réžia (CPU, pamäť) • Modulárnosť Powerpoint Templates Page 21
  • 22. Negatíva node.js • „It's Fucking JavaScript“ if (typeof my_var !== "undefined" && my_var !== null) {} • Problémy s produkčným nasadením • Celková nevyspelosť technológie • Priveľmi dynamický vývoj • Nedostatočné technológie pre testovanie Powerpoint Templates Page 22
  • 23. Záver • Kedy nepoužiť node.js • Výpočtovo náročné aplikácie • CRUD/HTML aplikácie • Kedy použiť node.js • JSON API • AJAXom preplnené aplikácie • Streamovanie dát • Realtime aplikácie Powerpoint Templates Page 23
  • 24. Dôležité zdroje • http://nodejs.org/ • Oficiálna stránka node.js • http://nodeguide.com/ • Rozsiahly tutoriál pre programovanie v node.js • http://nodetuts.com/ • Sada 30 video-tutoriálov • http://blog.mixu.net/2011/02/01/understanding-the- node-js-event-loop/ • Vysvetlenie procesu spracovanie udalostí • http://search.npmjs.org/ • https://github.com/joyent/node/wiki/modules • Registre modulov Powerpoint Templates Page 24
  • 25. Zaujímavé články • http://www.ibm.com/developerworks/opensource/libra ry/os-nodejs/ • Úvod do node.js • http://simonwillison.net/2009/nov/23/node/ • Úvod do node.js • http://radar.oreilly.com/2011/07/what-is-node.html • Rozsiahlejší úvod spolu s dobrými príkladmi • http://mashable.com/2011/03/10/node-js/ • Rozsiahlejší úvod spolu s dobrými príkladmi Powerpoint Templates Page 25
  • 26. Zaujímavé články • http://teddziuba.com/2011/10/node-js-is-cancer.html • Trochu iný pohľad na node.js • http://blog.targeterapp.com/post/22984987832/why- we-moved-from-nodejs-to-ror • Prípadová štúdia, kedy autori prešli od node.js k RoR • http://www.unlimitednovelty.com/2012/03/why-critics- of-rails-have-it-all-wrong.html • RoR vs. node.js Powerpoint Templates Page 26