QCPHP - Node.js

21
QCPHP - NODE.JS

description

Introduction to Node.js at the Charlotte PHP group

Transcript of QCPHP - Node.js

Page 1: QCPHP - Node.js

QCPHP - NODE.JS

Page 2: QCPHP - Node.js

Garrett JohnsonCharlotte, NCRed Ventures

Developer

Page 3: QCPHP - Node.js

NON-BLOCKING IONODE<?>

DEVELOPMENT

Page 4: QCPHP - Node.js

$query = mysql_query(‘SELECT * FROM BAR’);

“IO needs to be done differently, we are doing it wrong.”-Ryan Dahl

Page 5: QCPHP - Node.js

NON-BLOCKING IONODE <?>

DEVELOPMENT

Page 6: QCPHP - Node.js

ISN’T THERE OTHER STUFF LIKE THIS?

Page 7: QCPHP - Node.js

NO EXTRA BAGGAGE

Page 8: QCPHP - Node.js

$(document).ready(function() { $('#foo').bind('click', function(event) { $.get('/resource/', function(data) { }); }); });

Page 9: QCPHP - Node.js

LIBUVV8

NODEJAVASCRIPT

Page 10: QCPHP - Node.js

NON-BLOCKING IONODE.JS

DEVELOPMENT

Page 11: QCPHP - Node.js

EVENTSSTREAMS

FSUNIX SOCKETS

HTTPTCPUDPDNS

...

Page 12: QCPHP - Node.js

BASICS

Page 13: QCPHP - Node.js

SERVERS

Page 14: QCPHP - Node.js

MODULES

Page 15: QCPHP - Node.js

NPMNODE PACKAGE MANAGER

Page 16: QCPHP - Node.js

REAL TIME

Page 17: QCPHP - Node.js

WINDOWSI HEAR ITS ACTUALLY PRETTY GOOD!

Page 18: QCPHP - Node.js

WHYDOES IT MATTER?

Page 19: QCPHP - Node.js

PHP + NODE?DO

REALTIMEWEB SERVICESWHAT ELSE?

OMFG DONT’SEXEC(‘NODE’);

APACHE PROXYGET LAZY AND USE FS.SYNC____

Page 20: QCPHP - Node.js

TIPS?ORGANIZE CODE WELL, JUST LIKE YOU NORMALLY WOULDUSE NPM AND LOOK TWICE AT WHAT MODULE YOU USE

UNDERSTAND ASYNC BEFORE USING A “CONTROL FLOW” MODULE

CONNECTEXPRESS

SOCKET.IONODE-REDIS

NODE-MYSQL*CLUSTER*

Page 21: QCPHP - Node.js

QUESTIONS?

THANKS FOR LISTENING!

[email protected]

GARRETT-JOHNSON.INFO