TDP013 Node.js, JSCoverage, Mocha. Marcus Bendtsen Institutionen för Datavetenskap

Storlek: px
Starta visningen från sidan:

Download "TDP013 Node.js, JSCoverage, Mocha. Marcus Bendtsen Institutionen för Datavetenskap"

Transkript

1 TDP013 Node.js, JSCoverage, Mocha Marcus Bendtsen Institutionen för Datavetenskap

2 Återblick - Progressive Enhancement

3 HTML, CSS, JavaScript - Klienten

4 Den statiska webben... Vi känner till HTML, CSS och JavaScript. Dokument som skickas till och tolkas av webbläsaren. Informationen är dock statisk, dessa dokument förändras aldrig. Vad innebär en dynamisk webb? Är det ett problem?

5 Klient 1 begär statiska dokument (html, css, js)" Klient 1 och Klient 2 känner inte till varandra." Klient 2 begär statiska dokument (html, css, js)"

6 Användare fyller i formulär." " Annons visas på hemsidan." " Vem skapar HTML, CSS och Javascript för annonssidan?

7 Söker på ordet bike, så listas bilder och text." " Hur skapades den här listan? Vem skrev HTML, CSS och Javascript?" " Hur visste de att jag skulle söka på bike?" " Finns det färdiga HTML sidor för alla tänkbara nyckelord?

8

9 Det saknas något... Det räcker alltså inte med att kunna HTML, CSS och Javascript för att uppnå det dynamiska som ofta visas på webbplatser idag." " Men webbläsaren förstår inget annat än HTML, CSS och Javascript."?

10 Vi behöver något som kan dynamiskt skapa innehåll som vi kan presentera för användaren

11 Statisk filserver Vi vill kunna skicka information till servern via HTTP som vi senare kan hämta igen och uppdatera vår sida med."?

12 En miljö för att köra JavaScript på servern, dvs man kan köra JavaScript utanför webbläsaren. Node.js Bygger vidare på V8 - Googles opensource JavaScript motor. Node.js är inte en HTTP server, men det är väldigt lätt att skriva en sådan i Node.js. JavaScript har en event-struktur med callbacks som används kraftigt i Node.js, därför kan det vara lite ovant i början för programmerare som inte arbetat så förut. Man hittar Node.js på GitHub

13 Med Node.js skapar vi en HTTP server med hjälp av JavaScript Node.js Denna server kan ta emot data skickat via HTTP GET och POST (och andra HTTP metoder), och skicka tillbaka data i t ex JSON format Förutom att ta emot och skicka tillbaka data så kan Node.js kommunicera med en databas Detta gör det möjligt att ha persistent data som vi kan skriva och hämta ifrån

14 Node.js Hello World! var http = require( http ); Require används för att använda funktioner från andra moduler (filer). Detta modulsystem tillhör Node.js och kan inte användas när man skriver JavaScript i Webbläsaren. http.createserver( function(request, response) { }).listen(8888); Vi använder http (den modul vi inkluderade) och anropar funktionen createserver. Som argument till funktionen skickar vi en callback funktion. Denna funktion kommer exekveras för varje HTTP request.

15 Node.js Hello World! var http = require( http ); http.createserver( function(request, response) { }).listen(8888); response.writehead(200, { Content-Type : text/plain }); response.write( Hello World ); response.end(); Returnera HTTP status 200 och Hello World för alla anrop till servern.

16 HTTP GET Såhär kan vi skicka parametrar till vår server för att testa att det fungerar som tänkt. Namnet på parametern är "name" och värdet är "marcus".

17 var http = require('http'); var url = require('url'); Node.js GET Parameters http.createserver(function(request,response) { var urlparts = url.parse(request.url, true); }).listen(8888); response.writehead(200, {'Content-Type':'text/plain'}); response.write('hello, ' + urlparts.query['name']); response.end();

18 Node.js GET Parameters var http = require('http'); var url = require('url'); http.createserver(function(request,response) { var urlparts = url.parse(request.url, true); }).listen(8888); response.writehead(200, {'Content-Type':'text/plain'}); response.write('hello, ' + urlparts.query['name']); response.end(); Anropa detta: Output: Hello, Marcus

19 Det klassiska sättet servern tar hand om requests att skapa en ny tråd för varje inkommande anrop, dessa trådar delar CPU tid. Ett problem med detta är att det tar tid att skapa trådar (och minne), och har man många små requests blir det krävande.

20 I Node.js har vi bara en tråd. Alla requests hamnar i en event-loop. Detta gör att vi slipper de restriktioner och overhead som det innebär med trådade servrar. Läs mer på node.js/about

21 Node.js Event-loop Node.js använder bara en tråd, alla requests kör i denna. Detta innebär att man måste tänka sig för på vissa punkter. Om Node.js väntade på varje rad kod att exekvera innan den fortsatte skulle detta innebära att alla som gjorde anrop till servern fick vänta. var data = module.longrunningprocess(); Om vi är oförsiktiga och använder kod som denna på fel ställe kan det resultera i att alla anrop får vänta väldigt länge på varandra.

22 Node.js Event-loop http.createserver( function(request, response) { var data = module.longrunningprocess(); }).listen(8888); Servern kan inte ens börja ta hand om inkommande requests tills den första är klar.

