9 Kohti seittiohjelmointia

Koko: px
Aloita esitys sivulta:

Download "9 Kohti seittiohjelmointia"

Transkriptio

1 9 Kohti seittiohjelmointia Seuraavaksi tarkastelemme "oikean" WWW-ohjelmoinnin perusteita. Tarkoituksena ei ole vankan WWW-ohjelmoinnin oppiminen, vaan lähinnä eri ratkaisumallien esittely jotta ohjelmoinnin perusperiaatteet tulisivat läpikäydyiksi ( näkemys ja tulevien opintojen perusta). WWW-ohjelmointia voi TTY:llä yksityiskohtaisemmin opiskella esim. Seittiohjelmointi-kurssilla. Dynaamisen, käyttäjät tunnistavan tai helposti ylläpidettävän WWWhypermedian tekeminen edellyttää ohjelmointityötä. WWW:n asiakas-palvelin -mallista johtuen WWW-ohjelmointi suuntautuu kahteen erityyppisen ohjelmointiympäristöön - asiakas: WWW-selaimet (selaimen skriptiohjelmointi; esim. JavaScript, applettien ohjelmointi; käytännössä Javalla, komponenttiohjelmointi; esim. ActiveX-kehittimellä, plug-in-ohjelmointi; esim. C++:lla) - palvelin: WWW-palvelimet (CGI-ohjelmointi, Java-ohjelmointi; esim. Servletit, erilaisiin WWW-moduuleihin perustuva ohjelmointi, esim. PHP, yleinen palvelinohjelmointi, esim. Java/C/Python/Perl-kieliset palvelinohjelmat) HYPERMEDIAN PERUSTEET (syksy 2003) 223

2 Ohjelmoinnin perusperiaatteet purevat tietenkin kaikkialla (suunnittelun ja dokumentoinnin merkitys, ohjelmien jako moduuleihin tai luokkiin, kehitysympäristön std-luokkien & rajapintojen käytön opettelu, jne.) Eri menetelmät vaativat kuitenkin erityistä erityisosaamistaan. Esimerkiksi WWW-selainohjelmien erot sekä selainten jatkuva kehitystyö yhdistettynä heikkoon dokumentaation on tehnyt asiakaspään ohjelmoinnista käytännössä työlästä (eri selainten/selainversioiden erityispiirteet pitää tietää kohtuutarkkaan) Erikoisia pulma aiheuttavat selainten päivityksistä aiheutuvat muutokset (se mikä toimii tänään ei ehkä toimikaan huomenna!) Nyrkkisääntö on kutakuinkin se, että asiakaspään ohjelmointi painottuu käyttöliittymäohjelmointiin ja tietoliikenteen asiakasohjelmointiin, palvelinpään ohjelmointi puolestaan prosessinhallintaan ja esim. tietokantojen käyttöön. WWW-ohjelmoinnin peruspiirteitä - asiakkaiden ohjelmistot ja verkkoyhteys vaihtelevat (selaimet, nopeus) - samanaikaisia asiakkaita voi olla useita (käyttäjien tunnistaminen, tiedon lukitseminen, rinnakkainen prosessointi, käyttöliittymässä tapaht. muutokset) - Internet on avoin ja laaja järjestelmä (tietoturvakysymykset, kansainvälisyys) - taustalla tiiviit kytkennät Internet- & WWW-spesifikaatioihin ja ohjelmistoihin HYPERMEDIAN PERUSTEET (syksy 2003) 224

3 HTML-lomakkeet ja CGI-ohjelmointi Luonteva tapa aloittaa ohjelmointi on keksiä käyttöä HTML-lomakkeille. Eräs tapa on käyttää palvelimen CGI (Common Gateway Interface)-rajapintaa Esimerkki: minilaskin joka laskee yhteen kokonaislukuja <title>minilaskin CGI/PERL</title> <form action="http://matriisi.ee.tut.fi/~huhtis/cgi-bin/count.cgi" method="get"> <input type="text" name="lukua"> + <input type="text" name="lukub"><br> <input type="submit" value="laske"> <input type="reset" value="tyhjennä"> </form> Toiminta: selain lukee input-kenttien arvot talteen ja submit-napin painalluksella lähettää koodatut tiedot count.cgi-nimiselle (URL) ohjelmalle palvelimella HYPERMEDIAN PERUSTEET (syksy 2003) 225

4 Palvelimella (HTTP-palvelimen cgi-ajo-oikeuksin varustettu) ohjelma count.cgi käynnistetään pyynnön johdosta ja se vastaanottaa koodatut tiedot (GET ympäristömuuttuja/post stdin) #! /usr/bin/perl # HTTP-otsikko jotta stdout välittyy selaimelle oikein # voisi olla myös esim. text/plain tai image/gif printf "Content-type:text/html\n"; printf "\n"; printf "<title>cgi-ohjelman vastaus</title>\n"; # Kirjoitetaan näkyville asiakkaasta saatavia tietoja # (HTTP-palvelin kerää tiedot) printf $ENV{'REMOTE_HOST'}."<br>"; printf $ENV{'REMOTE_ADDR'}."<br>"; printf "[".$ENV{'QUERY_STRING'}."]<br>"; # Luetaan koodatut numerot (oletetaan syötteen muoto oikeaksi), # lasketaan ja tulostetaan vastaus (URL:ssa + erottelee parametrit, # % koodaa erikoismerkit heksoina) $ENV{'QUERY_STRING'} =~ /(\d+)[^\d]+(\d+)/; $v = $1 + $2; printf "<b>yhteenlaskun vastaus on ".$v."</b>"; HYPERMEDIAN PERUSTEET (syksy 2003) 226

