13. Pintaa syvemmältä 233

Koko: px
Aloita esitys sivulta:

Download "13. Pintaa syvemmältä 233"

Transkriptio

1 13. Pintaa syvemmältä 233 OPPITUNTI 13 Pintaa syvemmältä Tällä tunnilla tutkimme joitakin funktioita, joilla saamme informaatiota ympäristöstä tai kommunikoimme ulkoisen maailman kanssa. Tämän tunnin aiheita ovat seuraavat: Lisätietoa ympäristömuuttujista HTTP-yhteyden rakenne Asiakirjan saaminen etäpalvelimelta Oman HTTP-yhteyden luominen Muiden verkkopalvelujen käyttäminen Sähköpostin lähettäminen skripteistä käsin

2 Pintaa syvemmältä Ympäristömuuttujat Olet jo kohdannut joitakin ympäristömuuttujia, jotka PHP antaa käyttöön palvelinyhteyden syntyessä. Joidenkin muuttujien kautta saadaan tietoa käyttäjistä. On kuitenkin muistettava, että jotkut muuttujat eivät välttämättä ole saatavilla järjestelmässäsi tai palvelinohjelmistosi kautta, joten tilanne kannattaa tarkistaa skripteissä ennen käyttöä. Taulukko 13.1 luettelee joitakin muuttujia, jotka saattavat olla hyödyllisiä haluttaessa saada tietoa käyttäjistä. Taulukko 13. Ympäristömuuttujia. Muuttuja Tarkoitus $HTTP_REFERER URL, josta nykyistä skriptiä kutsuttiin $HTTP_USER_AGENT Tietoa selaimesta ja alustasta, jota vierailija käyttää $HTTP_ADDR Vierailijan IP-osoite $HTTP HOST Vierailijan isäntänimi QUERY_STRING Koodattu merkkijono, joka on URL:n perässä (muoto on?avain1=arvo1&avain2=arvo2). Nämä avaimet ja arvot tulevat skriptiesi käyttöön globaaleina muuttujina. $PATH_INFO Lisätietoa, joka voi liittyä URL:ään Listaus 13.1 muodostaa skriptin, joka tulostaa näiden muuttujien sisällön selaimelle. Listaus 13.1 Joidenkin ympäristömuuttujien listaaminen 1: <html> 2: <head> 3: <title>listing 13.1 Listing some environmental variables</title> 4: </head> 5: <body> 6: <?php 7: $envs = array( "HTTP_REFERER", "HTTP_USER_AGENT", "REMOTE_ADDR", "REMOTE_ HOST", "QUERY_STRING", "PATH_INFO" ); 8: foreach ( $envs as $env ) 9: { 10: if ( isset( $$env ) ) 11: print "$env: ${$env}<br>"; 12: } 13:?> 14: </body> 15: </html>

3 13. Pintaa syvemmältä 235 Huomaa, että käytimme dynaamisia muuttujia muuntamaan merkkijonot samannimisiksi muuttujiksi. Tätä tekniikkaa tutkimme luvussa 4, Lohkojen rakentaminen. Kuva 13.1 esittää listauksen 13.1 tulostuksen. Kuvan 13.1 tieto generoitiin, kun skriptiä kutsuttiin toisella sivulla olevasta linkistä käsin. Kutsulinkki näytti seuraavalta: <A HREF='eg13.1.php/my_path_info?query_key=query_value'>go</A> Kuten näet, linkki käyttää suhteellista polkua kutsuessaan tiedostoa listing13.1.php. Lisätietoa polusta (my_path_info) lisätään asiakirjan nimen perään; lisätieto on muuttujassa $PATH_INFO. Olemme laittaneet kyselymerkkijonon (query string) tekstinä suoraan linkkiin ja se on saatavilla muuttujassa $QUERY_STRING. Useimmiten käytät kyselymerkkijonoa silloin, kun lomake lähetetään GET-metodilla, mutta voit tietenkin aina rakentaa omia kyselymerkkijonojasi viedäksesi informaatiota sivulta toiselle. Kyselymerkkijono koostuu nimi/arvo-pareista, jotka erotetaan toisistaan et-merkeillä (&). Nuo parit on URLkoodattu, jolloin jokainen laiton merkki tai merkki, jolla on HTML-merkitys, kirjoitetaan heksadesimaalimuodossa. Vaikka koko kyselymerkkijono on ympäristömuuttujassa $QUERY_STRING, tarvitset sitä harvoin. Jokainen avaimen nimi muodostaa aina oman globaalin muuttujansa, jonka sisällä on vastaava arvonsa. KUVA 13.1 Joidenkin ympäristömuuttujien tulostaminen selaimelle. Ympäristömuuttuja $HTTP_REFERER voi olla hyödyllinen, jos haluat seurata, mistä linkeistä käsin skriptisi suoritetaan. Muista kuitenkin, että tämä ja muut ympäristömuuttujat voidaan helposti kumota. Saat lisätietoa asiasta myöhemmin tässä luvussa. Koska asian korjaaminen aiheuttaisi yhteensopivuusongelmia, meidän on pysyttäydyttävä virheellisessä referrer -kirjoitustavassa. Kaikki selaimet eivät tue tätä otsikkoa, joten sen varaan ei kannata laskea liikaa. Voit jäsennellä $HTTP_USER_AGENT-muuttujan saadaksesi esille alustan ja selaimen. Tämäkin muuttuja voidaan kumota. Muuttuja voi olla hyödyllinen, jos haluat käyttää selain- tai selainversiokohtaista HTMLkoodia tai JavaScript-koodia. Luvussa 17, Merkkijonojen käsittely, ja luvussa 18, Säännöllisten lausekkeiden käyttäminen, sinulle annetaan työkaluja, joilla voit ottaa esille haluamasi tiedot tästä merkkijonosta. Ympäristömuuttuja $REMOTE_ADDR sisältää käyttäjän IP-osoitteen ja sillä voidaan jäljittää vierailijoita. Muista kuitenkin, että monilla Web-käyttäjillä ei ole kiinteää IP-osoitetta. Sen sijaan heidän Internetpalveluntarjoajansa antavat heille dynaamiset IP-osoitteet kytkeytymisen yhteydessä. Sama IP-osoite voi siis olla eri käyttäjien käytössä eri aikoina. $REMOTE_HOST ei ehkä ole käytettävissä; asia riippuu palvelinasetuksista. Muuttujaan tallennetaan käyttäjän isäntänimi. Muuttujan läsnäolo vaatii sen, että palvelin hakee isäntänimen jokaiselle pyynnölle, joten

4 Pintaa syvemmältä muuttuja on ehkä otettu pois käytöstä tehokkuussyistä. Jos muuttuja ei ole saatavilla, voit saada vastaavat tiedot esille muuttujan $REMOTE_ADDR-arvon kautta. Asiaa käsitellään tarkemmin myöhemmin tässä luvussa. Lyhyt yhteenveto asiakas/palvelin-keskustelusta Palvelimen ja asiakkaan välinen tiedonsiirto asiakaspyynnön tekemisen yhteydessä on tämän kirjan aihealueen ulkopuolella. Lisäksi PHP hoitaa useimmat asiaan liittyvät detaljit puolestasi. Sinun on kuitenkin hyvä tietää perusasiat tästä prosessista, etenkin, jos aiot kirjoittaa skriptejä, jotka noutavat Web-sivuja tai tarkistavat Web-osoitteiden tilan. HTTP tulee sanoista Hypertext Transfer Protocol. Kyseessä on joukko sääntöjä, jotka määrittelevät prosessin, jossa asiakas lähettää pyynnön ja palvelin palauttaa vastauksen. Sekä asiakas että palvelin antavat informaatiota itsestään sekä siirrettävästä tiedosta. Suuri osa tuosta tiedosta on saatavilla ympäristömuuttujissa. Pyyntö Asiakas pyytää tietoa palvelimelta tiettyjen tarkkojen sääntöjen puitteissa. Pyyntö koostuu kolmesta eri komponentista: Pyyntörivistä Otsikko-osasta Tietoyksiköstä Pyyntörivi on pakollinen. Se koostuu pyyntömetodista, joka on tyypillisesti GET, HEAD tai POST, pyydettävän asiakirjan osoitteesta ja HTTP-versiotiedoista (HTTP/1.0 tai HTTP/1.1). Tyypillinen mydoc.html-nimisen asiakirjan pyyntö saattaisi näyttää seuraavalta: GET /mydoc.html HTTP/1.0 Asiakas tekee GET-pyynnön. Toisin sanoen se pyytää koko asiakirjaa, mutta ei lähetä itse mitään tietoa (itse asiassa se voi lähettää pieniä määriä tietoa GET-pyyntöjen yhteydessä lisäämällä kyselymerkkijonon URL:n perään). HEAD-metodi voi olla hyödyllinen, jos haluat vain tietoa asiakirjasta. POST-metodia käytetään siirtämään tietoa asiakkaalta palvelimelle; useimmiten on kyseessä HTML-lomake. Pelkkä pyyntörivi riittää tekemään sopivan GET-pyynnön. Lähettämällä palvelimelle tyhjä rivi kerrotaan, että pyyntö on tehty. Useimmat asiakkaat lisäävät pyyntörivin jälkeen otsikko-osan, jossa on nimi/arvo-pareja. Jotkut noista tiedoista ovat saatavilla ympäristömuuttujissa. Kukin asiakkaan otsikko koostuu rivillä olevasta avaimesta ja arvosta; erottimena on kaksoispiste. Taulukko 13.2 luettelee muutamia otsikkotietoja. Taulukko 13.2 Joitakin asiakkaan lähettämiä otsikoita Nimi Selitys Accept Asiakkaan hyväksymät mediatyypit Accept-Encoding Asiakkaan hyväksymät tiedon tiivistämistavat Accept-Charset Asiakkaan ensisijaiset merkistöt

