-
Notifications
You must be signed in to change notification settings - Fork 0
Journal
[
{
"date": "2021-10-25",
"title": "Start up",
"content": "it was fine, typical start up of a course in my opinion, we did some introductions and the way this 'seminar' is built up. We did some introductions within the support groups and had a bit of a chat up. Course wise I primarily did the setup for the subjects and started creating some functions for the data cleaning.",
"rating": 7
},
{
"date": "2021-10-26",
"title": "nvt",
"content": "Kiara uitgelegd hoe het zit met require paden en vervolgens een poging gedaan om verder te werken aan de functional programming patterns om de dataset op te schonen. Vandaag had ik moeite met het bedenken van logica omdat ik eigenlijk ieder object wil opschonen. Ik denk dat ik wellicht de theorie over de functional programming paradigm opnieuw moet doorlezen en een refresh course moet volgen.",
"rating": 7
}
]
Vandaag waren we gaan onderzoeken hoe we de principes die we vorige week hebben geleerd te gebruiken bij een derde partij API. Bij het zoeken van de API had ik wel moeite met bedenken, de reden hiervoor was omdat we moeten kijken naar een API die kwantificeerbare informatie bevat om te visualiseren met D3.
Uiteindelijk ben ik op een API gekomen van the movie database die zich bezig houdt met informatie van films en series. Hier bedacht ik mij toen, ik kan de relatie tussen budget en score relativeren als dat een positieve of negatieve response zal creeeren.
Daarnaast bedacht ik ook dat ik op productie firma kan kwantificeren, welke firma maakt de best beoordeelde kaskrakers of juist de slechtste.
Vervolgens heb ik anderen geholpen met het probleem van node-fetch, dit is omdat node-fetch met import wilt werken en een nieuwere update van Node waardoor je node engine ook foutmeldingen geeft. IPV je package.json aan te passen om modules toe te laten kan je ook simpelweg de package cross-fetch gebruiken.
js npm i cross-fetch
const fetch = require('cross-fetch')
fetch(URL)
.then(response => response.json())
.then(data => console.log(data))
// Expected outcome is an object of data
Later die dag heb ik een workshop gevolgd van Deanna Bosschert over het schrijven van documentatie, readme, en dergelijke. dit was waardevol in de zin van dat het helpt om te schrijven van wat je wilt in plaats van dat je achteraf schrijft. Hier had ik notities over geschreven in notion, eigenlijk een beetje meeschrijven.
Thuis ben ik nog verder aan de slag gegaan op een groot scherm, zo heb ik de utility functies opgesplitst in een eigen module en deze geimporteerd zodat de index.js opgeschoond is.
//72 regels code naar 8 regels code.
// index.js
const utilities = require('./modules/util')
//util.js
exports.getSpecificDataValue = getSpecificDataValue;
//... andere functies
Vervolgens heb ik nog gekeken naar linters en formatters. Zodat ik een specifieke stijl code heb en ervoor zorg dat ik minder errors en fouten maak tijdens het schrijven van code. De top 5 meest bekende linters zijn;
- eslint Pluggable linter die configurable is naar jouw wensen (of die van een bedrijf)
- prettier opinionated code formatter, formateert jouw codebase voor een consistente stijl.
- standard Standard een style guide, linter en formatter in één. heeft een eigen mening zonder dat je keuzes hoeft te maken.
- XO JS/TS linter (ESLint wrapper) met een eigen opinie. Geeft de gebruiker nog wel de keuze om het zelf te configureren.
- jshint Flexible JS linter alternative for JSLint (stricter)
Na het lezen van de documentatie en de keuze te hebben gemaakt dat ik zelf geen configuratie wil maken voor JS, kies ik voor Standard JS linting.
$ npm install standard --save-dev
# To use standard locally
$ npx standard
# Otherwise
$ standard
# After creating a script
$ npm run lint
Om het mijzelf hierna ook nog een stuk makkelijker te maken heb ik ook de VSCode plugin geinstalleerd. Alleen deze heb ik nog visueel niet werkend gekregen.