23 Node.js Asynchronous callback module.longrunningprocess(function(data) { //Do something }); Istället för att vänta på svar från en funktion som tar lång tid så skickar vi med en callback. När funktionen är klar exekveras vår callback. På så vis kan vi fortsätta hantera andra requests i väntan på longrunningprocess() Asynchronous callbacks är ett centralt begrepp i Node.js och används väldigt mycket

24 Node.js Vi har tittat på callbacks som en del av Node.js Innan vi tittar på ett större exempel ska vi titta på: Egna moduler Organisation av filer i projekt NPM (plugin system till Node.js) JSCoverage (code-coverage) Mocha (unit tests)

25 var http = require("http"); Node.js - Modules function start() { function onrequest(request, response) { console.log("request received."); response.writehead(200, {"Content-Type": "text/plain"}); response.write("hello World"); response.end(); Vi använde tidigare http } modulen, hur skapar vi egna? http.createserver(onrequest).listen(8888); console.log("server has started."); } exports.start = start; Spara koden i en fil som kallas server.js Lite annorlunda upplägg på server koden här

26 Node.js - Modules var server = require("./server"); server.start(); I en annan fil kan vi nu inkludera vår modul server

27 Node.js - Organisation & NPM Skapa en mapp för projektet (projektmappen) I projektmappen skapar man mapparna lib och test NPM är ett paket system som laddar ner moduler, lite som apt i Debian baserade Linux system När man använder NPM skall man stå i roten av projektet (dvs projektmappen) Första gången man använder NPM skapas mappen node_modules i projektmappen. 13

28 Mocha Code Coverage Installera JSCoverage (inte en NPM modul) finns på GitHub Stå i projektmappen och exekvera jscoverage lib lib-coverage då skapas mappen lib-coverage och placerar instrumented versioner av lib filerna i mappen lib-coverage. De testfall man skriver skall testa de "instrumenterade" versionerna av servern, dvs de som finns i lib-coverage 16

29 Mocha Testning av Node.js Stå i roten av projektet och exekvera npm install mocha npm install should npm install superagent Skriv testfall och placera de i mappen test Observera: Testverktyget Mocha tillåter många olika sätt att skriva testfall på, ta notis på hur källkoden från föreläsningen gör för att undvika friktion i arbetet../node_modules/.bin/mocha -R html-cov > coverage.html Öppna coverage.html för att se code-coverage 15

30 Node.js Live Demo /lib requesthandlers.js route.js server.js main.js /lib-coverage "instrumented" versioner /npm_modules Installerade moduler /test test.js Läs på 14

31 Laboration 2 Kom ihåg att en del av kravlistan är att installera Node.js, NPM, Mocha, JSCoverage och MongoDB. Men hjälp gärna varandra, detta räknas inte som fusk. Oftast måste man ladda ner källkoden för Node.js, NPM och JSCoverage och bygga själv. Kom ihåg att köra JScoverage varje gång ni ändrat er node.js kod innan ni kör Mocha 17

32

TDP013. Node.js, Mocha, Istanbul. Anders Fröberg Institutionen för Datavetenskap

TDP013. Node.js, Mocha, Istanbul. Anders Fröberg Institutionen för Datavetenskap TDP013 Node.js, Mocha, Istanbul Anders Fröberg Institutionen för Datavetenskap Load up your guns, and bring your friends This is the end the only end my Friend Äntligen stod prästen i predikstolen I ll

Läs mer

TDP013. JavaScript,Node.js, Mocha, Istanbul,Mongo. Anders Fröberg Institutionen för Datavetenskap

TDP013. JavaScript,Node.js, Mocha, Istanbul,Mongo. Anders Fröberg Institutionen för Datavetenskap TDP013 JavaScript,Node.js, Mocha, Istanbul,Mongo Anders Fröberg Institutionen för Datavetenskap Load up your guns, and bring your friends This is the end, My only Friend, the end Äntligen stod prästen

Läs mer

TDP013. Webbprogrammering och interaktivitet. AJAX, CORS & jquery. Marcus Bendtsen Institutionen för Datavetenskap (IDA)

TDP013. Webbprogrammering och interaktivitet. AJAX, CORS & jquery. Marcus Bendtsen Institutionen för Datavetenskap (IDA) TDP013 Webbprogrammering och interaktivitet AJAX, CORS & jquery Marcus Bendtsen Institutionen för Datavetenskap (IDA) Innan AJAX Ett synkront webb 1. Användaren klickar länk, formulär, bild etc 2. Anrop

Läs mer

Föreläsning 4 Serverskript PHP Validering av data med serverskript Formulär

Föreläsning 4 Serverskript PHP Validering av data med serverskript Formulär TDDD52 PHP Föreläsning 4 Serverskript PHP Validering av data med serverskript Formulär Återblick HTML Seman@k Uppdelning Länka dokument CSS Layout och styling Användarvänlighet Javascript Validering Animering

Läs mer

Webbservrar, severskript & webbproduktion

Webbservrar, severskript & webbproduktion Webbprogrammering Webbservrar, severskript & webbproduktion 1 Vad är en webbserver En webbserver är en tjänst som lyssnar på port 80. Den hanterar tillgång till filer och kataloger genom att kommunicera

Läs mer

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion Webbteknik En kort introduktion Innehåll Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender 1 Historisk återblick 89 CERN Tim Berners Lee Ett plattformsoberoende sätt att sprida

Läs mer

E13 "Behind the Wild"

E13 Behind the Wild E13 "Behind the Wild" Föreläsning 13, HT2014 Det vi missat och lite till Kurs: 1dv403 Webbteknik I Johan Leitet E13 Behind the Wild Dagens agenda Cookies Web storage Context/ändra context Augmentation

Läs mer

E12 "Evil is going on"

E12 Evil is going on E12 "Evil is going on" Föreläsning 12, HT2014 AJAX Kurs: 1dv403 Webbteknik I Johan Leitet E12 Evil is going on Dagens agenda AJAX XMLHttpRequest-objektet JSON Vad är AJAX? Asynchronous JavaScript and XML

Läs mer

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors 1ME323 Webbteknik 3 Lektion 6 API Rune Körnefors Medieteknik 1 2019 Rune Körnefors rune.kornefors@lnu.se Agenda API (Application Programming Interface) Mashup Flickr API Google Maps API Labb 6 2 API (Application

Läs mer

F8 Webbteknologier 1. Dynamiska webbsidor

F8 Webbteknologier 1. Dynamiska webbsidor Dynamiska webbsidor F8 Webbteknologier 1 EDA095 Roger Henriksson Datavetenskap Lunds universitet HTML är statisk. En sida får sitt utseende bestämt när en webbdesigner skapar den. Ofta vill man ha mera

Läs mer

Ajax TruClient. Erfarenheter, tips och trix från Swedbank IT. Christian Gerdes Performance Engineer, LIGHTS IN LINE AB

Ajax TruClient. Erfarenheter, tips och trix från Swedbank IT. Christian Gerdes Performance Engineer, LIGHTS IN LINE AB Ajax TruClient Erfarenheter, tips och trix från Swedbank IT Christian Gerdes Performance Engineer, LIGHTS IN LINE AB Intro Lite om Swedbanks Teknik Test Varför TruClient En ny teknik kräver ett nytt tänk

Läs mer

TDP013. Innan AJAX Ett synkront webb. Med AJAX Ett Asynkront webb

TDP013. Innan AJAX Ett synkront webb. Med AJAX Ett Asynkront webb Tenta TDP013 Webbprogrammering och interaktivitet AJAX, CORS,jQuery, PaaS, Projektet Anders Fröberg Institutionen för Datavetenskap (IDA) Efter UKÄs utvärdering: För lite böcker för mycket URL:er För lite

Läs mer

TDP003 Projekt: Egna datormiljön

TDP003 Projekt: Egna datormiljön . TDP003 Projekt: Egna datormiljön Egen utvecklingsmiljö Kursmaterial till kursen TDP003 Höstterminen 2017 Version 2.2 2017-06-30 2017-06-30 Egen utvecklingsmiljö INNEHÅLL Innehåll 1 Revisionshistorik

Läs mer

On-line produktion TDDC61

On-line produktion TDDC61 On-line produktion TDDC61 Sök till Legionen! Förra gången MuddyCards PHP Lab 4. Agenda Webbtermer och annat som är bra att veta Bildoptimering Javascript jquery Portfolio Avstämning kurs. Webbsida Webbsida

Läs mer

Modern webbutveckling. av Robert Welin-Berger

Modern webbutveckling. av Robert Welin-Berger Modern webbutveckling av Robert Welin-Berger robertwb@kth.se Modern webbutveckling 1. Projektstorlek och Arkitektur 2. Callbacks 3. Event driven arkitektur 4. MEAN stack 5. ODM/ORM 1. Projektstorlek och

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, 1971. Internet började med ARPANET

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, 1971. Internet började med ARPANET Olika slags datornätverk Förberedelse inför laboration 4. Historik Protokoll, / Adressering, namnservrar WWW, HTML Föreläsning 5 Internet LAN Local Area Network student.lth.se (ganska stort LAN) MAN Metropolitan

Läs mer

Hybridappar. Utveckla mobilappar i HTML, Javascript och CSS

Hybridappar. Utveckla mobilappar i HTML, Javascript och CSS Hybridappar Utveckla mobilappar i HTML, Javascript och CSS Presenterat av Erik Tufvesson, Presis i Lund AB Kort om mig Erik Tufvesson Systemarkitekt och utvecklare på Presis! Brinner för utveckling av

Läs mer

JAVASCRIPT-POWERED LOADRUNNER CHRISTIAN GERDES PERFORMANCE ENGINEER LIGHTS IN LINE AB

JAVASCRIPT-POWERED LOADRUNNER CHRISTIAN GERDES PERFORMANCE ENGINEER LIGHTS IN LINE AB JAVASCRIPT-POWERED LOADRUNNER CHRISTIAN GERDES PERFORMANCE ENGINEER LIGHTS IN LINE AB PRESENTATIONSRUNDA VILKA ÄR VI? HUR JOBBAR NI MED LOADRUNNER IDAG? ANVÄNDER NI JAVASCRIPT/DFE/JSON? AGENDA LoadRunner

Läs mer

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal

Läs mer

PHP. Dynamiska webbsidor

PHP. Dynamiska webbsidor PHP Dynamiska webbsidor WEBBPROGRAMMERING PÅ SERVERSIDAN DB server web browser client client script HTTP Request (get, post) HTTP Response (HTML, CSS, JS) web server server script JS PHP file (txt, xml,

Läs mer

Webbprogrammering. Sahand Sadjadee

Webbprogrammering. Sahand Sadjadee Webbprogrammering Sahand Sadjadee Agenda Webb The World Wide Web (WWW) is a network of online content that is formatted in HTML and accessed via HTTP. The term refers to all the interlinked HTML pages

Läs mer

Avancerade Webbteknologier

Avancerade Webbteknologier Projektledning, Business Knowledge Användbarhet & Layout Avancerade Webbteknologier Lkti Lektion 1 Kommunikation Tobias Landén tobias.landen@chas.se Avancerade webbteknologier del 1 (4 KY poäng) Syfte

Läs mer

Modul 8 Hantering av indata

Modul 8 Hantering av indata Modul 8 Hantering av indata Indata De flesta webbplatser idag tillåter användare att mata in data Utan denna möjlighet hade inte webben varit vad den är idag Tyvärr innebär detta stora säkerhetsrisker

Läs mer

Elektronisk publicering TNMK30

Elektronisk publicering TNMK30 Elektronisk publicering TNMK30 Förra gången Usability & interaktionsdesign Projektintroduktion Bildbehandling. Byte av handledare Istället för Martin Johansson Annsofi Pettersson, annpe655@student.liu.se

Läs mer

Exemple på Tentauppgifter Webbprogrammering

Exemple på Tentauppgifter Webbprogrammering LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Exemple på Tentauppgifter Webbprogrammering 2019 02 28 version 2019-03-20 15:36:14+01:00 Tillåtna hjälpmedel: inga. Detta är ett exempel på

Läs mer

729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA)

729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA) 729G28 Webbprogrammering och databaser Introduktion till webbutveckling med PHP Jakob Pogulis Institutionen för Datavetenskap (IDA) 729G28 Webbprogrammering och databaser Introduktion till webbutveckling

Läs mer

PHP. TNMK30 - Elektronisk publicering

PHP. TNMK30 - Elektronisk publicering PHP TNMK30 - Elektronisk publicering HTML, index, W; W: http://www.student.itn.liu.se/~liuid### index.html 15php_test_server Dagens föreläsning Statisk webbsida -> HTML, CSS Interaktion -> JS (klientscript)

Läs mer

Skissa och gissa. Individuellt Mjukvaruutvecklingsprojekt, 1DV430. Christian Nilsson, cn222gc, WP

Skissa och gissa. Individuellt Mjukvaruutvecklingsprojekt, 1DV430. Christian Nilsson, cn222gc, WP Skissa och gissa Individuellt Mjukvaruutvecklingsprojekt, 1DV430 Christian Nilsson, cn222gc, WP2012 2013 06 07 1 Abstrakt Detta är min slutrapport för arbetet med att ta fram ett spel kallat Skissa och

Läs mer

Webbutveckling med AngularJS

Webbutveckling med AngularJS Webbutveckling med AngularJS Kommunikation och Användargränssnitt HT 2016 Per Lind Upplägg Laboration 1 - Skapa en SPA (single-page application) med AngularJS Laboration 2 - Responsiv design, mobile-first

Läs mer

Webbsidor och webbservrar

Webbsidor och webbservrar Webbsidor och webbservrar Server HTTP-protokollet Dokument (t.ex. HTML kod) Klient URL (t.ex. länk) Normal funktion hos webben: Användaren klickar på länk eller anger URL på annat sätt. Servern lokaliserar

Läs mer

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1. Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning

Läs mer

Laboration 4. Laboration 4, Formulärvalidering. Inledning. Observera. Mål. Genomförande

Laboration 4. Laboration 4, Formulärvalidering. Inledning. Observera. Mål. Genomförande Laboration 4 Laboration 4, Formulärvalidering Observera För att bli godkänd på laborationen ska din källkod följa den standard vad det gäller kommentering, val av variabelnamn m.m. som gåtts igenom på

Läs mer

WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet

WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet WP-Edit Robin Larsson Martin Davik 2014 Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet Handledare: Anders Jackson Examinator: Carina Pettersson WP-Edit av Robin Larsson Martin

Läs mer

Services + REST och OAuth

Services + REST och OAuth Services + REST och OAuth Syftet med Services Skapa ett Drupal API för att exponera webb- API:er. Officiella versionen - Create a unified Drupal API for web services to be exposed in a variety of different

Läs mer

Webbprogrammering TDDD52

Webbprogrammering TDDD52 Webbprogrammering TDDD52 ERD MySQL+PHP. Förra gången Idag Javascript jquery Progressive enhancement XML & AJAX Lab 4 och 5 Sammanfattning av kursen. Om databastabeller varje tabell ska beskriva en typ

Läs mer

DB, DATA, LOGIC, EXPOSURE (WEB)

DB, DATA, LOGIC, EXPOSURE (WEB) Backend DB, DATA, LOGIC, EXPOSURE (WEB) MySQL. MongoDB, LDAP, etc DB DATA LOGIC SOA TJänster EXPOSURE (WEB) Klienter kan vara webbsidor, desktop/mobil applikationer, andra SOA tjänster, ATM, parkeringsautomater

Läs mer

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I L04.1 Marodören Inledning Genom att öva sig på de grundläggande koncepten i JavaScript öppnas vägen allteftersom till de mer avancerade funktionerna. Man måste lära sig krypa innan man kan gå, även i JavaScript!

Läs mer

Innehålls förteckning

Innehålls förteckning Programmering Uppsats i skrivteknik Axxell Företagsekonomi i informationsteknik 19.3.2015 Respondent: Tomas Björklöf Opponent: Theo Wahlström Handledare: Katarina Wikström Innehålls förteckning 1. Inledning...3

Läs mer

TDP013. Innan AJAX Ett synkront webb. Med AJAX Ett Asynkront webb AJAX. Webbprogrammering och interaktivitet. AJAX, CORS,jQuery, PaaS, Projektet

TDP013. Innan AJAX Ett synkront webb. Med AJAX Ett Asynkront webb AJAX. Webbprogrammering och interaktivitet. AJAX, CORS,jQuery, PaaS, Projektet Innan AJAX Ett synkront webb TDP013 Webbprogrammering och interaktivitet AJAX, CORS,jQuery, PaaS, Projektet 1. Användaren klickar länk, formulär, bild etc 2. Anrop till servern sker 3. Servern agerar på

Läs mer

TDP013. Webbprogrammering och interaktivitet. AJAX, CORS,jQuery, PaaS, Projektet. Anders Fröberg Institutionen för Datavetenskap (IDA)

TDP013. Webbprogrammering och interaktivitet. AJAX, CORS,jQuery, PaaS, Projektet. Anders Fröberg Institutionen för Datavetenskap (IDA) TDP013 Webbprogrammering och interaktivitet AJAX, CORS,jQuery, PaaS, Projektet Anders Fröberg Institutionen för Datavetenskap (IDA) Innan AJAX Ett synkront webb 1. Användaren klickar länk, formulär, bild

Läs mer

E13 Behind the Wild. Dagens agenda. Cookies Context/ändra context Augmentation (förstärkning) Klassiskt arv Att låna metoder Namespaces Postludium

E13 Behind the Wild. Dagens agenda. Cookies Context/ändra context Augmentation (förstärkning) Klassiskt arv Att låna metoder Namespaces Postludium E13 Behind the Wild Dagens agenda Cookies Context/ändra context Augmentation (förstärkning) Klassiskt arv Att låna metoder Namespaces Postludium Cookies Alternativ: IP-adress URL

Läs mer

INTRODUKTION TILL ANGULAR JS

INTRODUKTION TILL ANGULAR JS INTRODUKTION TILL ANGULAR JS DEL 1 Mahmud Al Hakim www.alhakim.se mahmud@alhakim.se VAD ÄR ANGULAR? Angular är ett JavaScript ramverk. Angular används för utveckling av frontendwebbapplikationer. Angular

Läs mer

Slutrapport YUNSIT.se Portfolio/blogg

Slutrapport YUNSIT.se Portfolio/blogg Slutrapport YUNSIT.se Portfolio/blogg RICKARD HANSSON 2012-06-04 Abstrakt Rapporten du har i din hand kommer handla om mitt projektarbete som jag genomfört under tio veckor för utbildningen Utvecklare

Läs mer

Laboration 1 XML, XPath, XSLT och JSON

Laboration 1 XML, XPath, XSLT och JSON Webbteknik II, 1DV449 Laboration 1 XML, XPath, XSLT och JSON Author: John Häggerud & Johan Leitet Semester: HT 2011 Course code: 1DV449 Inledning I denna första laboration är det tanken att Du ska bekanta

Läs mer

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011 Webbteknik II Föreläsning 5 Restless farewell HTTP Request HTTP verbs (methods): GET, POST, HEAD, DELETE, PUT, OPTIONS, TRACE, CONNECT http://www.w3.org/protocols/rfc2616/rfc2616-sec9.html variable=value&variable2=value2

Läs mer

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

Läs mer

Föreläsning 3. Programmering, C och programmeringsmiljö

Föreläsning 3. Programmering, C och programmeringsmiljö Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator

Läs mer

Kursplanering Utveckling av webbapplikationer

Kursplanering Utveckling av webbapplikationer Kursplanering Utveckling av webbapplikationer Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-WEB Klass Systemutvecklare.NET Syfte och koppling till yrkesrollen För att kunna arbeta som systemutvecklare

Läs mer

On-line produktion TDDC61

On-line produktion TDDC61 On-line produktion TDDC61 Förra gången MuddyCards Animation Portfolio Lab 3. Muddycards - resultat Positiva kommentarer Tempo föreläsningar Labbhandledning, pedagogik Mer labbhandledning Instruktioner

Läs mer

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av

Läs mer

Föreläsning 3. Programmering, C och programmeringsmiljö

Föreläsning 3. Programmering, C och programmeringsmiljö Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator

Läs mer

Grundkurs i programmering - intro

Grundkurs i programmering - intro Grundkurs i programmering - intro Linda Mannila 4.9.2007 Dagens föreläsning Allmän kursinformation: mål, syfte, upplägg, examination, litteratur, etc. Hur arbetar en dator? Hur vi får datorn att förstå

Läs mer

Piff och Puffs Chatsystem

Piff och Puffs Chatsystem Lunds Tekniska Högskola Piff och Puffs Chatsystem EDA095, Nätverksprogrammering - Projektrapport Gruppnummer: 1 Gruppmedlemmar: Alves-Martins, Rebecka adi10ral@student.lu.se Bredberg, Frida adifbr@student.lu.se

Läs mer

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

emopluppen Användning av Ant Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC) emopluppen Användning av "Ant" Version: 1.4 ( 2002/04/26 07:27:52 UTC) Niklas Backlund Sammanfattning Det här dokumentet handlar om programmet Ant, som är en byggmiljö för programutvecklingsprojekt. Dess

Läs mer

Tentamen etjänster och webbprogrammering

Tentamen etjänster och webbprogrammering Tentamen etjänster och webbprogrammering Institutionen för informatik och media, informattionssystem Datum 26/8 Tid 8.00 12.00 Lärare Owen Eriksson Fredrik Bengtsson Maxpoäng 65 För Godkänd krävs minst

Läs mer

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor PHP PHP: Hypertext Preprocessor F8 Webbteknologier 2 EDA095 Roger Henriksson Datavetenskap Lunds universitet Skriptspråk särskilt lämpligt för webbapplikationer. Öppen, gratis, programvara. HTML-kod med

Läs mer

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är

Läs mer

E-legitimationsnämndens legitimeringstjänster för test

E-legitimationsnämndens legitimeringstjänster för test E-legitimationsnämndens legitimeringstjänster för test 2015-11-11 Inledning E-legitimationsnämnden) tillhandahåller två legitimeringstjänster för test. Den första legitimeringstjänsten har endast gränssnitt

