Vandaag heb ik de vragen op de vragenlijst opnieuw beantwoord.

Per vraag, geef ik het antwoord, het aantal punten en een stuk code waarin ik laat zien wat ik (goed) kan of nog niet begrijp.

Betekenis van het aantal punten:

🫣 0 pnt Ik ben hier nog niet aan toe gekomen

🫣 1 pnt Ik heb hiermee geëxperimenteerd, maar ik weet nog niet goed wat dit is

šŸ¤“ 2 pnt Ik begrijp dit, maar ik kan het nog niet (helemaal) zelfstandig toepassen

šŸ— 3 pnt I got this

De vragen

1. Ik kan uitleggen wat NodeJS is en waarvoor het gebruikt wordt

NodeJS is een tool waarmee JavaScript buiten een browser uitgevoerd kan worden. Je kan dan JS gebruiken voor command line tools (Terminal) en server side code schrijven. Punten: 2


2. Ik weet wat het doel van package.json is en heb hier aanpassingen in gemaakt

In package.json staan alle node packages waar het project mee werkt. Deze worden allemaal geinstalleerd met npm install Ik heb zelf een package geinstalleerd door deze in de dependicies te plaatsen. Alleen heb ik deze uiteindelijk niet nodig gehad. Hieronder een link naar de code waar ik dit gedaan heb:

Punten: 3


3. Ik heb met npm packages geĆÆnstalleerd en gebruikt in het bestand server.js

Ik heb Express en Liquid geinstalleerd nadat ik de boilerplate heb geforket. Hierna heb ik express gebruikt om onder andere mijn routes te maken. Hieronder een voorbeeld in code:

Punten: 3


4. Ik kan met commando’s in de terminal een NodeJS project stoppen en starten

Ik kan met npm start een NodeJS project starten en met CTRL + C een NodeJS project stoppen.

Ik kan ook door de volgende regel aan te passen het startcommando aanpassen:

Punten: 3


5. Ik weet waarom ik mijn NodeJS project regelmatig moet herstarten en kan dit uitleggen

Je moet je NodeJS regelmatig herstarten omdat je wijzigingen maakt in server.js, een bestand wat enkel gelezen wordt bij het starten van de server.

Punten: 3


6. Ik heb een strategie voor debuggen in NodeJS

Debuggen in NodeJS doe ik met server logs (console.log())

Zie mijn code hieronder:

Punten: 3


7. Ik kan uitleggen wat Express.js doet en waarom het nodig is om met NodeJS een website te bouwen

Express.js is een framework waarmee je servers-side applicaties kan bouwen met Routes.

Punten: 2


8. Ik weet wat routes zijn en kan zelf een nieuwe route aanmaken

Routes zorgen ervoor dat URL's opgevangen vorden en hier templates/pagina's aan gekoppeld kunnen worden.

Je hebt meerdere soort routes, bijvoorbeeld POST en GET.

Hieronder een stuk code waarin ik dit laat zien:

Punten: 3


9. Ik weet wat request en response argumenten zijn in een functie voor het laden van data

Request: kan je gebruiken om het get/post verzoek aan te spreken om parameters te gebruiken, of bijvoorbeeld formdata te gebruiken in het verwerken van de code.

Response: kan je gebruiken om iets te doen nadat de request is afgerond. Bijvoorbeeld een render of een redirect

Punten: 3


10. Ik heb gebruik gemaakt van een request parameter om specifieke data te laden

Dit heb ik gedaan. In de code hieronder gebruik ik de ID van de gelikete DJ om de POST request specifiek te maken

Punten: 3


11. Ik kan uitleggen wat Liquid doet en waarom het nodig is om met Express.js een website te maken

Liquid gebruikt data om dynamische HTML mogelijk te maken. Express speelt hier een belangrijke rol om ervoor te zorgen dat deze data aan Liquid doorgegeven wordt.

Punten: 3


12. Ik weet hoe ik data naar Liquid verstuur om dit te gebruiken bij het renderen van een pagina

Dit doe je in de render functie van express:

