Smart kurs från Ribomation om

Kurs i NodeJS

Kurs i hur du bygger server-side applikationer med NodeJS

NodeJS har på mindre än ett decenium fullständigt ändrat perceptionen av JavaScript och vad det kan användas för. Plattformen har klart kommit att starkt utmana Java som applikations utvecklings platform.

Ett vanligt begrepp är full-stack development , som innebär användning av JS på browser-client sidan i form av SPA ramverk som Angular, användning av JS på server sidan i form av ExpressJS REST web services servrar och använding av JS/JSON i databasen i form av MongoDB med flera.

Detta får du lära dig på kursen
  • Förstå hur NodeJS exekverar
  • Skriva program med event-emitters
  • Skriva program som accessar filer
  • Implementera HTTP klienter och servrar
  • Implementera REST web services med ExpressJS
Innehåll

Background and Overview

  • History
  • Ryan Dahl
  • Properties
  • Architecture
  • Wrapping the LINUX system API
  • Installation of NodeJS and NPM
  • Running the REPL
  • Running script files
  • NodeJS API documentation

Some NodeJS Programs

  • Simple arithmetics and print-outs
  • Writing to files
  • Reading from files
  • Processing files
  • Simple HTTP client
  • Simple HTTP server

Understanding Modules

  • What is module
  • Different JS module systems
  • Understanding the CommonJS/NodeJS module system
  • Defining a module
  • Requiring a module
  • How NodeJS performs module lookup
  • Module file search order

NodeJS Basic API

  • Script name and location
  • The console object
  • Using the os module
  • Assertions

Asynchronous Execution

  • What is asynchronous execution
  • Using calls-backs
  • The boomerang effect
  • Call-back chains
  • Understanding promises
  • Working with promise chains
  • Async functions using await in ES6
  • Handling errors with async/await

JavaScript Execution Model

  • JavaScript engines
  • Understanding the call-stack and stack-frames
  • Invocation of asynchronous function blocks
  • The JS event-loop
  • A model for understanding how JS executes
  • Using Loupe to visualize JS execution
  • The NodeJS nested event-loops

Delayed Execution

  • Using setTimeout
  • Cancelling
  • Using setInterval
  • Understanding process.nextTick()

Process

  • The process object
  • Platform meta-data
  • Standard I/O, stdin, stdout and stderr
  • Terminating the execution
  • Exit handlers
  • Getting command-line arguments
  • Getting environment variables
  • Handling LINUX signals

Buffer

  • The purpose of the Buffer class
  • Creating Buffer objects
  • Character encoding, ASCII, UTF8, Base64
  • Decoding buffers
  • Accessing characters
  • Slicing buffers
  • Copying buffers

Working with Files

  • The fs module
  • Understanding difference between asynchronous and synchronuos file operations
  • Getting file meta-data
  • Manipulating file paths
  • Opening and closing a file
  • Reading from a file
  • Writing to a file

EventEmitter

  • How the event-emitter pattern prevents the boomerang effect
  • Event types
  • Creating event-emitters
  • Registering call-backs
  • Emitting events

Understanding Streams

  • Streams and event-emitters
  • Readable streams
  • Writable streams
  • Ending streams
  • Pausing and resuming streams
  • Draining streams
  • NodeJS stream pipes
  • Copying streams
  • Line-oriented text processing
  • Module readline

Using NPM

  • What is NPM
  • Installing packages
  • Configuration
  • Understanding package.json
  • Dependencies vs. dev-dependencies
  • Searching for NPM libraries
  • Useful NPM commands
  • NPM scripts
  • Using NPM as a build tool

HTTP Client

  • Understanding HTTP
  • Creating an outgoing TCP connection
  • Making an outgoing HTTP request
  • Using the request module
  • Sending a JSON payload

HTTP Server

  • A simple HTTP server
  • Piping data
  • Serving static (asset) files
  • Using connect middleware
  • Logging
  • Handling errors
  • Parsing query strings
  • Parsing request bodies
  • Receiving JSON payload

Using Express

  • What is Express.js
  • Routes
  • Build a REST WS server with express
  • Handling JSON payload

Using Socket.IO

  • What is web-sockets
  • Installing and configuring socket.io
  • Building a simple chat system using socket.io

The NodeJS Eco-System

  • GulpJS build tool
  • Bower UI library dependency manager
  • Testing runners and frameworks
  • RxJS
  • NodeJS in embedded systems
SnabbFakta
Namn
NodeJS
Längd
2 dagar
Nivå
Advanced
Målgrupp
Programmerare som snabbt vill lära sig NodeJS
Förkunskaper
God erfarenhet av att programmera i JavaScript
Teknisk miljö
  • NodeJS, NPM
  • En text editor (såsom MS Visual Code) eller IDE (såsom WebStorm)
  • En modern webbläsare såsom Google Chrome eller Firefox
Dela
Relaterade Kurser
KursLängdNivå
JavaScript3 dagar Beginner
TypeScript2 dagarIntermediate
GulpJS for Web Apps2 dagarIntermediate
Schemalagd Kurs

Pris

15 000 kr + moms

Vi ger 20% rabatt för tillkommande deltagare från samma företag vid samma kurstillfälle. Läs mer om vår samma-företags-rabatt.

Aktuella KursDatum
StartdatumPlats
2017-12-04Stockholm City
2017-12-18Stockholm City
Företagsintern Kurs

Om du beställer en företagsintern kurs kommer vi till er och håller kursen i era lokaler. Priset bestäms av vår prismodell och baseras på antalet kursdagar, antalet deltagare, samt i förekommande fall resa och logi.

Prisexempel för NN deltagare

PPP + moms

Antal
Område

Läs mer om vår prismodell och beställningsvillkor.