Läs mer

Laboration 2 RESTful webb-api

Laboration 2 RESTful webb-api Webbteknik II, 1DV449 Laboration 2 RESTful webb-api Author: John Häggerud & Johan Leitet Semester: HT 2011 Course code: 1DV449 Inledning I denna laboration är det tänkt att Du ska skriva ett eget webb-api

Läs mer

Kort om World Wide Web (webben)

Kort om World Wide Web (webben) KAPITEL 1 Grunder I det här kapitlet ska jag gå igenom allmänt om vad Internet är och vad som krävs för att skapa en hemsida. Plus lite annat smått och gott som är bra att känna till innan vi kör igång.

Läs mer

Programmering i C++ Kompilering från kommandoraden

Programmering i C++ Kompilering från kommandoraden Programmering i C++ Kompilering från kommandoraden Sven Gestegård Robertz Datavetenskap, LTH 9 november 2015 Sammanfattning Ibland vill man, av olika anledningar, inte använda en stor integrerad utvecklingsmiljö

Läs mer

Labora&on 8 Formulär övningar/uppgi6er

Labora&on 8 Formulär övningar/uppgi6er Labora&on 8 Formulär övningar/uppgi6er 1M321 Webbteknik 1, 7,5hp Medieteknik 2015 Rune Körnefors rune.kornefors@lnu.se 1a. Ladda ner arbetsdokument Till övningarna i denna labora&on finns det en par dokument