5 13. Pintaa syvemmältä 237 Accept-Language Host Referer User-Agent Asiakkaan ensisijainen kieli ( en tarkoittaa englannin kieltä) Isäntäkone, johon pyyntö kohdistuu. Jotkin palvelimet, joilla on useita virtuaalipalvelimia, tukeutuvat voimakkaasti tähän otsikkoon. Asiakirja, josta käsin pyyntö tehtiin Asiakastyyppi ja versio GET- ja POST-metodien kohdalla otsikkojaksot päättävät pyynnön ja tyhjä rivi lähetetään lopuksi palvelimelle. POST-metodia käytettäessä tyhjän rivin jälkeen on yksikön runko. Se koostuu kaikesta palvelimelle lähetettävästä tiedosta. Useimmiten kyseessä on URL-koodattuja nimi/arvo-pareja, jotka ovat samanlaisia kuin kyselymerkkijonossa. Listaus 13.2 esittää pyynnön palvelimelle Netscapen 4.6-selaimella. Listaus 13.2 Tyypilliset asiakkaan otsikkotiedot lähetettyina Netscape-selaimella GET / HTTP/1.0 Referer: Connection: Keep-Alive User-Agent: Mozilla/4.6 (X11; I; Linux apmac ppc) Host: Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso ,*,utf-8 Vastaus Kun palvelin on saanut asiakkaan pyynnön, se lähettää vastauksen takaisin asiakkaalle. Vastaus koostuu yleensä kolmesta osasta: Tilarivistä Otsikko-osasta Yksikön rungosta Kuten näet, pyynnön ja vastauksen välillä on paljon yhteneväisyyksiä. Itse asiassa tietyt otsikot voidaan lähettää joko asiakkaan tai palvelimen toimesta, erityisesti yksikön runkoa koskevat tiedot. Tilarivi koostuu HTTP-versiosta, jota palvelin käyttää (HTTP/1.0 tai HTTP/1.1), vastauskoodista ja viestistä, joka kertoo vastauskoodin merkityksen. Palvelin voi lähettää asiakkaalle useita eri vastauskoodeja. Kukin koodi antaa tietoa pyynnön käsittelyn onnistumisesta. Taulukko 13.3 luettelee joitakin yleisiä vastauskoodeja.

6 Pintaa syvemmältä TAULUKKO 13.3 Joitakin vastauskoodeja Koodi Teksti Selitys 200 OK Pyyntö onnistui, ja tieto tulee mukana. 301 Moved permanently Pyydettyä tietoa ei enää ole palvelimella. Sijaintiotsikossa (location) on uusi osoite. 302 Moved temporarily Pyydetty tieto on siirretty. Sijaintiotsikossa (location) on uusi osoite. 404 Not Found Tietoa ei löydy annetusta osoitteesta. 500 Internal Server Error Palvelin tai CGI-skripti on kohdannut vakavan ongelman yrittäessään käsitellä tietoa. Tyypillinen vastausrivi näyttää seuraavalta: HTTP/ OK Otsikko-osa sisältää joukon vastausotsikoita, jotka on muotoiltu samalla lailla kuin pyynnön otsikot. Taulukko 13.4 luettelee joitakin otsikoita, jotka palvelin lähettää. Taulukko 13.4 Joitakin yleisiä palvelinotsikoita Nimi Tarkoitus Date Nykyinen päivämäärä Server Palvelimen nimi ja versio Content-Type Sisällön MIME-tyyppi Content-Length Sisällön koko tavuina Location Vaihtoehtoisen asiakirjan koko osoite Sen jälkeen kun otsikot on lähetetty, palvelin lähettää tyhjän rivin asiakkaalle; tyhjän rivin jälkeen tulee itse sisältö eli haettava kohde. Listaus 13.3 esittää tyypillisen palvelinvastineen. LISTAUS 13.3 Palvelinpyyntö 1: HTTP/ OK 2: Date: Sun, 30 Jan :02:20 GMT 3: Server: Apache/1.3.9 (UNIX) 4: Connection: close 5: Content-Type: text/html 6: 7: <html> 8: <head> 9: <title>listing 13.3 A server response</title> 10: </head>

7 13. Pintaa syvemmältä : <body> 12: Hello 13: </body> 14: </html> Asiakirjan saaminen etäosoitteesta Vaikka PHP onkin palvelinpuolen kieli, se voi toimia asiakkaana ja pyytää tietoa etäpalvelimilta sekä laittaa tulokset skriptiesi saataville. Jos osaat jo lukea tiedostoja palvelimelta, sinulla ei ole mitään vaikeuksia käyttää PHP:tä tiedon saamiseen Webistä. Itse asiassa syntaksi on aivan sama. Voit käyttää fopen()- funktiota luodaksesi yhteyden Web-osoitteeseen samalla lailla kuin tiedostojen kohdalla. Listaus 13.4 avaa yhteyden etäpalvelimelle ja pyytää sivua sekä esittää tulokset selaimelle. Listaus 13.4 Web-sivun sieppaaminen fopen()-funktiolla 1: <html> 2: <head> 3: <title>listing 13.4 Getting and printing a web page with fopen()</title> 4: </head> 5: <body> 6: <?php 7: $webpage = "http://www.corrosive.co.uk/php/hello.html"; 8: $fp = fopen( $webpage, "r" ) or die("couldn't open $webpage"); 9: while (! feof( $fp )) 10: print fgets( $fp, 1024 ); 11:?> 12: </body> 13: </html> Kun skripti ajetaan, tuloksena tulisi olla PHP-kotisivu. Huomaa, että sivulla olevat kuvat eivät näy. Se johtuu siitä, että IMG-elementeissä olevat polut kuviin ovat yleensä suhteellisia. Kun skripti tulostaa lataamansa tiedon, käyttäjän selain hakee palvelimelta viitattuja kuvia. Voisimme ohittaa tuon ongelman lisäämällä seuraavan tagin skriptin HEAD-elementtiin: <base href="http://www.php.net"> Yleensä et varmaankaan halua tulostaa koko sivua selaimelle. Useimmiten haluat jäsennellä lataamaasi asiakirjaa. Funktio fopen() palauttaa tiedosto-osoittimen, jos yhteyden luonti onnistuu ja arvon false, jos yhteyttä ei voitu luoda tai sivua ei ole olemassa. Kun olet saanut tiedosto-osoittimen, voit käyttää sitä

