Ga naar hoofdinhoud

Niveaus vergelijken: Fullstack (FastAPI)

Per concept zie je hier of het op elk niveau basis, gevorderd of expert is. Een verschil met het niveau ervoor heeft een rand. Een streepje: dat concept hoort niet bij dat niveau. Terug naar het overzicht van de leerdoelen.

ConceptNiveau 1Niveau 2Niveau 3
FastAPI
virtual environment en FastAPI package installerenLeer het in: InstallatieBasisBasishoort niet bij dit niveau
FastAPI applicatie startenLeer het in: Je eerste endpointBasisBasishoort niet bij dit niveau
je kunt de ontwikkelaarstools gebruiken om te kijken wat de browser doetLeer het in: Kijken wat de browser doetBasisBasishoort niet bij dit niveau
FileResponse als responstypeLeer het in: HTML in bestandenBasisBasishoort niet bij dit niveau
HTMLResponse als responstypeLeer het in: HTML tonenBasisBasishoort niet bij dit niveau
meerdere GET-routesLeer het in: Je eerste endpointBasisBasishoort niet bij dit niveau
CSS importeren van los bestandLeer het in: CSS in een eigen bestand (static files)BasisBasishoort niet bij dit niveau
afbeelding importeren van los bestandLeer het in: Afbeeldingen tonenBasisBasishoort niet bij dit niveau
links tussen pagina's via endpointLeer het in: Links tussen pagina'sBasisBasishoort niet bij dit niveau
Jinja2 template met variabelenLeer het in: Templates met Jinja2GevorderdBasis (anders dan Niveau 1)hoort niet bij dit niveau
data opslaan met sqlitedictLeer het in: Gegevens opslaan met SqliteDictBasisBasishoort niet bij dit niveau
data uitlezen met sqlitedictLeer het in: Gegevens opslaan met SqliteDictBasisBasishoort niet bij dit niveau
formulier data opslaan via sqlitedictLeer het in: Een formulier opslaanGevorderdBasis (anders dan Niveau 1)hoort niet bij dit niveau
een geneste dictionary in sqlitedictLeer het in: Een dictionary als waardeExpertGevorderd (anders dan Niveau 1)hoort niet bij dit niveau
Een dictionary aanpassen: ophalen, aanpassen, terugzettenLeer het in: Een dictionary aanpassen: ophalen, aanpassen, terugzettenExpertBasis (anders dan Niveau 1)hoort niet bij dit niveau
Doorsturen na opslaan (redirect)Leer het in: Doorsturen na opslaan (redirect)GevorderdBasis (anders dan Niveau 1)hoort niet bij dit niveau
if else in python of jinja2 templateLeer het in: Nog niets? if en else in je templateGevorderdGevorderdhoort niet bij dit niveau
Registreren: een account opslaanLeer het in: Registreren: een account opslaanGevorderdBasis (anders dan Niveau 1)hoort niet bij dit niveau
gebruiker laten inloggenJe formulier heeft een wachtwoordveld, zodat iemand met naam en wachtwoord inlogt.Leer het in: Inloggen: een wachtwoord controlerenGevorderdGevorderdhoort niet bij dit niveau
Inloggen: een wachtwoord controlerenDe server vergelijkt het wachtwoord met dat van het account en stuurt bij een fout een 401.Leer het in: Inloggen: een wachtwoord controlerenExpertGevorderd (anders dan Niveau 1)hoort niet bij dit niveau
path parametersLeer het in: Eén route voor veel pagina's: path-parametersExpertGevorderd (anders dan Niveau 1)hoort niet bij dit niveau
htmxLeer het in: Zonder herladen met htmxExpertGevorderd (anders dan Niveau 1)hoort niet bij dit niveau
CookiesLeer het in: Onthouden met een cookieExpertGevorderd (anders dan Niveau 1)hoort niet bij dit niveau
SessiesLeer het in: Onthouden op de server: sessiesExpertGevorderd (anders dan Niveau 1)hoort niet bij dit niveau
Linux
door mappen lopen en bestanden lezen (cd, ls, cat)Leer het in: door mappen lopen en bestanden lezen (cd, ls, cat) (cursus Linux)hoort niet bij dit niveauhoort niet bij dit niveauBasis
bestanden maken, kopiëren, verplaatsen en weggooienLeer het in: bestanden maken, kopiëren, verplaatsen en weggooien (cursus Linux)hoort niet bij dit niveauhoort niet bij dit niveauBasis
rechten lezen met ls -l: eigenaar, groep en rwxLeer het in: rechten lezen met ls -l: eigenaar, groep en rwx (cursus Linux)hoort niet bij dit niveauhoort niet bij dit niveauBasis
programma's installeren met sudo aptLeer het in: programma's installeren met sudo apt (cursus Linux)hoort niet bij dit niveauhoort niet bij dit niveauBasis
een bestand bewerken met nanoLeer het in: een bestand bewerken met nano (cursus Linux)hoort niet bij dit niveauhoort niet bij dit niveauBasis
inloggen op een andere computer met ssh en een sleutelpaarLeer het in: inloggen op een andere computer met ssh en een sleutelpaar (cursus Linux)hoort niet bij dit niveauhoort niet bij dit niveauBasis
zoeken met grep en de pipeLeer het in: zoeken met grep en de pipe (cursus Linux)hoort niet bij dit niveauhoort niet bij dit niveauGevorderd
processen en diensten bekijken, starten en stoppen (ps, systemctl)Leer het in: processen en diensten bekijken, starten en stoppen (ps, systemctl) (cursus Linux)hoort niet bij dit niveauhoort niet bij dit niveauGevorderd
rechten en groepen aanpassen (chmod, usermod)Leer het in: rechten en groepen aanpassen (chmod, usermod) (cursus Linux)hoort niet bij dit niveauhoort niet bij dit niveauGevorderd
bestanden kopiëren met scp en een tunnel met sshLeer het in: bestanden kopiëren met scp en een tunnel met ssh (cursus Linux)hoort niet bij dit niveauhoort niet bij dit niveauGevorderd
Veiligheid
de handleiding op /docs uitzettenLeer het in: Wat je server laat zien: de handleiding uitzettenhoort niet bij dit niveauhoort niet bij dit niveauBasis
een .gitignore, zodat databases en geheimen niet in je repository komenLeer het in: Wat je server laat zien: een .gitignore en een nette ziphoort niet bij dit niveauhoort niet bij dit niveauBasis
invoer controleren met grenzen in FormLeer het in: Invoer controleren: grenzen in Formhoort niet bij dit niveauhoort niet bij dit niveauBasis
HTML van een bezoeker blijft tekst (templates escapen, geen |safe)Leer het in: HTML van een bezoeker: templates escapen vanzelfhoort niet bij dit niveauhoort niet bij dit niveauBasis
op de server controleren wie iets mag, met 403Leer het in: Wie mag wat: de controle met 403hoort niet bij dit niveauhoort niet bij dit niveauBasis
een limiet op verzoeken met slowapiLeer het in: Te veel verzoeken: een limiet met slowapihoort niet bij dit niveauhoort niet bij dit niveauBasis
cookies afschermen met httponly en samesiteLeer het in: Cookies afschermen: httponlyhoort niet bij dit niveauhoort niet bij dit niveauGevorderd
wachtwoorden als hash opslaan met Argon2Leer het in: Wachtwoorden: registreren met Argon2hoort niet bij dit niveauhoort niet bij dit niveauBasis
inlogpogingen beperkenLeer het in: Wachtwoorden: inlogpogingen beperkenhoort niet bij dit niveauhoort niet bij dit niveauGevorderd
Online zetten
de packages van je project in requirements.txtLeer het in: Online zetten: de lijst van je packageshoort niet bij dit niveauhoort niet bij dit niveauBasis
een README in je repositoryLeer het in: Online zetten: een READMEhoort niet bij dit niveauhoort niet bij dit niveauBasis
je project in Ubuntu ophalen en draaien (git clone, venv, fastapi run)Leer het in: Online zetten: je site draait in Linuxhoort niet bij dit niveauhoort niet bij dit niveauBasis
je site in een image met een DockerfileLeer het in: Online zetten: je site in een imagehoort niet bij dit niveauhoort niet bij dit niveauGevorderd
alles in één compose.yaml, met een volume voor je databasesLeer het in: Online zetten: alles in één bestandhoort niet bij dit niveauhoort niet bij dit niveauGevorderd
een server met een eigen gebruiker, waarop je alleen met een sleutel inlogtLeer het in: Online zetten: alleen met een sleutelhoort niet bij dit niveauhoort niet bij dit niveauGevorderd
de server dichtzetten: firewall en automatische updatesLeer het in: Online zetten: de firewallhoort niet bij dit niveauhoort niet bij dit niveauExpert
je site op je domein met HTTPS via TraefikLeer het in: Online zetten: je domein met HTTPShoort niet bij dit niveauhoort niet bij dit niveauExpert
een back-up maken en terugzettenLeer het in: Online zetten: een back-uphoort niet bij dit niveauhoort niet bij dit niveauExpert
een nieuwe versie uitrollenLeer het in: Online zetten: een nieuwe versie uitrollenhoort niet bij dit niveauhoort niet bij dit niveauExpert