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

Storlek: px
Starta visningen från sidan:

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

Transkript

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

2 Load up your guns, and bring your friends This is the end, My only Friend, the end Äntligen stod prästen i predikstolen I ll be back

3 Innan vi börjar Redovisa labbar gitlab.ida.liu.se Dödlinje (Seminarium, screencast och kod) I slutets av HT1:13/10 (eller någon dag innan) I (om)tenta-p 17/10-28/10

4 ECMAScript Specifikationen för JavaScript och JScript Specificeras (delvis) av JavaScript och JScript Innehåller inte Document Object Model (DOM) 4

5 Användning av ECMAScript Mozilla Firefox Google Chrome Google documents Microsoft.NET Framework Adobe Flash Adobe Acrobat 5

6 ECMAScript edition 5 Lanserades 2009 Tidigare version (mycket av online exempel) Stöd för JSON Uppdatering 5.1 Lanserades 2011 (Mer) kompatibel med edition 3 6

7 ECMAScript edition 6 Lanserades Juni 2015 Nuvarande version Officially known as ECMAScript 2015 Icke fullständig stöd i webbläsarna ännu Går att översätta ES6->ES5 (source-to-source compiler) 7

8 ECMAScript 2015 and ES6 Nyheter i språket arrows classes enhanced object literals template strings destructuring default + rest + spread let + const iterators + for..of generators unicode modules module loaders map + set + weakmap + weakset proxies symbols subclassable built-ins promises math + number + string + array + object APIs binary and octal literals reflect api tail calls 8

9 7th and 8th Ecmascript 2016 Juni 2016 Ecmascript 2017 Juni

10 10 PROGRAMMERING

11 Tilldelningar och scope Tidigare Variabler kan var som helst definieras globalt Funktioner har bara ett scope Ny let Block scope 11

12 Tilldelningar och scope function functiona() { variable = Hello, world ; } function functionb() { return variable; } functiona(); functionb(); // Returnerar Hello, world 12

13 Tilldelningar och scope function functiona() { var variable = Hello, world ; } function functionb() { return variable; } functiona(); functionb(); // ReferenceError: variable is not defined 13

14 Tilldelningar och scope var persons = new Array(); persons[ Anders ] = Froberg ; persons[ Erik ] = Berglund ; function functionc() { for (p in persons) { alert(p); } } functionc(); alert(p); 14

15 Tilldelningar och scope var persons = new Array(); persons[ Anders ] = Froberg ; persons[ Erik ] = Berglund ; function functionc() { for (var p in persons) { alert(p); } } functionc(); alert(p); 15

16 Tilldelningar och scope var persons = new Array(); persons[ Anders ] = Froberg ; persons[ Erik ] = Berglund ; function functionc() { for (var p in persons) { alert(p); } alert(p); } functionc(); 16

17 Tilldelningar och scope function functiond() { if (1 == 1) { var variable = Hello, world ; } alert(variable); } functiond(); 17

18 Objektorienterad programmering JavaScript använder prototyping till skillnad från Java/Python/C++ JavaScript stödjer endast arv från en (1) prototyp Vanlig objektorienterad programmering i JavaScript är möjligt, men kostar mer minne då varje objekt definierar sina egna funktioner. 18

19 Prototyping Funktioner är motsvarigheten till klasser Funktioner kan innehålla funktioner Klasser kan utökas efter att objekt har skapats Objekt kan utökas efter att de skapats 19