8 Pintaa syvemmältä normaalisti tiedoston lukemiseen. PHP esittelee itsensä etäpalvelimelle asiakkaana. Omassa järjestelmässäni se lähettää seuraavan pyynnön: GET / HTTP/1.0 Host: User-Agent: PHP/4.0b3 Tämä prosessi on yksinkertainen ja juuri tätä lähestymistapaa käytät useimmiten Web-sivujen käsittelyssä. Saatat haluta kytkeytyä kuitenkin muihin verkkopalveluihin tai oppia enemmän Web-asiakirjasta jäsentelemällä palvelinotsikoita. Asiaa käsitellään myöhemmin tässä luvussa. IP-osoitteiden ja isäntänimien muuntaminen Vaikka palvelimesi ei sallisikaan $REMOTE_HOST-muuttujan käyttöä, saat luultavasti tietää vierailijan IPosoitteen $REMOTE_ADDR-ympäristömuuttujan avulla. Voit käyttää sitä gethostbyaddr()-funktion selvittämään käyttäjän koneen nimi. Funktio ottaa argumentikseen merkkijonon, joka edustaa IP-osoitetta ja palauttaa isäntänimen. Jos virhe tapahtuu, se palauttaa annetun IP-osoitteen. Listaus 13.5 sisältää skriptin, joka käyttää gethostbyaddr()-funktiota koneen nimen selville saamiseen siinä tapauksessa, että $REMOTE_HOST-muuttuja ei ole saatavilla. Listaus 13.5 Funktion gethostbyaddr() käyttö koneen nimen selvittämiseen 1: <html> 2: <head> 3: <title>listing 13.5 Using gethostbyaddr() to get a host name</title> 4: </head> 5: <body> 6: <?php 7: if ( isset( $REMOTE_HOST ) ) 8: print "Hello visitor at $REMOTE_HOST<br>"; 9: elseif ( isset ( $REMOTE_ADDR ) ) 10: print "Hello visitor at ".gethostbyaddr( $REMOTE_ADDR )."<br>"; 11: else 12: print "Hello you, wherever you are<br>"; 13:?> 14: </body> 15: </html>

9 13. Pintaa syvemmältä 241 Jos $REMOTE_HOST on saatavilla, voimme yksinkertaisesti vain tulostaa sen arvon selaimelle. Muutoin, jos saatavilla on $REMOTE_ADDR-muuttuja, yritämme selvittää koneen nimen gethostbyaddr()-funktiolla. Jos epäonnistumme, tulostamme yleisen tervetulotoivotuksen. Voit muuntaa konenimen IP-osoitteeksi funktiolla gethostbyname(). Tuo funktio vaatii argumentikseen konenimen ja palauttaa IP-osoitteen. Jos virhe tapahtuu, se palauttaa argumenttina olleen koneen nimen. Verkkoyhteyden toteuttaminen Toistaiseksi kaikki on ollut helppoa, sillä PHP:n ansiosta etäpalvelimella olevaa Web-sivua voidaan työstää yhtä helposti kuin omassa järjestelmässä olevaa sivua. Joskus on kuitenkin oltava hieman tarkempi verkkoyhteyden suhteen tai ainakin saatava siitä enemmän tietoa. Yhteys Internet-palvelimelle voidaan toteuttaa fsockopen()-funktiolla, joka vaatii isäntänimen tai IPosoitteen, portin numeron ja kaksi viittausmuuttujaa. Muista, että viittaus toteutetaan sijoittamalla et-merkki muuttujan nimen eteen. Viittausmuuttujat, jotka viedään fsockopen()-funktiolle, tallentavat lisätietoa yhteyden yrityksestä, jos yhteydenotto ei onnistu. Funktiolle voidaan myös viedä valinnainen aikaraja, joka määrittää, kuinka kauan fsockopen() odottaa (sekunneissa) ennen kuin se lopettaa yhteydenoton yrittämisen. Jos yhteys onnistuu, palautetaan tiedosto-osoitin. Muutoin palautetaan false-arvo. Seuraava koodi alustaa yhteyden Web-palvelimelle: $fp = fsockopen( "www.corrosive.co.uk", 80, &$errno, &errdesc, 30 ); Arvo 80 on tavallinen porttinumero, jota Web-palvelin kuuntelee. Ensimmäinen viittausmuuttuja $errno sisältää virhenumeron, jos yhteys ei onnistu, ja $errdesc voi sisältää lisätietoa virheestä. Kun tiedosto-osoitin on saatu, voit sekä kirjoittaa yhteyteen fputs()-funktiolla että lukea siitä fgets()-funktiolla, kuten tiedostojen kohdalla yleensä tehtäisiin. Kun yhteyttä ei enää tarvita, se lopetetaan fclose()-funktiolla. Meillä on nyt tarpeeksi tietoa alustaaksemme oman yhteytemme Web-palvelimelle. Listaus 13.6 toteuttaa http-yhteyden, palauttaa sivun ja tallentaa sen muuttujaan. Listaus 13.6 Web-sivun palauttaminen fsockopen()-funktiolla 1: <html> 2: <head> 3: <title>listing 13.6 Retrieving a Web page using fsockopen()</title> 4: </head> 5: <body> 6: <?php 7: $host = "www.corrosive.co.uk"; 8: $page = "/index.html"; 9: $fp = fsockopen( "$host", 80, &$errno, &$errdesc); 10: if (! $fp )

10 Pintaa syvemmältä 11: die ( "Couldn't connect to $host:\nerror: $errno\ndesc: $errdesc\n" ); 12: 13: $request = "GET $page HTTP/1.0\r\n"; 14: $request.= "Host: $host\r\n"; 15: $request.= "Referer: 16: $request.= "User-Agent: PHP test client\r\n\r\n"; 17: $page = array(); 18: fputs ( $fp, $request ); 19: while (! feof( $fp ) ) 20: $page[] = fgets( $fp, 1024 ); 21: fclose( $fp );print "the server returned ".(count($page))." lines!"; 22:?> 23: </body> 24: </html> Huomaa pyyntöotsikot, jotka lähetetään palvelimelle. Etäkoneen hallintahenkilö näkee arvon, joka lähetetään User-Agent-otsikossa omassa kirjaustiedostossaan. Hän voi myös olettaa, että vierailija kytkeytyi osoitteesta Siitä syystä joidenkin ympäristömuuttujien suhteen on oltava varovainen. Kohtele niitä tukevina aputyökaluina, älä aseta niille liikaa painoarvoa. On joitakin hyväksyttyjä syitä, joiden vuoksi saattaisit haluta muokata joitakin otsikoita. Sinun on ehkä jäsenneltävä jotain tietoa, joka lähetetään vain Netscape-yhteensopiville selaimille. Ainoa keino tehdä se on sisällyttää sana Mozilla User-Agent-otsikkoon. Kaikesta huolimatta kannattaa pitää hallintahenkilön puolta. Toimintaan vaikuttavat päätökset tehdään palvelintilastojen pohjalta, joten älä yritä sotkea tuota informaatiota. Listauksen 13.6 esimerkki pelkästään käyttää PHP:n sisäisiä metodeita Web-sivun saamiseen. Listaus 13.7 käyttää fsockopen()-funktiota tarkistamaan tilakoodit, joita palvelimet palauttavat, kun pyydämme joukon sivuja. Listaus 13.7 Web-palvelimien palauttamien tilarivien tulostaminen 1: <html> 2: <head> 3: <title>listing 13.7 Outputting the status lines returned by web servers</ title> 4: </head> 5: <body> 6: <?php 7: $to_check = array ( "www.corrosive.co.uk" => "/index.html",

11 13. Pintaa syvemmältä 243 8: "www.virgin.com" => "/notthere.html", 9: "www.4332blah.com" => "/nohost.html" 10: ); 11: foreach ( $to_check as $host => $page ) 12: { 13: $fp = fsockopen( "$host", 80, &$errno, &$errdesc, 10); 14: print "Trying $host<br>\n"; 15: if (! $fp ) 16: { 17: print "Couldn't connect to $host:\n<br>error: $errno\n<br>desc: $errdesc\n"; 18: print "<br><hr><br>\n"; 19: continue; 20: } 21: print "Trying to get $page<br>\n"; 22: fputs( $fp, "HEAD $page HTTP/1.0\r\n\r\n" ); 23: print fgets( $fp, 1024 ); 24: print "<br><br><br>\n"; 25: fclose( $fp ); 26: } 27:?> 28: </body> 29: </html> Loimme assosiatiivisen taulukon palvelinten nimistä ja sivuosoitteista, jotka halusimme tarkistaa. Kävimme taulukon läpi silmukan foreach-lauseella. Jokaisen alkion kohdalla alustimme yhteyden fsockopen()- funktiolla asettaen aikarajaksi 10 sekuntia. Jos yhteys epäonnistuu, tulostamme viestin selaimelle ja käytämme continue-lausetta seuraavaan pariin siirtymiseksi. Jos yhteys onnistuu, lähetämme pyynnön palvelimelle. Käytämme HEAD-metodia, koska emme halua jäsennellä koko runkoa. Funktiolla fgets() saamme tilarivin palvelimelta. Tässä esimerkissä emme käsittele palvelinotsikoita, joten suljemme yhteyden fclose()-funktiolla ja siirrymme listan seuraavaan alkioon. Kuva 13.2 näyttää lisauksen tulostuksen.