Punten: 3


13. Ik weet hoe ik Liquid filters toe kan passen en waar ik kan vinden hoe die werken

Met Liquid filters kan je aanpassen hoe je de waardes van de variabl;es aanpast voordat ze getoond worden. Deze informatie hierover is te vinden op bijvoorbeeld:

Gedurende deze sprint heb ik dit niet nodig gehad.

Hier is wat code uit de vorige sprint (die ook in dit project staat):

In dit stuk code zet ik de datum om in enkel het jaar met %Y. Dit is Syntax van Ruby.

Punten: 3


14. Ik heb een nieuwe route gemaakt en nieuwe data meegegeven aan een Liquid view

Dit heb ik hier gedaan:

Punten: 3


15. Ik weet waar een foreach loop voor gebruikt wordt en pas het toe in een Liquid view om HTML te renderen

Een foreach loop wordt gebruikt om door een array (in dit geval data) te loopen en voor elke instantie van de array iets uit te voeren.

Hieronder een voorbeeld van een loop in mijn code:

Punten: 3


16. Ik kan in Liquid een controle maken waarmee een image niet getoond wordt als deze niet in de database is ingevuld

Ik denk dat ik wel weet hoe dit moet, met een default filter. Ik heb het zelf nog niet in mijn code gebruikt, dus mijn code zal nu wel een beetje buggen als een DJ geen afbeelding heeft.

Punten: 0


17. Ik heb een strategie voor debuggen in Liquid

In liquid kan je debuggen met | json om de JSON data te tonen zodat je kan kijken waar het misgaat in je code. Uiteraard staat deze code nu niet in mijn project, maar heb nog een voorbeeld uit de workshop van vorige sprint:

Punten: 3


18. Ik kan data fetchen uit een REST API

Ik heb dit zeker gedaan.

Hieronder een stuk code uit deze sprint:

Punten: 3


19. Ik snap het verschil tussen HTTP requests van de methodes GET en POST

Met een GET-request kan je data ophalen en met een POST-request data uploaden.

Hieronder een voorbeeld van een POST HTTP-Request:

Hieronder een voorbeeld van een GET HTTP-Request:

Punten: 3


20. Ik kan data uit een REST API filteren of sorteren

Ik heb dit nog niet zelf gedaan, heb code hiervoor laten genereren:

Ik snap wel overigens wat er gtebeurd. In deze code wordt een record alleen doorgevoerd als een user_id nog niet aan de beurt is geweest, hierdoor voorkom je dat er dubbele users in de data zitten die doorgegeven wordt aan liquid.

Punten: 2


21. Ik snap wat het async keyword doet in JavaScript code

Met een async function kan je wachten op een functie met await. Dit gebruik ik in dit project om de data pas te verwerken als deze volledig is ingeladen.

Ik heb dit zelfstandig gedaan, maar ik vond het nog wel lastig om dit te begrijpen. Daarom geef ik mezelf alsnog 2 punten

Punten: 2


22. Ik weet wat het doel is van een try/catch block en kan het gebruiken bij het parsen van JSON

Punten: 0


23. Ik begrijp het verschil tussen client-side JavaScript en server-side JavaScript en wanneer ik welke het handigst in kan zetten

Server side Javascript gebruik je voor code die eenmalig nodig is bij het starten van de server, of bij het laden van een route.

Client-side Javascript gebruik je bij acties die vaker uitgevoerd worden (Bijvoorbeeld een eventListener)

Punten: 3


24. Ik kan formulier data die is ge-POST opslaan in een variabele op de server en gebruiken bij het renderen van een pagina

Ik denk dat ik begrijp wat hier bedoelt wordt.

Ik heb code in een bepaalde key gezet in de JSON:

Hier filter ik weer op bij mijn GET voor de likes:

Punten: 3?


25. Ik kan formulier data die is ge-POST door middel van een POST of PATCH HTTP request opslaan in de REST API

Dit doe ik hier:

Punten 3


Totaal aantal punten: 66/75 punten. Omgerekend naar een cijfer is dit een 8,9.