Universitetet i Oslo Institutt for informatikk. avmystifisert i INF102. Kvile

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Begynne med side:

Download "Universitetet i Oslo Institutt for informatikk. avmystifisert i INF102. Kvile"

Transkript

1 Universitetet i Oslo Institutt for informatikk Surfing avmystifisert i INF102 Kvile Vår 2003

2

3 Innhold 1 Vanlig surfing med GET-metoden Spørringen fra klienten Websider med flere filer Svaret fra webserveren Sende data med FORMs GET-metoden POST-metoden Sesjoner og cookies Cookies Avansert: Cookies og sikkerhet A Kode - En enkel webserver 9 A.1 Spørring fra en webbrowser Innledning Dette dokumentet er ment som en liten innføring i HTTP-protokollen 1 (HyperText Transfer Protocol) for studenter som tar INF102 ved Institutt for Informatikk, Universitetet i Oslo. Vi vil kun se på hvilke data som blir sendt fra en webbrowser 2 til en webserver og tilbake igjen. Vi skal se hva som foregår bak kulissene når vi velger en link og når vi sender over informasjon med FORMs. Det forutsettes at du har erfaring med Internett og at du kan litt om HTML og bruken av FORMs. Vi vil ikke se på hva som foregår lenger ned i arkitekturen (e.g. TCP/IP, DNS-servere). De som vil lære mer om nettverk og Internett-protokoller, kan ta kurset INF240 Datakommunikasjon. Dette dokumentet kan lastes ned fra 1 En protokoll er et språk, eller et sett med regler som maskinene følger når de snakker sammen. 2 En webbrower er det programmet du bruker for å surfe på Internett, e.g. Netscape, Opera, Mozilla, lynx og Internet Explorer. 3

4 1 Vanlig surfing med GET-metoden Når vi surfer rundt på nettet og velger 3 en link, kan vi gå rundt til forskjellige nettsider. Men hvordan vet en webserver hvilken webside vi vil lese? 1.1 Spørringen fra klienten Når vi velger en link, sender vi en spørring til en webserver om å få et dokument. Hvis vi for eksempel velger linken <A HREF=" for Informatikk</A> som denne HTML-koden gir oss, vil webbrowseren vår muligens sende denne minimale forespørselen til webserveren GET / HTTP/1.0 Disse to linjene er alt vi trenger å sende til en webserver for å spørre etter en webside. (Vil vil ikke se på hvordan webbrowseren finner ut hvilken webserver den skal sende spørringen til.) Den første linjen startet med metoden vi kaller, GET. Dette er den vanligste metoden for å surfe på Internett. Når vi fyller ut en FORM, vil vi ofte kalle en POST-metode i stedet. Backslashen (/) etterpå betyr at vi spør etter den siden som ligger i rota på webserveren. Hvis vi fulgte linken <A HREF=" av datasystemer</a> kunne vi sendt denne minimale forespørselen til webserveren: GET /inf102/ HTTP/1.0 HTTP/1.0 betyr at vi bruker HTTP-protokollen, version 1.0. betyr av vi sender med en linje som det ikke står noen ting på. Når webserveren ser en slik tom linje, vet den at vi er ferdige med forespørselen vår. Ikke overraskende kan vi legge merke til at det som står inni link-tagen (mellom <A..> og </A>) ikke blir sendt til webserveren. I Appendix A kan du se hvordan du kan finne ut hva din webbrowser sender av informasjon. Den vil ganske sikkert sende over mer informasjon enn vårt minimale eksempel Websider med flere filer Mange websider inneholder referanser til andre filer. Disse filene kan for eksempel inneholde bilder, CSS (Cascade Style Sheets), Applets, lyd eller annen HTML-kode. La oss ta en enkel webside som eksempel: 3 Jeg skriver velger og ikke klikker fordi man kan surfe og velge linker på andre måten enn å bruke en mus. 4

5 <HTML> <HEAD> <LINK REL="stylesheet" HREF="style.css" TYPE="text/css" /> </HEAD> <BODY> <H1>Homepage</H1> <IMG SRC="topPicture.jpeg" ALT="banner" /> <P>Hello,... </P> <IMG SRC="bottomPicture.jpeg" ALT="banner" /> </BODY> </HTML> Først vil webbrowseren sende en spørring for å få siden med HTML-koden over. Så vil den for hver av referansene i HTML-koden sende en ny spørring for å få tak i de andre filer, totalt altså 4 spørringer (en for å få HTMLkoden, en for å få CSS filen (i LINK-tagen) og en sprørring for hvert av bildene). Disse spørringene vil være tilsvarende de vi har sett på. E.g. kan vi få tak i bildet toppicture.jpeg med GET /toppicture.jpeg HTTP/ Svaret fra webserveren Da vet vi hvordan en spørring til en webserver ser ut, men hva sender webserveren tilbake? Vi vet at vi får en del HTML-kode. Det er denne HTMLkoden som webbrowseren vår tolker og viser fram. Men vi får også en HTTP-header (som ikke har noe med HEAD-tagen i HTML) som sier noe om hvordan forespørselen gikk, hva innholdet av svaret er og diverse annet. For å se hele svaret vi får fra webserveren, kan vi bruke et program som heter telnet. Det er et enkelt program som kan brukes for å koble seg til forskjellge servere. Vi sender med to parametere til telnet; den første er URLen (Uniform Resource Locator, eller adressen til websiden) og den andre er hvilken port vi vil koble oss på. Port 80 er standard porten hvor webservere kobler seg på for å ta imot forespørsler. Vi kjører telnet i et vanlig term-vindu og ser hva vi får. Tallene til venstre er ikke med i kjøringen, de fungerer kun som referanser. Tekst i italic er input vi skriver inn (se linje 1 og 5). 1 kvile: bash> telnet Trying Connected to glitnir.ifi.uio.no. 4 Escape character is ˆ]. 5 GET / HTTP/ HTTP/ OK 8 Date: Tue, 11 Feb :14:13 GMT 9 Server: Apache/ (Unix) mod_perl/1.27 PHP/ Last-Modified: Tue, 11 Feb :10:02 GMT 11 Content-Length: ETag: "156b0-1be3-3e4959a" 5