12 Pintaa syvemmältä KUVA 13.2 Skripti tulostaa palvelimen vastausotsikot. NNTP-yhteyden luominen fsockopen()-funktiolla Fsockopen()-funktiota voidaan käyttää yhteyden luomiseen mille tahansa Internet-palvelimelle. Listauksessa 13.8 luodaan yhteys NNTP-palvelimelle, joka on siis Usenet-keskusteluryhmäpalvelin. Esimerkki valitsee keskusteluryhmän ja listaa ensimmäisen viestin otsikot. Listaus 13.8 NNTP-perusyhteyden luominen fsockopen()-funktiolla 1: <html> 2: <head> 3: <title>listing 13.8 A basic NNTP connection using fsockopen()</title> 4: </head> 5: <body> 6: <?php 7: $server = "news"; // anna oma news-palvelimesi 8: $group = "alt.test"; 9: $line = ""; 10: print "<pre>\n"; 11: print "-- Trying to connect to $server\n\n"; 12: $fp = fsockopen( "$server", 119, &$error, &$description, 10 ); 13: if (! $fp ) 14: die("couldn't connect to $server\n$errno\n$errdesc\n\n"); 15: print "-- Connected to $server\n\n"; 16: $line = fgets( $fp, 1024 ); 17: $status = explode( " ", $line ); 18: if ( $status[0]!= 200 )

13 13. Pintaa syvemmältä : { 20: fputs( $fp, "close" ); 21: die("error: $line\n\n"); 22: } 23: print "$line\n"; 24: print "-- Selecting $group\n\n"; 25: fputs( $fp, "group alt.test\n" ); 26: $line = fgets( $fp, 1024 ); 27: $status = explode( " ", $line ); 28: if ( $status[0]!= 211 ) 29: { 30: fputs( $fp, "close" ); 31: die("error: $line\n\n"); 32: } 33: print "$line\n"; 34: print "-- Getting headers for first message\n\n"; 35: fputs( $fp, "head\n" ); 36: $line = fgets( $fp, 1024 ); 37: $status = explode( " ", $line ); 38: print "$line\n"; 39: if ( $status[0]!= 221 ) 40: { 41: fputs( $fp, "close" ); 42: die("error: $line\n\n"); 43: } 44: while (! ( strpos($line, ".") === 0 ) ) 45: { 46: $line = fgets( $fp, 1024 ); 47: print $line; 48: } 49: fputs( $fp, "close\n" ); 50: print "</pre>"; 51:?>

14 Pintaa syvemmältä 52: </body> 53: </html> Listauksen 13.8 koodi tekee hieman enemmänkin kuin pelkästään demonstroi sitä, että NNTP-yhteys voidaan luoda fsockopen()-funktiolla. Todellisessa esimerkissä rivin jäsentely tehtäisiin funktiossa, jotta vältyttäisiin toistuvalta koodilta. Funktiota voitaisiin kutsua sitten eri rivien kohdalla lisätietojen saamiseksi palvelimelta. Pyörän uudelleen keksimisen sijaan saattaisi olla hyvä tutkia PHP:n IMAP-funktioita, jotka tekevät suuren osan tuosta työstä puolestasi. Tallennamme palvelimemme isäntänimen muuttujaan $server ja valitsemamme ryhmän muuttujaan $group. Jos haluat ajaa tämän skriptin, sinun tulisi sijoittaa Internet-palveluntarjoajasi news-palvelimen nimi $servermuuttujaan. Käytimme fsockopen()-funktiota kytkeytymään isäntäkoneen porttiin 119, joka yleensä on porttina NNTP-yhteyksille. Jos sopivaa tiedosto-osoitinta ei palauteta, käytämme die()-funktiota virhenumeron ja kuvauksen tulostamiseen selaimelle ja lopetamme skriptin ajamisen. Jos yhteys onnistuu, palvelin lähettää meille vahvistusviestin, joten yritämme saada sen haltuumme fgets()-funktiolla. Jos kaikki onnistuu, tämä merkkijono alkaa tilakoodilla 200. Voimme testata sen käyttämällä explode()-funktiota erottamaan $line-merkkijono taulukkoon välilyönnin toimiessa erottimena. Saat lisätietoa explode()- funktiosta luvusta 17. Jos tämän taulukon ensimmäinen alkio on 200, voimme jatkaa; muutoin lopetamme skriptin. Jos kaikki sujuu odotetusti, lähetämme palvelimelle komennon valita keskusteluryhmä. Jos se onnistuu, palvelin palauttaa merkkijonon, joka alkaa tilakoodilla 211. Testaamme sen ja lopetamme skriptin, jos tilakoodi on jokin muu arvo. Kun olemme nyt valinneet keskusteluryhmämme, lähetämme head-komennon palvelimelle pyytäen ensimmäisen viestin otsikoita. Taaskin me testaamme vastauksen ja etsimme nyt tilakoodia 221. Lopuksi saamme itse otsikon. Palvelimen otsikkolistaus päättyy yksittäiseen pisteeseen (.), joka on omalla rivillään, joten testaamme sen while-lauseessa. Niin kauan kuin palvelimen tulostusrivi ei ala pisteellä, pyydämme ja tulostamme seuraavan rivin. Lopuksi suljemme yhteyden. Kuva 13.3 esittää tyypillisen tulosteen listauksesta KUVA 13.3 NNTP-yhteyden luominen. Sähköpostin lähettäminen mail()-funktiolla PHP osaa lähettää sähköpostia automaattisesti puolestasi. Se tapahtuu mail()-funktiolla, joka ottaa argumenteikseen kolme merkkijonoa: vastaanottajan, aiheen ja viestin. Funktio palauttaa arvon false, jos virheitä tapahtuu. Seuraava koodi lähettää sähköpostia:

15 13. Pintaa syvemmältä 247 $to = $subject = "hi"; $message = "just a test message! "; mail( $to, $subject, $message ) or print "Could not send mail"; Jos käytät PHP:tä UNIX-koneessa, mail() käyttää apunaan Sendmail-ohjelmaa. Muissa järjestelmissä funktio kytkeytyy SMTP-palvelimelle, joka voi olla paikallinen tai etäkone. Asetus määritetään SMTPkohdassa php.ini-tiedostossa. Sähköpostin lähetyksessä ei tarvitse rajoittua pelkästään niihin otsikoihin, jotka asetetaan mail()-funktion argumentteina. Mukaan voi laittaa mitä tahansa otsikoita valinnaisessa neljännessä argumentissa. Nämä otsikot tulee erottaa toisistaan merkkijonolla \r\n (kuvaavat vaununpalautusta ja rivinvaihtoa). Seuraavassa esimerkissä laitamme sähköpostiviestiimme From-kentän ja myös X-Priority-otsikon, jonka jotkin asiakkaat tunnistavat: $to = $from = $subject = "hi"; $message = "just a test message! "; mail( $to, $subject, $message, "$from\r\nx-priority: 1 (Highest)" ) or print "Could not send mail"; Yhteenveto Tällä tunnilla opit käyttämään ympäristömuuttujia, joiden avulla saat lisätietoa sivusi vierailijoista. Jos et saa esille käyttäjän isäntäkoneen nimeä, voit käyttää gethostbyaddr()-funktiota sen saamiseen. Luku kuvasi sinulle myös asiakkaan ja palvelimen käymää keskustelua, kun HTTP-yhteys oli luotu. Tämän lisäksi opit käyttämään fopen()-funktiota asiakirjan hakemiseen Webistä ja fsockopen()-funktiota oman HTTP-yhteyden luomiseen. Tuon funktion avulla voit ottaa yhteyden mihin tahansa Internetpalvelimeen. Luvun lopussa sait tietoa mail()-funktiosta, jolla lähetetään sähköpostia skripteistä käsin. K&V K HTTP näyttää hieman kaukaiselta. Onko minun tosiaankin ymmärrettävä sitä voidakseni kirjoittaa hyvää PHP-koodia? V Ei. Voit aivan hyvin kirjoittaa erinomaista koodia tietämättä juuri mitään asiakkaan ja palvelimen välisestä kommunikoinnista. Toisaalta prosessin ymmärtäminen on hyödyllistä, jos haluat tehdä muutakin kuin vain ladata sivuja etäpalvelimilta.