Läs mer

JAVASCRIPT. Beteende

JAVASCRIPT. Beteende JAVASCRIPT Beteende OVERVIEW HTML Formulär JavaScript Syntax Events DOM Validering av fomulär WEBBPROGRAMMERING PÅ KLIENTSIDAN Skriptspråk som körs på klientsidan (klientskript) Koden exekveras i webbläsaren

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

Elektronisk publicering TNMK30

Elektronisk publicering TNMK30 Elektronisk publicering TNMK30 Förra gången Färger CSS - layout och styling Lite repetition (X)HTML och SEO Att separera innehåll från presentation. CSS, layoutproblem med float och boxar CSS, layoutproblem

Läs mer

JavaScript in SharePoint and not just for Apps. Wictor Wilén

JavaScript in SharePoint and not just for Apps. Wictor Wilén JavaScript in SharePoint and not just for Apps Wictor Wilén Wictor Wilén Agenda Varför JavaScript? JavaScript bibliotek SharePoint JS bibliotek JavaScript Client Side Object Model (JSOM/CSOM) REST Client

Läs mer

Systemutvecklare SU14, Malmö

Systemutvecklare SU14, Malmö Systemutvecklare SU14, Malmö Tentamen, Tenta Utveckling med ramverket.net(35 YH-poäng) Plats: Plushögskolan Malmö Tid: 2 februari 2015, kl. 9.00-12.00 Tillåtna hjälpmedel: Papper, penna, suddgummi. Ej

