Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Node.js scripting - your front-end toolbox

Node.js scripting - your front-end toolbox

How to use node.js in your front-end work, how to automate things, use npm scripts ect.

code: https://github.com/michalczukm/nodejs-scripting-skm

Michał Michalczuk

November 17, 2017
Tweet

More Decks by Michał Michalczuk

Other Decks in Programming

Transcript

  1. Node.js Scripting
    Node.js w służbie front-end’u
    repo: https://github.com/michalczukm/nodejs-scripting-skm
    Michał Michalczuk

    View full-size slide

  2. Node.js
    2
    Czym jest node.js?
    • Środowisko wykonawcze
    • Wieloplatformowe środowisko wykonawcze
    • Wieloplatformowe środowisko wykonawcze do
    wytwarzania aplikacji serwerowych stworzonych w
    JavaScript
    • Rozwijany od 2009 roku jako OpenSource
    • Wykorzystuje silnik V8 (by Google)

    View full-size slide

  3. Node.js
    3
    Czym nie jest node.js?
    • Frameworkiem
    • Wielowątkowy

    View full-size slide

  4. Event Driven Programming
    4

    View full-size slide

  5. Event Driven Programming
    5
    element.onclick(...)
    Jak obsłużymy ten event?
    • Callback
    • Promise

    View full-size slide

  6. Node.js: single thread
    6
    Pan event-loop i jego
    wiadomości
    Callbacks

    View full-size slide

  7. Node.js: event-loop
    7
    Browser event-loop
    Źródło: https://developer.mozilla.org/en/docs/Web/JavaScript/EventLoop
    while(queue.waitForMessage()) {
    queue.processNextMessage();
    }

    View full-size slide

  8. Node.js: event-loop
    8
    The almighty event loop
    Źródło: https://strongloop.com/strongblog/node-js-performance-event-loop-monitoring/

    View full-size slide

  9. Node.js: event-loop
    9

    View full-size slide

  10. Node.js: nie blokuje I/O
    10
    • L1-Cache 3 cykle
    • L2-Cache 14 cykli
    • RAM 250 cykli
    • Dysk 41 000 000 cykli
    • Sieć 240 000 000 cykli
    Dlaczego to tak istotne?

    View full-size slide

  11. npm: skupimy się na ...
    ● package.json
    ● package-lock.json
    ● npm scripts
    12

    View full-size slide

  12. Coding Session
    Code show session
    Show me the code: https://github.com/michalczukm/nodejs-scripting-skm

    View full-size slide

  13. Dziękuję za uwagę

    View full-size slide