5 Ohjelma "tekee jotain" ja tulostaa stdouttiin tekstiä joka lähetetään takaisin asiakkaalle Esimerkki: Ajo koneelta pc.tut.fi ( ) syötteillä 3 ja 6 tuottaa tuloksen: pc.tut.fi [lukua=3&lukub=6] Yhteenlaskun vastaus on 9 Huomioita: - CGI-ohjelma on kirjoitettu Perl-ohjelmointikielellä (ts. CGI ei ole ohjelmointikieli vaan rajapinta) - CGI-ohjelman tuloste on HTML-tekstiä - ohjelman ajo tehtiin "kertakutsuna"; ts. "syöte-ajo-tuloste" - lomakkeen tiedot koodattiin GET-metodissa URI-kutsuun mukaan (http://matriisi.ee.tut.fi/~huhtis/cgi-bin/count.cgi?lukua=3&lukub=6) - lomakkeen tietojen dekoodaaminen on tarpeen (tähän on std-ratkaisuja) - jos Perl-skriptin koodirivi $v = $1 + $2; olisi kirjoitettu muodossa $v = eval($1 + $2); olisi ohjelmassa selvä tietoturva-aukko HYPERMEDIAN PERUSTEET (syksy 2003) 227

6 HTML-lomakkeiden ohjelmointi JavaScriptillä Vastaava laskuohjelma voidaan toteuttaa myös asiakaspäässä esim. JavaScriptillä seuraavasti : <title>minilaskin JS</title> <script language="javascript"> <!-- function laske(a,b) { return 1.0*a+1.0*b; } --> </script> <form> <input type="text" name="lukua"> + <input type="text" name="lukub"> = <input type="text" name="ans"><br> <input type="button" value="laske" onclick="ans.value=laske(lukua.value,lukub.value);"> <input type="reset" value="tyhjennä"> </form> "CGI-toteutukset toimivat käytännössä varmemmin kuin JS-toteutukset" HYPERMEDIAN PERUSTEET (syksy 2003) 228

7 HTML4:n lomake-elementit HTML 4 -lomakkeet voivat sisältää seuraavantyyppisiä elementtejä - erilaisia painikkeita (myös omalla grafiikalla) - valintaruutuja (checkbox) - radiopainikkeita (radiobutton) - valikoita - tekstin syöttökenttiä (yksi- tai monirivisiä, myös password-syöttökenttä) - piilotettuja kenttiä (esim. muuttujien taltioimiseen HTTP on tilaton protokolla) - tiedoston valintanappulan (toteuttaa myös valintadialogin tiedoston uploadtoimintoa varten) - lomakkeen kentät tyhjentävän reset-nappulan Lomakkeiden käyttäminen vaatii aina ohjelmointia ("HTML:n ulkopuolella") HYPERMEDIAN PERUSTEET (syksy 2003) 229

8 XHTML ja lomakkeet XHTML sisältää käytännössä kaikki HTML4:n lomake-elementit Suositus XHTML:n sanaston modularisoinnista nostaa seuraavat lomakeelementit keskeiseen asemaan (ts. ne sisältyvät Basic Forms Moduleen): - form - input ( text password checkbox radio submit reset hidden ) - label - select - option - textarea Erityisesti pois "marginaalisina" elementteinä jäävät esim. - input (image) - button (omaa grafiikkaa sis. nappulat), HYPERMEDIAN PERUSTEET (syksy 2003) 230

9 PHP Pienten (joskus myös suurten) WWW-ohjelmien kirjoittaminen on toisinaan kätevintä seuraavalla idealla: - HTML-sivuun ("lähdekoodiin") upotetaan elementinomainen prosessointiohje joka sisältää WWW-palvelinpäässä suoritettavan ohjelman tai skriptin - kun WWW-asiakas (selain) pyytää sivua, WWW-palvelin suorittaa skriptit ja sijoittaa näiden tulostaman tekstin osaksi HTML-dokumenttia joka sitten lähetetään asiakkaalle (jos tuloksena on HTML-sivu näkyy se selaimessa ongelmitta) - jos ja kun skriptillä on "sivuvaikutuksia" esim. tiedostojen kirjoittaminen, tietokannan käsittely jne., palvelin hoitaa myös ne pyynnön yhteydessä (tai välittää sopiville moduuleille edelleen suoritettaviksi) - tehtävästä huolehtiva WWW-palvelin (tai sen moduuli) voi jäsentää myös tietoliikenteessä liikkuvaa tietoa helposti käsiteltävään muotoon ja esim. piilottaa tilattoman HTTP-yhteysmuodon rajoituksia (tarjoamalla esim. mekanismin session tallettamiseen [esim. pipareiden avulla]) jne. Eräs tällainen (suosittu, ilmainen) ns. template-kieli on PHP HYPERMEDIAN PERUSTEET (syksy 2003) 231

10 PHP:n käyttö PHP voidaan ottaa käyttöön esim. Apache-WWW-palvelinohjelman moduulina (asentaminen riippuu käyttöjärjestelmästä NT/Unix/Linux) PHP:n syntaksi muistuttaa suuresti Perliä (ja siten osin C:tä ja siten Javaa) Ohjelmointikielen perusrakenteiden ohella PHP:n (4) voima on sen sisältämien funktioiden määrä, esim. - tuttu syntaksi & säännönmukaiset lausekkeet - "riisuttu" olio-ohjelmointi - tiedostojenkäsittely - sessionhallinta, "matalan tason" soketti-ohjelmointi - eri tietokantojen käsittely SQL-kielellä - dynaamiset kuvat, jne. Parasta on se, että asiakaspään ei tarvitse tietää PHP:stä mitään Perus-PHP:n päälle on myös rakennettu sovelluskohtaisia template-ratkaisuja HYPERMEDIAN PERUSTEET (syksy 2003) 232

11 Esimerkki Toteutetaan taas minilaskin-lomake joka laskee kokonaisluvut yhteen: <title>minilaskin JS</title> <?php $v=$lukua+$lukub;?> <form action="<?php print $PHP_SELF;?>" method="get"> <input type="text" name="lukua" value="<?php print $lukua;?>"> + <input type="text" name="lukub" value="<?php print $lukub;?>"> = <input type="text" name="ans" value="<?php print $v;?>"><br> <input type="submit" value="laske"> <input type="reset" value="tyhjennä"> </form> Huomioita: - lomakkeen action-kentässä viittaus lomakkeeseen itseensä ($PHP_SELF) - yo. koodi ei ole HTML:ää, mutta prosessoinnin tulos on - muuttujien käsittely! (PHP dekoodaa lomakkeen muuttujat automaattisesti) HYPERMEDIAN PERUSTEET (syksy 2003) 233

12 Esimerkki tiedostojen käsittelystä Toteutetaan astetta monimutkaisempi PHP-ohjelma joka tulostaa attribuuttina annetun tiedoston <title>tiedoston tulostaminen</title> <h1>pfile</h1> <p>työhakemistosta löytyvät seuraavat tiedostot:</p> <pre> <?php system('ls -al');?> </pre> <p>kirjoita tulostettavan tiedoston nimi:</p> <form action="<?php print $PHP_SELF;?>" method="get"> <input type="text" name="fn" value="<?php print $fn;?>"> <input type="submit" value="tulosta"> </form> <?php if (preg_match("/[^\w\.\-]/",$fn,$arr)) { print "Virhe tiedoston nimessä: hakemistoviittaukset tms. eivät ole sallittuja!"; exit; } HYPERMEDIAN PERUSTEET (syksy 2003) 234

13 if (!file_exists($fn)) { print "Virhe: tiedostoa $fn ei löydy!"; exit; } print "<p>tulostus:</p><pre>\n"; $fp = fopen($fn,"r"); while(! feof($fp)) { $s = fgets($fp, 1024); $s = preg_replace("/\</","<",$s); print $s; } fclose($fp); print "</pre>\n";?> Huomioita: - lauserakenteet - tiedostonkäsittely, system-funktion käyttö, - PHP-funktioiden nimeämiskäytäntö (ei paketteja tms.) HYPERMEDIAN PERUSTEET (syksy 2003) 235

14 Java Java on C/C++-tyyppinen olio-ohjelmointikieli joka soveltuu hyvin WWWohjelmointiin - kansainvälisyyden huomiointi (Unicode, lokaalit: käyttöliittymien tekstit ja muut resurssit, tekstin suunta, päivämäärät yms.) - suoraviivaiset välineet Internet-ohjelmointiin ja ohjelmien hajauttamiseen, rajapintoja tietokantojen käyttöön, tietoturvamallit yms. - aito olio-ohjelmointi (oikea perintä & kapselointi, paketit, rajapinnat) - laaja ja hyvin dokumentoitu luokkakirjasto, runsaasti rajapintatoteutuksia - yleisesti käytössä (applet-tuki tulevaisuudessa pulmallinen? [selainsodat]) Java-ohjelmat käännetään tavukoodiksi jota suoritetaan Java-virtuaalikoneessa (valmis tavukoodi siirtyy alustalta toiselle) Runsaasti ilmaisia työkaluja & ohjelmointioppaita saatavilla Useita eri versioita (läh. 1.0 / 1.1 / 1.2=Java 2 / + laajennuksia [Swing]) HYPERMEDIAN PERUSTEET (syksy 2003) 236

15 Java-ohjelmia on mahdollista kirjoittaa kehittyneen IDE:n (Integrated Development Environment) tukemana ilman tietoa sovellusten yksityiskohdista (vrt. VB/Delphi); usein Java-ohjelmat kuitenkin kirjoitetaan tekstimuodossa (esim. emacs) ja käännetään skriptin avulla (esim. Apache Ant/GNU Make). WWW-ohjelmoinnin näkökulmasta Javalla tehdään kolmenlaisia ohjelmistoja - sovellukset (täysverinen Java-ohjelma) - sovelmat eli appletit (selaimessa tms. rajoitetun oikeuksin ajettava ohjelma) - servletit (CGI-tyyppisesti palvelinpäässä ajettavia Java-ohjelmia) Kaikki Java-ohjelmat "kirjoitetaan samalla tavalla" olio-ohjelmoinnin perusfilosofian mukaisesti Java-ohjelman "tyyppi" määräytyy sen luokan mukaan, josta oma ohjelma peritään - sovellus voidaan periaatteessa kirjoittaa ilman perintää (tällöin piilotettu oletusperintä Object-luokasta) - perus-sovelma peritään Applet-luokasta - perus-servletti peritään HttpServlet-luokasta Jokainen ohjelmatyyppi toteuttaa tarvittavat (perityt) metodit ja rajapinnat HYPERMEDIAN PERUSTEET (syksy 2003) 237

16 Esimerkki: Java-sovelma Kirjoitetaan minimalistinen Java-sovelma (Java 1.1) joka laskee kaksi lukua yhteen ja näyttää vastauksen Java-ohjelma on varsin lyhyt (huom!: vaatii toimiakseen virtuaalikoneen & kirjastot ajettuna vaatii enemmän tilaa kuin tavukoodin 1.5 kb!): import java.awt.*; import java.awt.event.*; import java.applet.*; public class calc extends Applet implements ActionListener { TextField ta = new TextField(5); TextField tb = new TextField(5); TextField tc = new TextField(5); Button b = new Button("Laske"); HYPERMEDIAN PERUSTEET (syksy 2003) 238

17 public void init() { b.addactionlistener( this); add( ta); add( new Label( "+")); add( tb); add( new Label( "=")); add( tc); add( b); } public void actionperformed( ActionEvent ae) { int v = (new Integer(ta.getText())).intValue() + (new Integer(tb.getText())).intValue(); tc.settext((new Integer(v)).toString()); } } Sovelman upottaminen HTML-dokumenttiin: <applet code="calc.java" width="300" height="200"> </applet> HYPERMEDIAN PERUSTEET (syksy 2003) 239

18 Huomioita: - luokkien käyttö (AWT:n "monimutkaisuus"), kielen syntaksi, roskienkeruu, vahva tyypitys - luokkasidonnaisuus (kaikki perustietotyyppejä lukuun ottamatta toimii luokkien varassa) - jämerä ohjelmointimalli: 5min hack-spagetti-hack -ohjelmointi ei Javalla oikeastaan edes onnistu tästä on sekä hyötyä että haittaa (protoilun pulmat) - kehitysvälineet (javac, javadoc) Java-ohjelmointi edellyttää - Internet-tekniikoiden & olio-ohjelmoinnin perusteiden tuntemusta - Java-tietotyyppien & -luokkakirjastojen hallintaa - javadoc-muotoisen dokumentaation sisälukutaitoa - selkeää etukäteissuunnittelua: lyhytnäköinen (lue: hän-joka-ei-luokkiasuunnittele) Java-ohjelmoija kirjoittaa sovelluksen nopeasti solmuun ja tuloksena on vielä pahempaa spagettia kuin esim. PHP-koodi HYPERMEDIAN PERUSTEET (syksy 2003) 240

19 Oikea väline WWW-ohjelmointiin? WWW-ohjelmointiin ei ole yhtä ainoaa oikeaa tekniikkaa Tekniikan valintaan vaikuttavat esimerkiksi - sovelluksen koko ja monimutkaisuus - tekijätiimin koko ja osaaminen - sovelluksen kohderyhmän käytössä olevat ohjelmistot ja laitteet - sovelluksen kohderyhmän osaamistaso ja tottumukset Palvelintekniikoiden kärjistetty suuruusjärjestys: - CGI: Python/Perl => palautelomake, vieraskirja - template-kielet: PHP/JSP/ASP => portaali, verkkokauppa - sovelluspalvelimet: J2EE(JBOSS/BEA WebLogic)/ColdFusion => sähköinen liiketoiminta, Web Services, intra- ja ekstranetit Mitä tuntemattomampi asiakas sitä vähemmän sovelluslogiikkaa voidaan sijoittaa selaimeen (JavaScript, Java-sovelmat, Active-X, pluginit)! HYPERMEDIAN PERUSTEET (syksy 2003) 241

12 Kohti seittiohjelmointia

12 Kohti seittiohjelmointia 12 Kohti seittiohjelmointia Seuraavaksi tarkastelemme aidon WWW-ohjelmoinnin perusteita. Tarkoituksena ei ole vankan WWW-ohjelmoinnin oppiminen, vaan lähinnä eri ratkaisumallien esittely, jotta ohjelmoinnin

Lisätiedot

Taustaa. CGI-ohjelmointi

Taustaa. CGI-ohjelmointi Taustaa CGI-ohjelmointi CGI = Common Gateway Interface Hyvin yksinkertainen ja helppo tapa toteuttaa dynaamisuutta ja interaktivisuutta htmldokumentteihin Kehitetty tiedon siirtoon palvelimen ja asiakasselaimen

Lisätiedot

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot T-111.361 Hypermediadokumentin laatiminen -Ohjelmointi Peruskäsitys www-ohjelmoinnin kentästä Tekniikat interaktiivisuuden toteuttamiseen tekniikat tekniikat Tietokannat Juha Laitinen TKK/TML juha.laitinen@hut.fi

Lisätiedot

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa WWW ja tietokannat WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa tekstiä, kuvia, hyperlinkkejä Staattiset sivut kirjoitettu kerran, muuttaminen käsin ongelmana pysyminen ajantasalla Ylläpito hankalaa,

Lisätiedot

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ JAVA alkeet JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ ja Javascriptin kanssa. Huom! JAVA ja JavaScript eivät silti ole sama asia, eivätkä edes sukulaiskieliä.

Lisätiedot

ICT1TN004. Lomakkeet. Heikki Hietala

ICT1TN004. Lomakkeet. Heikki Hietala Lomakkeet Heikki Hietala Lomakkeet Lomakkeita käytetään keräämään tietoa käyttäjältä ja siirtämään se palvelimelle Lomakkeen luominen ei yksin riitä, vaan pitää luoda myös lomakkeenkäsittelijä Lomakkeen

Lisätiedot

2 Web-lomakkeet. HTML-lomakkeet. Lomakkeiden perusteet

2 Web-lomakkeet. HTML-lomakkeet. Lomakkeiden perusteet Web-lomakeet ovat verkkopalvelun tekninen perusta; käyttäjän syötteen välittäminen tapahtuu käytännössä aina lomakkeiden avulla Esimerkkejä lomakkeiden käytöstä: yksinkertaiset toiminnot: palautelomake,

Lisätiedot

Lomakkeet HTML5. Elina Ulpovaara. Testaus: IE9 Firefox7 Opera11 Chrome

Lomakkeet HTML5. Elina Ulpovaara. Testaus: IE9 Firefox7 Opera11 Chrome Lomakkeet HTML5 Elina Ulpovaara Testaus: IE9 Firefox7 Opera11 Chrome SELAIN Käyttäjä täyttää lomakkeen ja painaa lähetys-painiketta. Selain lähettää käyttäjän antamat tiedot palvelimelle lomakkeessa määrättyyn

Lisätiedot

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus 582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus Sisältö Mikä on web-sovellus? Selaimen rooli web-sovelluksessa Palvelimen rooli web-sovelluksessa Aineistopyynnöt Tiedon välittäminen

Lisätiedot

Luento 3. Jouni Ikonen - Jouni.Ikonen lut.fi

Luento 3. Jouni Ikonen - Jouni.Ikonen lut.fi CT30A3200 - WWW-sovellukset Luento 3 Jouni Ikonen - Jouni.Ikonen lut.fi Kalvot Arto Hämäläisen kalvojen pohjalta 1 Jouni Ikonen HTML-lomakkeet HTML-lomakkeiden avulla voidaan WWW-sovelluksessa hakea käyttäjän

Lisätiedot

2 Web-lomakkeet. HTML-lomakkeet. Lomakkeiden perusteet

2 Web-lomakkeet. HTML-lomakkeet. Lomakkeiden perusteet Web-lomakeet ovat verkkopalvelun tekninen perusta; käyttäjän syötteen välittäminen tapahtuu käytännössä aina lomakkeiden avulla Esimerkkejä lomakkeiden käytöstä: yksinkertaiset toiminnot: palautelomake,

Lisätiedot

Harjoitustyö (TKO_2023)

Harjoitustyö (TKO_2023) Harjoitustyö (TKO_2023) Jyri Lehtonen (72039) (alkuperäinen 29.1.2008) päivitetty: 8.2.2008 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee Java-appletti, joka kysyy käyttäjältä asioita Java-kielestä.

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

HSMT Web-sovellustekniikoista

HSMT Web-sovellustekniikoista HSMT Web-sovellustekniikoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/29 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

Rajapinta (interface)

Rajapinta (interface) 1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä

Lisätiedot

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000

Lisätiedot

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016)

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla

Lisätiedot

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Pedacode Pikaopas. Web-sovelluksen luominen

Pedacode Pikaopas. Web-sovelluksen luominen Pedacode Pikaopas Web-sovelluksen luominen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Netbeans-työkalulla luodaan uusi yksinkertainen web-sovellus ja testataan sen toiminta. Opas kattaa kaiken aiheeseen

Lisätiedot

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

C# Windows ohjelmointi perusopas

C# Windows ohjelmointi perusopas Paavo Räisänen C# Windows ohjelmointi perusopas www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta ei saa

Lisätiedot

1. Olio-ohjelmointi 1.1

1. Olio-ohjelmointi 1.1 1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja

Lisätiedot

WWW ja servletit. Luku 10. 10.1 Johdanto

WWW ja servletit. Luku 10. 10.1 Johdanto Luku 10 WWW ja servletit Servletti (engl. servlet) eli palvelinsovelma on Java-kielinen olio, joka toimii WWW-palvelimen yhteydessä olevassa virtuaalikoneessa. Kaikkiin WWW-palvelimiin ei kuitenkaan ole

Lisätiedot

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

Lisätiedot

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

TIETOJENKÄSITTELY/PIKATAIVAL2 Tehtävä G

TIETOJENKÄSITTELY/PIKATAIVAL2 Tehtävä G TIETOJENKÄSITTELY/PIKATAIVAL2 Tehtävä G 1 Tehtävänäsi on määritellä tietokantaan KisatSVNL.mdb lomake Kilpailut ohessa olevan mallin mukaan. Lomake on tarkoitettu kilpailutietojen lisäykseen, selailuun

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi 1 Javan perusteet Ohjelmointi IPO-malli Java lähdekoodista suoritettavaksi ohjelmaksi Vakio Muuttuja Miten Javalla näytetään tietoa käyttäjälle, miten Javalla luetaan käyttäjän antama syöte Miten Javalla