Läs mer

Axiell Arena. Optimering av prestanda

Axiell Arena. Optimering av prestanda Axiell Arena Optimering av prestanda Axiell Sverige AB, Box 24014, 224 21 Lund Fältspatvägen 4, 224 78 Lund, tel: 046-2700 400, e-post: lund@axiell.com Innehåll Axiell Arena... 1 Optimering av prestanda...

Läs mer

PHP-presentation Dataföreningens Open Source-nätverk

PHP-presentation Dataföreningens Open Source-nätverk PHP-presentation Dataföreningens Open Source-nätverk Netera AB Jimmy Furland jimmy@netera.se Björn Hansson hansson@netera.se Introduktion HTML-inbäddat webbprogrammeringsspråk Står för PHP Hypertext Preprocessor

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 229 PHP Hypertext Preprocessor Scriptspråk på serversidan Innebär att webbservern översätter php-scripten innan sidan skickas till webbläsaren,

Läs mer

F8 Webbteknologier 2. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet

F8 Webbteknologier 2. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet F8 Webbteknologier 2 EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet PHP PHP: Hypertext Preprocessor Skriptspråk särskilt lämpligt för webbapplikationer. Öppen, gratis, programvara.

Läs mer

Installationsmanual Onepix RSS Vatech 1.6.3 SVENSK

