Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
NodeJS
1. Node.JS
{ ‘name’: ‘Bártházi András’,
‘company’: ‘Wish Internet Consulting’,
‘event’: ‘Budapest.JS’,
‘date’: Date(‘2010/03/30’) }
Tuesday, March 30, 2010
2. Az előadó
Bártházi András
webfejlesztő, infojunkie
Kapcsolat:
mail: andras(beigli)barthazi(pont)hu
twitter: @ba78
Blog:
http://webakademia.hu
Tuesday, March 30, 2010
3. ról-ről
http://nodejs.org/
gyors fejlődés, korrekt közösség
2009. november óta (!), 2009. januári előzményekkel
a V8 nevű JavaScript értelmezőre épülő futtatókörnyezet
hálózati programozást (különböző szerverek, kliensek) lehetővé tevő
kiegészítők
esemény alapú, aszinkron programozás (vö: thread alapú megoldások)
Tuesday, March 30, 2010
4. ról-ről
gyorsan, egyszerűen telepíthető, kevés fü)őség
a JavaScriptet “mindenki” ismeri, gyorsan tanulható,
egyszerű környezet
nagyon könnyen lehet olyan látványos eredményeket
elérni vele, amit LAMP környezetben “sehogysem”
Tuesday, March 30, 2010
5. V8
A Chrome JavaScript motorja
gyors, szabványos, aktívan fejlesztett JavaScript
értelmező
Tuesday, March 30, 2010
6. +CommonJS
standard JavaScript fü)vénykönyvtár
a CommonJS (http://commonjs.org/) alapján kezel
modulokat:
var sys = require("sys");
var sajatmodul = require("./module");
sys.puts(sajatmodul.uzenet);
a module.js az “exports” objektumon keresztül
“kommunikál” a külvilá)al:
exports.uzenet = "Hello Világ!";
Tuesday, March 30, 2010
7. +I/O +hálózat
fájlkezelés
HTTP szerver és kliens
TCP szerver és kliens
DNS kliens
+ további kiegészítők lehetősége (pl. node_postgres)
Tuesday, March 30, 2010
8. +esemény alapú
setTimeout és AJAX ismerős?
egy szálon fut (böngészőkből ez is ismerős lehet)
alapfilozófia: I/O-ra nem várunk, hanem átadunk egy
eseménykezelő fü)vényt, az majd lefut ha megjött a
válasz
Tuesday, March 30, 2010
9. webszerver
var sys = require("sys"),
http = require("http");
http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello Worldn");
response.close();
}).listen(8000);
sys.puts("Server running at http://127.0.0.1:8000/");
Tuesday, March 30, 2010
10. webszerver gyorsan
statikus fájlok kiszolgálása lassúnak mondható
célszerű egy proxy szervert elétenni, például nginx-et
egy korrekt felá-ás:
http://dailyjs.com/2010/03/15/hosting-nodejs-apps
Tuesday, March 30, 2010
11. adatbáziskezelés
még igencsak gyerekcipőben, de már több lehetőség is van:
PostgreSQL: JavaScriptben és C-ben írt modul
http://github.com/ry/node_postgres és http://github.com/creationix/postgres-js
MySQL: DBSlayer nevű “proxy”-n keresztül
http://devthought.com/blog/2009/12/accessing-a-mysql-database-.om-nodejs/
Redis, CouchDB, MongoDB...
http://wiki.github.com/ry/node/modules#database
Tuesday, March 30, 2010
12. baráti projektek
számos Node.JS-re épülő modul:
http://wiki.github.com/ry/node/modules
számos Node.JS-re épülő projekt
http://wiki.github.com/ry/node/
a gyors fejlődés kapcsán nem feltétlenül vannak
szinkronban, így lehet, hogy nem működnek
Tuesday, March 30, 2010
13. webes frameworkök
ebből is igen sok van, az egyszerűbbektől az összetettekig
fura: http://www.fabjs.org/
okos: http://expressjs.com/
de van még többfajta sablonkezelés, HTML5 websocket,
XML feldolgozó, gzip tömörítő, GD és ImageMagick
wrapper, ésatöbbi
Tuesday, March 30, 2010
14. “csomag” kezelés
ebből is van több, például a “kiwi”:
http://github.com/visionmedia/kiwi
kiwi install node
Tuesday, March 30, 2010