Node jsworkshop
Upcoming SlideShare
Loading in...5
×
 

Node jsworkshop

on

  • 1,133 views

Workshop auf den JavaScript-Days 2012 in Berlin.

Workshop auf den JavaScript-Days 2012 in Berlin.

Statistics

Views

Total Views
1,133
Views on SlideShare
1,132
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