Installationsmanual Onepix RSS Vatech 1.6.3 SVENSK Installationsmanual Onepix RSS Vatech 1.6.3 SVENSK 2 Onepix1.1_IFI_Onepix-RSS-Vatech-1.6_SE_002 3 Innehåll Viktig information 4 Nyheter i Onepix RSS Vatech 4 Installation av Onepix RSS Vatech Server på

Läs mer

Guide för Innehållsleverantörer

Guide för Innehållsleverantörer Library of Labs Content Provider s Guide Guide för Innehållsleverantörer Inom LiLa ramverket är innehållsleverantörer ansvariga för att skapa experiment som "LiLa Learning Objects", att ladda upp dessa

Läs mer

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem Målsättning Att bygg upp en komplett webbplats i ett publiceringssystem. Platsen ska vara snygg,

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

Introduktion till användning av linux-servern sledge och några övningsuppgifter

Introduktion till användning av linux-servern sledge och några övningsuppgifter Uppsala universitet Institutionen för utbildning, kultur och medier Monica Langerth Zetterman och Richard Walls IT-stöd i undervisningen, HT10 Introduktion till användning av linux-servern sledge och några

Läs mer

Webbprogrammering - 725G54 PHP. Foreläsning II

Webbprogrammering - 725G54 PHP. Foreläsning II Webbprogrammering - 725G54 PHP Foreläsning II Agenda Serverskript PHP Validering av data med serverskript Säkerhet Lab 2. Live coding Serverskript Kör ett program på servern och resultatet skickas till