20 Prototyping function Animal() { // Constructor alert( Animal::Constructor ); } Animal.prototype.talk = function() { // Method return undefined; } var myanimal = new Animal(); alert(myanimal.talk()); Animal.prototype.scream = function() { return undefined; } alert(myanimal.scream()); 20

21 Prototyping function Animal() { // Constructor alert( Animal::Constructor ); } Animal.prototype.talk = function() { // Method return sound ; } var myanimal = new Animal(); Animal.prototype.whisper = function() {v return. ; } myanimal.scream = function() { return SOUND! ; } alert(myanimal.whisper()); alert(myanimal.talk()); alert(myanimal.scream()); 21

22 Arv (inheritance) Utökar egentligen bara ett objekt med fler prototyper Konstruktorn till sub-klassen måste refereras explicit, annars används konstruktorn för föräldern Konstruktorn i föräldern måste anropas när arvet definieras 22

23 Arv (inheritance) function Dog() { Animal.call(this); alert( Dog::Constructor ); } Dog.prototype = new Animal(); Dog.prototype.constructor = Dog; Dog.prototype.talk = function() { return woff woff ; } var mydog = new Dog(); alert(mydog.talk()); 23

24 Callbacks Funktioner som argument till funktioner Lämnar över ansvaret för att fånga upp data och event till den kallade funktionen Stor del av JavaScript och tredjeparts-bibliotek Om jag ger dig mitt telefonnummer så ringer du mig när du laddat ner nästa avsnitt av The Newsroom (2012) [red. anm. från itunes]... 24

25 The road to hell is paved with good intentions DOCUMENT OBJECT MODEL 25

26 26

27 27

28 Noder Varje element i ett HTML dokument är en nod i DOM-trädet (inklusive <!-- kommentarer -->) Det finns 12 olika typer av noder element, TextNode och AttributeNode är de tre typer som är intressanta för webbdesign 28

29 Navigera i DOM getelementbyid( param ) returnerar ett (1) element om det existerar ett element med angivet ID. getelementbytagname( param ) returnerar en lista med element som det existerar ett eller flera sådana element. 29

30 Operationer på noder element.childnodes returnerar en lista med alla noder direkt under element i DOM-trädet. element.parentnode returnerar den nod som finns direkt ovanför element i DOM-trädet. element.nextsibling returnerar den nod som finns direkt till höger och på samma nivå som element i DOM-trädet. element.previoussibling returnerar den nod som finns direkt till vänster och på samma nivå som element i DOM-trädet. 30

31 Modifiera DOM-trädet document.createelement( param ) skapar ett nytt element. document.createtextnode( param ) skapar en ny TextNode. element.appendchild(element) placerar det angivna elementet sist i listan av noder direkt under det specificerade elementet. element.removechild(element) tar bort ett element från listan av noder direkt under det specificerade elementet. 31

32 32

33 Återblick - Progressive Enhancement

34 HTML, CSS, JavaScript - Klienten

35 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?

36 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)

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

38 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?

39

40 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.

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

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

43 Node.js En miljö för att köra JavaScript på servern, dvs man kan köra JavaScript utanför webbläsaren. 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

44 Callbacks Funktioner som argument till funktioner Lämnar över ansvaret för att fånga upp data och event till den kallade funktionen Stor del av JavaScript och tredjeparts-bibliotek Om jag ger dig mitt telefonnummer så ringer du mig när du laddat ner nästa avsnitt av The Newsroom (2012) [red. anm. från itunes]... 44

45 Node.js Med Node.js skapar vi en HTTP server med hjälp av JavaScript 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

46 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.

47 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.

48 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".

49 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();

50 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

51 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.

52 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

53 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.

54 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.

55 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

56 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) Istanbul (code-coverage) Mocha (unit tests)

57 Node.js - Modules var http = require("http"); 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

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

59 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

60 Mocha Testning av Node.js Stå i roten av projektet och exekvera npm install mocha -g //installera globalt 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å. mocha 15

61 Mocha Code Coverage Installera Istanbul npm install istanbul -g istanbul cover _mocha -- test 16

62 Node.js Standard uppsättning /lib requesthandlers.js route.js server.js main.js /lib-coverage "instrumented" versioner /npm_modules Installerade moduler /test test.js Läs på 14