16 Pintaa syvemmältä K Jos lähetän muokattuja otsikoita etäpalvelimelle, tulisiko minun luottaa ympäristömuuttujiin? V Sinun ei tulisi luottaa sellaisiin ympäristömuuttujiin kuin esimerkiksi $HTTP_REFERRER tai $HTTP_USER_AGENT, jos niiden tarkkuus on olennaista skriptisi toiminnalle. Muista kuitenkin, että suurin osa asiakkaistasi kertoo sinulle totuuden. Jos haluat taata toimivuuden pelkästään tutkimalla, mitä selainta käyttäjä käyttää tai kerätäksesi tilastotietoa, ei ole mitään syytä hyljeksiä tuota tietoa. Työpaja Työpaja tarjoaa pikakysymyksiä, joiden avulla voit kerrata läpikäytyä materiaalia. Yritä ymmärtää vastaukset ennen kuin jatkat seuraavaan lukuun. Vastaukset annetaan liitteessä A. Kysymyksiä 1. Mikä ympäristömuuttuja antaisi viittaavan sivun URL:n? 2. Miksi et voi luottaa $REMOTE_ADDR-muuttujaan jäljittääksesi yksittäisen käyttäjän monien skriptisi käyttäjien joukosta? 3. Mitä HTTP tarkoittaa? 4. Mikä asiakkaan otsikkorivi kertoo palvelimelle selaimen, joka tekee pyynnön? 5. Mitä palvelimen vastauskoodi 404 tarkoittaa? 6. Mitä funktiota voisit käyttää ottaaksesi esille Web-sivun etäpalvelimelta tekemättä omaa verkkoyhteyttä? 7. Jos käytössäsi on IP-osoite, mikä funktio antaisi palvelimen nimen? 8. Mikä funktio luo verkkoyhteyden? 9. Millä PHP-funktiolla voit lähettää ia? Toiminta 1. Luo skripti, joka hyväksyy Web-palvelimen nimen (esimerkiksi nimen ) syöttötiedoikseen. Lähetä palvelimelle HEAD-pyyntö käyttäen fsockopen()-funktiota, jolla yhteys luodaan. Tulosta vastaus selaimelle. Muista ottaa huomioon mahdollisuus, että yhteyden luonti ei onnistu. 2. Luo skripti, joka ottaa vastaan viestin käyttäjältä ja lähettää sen sinulle. Lisää käyttäjän viestiin ympäristömuuttujia, jotka kertovat käyttäjän selaimen ja IP-osoitteen.

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin 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ätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje Ohje 1 (10) Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje Sisällys 1 Johdanto... 1 2 Suojatun viestin vastaanottaminen... 1 3 Suojatun viestin lukeminen... 2 4 Vastaanotetun

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012 Tiedostot Uudet ominaisuudet: - Ei Tiedostot-kohtaa alueen sisällä, vaan tiedostonvalitsin, jolla tiedostot tuodaan alueelle siihen kohtaan missä ne näytetään - Firefox-selaimella voi työpöydältä raahata

Lisätiedot

Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009

Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009 Verkkosivut perinteisesti Tanja Välisalo 11.2.2009 WWW-sivujen vieminen omaan kotisivutilaan yliopiston mikroverkossa https://salasana.jyu.fi Klikkaa painiketta Activate WWW Klikkaa painiketta Activate

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta

Lisätiedot

Webinaariin liittyminen Skype for

Webinaariin liittyminen Skype for Webinaariin liittyminen Skype for Business Web Appin kautta Ohjeet Sähköpostin Liity webinaariin tästä -linkki Kun klikkaat Osallistumisohjeet webinaariin -sähköpostiviestissä olevaa Liity webinaariin

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Miten Internet toimii. Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät 2013

Miten Internet toimii. Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät 2013 Miten Internet toimii Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät 2013 Luennon sisältö 1. Esimerkki 1: nettiselailu 2. Esimerkki 2: sähköposti 3. Internetin protokollapino 2 ESIMERKKI 1: NETTISELAILU

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

Ryhmät. Pauliina Munter/Suvi Junes Tampereen yliopisto/ Tietohallinto 2014

Ryhmät. Pauliina Munter/Suvi Junes Tampereen yliopisto/ Tietohallinto 2014 1 Ryhmät Moodlessa voi jakaa opiskelijoita pienempiin alaryhmiin, joilla toimitaan esim. keskustelualueella tai työskennellään wikissä. Ryhmätoiminto on hyödyllinen, jos kurssilla on paljon osallistujia

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

Lisätiedot

Google Forms / Anna Haapalainen. Google Forms Googlen lomake-työkalu

Google Forms / Anna Haapalainen. Google Forms Googlen lomake-työkalu Google Forms Googlen lomake-työkalu Google Forms / Anna Haapalainen Googlen lomaketyökalulla on helppoa tehdä sähköisiä kyselyitä, tehtäviä tai kokeita. Voidaksesi luoda Googlen lomakkeita, sinulla tulee

Lisätiedot

Harri Laine 1. Digitaalisen median tekniikat, s2007 HY/TKTL, palvelinohjelmointi_1. Palvelinohjelmointi

Harri Laine 1. Digitaalisen median tekniikat, s2007 HY/TKTL, palvelinohjelmointi_1. Palvelinohjelmointi Digitaalisen median tekniikat Staattinen www-sivu Palvelimelle tallennettu valmis sivu Sama URL antaa aina saman sisällön Teknisesti sivu voi muodostua monesta osasta, esimerkiksi kuvat ovat eri tiedostoja

Lisätiedot

DNA Toimistoviestintä Microsoft - sähköposti

DNA Toimistoviestintä Microsoft - sähköposti DNA Toimistoviestintä Microsoft - sähköposti 30.10.2013 Luottamuksellinen MS Outlook, Standard postitilin asennus 1/6 Käynnistä Outlook 2010. Seuraava näyttö avautuu Valitse Next (Seuraava). 2 MS Outlook,

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 4.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 4.3.2009 1 / 35 Tiedostot Tiedostojen käsittelyä tarvitaan esimerkiksi seuraavissa tilanteissa: Ohjelman käsittelemiä

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille! Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014 Tietokanta Tietokanta on työkalu, jolla opettaja ja opiskelijat voivat julkaista tiedostoja, tekstejä, kuvia ja linkkejä alueella. Opettaja määrittelee lomakkeen muotoon kentät, joiden kautta opiskelijat

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

Lisätiedot

Miten siirrän omat työni Office 365:stä Peda.nettiin sekä jaan sen siellä muille Eija Arvola

Miten siirrän omat työni Office 365:stä Peda.nettiin sekä jaan sen siellä muille Eija Arvola Miten siirrän omat työni Office 365:stä Peda.nettiin sekä jaan sen siellä muille Eija Arvola 16.12.2017 UUDEN SIVUN LUOMINEN OMAAN TILAAN Jos haluat tallentaa omia töitäsi Peda.nettiin, sinun pitää luoda

Lisätiedot

OHJEET HOPSIN TEKEMISEEN KYVYT- PALVELUSSA:

OHJEET HOPSIN TEKEMISEEN KYVYT- PALVELUSSA: Kyvyt.fi-ohjeita / MR 22.12.2011 1(21) OHJEET HOPSIN TEKEMISEEN KYVYT- PALVELUSSA: HOPS-RYHMÄÄN LIITTYMINEN, HOPS-POHJIEN KOPIOINTI, SIVUSTON TEKEMINEN JA HOPSIN MUOKKAAMINEN SISÄLLYS JAMK HOPS-RYHMÄÄN

Lisätiedot

EU Login. EU Login kirjautuminen. EU Login tilin luominen

