Kmom06: Klient och server

By . Latest revision .

Nu har vi en Linux-server, en webbserver, vi kan grunderna i att bygga skript i bash, vi kan bygga servrar med Node.js och kan bygga klienter som kommunicerar med webbtjänster via RESTful API:er. Visst låter det som en hel del?

Låt oss nu ta ytterligare ett steg in i klient och serverprogrammering med Node.js. Vi skall koda i Node.js, både på klient och serversidan. Tanken är att vi får en känsla för hur vi kan dela upp koden och en övning i klient och server med RESTful API.

Du kommer göra ett kommandoradsprogram i Node.js med argument och options samt en mainloop och kommandotolk. Det kan se ut så här.

Sedan skall du jobba med klienter och servrar i form av Gomoku, luffarshack.

När du är klar har du fått en orientering i hur klienter och servrar kan struktureras med JavaScript i Node.js. Dessutom får du nog en hel del kod som du kan återanvända i senare projekt.

(Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Momentet omfattar cirka 20 studietimmar inklusive läsning, arbete med övningar och uppgifter, felsökning, problemlösning, redovisning och eftertanke. Läs igenom hela kursmomentet innan du börjar jobba. Om möjligt – planera och prioritera var du vill lägga tiden.)

#Läsanvisningar

(ca: 0 studietimmar)

#Kurslitteratur

Det finns ingen läsanvisning.

#Artiklar

Det finns inga artiklar.

#Video

Titta på följande:

  1. Till kursen finns en videoserie, “linux”, kika på de videor som börjar på 6.

  2. I labbarna node1 - node3 skrapar vi ytan på funktionell programmering. Titta gärna på denna spellista av MPJ som är programmerare på Spotify.

#Lästips

  1. Följ gärna med i forumtråden Functional Programming där funktionell programmering diskuteras i allmänhet.

#Övningar & Uppgifter

(ca: 8-18 studietimmar)

#Övningar

Genomför följande övningar.

  1. Läs igenom övningen “Gör en kommandoradsklient i Node.js”.

  2. Läs igenom övningen “Spela luffarschack med klient och server i Node.js”.

#Uppgifter

Dessa uppgifter skall utföras och redovisas.

  1. Gör uppgiften “Skapa klienter och servrar som spelar luffarschack i Node.js”.

#Extra

  1. Förbered din kod för Gomocup.

#Resultat & Redovisning

(ca: 1-2 studietimmar)

Läs instruktionen om hur du skall redovisa.

Se till att följande frågor besvaras i redovisningstexten.

  • Hur väl har du fått ordning på begreppen kring klient och server?
  • Hur känns det att utveckla i Node.js och den asynkrona programmeringsmodellen?
  • Gick det bra med dina CLI-program i Node.js, några reflektioner kring dem?
  • Gjorde du något extra i uppgiften, eller förändrade grundkoden i Gomoku-spelet?
  • Känner du dig sugen, och redo, på att skriva en deltagare till Gomocup?

#Revision history

  • 2017-02-09: (B, efo) Tog bort labben.
  • 2015-09-11: (A, mos) Första utgåvan för kursen.

Document source.