Läs mer

Axiell Arena Visa BOOK-IT:s resurser

Axiell Arena Visa BOOK-IT:s resurser Axiell Arena Visa BOOK-IT:s resurser Innehåll 1 Introduktion... 2 2 Lägg xsl-fil i Dokumentbiblioteket... 3 3 Web service-koppling mot BOOK-IT:s resurser... 7 1 Axiell Bibliotek AB 1 Introduktion I Axiell

Läs mer

2014-2015 Alla rättigheter till materialet reserverade Easec

2014-2015 Alla rättigheter till materialet reserverade Easec 1 2 Innehåll Introduktion... 3 Azure Client SDK Libraries... 4 Översikt: Azure Client Libraries... 5 Azure SDK... 6 Azure SDK (forts.)... 7 Azure SDK (forts.)... 8 Cloud Services... 10 Cloud Services...

Läs mer

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011 Webbteknik II Föreläsning 4 Watching the river flow Web Service XML-RPC, SOAP, WSDL, UDDI HTTP Request, Response, Headers, Cache, Persistant Connection REST Hype or the golden way? Web Service / Webbtjänst

Läs mer

Statistik från webbplatser

Statistik från webbplatser Statistik från webbplatser problem och möjligheter Ulf Kronman Föredragets huvuddelar Frågorna och motfrågorna Vilka frågor ställer chefen, BIBSAM och ISO? Varför ställer webmastern krångliga motfrågor?

Läs mer

Webbgenvägar. Krishna Tateneni Yves Arrouye Översättare: Stefan Asserhäll

Webbgenvägar. Krishna Tateneni Yves Arrouye Översättare: Stefan Asserhäll Krishna Tateneni Yves Arrouye Översättare: Stefan Asserhäll 2 Innehåll 1 Webbgenvägar 4 1.1 Inledning........................................... 4 1.2 Webbgenvägar........................................

Läs mer

Webbtjänster med API er

Webbtjänster med API er Webbtjänster med API er Mål med lektionen! En lite djupare inblick i RESTfulla tjänster Vad lektionen omfattar RESTful Services Överblick SOAP kan vara lite overkill för vissa specifika web service scenarion.

Läs mer

E12 "Evil is going on"

E12 Evil is going on E12 "Evil is going on" Föreläsning 12, HT2012 AJAX Kurs: 1dv403 Webbteknik I Johan Leitet E12 Evil is going on Dagens agenda AJAX XMLHttpRequest-objektet JSON Vad är AJAX? Asynchronous JavaScript and XML

Läs mer

Uppgiftskravstjänsten Teknisk anslutning för att hämta uppgiftskrav som öppna data. Version 1.0

Uppgiftskravstjänsten Teknisk anslutning för att hämta uppgiftskrav som öppna data. Version 1.0 Uppgiftskravstjänsten Teknisk anslutning för att hämta uppgiftskrav som öppna data Version 1.0 1 Innehållsförteckning 1 Inledning... 3 2 Anslutning... 3 2.1 Scenario 1: Hämtning av uppgiftskrav som öppna

Läs mer

Domänspecifika språk. TDP007 Konstruktion av datorspråk Föreläsning 5. Peter Dalenius Institutionen för datavetenskap 2013-02-11