EU Login. EU Login kirjautuminen. EU Login tilin luominen EU Login EU Login kirjautuminen EU Login järjestelmä mahdollistaa keskitetyn pääsyn useisiin eri Euroopan Komission verkkosovelluksiin yhdellä käyttäjätunnuksella ja salasanalla. EU login varmistaa identiteettisi

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python 15. helmikuuta 2009 Merkkijonot Yleistä Käsittely Muotoiltu tulostus Tiedostot Käsittely Lukeminen Kirjoittaminen Modulit Käyttö Seuraava luento

Lisätiedot

11. oppitunti III. Viittaukset. Osa. Mikä on viittaus?

11. oppitunti III. Viittaukset. Osa. Mikä on viittaus? Osa III 11. oppitunti Viittaukset Kahdessa viime luvussa opit käyttämään osoittimia kohteiden käsittelyyn vapaalla muistialueella sekä viittaamaan noihin kohteisiin epäsuorasti. Tässä luvussa käsiteltävät

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

Pauliina Munter/Suvi Junes Tietohallinto/Opetusteknologiapalvelut 2015

Pauliina Munter/Suvi Junes Tietohallinto/Opetusteknologiapalvelut 2015 Ryhmät Moodlessa voi jakaa opiskelijoita pienempiin alaryhmiin, joilla toimitaan esim. keskustelualueella tai työskennellään wikissä. Ryhmätoiminto on hyödyllinen, jos kurssilla on paljon osallistujia

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. 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ätiedot

2 Konekieli, aliohjelmat, keskeytykset

2 Konekieli, aliohjelmat, keskeytykset ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

Lisätiedot

GroupWise Calendar Publishing Host User

GroupWise Calendar Publishing Host User GroupWise 8 Calendar Publishing Host User 8 17. lokakuu 2008 Novell GroupWise Calendar Publishing Host User PIKAKÄYNNISTYS www.novell.com YLEISTÄ Novell GroupWise Calendar Publishing Host User on Web-pohjainen

Lisätiedot

Palaute. Asetukset: Nimeä palaute ja kirjoita kuvaus tai ohjeet.

Palaute. Asetukset: Nimeä palaute ja kirjoita kuvaus tai ohjeet. Palaute Palaute -työkalulla opettaja voi rakentaa kyselyn, johon opiskelijat vastaavat joko anonyymisti tai nimellään. Opettaja voi tarkastella vastauksia koosteena tai yksitellen. Asetukset: Nimeä palaute

Lisätiedot

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

CODEONLINE. 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ätiedot

Nettiposti. Nettiposti käyttöohje

Nettiposti. Nettiposti käyttöohje YKSIKÄÄN ASIAKAS EI OLE MEILLE LIIAN PIENI TAI MIKÄÄN HAASTE LIIAN SUURI. Nettiposti Nettiposti käyttöohje Tässä käyttöohjeessa kuvataan selainkäyttöisen Nettiposti sähköpostiohjelman toiminnot. Käyttöohje

Lisätiedot

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa Wilman hakemukset ja muut lomakkeet EIVÄT NÄY mobiililaitteisiin asennettavissa Wilma-sovelluksissa. Huoltajan tulee siis käyttää

Lisätiedot

Ohjeita informaation saavutettavuuteen

Ohjeita informaation saavutettavuuteen Ohjeita informaation saavutettavuuteen Tarkoitus Kasvattaa tietoisuutta ja lisätä esteettömän informaation aiheen näkyvyyttä ja sen merkitystä elinikäisen tasapuolisen oppimisen mahdollisuuksista Tukea

Lisätiedot

Kuva: Ilpo Okkonen

Kuva: Ilpo Okkonen OodiHOPS OHJAAJAN OHJE 14.2.2017 Kuva: Ilpo Okkonen OodiHOPS Oulun yliopistossa Oulun yliopiston koulutusneuvosto on päättänyt, että OodiHOPS-toiminto otetaan käyttöön vähintään aloittavilla opiskelijoilla

Lisätiedot

Opiskelijoiden HOPSit

Opiskelijoiden HOPSit Opiskelijoiden HOPSit Ohje kommentoijalle ja hyväksyjälle/19.3.2014 Täydennetty ohjetta/2.1.2014: Lisätty tietoa opiskelijoiden lisäämisestä Omiin opiskelijoihin, mikä helpottaa HOPSien käsittelyä. Tarvittavat

Lisätiedot

Juricon Nettisivu Joomlan käyttöohjeet

Juricon Nettisivu Joomlan käyttöohjeet Juricon Nettisivu Joomlan käyttöohjeet Sisällysluettelo Julkaisujärjestelmä hallinta... 3 Joomla-järjestelmän ylävalikolla on seuraavia:... 3 Valikot... 4 Kategoriat ja artikkelit... 5 Lisäosat ja moduulien

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 10.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 10.2.2010 1 / 43 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

Lisätiedot

Suvi Junes Tampereen yliopisto / tietohallinto 2013

Suvi Junes Tampereen yliopisto / tietohallinto 2013 Keskustelualue Keskustelualue soveltuu eriaikaisen viestinnän välineeksi. Keskustelualueelle voidaan lähettää viestejä toisten luettavaksi, ja sitä voidaan käyttää alueena myös ryhmätöiden tekemiseen,

Lisätiedot

VALIKON LISÄÄMINEN Moduulin lisääminen Valikon nimikkeen lisääminen Moduulien järjestyksen muuttaminen

VALIKON LISÄÄMINEN Moduulin lisääminen Valikon nimikkeen lisääminen Moduulien järjestyksen muuttaminen ETAPPI ry JOOMLA 2.5 VALIKON LISÄÄMINEN Moduulin lisääminen Valikon nimikkeen lisääminen Moduulien järjestyksen muuttaminen ETAPPI ry JOOMLA 2.5 Sivu 1(13) Sisällysluettelo 1. Uuden valikon lisääminen...

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.2.2010 1 / 46 Merkkijonot Merkkijonojen avulla ohjelmassa voi esittää tekstitietoa, esim. nimiä, osoitteita ja

Lisätiedot

ALUE & LOHKO OHJEKIRJANEN

ALUE & LOHKO OHJEKIRJANEN ALUE & LOHKO OHJEKIRJANEN 1 Tämä asiakirja antaa ohjeet alue- tai lohkostruktuurin perustamiseen ja hallinnointiin. Seuraavassa esitetään looginen järjestys, joka jakaa toteutusprosessin kolmeen ryhmään:

Lisätiedot

1. Omat operaatiot 1.1

1. Omat operaatiot 1.1 1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 23.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 23.2.2009 1 / 44 Debuggeri Tyypillinen tilanne: ohjelma on kirjoitettu, Python-tulkki ei valita virheistä, mutta

Lisätiedot

OPAS KULTA2 -JÄRJESTELMÄN KÄYTTÖÖN

OPAS KULTA2 -JÄRJESTELMÄN KÄYTTÖÖN OPAS KULTA2 -JÄRJESTELMÄN KÄYTTÖÖN 1. Kulta2 -järjestelmän käyttäminen ensimmäistä kertaa s. 1-3 2. Järjestelmään kirjautuminen olemassa olevalla käyttäjätunnuksella ja salasanalla s. 4-5 3. Hakemuksen

Lisätiedot

Helsingin yliopisto WebOodi 1 Opiskelijarekisteri Versio 3.2. Tenttityökalu

Helsingin yliopisto WebOodi 1 Opiskelijarekisteri Versio 3.2. Tenttityökalu Helsingin yliopisto WebOodi 1 Tenttityökalu Tenttityökalu on oiva väline laitos- ja tiedekuntatenttien tekemiseen. Esimerkiksi tiedekuntatentissä voi tenttiä samana päivänä kymmeniä eri opintojaksoja.

Lisätiedot

Alkuun HTML5 peliohjelmoinnissa

Alkuun HTML5 peliohjelmoinnissa Paavo Räisänen Alkuun HTML5 peliohjelmoinnissa www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida ja levittää ei kaupallisissa tarkoituksissa. Sisällysluettelo 1: Alkusanat 2: Alkuun 3: Pelinäkymä

Lisätiedot

Kuukauden kuvat kerhon galleriaan 1.4.2016 lähtien kuukaudenkuvaajan kuvagalleria on siirretty uudelle palvelimelle osoitteeseen:

