Your SlideShare is downloading. ×
0
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Node jsworkshop
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Node jsworkshop

2,274

Published on

Workshop auf den JavaScript-Days 2012 in Berlin.

Workshop auf den JavaScript-Days 2012 in Berlin.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,274
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Friday, September 28, 12
  • 2. WER BIN ICH? • Sebastian Springer • https://github.com/sspringer82 • @basti_springer • Teamlead @ MayflowerFriday, September 28, 12
  • 3. WER SEID IHR?Friday, September 28, 12
  • 4. LET’S GOFriday, September 28, 12
  • 5. THEMEN • Installation • Dateisystem • Kernkomponenten • Datenbanken • Beispiel • Promises • Module • Child Processes • Eigener Code • Websockets • Asynchronität • Debugger • NPM • TestingFriday, September 28, 12
  • 6. INSTALLATIONFriday, September 28, 12
  • 7. v0.8.11 v0.8.10 NODE-V0.8.9Friday, September 28, 12
  • 8. 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
  • 9. HTTP://NODEJS.ORG/ DOWNLOAD/Friday, September 28, 12
  • 10. SOURCEFriday, September 28, 12
  • 11. HAT ES GEKLAPPT?Friday, September 28, 12
  • 12. DIE KERNKOMPONENTENFriday, September 28, 12
  • 13. V8 • Schneller Zugriff auf Eigenschaften • Dynamische Erstellung von Maschinencode • Garbage CollectionFriday, September 28, 12
  • 14. V8 - FAST PROPERTY ACCESSFriday, September 28, 12
  • 15. V8 - FAST PROPERTY ACCESSFriday, September 28, 12
  • 16. V8 - FAST PROPERTY ACCESSFriday, September 28, 12
  • 17. MASCHINENCODEFriday, September 28, 12
  • 18. 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
  • 19. LIBEV • Full-featured and high-performance event loop • libevent als Basis • Alles, außer der eigene Code ist parallel und asynchronFriday, September 28, 12
  • 20. 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
  • 21. C-ARES • asynchrone DNS Auflösung • Modul: dnsFriday, September 28, 12
  • 22. EVCOM • Basiert auf libev • Eventbasierte Library für Stream Sockets • Modul: netFriday, September 28, 12
  • 23. EIN KLEINES BEISPIELFriday, September 28, 12
  • 24. INTERAKTIVFriday, September 28, 12
  • 25. WEBSERVERFriday, September 28, 12
  • 26. WEBSERVERFriday, September 28, 12
  • 27. WEBSERVERFriday, September 28, 12
  • 28. MODULEFriday, September 28, 12
  • 29. VERFÜGBARE MODULE • Stream • OS • Events • Debugger • File System • Cluster • Net • Util • HTTP • Buffer • Child Processes • UDPFriday, September 28, 12
  • 30. HTTP://NODEJS.ORG/API/Friday, September 28, 12
  • 31. STABILITÄTSINDEX •0 - Deprecated •1 - Experimental •2 - Unstable •3 - Stable •4 - API Frozen •5 - LockedFriday, September 28, 12
  • 32. STABILITÄTSINDEXFriday, September 28, 12
  • 33. MODULE VERWENDENFriday, September 28, 12
  • 34. EIGENE KLASSEN DEFINIERENFriday, September 28, 12
  • 35. ...IM BROWSERFriday, September 28, 12
  • 36. ...IN NODE Human.jsFriday, September 28, 12
  • 37. ...IN NODE server.jsFriday, September 28, 12
  • 38. ASYNCHRONE PROGRAMMIERUNGFriday, September 28, 12
  • 39. DATEI LESEN node.js Betriebssystem LeseoperationFriday, September 28, 12
  • 40. DATEI LESENFriday, September 28, 12
  • 41. DATEI LESENFriday, September 28, 12
  • 42. DATEI LESENFriday, September 28, 12
  • 43. Friday, September 28, 12
  • 44. NPM • Node Package Manager • Seit node 0.6.3 Bundled • Repo @ https://npmjs.org/Friday, September 28, 12
  • 45. KOMMANDOS • npm search <package> • npm install <package> • npm list • npm update • npm removeFriday, September 28, 12
  • 46. NPM SEARCHFriday, September 28, 12
  • 47. NPM INSTALLFriday, September 28, 12
  • 48. NPM LISTFriday, September 28, 12
  • 49. NPM UPDATEFriday, September 28, 12
  • 50. NPM REMOVEFriday, September 28, 12
  • 51. EIGENE NPM PAKETEFriday, September 28, 12
  • 52. EIGENE NPM PAKETE • npm adduser • Username, Passwort, E-Mail • npm publish <folder>|<tarball>Friday, September 28, 12
  • 53. HTTPS://GITHUB.COM/ JOYENT/NODE/WIKI/Friday, September 28, 12
  • 54. DATEISYSTEMFriday, September 28, 12
  • 55. DATEISYSTEM-FUNKTIONEN • exists • unlink • readFile • chmod • writeFile • chown • appendFile • ... • watchFile • renameFriday, September 28, 12
  • 56. FILE EXISTSFriday, September 28, 12
  • 57. FILE EXISTSFriday, September 28, 12
  • 58. FILE EXISTSFriday, September 28, 12
  • 59. APPEND FILEFriday, September 28, 12
  • 60. APPEND FILEFriday, September 28, 12
  • 61. APPEND FILEFriday, September 28, 12
  • 62. WATCH FILEFriday, September 28, 12
  • 63. WATCH FILEFriday, September 28, 12
  • 64. WATCH FILEFriday, September 28, 12
  • 65. WATCH FILEFriday, September 28, 12
  • 66. FRAGEN?Friday, September 28, 12
  • 67. DATENBANKENFriday, September 28, 12
  • 68. Friday, September 28, 12
  • 69. MySQLFriday, September 28, 12
  • 70. MySQL CouchDBFriday, September 28, 12
  • 71. MySQL CouchDB MS SQL ServerFriday, September 28, 12
  • 72. MySQL CouchDB SQLite MS SQL ServerFriday, September 28, 12
  • 73. MySQL CouchDB Redis SQLite MS SQL ServerFriday, September 28, 12
  • 74. MySQL PostgreSQL CouchDB Redis SQLite MS SQL ServerFriday, September 28, 12
  • 75. MySQL PostgreSQL CouchDB Redis SQLite MS SQL Server HiveFriday, September 28, 12
  • 76. MySQL PostgreSQL Mongo CouchDB Redis SQLite MS SQL Server HiveFriday, September 28, 12
  • 77. MySQL PostgreSQL Oracle Mongo CouchDB Redis SQLite MS SQL Server HiveFriday, September 28, 12
  • 78. MYSQL • npm install mysql • Implementierung des mysql ProtokollsFriday, September 28, 12
  • 79. MYSQLFriday, September 28, 12
  • 80. TEST-DATENBANKFriday, September 28, 12
  • 81. MYSQLFriday, September 28, 12
  • 82. MYSQLFriday, September 28, 12
  • 83. PROMISESFriday, September 28, 12
  • 84. PROMISES • Ergebnis eines asynchronen Funktionsaufrufs • Rückgabewert oder Exception • Promise statt Blocking • CommonJS Proposal • bis 0.2 Bestandteil von NodeFriday, September 28, 12
  • 85. PYRAMID OF DOOMFriday, September 28, 12
  • 86. PROMISESFriday, September 28, 12
  • 87. PROMISE-LIBRARIES • https://github.com/kriskowal/q • https://github.com/kriszyp/promised-io • https://github.com/kriszyp/node-promise • ...Friday, September 28, 12
  • 88. OHNE PROMISESFriday, September 28, 12
  • 89. OHNE PROMISESFriday, September 28, 12
  • 90. PROMISESFriday, September 28, 12
  • 91. PROMISESFriday, September 28, 12
  • 92. PROMISESFriday, September 28, 12
  • 93. PROMISESFriday, September 28, 12
  • 94. CHILD PROCESSESFriday, September 28, 12
  • 95. CHILD PROCESSES • spawn - Kommandoausführung • exec - Kommandoausführung in Puffer • execFile - Dateiausführung in Puffer • fork - Node ProzessFriday, September 28, 12
  • 96. ETWAS RECHENINTENSIVESFriday, September 28, 12
  • 97. potenziell ETWAS BLOCKIERENDESFriday, September 28, 12
  • 98. ETWAS BLOCKIERENDESFriday, September 28, 12
  • 99. ETWAS BLOCKIERENDESFriday, September 28, 12
  • 100. DIE LÖSUNG: WIR FORKENFriday, September 28, 12
  • 101. CHILD PROCESSESFriday, September 28, 12
  • 102. CHILD PROCESSESFriday, September 28, 12
  • 103. CHILD PROCESSESFriday, September 28, 12
  • 104. WEBSOCKETSFriday, September 28, 12
  • 105. WEBSOCKETS • Protokoll auf TCP-Basis • Bidirektionale Client-Server-Kommunikation • Wird im Rahmen von HTML5 entwickelt • Unterstützung durch LibrariesFriday, September 28, 12
  • 106. Friday, September 28, 12
  • 107. SOCKET.IO - SERVERFriday, September 28, 12
  • 108. SOCKET.IO - SERVERFriday, September 28, 12
  • 109. SOCKET.IO - CLIENTFriday, September 28, 12
  • 110. SOCKET.IO - CLIENTFriday, September 28, 12
  • 111. SOCKET.IO - CLIENTFriday, September 28, 12
  • 112. SOCKET.IO - SERVERFriday, September 28, 12
  • 113. DEBUGGERFriday, September 28, 12
  • 114. DEBUGGERFriday, September 28, 12
  • 115. DEBUGGERFriday, September 28, 12
  • 116. DEBUGGERFriday, September 28, 12
  • 117. DEBUGGER - STEP • next -n • cont -c • step -s • out -oFriday, September 28, 12
  • 118. DEBUGGER - WATCH • watch(expression) • unwatch(expression) • watchersFriday, September 28, 12
  • 119. DEBUGGER - WATCHFriday, September 28, 12
  • 120. DEBUGGER - REPLFriday, September 28, 12
  • 121. TESTINGFriday, September 28, 12
  • 122. TEST FRAMEWORKS • node-unit • node assertion testing • jasmine-nodeFriday, September 28, 12
  • 123. JASMINE-NODEFriday, September 28, 12
  • 124. JASMINE-NODEFriday, September 28, 12
  • 125. JASMINE-NODE src/Calculator.jsFriday, September 28, 12
  • 126. JASMINE-NODE spec/Calculator.spec.jsFriday, September 28, 12
  • 127. JASMINE-NODEFriday, September 28, 12
  • 128. JASMINE-NODEFriday, September 28, 12
  • 129. FRAGEN?Friday, September 28, 12
  • 130. KONTAKT Sebastian Springer sebastian.springer@mayflower.de Mayflower GmbH Mannhardtstr. 6 80538 München Deutschland @basti_springer https://github.com/sspringer82Friday, September 28, 12
  • 131. SOCKETSFriday, September 28, 12
  • 132. SOCKETS • Kommunikation über Netzwerk-/Datei-Sockets • Read-, Write- und Read-Write-Sockets • ‘net’-ModulFriday, September 28, 12
  • 133. SOCKETS Write-Socket- Daten Daten Read-Socket- Socket-Server Client ClientFriday, September 28, 12
  • 134. SOCKETS - SERVERFriday, September 28, 12
  • 135. SOCKETS - READFriday, September 28, 12
  • 136. SOCKETS - WRITEFriday, September 28, 12
  • 137. SOCKETS - SERVERFriday, September 28, 12
  • 138. SOCKETS - SERVERFriday, September 28, 12
  • 139. SOCKETS - SERVERFriday, September 28, 12
  • 140. SOCKETS - SERVERFriday, September 28, 12

×