[S11L1] REST, Express Flashcards

1
Q

Warum gibt es Node.js?

A
  • JavaScript Server Side
  • Ermöglicht es Server Programm zu schreiben wie mit C++, Java, Python etc
  • Ermöglicht es Backend Web Server zu bauen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Gab es schon immer JavaScript Server Side?

A
  • Nein, früher lief es nur im Browser

- Erst 2009 wurde JavaScript außerhalb des Browsers ermöglicht

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Mit welchen Mittel sendet ein Node.js backend Daten an ein Front End?

A

-Mittels JSON (JavaScript Object Notation)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was sind die Vorteile von Node.js?

A
  • JavaScript auf dem Server und gleiche Sprache im Full Stack
  • Single Threaded (Weniger Komplexität mit Threads)
  • Asynchronous, kann den ganzen CPU voll nutzen
  • NPM libraries bietet größte Package Library überhaupt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was sind die Nachteile von Node.js?

A
  • Es verleitet einen immer Node.js für Backend zu wählen, obwohl andere Sprachen eine bessere Wahl wären
  • Nur Single Threaded, kann nicht MultiThread Server voll ausnutzen
  • Asynchronous: Schwerer zu lernen für Entwickler die nur Synchronous Operations kennen
  • NPM Registry: Zu viele Packages die das gleiche machen. Qual der Wahl und Vulnerabilities leichter eingebaut
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wie startet man Node?

A

-node

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist der Unterschied zwischen Window Console und Console?

A
  • Im Browser sind alle Functionen unter window verfügbar

- In der Console alle unter console

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Kann man auch ohne Express einen Server mit Node.js schreiben?

A

Ja, es wird nur sehr selten getan
-Man benutzt Node.js HTTP Module um Netzwerk Operationen weg zu abstrahieren
-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was macht npm i ?

A

Installiert alle Dependencies aus Package.JSON

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist NPM?

A

Das offizielle Pckage Mangager von Node, wird mit Node.js ausgeliefert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist ein Server?

A

-Ein Computer, der auf Traffic lauscht und dann eine Antwort darauf gibt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wie importiert man das HTTP Module in plain Node.js und schreibt einen basic server?

A

const http = require(‘http’);

const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader("Content", 'text/plain')
res.end('Hello World, from NodeJS')
}

server.listen(port, hostname, () => {
console.log(‘server listening on http://${hostname}:${port});
});

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie nennt man req und res als Argumente für eine HTTP function?

A

-Homies

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie führt man Dateien mit Node aus?

A

node dataname.js

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was ist Express?

A
  • Express ist ein JavaScript Framework, welches auf NodeJS Web Server sitzt
  • Ist die React nur für das Backend
  • Baut auf das Raw HTTP von NodeJS auf
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist nodemon?

A
  • Ein kleiner Server der genutzt wird unsere Applikation in einer Development Umgebung zu nutzen.
  • Nodemon aktualisiert den Server bei jeder Änderung automatisch
17
Q

Was ist ein Module?

A
  • Ein ES2015 Module wird über import express from ‘exrpess’ installiert
  • Doch Node.js unterstützt ES2015 Modules nicht, daher muss es über common js system

-const express = require(‘express’)

18
Q

Was ist ein Module?

A
  • Ein ES2015 Module wird über import express from ‘exrpess’ installiert
  • Doch Node.js unterstützt ES2015 Modules nicht, daher muss es über CommonJS Modules
  • const express = require(‘express’)
  • Die beiden Importarten sind Äquivalent, Node kann aber nur das letzte
19
Q

Was bedeutet eine Cannot GET / Response für einen Server?

A

-Es wurde ein GET HTTP Request gestellt an / (main route) und dafür kennt der Server keine Antwort

20
Q

Wie sind die Homies aufgebaut?

A

server. get(‘/’, (req, res)
- Der erste req ist die Response vom Client zu unserem Server
- Das Zweite res ist die Antwort

21
Q

Was sind die Vorteile von Express?

A

-Sehr leichtgewichtig, nicht opionated, macht Web Server sehr trivial

22
Q

Wofür kann man Express nutzen?

A
  • Single Page Applications bedienen( SPA)
  • RESTful Web Applications bauen die mit JSON arbeiten
  • Statische Seiten Content wie HTML dateien, Bilder, Files und PDFs liefern
  • Real-Time Apps mit Technologien wie Web Sockets und WebRTC bedienen
23
Q

Was ist HTTP status?

A

-Response HTTP Status
-Ein Agreement über semantischen Code zwischen Client und Server
HTTP status ranges in a nutshell:
1xx: hold on
2xx: here you go
3xx: go away
4xx: you fucked up
5xx: I fucked up

24
Q

Was ist das Core/Haupt Feature von Express?

A

-==Middleware==
-Functions die Request und Response erhalten und darauf Operationen ausführen können
-Nach den Operationen kann zu neuer Middleware order die Response zurück zum Client gegeben werden
-Express Middleware Stack ist ein Array aus Functions
-==Routing==
-Macht es leicht übersichtlich welche Request Handler Function ausgeführt wird, abhängig von der URL und er genutzten HTTP Methode
-Applications können in Routers aufgeteilt werden. Ein einzelner Route kann unsere SPA und unsere API bedienen.
-Jeder Route kann seine Middleware und sein Routing haben
==Convenience Helpers==
-Erweitert Funktionen für Request und Response
-response.redirect(), response.status, response.send, request.ip
==Views==
-Rendered HTML dynamisch auf dem Server und generiert es auch in anderen Sprachen

25
Was sind übliche Middleware Functions?
- Requests Loggen | - Security durch Authentication
26
Wie kann man Dateien aus einem Request für den Server lesen?
-Aus dem Body der Request (req.body) | -
27
Was macht Middleware?
Erweitert die Funktionalitäten z.B. von Express
28
Muss Middleware immer den Request oder eine Response verändern?
-Nein, tut es aber meistens
29
Was ist in req.params enthalten?
-Alle Infos aus der URL, z.B. eine ID für dynamische URLs
30
Was bedeutet der Status Code 204?
- No Content, es wurde kein Content zurückgeschickt | - Meistens sendet man ein res.end() mit um zu sagen, dass die Verbindung beendet ist und es in Ordnung war
31
Wie funktioniert req.params?
server.delete('/hubs/:id', (req, res) => { const { id } = req.params; Der Server nimmt was auch immer der Request mitgeliefert hat und stellt es under id bereit, weil es in unserer Route so definiert ist :id
32
Was ist eine API?
- Application Programming Interface - API ist Server Software, welche eine Zahl an Endpoints bereitstellt - Clients können APIs nutzen um ihre Resources zu managen
33
Was ist ein Endpoint?
-Für Web APIs sind Endpoints URLs, welche zu der Location einer Resource auf einem Server zeigt
34
Was ist eine URL?
URL (Uniform Resource Locator), ist eine Adresse, welche zu einer Location einer Resource auf einem Server zeigt
35
Was ist eine Resource?
- Dinge die unsere Application interessiert - Nouns in Application Domain - Zum Beispiel: Users, Products, Orders, Clients, Returns
36
Was ist Postman?
- Ein Client um APIs zu testen - Ähnlich wie CURL, aber mit einer guten GUI - Postman gibt volle Kontrolle über das Testen von APIs