Onderzoek
Breng mogelijke oorzaken in kaart
De opdracht: Onderzoeken waarom de bestanden van Roos-Marie zijn verdwenen: minstens drie oorzaken, met per oorzaak wat er gebeurt, waarom het kon gebeuren en hoe het voorkomen had kunnen worden.
Uitwerking: Ik beschrijf drie oorzaken: Dropbox die het verwijderen van een map heeft gesynchroniseerd, bestanden die in de terminal met rm zijn gewist en een beschadigd bestandssysteem doordat de laptop niet netjes is afgesloten.
Engels
Explain It Simply
De opdracht: Voor Roos-Marie, die geen computerexpert is, in eenvoudig Engels (150 tot 200 woorden) drie onderwerpen uitleggen zonder moeilijke woorden.
Uitwerking: Ik leg uit wat een back-up, cloudopslag en versleuteling (encryption) zijn, elk met een voorbeeld uit het dagelijks leven.
IT
Linux 101
De opdracht: De basis van Linux leren: systeeminformatie opvragen (kernel, uptime, geheugen, schijfruimte en processen) en werken met mappen, gebruikers en rechten.
Uitwerking: Ik installeerde Linux Mint in VirtualBox, werkte het systeem bij met apt en zocht met hardinfo en top de kernelversie, uptime, het vrije geheugen en de processen op. Daarna maakte ik met één mkdir-commando drie mappen aan en een nieuwe gebruiker met toegang tot één map.
Ontwerp
MoSCoW
De opdracht: Alle wensen voor het back-upsysteem indelen in Must have, Should have, Could have en Won't have.
Uitwerking: We zetten de wensen op volgorde van belangrijkheid. Must have zijn onder andere een lokaal prototype op een Raspberry Pi, een automatische back-up met Python, beperkte toegangsrechten en een duidelijke melding als er iets misgaat.
Ontwerp
Ontwerpen
De opdracht: Een eerste concept van het back-upsysteem bedenken: wat het doet, hoe het werkt en hoe je het uitlegt aan iemand zonder technische kennis.
Uitwerking: Na een brainstorm tekenden we het systeem. Elk halfuur en na het opstarten kijkt de Raspberry Pi of de USB-stick erin zit, kopieert hij nieuwe en veranderde bestanden en schrijft hij het resultaat in een logboek. Daarna legden we het uit in gewone taal, alsof we het aan onze oma vertellen.
IT
Raspberry Pi / Linux
De opdracht: Het back-upscript installeren op een Raspberry Pi, zodat het zelfstandig bestanden uit een gekozen map naar een veilige plek kopieert.
Uitwerking: We zetten Raspberry Pi OS op de Pi, werkten hem bij, maakten een testmap met voorbeeldbestanden en kozen een USB-stick als plek voor de back-up. Daarna zetten we het script met scp op de Pi en stelden we de rechten in.
Software development
Script
De opdracht: Een Python-script schrijven dat regelmatig een kopie maakt van belangrijke bestanden in een aparte back-upmap en vanzelf start als de Raspberry Pi aangaat.
Uitwerking: Eerst vergeleken we manieren om bestanden te kopiëren in Python. Ons script backup.py kopieert alleen nieuwe en veranderde bestanden naar de USB-stick en bewaart oude versies in een aparte map. Met cron draait het elke 30 minuten en één keer na het opstarten.
Testen
Test je oplossing
De opdracht: Testen of het script doet wat het moet doen, goed omgaat met fouten, begrijpelijk is voor de gebruiker en veilig is.
Uitwerking: We schreven negen testgevallen uit, bijvoorbeeld wat er gebeurt als de USB-stick eruit is en of tijdelijke bestanden worden overgeslagen. Een deel daarvan draait automatisch met test_backup.py.
Expo
Expo website
De opdracht: Een website maken waarmee je de resultaten van de challenge presenteert, met HTML en CSS in je eigen stijl.
Uitwerking: Dat is deze site: alle opdrachten van periode 1 per challenge en per week, met uitleg en downloads.