Kunskapsbanken

Artiklar, guider, tips och trix tillsammans med exempelprogram inom webbprogrammering och webbutveckling. Inläggen är listade i den ordning som de senast uppdaterats.

Meddelanden i React Native

I denna övning tar vi en titt på hur vi kan lägga till meddelanden i våra appar. Både för när saker går som de ska och när saker blir fel.

Read more »

Category: javascript.

Installera virtualiseringsmiljön Docker

Docker kommer utgöra grunden för kursens labbmiljö. Vi kommer få en unixmiljö där vi kan exekvera alla uppgifter och program samt träna på terminalkommandon. Vi lutar oss mot Dockers egna dokumentation för installationsanvisningar, https://docs.docker.com/. Fortsätt läsa för att se hur du går vidare.

#Hämta installationsprogrammet

Webbplatsen för Docker innehåller en del där du kan ladda hem och installera Docker. Det finns en Community Edition (CE) versioner för Windows, Mac och Linux. Kör igenom installationen enligt anvisningarna.

Docker är en virtualiseringsmiljö så den kräver att din datorn är kapabel att köra vissa virtualiseringstekniker.

Du behöver bekanta dig med dokumentationen för Docker. Det är din vägledare för att komma igång med Docker.

Tips vid installation

Nu har du förhoppningsvis installerat Docker CE. Det kan såklart krångla med installationen så här samlar vi lite tips och trix når något går snett. Om du inte väljer att installera Docker för Linux kan det vara bra att tänka på följande.

#Verifiera installationen

Nu är Docker (förhoppningsvis) installerat. Det är lika bra att dubbelkolla…

$ docker --version
Docker version 20.10.13, build a224086
$ which docker
/usr/bin/docker

Bra då vet vi var vi har det installerat och att kommandot docker fungerar. Vi kör vår första container:

$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Vad som hände ovan är att Docker letar lokalt efter en image hello-world med taggen latest. Om den inte hittar den lokalt laddas den ned från Docker Hub och containern startas. Just den här containern är inte så spännande men nu vet vi att det fungerar!

#Avslutningsvis

Nu har du förhoppningsvis en fungerande Dockerinstallation.

#Revision history

  • 2022-04-11: (B, lew) Uppdatering för Windows och ht22.
  • 2019-03-08: (A, lew) Första utgåvan.

Document source.

Read more »

Category: labbmiljo.

Installera verktyget jq för att söka i JSON-filer

När vi jobbar med JSON data kan filerna snabbt bli stora och svåra att överskåda och hitta informationen i. Med hjälp av ett verktyg som jq kan vi söka och visa informationen i en JSON fil.

Ett verktyg som jq kan vara bra för den webbprogrammerare som skall jobba med JSON. Artikeln visar hur du installerar och kommer igång med verktyget.

Read more »

Category: webbprogrammering.

Lagrade procedurer i databas

Ibland räcker det inte till med enbart SQL utan man behöver någon form av ytterligare programmeringsmässig hantering av informationen. För att ta ett exempel, säg att man vill flytta pengar från ett konto till ett annat, men bara om det finns tillräckligt mycket pengar på kontot.

Man kan naturligtvis koda detta i godtyckligt externt programmeringsspråk. Men kan det finnas en möjlighet att koda sådant direkt i databasen?

Här kommer lagrade procedurer kommer till vår hjälp.

Read more »

Category: databas, sql, kurs databas.

Komponenter och struktur i React

Vi ska i denna övning titta på hur vi kan använda komponenter för att bygga ut vår applikation. I slutet av övningen tittar vi på strukturen för vår app och specifikt hur vi kan förbättra kommunikationen med Lager-API:t.

Vi tar även en titt på TypeScript och hur vi kan använde det för att skapa en typad app.

Read more »

Category: javascript.

Routing och navigation i React

Vi ska i denna övning titta på ett sätt att skapa flera olika vyer så vår app kan göra mer än att vara en lagerförteckning.

Read more »

Category: javascript.

Introduktion till Lager-API:t

Vi ska i denna övning bekanta oss med Lager-API:t. Vi installerar först Postman som är ett utmärkt verktyg för att testa och använda API:er utan att behöva använda oss av en klient.

Read more »

Category: javascript.

Transaktioner i databas

En transaktion i en databas omsluter flera händelser och gör dem atomära – antingen utförs samtliga händelser, eller ingen.

För att ta ett exempel där man vill flytta pengar från en ägare till en annan och informationen om detta finns i en databas. Först plockar man bort pengen från den ena och sedan lägger man till pengen till den andre. Flytten som består av två SQL-satser måste utföras i sin helhet, eller inte alls. Här kommer en transaktion till hjälp. Transaktionen kan garantera att båda SQL-satserna utförs i sin helhet, eller ingen alls.

Read more »

Category: databas, sql, kurs dbjs, kurs oophp, kurs databas.

Kokbok för databasmodellering

eller Entity-relationship-modellering (ER-modellering)

Detta dokument handlar om modellering av databaser. Vi delar in modelleringen i tre olika faser med olika syften att fylla. Vi skapar sedan en enkel process i 10-steg som steg för steg hjälper oss att modellera små som stora databaser.

Read more »

Category: artikel.

Mer om enhetstester

Vi går några steg längre med våra enhetstester. Hur ska vi tänka när vi testar metoder som innehåller if-satser och loopar? Hur hanterar vi beroenden till annan kod?

Read more »

Category: oopython.