Lisätiedot

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta. 3 HTML ja XHTML Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

MITÄ JAVASCRIPT ON?...3

MITÄ JAVASCRIPT ON?...3 JavaScript MITÄ JAVASCRIPT ON?...3 YLEISTÄ JAVASCRIPTIN SYNTAKSISTA...3 KÄSKYSANAT JA MUUT VARATUT SANAT...3 MUUTTUJIEN, FUNKTIOIDEN JA LUOKKIEN NIMISSÄ...3 HTML-TAGEIHIN VIITTAAVISSA METODINIMISSÄ...3

Lisätiedot

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 12.4.2010 T-106.1208 Ohjelmoinnin perusteet Y 12.4.2010 1 / 34 Graafiset käyttöliittymät Tähän asti kirjoitetuissa ohjelmissa on ollut tekstipohjainen käyttöliittymä.

Lisätiedot

1.1 Internetistä lyhyesti. Mikä Internet on? 1.2 Maailmanlaajuinen verkko

1.1 Internetistä lyhyesti. Mikä Internet on? 1.2 Maailmanlaajuinen verkko 1.1 Internetistä lyhyesti Alkuperä: - ARPAnet 1960-luvun loppu, 1970-luvun alku - Verkon luotettavuus - ARPA organisaatioit (Advanced Research Projects Agency) - BITnet, CSnet 1970-luvun loppu ja 1980-luvun