Kuukauden kuvat kerhon galleriaan 1.4.2016 lähtien kuukaudenkuvaajan kuvagalleria on siirretty uudelle palvelimelle osoitteeseen: Kuukauden kuvat kerhon galleriaan 1.4.2016 lähtien kuukaudenkuvaajan kuvagalleria on siirretty uudelle palvelimelle osoitteeseen: http://www.kamera73.fi/kuukaudenkuvaaja Kukin seuran jäsen voi laittaa

Lisätiedot

Uuden Peda.netin käyttöönotto

Uuden Peda.netin käyttöönotto Sisällysluettelo Uuden Peda.netin käyttöönotto...2 Sisään- ja uloskirjautuminen...2 OmaTila...3 Peda.netin yleisrakenne...4 Työvälineet - Sivut...5 Sivun lisääminen omaan profiiliin:...5 Sivun poistaminen

Lisätiedot

Kangasniemen yrityshakemisto KÄYTTÖOHJE YRITTÄJÄLLE. KANGASNIEMEN KUNTA yrityshakemisto.kangasniemi.fi

Kangasniemen yrityshakemisto KÄYTTÖOHJE YRITTÄJÄLLE. KANGASNIEMEN KUNTA yrityshakemisto.kangasniemi.fi 2015 Kangasniemen yrityshakemisto KÄYTTÖOHJE YRITTÄJÄLLE KANGASNIEMEN KUNTA yrityshakemisto.kangasniemi.fi 1 Sisällysluettelo 1. Sivustolle rekisteröityminen... 2 2. Yrityksen lisääminen... 3 2.1. Yritystiedot...

Lisätiedot

Suvi Junes/Pauliina Munter Tampereen yliopisto / tietohallinto 2014

Suvi Junes/Pauliina Munter Tampereen yliopisto / tietohallinto 2014 Keskustelualue Keskustelualue soveltuu eriaikaisen viestinnän välineeksi. Keskustelualueelle voidaan lähettää viestejä toisten luettavaksi, ja sitä voidaan käyttää alueena myös ryhmätöiden tekemiseen,

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset 815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Yhdistäminen. Tietolähteen luominen. Word-taulukko. Tekstinkäsittelyn jatko KSAO Liiketalous 1

Yhdistäminen. Tietolähteen luominen. Word-taulukko. Tekstinkäsittelyn jatko KSAO Liiketalous 1 KSAO Liiketalous 1 Yhdistäminen Yhdistämistoiminnolla voidaan tehdä esimerkiksi joukkokirjeitä, osoitetarroja, kirjekuoria, jne. Siinä yhdistetään kaksi tiedostoa: Pääasiakirja Tietolähde Pääasiakirjassa

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,

Lisätiedot

Palvelupyyntöjärjestelmä. Asiakkaan ohje

Palvelupyyntöjärjestelmä. Asiakkaan ohje Palvelupyyntöjärjestelmä Asiakkaan ohje Festum Software Oy Palvelupyyntöjärjestelmä asiakkaan ohje 2 ( 8 ) Sisällysluettelo 1. Palvelupyyntöjärjestelmä osana asiakastukea... 3 2. Käytön aloittaminen...

Lisätiedot

UpdateIT 2010: Editorin käyttöohje

UpdateIT 2010: Editorin käyttöohje UpdateIT 2010: Editorin käyttöohje Käyttäjätuki: Suomen Golfpiste Oy Esterinportti 1 00240 HELSINKI Puhelin: (09) 1566 8800 Fax: (09) 1566 8801 E-mail: gp@golfpiste.com Sisällys Editorin käyttöohje...

Lisätiedot

,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU

,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU ,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU Tässä pääsette tutustumaan Internet Explorerin (IE) käyttöön. Muitakin selainversioita löytyy, kuten esimerkiksi Netscape, Opera ja Mozilla. Näiden muiden selainten

Lisätiedot

JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia)

JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia) JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia) Esim 5.1 laskujärjestys operaattorit var tulos = 5 + 4 * 12 / 4; document.write("5 + 4 * 12 / 4 laskutoimituksen tulos

Lisätiedot

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin.

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin. Linux-harjoitus 9 Linuxin mukana tulevat komentotulkit (mm. bash, tcsh, ksh, jne ) sisältävät ohjelmointikielen, joka on varsin tehokas ja ilmaisuvoimainen. Tähän yhdistettynä unix-maailmasta tutut tehokkaat

Lisätiedot

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1

Digitaalisen 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ätiedot

OSI ja Protokollapino

OSI ja Protokollapino TCP/IP OSI ja Protokollapino OSI: Open Systems Interconnection OSI Malli TCP/IP hierarkia Protokollat 7 Sovelluskerros 6 Esitystapakerros Sovellus 5 Istuntokerros 4 Kuljetuskerros 3 Verkkokerros Linkkikerros

Lisätiedot

Opera Hotel Edition. Arvonlisäverokantojen muutos Operaan 01.07.2010. Finland. Toukokuu 2010 MICROS-Fidelio Finland Oy, Hotel Systems HelpDesk

Opera Hotel Edition. Arvonlisäverokantojen muutos Operaan 01.07.2010. Finland. Toukokuu 2010 MICROS-Fidelio Finland Oy, Hotel Systems HelpDesk Opera Hotel Edition Arvonlisäverokantojen muutos Operaan 01.07.2010 Toukokuu 2010 MICROS-Fidelio Finland Oy, Hotel Systems HelpDesk Sivu / Page: 1 / 15 Document revision history Version Revision Author

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702)

Jä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ätiedot

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö Yleistä Tehtävä: Tee Javalla LineBreaker-ohjelma tekstirivin sovittamiseen tekstialueelle riviä katkomalla. Lausekielinen ohjelmointi II -kurssin pakollinen

Lisätiedot

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1 12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu

