Hoppa till innehåll

Sammanfattning - "Stå-upp"-vlogg (2023)

Den här inspelningen är delad mellan de två kurserna: första delen handlar om 1DV025, andra delen — den som sammanfattas här — om 1DV026:s sjätte kursvecka.

Som fortsättning på förra veckans tema om webbsäkerhet har läsanvisningarna för kursvecka 5 fått tre poddrekommendationer. Bli säker är enkel och passar alla, även släktingar. Darknet Diaries bjuder på spännande berättelser från verkligheten, och är värd att lyssna på även om man bara väljer ut några avsnitt. Security Now är för den som vill följa allt som händer. Den är så aktuell att det inte lönar sig att lyssna ikapp, utan man hakar på och backar högst några avsnitt.

Kursvecka 1–5 har till stor del handlat om nätverk. Nu skiftar fokus till att skriva applikationer på serversidan. Veckans föreläsning finns framför allt till för att införa begreppen webbapplikation och webbtjänst och dra gränsen mellan dem. Den tar också upp skillnaden mellan klient och server, som alla som skriver webbapplikationer behöver vara bekväma med, och ger en första introduktion till REST, ett begrepp som kommer att återkomma i många sammanhang.

Föreläsningen handlar också om arkitektur. Med teknikstacken Node.js, Express och JavaScript, och så småningom en databas, behöver koden organiseras. Det finns många sätt att göra det, men här sätter kursen ner foten och visar ett sätt som den anser är bra.

Veckan är mer teoretisk. Det finns inga övningsuppgifter och inget att läsa utöver föreläsningen, så den som ligger efter kan passa på att komma ikapp. Ta ändå inte lätt på begreppen: vad en tjänst är och vad en applikation är ska sitta. Nästa vecka lägger ramen för hur webbapplikationerna i kursen skrivs och delas upp.

Den som inte har kommit igång med A2 bör göra det nu. Deadlines i kursen ligger klockan 17.00, inte 23.59. Kursen går på dagtid, alla har inte möjlighet att arbeta på kvällarna, och en deadline mitt på dagen är svårare att missa och ger tid att lösa problem som dyker upp i sista stund.

Inspelningen med lösningsförslaget till övningsuppgiften “The Promising Web Scraper” fungerar också som en introduktion till A2 och sparar tid.

Uppgiften går ut på att skriva ett program som, med en startsida som enda indata, skrapar information från flera webbplatser:

  1. Kalendrarna för tre vänner, för att hitta en dag då alla kan.
  2. Biografen, för att hitta filmer med lediga platser den dagen.
  3. Restaurangen, för att hitta ett ledigt bord före en av filmerna, med tid att äta innan bion börjar.

Programmet ska till slut föreslå när vännerna kan gå ut och äta och sedan gå på bio. Att även genomföra bokningen är en frivillig extrauppgift. Sidorna är medvetet varierade och stökiga, likt mycket HTML där ute, och en av dem är genererad med Word. Det finns också en andra skrapsajt med andra data att testa mot.

Nästan ingenting får hårdkodas. Ett vanligt fel är att anta att det alltid är samma filmer, men antalet och titlarna ändras från vecka till vecka, och tider på bio och restaurang ändras också. Inloggningsuppgifterna får däremot hårdkodas, och det är rimligt att anta att vännerna alltid vill gå ut fredag, lördag eller söndag. Fundera på vad som rimligen kan ändras och gör just det flexibelt.

Enligt kursledningen är A2 en uppgift studenter “älskar att hata”: den känns bökig i början, men ger mycket när den väl är klar. Programmet agerar webbläsare, och man får själv hantera det som servern skickar: när det görs GET och när det görs POST, vad en redirect är och så vidare.

CCBY