Grundkurs i Node.js
Kurs om hur du utvecklar applikationer i Node.js
Node.js har på mindre än ett decennium 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ändning av JS/JSON i databasen i form av Firestore med flera.
I den här kursen får du lära dig grunderna i Node.js, såsom streams och event-emitter, samt praktisk tillämpning av detta och bekantskap med några av de vanligaste ramverken.
Snabbfakta
Namn
Grundkurs i Node.js
Ämne
JavaScriptURI
javascript/nodejs
Längd
3 dagar
Nivå
IntermediateMålgrupp
JavaScript programmerare
Förkunskaper
God erfarenhet av att programmera i JavaScriptProgramvara & Verktyg
Relaterade Kurser
Här ser du vilka kursdatum som är tillgängliga. Klicka på en av datumknapparna för att anmäla dig till ett kurstillfälle. På kursen pratar läraren svenska, medan vårt kursmaterial alltid är författat på engelska.
Missa inte vår samfaktureringsrabatt! Är ni fler personer från samma företag/organisation som går på samma kurs, rabatteras tillkommande personer med 50%
. Ni anmäler er till kursen en och en, men uppger samma företag, så ordnar vi resten. Samtliga deltagare från samma företag ingår på samma faktura, den första till fullt pris och resterande till rabatterat pris.
Du sitter bekvämt i ett av våra klassrum, vilka finns centralt placerade i Stockholms innerstad.
I priset ingår tryckt kursmaterial (och som PDF), samt kaffe/te med smörgås på förmiddagen och kaffe/te med bulle på eftermiddagen. Pris: 20 000 kr + moms
Du sitter bekvämt framför datorn och deltar i kursen via internet. Vi använder programvaran Zoom för alla våra fjärrkurser. I priset ingår kursmaterial som PDF. Pris:
15 000 kr + moms
Om ni är tre eller fler personer från samma företag eller organisation, kan ni beställa en företagsanpassad kurs. Då håller vi kursen på ett datum som passar er. Antingen på plats i era lokaler eller som en fjärrkurs. Vi kan också hålla den muntliga framställningen på engelska. Klicka på knappen nedan för att be om en offert.
Kursdatum
Kurs i Klassrum
Kurs via Zoom
Kurs hos Er
Här är ett sammandrag i punktform av vad du får lära dig på kursen. Eftersom kursmaterialet är författat på engelska, så återger vi sammandraget också på engelska.Detta får du lära dig
Eftersom kursmaterialet är författat på engelska, så återger vi innehållet också på engelska.Kursinnehå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 a 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 synchronous 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