6 13 Connection: close 14 Content-Type: text/html; charset=iso <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 17 <HTML> 18 <BODY>... x </BODY> xx </HTML> På linje 1 kjører vi kommandoen telnet Linje 2-4 er informasjon som vi får fra telnet-programmet. Webserveren er nå klar til å ta imot input fra tastaturet vårt. Vi skriver inn kallet vårt for å få nettsiden, GET / HTTP/1.0. Så trykker vi Enter for å avslutte linjen, og Enter ennå en gang for å sende en tom linje. Da vet webserveren at vi er ferdig med spørringen vår. Linje 7 og nedover er svaret vi får fra webserveren. Linje 7-14 er HTTPheaderen, etterfulgt av en blank linje (linje 15), og til slutt kommer HTTPbodyen/HTML-koden. Det er denne koden vi kan se i webbrowseren vår hvis vi velger "View Source". Linje 7 sier oss at serveren bruker HTTP-protokollen verson OK betyr at serveren forsto og behandlet spørringen korrekt. Du har kanskje iblant sett at det har stått "404 - Siden finnes ikke" når du har skrevet feil URL. Dette er tall som sier noe om hvordan spørringen vår mot serveren gikk. Date-feltet i linje 8 sier oss når spørringen ble utført. Server-feltet viser hva slags webserver som behandlet spørringen. Her ser vi at det er en Apache-server som kjører på Unix. Content-Length sier hvor lang bodyen er, i.e. hvor mange bytes selve HTML-koder er. Content-Type sier oss her at det er HTML-tekst i bodyen. Andre muligheter er e.g. image/jpeg hvis webserveren sender et JPEG-bilde. Hvilke felt webserveren sender vil variere fra webserver til webserver, både etter hva slags type det er og hvordan de er satt opp. Noen velger å ikke sende så mye informasjon av sikkerhetsmessige hensyn. Du kan jo kjøre telnet mot noen andre webservere å se hva du får. I flere webbrowsere kan man velge "View Page Info" for å få se (noe av) informasjonen i headeren. 2 Sende data med FORMs Da vet vi hvordan enkle spørriger foregår, men hvordan blir data sendt til en webserver når vi fyller ut en FORM? 2.1 GET-metoden Med GET-metoden er ting tilsvarende som med vanlig surfing. All informasjonen vi sender over er med i URLen. Vi kan tenke oss at vi fyller ut "Kvile" i INPUT-feltet i FORMen under: 6

7 <FORM ACTION="search.php" METHOD="get"> <INPUT NAME="searchFor" TYPE="text" /> <INPUT TYPE="submit" /> </FORM> Spørringen til webserveren blir da GET /?searchfor=kvile HTTP/1.0 Vi kunne også kalt denne metoden direkte med å skrive?searchfor=kvile på slutten av URLen. 2.2 POST-metoden POST-metoden er litt mer mystisk. La oss bruke samme FORM som i forrige avsnitt, men med METHOD satt til post. Vi vet vi sender over dataene, og at vi kan få tak i dem på serversiden med PHP-koden $searchfor = $_POST[ searchfor ]; Men hvordan blir dataene egentlig sendt? Jo, akkurat som svaret fra webserveren, så blir de sendt som en body i spørringen vår, e.g.: POST / HTTP/1.0 Content-Length: 15 searchfor=kvile Vi ser at metoden er erstattet med POST, ellers er spørringen ganske lik en GET-spørring. Forskjellen er at etter den tomme linjen følger en linje med alle dataene vi sender over. Hadde vi sendt over flere felt, kunne den siste linjen blitt searchfor=kvile&where=norway, tilsvarende hva som skjer når vi sender over flere felt med GET-metoden. 3 Sesjoner og cookies HTTP-protokollen (verson 1.0) er tilstandsløs. Det betyr at hvis vi gjør to spørringer mot en webserver, kan ikke serveren vite om vi er samme person/webbrowser som har gjort en spørring tidligere. Hver spørring vil være som om det kom fra en ny person. Men dette vet vi ikke stemmer. Når vi logger oss inn på nettbanken vår eller et annet sted hvor man må logge seg inn, så kan vi ofte gjøre flere spørringer mot webserveren etter å ha logget oss inn en gang og webserveren vet likevel at vi er oss. Dette er tilsvarene det som skjer når vi logger oss inn på websiden autentiser.php. Men hvordan kan webserveren vite at vi er oss etter at vi har logget oss på? Her brukes en teknologi som heter cookies. 7

8 3.1 Cookies En cookie en liten tekststreng med informasjon som lagres på klientsiden, altså i vår webbrowser. Når vi kommer til en webserver som bruker cookies, vil webserveren be oss ta vare på en cookie. Det blir gjort ved at den sender et (eller flere) cookie-felt i headeren. Denne informasjonen blir da tatt vare på hos oss, og vi sender den til webserveren hver gang vi gjør en spørring mot den 4. Ofte brukes cookies som en session-id slik at webserveren kan vite hvem vi er. Når vi skriver session_start() i PHP-koden vår, vil vi skjekke om vi har fått med en cookie-id fra webbrowseren. Hvis ikke, så lager webserveren et cookie-felt i headeren som webbrowseren vil ta vare på. Svaret fra webserveren kan da se slik ut: HTTP/ OK Set-Cookie: id=" " <HTML>... </HTML> Legg merke til Set-Cookie-feltet. Neste gang webbrowseren vår gjør et kall til webserveren vil vi sende med denne informasjonen slik: GET / HTTP/1.0 Cookie: id=" " 3.2 Avansert: Cookies og sikkerhet Hvis en klient hadde fått tak i cookien til en annen klient kunne den gitt seg ut får å være den andre klienten. Heldigvis er det restriksjoner på hvem som har tilgang til hvilke cookies slik at det ikke er en triviell sak å stjele cookies/sessions. Det kan dog nevnes at de fleste/alle obligene som blir levert i INF102 vil ha sikkerhethull som gjør det mulig å stjele cookies og dermed mulighet for å gi seg ut som en annen person. Siden sikkerhet ikke er en del av kurset, trenger dere ikke å bry dere om dette, men det kan være bra å være klar over det. Du kan jo tenke på om du ser noen sikkerhetshull i oppgaven som gruppen din har levert. Siden cookies blir lagret på klientsiden, kan en webserver gjøre uønskede handlinger mot en usikker webbrowser. Dette kan være å oversvømme en webbrowser med cookies, få tilgang til cookies den ikke skal ha eller å få en klient til å oppgi sensitiv informasjon. 4 Dette er litt forenklet forklart. For det første kan vi velge om vi vil ta vare på en cookie, og vi kan velge om vi vil sende den til webserveren. Ofte tar webbrowseren seg at dette uten at vi engang vet at vi bruker cookies. 8

