1/22
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
wat is node.js
framework dat je toelaat om js buiten de browser te gebruike
de runtime uit de browser van chrome gehaald en deze beschikbaar gesteld buiten de browser
js uitvoeren op de commandolijn: een server die http aanvragen kan afhandelen en antw kan genereren
npm

dynamische webpg: 2 soorten + hoe | geef een voorbeeld

http server: routing: teken (code?)

node.js architectuur
in js schrijven en uitvoeren door de v8 engine
engine maakt gebruik van kernel en os om de js te verwerken en gebeurt in de libuv
→ event loop: alles dat kan uitgevoerd worden komt in event queue en worden dan 1 voor 1 uitgevoerd

verschil tussen node.js en trad webserver
traditionele:
voor elke aanvraag een thread starten
opstarten kost veel tijd
werken met thread pool
vooraf gedefineerd aantal threads staan klaar om verzoeken te verwerken
wanneer alles ingebruik: uitbreiden of in wachtrijzetten
node.js
1 thread ~ event loop: veel requests in wachtrij
blokkerende taken (bv io) worden callbacks of promises
calback korte uitvoerings tijd
async methodes
→ grote app met db en veel clients : traditioneel
→ uit servernodes inlezen of IOT zaken : nodeJS
middleware

express.js

express
idk
wat zijn websockets
verbinding opzetten tussen client en server en zo communiceren: via poorten van http protocol
websocket protocol: bepaald de structuur van de berichten die worden uitgewisseld en welke uitgewisseld worden
websocket api: een api om websockets te gebruiken


Protocol

api

vroeger vs nu
vroeger: Polling
bij polling altijd de tijd van een heen en weer trip voor je de volgende vraag kan sturen
nu: websockets
veel sneller antwoord, je moet niet telkens wachten om een nieuwe vraag te stellen

2 manieren om data te verwerken

observer push - pull (2 kenmerken)

principe reactive programming

Reactive streams


Reactor (2 soorten’

flux: stroom van 0 - n items die asycn worden gepubliceerd
mono: publisher publiceert 0 of 1 item
synchroon vs async (client / server)

sync: wacht op antwoord voor nieuwe request
async: meerdere requests zonder te wachten op antwoord
voordelen: sneller + minder recources
nadelen: complexer
spring mvc / spring webflux

spring mvc: sync webservice | blocking
onderlinge threadpool → dispatches → request mapping → controller → service
spring webflux: async webservice | non - blocking
server met onderlinge eventloop → afhandelen binnen eventloop → dispatches → functionele endpoints
2 mogelijkheden voor webflux
Annotatie-gebaseerde aanpak

functionele rou