Lisätiedot

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT MOBISITE-TYÖKALU MobiSite on työkalu matkapuhelimeen soveltuvan mobiilisivuston rakentamiseen. AIMO-järjestelmän jatkuvasti päivittyvä päätelaitetunnistus tunnistaa useimmat puhelinmallit ja mukauttaa

Lisätiedot

Visual Basic -sovelluskehitin Juha Vitikka

Visual Basic -sovelluskehitin Juha Vitikka Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen

Lisätiedot

Microsoft Visual Studio 2005

Microsoft Visual Studio 2005 Microsoft Visual Studio 2005 on integroitu kehitysympäristö (Integrated Development Environment) eli (IDE). Kehitysympäristöön kuuluvat seuraavat keskeiset sovelluskehitysvälineet: Ohjelmointikielet C#.NET

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Opintojakso TT00AA11 Ohjelmoinnin jatko (Java) Tavoite Opiskelija ymmärtää olio-ohjelmoinnin problematiikan. Opiskelija osaa määritellä ja käyttää itse

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa Java-kielen perusteet Teoria ja ohjelmointitehtävät Java-kielen perusteet 3 YLEISKATSAUS KURSSIN SISÄLTÖIHIN 10 JAVA-KIELEN PERUSTEET 10 OPISKELUN ALOITTAMINEN

