[S10] Prepare REST, Node, Express, Mongo Flashcards

1
Q

Wie erstellt man ein Node.js Projekt?

A

-npm i

und dann die ganzen Fragen weg Entern

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

Wie installiert man die Packages Express und Mongoose?

A

npm i express mongoose

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

Was macht das Package Express?

A

-Erleichert das Bauen web application erheblich gegenüber plain Node.js

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

Was macht das Package mongoose?

A

-Erlaubt sehr einfachen Zugriff auf MongoDB Datenbanken

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

Wie installiert man dotenv und nodemon für

A

npm i –save-dev dotenv nodemon

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

Was bewirken die Argumente npm i –save-dev für npm?

A

-Packages werde nur in development mode installiert und nicht in Produktion

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

Was bringt das Package dotenv?

A

.env Dateien als Umgebungsvariablen in die Applikation laden

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

Was bringt das Package nodemon?

A

-Erlaubt es den Server bei jedem Chance zu refreshen ohne das per Hand zu tun

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

Wie kann man eigene Skripte in der package.json durch npm laufen lassen?

A

npm run devStart

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

Wie kann man mit der Console MongoDB bedienen?

A

C:\Program Files\MongoDB\Server\4.0\bin

mongo.exe öffnen

show databases
zeigt die bestehenden Datenbanken

use newDB
erzeugt neue Datenbank

db.item.inser({name: “sascha})
erzeugt einen eintrag in die DB und liefert das WriteResult zurück

db.items.find()
liefert alle items der Datenbank

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

Was ist JSON?

A
  • JavaScript Object Notation

- Gängiges Datenrepräsentationsformat neben XML und YAML

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

Wo wird JSON oft genutzt?

A

-JSON wird für die Datenübertragung bei APIs und Configurations genutzt

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

Was sind die Vorteile von JSON?

A
  • Sehr leichtgewichtig/Wenig Overhead
  • Kleine Dateigrößen
  • Einfach zu lesen/schreiben
  • Wird fast überall genutzt, jede Sprache nutzt es
  • Ist ein Superset von JavaScript und damit voll kompatibel
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Welche Datentypen unterstützt JSON?

A
  • Strings “Hello World”
  • Numbers 10 1.5 1.2e10
  • Booleans true false
  • Null null
  • Arrays [1,2,3]
  • Object {“keys”:”value”} {“age”:30}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Manchmal erhält man von APIs JSON nicht als Object, sondern als String. Was kann man hier tun?

A

JSON.parse(api.response)

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

Was macht JSON.parse?

A

Nimmt einen String und wandelt diesen in ein JSON Object, sofern er korrekt aufgebaut ist

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

Was ist das wichtigste, was bei JavaScript zu beachten ist?

A

-ALLE OBJECTS IN DOPPELQUOTES EINBETTEN!
{ “name”:”Sascha”}
-Ansonsten ist es nicht korrekter JSON Code!

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

Was ist Git?

A

-Ein Versionskontrollsystem

19
Q

Was tut Git?

A
  • Tracked alle Changes von Dateien
  • Tauscht Versionen der Changes einfach aus
  • Macht Changes rückgängig
  • Perfekt zum gemeinsamen arbeiten
20
Q

Was ist Github?

A
  • NICHT GIT
  • Eine online Cloud Plattform auf denen Remote Repositories gehosted werden können damit andere Developer auf diese Zugriff haben
21
Q

Wie initialisiert man ein Git Projekt?

A

git init (fügt .git zum Ordner hinzu)

git clone (falls bereits initialisiert)

22
Q

Was ist das Working Directory in Git?

A
  • Alle Dateien im Lokalen Repository(Ordner) im aktuellen Zustand
  • Keine Dateien werden dabei getracked
  • Damit Dateien getracked werden müssen diese zum Index hinzugefügt werden /gestaged werden
23
Q

Was ist Indexing/Staging in Git?

A
  • Der Index/Staging enthält alle getracked Dateien
  • Alle Changed wurden mit git add hinzugefügt
  • Damit sind die Dateien immer noch nicht in der offiziellen Version des Codes, aber man kann zwischen den Changes wechseln
  • Erst mit git commit werden Changes zur finalen Version hinzugefügt