63 Node.js Express Ett ramverk för node Underlätta och snabba upp utveckling av node.js backends mkdir app cd app npm init npm install express save var express = require('express'); var app = express(); app.get('/', function (req, res) { res.send('hello World!'); }); var server = app.listen(3000, function () { var host = server.address().address; var port = server.address().port; console.log('example app listening at host, port); }); 14

64 Node.js express-generator Stövelstroppa utvecklingen npm install express-generator -g Ramverk byggda uppe på express Feathers: Build prototypes in minutes and production ready real-time apps in days. ItemsAPI: Search backend for web and mobile applications built on Express and Elasticsearch. KeystoneJS: Website and API Application Framework / CMS with an auto-generated React.js Admin UI. Kraken: Secure and scalable layer that extends Express by providing structure and convention. LEAN-STACK: The Pure JavaScript Stack. LoopBack: Highly-extensible, open-source Node.js framework for quickly creating dynamic end-to-end REST APIs. MEAN: Opinionated fullstack JavaScript framework that simplifies and accelerates web application development. Sails: MVC framework for Node.js for building practical, production-ready apps. Bottr: Framework that simplifies building chatbot applications. Hydra-Express: Hydra-Express is a light-weight library which facilitates building Node.js Microservices using ExpressJS. Blueprint: Highly-configurable MVC framework for composing production-ready services from reusable components Locomotive: Powerful MVC web framework for Node.js from the maker of Passport.js

65 Laboration 2 Kom ihåg att en del av kravlistan är att installera Node.js, NPM, express, Mocha, Istanbul och MongoDB. Men hjälp gärna varandra, detta räknas inte som fusk. 17

66 TDP013 MongoDB & Node.js MongoDB Driver Anders Fröberg Institutionen för Datavetenskap (IDA)

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

68 Information skickas in via s k query eller förfrågan till databasen. Information hämtas från databasen via en annan typ av query.

69 Vi vill att detta ska ske från Node.js, eftersom det är vår server som skall skriva till och hämta data via queries. Man kan ofta nå databasen från command line, vilket vi också ska titta på.

70 ID NAME BALANCE 1 Anders Erik 20 3 Jalal 200 Cassandra CouchDB MongoDB DynamoDB Datastore... Sparar information annorlunda, grafer, key-value, json, xml, etc...

71 MongoDB - humongous db Istället för att spara information i tabeller (som vi är vana vid hos SQL databaser så som MySQL), så sparas information som JSON objekt. JSON objekten sparas i Collections, t ex Movie, Actor, Director etc, detta kan man jämföra med tabeller hos SQL databaser. Den stora skillnaden är att vi aldrig talar om för databasen vad en Movie innehåller, dvs vi definierar aldrig några kolumner. Vi säger bara till MongoDB att spara ett JSON objekt som en Movie. Det finns alltså ingen garanti att två Movie objekt innehåller samma typer av värden, t ex title, length, etc...

72 MongoDB - Exempel (MongoDB måste vara installerad och startad) Logga in via terminal: mongo Visa alla databaser: show dbs JSON objekt Använd databasen tdp013: use tdp013 OBS: Om databasen inte finns så skapas den Spara ett nytt objekt i collection movie i tdp013: db.movie.insert({ a : 1 }) Lista alla objekt i collection movie: db.movie.find() Läs på om alla funktioner i MongoDB dokumentationen

73 Node.js MongoDB Driver npm install mongodb (stå i projektmappen) var mongo = require('mongodb'); var server = new mongo.server('localhost', 27017); var db = new mongo.db('tdp013, server); db.open(function(err, db) { if(!err) { console.log("we are connected"); } }); Återigen, async callbacks...

74 Node.js MongoDB Driver Alla JSON objekten hamnar i db.collection( person', function(err, collection) { samma collection person, men inte alla definierar age var doc1 = {name : 'anders'}; var doc2 = {name : 'rita'}; var docs = [{name : 'd', age : 25}, {name : 'f', age : 22}]; collection.insert(doc1); collection.insert(doc2, function(err, result) { console.log("inserted doc2"); }); }); } }); collection.insert(docs); Om man vill kan man definiera en callback

75 Node.js MongoDB Driver var findbyname = function(namevalue, callback) { db.open(function(err, db) { if(!err) { db.collection( person', function(err, collection) { collection.find({ name : namevalue }).toarray(function(err, docs) { callback(docs); }); });}});}; findbyname('anders', function(docs) { console.log(docs); db.close(); });

76 Node.js MongoDB Driver - Find Terminal: db.person.find() { "name" : "anders", "_id" : ObjectId("500c6a8dce38750d ") } { "name" : "rita", "_id" : ObjectId("500c6a8dce38750d ") } { "name" : "d", "age" : 25, "_id" : ObjectId("500c6a8dce38750d ") } { "name" : "f", "age" : 22, "_id" : ObjectId("500c6a8dce38750d ") } Alla objekt som skrivs till databasen får ett ObjectId

77 Node.js MongoDB Driver - Id var findbyid = function(stringid, callback) { db.open(function(err, db) { if(!err) { var objectid = new mongo.objectid(stringid); db.collection( person', function(err, collection) { collection.findone({ _id : objectid}, function(err, docs) { callback(docs); }); });}});}; findbyid("500c6a8dce38750d ", function(docs) { console.log(docs); });

78 Nu har vi alla bitar vi behöver för att uppnå det vi först eftersökte... Laboration 2

79

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 Node.js, JSCoverage, Mocha. Marcus Bendtsen Institutionen för Datavetenskap

TDP013 Node.js, JSCoverage, Mocha. Marcus Bendtsen Institutionen för Datavetenskap TDP013 Node.js, JSCoverage, Mocha Marcus Bendtsen Institutionen för Datavetenskap Återblick - Progressive Enhancement HTML, CSS, JavaScript - Klienten Den statiska webben... Vi känner till HTML, CSS och

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

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

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

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

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

TDP013. Kursens nyckelpersoner. Kursens design. Kursens litteratur Kursens kunskapsfilosofi. Examinator: Anders Fröberg. Kursansvarig: Anders Fröberg

TDP013. Kursens nyckelpersoner. Kursens design. Kursens litteratur Kursens kunskapsfilosofi. Examinator: Anders Fröberg. Kursansvarig: Anders Fröberg Kursens nyckelpersoner TDP013 Webbprogrammering och interaktivitet Introduktion, HTML5, CSS & Selenium Anders Fröberg Institutionen för Datavetenskap (IDA) Examinator: Anders Fröberg Kursansvarig: Anders

Läs mer

TDP013. Webbprogrammering och interaktivitet. Introduktion, HTML5, CSS & Selenium. Anders Fröberg Institutionen för Datavetenskap (IDA)

TDP013. Webbprogrammering och interaktivitet. Introduktion, HTML5, CSS & Selenium. Anders Fröberg Institutionen för Datavetenskap (IDA) TDP013 Webbprogrammering och interaktivitet Introduktion, HTML5, CSS & Selenium Anders Fröberg Institutionen för Datavetenskap (IDA) Kursens nyckelpersoner Examinator: Anders Fröberg Kursansvarig: Anders

Läs mer

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript? Innehåll JavaScript En introduktion till skriptspråket JavaScript och till DOM Scripting Introduktion till JavaScript och DOM JavaScript Syntax DOM och DOM Scripting Händelsehantering och CSS Historia

Läs mer

EDA095 JavaScript. Per Andersson. Maj 4, Lund University Per Andersson EDA095 JavaScript Maj 4, / 23

EDA095 JavaScript. Per Andersson. Maj 4, Lund University   Per Andersson EDA095 JavaScript Maj 4, / 23 EDA095 JavaScript Per Andersson Lund University http://cs.lth.se/pierre_nugues/ Maj 4, 2017 Innehåll: JavaScript Per Andersson EDA095 JavaScript Maj 4, 2017 1 / 23 JavaScript JavaScript: syntax som Java

Läs mer

Introduk+on +ll programmering i JavaScript

Introduk+on +ll programmering i JavaScript Föreläsning i webbdesign Introduk+on +ll programmering i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Språk Naturliga språk Mänsklig kommunika+on T.ex. Svenska, engelska,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS

TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS 180226 Idag (ADT), OOP i Racket, labb 5 2 Allmän info Duggan. Laboration 4 deadline. Planering framöver Muddy cards (nästa timme) 3 Lite repetition ADT

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

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

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

Mål med lektionen! Repetera och befästa kunskaperna.

Mål med lektionen! Repetera och befästa kunskaperna. Entity Framework Mål med lektionen! Repetera och befästa kunskaperna. Vad lektionen omfattar Repetera och gå igenom kursen lite snabbt. Vilka problem vill vi lösa? Vi arbetar med Webbapplikationer Vi kommer

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

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

Classes och Interfaces, Objects och References, Initialization

Classes och Interfaces, Objects och References, Initialization Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class

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

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

EDA095 HTML. Per Andersson. April 26, Lund University   Innehåll: HTML, CSS, DOM, JavaScript EDA095 HTML Per Andersson Lund University http://cs.lth.se/pierre_nugues/ April 26, 2017 Innehåll: HTML, CSS, DOM, JavaScript Per Andersson EDA095 HTML April 26, 2017 1 / 23 Webben Webben byggs upp av

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

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

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

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

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

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query). Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.

Läs mer

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18 TDDC74 Programmering: Abstraktion och modellering Datortenta - 017-10-7, kl 14-18 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis

Läs mer

Objektorienterad Programmering (OOP) Murach s: kap 12-16

Objektorienterad Programmering (OOP) Murach s: kap 12-16 Objektorienterad Programmering (OOP) Murach s: kap 12-16 2013-01-28 1 Winstrand Development Objektorienterad Programmering Förkortas OOP Objektorientering innebär att man delar in koden i olika block,

Läs mer

Mutability och State. Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018

Mutability och State. Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018 Mutability och State Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018 Immutability Ett icke muterbart (immutable) objekt är ett objekt vars tillstånd inte

Läs mer

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004 Lösningsförslag Programmeringsmetodik, KV: Java och OOP 17 januari 2004 Examinator: Johan Karlsson Skrivtid: 9-15 Hjälpmedel: En av följande böcker: Barnes & Kölling: Objects First With Java a practical

Läs mer

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1 Välkommen! SAPSA Impuls Mobilitet 81 Impuls sponsorer 2012 Guldsponsorer SAPSA Impuls Mobilitet 81 Mobilitet 81: Mobil reseräkningsapp med möjlighet att fotografera kvittona Christer Ingemarsson Lena Kågedal

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(7) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2018 04 11, 8.00 13.00 Del 1 1. a) IP-numret identifierar en enskild dator på internet. b) Port-numret

Läs mer

ASP.NET MVC. Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se. Innehåll

ASP.NET MVC. Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se. Innehåll ASP.NET MVC Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se Innehåll Introduktion till MVC Controller Action-metoder Views Arbeta med Layout-sidor och sektioner Route konfiguration

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

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er Labora&on 2 Funk&oner, if och loop övningar/uppgi:er 1M322 Webbteknik 2, 7,5hp Medieteknik 2017 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna labora&on finns

Läs mer

Objektsamlingar i Java

Objektsamlingar i Java 1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och

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

Introduktion till Entity Framework och LINQ. Källa och läs mer https://msdn.microsoft.com/en-us/data/aa937709.aspx

Introduktion till Entity Framework och LINQ. Källa och läs mer https://msdn.microsoft.com/en-us/data/aa937709.aspx Introduktion till Entity Framework och LINQ Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är Entity Framework? The Microsoft ADO.NET Entity Framework is an Object/Relational Mapping

Läs mer

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna. Använd olika lager. Döp lagren! Organisera era bibliotek! Design av interaktiv multimedia Ge era symboler instansnamn för att hitta dem med AS. Nytt för denna kurs: Ingen ActionScript-kod i.fla-filen!

Läs mer

tentaplugg.nu av studenter för studenter

tentaplugg.nu av studenter för studenter tentaplugg.nu av studenter för studenter Kurskod Kursnamn UU-76062 Inledande programmering i Java Datum 2014-07-13 Material Tentamen Kursexaminator Betygsgränser Tentamenspoäng G 30; VG 36 40 (VG) Övrig

Läs mer

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Klient/server Översikt Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Lektion 1: Webbtekniker från Microsoft Microsoft webbtekniker. ASP.NET. Klientsidan. Internet Information Server.

Läs mer

Retrieve a set of frequently asked questions about digital loans and their answers

Retrieve a set of frequently asked questions about digital loans and their answers GetFAQ Webservice name: GetFAQ Adress: https://www.elib.se/webservices/getfaq.asmx WSDL: https://www.elib.se/webservices/getfaq.asmx?wsdl Webservice Methods: Name: GetFAQ Description: Retrieve a set of

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

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

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP. Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär

Läs mer

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie 2017-03-09 Justering för krav på Windows Server 2012 1.2 Micke 2017-04-07 Vitec Ekonomi från x.60 kräver IIS 8 och websocket.

Läs mer

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

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

Swedbank Mobile Loadtesting. LoadRunner 11.04 Mobile App protocol

Swedbank Mobile Loadtesting. LoadRunner 11.04 Mobile App protocol Swedbank Mobile Loadtesting LoadRunner 11.04 Mobile App protocol Bakgrund Mission: Prestandatesta mobilt backend Typ: RESTful tjänst Underlag: Dokumenterat URI och API (Uniform Resource Identifier, Application

Läs mer

Exempel: Exempel: Exempel: Exempel: $djur=array("ko","katt","älg"); foreach ($djur as $d) { echo $d. " "; } Resultat. ko katt älg

Exempel: Exempel: Exempel: Exempel: $djur=array(ko,katt,älg); foreach ($djur as $d) { echo $d.  ; } Resultat. ko katt älg Loopar och upprepning Vill man upprepa kod flera gånger så istället för att skriva en massa rader så kan man lägga koden i ett kodblock som man sedan loopar. Det finns ett par olika typer av loopar, FORloop,

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

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

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

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018 Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design (DIT95) Niklas Broberg, 2018 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon

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

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016 Objektorienterad Programkonstruktion Föreläsning 2 2 nov 2016 Objekt - klass Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 Objekt - klass Objekt - klass Objekt - klass + Objekt - klass public class

Läs mer

MySQL - testmiljöer på minuter. Thomas Johansson IT-avdelningen

MySQL - testmiljöer på minuter. Thomas Johansson IT-avdelningen MySQL - testmiljöer på minuter Thomas Johansson IT-avdelningen 1 Kort presentation! MySQL-DBA Unix-gubbe sedan 90-talet 2 Testmiljöer för MySQL För att testa innan uppgradering För att testa uppgradering

Läs mer

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA)

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA) TDDD80 Mobila och sociala applikationer Introduktion HTTP,SaaS Anders Fröberg Institutionen för Datavetenskap (IDA) Internet Internet är världens största datornätverk och ett system för enkel och effektiv

Läs mer

TDDI82 - Projekt. Christoffer Holm. Institutionen för datavetenskap (IDA)

TDDI82 - Projekt. Christoffer Holm. Institutionen för datavetenskap (IDA) TDDI82 - Projekt Christoffer Holm Institutionen för datavetenskap (IDA) 1 Projektkrav 2 Projektplannering 3 Spelutveckling 1 Projektkrav 2 Projektplannering 3 Spelutveckling 3 / 26 Upplägg Spåna projektidé

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

FOSS4G Denver 2011 Peking 2012

FOSS4G Denver 2011 Peking 2012 FOSS4G Denver 2011 Peking 2012 De som är intresserade av att samordna denna resa eller åtminstone veta vilka svenskar som finns på plats i Peking hör av er till mig. Jag har bokat www.os4gis.se! Viktiga

Läs mer

Asp.net mvc intro PER KVARNBRINK, 2015-01-27

Asp.net mvc intro PER KVARNBRINK, 2015-01-27 Asp.net mvc intro PER KVARNBRINK, 2015-01-27 Byggstenarna i ett mvc-projekt 1. Databasen 2. Datamodellen (M:et) 3. Entity framwork 4. Routing 5. Kontroller (C:et) 6. Vy (V:et) 7. Vymodeller 8. Troligen

Läs mer

ID1004 Laboration 4, November 2012

ID1004 Laboration 4, November 2012 06-Nov-2012/FK ID1004 Laboration 4, 14-16 November 2012 Beräknad tid ca 1-2 timmar. Instruktionen antar att labben utförs i datasal, med hjälp av den integrerade utvecklingsmiljön Eclipse. Alternativt

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

(engelska)

(engelska) Innan du fortsätter, skriv ut arbetsbladet och fyll i det när du fortsätter framåt i manualen. Om du gör sätter upp för två t1d, skriv ut två arbetsblad Observera att detta är en förenkling av Nightscouts

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

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

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,

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

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund Sida: 1(7) Installationsanvisningar VisiWeb Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund Detta dokument Detta dokument beskriver hur man installerar VisiWeb på en

Läs mer

TDDC77 Objektorienterad Programmering

TDDC77 Objektorienterad Programmering TDDC77 Objektorienterad Programmering Föreläsning 5 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Arrayer Metoder Räckvidd och Livslängd Arrayer Vända om inlästa värdena Vända om

Läs mer

Föreläsning 6: Introduktion av listor

Föreläsning 6: Introduktion av listor Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.

Läs mer

Schenker Privpak AB Telefon 033-178300 VAT Nr. SE556124398001 Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr 033-257475 Säte: Borås

Schenker Privpak AB Telefon 033-178300 VAT Nr. SE556124398001 Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr 033-257475 Säte: Borås Schenker Privpak AB Interface documentation for web service packageservices.asmx 2010-10-21 Version: 1.2.2 Doc. no.: I04304 Sida 2 av 14 Revision history Datum Version Sign. Kommentar 2010-02-18 1.0.0

Läs mer

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås Schenker Privpak AB Interface documentation for web service packageservices.asmx 2012-09-01 Version: 1.0.0 Doc. no.: I04304b Sida 2 av 7 Revision history Datum Version Sign. Kommentar 2012-09-01 1.0.0

Läs mer

MVC med Javascript och Ajax. Filip Ekberg

MVC med Javascript och Ajax. Filip Ekberg MVC med Javascript och Ajax Filip Ekberg MVC med Javascript och Ajax Lektion 7 ASP.NET MVC mail@filipekberg.se Veckans mål ASP.NET MVC Repetition & Diskussion Vad är MVC? Vad är ASP.NET MVC? Hur skapar

Läs mer

DAT043 - Föreläsning 7

DAT043 - Föreläsning 7 DAT043 - Föreläsning 7 Model-View-Controller, mer om klasser och interface (arv, ) 2017-02-06 Designmönstret Observer avläser Observer Observable meddelar Observer avläser En eller flera objekt registrerar

Läs mer

JS & beteende. TNMK30 - Elektronisk publicering

JS & beteende. TNMK30 - Elektronisk publicering JS & beteende TNMK30 - Elektronisk publicering Dagens föreläsning HTML Formulär JavaScript Syntax Events DOM Validering av fomulär JavaScript Skriptspråk som körs på klientsidan (klientskript). Koden exekveras

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

Essential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly

Essential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly PHP Säkerhet & Optimering tobias.landen@chas.se se Att läsa om ämnet Bra och kortfattad tt dbok: Essential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly ISBN 10: 059600656X

Läs mer

Datasäkerhet och integritet

Datasäkerhet och integritet Chapter 4 module A Networking Concepts OSI-modellen TCP/IP This module is a refresher on networking concepts, which are important in information security A Simple Home Network 2 Unshielded Twisted Pair

Läs mer

Alternativet är iwindows registret som ni hittar under regedit och Windows XP 32 bit.

Alternativet är iwindows registret som ni hittar under regedit och Windows XP 32 bit. TNT ExpressShipper installation. Om ni redan har en ExpressShipper installation på företaget behöver ni först ta reda på vilken version som är installerad och sökvägen till databasen. Versionen ser ni

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