Lisätiedot

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti Rinnakkaisohjelmointi kurssi Opintopiiri työskentelyn raportti Opintopiiri: Heikki Karimo, Jesse Paakkari ja Keijo Karhu Päiväys: 15.12.2006 Ohjelmointitehtävä C i C i : Säikeet ja kriittisen vaiheen kontrollointi

Lisätiedot

CSS - tyylit. 13.11.2000 Seppo Räsänen

CSS - tyylit. 13.11.2000 Seppo Räsänen CSS - tyylit 13.11.2000 Seppo Räsänen Sivu 2 1 CSS-tyylit Dynaaminen HTML tai DHTML on standardi, joiden käyttöä tukevat uusimmat Netscapen ja Microsoftin selaimet. DHTML:n ominaisuuksia ovat tyylitiedostot

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Java kahdessa tunnissa. Jyry Suvilehto

Java kahdessa tunnissa. Jyry Suvilehto Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 SISÄLLYS 1 JOHDANTO 3 2 WWW-PALVELIMEN TOIMINTA 4 3 OMINAISUUDET

Lisätiedot

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit

Lisätiedot

12.10.2011. Erittäin nopea tapa saada kehitysympäristö php:lle pystyyn Voidaan asentaa muistitikulle

12.10.2011. Erittäin nopea tapa saada kehitysympäristö php:lle pystyyn Voidaan asentaa muistitikulle (Ei yhtään videota tällä kertaa.) X niin kuin Cross-Platform, Apache, MySql, PHP, Perl Kehitysympäristö EI tuotantokäyttöön Monet tärkeät tietoturva-asetukset ovat oletuksena pois päältä Erittäin nopea

Lisätiedot

