Your SlideShare is downloading. ×
An introduction to Node.js and Sails.js at Meet.js Katowice (in polish)
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

An introduction to Node.js and Sails.js at Meet.js Katowice (in polish)

339

Published on

slajdy do prezentacji przygotowane specjalnie na meet.js Katowice

slajdy do prezentacji przygotowane specjalnie na meet.js Katowice

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
339
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
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. AN INTRODUCTION TO NODE.JS + SAILS.JS QUICK DEMO Meet.js Katowice – 5 lutego 2014 – Kamil PrzeoRski www.facebook.com/groups/nodejsPL
  • 2. słowo wstępu • • • • • • • teoria node.js korzyści wyzwania / problemy popyt / podaż – potencjalne możliwości kariery :-) przykłady i najlepsze zastosowania node.js krótkie demo sails.js przyszłość node.js ( dyskusja :-)
  • 3. wydajność I/O OPERATION CPU CYCLES 300,000,000 240,000,000 225,000,000 150,000,000 75,000,000 41,000,000 3 14 250 L1 0 L2 RAM Source: Ryan Dahl's 2008.11.08 presentation on Node.js DISK NETWORK
  • 4. waiting ... ROUTE REQUEST QUERY DB OR WEB SERVICE OPERACJE I/O ZAJMUJĄ O WIELE WIĘCEJ CZASU NIŻ INNE OPERACJE W TWOJEJ APLIKACJI PROCESS RESULT WRITE TO LOG FILE STANDARDOWE APLIKACJE POSIADAJĄCE OPERACJE I/O CZEKAJĄ PRZEZ WIĘKSZOŚĆ CZASU FORMAL RESPONSE Source: Ryan Dahl's 2008.11.08 presentation on Node.js
  • 5. skalowalnie przy użyciu wątków THREAD 1 THREAD 2 THREAD 3 THREAD 4 Source: Ryan Dahl's 2008.11.08 presentation on Node.js OBSŁUGA WĄTKÓW PRZEZ SYSTEM OS JEST “DROGA” ALOKACJA PAMIĘCI, “CONTEXT SWITCHING” I CZEKANIE NA WYKONANIE SIĘ OPERACJI I/O SZTUCZNE OGRANICZENIE ILOŚCI JEDNOCZESNYCH POŁĄCZEO
  • 6. skalowalnie przy użyciu “Event Loop” PROCESS 1 NETWORK FILESYSTEM Thread Pool and Async I/I APIs JEDEN WĄTEK W CAŁEJ APLIKACJI DELEGUJE OPERACJE I/O MECHANIZMOWI “THREADPOOL” Source: Ryan Dahl's 2008.11.08 presentation on Node.js
  • 7. event loop thread pool event queue NODE.JS KORZYSTA Z BIBLIOTEKI LIBEV DO OBSŁUGI MECHANIZMU EVENT-LOOP filesystem EVENT LOOP network process other PO WYKONANIU SIĘ OPERACJI I/O, ZA POMOCĄ MECHANIZMU “CALLBACK” WYNIK ZOSTAJE PRZEKAZANY SPOWROTEM DO GŁÓWNEGO WĄTKU APLIKACJI Source: Ryan Dahl's 2008.11.08 presentation on Node.js
  • 8. platforma • • • V8 JAVASCRIPT VIRTUAL MACHINE Java Script NODE STANDARD LIBRARY NODE BINDINGS LIBEIO (THREAD POOL) LIBEV (EVENT LOOP) C V8 Thread Pool (libeio) Event Loop (livev)
  • 9. problemy i wyzwania thread pool NIESTABILNE MODUŁY API TRUDNY W DEBUGOWANIU event queue filesystem EVENT LOOP network process other MAŁO DOŚWIADCZONYCH SPECJALISTÓW NA RYNKU JEST DODATKOWYM RYZYKIEM DLA FIRM CHCĄCYCH UŻYWAD NODE.JS W CELACH KOMERCYJNYCH 0:2 Source: Ryan Dahl's 2008.11.08 presentation on Node.js
  • 10. popularność Job trends from indeed.com NODES PHP JAVA PYTHON RUBY .NET 12,000 11,000 10,000 9,000 8,000 7,000 6,000 5,000 4,000 3,000 2,000 1,000 0 Jan ’06 Jan ’07 PONAD 1000 OSÓB ONLINE NA IRC'U NODE.JS Jan ’08 Jan ’09 Jan ’10 OGROMNY WZROST ZAINTERESOWANIA W OSTATNICH 3 LATACH Jan ’11 Jan ’12 Jan ’13 O WIELE WIĘKSZY POPYT NIŻ PODAŻ W WIĘKSZYCH HUB'ACH TECHNOLOGICZNYCH (NP. LONDYN, SAN FRANCISCO)
  • 11. popularność_2 Module counts Rubygems.org PyPl php nuget Node.js 80000 70000 60000 50000 40000 30000 20000 10000 0 Jul 2010 Jan 2011 ILOŚD MODUŁÓW ZWIĘKSZA SIĘ DRAMATYCZNIE (ŻÓŁTA LINIA) Jul 2011 Jan 2012 Jul 2012 POPULARNOŚD NODE.JS W RASBERRY PI ( INTERNET OF THINGS ) Jan 2013 Jul 2013 Jan 2014 NIESTETY JAKOŚD MODUŁÓW MA WIELE DO ŻYCZENIA ( POTRZEBA CZASU )
  • 12. PayPal: Node.js vs. Java Java application 14 2000 Node.js application 1800 12 1400 10 8 25 1000 20 1000 800 6 800 600 15 600 4 10 400 400 2 200 0 0 1 5 10 Pages/sec Account response time (ms) 1200 5 200 0 0 15 Pages/sec 1 /home /wallet 5 10 /activity 15 20 25 Pages/sec 1400 30 1200 1600
  • 13. PayPal: Node.js vs. Java PAYPAL'S “ACCOUNT OVERVIEW” “BUILT ALMOST TWICE AS FAST WITH FEWER PEOPLE” “WRITTEN IN 33% FEWER LINES OF CODE” “CONSTRUCTED WITH 40% FEWER FILES”
  • 14. estimote ( Kraków,PL ) SZUKAJĄ LUDZI DO BUDOWANIA ICH API W NODE.JS ZNALEZIENIE KOGOŚ Z 3 LETNIM DOŚWIADCZENIEM W NODE.JS JEST NAPRAWDĘ HARDDD W POLSCE... :-)
  • 15. sails.js “MVC PATTERN” WZOROWANY NA ROR'ZE WSPIERA BUDOWANIE APLIKACJI RESTOWYCH SZYBKIE DEMO
  • 16. Dziękuję :-) Reach me at kamil.przeorski@skygatedigital.co.uk Meet.js Katowice – 5 lutego 2014 – Kamil PrzeoRski www.facebook.com/groups/nodejsPL

×