Kurshandbok för

Skriptprogrammering

Studietips från Pär

Min pedagogiska grundidé bygger på att lära sig programmering är som ett hantverk som kräver en kombination av teoretisk input och praktisk muskelminne. För att bygga en solid grund rekommenderar jag följande metodik: Avsätt 2–4 timmar dagligen. Varva läsning i kurslitteraturen med att se de inspelade föreläsningarna för att få olika perspektiv på samma koncept. Börja med att 'skriva av' befintliga kodexempel. Det kan låta enkelt, men det tränar ögat att se detaljer och syntax som man annars missar. Gör små, kontrollerade förändringar i koden och testkör direkt. Vad händer om du ändrar en loop eller en variabeltyp? Det är i felsökningen den verkliga förståelsen föds. Skapa ett eget 'projekt' som följer dig genom kursen. Det kan vara ett system för en bilfirma, ett register för en idrottsförening eller en personlig boklista. Genom att applicera det du lärt dig på en 'verkligt' projekt får du en praktisk kompetens.

Veckoplanering


Vecka 7

Kursmaterial

Här lär du dig att göra ditt första REST API med Python och Flask.
Fö1 - Skapa konto på pythonanywhere.com Skapa konto för att kunna koda och köra en webbapp gjord i python med Flask mikroramverk
Fö2 - Vad är REST? Grund genomgång av REST
Fö3 - REST alla personer namn och epost Via url:en och GET får du en jsonarray med alla personers namn och epost från json fil.
Fö4 - REST söka på namn Via url:en och GET får du en jsonarray med matchande namn och epost. Kan få en eller fler matchande namn.
Fö5 - REST posta data Via url:en och POST kunna posta data till rest api:et.
Fö6 -REST posta jsondata Via Postman och POST kunna posta 'raw' jsondata
Fö7 - REST ta bort Via url:en och DELETE kunna ta bort baserat på epost
Fö8- REST uppdatera Via url:en och DELETE skickar json data för att uppdatera baserat på epost då den är unik.
Fö10 - REST som blueprint GET Struktur för ditt REST API:s blueprint, names. HTTP-verbet GET och dess anrop för att hämta alla personers namn och e-post, samt en GET för att hämta e-post och namn för vissa personer, till exempel alla som heter John. Visar också hur du använder Postman, som du måste ladda ner till din dator.
Fö11 - REST som blueprint POST Visar hur man gör POST funktionalitet för att spara ner namn och epost till json fil.
Fö12- REST som blueprint DELETE Visar hur man gör DELETE funktionalitet för att ta bort person baserat på epost, den är unik för varje person.
Fö13- REST som blueprint PUT Visar hur man gör PUT funktionalitet för att uppdatera en persons namn baserat på epost adressen som är unik.
Fö14 - REST använda api nycklar Visar hur man i Postman skapar headers for api nyckeln och dess värde. Hur man i vårt rest api läser av om en api-nyckeln är satt, vilket värde den har och om den är giltigt.
Youtube - Blueprints moduler Flask Blueprints för att göra din app modulär

Att göra

  • Skapa ett REST API: api/v1/bands som hanterar olika band som du tycker om. Använd HTTP-metoderna GET, POST, PUT och DELETE för att hämta, lägga till, uppdatera och ta bort band. Använd JSON-filer för att lagra datan. Test att alla http anrop funkar med Postman
  • Skapa ett REST API: api/v1/wines som hanterar olika viner du tycker om. Använd HTTP-metoderna GET POST PUT och DELETE för att hämta, lägga till, uppdatera och ta bort viner. Använd JSON filer. Test att alla http anrop funkar med Postman
  • Strukturera om ett av dessa två REST api:er till att använda blueprints istället.
  • Examination: Se kursrummet

Instuderingsfrågor

  • Vad är ett REST API och vilka är dess huvudsakliga komponenter?
  • Hur skiljer sig REST API:er från andra typer av API:er, som SOAP?
  • Vad är Flask och varför är det ett populärt val för att bygga REST API:er i Python?
  • Hur definierar man olika HTTP-metoder (GET, POST, PUT, DELETE) i Flask för att hantera olika typer av API-förfrågningar?
  • Vad är en Flask Blueprint och hur kan den användas för att strukturera ett större REST API-projekt?
  • Hur kan man testa ett REST API byggt med Flask för att säkerställa att det fungerar korrekt?
Vecka 8

Kursmaterial

Här lär du dig att göra att jobba med webscrapping för att hämta ut data från webbsidor. Vidare behandlas reguljära uttryckt (regular expressions) som är ett sätt att matcha mönster i strängar. Det används ofta i textbearbetnings- och dataanalysuppgifter för att söka efter och extrahera specifik information från en större text.
Fö1 - Webscrapping Webscrapping från imdb.com. Hämta ut data från viss tagg, samt hämta ut data från viss tagg som har en viss CSS klass.
Fö2 - Finna tagg som har viss CSS klass Leta efter en h3 tag som har en viss CSS klass för att hämta ut datat ur den taggen.
Fö3 - Let tagg med visst attribut Leta efter div tagg som har ett title attribut för att hämta ut title attributets data.
Fö4 - Let tagg med visst attribut forts. Leta efter tagg med visst attribute för att hämta ut annat attributs värde i ur den taggen.
Fö6 - Hitta siffror eller ord Hitta alla siffor i en textsträng, eller hitta alla ord i en textsträng.
Fö7 - Validera mobilnummer och delar av epost Kolla format och validera mobilnummer och delar av epost.
Fö9 - Läsa logg fil Läsa IIS logg fil för att finna skadlig JS kod.
Fö10 - Hämta data mellan taggar Reguljärt uttryck för att hämta ut allt data mellan div taggar.
Fö11 - Läs ut delar img tagg Reguljärt uttryck för att finna bild fil, namn och dess typ ur en img tagg.
Fö12 - Div taggs attribut och värden. Reguljärt uttryck för att hämta ut div taggs attribut och värden.
Fö13 - Alla li taggar Reguljärt uttryck för att hämta ut alla li taggar hur många är de och dess innehåll
Fö 14 - Webscrapping och reguljärt uttryck Webscrapping och reguljärt uttryck för att finna json data i en JavaScript array som ligger i en script tagg i en html fil.

Att göra

  • Kursboken: Deitel under 'Exercises' för kap 8:13-8:20 väljer du först en uppgift som känns enkel att göra, därefter en som verkar rolig, för att avsluta med en som känns utmanande.
  • Examination: Se kursrummet

Instuderingsfrågor

  • Question 3
  • Question 4

Pär Eriksson

Lärarepei@du.se

Ulrika Arthursson Wissa

Lärareuaw@du.se
PROGRAM IT-säkerhet och mjukvarutestning – kandidatprogram
SYFTE Kursen behandlar utveckling av skriptprogram i olika slags skriptspråk i varierade IT-miljöer, exempelvis för att automatisera administrativt it-systemarbete, arbetsflöden och processer. Studenterna får praktiskt tillämpa en integrerad utvecklingsmiljö (IDE) för testning, felsökning och dokumentation för att uppnå god kodkvalitet. Även datatyper, reguljära uttryck, funktioner samt användning av moduler och olika slags Application Programming Interface (API:er) behandlas.
KURSPLAN Gå till kursplan hos DU