ISACA Finland 24.1.2008 OWASP 24.1.2008. The OWASP Foundation. Timo Meriläinen Antti Laulajainen. http://www.owasp.org

ISACA Finland 24.1.2008 OWASP 24.1.2008. The OWASP Foundation. Timo Meriläinen Antti Laulajainen. http://www.owasp.org ISACA Finland 24.1.2008 Timo Meriläinen Antti Laulajainen 24.1.2008 Copyright The Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the License. The Foundation

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja

Lisätiedot

Java ja grafiikka. Ville Sundberg 12.12.2007

Java ja grafiikka. Ville Sundberg 12.12.2007 Java ja grafiikka Ville Sundberg 12.12.2007 What happen Viritetty JPanel Graphics ja Graphics2D ImageIO ja BufferedImage Animaatio ja ajastus Optimoinnista Kehykset import javax.swing.jframe; public class

Lisätiedot

MatTaFi projektin HAKA-pilotti

MatTaFi projektin HAKA-pilotti projektin HAKA-pilotti Matti Harjula matti.harjula@hut.fi Matematiikan ja systeemianalyysin laitos Teknillinen korkeakoulu 15. tammikuuta 2008 1 2 Materiaalin tuottajat ongelmana 3 Uusien sovellusten yksinkertaisempi

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

Lisätiedot

19/20: Ikkuna olio-ohjelmoinnin maailmaan

19/20: Ikkuna olio-ohjelmoinnin maailmaan Ohjelmointi 1 / syksy 2007 19/20: Ikkuna olio-ohjelmoinnin maailmaan Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007

Lisätiedot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

Lisätiedot

Tyylien käyttö. 5 WWW-hypermedian perusta: HTML

Tyylien käyttö. <LINK href=mystyle.css rel=stylesheet type=text/css> 5 WWW-hypermedian perusta: HTML Tyylien käyttö Tyylien (style) ideana on HTML:n tapauksessa erottaa toisistaan dokumentin rakenne ja ulkoasu Tavoitteena on, että dokumentin loogisen rakenteen ja ulkoasun koodaus erotetaan toisistaan

Lisätiedot

DXL Library ja DXL-kielen olemus. Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/

DXL Library ja DXL-kielen olemus. Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/ DXL Library ja DXL-kielen olemus Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/ DOORS extension Language DXL on DOORSin laajennuskieli, jolla voidaan kehittää lisätoiminnallisuutta.

Lisätiedot

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.1/15 HSMT (Java-kielellä) Aineopintotasoinen kurssi, 5op. Luennot:

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000 Case TUHTI 17.12.2002 1 TietoEnator 2002 Projektin tunnuslukuja! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999! Otettu tuotantokäyttöön syksyllä 2001! Proof of Concept (5 henkilöä 4 kk) ->

Lisätiedot

2. Olio-ohjelmoinista lyhyesti 2.1

2. Olio-ohjelmoinista lyhyesti 2.1 2. Olio-ohjelmoinista lyhyesti 2.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 2.2 Yleistä Olio-ohjelmointia käsitellään hyvin

Lisätiedot

ASP ja DHTML. 27.8.2004 Seppo Räsänen

ASP ja DHTML. 27.8.2004 Seppo Räsänen ASP ja DHTML 27.8.2004 Seppo Räsänen Liite 3 Sisällys 1 Tietokantojen käyttö sivuilla ASP-tekniikka...3 1.1. ASP ja VBScript...3 1.2. ASP ja J(AVA)Script...9 1.3. ASP ja Access...9 Lähteet...9 Himapizza-esimerkki...10

Lisätiedot

JavaRMI 1 JAVA RMI. Rinnakkaisohjelmoinnin projekti 1 osa C Tekijät: Taru Itäpelto-Hu Jaakko Nissi Mikko Ikävalko

JavaRMI 1 JAVA RMI. Rinnakkaisohjelmoinnin projekti 1 osa C Tekijät: Taru Itäpelto-Hu Jaakko Nissi Mikko Ikävalko JavaRMI 1 JAVA RMI Rinnakkaisohjelmoinnin projekti 1 osa C Tekijät: Taru Itäpelto-Hu Jaakko Nissi Mikko Ikävalko JavaRMI 2 Table of Contents...1 JAVA RMI...1 Yleistä...4 Arkkitehtuuri...5 Java RMI kerrosarkkitehtuuri...5

Lisätiedot

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5

Lisätiedot

JUnit ja EasyMock (TilaustenKäsittely)

JUnit ja EasyMock (TilaustenKäsittely) OHJELMISTOJEN TESTAUS JA HALLINTA Syksy 2015 / Auvo Häkkinen JUnit ja EasyMock (TilaustenKäsittely) Tehtävässä tarvittava koodi löytyy osoitteella http://users.metropolia.fi/~hakka/oth/mockesimerkki.zip

Lisätiedot

1 PHP-sovelluksen toiminta

1 PHP-sovelluksen toiminta AMVA48-49 HTML ja PHP-ohjelmointi, 2 ov Yleistä kurssista HTMLperusteita PHP-kielen perusrakenteet HTMLlomakkeen käsittely Tiedoston käsittely Evästeiden käyttö Istunnon hallinta Oppimistehtävät PHP-KIELEN

