Node jsworkshop
Upcoming SlideShare
Loading in...5
×
 

Node jsworkshop

on

  • 1,447 views

Workshop auf den JavaScript-Days 2012 in Berlin.

Workshop auf den JavaScript-Days 2012 in Berlin.

Statistics

Views

Total Views
1,447
Views on SlideShare
1,446
Embed Views
1

Actions

Likes
0
Downloads
14
Comments
0

1 Embed 1

https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Node jsworkshop Node jsworkshop Presentation Transcript

  • Friday, September 28, 12
  • WER BIN ICH? • Sebastian Springer • https://github.com/sspringer82 • @basti_springer • Teamlead @ MayflowerFriday, September 28, 12
  • WER SEID IHR?Friday, September 28, 12
  • LET’S GOFriday, September 28, 12
  • THEMEN • Installation • Dateisystem • Kernkomponenten • Datenbanken • Beispiel • Promises • Module • Child Processes • Eigener Code • Websockets • Asynchronität • Debugger • NPM • TestingFriday, September 28, 12
  • INSTALLATIONFriday, September 28, 12
  • v0.8.11 v0.8.10 NODE-V0.8.9Friday, September 28, 12
  • PAKETE • Unix http://nodejs.org/dist/v0.8.9/node-v0.8.9-linux-x64.tar.gz • Mac http://nodejs.org/dist/v0.8.9/node-v0.8.9.pkg • Windows http://nodejs.org/dist/v0.8.9/x64/node-v0.8.9-x64.msiFriday, September 28, 12
  • HTTP://NODEJS.ORG/ DOWNLOAD/Friday, September 28, 12
  • SOURCEFriday, September 28, 12
  • HAT ES GEKLAPPT?Friday, September 28, 12
  • DIE KERNKOMPONENTENFriday, September 28, 12
  • V8 • Schneller Zugriff auf Eigenschaften • Dynamische Erstellung von Maschinencode • Garbage CollectionFriday, September 28, 12
  • V8 - FAST PROPERTY ACCESSFriday, September 28, 12
  • V8 - FAST PROPERTY ACCESSFriday, September 28, 12
  • V8 - FAST PROPERTY ACCESSFriday, September 28, 12
  • MASCHINENCODEFriday, September 28, 12
  • V8 - GARBAGE COLLECTION • Programmausführung wird angehalten • Es wird nur ein Teil des Object Heaps geprüft • V8 kennt alle Objekte und Pointer im SpeicherFriday, September 28, 12
  • LIBEV • Full-featured and high-performance event loop • libevent als Basis • Alles, außer der eigene Code ist parallel und asynchronFriday, September 28, 12
  • LIBEIO • Eventbasierte Bibliothek für asynchrone I/O Operationen • Ergänzung zu libev • Features: Öffnen, Lesen, Schreiben, Löschen, etc. • Modul: fsFriday, September 28, 12
  • C-ARES • asynchrone DNS Auflösung • Modul: dnsFriday, September 28, 12
  • EVCOM • Basiert auf libev • Eventbasierte Library für Stream Sockets • Modul: netFriday, September 28, 12
  • EIN KLEINES BEISPIELFriday, September 28, 12
  • INTERAKTIVFriday, September 28, 12
  • WEBSERVERFriday, September 28, 12
  • WEBSERVERFriday, September 28, 12
  • WEBSERVERFriday, September 28, 12
  • MODULEFriday, September 28, 12
  • VERFÜGBARE MODULE • Stream • OS • Events • Debugger • File System • Cluster • Net • Util • HTTP • Buffer • Child Processes • UDPFriday, September 28, 12
  • HTTP://NODEJS.ORG/API/Friday, September 28, 12
  • STABILITÄTSINDEX •0 - Deprecated •1 - Experimental •2 - Unstable •3 - Stable •4 - API Frozen •5 - LockedFriday, September 28, 12
  • STABILITÄTSINDEXFriday, September 28, 12
  • MODULE VERWENDENFriday, September 28, 12
  • EIGENE KLASSEN DEFINIERENFriday, September 28, 12
  • ...IM BROWSERFriday, September 28, 12
  • ...IN NODE Human.jsFriday, September 28, 12
  • ...IN NODE server.jsFriday, September 28, 12
  • ASYNCHRONE PROGRAMMIERUNGFriday, September 28, 12
  • DATEI LESEN node.js Betriebssystem LeseoperationFriday, September 28, 12
  • DATEI LESENFriday, September 28, 12
  • DATEI LESENFriday, September 28, 12
  • DATEI LESENFriday, September 28, 12
  • Friday, September 28, 12
  • NPM • Node Package Manager • Seit node 0.6.3 Bundled • Repo @ https://npmjs.org/Friday, September 28, 12
  • KOMMANDOS • npm search <package> • npm install <package> • npm list • npm update • npm removeFriday, September 28, 12
  • NPM SEARCHFriday, September 28, 12
  • NPM INSTALLFriday, September 28, 12
  • NPM LISTFriday, September 28, 12
  • NPM UPDATEFriday, September 28, 12
  • NPM REMOVEFriday, September 28, 12
  • EIGENE NPM PAKETEFriday, September 28, 12
  • EIGENE NPM PAKETE • npm adduser • Username, Passwort, E-Mail • npm publish <folder>|<tarball>Friday, September 28, 12
  • HTTPS://GITHUB.COM/ JOYENT/NODE/WIKI/Friday, September 28, 12
  • DATEISYSTEMFriday, September 28, 12
  • DATEISYSTEM-FUNKTIONEN • exists • unlink • readFile • chmod • writeFile • chown • appendFile • ... • watchFile • renameFriday, September 28, 12
  • FILE EXISTSFriday, September 28, 12
  • FILE EXISTSFriday, September 28, 12
  • FILE EXISTSFriday, September 28, 12
  • APPEND FILEFriday, September 28, 12
  • APPEND FILEFriday, September 28, 12
  • APPEND FILEFriday, September 28, 12
  • WATCH FILEFriday, September 28, 12
  • WATCH FILEFriday, September 28, 12
  • WATCH FILEFriday, September 28, 12
  • WATCH FILEFriday, September 28, 12
  • FRAGEN?Friday, September 28, 12
  • DATENBANKENFriday, September 28, 12
  • Friday, September 28, 12
  • MySQLFriday, September 28, 12
  • MySQL CouchDBFriday, September 28, 12
  • MySQL CouchDB MS SQL ServerFriday, September 28, 12
  • MySQL CouchDB SQLite MS SQL ServerFriday, September 28, 12
  • MySQL CouchDB Redis SQLite MS SQL ServerFriday, September 28, 12
  • MySQL PostgreSQL CouchDB Redis SQLite MS SQL ServerFriday, September 28, 12
  • MySQL PostgreSQL CouchDB Redis SQLite MS SQL Server HiveFriday, September 28, 12
  • MySQL PostgreSQL Mongo CouchDB Redis SQLite MS SQL Server HiveFriday, September 28, 12
  • MySQL PostgreSQL Oracle Mongo CouchDB Redis SQLite MS SQL Server HiveFriday, September 28, 12
  • MYSQL • npm install mysql • Implementierung des mysql ProtokollsFriday, September 28, 12
  • MYSQLFriday, September 28, 12
  • TEST-DATENBANKFriday, September 28, 12
  • MYSQLFriday, September 28, 12
  • MYSQLFriday, September 28, 12
  • PROMISESFriday, September 28, 12
  • PROMISES • Ergebnis eines asynchronen Funktionsaufrufs • Rückgabewert oder Exception • Promise statt Blocking • CommonJS Proposal • bis 0.2 Bestandteil von NodeFriday, September 28, 12
  • PYRAMID OF DOOMFriday, September 28, 12
  • PROMISESFriday, September 28, 12
  • PROMISE-LIBRARIES • https://github.com/kriskowal/q • https://github.com/kriszyp/promised-io • https://github.com/kriszyp/node-promise • ...Friday, September 28, 12
  • OHNE PROMISESFriday, September 28, 12
  • OHNE PROMISESFriday, September 28, 12
  • PROMISESFriday, September 28, 12
  • PROMISESFriday, September 28, 12
  • PROMISESFriday, September 28, 12
  • PROMISESFriday, September 28, 12
  • CHILD PROCESSESFriday, September 28, 12
  • CHILD PROCESSES • spawn - Kommandoausführung • exec - Kommandoausführung in Puffer • execFile - Dateiausführung in Puffer • fork - Node ProzessFriday, September 28, 12
  • ETWAS RECHENINTENSIVESFriday, September 28, 12
  • potenziell ETWAS BLOCKIERENDESFriday, September 28, 12
  • ETWAS BLOCKIERENDESFriday, September 28, 12
  • ETWAS BLOCKIERENDESFriday, September 28, 12
  • DIE LÖSUNG: WIR FORKENFriday, September 28, 12
  • CHILD PROCESSESFriday, September 28, 12
  • CHILD PROCESSESFriday, September 28, 12
  • CHILD PROCESSESFriday, September 28, 12
  • WEBSOCKETSFriday, September 28, 12
  • WEBSOCKETS • Protokoll auf TCP-Basis • Bidirektionale Client-Server-Kommunikation • Wird im Rahmen von HTML5 entwickelt • Unterstützung durch LibrariesFriday, September 28, 12
  • Friday, September 28, 12
  • SOCKET.IO - SERVERFriday, September 28, 12
  • SOCKET.IO - SERVERFriday, September 28, 12
  • SOCKET.IO - CLIENTFriday, September 28, 12
  • SOCKET.IO - CLIENTFriday, September 28, 12
  • SOCKET.IO - CLIENTFriday, September 28, 12
  • SOCKET.IO - SERVERFriday, September 28, 12
  • DEBUGGERFriday, September 28, 12
  • DEBUGGERFriday, September 28, 12
  • DEBUGGERFriday, September 28, 12
  • DEBUGGERFriday, September 28, 12
  • DEBUGGER - STEP • next -n • cont -c • step -s • out -oFriday, September 28, 12
  • DEBUGGER - WATCH • watch(expression) • unwatch(expression) • watchersFriday, September 28, 12
  • DEBUGGER - WATCHFriday, September 28, 12
  • DEBUGGER - REPLFriday, September 28, 12
  • TESTINGFriday, September 28, 12
  • TEST FRAMEWORKS • node-unit • node assertion testing • jasmine-nodeFriday, September 28, 12
  • JASMINE-NODEFriday, September 28, 12
  • JASMINE-NODEFriday, September 28, 12
  • JASMINE-NODE src/Calculator.jsFriday, September 28, 12
  • JASMINE-NODE spec/Calculator.spec.jsFriday, September 28, 12
  • JASMINE-NODEFriday, September 28, 12
  • JASMINE-NODEFriday, September 28, 12
  • FRAGEN?Friday, September 28, 12
  • KONTAKT Sebastian Springer sebastian.springer@mayflower.de Mayflower GmbH Mannhardtstr. 6 80538 München Deutschland @basti_springer https://github.com/sspringer82Friday, September 28, 12
  • SOCKETSFriday, September 28, 12
  • SOCKETS • Kommunikation über Netzwerk-/Datei-Sockets • Read-, Write- und Read-Write-Sockets • ‘net’-ModulFriday, September 28, 12
  • SOCKETS Write-Socket- Daten Daten Read-Socket- Socket-Server Client ClientFriday, September 28, 12
  • SOCKETS - SERVERFriday, September 28, 12
  • SOCKETS - READFriday, September 28, 12
  • SOCKETS - WRITEFriday, September 28, 12
  • SOCKETS - SERVERFriday, September 28, 12
  • SOCKETS - SERVERFriday, September 28, 12
  • SOCKETS - SERVERFriday, September 28, 12
  • SOCKETS - SERVERFriday, September 28, 12