Lisätiedot

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Muilla kielillä: English Suomi Pong-peli, vaihe 3 Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Jaetaan ohjelma pienempiin palasiin (aliohjelmiin) Lisätään peliin maila (jota ei voi vielä

Lisätiedot

ESRC:n uusiutumassa olevat kotisivut on toteutettu WordPress-ohjelmalla (WP). Samaa ohjelmaa käyttävät menestyksellä ainakin SSql, HSRC ja JSK.

ESRC:n uusiutumassa olevat kotisivut on toteutettu WordPress-ohjelmalla (WP). Samaa ohjelmaa käyttävät menestyksellä ainakin SSql, HSRC ja JSK. PIKAOHJEET VIESTIEN KÄYTTÖÖN ESRC:N KOTISIVUILLA Versio 3, 27.12.2006 ESRC:n uusiutumassa olevat kotisivut on toteutettu WordPress-ohjelmalla (WP). Samaa ohjelmaa käyttävät menestyksellä ainakin SSql,

Lisätiedot

12. Näppäimistöltä lukeminen 12.1

12. 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ätiedot

Sisäänkirjaus Uloskirjaus. Yritystieto

Sisäänkirjaus Uloskirjaus. Yritystieto Sisäänkirjaus Uloskirjaus Yritystieto Kustannusarvio PartSmart Siirrä PartSmart tiedosto Näytä PartSmart ostoslistat Lataa PartSmartHinnasto Tuotteet Lisävarusteet SNOW ATV PWC Öljytuotteet Öljyt, Snow

Lisätiedot

L models. Käyttöohje. Ryhmä Rajoitteiset

L models. Käyttöohje. Ryhmä Rajoitteiset Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Käyttöohje Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset 0.1

Lisätiedot

MITEN KIRJAUDUN ADOBE CONNECTIIN?

MITEN KIRJAUDUN ADOBE CONNECTIIN? Connect-ohje oppilaalle MITEN KIRJAUDUN ADOBE CONNECTIIN? 1. Avaa internet-selain ja kirjoita osoiteriville virtuaaliluokkasi osoite, esim. http://tampere.adobeconnect.com/virta ja paina Enter: Luokkien

Lisätiedot

Adobe Digital Editions -ohjeet

Adobe Digital Editions -ohjeet Adobe Digital Editions -ohjeet Adobe Digital Editions on Adoben e-kirjojen lukemiseen tarkoitettu kevyt erillinen lukuohjelma, joka on ollut käytössä Adobe Reader -ohjelman 8-versiosta alkaen. Ohjelman

Lisätiedot

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012 Aineistot Uudet ominaisuudet: - Ei Tiedostot-kohtaa alueen sisällä, vaan tiedostonvalitsin, jolla tiedostot tuodaan alueelle siihen kohtaan missä ne näytetään - Firefox-selaimella voi tiedostot siirtää

Lisätiedot

Osallistavan suunnittelun kyselytyökalu

Osallistavan suunnittelun kyselytyökalu Osallistavan suunnittelun kyselytyökalu Käyttöohje ARFM- hankkeessa jatkokehitetylle SoftGIS-työkalulle Dokumentti sisältää ohjeistuksen osallistavan suunnittelun työkalun käyttöön. Työkalu on käytettävissä

Lisätiedot

Kirkkopalvelut Office365, Opiskelijan ohje 1 / 17 IT Juha Nalli 22.12.2015

Kirkkopalvelut Office365, Opiskelijan ohje 1 / 17 IT Juha Nalli 22.12.2015 Kirkkopalvelut Office365, Opiskelijan ohje 1 / 17 Oppilaat saavat vuoden 2016 alusta käyttöönsä oppilaitoksen sähköpostin ja muita palveluita Microsoftin Office365:sta. Oppilaiden sähköposti on muotoa

Lisätiedot

Kysymyksiä ja vastauksia Outlook 2007:stä

Kysymyksiä ja vastauksia Outlook 2007:stä Kuopion yliopisto / Tike / Pekka Ruippo 1 Kysymyksiä ja vastauksia Outlook 2007:stä Miten saan Outlookissa vastausviesteihin vanhan viestin tunnisteeksi > -merkin? Miten saan selville viestin lähettäjän

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

Kuinka ladata tulostusprofiilit Antalis ICC Profile Centrestä

Kuinka ladata tulostusprofiilit Antalis ICC Profile Centrestä KÄYTTÖOPAS Kuinka ladata tulostusprofiilit Antalis ICC Profile Centrestä Tämän oppaan avulla näet, kuinka helppoa on ladata materiaalien tulostusprofiilit Antalis ICC Profile Centren nettisivuilta ja siirtää

Lisätiedot

Kopiodaksesi, leikataksesi ja liittääksesi helpointa on käyttää näppäimistön pikavalintoja:

Kopiodaksesi, leikataksesi ja liittääksesi helpointa on käyttää näppäimistön pikavalintoja: Ohjeita järjestöpankin käytön tueksi Huomioitavaa:... 1 1 Sisäänkirjautuminen... 2 2 Sivun/henkilökortin muokkaaminen... 2 3 Uutisen/sivun/tapahtuman, tms. lisääminen... 3 4 Uutisen/tapahtuman saaminen

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 26.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 26.10.2015 1 / 28 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta

Lisätiedot

ATK tähtitieteessä. Osa 4 - IDL input/output. 19. syyskuuta 2014

ATK tähtitieteessä. Osa 4 - IDL input/output. 19. syyskuuta 2014 19. syyskuuta 2014 IDL - INPUT/OUTPUT-rutiinit IDL pystyy lukemaan ja kirjoittamaan monentyyppisiä tiedostoja, esim. FORTRAN ja C-kielten ohjelmien tulostusta. Käytössä on myös monipuoliset tulostuksen

Lisätiedot

Ohjeet asiakirjan lisäämiseen arkistoon

Ohjeet asiakirjan lisäämiseen arkistoon Ohjeet asiakirjan lisäämiseen arkistoon 1. Jos koneellesi ei vielä ole asennettu Open Office ohjelmaa, voit ladata sen linkistä joka löytyy Arkisto => Asiakirjapohjat sivulta seuran kotisivuilta. Jos ohjelma

Lisätiedot

Opettajan ohje 1/2. Tentin luominen. Tenttiakvaarion tukisivut: 1. Aloitus

Opettajan ohje 1/2. Tentin luominen. Tenttiakvaarion tukisivut:  1. Aloitus Opettajan ohje 1/2 Tentin luominen 1. Aloitus Kirjoita selaimen osoitekenttään: https://tenttiakvaario.it.helsinki.fi/hallinta/ Kirjautuminen tenttijärjestelmään tapahtuu syöttämällä yliopiston käyttäjätunnuksesi

Lisätiedot

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla 2.5. YDIN-HASKELL 19 tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla kirjaimilla. Jos Γ ja ovat tyyppilausekkeita, niin Γ on tyyppilauseke. Nuoli kirjoitetaan koneella

Lisätiedot

KULTA2-JÄRJESTELMÄN KÄYTTÖOPAS Liikunta-, kulttuuri-, nuoriso-, hyvinvointiavustukset

KULTA2-JÄRJESTELMÄN KÄYTTÖOPAS Liikunta-, kulttuuri-, nuoriso-, hyvinvointiavustukset KULTA2-JÄRJESTELMÄN KÄYTTÖOPAS Liikunta-, kulttuuri-, nuoriso-, hyvinvointiavustukset Sisällysluettelo: 1. Sisällysluettelo s. 1 2. Kulta2-järjestelmän käyttäminen ensimmäistä kertaa s. 2-3 3. Kirjautuminen

Lisätiedot

Vaihdoitko puhelinta? Yhteystietojen siirto Lumian, iphonen ja Androidin välillä käy näin

Vaihdoitko puhelinta? Yhteystietojen siirto Lumian, iphonen ja Androidin välillä käy näin Vaihdoitko puhelinta? Yhteystietojen siirto Lumian, iphonen ja Androidin välillä käy näin Tekniikka 11.10.2015 10:45 Olavi Koistinen, Helsingin Sanomat Yhteystietojen siirto Androidista iphoneen kuin Gmail-käyttäjätunnus.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 31.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 31.1.2011 1 / 41 Luentopalaute kännykällä käynnissä! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Sivuston muokkaus WordPressin kanssa

Sivuston muokkaus WordPressin kanssa Sivuston muokkaus WordPressin kanssa Sivuston muokkaus WordPress-hallintajärjestelmän kanssa on hyvin helppoa. Sitä vähän tutkimalla ja tätä ohjetta lukemalla sen käyttö tulee nopeasti tutuksi. Olen myös

Lisätiedot

1. Valitse käyttäjänimi 2. Kirjoita salasana 3. Anna sähköpostiosoitteesi 4. Keksi wikillesi nimi

1. Valitse käyttäjänimi 2. Kirjoita salasana 3. Anna sähköpostiosoitteesi 4. Keksi wikillesi nimi WIKISPACES-WIKIN LUOMINEN Kirjoita selaimeesi osoite http://www.wikispaces.com 1. Valitse käyttäjänimi 2. Kirjoita salasana 3. Anna sähköpostiosoitteesi 4. Keksi wikillesi nimi Paina Join-painiketta Onneksi

Lisätiedot

Sähköinen, suojattu asiointi kirjaamon ja

Sähköinen, suojattu asiointi kirjaamon ja OHJE 1 (7) Sähköinen, suojattu asiointi kirjaamon ja potilaskertomusarkiston kanssa verkkopankkitunnistautuminen Palveluun kirjautuminen 1. Täytä tarvitsemasi tilaus / pyyntö / hakemus lomake ja tallenna

Lisätiedot

TYÖNTEKIJÄN KÄYTTÖOHJEET - SOKU

TYÖNTEKIJÄN KÄYTTÖOHJEET - SOKU TYÖNTEKIJÄN KÄYTTÖOHJEET - SOKU ETUSIVU Kun tulet SOKU-järjestelmän (SOKU) etusivulle, näet listan avoimista työpaikoista. Yläpalkissa mustalla ympyröitynä on Kirjaudu-nappi Kun klikkaat sitä, pääset kirjautumissivulle.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2011 1 / 39 Haluatko antaa palautetta luennoista? Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Pikaohjeet A&O oppimisympäristön käytön aloittamiseen

Pikaohjeet A&O oppimisympäristön käytön aloittamiseen Pikaohjeet A&O oppimisympäristön käytön aloittamiseen 1. Kirjaudu A&O-ympäristöön Verkkopalvelun sisällöntuotanto kurssilla käytettävä A&O alusta löytyy verkko-osoitteesta: http://ao4.ee.tut.fi/hypermedia/

Lisätiedot