Domänspecifika språk. TDP007 Konstruktion av datorspråk Föreläsning 5. Peter Dalenius Institutionen för datavetenskap 2013-02-11 Domänspecifika språk TDP007 Konstruktion av datorspråk Föreläsning 5 Peter Dalenius Institutionen för datavetenskap 2013-02-11 Domänspecifika språk Ett domänspecifikt språk (eng. domain specific language,

Läs mer

Skicka och hämta filer med automatik

Skicka och hämta filer med automatik Skicka och hämta filer med automatik etransport kan automatiseras med hjälp av ett kommandobaserat verktyg som stödjer HTTP GET och POST samt SSL. Genom att till exempel använda en klient från en tredjepartsleverantör

Läs mer

Backcode. Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet

Backcode. Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet Žƒ ƒ Ž Ž ˆ ƒ ƒ ƒ Žƒ ƒ Ž ˆ Œ ŽŽ ƒ Backcode Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet Innehållsförteckning 12-05-29 Inledning... 3 Användarhandledningen... 4 Klasser... 4 Metoder...

Läs mer

Handledning för installation och komma igång med Joomla

Handledning för installation och komma igång med Joomla Uppsala universitet Monica Langerth Zetterman Handledning för installation och komma igång med Joomla Joomla är ett CMS (Content Managament System) som använder sig av de tekniker vi tittat lite på i kursen.

Läs mer

SQUID. och andra cachelösningar

SQUID. och andra cachelösningar SQUID och andra cachelösningar Henrik Nordström henrik@henriknordstrom.net Konsult Open Source, Squid, Linux & Nätverk sedan 1995 Var finns cache? Webbläsare Snabbare sidvisning Normal proxy cache, användare

Läs mer

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

SLUTRAPPORT RUNE TENNESMED WEBBSHOP SLUTRAPPORT RUNE TENNESMED WEBBSHOP -05-30 Abstrakt Under 10 veckor har jag och Oskar Norling arbetat med att ta fram en webbshop-applikation till företaget Rune Tennesmed i Kalmar. I denna rapport tänker

Läs mer

1. Säkerhetskopiera den eller de byråer du har arbetat med via i Visma Klient.

1. Säkerhetskopiera den eller de byråer du har arbetat med via i Visma Klient. Visma Byråstöd Installationsanvisning Innehåll Viktigt att tänka på innan du påbörjar installationen... 1 Nya versioner... 1 Uppdatering från Visma Klient i samband med datorbyte... 1 Gör så här när du

Läs mer

98 / 100 Hastighet. PageSpeed Insights. Överväg att Fixa: Utnyttja cachelagring i webbläsare. 9 Godkända Regler. Mobil

98 / 100 Hastighet. PageSpeed Insights. Överväg att Fixa: Utnyttja cachelagring i webbläsare. 9 Godkända Regler. Mobil PageSpeed Insights 98 / 100 Hastighet Överväg att Fixa: Utnyttja cachelagring i webbläsare När du anger ett utgångsdatum eller en högsta ålder i HTTP-rubrikerna för statiska resurser instrueras webbläsaren

Läs mer

Metoder. Inledande programmering med C# (1DV402)

Metoder. Inledande programmering med C# (1DV402) Metoder Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i detta verk av

Läs mer

1ME323 Webbteknik 3 Lek0on 6 API. Rune Körnefors. Medieteknik. 2016 Rune Körnefors rune.kornefors@lnu.se

1ME323 Webbteknik 3 Lek0on 6 API. Rune Körnefors. Medieteknik. 2016 Rune Körnefors rune.kornefors@lnu.se 1ME323 Webbteknik 3 Lek0on 6 API Rune Körnefors Medieteknik 1 2016 Rune Körnefors rune.kornefors@lnu.se Agenda API (Applica@on Programming Interface) Mashup Flickr API Google Maps API Labb 6 2 API (Applica0on

Läs mer

Linuxadministration 2 1DV421 - Laborationer Webbservern Apache, Mailtjänster, Klustring, Katalogtjänster

Linuxadministration 2 1DV421 - Laborationer Webbservern Apache, Mailtjänster, Klustring, Katalogtjänster Linuxadministration 2 1DV421 - Laborationer Webbservern Apache, Mailtjänster, Klustring, Katalogtjänster Marcus Wilhelmsson marcus.wilhelmsson@lnu.se 22 augusti 2013 Instruktioner Organisation och genomförande

Läs mer

Programmeringteknik. Planering 2014-05-12 MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

Programmeringteknik. Planering 2014-05-12 MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen MÅL Programmeringteknik Webbdelen Efter webbmomentet ska du: kunna använda ett tiotal kommandon i: HTML (göra webbsidor) CSS (webbsidans utseende) Javascript (programmering - klienten) PHP (programmering

Läs mer

Användarmanual för. Internetbokningen. Version 1.0

Användarmanual för. Internetbokningen. Version 1.0 Användarmanual för Internetbokningen Version 1.0 Hur fungerar Internetbokningen? Internetbokningen installerar två komponenter på klubben. Dels finns det ett nytt inställningsprogram som är en del av GK96,

Läs mer

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap Uppmärkningsspråk TDP007 Konstruktion av datorspråk Föreläsning 4 Peter Dalenius Institutionen för datavetenskap 2015-02-03 Från förra gången XML-dokument specificeras med t.ex. en DTD Två olika sätt att

Läs mer