9 A Kode - En enkel webserver Her er et enkelt Java-program som vil gi oss all informasjonen som webbrowseren vår sender til en webserver. Dette Java-programmet kan lastes ned fra Etter at du har kompilert det med javac SimpleWebServer.java og startet det med java SimpleWebServer kan du bruke webbrowseren din til å åpne URLen localhost:2345 eller : En annen interessant ting å merke seg er at programmet under faktisk er en (ekstrem simpel) webserver på under 30 linjer. import java.io.*; public class SimpleWebServer { static int port = 2345; static String reply = "HTTP/ OK\nType: text/plain\n\n"; static void service(inputstreamreader isr, OutputStreamWriter osw) { char[] inchars = new char[1024]; try { int bytesread = isr.read(inchars, 0, 1024); // Read request. System.out.println(new String(inChars)); // Print request. osw.write(reply, 0, reply.length()); // Send the request osw.write(inchars, 0, bytesread); // back to client. osw.flush(); osw.close(); } catch (IOException e) {System.err.println(e);} } } public static void main(string args[]){ try { java.net.serversocket ss = new java.net.serversocket(port); while (true) { java.net.socket s = ss.accept(); //waiting for request service(new InputStreamReader(s.getInputStream()), new OutputStreamWriter(s.getOutputStream())); s.close(); } } catch (IOException e) {System.err.println(e);} } A.1 Spørring fra en webbrowser Etter at du har startet SimpleWebServer kan du enkelt finne ut hva din webbrowser sender av informasjon. Her kan du se spørringen som min Mozilla-webbrowser sendte når jeg ba den åpne :2345. GET / HTTP/1.1 Host: :2345 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-us; rv:1.2) Gecko/ er en reservert IP-adresse som betyr det samme som localhost, altså samme maskin som programmet kjører på. :2345 betyr at programmet skal snakke med port 2345, samme port som vi kjører vårt SimpleWebServer-program. 9

10 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9, text/plain;q=0.8,video/x-mng,image/png,image/jpeg, image/gif;q=0.2,text/css,*/*;q=0.1 Accept-Language: en-us, en;q=0.50 Accept-Encoding: gzip, deflate, compress;q=0.9 Accept-Charset: ISO , utf-8;q=0.66, *;q=0.66 Keep-Alive: 300 Connection: keep-alive 10

Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP.

Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP. 1 Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP. (Læreboka kapittel 2-5) Legg merke til den første blokken,

Detaljer

Intro til WWW, HTML5 og CSS

Intro til WWW, HTML5 og CSS Intro til WWW, HTML5 og CSS Håkon Tolsby 20.08.2015 Håkon Tolsby 1 World Wide Web Webserver: Programvare som distribuerer websider og/eller maskin hvor programmet kjører Webbrowser (nettleser): Program

Detaljer

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider: Fra sist JSP - 2 Installasjon av Web-tjener Et enkelt JSP-script HTML statisk Forms Tags Ønsker dynamiske nettsider: Klientside-script/programmering Javascript, vbscript, applets Tjenerside-script/programmering

Detaljer

Innføring i bruk av CGI4VB

Innføring i bruk av CGI4VB Innføring i bruk av CGI4VB Her kommer en enkel innføring i bruk av modulen CGI4VB som kan benyttes for å lage CGI programmer i Visual Basic. CGI er en forkortelse for Common Gateway Interface den kommunikasjonsprotokollen

Detaljer

Eksamen i Internetteknologi Fagkode: ITE1526

Eksamen i Internetteknologi Fagkode: ITE1526 Datateknikk Side 1 av 8 Eksamen i Internetteknologi Fagkode: ITE1526 Tid: Mandag, 23.05.05, 9:00-12:00 Tillatte hjelpemidler: Alle trykte og skrevne hjelpemidler tillatt. Eksamen består av 3 oppgaver og

Detaljer

6105 Windows Server og datanett

6105 Windows Server og datanett 6105 Windows Server og datanett Leksjon 9 Web, HTTP og IIS Applikasjonslaget i Internett Web protokollen: HTTP Webtjeneren IIS Utskrift med HTTP i Internett Pensum Kvisli: Windows Server og datanett, Kap.

Detaljer

Http- og WebServices funksjoner

Http- og WebServices funksjoner Http- og WebServices funksjoner Side 1 Innholdsfortegnelse Innholdsfortegnelse Introduksjon Hvordan bruke HTTP(S) POST/GET funksjonene i TakeCargo Sende meldinger Motta meldinger (get) Oversikt over WebServices

Detaljer

Innføring i bruk av CGI4VB

Innføring i bruk av CGI4VB Innføring i bruk av CGI4VB Her kommer en enkel innføring i bruk av modulen CGI4VB som kan benyttes for å lage CGI programmer i Visual Basic. CGI er en forkortelse for Common Gateway Interface den kommunikasjonsprotokollen

Detaljer

Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2)

Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2) Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2) Iskra Fadzan og Arianna Kyriacou 25.mars 2004 Innhold 1 Hovedmål 2 2 Mål 2 3 Bakgrunn 3 4 Krav 4 1 1 Hovedmål I dette prosjektet skal vi se nærmere

Detaljer

SMART hus via nettleseren

SMART hus via nettleseren itoginnovasjon.no.217.171.192.197.xip.io http://www.itoginnovasjon.no.217.171.192.197.xip.io/wikis/smart-hus-via-nettleseren/ SMART hus via nettleseren SMART hus via nettleseren: Det vi har gjort nå er

Detaljer

Oblig 4Hybelhus litt mer tips enn i oppgaven

Oblig 4Hybelhus litt mer tips enn i oppgaven Oblig 4Hybelhus litt mer tips enn i oppgaven lørdag 19. okt 2013 Arne Maus Obligatorisk oppgave 4 Gulbrand Grås husleiesystem I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer,

Detaljer

INF2100. Oppgaver 9. oktober 2012 C 100 X 10

INF2100. Oppgaver 9. oktober 2012 C 100 X 10 INF2100 Oppgaver 9. oktober 2012 Oppgave 1 Vi skal se på et meget enkelt språk E som består av uttrykk med de fire vanligste regneartene +,, * og /; grammatikken 1 ser du i figur 1 på neste side. Tallkonstanter

Detaljer

Nyttige Linux-kommandoer. Hvordan du kan jobbe mer effektivt Dag Langmyhr

Nyttige Linux-kommandoer. Hvordan du kan jobbe mer effektivt Dag Langmyhr Nyttige Linux-kommandoer Hvordan du kan jobbe mer effektivt Dag Langmyhr Trenger vi kommandovinduer i dag? Svaret er nei for de fleste brukerne, men ikke for ekspertene. Ofte går det fortere å bruke kommandoer

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 11. mai 2004 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LV197D Webprogrammering med PHP FU Studiepoeng:

Detaljer

INF2100. Oppgaver 6. og 11. oktober 2011 C 100 X 10

INF2100. Oppgaver 6. og 11. oktober 2011 C 100 X 10 INF2100 Oppgaver 6. og 11. oktober 2011 Oppgave 1 Vi skal se på et meget enkelt språk E som består av uttrykk med de fire vanligste regneartene +,, * og /; grammatikken 1 ser du i figur 1 på neste side.

Detaljer

Innocent Code Kapittel 1: The Basics Kapittel 2: Passing Data to Subsystems

Innocent Code Kapittel 1: The Basics Kapittel 2: Passing Data to Subsystems Innocent Code Kapittel 1: The Basics Kapittel 2: Passing Data to Subsystems INF329, høsten 2005 Utvikling av sikre applikasjoner Martin Lie martin@mq.no 2005-11-02 Kapittel 1: The Basics HTTP Sesjoner

Detaljer

INF2100. Oppgaver uke 40 og

INF2100. Oppgaver uke 40 og INF2100 Oppgaver uke 40 og 41 2014 For å få trening i å programmere en parser, skal vi aller først gjøre det for et veldig enkelt programmeringsspråk: E. Dette språket består av uttrykk med de fire vanligste

Detaljer

INF1010 MVC i tekstbaserte programmer

INF1010 MVC i tekstbaserte programmer INF1010 MVC i tekstbaserte programmer Marit Nybakken marnybak@ifi.uio.no 9. februar 2004 Marit har ingen utdanning innen systemutvikling og vet antageligvis ikke hva hun prater om. Hun har dog skumlest

Detaljer

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller. Dagens forelesning Java 13 Design av større programmer : fordeling av roller INF 101-13. mars 2003 Flere eksempler på bruk av objekter MVC-prinsippet MVC-prinsippet Flere eksempler på programmer med objekter

Detaljer

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive, 1. Last ned og installer XAMPP. 2. Sjekk at alt fungerer. 3. MySQL. Vi begynner med databaseserveren, MySQL. Gå til DOS klarmelding eller ledetekst (finnes under tilbehør på startmenyen om du ikke som

Detaljer

Web fundamentals. Web design. Frontend vs. Backend 17.01.2008. Webdesign 17. januar 2008 3. Monica Strand

Web fundamentals. Web design. Frontend vs. Backend 17.01.2008. Webdesign 17. januar 2008 3. Monica Strand Web fundamentals Webdesign 17. januar 2008 Monica Strand Webdesign 17. januar 2008 1 Web design Fagområdet Web design inneholder flere disipliner Grafisk design Informasjonsdesign Brukergrensesnittdesign

Detaljer

1. Finn klassene (hvilke objekter er det i problemet) 1. Dataene som beskriver problemet (hvilke objekter har vi og hvor mange klasser er det?

1. Finn klassene (hvilke objekter er det i problemet) 1. Dataene som beskriver problemet (hvilke objekter har vi og hvor mange klasser er det? Obligatorisk oppgave 3 Gulbrand Grås husleiesystem Oblig 3hus litt mer tips enn i oppgaven I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer, nummerert fra -3. I hver etasje

Detaljer

Innstallasjon og oppsett av Wordpress

Innstallasjon og oppsett av Wordpress Del 1 - Installasjon og oppsett Innstallasjon og oppsett av Wordpress Wordpress har blitt en veldig populær publiseringsplattform for websider. Uten særlige tekniske ferdigheter kan man sette opp profesjonelle

Detaljer

Program socket server

Program socket server Program socket server // Dette programeksempelet oppretter en server som // kan motta meldinger fra klienter. // Serveren er laget som en synchronous socket, // så serveren venter på at klienter skal //

Detaljer

INF2100. Oppgaver 23. og 24. september 2010

INF2100. Oppgaver 23. og 24. september 2010 INF2100 Oppgaver 23. og 24. september 2010 Oppgave 1 Vi skal se på et meget enkelt språk E som består av uttrykk med + og ; grammatikken ser du i figur 1 på neste side. Tallkonstanter består av bare ett

Detaljer

Hvordan å lage og publisere ditt personlige visittkort

Hvordan å lage og publisere ditt personlige visittkort Hvordan å lage og publisere ditt personlige visittkort Av Asle Skauge Dette skal være en bruksanvisning som alle kan følge for å få lagt ut sitt personlige visittkort på internett. Hensikten med et slikt

Detaljer

Email og WWW. Erik Hjelmås, HiG. 22. juni 2000

Email og WWW. Erik Hjelmås, HiG. 22. juni 2000 Email og WWW Erik Hjelmås, HiG 22. juni 2000 1 Mål 1. Beherske bruk av email med mailprogrammet Eudora Light, og vite litt om hva slags forskjellige måter du kan benytte mail på og hvilke tjenester du

Detaljer

Applikasjoner. Disposisjon. overføringsproblematikk navnetjener world wide web epost. 5/9/2006 Slide 1

Applikasjoner. Disposisjon. overføringsproblematikk navnetjener world wide web epost. 5/9/2006 Slide 1 Applikasjoner Disposisjon overføringsproblematikk navnetjener world wide web epost 5/9/2006 Slide 1 Network applications: some jargon A process is a program that is running within a host. Within the same

Detaljer

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program Oversikt INF1000 Uke 1 time 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning

Detaljer

Kapittel 9. Distribusjon. Fjernbruker. Tjenermaskin LAN WAN. Nærbruker. Figur 9-1: En enkel klient/tjener distribusjon

Kapittel 9. Distribusjon. Fjernbruker. Tjenermaskin LAN WAN. Nærbruker. Figur 9-1: En enkel klient/tjener distribusjon Kapittel 9 Distribusjon Tjenermaskin Fjernbruker LAN Nærbruker WAN Figur 9-1: En enkel klient/tjener distribusjon 195 Tjenermaskin Fjernbruker LAN Replikert tjener Nærbruker WAN Figur 9-2: Klient/tjener-konfigurasjon

Detaljer

Webformularer, PHP og databaser

Webformularer, PHP og databaser PHP-arkitektur Webformularer, PHP og databaser Jfr Fra kjernen og ut, fra skallet og inn Appendix B WWWklient Netscape, Internet Explorer, Opera Dynamisk web-side bygges opp på grunnlag av spørring mot

Detaljer

6107 Operativsystemer og nettverk

6107 Operativsystemer og nettverk 6107 Operativsystemer og nettverk Labøving 5 Transportlaget: porter, forbindelser og pakkeformater Introduksjon I denne øvingen skal du studere TCP-protokollen og hvordan TCP etablerer og lukker forbindelser

Detaljer

Sikkerhet og internett. Kan vi være vi trygge? Kan vi beskytte oss? Bør vi slå av nettet

Sikkerhet og internett. Kan vi være vi trygge? Kan vi beskytte oss? Bør vi slå av nettet Sikkerhet og internett Kan vi være vi trygge? Kan vi beskytte oss? Bør vi slå av nettet Stoler du på denne mannen? 28.01.2009 Om sikkerhet på Internettet ved Hans Nordhaug 2 Jepp Derfor fant du i januar

Detaljer

Å lese tall fra en fil, klassen Scanner

Å lese tall fra en fil, klassen Scanner Å lese tall fra en fil, klassen Scanner 1. Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2. Kan skanne teksten etter data av ulike typer. 3. Kan kun skanne framover i teksten. Vis

Detaljer

Kjøre Wordpress på OSX

Kjøre Wordpress på OSX Kjøre Wordpress på OSX Alt etter hva du ønsker å bruke Webserveren til er det flere måter å gjøre dette på. Ønsker du kun en side som skal dele sider du lager manuelt, med PHP, GD etc eller med server

Detaljer

User Input / Output Handling. Innocent Code kap 3-4 INF-329 Øystein Lervik Larsen oysteinl@ii.uib.no 7/11-05

User Input / Output Handling. Innocent Code kap 3-4 INF-329 Øystein Lervik Larsen oysteinl@ii.uib.no 7/11-05 User Input / Output Handling Innocent Code kap 3-4 INF-329 Øystein Lervik Larsen oysteinl@ii.uib.no 7/11-05 Oversikt Bruker-input (kap. 3) Hva er input? Validering av input Behandle ugyldig input Farer

Detaljer

INF1010, 15. januar 2014 2. time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

INF1010, 15. januar 2014 2. time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo INF1010, 15. januar 2014 2. time Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Repetisjon fra gamle dager: Metoder med parametre En metode uten parameter:

Detaljer

INF 1010, vår 2005 Løsningsforslag uke 11

INF 1010, vår 2005 Løsningsforslag uke 11 INF 1010, vår 2005 uke 11 Anders Brunland 11. april 2005 Oppgave 1 Oppgave 1 i kapittel 19, Rett på Java Er følgende metoder lovlige? Hovorfor/hvorfor ikke? a) void koknverter ( int mnd ) { konverterdato

Detaljer

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4 Forelesning inf - Java 4 Repetisjon: arrayer Tema: Løkker Arrayer Metoder Ole Christian Lingjærde,. september Deklarere og opprette array - eksempler: int[] a = new int[]; String[] a = new String[]; I

Detaljer

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Page 1 Page 2 Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Introduksjon Michael Preminger (michaelp@hio.no) 23/08-06 I denne forelesningen: Motivasjon: Hvorfor vi lærer å programmere

Detaljer

Forelesning inf Java 4

Forelesning inf Java 4 Forelesning inf1000 - Java 4 Tema: Løkker Arrayer Metoder Ole Christian Lingjærde, 12. september 2012 Ole Chr. Lingjærde Institutt for informatikk, 29. august 2012 1 Repetisjon: arrayer Deklarere og opprette

Detaljer

Introduksjon til nettverksteknologi

Introduksjon til nettverksteknologi Avdeling for informatikk og e- læring, Høgskolen i Sør- Trøndelag Introduksjon til nettverksteknologi Olav Skundberg og Boye Holden 23.08.13 Lærestoffet er utviklet for faget IFUD1017- A Nettverksteknologi

Detaljer

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse

Detaljer

Socket og ServerSocket

Socket og ServerSocket Side 1 av 5, socket og klient-tjener, V. Holmstedt, HiO 2006 Dette dokumentet er revidert den 29.8.2006, kl:12:30. Det er foretatt rettelser i begge versjoner av klassen A_Server. Socket og ServerSocket

Detaljer

Et forsøk på definisjon

Et forsøk på definisjon Et forsøk på definisjon [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 21/08-16 Engelsklignende språk, med rigid syntaks, som kan brukes til å skrive instruksjoner (eksempel

Detaljer

Kapittel 1: Datamaskiner og programmeringsspråk. Java som første programmeringsspråk

Kapittel 1: Datamaskiner og programmeringsspråk. Java som første programmeringsspråk Kapittel 1: Datamaskiner og programmeringsspråk Forelesningsnotater for: Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag, 2003. ISBN 82-02-23274-0

Detaljer

the web Introduksjon Lesson

the web Introduksjon Lesson Lesson 1 the web All Code Clubs must be registered. Registered clubs appear on the map at codeclub.org.uk - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do. Introduksjon

Detaljer

LO130A Webpublisering. Forelesning 1 23.08.04

LO130A Webpublisering. Forelesning 1 23.08.04 LO130A Webpublisering Forelesning 1 23.08.04 1 I dag Leksjon 1: Internett, webservere og nettlesere. Leksjon 2: Innledende om (X)HTML. 2 Kort om historien til INTERNETT ARPA-net (Advanced Research Project

Detaljer

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy Kapittel 13 Advanced Hypertext Implementation Martin Lie Ole Kristian Heggøy 08.11.04 Forbedring av arkitektur Problem med alt i ett -løsning: Spredning av forretningslogikk. Avhengighet mellom presentasjonssider

Detaljer

Applikasjoner. System arkitektur. Network applications: some jargon. Client-server paradigm

Applikasjoner. System arkitektur. Network applications: some jargon. Client-server paradigm Applikasjoner Network applications: some jargon Disposisjon overføringsproblematikk navnetjener world wide web epost A process is a program that is running within a host. Within the same host, two processes

Detaljer

Hittil har programmene kommunisert med omverden via tastatur og skjerm Ønskelig at data kan leve fra en kjøring til neste

Hittil har programmene kommunisert med omverden via tastatur og skjerm Ønskelig at data kan leve fra en kjøring til neste Datafiler og serialisering Tekstfiler Scanner klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc191d.php

Detaljer

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være

Detaljer

Oblig 5 Webutvikling. Av Thomas Gitlevaag

Oblig 5 Webutvikling. Av Thomas Gitlevaag Oblig 5 Webutvikling Av Thomas Gitlevaag For oppgave 1 og 2 skal dere levere en funksjonell webside på deres hjemmeområde. Dere skal også levere alle phps-filene slik at man for en hver side kan slenge

Detaljer

Et forsøk på definisjon. Eksempel 1

Et forsøk på definisjon. Eksempel 1 [Kurssidene] [ ABI - fagsider bibin ] Introduksjon Michael Preminger (michael.preminger@hioa.no) 13/12-13 I denne forelesningen: Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 Motivasjon:

Detaljer

Operativsystemer og nettverk Løsningsforslag til eksamen 01.12.2014. Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram:

Operativsystemer og nettverk Løsningsforslag til eksamen 01.12.2014. Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram: Operativsystemer og nettverk Løsningsforslag til eksamen 01.12.2014 Oppgave 1 a) Linux-kommando: java Beregn & b) Shellprogram: java Beregn & java Beregn Eventuelt, hvis man vil gjøre det med bare en linje

Detaljer

Argumenter fra kommandolinjen

Argumenter fra kommandolinjen Argumenter fra kommandolinjen Denne veiledningen er laget for å vise hvordan man kan overføre argumenter fra kommandolinjen til et program. Hvordan transportere data fra en kommandolinje slik at dataene

Detaljer

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF 101 - Grunnkurs i objektorientert programmering Eksamensdag : Tirsdag 4. juni 2002 Tid for eksamen : 09.00-15.00 Oppgavesettet

Detaljer

Bruk av Spark. ikke til dytting og sitting. Universitetet i Tromsø 22. mars Torbein Kvil Gamst Bruk av Spark, Side 1

Bruk av Spark. ikke til dytting og sitting. Universitetet i Tromsø 22. mars Torbein Kvil Gamst Bruk av Spark, Side 1 Bruk av Spark ikke til dytting og sitting Universitetet i Tromsø 22. mars 2010 Torbein Kvil Gamst Bruk av Spark, Side 1 Direktemelding, eller instant messaging (IM) Direktemelding, eller instant messaging

Detaljer

LAB-L SETTE OPP MICROSOFT SERVER 2003

LAB-L SETTE OPP MICROSOFT SERVER 2003 Av Erik Espenakk JEG BEGYNNER MED EN FRISK INSTALLASJON AV WINDOWS SERVER. Her kan du legge til diverse server applikasjoner. Legg til DNS og Applikasjons server Her har jeg satt opp en Application server

Detaljer

Sikkerhet og internett

Sikkerhet og internett Sikkerhet og internett Kan vi være vi trygge? Kan vi beskytte oss? Bør vi slå av nettet Stoler du på denne mannen? 25.01.2008 Om sikkerhet på Internettet ved Hans Nordhaug 2 1 Nei? Og likevel er du på

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 17.desember 2001 Varighet: 0900-1300 Fagnummer: LV192D Fagnavn: Web-programmering med ASP Klasser: 1hsf Vekttall:

Detaljer

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen Forkurs INF1010 Dag 1 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Tuva Kristine Thoresen (tuvakt@ifi.uio.no) Institutt for Informatikk, 6. januar 2014 Forkurs INF1010 - dag 1 Hello, World! Typer Input/output

Detaljer

KTN1 - Design av forbindelsesorientert protokoll

KTN1 - Design av forbindelsesorientert protokoll KTN1 - Design av forbindelsesorientert protokoll Beskrivelse av A1 A1 skal tilby en pålitelig, forbindelsesorientert tjeneste over en upålitelig, forbindelsesløs tjeneste A2. Det er flere ting A1 må implementere

Detaljer

Forord. Brukerveiledning

Forord. Brukerveiledning Forord Dette dokumentet er ment for brukere og administratorer som vil overvåke ressursene som brukes av JVM. Det gir en rask og generisk introduksjon til installasjonen av de forskjellige verktøyene som

Detaljer

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Løsningsforslag

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Løsningsforslag Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 7 Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert

Detaljer

Forelesning 23/9-08 Webprog 1. Tom Heine Nätt

Forelesning 23/9-08 Webprog 1. Tom Heine Nätt Forelesning 23/9-08 Webprog 1 Tom Heine Nätt Kursinfo Tom Heine Nätt E-post: tom.h.natt@hiof.no Mobil: 92012120 MSN: thnatt@hotmail.com All nødvendig info (forhåpentligvis) finnes på kursets webside: http://www.it.hiof.no/webprog1

Detaljer

INF2100. Oppgaver 26. september til 1. oktober 2007

INF2100. Oppgaver 26. september til 1. oktober 2007 INF2100 Oppgaver 26. september til 1. oktober 2007 1 Språket Denne uken skal vi implementere en utvidelse av språket fra forrige ukes oppgave. Syntaksen er vist i figur 1 på neste side og betydning er

Detaljer

Teknisk informasjon om bruk av BankID - Ansattes bruk av nettbank fra arbeidsplassen

Teknisk informasjon om bruk av BankID - Ansattes bruk av nettbank fra arbeidsplassen Teknisk informasjon om bruk av BankID - Ansattes bruk av nettbank fra arbeidsplassen Dette notatet gir teknisk informasjon om hvordan man kan løse problemer dersom BankID ikke virker som det skal. Informasjonen

Detaljer

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og

Detaljer

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus Introduksjon til programmering og programmeringsspråk Henrik Lieng Høgskolen i Oslo og Akershus Kategorisering av programmeringsspråk? Deklarativ vs. imperativ Lav nivå vs. høy nivå Kompilert vs. tolket

Detaljer

INF1000-SIKT - Notat om I/O i Java

INF1000-SIKT - Notat om I/O i Java INF1000-SIKT - Notat om I/O i Java Tuva Kristine Thoresen tuvakt@ulrik.uio.no 30. oktober 2013 Innhold 1 Innlesning fra terminal 2 1.1 Innlesning av tekst........................ 2 1.2 Innlesning av tall.........................

Detaljer

TOD063 Datastrukturer og algoritmer

TOD063 Datastrukturer og algoritmer TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage

Detaljer

Administrering av SafariSøk

Administrering av SafariSøk Administrering av SafariSøk Administrering av SafariSøk Revisjonshistorie Revisjon $Revision: 1.6 $ $Date: 2003/08/05 12:44:02 $ Innholdsfortegnelse 1. Om programmet... 1 Generelt... 1 2. Fremgangsmåter...

Detaljer

BEDRIFTENS NETTSIDE 24. NOVEMBER 2016

BEDRIFTENS NETTSIDE 24. NOVEMBER 2016 BEDRIFTENS NETTSIDE 24. NOVEMBER 2016 Introduksjon Del 1: En liten ordbok Del 2: Planlegg nettsiden Del 3: Publisering av nettsiden Del 4: Markedsføring av nettsiden MUNCH DESIGN Munch design Christine

Detaljer

$antall_maaneder =12; Variablene $pris og $antall_maaneder i eksemplet ovenfor har

$antall_maaneder =12; Variablene $pris og $antall_maaneder i eksemplet ovenfor har Et program som legger sammen to brukergitte tall må hente det ene hente det andre legge tallene sammen [Kurssidene] [ ABI - fagsider bibin ] presentere resultatet. Mellom operasjonene må data tas vare

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 14.desember 2007 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasser: LO347D Web-applikasjoner med Java EE Nettstudenter

Detaljer

INF1010 våren 2017 Onsdag 25. januar. Litt om unntak i Java

INF1010 våren 2017 Onsdag 25. januar. Litt om unntak i Java INF1010 våren 2017 Onsdag 25. januar Litt om unntak i Java Stein Gjessing Nytt tema: Feilhåndtering (IO: Innlesing/Utskrift) n En metode som kan komme til å gjøre en IO-feil på fil må enten behandle denne

Detaljer

INF1010 våren 2018 tirsdag 23. januar

INF1010 våren 2018 tirsdag 23. januar INF1010 våren 2018 tirsdag 23. januar I/O og litt om bruk av unntak i Java Stein Gjessing Lesing fra terminal og fil navn: mininn Bruk Scanner: Scanner mininn = new Scanner(); Type: Scanner boolean

Detaljer

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon Kort om meg INF1000 Uke 2 Variable, enkle datatyper og tilordning Fredrik Sørensen Kontor: Rom 4311-NR, Informatikkbygget Brukernavn/e-post: fredrso@ifi.uio.no Utdanning: Dataingeniør, 2000 Cand.Scient,

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 4.desember 2008 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasser: LO347D/LN347D Web-applikasjoner med Java EE Nettstudenter

Detaljer

Web-programmering med JSP Løsningsforslag leksjon 4

Web-programmering med JSP Løsningsforslag leksjon 4 Web-programmering med JSP Løsningsforslag leksjon 4 Oppgave 1 String adr = request.getremoteaddr() ; out.println(adr); Oppgave 2 Først her kommer HTML-filen med JavaScript et vi lagde i forrige leksjon.

Detaljer

6107 Operativsystemer og nettverk

6107 Operativsystemer og nettverk 6107 Operativsystemer og nettverk Labøving 6c IP versjon 6 Oppgave 1 IPv6 kommandoer i Linux Ubuntu Server har en Linux kjerne som er IPv6 kompatibel. Distribusjonen har også en del ipv6 verktøy ferdig

Detaljer

INF1000 : Forelesning 4

INF1000 : Forelesning 4 INF1000 : Forelesning 4 Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet

Detaljer

Et forsøk på definisjon. Eksempel 1

Et forsøk på definisjon. Eksempel 1 Et forsøk på definisjon [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michael.preminger@hioa.no) 19/08-15 Engelsklignende språk, med rigid syntaks, som kan brukes til å skrive instruksjoner

Detaljer

Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF Høst 2011)

Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF Høst 2011) Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF1000 - Høst 2011) Variabler, uttrykk, fogreninger (if-else) (kapittel 2 og 4.1-4.2 i læreboka, "Rett på Java" 3. utg.) Mål Få trening i teorien du trenger

Detaljer

Syntaksanalyse. Skanner (repetisjon) Parsering top-down bottom-up LL(1)-parsering Recursive descent Forutsetninger. IN 211 Programmeringsspråk

Syntaksanalyse. Skanner (repetisjon) Parsering top-down bottom-up LL(1)-parsering Recursive descent Forutsetninger. IN 211 Programmeringsspråk Syntaksanalyse Skanner (repetisjon) Parsering top-down bottom-up LL(1)-parsering Recursive descent Forutsetninger Ark 1 av 26 Forelesning 15.10.2001 Syntaksanalyse En parser er et program som analyserer

Detaljer

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4 Repetisjon: nesting av løkker Kort repetisjon av doble (nestede) løkker Mer om D-arrayer Introduksjon til D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk

Detaljer

Kom forberedt til tirsdag. INF1000 Tips til obligatorisk oppgave 4. Noen generelle tips. Oblig4: Komme igang

Kom forberedt til tirsdag. INF1000 Tips til obligatorisk oppgave 4. Noen generelle tips. Oblig4: Komme igang Kom forberedt til tirsdag INF1000 Tips til obligatorisk oppgave 4 Kikk på prøveeksamen fra 2004 http://www.uio.no/studier/emner/matnat/ifi/inf1000/h 07/undervisningsmateriale/proveeksamen-H2004.pdf Tittel:

Detaljer

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:

Detaljer

HTML: Del inn nettsiden

HTML: Del inn nettsiden HTML: Del inn nettsiden Erfaren Web Introduksjon Målet med denne oppgaven er å lære hvordan man kan organisere en nettside ved å dele den inn med forskjellige tagger. Dersom du ikke er kjent med tagg-strukturen

Detaljer

Systemarkitektur. Webformularer, PHP og databaser. Hva skal applikasjonsprogrammet gjøre? PHP. Ta i mot data fra brukergrensesnittskjermbildet

Systemarkitektur. Webformularer, PHP og databaser. Hva skal applikasjonsprogrammet gjøre? PHP. Ta i mot data fra brukergrensesnittskjermbildet Systemarkitektur Virkeligheten (interesseområdet) Webformularer, PHP og databaser Dynamisk webside bygges evt opp på grunnlag av spørring mot databasen Jfr Fra kjernen og ut, fra skallet og inn Appendix

Detaljer

Forelesning inf Java 5

Forelesning inf Java 5 Ole Chr. Lingjærde 1 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen

Detaljer

JSP. Tilstander og synkronisering

JSP. Tilstander og synkronisering JSP Tilstander og synkronisering Tilstandsinformasjon Fire måter å gjøre det på omskriving av URL cookies hidden fields (gjemte felt) tjenersidelagring (sessions) se kreativbrukavurl.jsp Kreativ bruk av

Detaljer

HUMIT1731. Tekstkoding. Koding/merking av tekst Uke 35. Tekster som teknologiske produkter. Koding/merking på flere nivå. Utvikling av notesystemet

HUMIT1731. Tekstkoding. Koding/merking av tekst Uke 35. Tekster som teknologiske produkter. Koding/merking på flere nivå. Utvikling av notesystemet HUMIT1731 Koding/merking av tekst Uke 35 Tekstkoding Representasjon av info, om visse aspekter ved tekster, så som Typografi Innhold Struktur Annet på en eksplisitt, systematisk og formalisert måte HUMIT1731

Detaljer

Forelesning inf Java 5

Forelesning inf Java 5 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen til et Java-program

Detaljer

Konstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:

Konstruktører. Bruk av konstruktører når vi opererer med enkle klasser er ganske ukomplisert. Når vi skriver. skjer følgende: Konstruktører Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver Punkt p = new Punkt(3,4); class Punkt { skjer følgende: int x, y; 1. Det settes av plass i

Detaljer

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Page 1 Page 2 [Kurssidene] [ JBI] [ ] Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Vi kommer for det meste til å bruke while-løkker, men for-løkker anses viktige å kjenne til Michael

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Kontinuasjonseksamen i : Eksamensdag : INF1000 Grunnkurs i objektorientert programmering Fredag 7. januar Tid for eksamen : 09.00

Detaljer

Forelesning inf Java 1

Forelesning inf Java 1 Forelesning inf1000 - Java 1 Tema: Javas historie Bestanddelene i et Java-program Programvariabler Ole Christian Lingjærde, 22. august 2012 Litt Java-historikk The Green Team I 1991 opprettet Sun Microsystems

Detaljer

Lage klubbens webside i Rotary med verktøyet Webwiz 2.0

Lage klubbens webside i Rotary med verktøyet Webwiz 2.0 Lage klubbens webside i Rotary med verktøyet Webwiz 2.0 Versjon 1.0 av DICO 2250 25.04.2011 Det å lage en webside uten å ha kjennskap til dette fra før, kan virke vanskelig, men ikke fortvil. Det går alltid

Detaljer