Kurshandbok för

Skriptprogrammering

Studietips från Pär

Att lära sig programmera tex html, css, javascript C#, python är som att lära sig spela ett instrument – det handlar mindre om att memorera fakta och mer om att bygga upp ett ”muskelminne” i fingrarna och hjärnan. För att verkligen bemästra hantverket behöver du kombinera teori med att faktiskt göra, varje dag. Här är min metod för att du ska lyckas:

  • Gör det till en daglig vana: Sätt av 2–4 timmar varje dag hemma eller i skolan. Varva läsning i kurslitteratur och kolla inspelningar, med att faktiskt skriva kod då skapar du en naturlig rytm där hjärnan får bearbeta informationen från flera olika håll.
  • Härma för att förstå: Börja med att skriva av kodexempel ur kursboken, inspelningar, från nätet. Det kan kännas enkelt, men det är ett kraftfullt sätt att låta ögonen och händerna lära sig språkets mönster. Innan du vet ordet av kommer syntaxen att sitta i ryggmärgen.
  • Experimentera och lek: När du har skrivit av kod – våga ändra! Testa att byta ut en html tagg, en css styling, förändra en variabel eller ändra en loop och se vad som händer. Det är i de små misstagen och felsökningarna som den verkliga förståelsen föds. Det är här du går från att kopiera till att förstå.
  • Bygg något eget från dag ett: Låt all ny kunskap landa direkt i ett eget projekt – kanske ett system för en pizzeria, en bilfirma, en förening eller en frisör. Genom att använda det du precis lärt dig och applicera det på ditt egna projekt, förvandlar du abstrakt teori till ett hantverk du faktiskt äger.
  • "Rubber Ducking": När du felsöker och ändrar i din kod – försök att förklara högt för dig själv (eller en badanka på skrivbordet) varför du tror att koden gör som den gör. Att sätta ord på kodlogiken och vad den gör, del för del, är det sista steget för att verkligen befästa kunskapen.

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