12 Kohti seittiohjelmointia
|
|
- Tuula Eija Laine
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 12 Kohti seittiohjelmointia Seuraavaksi tarkastelemme aidon 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 eri näkökulmista esim. kursseilla Seittiohjelmointi ja Hypermedian ohjelmointi. Dynaamisen, käyttäjät tunnistavan tai helposti ylläpidettävän WWW-hypermedian 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, sovelmien (applet) ohjelmointi; käytännössä Javalla, komponenttiohjelmointi; esim. ActiveXkehittimellä, 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 2004) 271
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 erityisosaamistaan. Esimerkiksi WWWselainohjelmien 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 pulmia 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-määrityksiin ja ohjelmistoihin HYPERMEDIAN PERUSTEET (syksy 2004) 272
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=" 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 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) HYPERMEDIAN PERUSTEET (syksy 2004) 273
4 #! /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>"; 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: HYPERMEDIAN PERUSTEET (syksy 2004) 274
5 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 mukaan URI-tunnisteeseen ( - lomakkeen tietojen koodauksen purkaminen on tarpeen (tähän on valmiita ratkaisuja) - jos Perl-skriptin koodirivi $v = $1 + $2; olisi kirjoitettu muodossa $v = eval($1 + $2); olisi ohjelmassa selvä tietoturva-aukko HYPERMEDIAN PERUSTEET (syksy 2004) 275
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ä huomattavasti varmemmin kuin JS-toteutukset HYPERMEDIAN PERUSTEET (syksy 2004) 276
7 HTML:n lomake-elementit HTML 4.01 version mukaiset 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 salasanan syöttökenttä(password)) - piilotettuja kenttiä (esim. muuttujien taltioimiseen HTTP on tilaton protokolla) - tiedoston valintanappulan (toteuttaa myös valintadialogin tiedoston upload-toimintoa varten) - lomakkeen kentät tyhjentävän reset-nappulan Lomakkeiden käyttäminen vaatii aina ohjelmointia (HTML:n ulkopuolella) HYPERMEDIAN PERUSTEET (syksy 2004) 277
8 XHTML ja lomakkeet XHTML sisältää käytännössä kaikki HTML4:n lomake-elementit Suositus XHTML:n sanaston modularisoinnista nostaa seuraavat lomake-elementit 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 2004) 278
9 PHP Pienten (joskus myös suurten) WWW-ohjelmien kirjoittaminen on toisinaan kätevintä seuraavalla idealla: - HTML-sivuun (osaksi merkkausta) 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 muita vaikutuksia (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. evästeiden avulla]) jne. Eräs tällainen (suosittu, ilmainen) ns. template-kieli on PHP HYPERMEDIAN PERUSTEET (syksy 2004) 279
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 - yksinkertainen 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 kirjastoja HYPERMEDIAN PERUSTEET (syksy 2004) 280
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 (joskaan ei validia sellaista) - muuttujien käsittely! (PHP purkaa lomakkeen muuttujien koodauksen automaattisesti) HYPERMEDIAN PERUSTEET (syksy 2004) 281
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 2004) 282
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 2004) 283
14 Java Java on C/C++-tyyppinen olio-ohjelmointikieli joka soveltuu hyvin WWW-ohjelmointiin - kansainvälisyyden huomiointi: Unicode, kansainvälistäminen (i18n): 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ä (sovelmien tuki on pulmallinen [selainsodat]) Java-ohjelmat käännetään tavukoodiksi, jota ajetaan 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 2004) 284
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 2004) 285
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 2004) 286
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 2004) 287
18 Huomioita: - luokkien käyttö (AWT:n monimutkaisuus), kielen kielioppi, 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-luokkia-suunnittele) Java-ohjelmoija kirjoittaa sovelluksen nopeasti solmuun ja tuloksena on vielä pahempaa spagettia kuin esim. PHP-koodi HYPERMEDIAN PERUSTEET (syksy 2004) 288
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 2004) 289
20 Tarve ohjelmointiin: mukautuva hypermedia Samaan tapaan kuin esim. navigointia helpottava kalansilmänäyttö muuttuu navigoinnin myötä, myös varsinainen asiasisältö voidaan (periaatteessa) mukauttaa käyttäjän tarpeiden mukaisesti Mukautuvalla (adaptive) hypermedialla tarkoitetaan tilannetta jossa esim. - hypertekstin linkkejä piilotetaan tai näytetään käyttäjän navigointihistorian/navigointistrategian/toiveiden mukaisesti - solmuihin lisätään osia tai niitä piilotetaan - hypertekstiin luodaan dynaamisesti uusia karttoja (tms. näkymiä) - myös osa sisällöstä tuotetaan dynaamisesti, jne. Käyttäjälle (lukijalle) välitettävän informaation tarkoituksenmukainen määrä on mitä ilmeisimmin käyttäjäkohtaista niinpä mielekäs aktiivinen mukauttaminen edellyttää jotain tietoa käyttäjästä. Tiedon keruumekanismeja: - suorat kysymykset (Mitä haluat tehdä/nähdä? Mitä osaat?) - epäsuora päättely (esim. päättely navigointihistorian/tehtävien perusteella) HYPERMEDIAN PERUSTEET (syksy 2004) 290
21 Mukautuvuuden tekninen toteutus tarvitsee taustalle käyttäjästä kertovan tietorakenteen eli käyttäjämallin ja mekanismin hypertekstin mukauttamiseen Rikas hypertekstirakenne Käyttäjämalli Käyttäjälle esitettävä hyperteksti Perusratkaisu (koska helppo toteuttaa!) käyttäjämallinnukseen on ns. overlay-mallien käyttö (hypertekstin graafiin merkitään informaatiota käyttäjästä, esim. tietääkö esitiedot/milloin lukenut/ymmärsikö/mitä haluaisi tietää/jne.) HYPERMEDIAN PERUSTEET (syksy 2004) 291
22 Esimerkki mukautuvan sovelluksen toteuttamisesta: - toteutetaan yksi mahdollisimman rikas hyperteksti - mallinnetaan käyttäjiä suhteessa tähän (esim. rikkaan semanttisen verkon avulla overlay-periaatteella [verkon rakenne ~ hypertekstin rakenne]) - alustetaan käyttäjämalli stereotyyppien noviisi/peruskäyttäjä/ekspertti avulla esim. lyhyen alkukyselyn tms. perusteella; päivitetään käytön myötä - linkkejä ja solmujen yksityiskohtia (mukautuvat elementit) näytetään mukautuvasti - epäsuora päättely tehdään käyttäjän lokitietojen perusteella; vaikeasti pääteltävät asiat kysytään suoraan käyttäjiltä epäsuoran päättelyn sijaan - päähuomio on näkymien ja karttojen mukauttamisessa Sisällön todellinen mukauttaminen edellyttää astetta järeämpien tekoälytekniikoiden tapauskohtaista käyttöä (esim. tietämyskantoja, joista tietoa julkaistaan hypermediasovellukseen) näissä taas törmätään tekoälytieteiden ongelmiin (tiedon esittäminen, kontekstin tunnistaminen, jne.) Toteutus vaatii sovelluskohtaisia ratkaisuja & ohjelmointia, ts. valmiita, yleisesti käytössä olevia alustoja ei prototyyppisovelluksia (esim. ELM ART, ks. lukuun ottamatta juuri ole HYPERMEDIAN PERUSTEET (syksy 2004) 292
23 Lopuksi Monipuolisen hypermedian toteuttaminen edellyttää väistämättä työn automatisointia - rutiinitehtävät siirretään ihmiseltä tietokoneen vastuulle - tietokone on tyhmä, joten tieto on kuvattava täsmällisesti W3C:n Semanttinen Web tarjoaa keinot tiedon kuvaamiseen: - Resource Description Framework (RDF): resurssien ominaisuuksien kuvaileminen - Web Ontology Language (OWL): käsiteverkkojen (ontologia) täsmällinen kuvaaminen ohjelmallisen päättelyn (infer) tueksi Mukautuvan hypermedian ohella ohjelmointikielten avulla voidaan toteuttaa monikanavajulkaisemisen idea - erilaisten näkymien tekeminen samasta tietosisällöstä: mahdollistaa esimerkiksi laiteriippumattomien ja saavutettavien versioiden kustannustehokkaan toteuttamisen Käytännössä monikanavajulkaiseminen ja mukautuva hypermedia ovat pelkästään erilaisia lähestymistapoja samaan asiaan: monikanavajulkaisemisen avulla voidaan toteuttaa käyttäjän, käyttötilanteen tai päätelaitteen perusteella mukautuvia sovelluksi HYPERMEDIAN PERUSTEET (syksy 2004) 293
9 Kohti seittiohjelmointia
9 Kohti seittiohjelmointia Seuraavaksi tarkastelemme "oikean" WWW-ohjelmoinnin perusteita. Tarkoituksena ei ole vankan WWW-ohjelmoinnin oppiminen, vaan lähinnä eri ratkaisumallien esittely jotta ohjelmoinnin
Lisätiedot12 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ätiedotTaustaa. 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ätiedotT-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ätiedotWWW-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ätiedot582203 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ätiedotJAVA 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ätiedot2 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ätiedot12 Johdanto seittiohjelmointiin
Seuraavaksi tarkastelemme aidon WWW-ohjelmoinnin perusteita. Tarkoituksena ei ole vankan WWW-ohjelmoinnin oppiminen, vaan lähinnä eri ratkaisumallien esittely, jotta ohjelmoinnin perusperiaatteet tulisivat
Lisätiedot12 Johdanto seittiohjelmointiin
12 Johdanto seittiohjelmointiin Seuraavaksi tarkastelemme aidon WWW-ohjelmoinnin perusteita. Tarkoituksena ei ole vankan WWW-ohjelmoinnin oppiminen, vaan lähinnä eri ratkaisumallien esittely, jotta ohjelmoinnin
LisätiedotICT1TN004. 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ätiedotDigitaalisen median tekniikat xhtml - jatkuu Harri Laine 1
Digitaalisen median tekniikat xhtml - jatkuu 30.4.2004 Harri Laine 1 XHTML lomakkeet Lomakkeet mahdollistavat tiedon välityksen asiakkaalta (selaimesta) tiedon vastaanottajalle Vastaanottaja voi olla sähköpostiosoite
LisätiedotDigitaalisen median tekniikat xhtml - jatkuu
Digitaalisen median tekniikat xhtml - jatkuu 26.3.2004 Harri Laine 1 Lomakkeet mahdollistavat tiedon välityksen asiakkaalta (selaimesta) tiedon vastaanottajalle Vastaanottaja voi olla sähköpostiosoite
Lisätiedot2 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ätiedotDigitaalisen median tekniikat xhtml - jatkuu
Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1 Kehykset IFRAME - elementti (inline frame) mahdollistaa kehysten upottamisen myös muihin kuin frameset.dtd:n mukaisiin dokumentteihin IFRAME toimii
LisätiedotPedacode 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ätiedotLomakkeet 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ätiedotELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
LisätiedotSisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
LisätiedotRajapinta (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ätiedotCODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0
CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved
LisätiedotLuento 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ätiedotMOBISITE-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ätiedotTutkitaan 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ätiedot2 Web-lomakkeet. 2 Web-lomakkeet
2 Web-lomakkeet 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:
LisätiedotWWW-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ätiedot4. Luokan testaus ja käyttö olion kautta 4.1
4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään
LisätiedotLomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä.
Lomakkeet Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä. Lomakkeen tyylit kannattaa määritellä omaan, eriliseen,
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print
Lisätiedot8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
Lisätiedot13/20: Kierrätys kannattaa koodaamisessakin
Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy
LisätiedotPedacode 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ätiedotHarjoitus 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ätiedotHSMT 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ätiedotOhjelmoinnin 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ätiedotKurssin hallinta -työväline
Kurssin hallinta -työväline Kurssin hallinta -työvälineellä muokataan kursseja A&Ooppimisympäristöalustalla Kurssi koostuu - ohjelmasta (linkit työkaluihin& muihin resursseihin), - materiaaleista, - keskusteluryhmästä,
LisätiedotOlio-ohjelmointi Käyttöliittymä
Olio-ohjelmointi 2016 Käyttöliittymä n Javalla on helppo toteuttaa yksinkertainen graafinen käyttöliittymä n AWT/Swing n JFC (Java Foundation Collection) n AWT-sisältää Javan grafiikka GUI-komponmentit
Lisätiedot10 Tiedostot, dokumentit, tieto (&h-media)
10 Tiedostot, dokumentit, tieto (&h-media) Tietokoneet käsittelevät tietoa tiedostojen muodossa Tietokoneiden yhteydessä dokumentilla tarkoitetaan tiedosto(je)n avulla esitettävää asiakokonaisuutta, joka
LisätiedotHarjoitustyö (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ätiedotOhjelmointi 1 / syksy /20: IDE
Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne
Lisätiedot1. 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ätiedotSisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä
LisätiedotMetodien 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ätiedotJAVA-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ätiedotOhjelmointikielet 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ätiedot8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
LisätiedotHelsingin yliopisto, TKTL Tietokantojen perusteet, s 2000 WWW-tietokantasovellukset Harri Laine 1. vapaamuotoiset tiedot
Relaatiotietokantaan tallennetaan määrämuotoista tietoa Vapaamuotoisen tekstin talletukseen tekstitietokannat hakuindeksejä saattavat käyttää relaatiotietokantaa tekstin tallentamiseen rivipohjainen tai
LisätiedotOlio-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ätiedotPaikkatiedot ja Web-standardit
Paikkatiedot ja Web-standardit Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide
LisätiedotLuento 12: XML ja metatieto
Luento 12: XML ja metatieto AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XML ja metatieto Metatieto rakenne sanasto Resource Description Framework graafikuvaus XML Semanttinen Web agentit 2 1 Metatieto
LisätiedotOliosuunnitteluesimerkki: 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ätiedotP 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ätiedotSisä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ätiedotJärjestelmäarkkitehtuuri (TK081702)
Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,
LisätiedotSystem.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);
Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja
LisätiedotPythonin 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ätiedotTIETOJENKÄ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ätiedotHajautettujen 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ätiedotOhjelmointitaito (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ätiedot2. 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ätiedot19/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ätiedotOhjelmassa 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ätiedotOhjelmoinnin 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ätiedotJohdatus rakenteisiin dokumentteihin
-RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista
LisätiedotAS-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ätiedotXML johdanto, uusimmat standardit ja kehitys
johdanto, uusimmat standardit ja kehitys Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: on W3C:n suosittama
LisätiedotJavan 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ätiedotMetodit. 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ätiedot4. Lausekielinen ohjelmointi 4.1
4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,
LisätiedotC# 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ätiedotTIEDEJUTTUKURSSI 29.9.2011 FM VILLE SALMINEN
TIEDEJUTTUKURSSI 29.9.2011 FM VILLE SALMINEN YLEISTÄ LUENNOT (8 H) & TYÖPAJA (2 H) YHTEYSTIEDOT ville.salminen@oulu.fi VÄLINEET Tekstieditori Mieluummin Windowsin Notepad kuin esimerkiksi Microsoft Word
LisätiedotBlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä
Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin
Lisätiedot12. Näppäimistöltä lukeminen 12.1
12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.
LisätiedotRinnakkaisohjelmointi 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ätiedotAJAX-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ätiedot3 Verkkosaavutettavuuden tekniset perusteet
3 Verkkosaavutettavuuden tekniset perusteet Saavutettavuuden toteuttaminen edellyttää lähtökohtaisesti tietoa laitteista ja sovelluksista, käyttäjistä ja käyttötavoista, sekä tekniikasta. Tekniikasta on
LisätiedotMatTaFi 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ätiedot17/20: Keittokirja IV
Ohjelmointi 1 / syksy 2007 17/20: Keittokirja IV Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/10 Tavoitteita
LisätiedotKYMENLAAKSON 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ätiedotVisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu
HAAGA HELIA/IltaTiko ICT2TD005: Ohjelmisto suunnittelutaito 1 VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu Tämä pikaopas opastaa käyttämään VisualStudion web sivujen suunnittelu ja toteutusominaisuuksia.
LisätiedotVaatimusmää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ätiedotVirtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).
1 Virtualisoinnin avulla voidaan purkaa suora linkki suoritettavan sovelluksen (tai käyttöjärjestelmän tms.) ja sitä suorittavan laitteiston välillä. Näin saavutetaan joustavuutta laitteiston käytössä.
LisätiedotPalvelinpuolen ohjelmointi
Palvelinpuolen ohjelmointi Staattiset ja dynaamiset web-sivut Staattiset web-sivut ovat valmiissa muodossaan palvelimella (tai paikallisesti omalla koneella). Javascript mahdollistaa paikalliset dynaamiset
LisätiedotHSMT 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ätiedotOhjelmoinnin 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ätiedotJärjestelmäarkkitehtuuri (TK081702) Web Services. Web Services
Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden
LisätiedotSisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely
LisätiedotDXL 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ätiedotTIE-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ätiedot4. Olio-ohjelmoinista lyhyesti 4.1
4. Olio-ohjelmoinista lyhyesti 4.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 4.2 Yleistä Olio-ohjelmointia käsitellään hyvin
LisätiedotOhjelmointi 2 / 2010 Välikoe / 26.3
Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään
LisätiedotJUnit 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ätiedotValppaan asennus- ja käyttöohje
Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi
LisätiedotRekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä
Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,
LisätiedotHarjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
LisätiedotARVO - verkkomateriaalien arviointiin
ARVO - verkkomateriaalien arviointiin Arvioitava kohde: Jenni Rikala: Aloittavan yrityksen suunnittelu, Arvioija: Heli Viinikainen, Arviointipäivämäärä: 12.3.2010 Osa-alue 8/8: Esteettömyys Edellinen osa-alue
LisätiedotPedacode Pikaopas. Web Service asiakasohjelman luominen
Pedacode Pikaopas Web Service asiakasohjelman luominen Pikaoppaan sisältö Pikaoppaassa kuvataan, Netbeans-työkalulla luodaan valmista olemassa olevaa Web Service palvelua käyttävä asiakasohjelma. Opas
Lisätiedot2. 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ätiedotCLOUDBACKUP TSM varmistusohjelmiston asennus
Luottamuksellinen JAVERDEL OY CLOUDBACKUP TSM varmistusohjelmiston asennus Copyright 2 (9) SISÄLLYSLUETTELO 1 ASENNUSOHJE WINDOWS KÄYTTÖJÄRJESTELMÄLLÄ VARUSTETTUIHIN LAITTEISIIN... 3 1.1 Yleistä... 3 1.2
Lisätiedot