24
Q

Was ist der HEAD in Git?

A
  • Der Head enthält alle bereits durch Index/Staging getrackten Daten, welche einem Commit zugeordnet worden sind
  • Dateien werden durch git commit -m “xxx” zu Commit Versionen hinzugefügt
25
Q

Was ist der Unterschied zwischen Local Repository und Remote Repository?

A
  • Nachdem Dateien durch git commit versioniert worden sind, sind diese aber immer noch auf dem lokalem Repository und nicht auf dem Remote wie Github
  • Daher müssen diese Versionen noch mit git push origin branchname zum Remote Repository gepusht werden
26
Q

Was macht git pull?

A

-Git wird alle Changes from Remote Repository auf das Lokale Repository pullen

27
Q

Was sind Branches?

A
  • Branches sind eine Kopie des Codes von einem gewissen Zeitpunkt aus
  • Man spaltet den Code wie in Zweige und so können verschiedene Teams verschiedene Features einbauen
  • Und danach wieder in den Master Branch integrieren
28
Q

Wie erstellt man eine neuen Feature branch und wechselt sofortig in diesen?

A

git checkout -b “feature-branch-awesome”

29
Q

Was ist REST?

A
  • REpresentation State Transfer
  • Bedeutet das der Server auf CRUD Operationena in der standdardweise antwortet
  • URLs sollen API/Access Points für Ressourcen auf dem Server sein
30
Q

Wo wird REST heute genutzt?

A

Fast jede Website nutzt REST

31
Q

Welche HTTP Actions benutzt REST?

A
  • GET
  • POST
  • PUT
  • DELETE
  • PATCH
32
Q

Wie kann eine REST URL aufgebaut sein?

A

http: //example.com/user
http: //example.com/user/1

Alle betreffend oder spezifisch auf ein Object

33
Q

Was macht die HTTP Action GET?

A
  • GET wird genutzt um alle Objekte/Ressource zu erhalten

- Wirkt sich auf die gesamte Ressource aus (/users)

34
Q

Was macht die HTTP Action POST?

A
  • POST wird genutzt um ein neues Objekt zu erschaffen

- Wirkt sich auf die gesamte Ressource aus (/users)

35
Q

Was macht die HTTP Action PUT?

A
  • PUT wird genutzt um ein bestehendes Objekt zu updaten

- Wirkt sich auf eine einzelne Ressource aus (/users/1)

36
Q

Was macht die HTTP Action DELETE?

A
  • DELETE wird genutzt um ein bestehendes Objekt zu löschen

- Wirkt sich auf eine einzelne Ressource aus (/users/1)

37
Q

Was sind Promises?

A

-Ein Promis ist ein Versprechen, welche entweder erfüllt oder rejected und damit fehlschlagen kann

38
Q

Wie erstellt man ein JavaScript Promise?

A
let p = new Promise((resolve, reject) => {
   let a = 1 + 1 //1+2 rejects
   If (a == 2) {
   resolve('Success')
   } else {
   reject('Failed')
   }
})
// then läuft wenn ein Promise resolved
p.then((message) => {
console.log("This is then ', message)
}).catch((message) => {
console.log('This is catched ', message)
})
39
Q

Was ist async und await?

A

-Syntaktischer Zucker um Promises gewrapped

-

40
Q

wie benutzt man async und await?

A
async function doWork() {
//Code wartet bis makeRequest fertig ist
const response = await makeRequest('Google')
}

doWork()

41
Q

Was sind die Vorteile von async und await?

A

-Code ist sehr viel cleaner und schlanker

42
Q

Was sind die Nachteile von async und await?

A
  • Code der async ist muss in try und catch gewrapped werden!

- await keyword muss for jedem async function call genutzt werden

43
Q

Was ist Firebase Firestore?

A
  • Eine documentoriented NoSQL database by Google

- Ist eine Collection von Dokumenten

44
Q

Wie kann man in FireStore eine Applikation in Collections aufteilen?

A
-Projects Collection
title
content
firstname
lastName
authorID
timestamp

-Users Collection
info about app users

Nofications Collection
-info about notifications