Kmom03: JavaScript server

By . Latest revision .

Vi vill nu ha kodning på serversidan och där har vi valt Node.js och JavaScript. JavaScript på serversidan använder en intressant programmeringmodell med asynkron och eventbaserad hantering. På samma sätt som det fungerar i webbläsaren. Node.js erbjuder också ett flertal API när vi vill jobba med operativsystemets delar som filer och processer.

Så, vi behöver starta med att installera Node.js på servern och komma igång med hur Node.js fungerar. Vi kör på med några övningar och sedan ser vi hur man byggger upp en enkel webbserver, eller webbtjänst, med Node.js. Vi närmar oss ett gränsland där webbservern blir till en webbtjänst. Det blir tydligt i hur vi använder Node.js för att skapa kod som både hanterar webbservern som sådan och lägger till tjänster som utförs av JavaScript-funktioner.

När vi fått ordning på Node.js och en enkel server så börjar vi koppla upp oss mot databasen. Vi fortsätter med SQLite ett tag till.

(Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Momentet omfattar cirka 40 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: 4-10 studietimmar)

#Kurslitteratur

Läs följande:

  1. Databasteknik
    • Kap 20: SQL inuti ett program
  1. Exploring ES6. Läs inledande kapitlet för att få en grov känsla av ES6 kontra ES5.
    • Ch 1: About ECMAScript 6 (ES6)
    • Ch 2: FAQ: ECMAScript 6

#Artiklar

Det finns inga artiklar.

#Video

Det finns inga videoförslag.

#Lästips

Kika på följande lästips om du finner dem intressanta.

  1. Titta översiktligt på de nya konstruktionerna i JavaScript ECMA6.

#Övningar & Uppgifter

(ca: 24-30 studietimmar)

Labbmiljö

Installera labbmiljön för nodejs delen av kursen.

  1. Installera nodejs och npm

#Övningar

Genomför följande övningar.

  1. Jobba igenom guiden “Bygg en RESTful server med Node.js”. Du kan spara dina testprogram i me/kmom03/nodetest.

  2. Jobba igenom artikeln “Spara serverns processid i en fil”.

  3. Jobba igenom artikeln “Skicka environment variabler till Node.js”.

  4. Jobba igenom artikeln “SQLite och Node.js”. Spara dina exempelprogram i me/kmom03/sqlite.

#Uppgifter

Dessa uppgifter skall utföras och redovisas.

  1. Gör laborationen “Introduktion till nodejs (node1)” för att öva på grunderna i nodejs. Spara koden i me/kmom03/node1.

  2. Gör uppgiften “Skapa en RESTful HTTP-server med Node.js (server)”. Spara koden i me/kmom03/server.

  3. Gör uppgiften “Bygg en faktureringsmotor för båtklubben (invoice)”. Spara koden i me/kmom03/invoice.

  4. Gör laborationen “SQL lab, fortsättning med SQL (sql2)” som låter dig fortsätta träna på SQL med SQLite. Spara koden i me/kmom03/sql2.

#Extra

Gör följande extrauppgifter om du har tid och lust.

  1. Jobba igenom guiden “Kom igång med tmux och terminalen” för att lära dig hur du jobbar mer effektivt i terminalen med tmux.

#Resultat & Redovisning

(ca: 1-2 studietimmar)

Läs instruktionen om hur du skall redovisa.

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

  • Är detta den första bekantskap med JavaScript på serversidan och Node.js?
  • Hur känns det att koda JavaScript på serversidan med Node.js?
  • Gick det bra att koppla ihop Node med SQLite?
  • Fanns det något som var extra utmanande eller någon större svårighet i detta kursmomentet?

#Revision history

  • 2017-02-14: (A, mos) Första utgåvan.

Document source.