Lisätiedot

1 Tehtävän kuvaus ja analysointi

1 Tehtävän kuvaus ja analysointi Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.

Lisätiedot

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely 1 Ominaisuudet Kun tutkimme työasemapohjaisia sovelluksiamme, tarvitaan joskus tietoa: mikä on käyttöjärjestelmä mikä on käytössä oleva

Lisätiedot

Java- RekryKoulutus. Module Descriptions

Java- RekryKoulutus. Module Descriptions Java- RekryKoulutus Module Descriptions Mikä on RekryKoulutus? Harvassa ovat ne työnantajat, jotka löytävät juuri heidän alansa hallitsevat ammatti-ihmiset valmiina. Fiksuinta on tunnustaa tosiasiat ja

Lisätiedot

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki Tehtävä 1 Koherentti selitys Koherentti esimerkki ½p ½p Tehtävä 2 Täysiin pisteisiin edellytetään pelaajien tulostamista esimerkin järjestyksessä. Jos ohjelmasi tulostaa pelaajat jossain muussa järjestyksessä,

Lisätiedot

Sunin määrittelemä JSP 1.1 (javaserver pages) yhdistää

Sunin määrittelemä JSP 1.1 (javaserver pages) yhdistää TEKSTI: PASI KOVANEN "Taas uusi tekniikka dynaamisten webbisivujen tekoon?!", parahtavat naavapartaiset Perl- ja asp-gurut ja kääntävät sivua. Malttakaa kuitenkin hetki, sillä JavaServer Pages tarjoaa

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

Ylläpito-ohje. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

Ylläpito-ohje. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja. Matematiikan oppifoorumi Ylläpito-ohje Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen Ohjaaja Jukka Eskola Ohjelmistotuotantoprojekti 17.12.1999 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen

Lisätiedot

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

HSMT J2EE & EJB & SOAP &...

HSMT J2EE & EJB & SOAP &... HSMT J2EE & EJB & SOAP &... Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/15 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa J2EE web-ohjelmointi Teoria ja ohjelmointitehtävät J2EE web-ohjelmointi 3 JOHDATUS OPISKELUUN...7 Opiskelu kurssilla... 7 Kurssin sisältö... 7 Aikataulu...

Lisätiedot

NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE

NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE Ennen palvelinohjelman asennusta perustetaan tarvittavat kansiot. Oikeustasoista share- tai security-tason oikeudet riittävät; molempien oikeustasojen

Lisätiedot

Microsoft Visual J++ ohjelmointiympäristö

Microsoft Visual J++ ohjelmointiympäristö Microsoft Visual J++ ohjelmointiympäristö Ohjelmistotuotantovälineet seminaarin alustus Raine Lehto Helsingin yliopisto Tietojenkäsittelytieteen laitos 08.11.2000 Helsinki Sisällys 1 Johdanto...2 2 Sovelluskehys

Lisätiedot

Internetin hyödyt ja vaarat. Miten nettiä käytetään tehokkaasti hyväksi?

Internetin hyödyt ja vaarat. Miten nettiä käytetään tehokkaasti hyväksi? Internetin hyödyt ja vaarat Miten nettiä käytetään tehokkaasti hyväksi? Linkit Chrome https://www.google.com/intl/fi/chrome/browser/ Firefox http://www.mozilla.org/fi/ Opera http://www.opera.com/fi Vertailu

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 11: Olioiden toteuttaminen Riku Saikkonen 28. 11. 2011 Sisältö 1 Miten oliot ja metodikutsut toimivat? 2 Oliot Minkä luokan metodia kutsutaan? Python-esimerkki

Lisätiedot

<applet code=simpleaudioapplet.class width=300 height=300> SimpleAudioApplet.java /* */ // Appletti joka soittaa käynnistyttyään oletushakemistossa // olevan sound.wav-nimisen äänitiedoston. public class

Lisätiedot

TIE-20200 Ohjelmistojen suunnittelu. Luento 2: protot sun muut

TIE-20200 Ohjelmistojen suunnittelu. Luento 2: protot sun muut TIE-20200 Ohjelmistojen suunnittelu Luento 2: protot sun muut 1 Tämän päivän ohjelmaa Ryhmääntymistä, viimeksi unohtui Työohje julkaistu! Elinaikajuttujen loppurutistusta, viipaloitumisasiaa Prototyypeistä

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero

Lisätiedot

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

OHJELMISTOKEHITYS -suuntautumisvaihtoehto OHJELMISTOKEHITYS -suuntautumisvaihtoehto Suuntautumisvaihtoehdon esittely 1. vuoden opiskelijoille Kari Laitinen www.oamk.fi/~karil/opetus.html Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä

Lisätiedot

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36 !!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

Testidatan generointi

Testidatan generointi Testidatan generointi Anu Ahonen Kevät 2008 Tämä työ on tehty Creative Commons -lisenssin alla Työn tarkasti 9.4.2008 Jouni Huotari (JAMK/IT) 1 SISÄLTÖ 1 TYÖN LÄHTÖKOHDAT JA TOTEUTUS...2 2 TESTIDATAN GENEROINTI

Lisätiedot

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 30.3.2008,

Lisätiedot