WWW-ohjelmointi ANTTI SAND TIETA12
|
|
- Juha Aho
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 WWW-ohjelmointi ANTTI SAND TIETA12
2 2 MVC Model, View, Controller
3 Model, View, Controller 3 Yleisesti käytetty malli ohjelman rakenteelle Kullakin osalla on melko hyvin rajattu vastuunsa Ohjaa suunnittelua kohti SRP:tä Myös useita variaatioita, MV*, MVMC Ei täydellinen malli WWW-ohjelmointiin (kuka vastaa esim. Headereista??), mutta varmasti yleisin
4 Model, View, Controller 4 Model Controller Selain View
5 Controller - työnjohtaja 5 Käskyttää tietomallia Vaatii olioinstanssin tai instanssikokoelman, käskee päivittämään tietonsa, käskee poistamaan itsensä Käskyttää näkymää Vaatii halutun näkymän ja tarjoilee sille halutut tiedot Vastaa logiikasta korkealla tasolla, ei ota kantaa käytännön toteutukseen On agnostinen sen suhteen, miten data tallennetaan tai esitetään Pitäisi nopealla vilkaisulla kuvata ohjelman toiminta Skinny controllers, fat models Tosin fat models voi johtaa jumalobjekteihin (yleensä käyttäjätietomalli saa liikaa vastuita, koska useimmat toiminnot liittyvät käyttäjään)
6 Model - tietomalli 6 Esimerkin Task luokka Kontrolleri käskee tietomalliluokan tehdä jotain, tietomalliluokka vastaa tavasta, jolla se tehdään Ei tiedä, mitä ohjelmalla tehdään Ei tiedä, miten data esitetään käyttäjälle
7 View 7 Näkymä vastaa vain tiedon esittämisestä näytöllä Saa kontrollerilta tietoa tietomalliluokasta ja esittää sen haluamallaan tavalla Ei ohjaa ohjelman suoritusta, mutta tarjoaa käyttöliittymän toiminnoille Ei ole täysin aivoton, voi esimerkiksi näyttää tietoja ehdollisesti Näytetään uloskirjautumislinkki, jos käyttäjä on kirjautuneena sisään Kutsutaan apufunktiota, joka palauttaa halutun tekstin asetetulla kielellä
8 Vastuualueet 8 Task luokka ei palauta HTML merkattua tehtävälistaa (ul>li>task->desc) Tämä on näkymän vastuualue. Task luokan kannalta on merkityksetöntä, tuleeko tiedot selainikkunaan vai komentoriville vai Excel taulukkoon Kontrolleri ei suorita SQL komentoja Tämä on tietomallin vastuualue. Kontrollerin kannalta on merkityksetöntä, onko taustalla SQL tietokanta, vai nosql kanta, vai rajapinta, vai mitään Näkymä ei tee suorituksen kannalta merkittäviä päätöksiä Nämä ovat kontrollerin vastuulla. Kontrolleria vilkaisemalla pitää saada oikea kuva sovelluksen toimintoketjusta Valitettavasti, nämä ovat ideaaleja, joita rikotaan.
9 CLEAN arkkitehtuuri 9 Enterprise business rules Task luokka sisältää tehtävälistan yhden tehtävän kuvauksen Application business rules Tehtävälistan tehtäviä voidaan lisätä ja poistaa Interface adapters Tietomalliluokka pystyy tallentamaan tietonsa johonkin tietovarantoon Framework PDO luokka tarjoaa mahdollisuuden tallentaa tietoa SQL kantaan, kun reitityskomponentti vastaanottaa tietyn pyynnön
10 Model - tietomalliluokka 10
11 Interface -kerros 11 Enterprise luokan tiedot tulisi voida varastoida tietokantaan Luokan ei tule kuitenkaan itse ottaa kantaa siihen, miten tiedot varastoidaan (tai varastoidaanko niitä) Application business rules kuitenkin vaatii, että meidän on saatava lista olioinstansseista Voidaan lisätä tiedon varastointikerros joko erillisen Entity manager rajapinnan kautta, tai periyttämällä varastointitoteutus Entity manager rajapinta tarjoaa paremman segrekaation (kontrolleri pyytää rajapinnan toteuttavalta luokalta kokoelman olioinstansseja) Toinen vaihtoehto on Active record malli, jossa Enterprise luokka saa varastointikyvyn yläluokalta (kontrolleri käskee tietomalliluokkaa palauttamaan instanssikokoelman)
12 Tavoitetila 12 Task::create($data) luodaan uusi olioinstanssi samalla tallentaen sen tiedot tietovarantoon Task::all() palauttaa tietovarannosta olioinstanssit Task::find($id) palauttaa tietovarannosta olioinstanssin Task::delete($id) poistaa tietovarannosta olioinstanssin $task->save() tallentaa tämän instanssin tiedot $task->update($data) päivittää tämän instanssin tiedot $task->destroy() poistaa tämän instanssin tiedot API säilyy luettavana ja on nopeasti ymmärrettävissä Active record implementaatiossa Entity manager -implementaatiossa ei työskennellä luokan kanssa, vaan esimerkiksi $manager->create( task, $data), $manager->all( task )
13 Tietomalliluokan toiminnan esimerkki 13 Halutaan, että tietomalliluokka hallitsee datan käsittelyn tietokannassa Esimerkiksi Task luokka sisältäisi mahdollisuuden Task::all() ja Task::find($id) Meillä ei ole luokan instanssia, koska luokan metodin tulisi palauttaa luokan instanssi tai kokoelma luokan instansseja Kirjoitetaan staattiset metodit Tietomalliluokkia tulisi kuitenkin olla yksi jokaiselle tietomallille Task, User, BlogPost, Comment, Miten jaetaan perustoiminnallisuus kaikille kirjoittamatta sitä uudelleen jokaiseen luokkaan?
14 Abstrakti luokka ja 14 periminen Abstrakti luokka on abstrakti Siitä ei voida luoda luokan instanssia Se voi kuitenkin sisältää toiminnallisuutta, jota voidaan perimisen kautta jakaa aliluokille Voidaan siis toteuttaa all ja find metodit staattisina abstraktiin luokkaan ja käyttää niitä sitten kaikissa abstraktin luokan perivissä luokissa
15 Tietomalliluokka perii geneerisen Model -luokan 15 Task luokka perii Model luokan ja saa käyttöönsä all() ja find() metodit Voidaan kirjoittaa Task::all() ja Task::find($id)
16 Muuttujien asettaminen 16 Model vastaa tietokannan kanssa keskustelusta. Se ei kuitenkaan tiedä esimerkiksi mistä tietokantataulusta kunkin luokan tiedot löytyvät Kukin tietomalliluokka voi haluta määritellä kohdalleen ainakin tietokantataulun nimen ja pääavaimen nimen Jos pääavain ei olekaan aina id, vaan vaikkapa OP_NRO, halutaan antaa mahdollisuus sen vaihtamiseen Voitaisiin kirjoittaa muuttujat jokaiseen tietomalliluokkaan, mutta mitä jos niitä ei aina muista kirjoittaa? Pääavaimelle voidaan antaa luonteva default arvo (id), mutta tietokantataulun nimelle ei ole mitään järkevää default arvoa.
17 $this, self ja static 17 $this viittaa olion instanssiin Jos meillä on Task luokan instanssi, sen sisällä voidaan viitata itseen termillä $this Self viittaa itse luokkaan Jos Model luokassa sanotaan self, se viittaa itse Model luokkaan. Eli Model luokan staattisia metodeja voidaan kutsua self::staticmethod() Static viittaa itse luokkaan Jos Model luokassa sanotaan static se viittaa kutsuvaan luokkaan. Eli Task luokka voi käyttää Model luokan perittyjä muuttujia static::$staticvar Static voidaan siis sitoa ajoaikana, kun taas self viittaa aina kyseiseen luokkaan
18 Esimerkki self ja 18 static Koska viittauksena on self, se kutsuu aina yläluokan getmodel metodia Jos viittauksen muuttaa muotoon static, se sidotaan vasta ajoaikana ja se kutsuisi aliluokan getmodel - metodia TIETA A.S.
19 Lisätään pääavain muuttujaksi Model - luokkaan 19 TIETA A.S.
20 Pääavain on nyt muutettavissa 20 Jos Task luokka ei määritä pääavainta $primarykey muuttujaan, käytetään Model luokan $primarykey muuttujaa Eli pääavain on id, jos muuta ei määritetä Mutta se voidaan tietomalliluokkakohtaisesti muuttaa toiseksi, jos tarvitaan Tämä kelpaa, koska muuttujalle oli löydettävissä järkevä default arvo (id) Mutta tietokantataulun nimelle ei ole järkevää default arvoa
21 Convention over configuration 21 Sovitaan, että jos tietokantataululle ei anneta nimeä, käytetään käytäntöä, jossa tietokantataulun nimi päätellään tietomalliluokan nimestä Halutaan kuitenkin jättää mahdollisuus poiketa tästä käytännöstä antamalla eksplisiittisesti tietokantataulun nimi tietomalliluokassa Luokan nimi Task User Comment Taulun nimi tasks users comments
22 Taulun nimen määrittäminen 22 Jotta tämä toimisi, meidän tulee tietää kutsuvan tietomalliluokan nimi ajoaikana Jos tietomalliluokka määrittää tietokantataulun nimen, käytetään sitä Jos ei määritä, määritellään tietokantataulun nimi kutsuvan luokan nimestä Kutsuvan luokan nimeä ei tiedetä ennen kuin ohjelmaa suoritetaan
23 Taulun nimen määrittäminen 23
24 Get_called_class() 24 Get_called_class() funktio palauttaa kutsuneen luokan nimen Lcfirst() muuta ensimmäinen kirjain pieneksi kirjaimeksi Get_called_class() late static binding Sidotaan myöhäisessä vaiheessa, joten palauttaa sen luokan, joka kutsun teki Tässä tapauksessa siis Task -> task Voitaisiin kirjoittaa myös CLASS - avainsanalla p5.late-static-bindings.php
25 Ylikirjoitetaan 25
26 Taulun nimi 26 Taulun nimi on nyt ylikirjoitettavissa jos halutaan, mutta sitä ei ole pakko antaa, jos noudatetaan sovittua käytäntöä
27 Lisätään luokka tietokantahakuihin 27
28 Model luokan all() ja find() 28 Tietomalliluokat voivat vastata omien tietojensa hakemisesta Ja haetut tiedot palautetaan kutsuvan luokan instansseina Luokan metodit käytettävissä palautetuissa tuloksissa $asclass
29 Implode() ja explode() 29 Taulukosta merkkijonoksi ja merkkijonosta taulukoksi $names = [ John, Jeff ]; Echo implode(,, $names); // John, Jeff $names = John, Jeff ; Var_dump(explode(,, $names)); //[0] => John, [1] => Jeff
30 30 Määritetään valittavat kentät haussa SELECT * palauttaa kaikki kentät Lisätään mahdollisuus määrittää haettavat kentät Lisätään optionaalinen parametri $fields Model luokan hakumetodiin Jos $fields annettiin, käytetään sitä haussa, Muuten käytetään SELECT * TIETA A.S. $selectfields on tarpeeton muuttuja, joita tulisi välttää. Tässä vain helpottamassa koodin ymmärrettävyyttä.
31 Uuden rivin lisääminen tietokantaan 31 Tietomalliluokan olisi hyvä voida myös luoda uusi rivi tietokantaan Halutaan käyttää samaa käytäntöä: Task::create( ) Model luokkaan uusi staattinen metodi, joka ottaa parametrina assosiatiivisen taulukon
32 Luontimetodi 32 Tässä kohtaa monia mahdollisia poikkeuksia, joihin ei nyt varauduta Todellisuudessa ongelma on kompleksinen ja kannattaisi hyödyntää kypsempää ohjelmointikehystä Mutta esimerkin vuoksi pieni, toimiva toteutus
33 33 Poistometodi Rivin poistaminen tietokannasta voidaan toteuttaa staattisella metodilla Model luokassa Metodi saa parametrinaan tietueen tunnisteen Task::delete(5); TIETA A.S.
34 34 Instanssin poistaminen Voidaan haluta poistaa myös tietty instanssi Meillä on Task luokan instanssi, joka halutaan poistaa Muuten vastaava, mutta ei staattinen metodi Ja tunniste saadaan instanssin muuttujasta $this->id TIETA A.S.
35 Instanssin poistaminen 35 Jos meillä on jo luokan instanssi, voidaan käskeä instanssia poistamaan itsensä tietokannasta Huom! Itse luokan instanssi on edelleen käytössä, vaikka sitä ei enää ole tietokannassa Voitaisiin jatkaa edelleen luomalla instanssin tallennusmetodi $task->save() TIETA A.S.
36 Päivitysmetodi 36 Voi olla staattinen, mutta kuten poistometodissakin voisi olla järkevämpää toteuttaa instanssin metodina, koska liittyy käsiteltävään instanssiin Tällöin kuitenkin pitää mapata olion muuttujat tietokantataulun sarakkeisiin Koska tietomalliluokassa on (voi olla) toiminnallisuutta, johon voi liittyä omia muuttujia, joita ei ole tietokantataulussa, voitaisiin sopia, että olion julkiset muuttujat ovat ne, jotka halutaan mapata tietokantaan Jotta voitaisiin ajoaikana selvittää, mitä julkisia muuttujia luokalla on, meidän tulisi käyttää reflektiota (new ReflectionObject($this)) ->getproperties(reflectionproperty::is_public);
37 Päivitysmetodi 37 Tämä menisi kuitenkin paljon syvemmälle, kuin tässä kohtaa on järkevää, joten todettakoon, että ratkaisuja on useita Voidaan määrittää luokan muuttujaan mitä kenttiä tulisi tallentaa tietokantaan Tämä vaatisi kuitenkin aina sen tiedon lisäämisen jokaiseen tietomalliluokkaan Tai voidaan sopia, että julkiset muuttujat tallennetaan ja käyttää reflektiota niiden selvittämiseen Tai voidaan sopia, että päivitysmetodi on vain staattinen Tiedon mappaaminen tietokantaan on yleinen ongelma ja valmiita, hyviä, toteutuksia on saatavilla. On hyvä tietää, miten jokin ongelma ratkaistaisiin, mutta aina ei kannata toteuttaa kaikkea uudestaan Koska ongelmakenttä on yllättävän kompleksinen
38 Staattinen päivitysmetodi 38
39 Tietomalliluokka vs. Repository pattern 39 Riippuen koulukunnasta tiedon tallentaminen (persistance) voidaan asettaa tietomalliluokan taakse, tai toteuttaen puhtaampaa repository patternia (Entity manager) Jokaiselle tietomallille voidaan luoda esimerkiksi UsersRepository, joka toteuttaa RepositoryInterface -rajapintaa, joka puolestaan tarjoaa metodit luomiselle, noutamiselle, tallentamiselle, Näin tietomalliluokka ei vastaisi keskustelusta tietokannan kanssa, vaan määrittäisi vain tietomallin metodit ja muuttujat, joita business logiikka tarvitsee Voidaan argumentoida, että tietomalliluokka rikkoo SRP:tä, jos se tarjoaa luokkaan liittyviä metodeja $user->getfullname() ja tiedon tallennuksen $user->save() Toinen ajattelutapa on kerroksittainen rakenne. Model luokka tarjoaa persistance layerin, siitä peritty User luokka tarjoaa business logic kerroksen. User -luokka on silloin Domain Model ja Model luokka on Domain Service
40 CLEAN -arkkitehtuuri 40 Tavoite molemmissa on eriyttää riippuvuudet sovelluksen kerroksiin Entities kerros sisältää pelkkiä objekteja, jotka eivät riipu mistään ulkopuolisesta. Tämä on business logiikka se toiminnallisuus, jolla ongelma ratkaistaan Business logiikka ei riipu käytetystä ohjelmistokehyksestä, tietokannasta, ympäristöstä, Ulommat kerrokset tuovat riippuvuuksia, mutta niiden pitää olla vaihdettavissa Esimerkiksi UI ei liity ohjelman toimintaan. Sama ohjelma voi tuottaa tietoa verkkosivulle tai REST rajapinnan tai Excel tiedoston,
41 Yksinkertainen reititys ja kontrollerit 41
42 Perinteinen sivusto 42 Perinteisesti WWW-sivut ovat koostuneet toisiinsa linkatuista html sivuista Index, About me, Contact me Index.html, about.html, contact.html Modernimmissa ohjelmissa meillä on yleensä vain yksi päätiedosto front controller, joka koostaa palautettavan näkymän Aiemmin jaoimme sivun kolmeen osaan (header, main content ja footer) FC tulkitsee pyynnön (index.php?page=about), päivittää main content alueen sisällön ja palauttaa koostetun sivun
43 Yksinkertainen reititys 43 Tarkistetaan jokin parametri ja ohjataan sen mukaan oikealle sivulle Index.php?page=about TIETA A.S.
44 .htaccess 44 Yleensä ei kuitenkaan käytetä muotoa Tavallisempi muoto olisi WWW-palvelin voidaan määrätä uudelleenohjaamaan pyynnöt.htaccess tiedostolla Selaimen kannalta osoite näyttäisi olevan /about/, mutta taustalla se ohjataan vaikka /index.php/about tai /index.php?page=about Avaimena siis about tai avain-arvo parina page=about Käytännön toteutus vapaavalintainen, molemmissa annetaan parametrina tietoa front controllerille TIETA A.S.
45 Apache vs. NginX 45 Koulun koneilla Apache, joten pyyntöjen uudelleenohjaaminen.htaccess tiedostolla NginX käyttää Virtual server määrittelyissään try files määrettä Homestead käyttää NginX www-palvelinohjelmaa, joten oletuksena se tarjoaa PHP tiedostoille palvelinpään reititystä
46 Käytäntöjä 46 Useimmiten framework olettaa rakenteeksi Controller Method Parameters Eli esimerkiksi index.php?controller=pages&method=index&.htaccess tiedosto voi ohjata /pages/listitems/desc=true Toisaalta.htaccess voi mapata jokaisen reitin RewriteRule ^pages/listitems$ index.php?controller=pages&method=listitems Yleensä tämä vastuu halutaan kuitenkin ohjelmalle, joten.htaccess vain kätkee front controllerin Rakenne ja toteutustapa on kuitenkin kehittäjän päätettävissä
47 Halutun reitin tulkitseminen 47 Otetaan esimerkiksi /index.php/about Ensimmäinen parametri on siis halutun sivun nimi Sen perässä voisi olla muutakin tietoa (/index.php/tasks/7, /index.php/tasks/showcompleted=true), mutta pidetään reititin tässä kohtaa yksinkertaisena ja ohjataan vain ensimmäisen parametrin mukaan
48 Controllers 48 Luodaan kaksi kontrolleria omaan hakemistoonsa Yksi etusivun näyttämiselle ja toinen kaikkien taskien hakemiselle
49 Reitittimen 49 refaktorointi Lisätään yksinkerainen tiedosto reittien määrittämiselle Assosiatiivinen taulukko, jossa kutsuttu polku vastaa haluttua kontrolleria
50 Core/Router 50 Router luokka lataa reitit omaan taulukkoonsa Kun reitittimelle annetaan polku, se palauttaa polkuun liitetyn ladattavan tiedoston nimen Instanssi mahdollistaa ketjutuksen
51 Reitittäminen 51 Bootstrap.php lataa reitit tiedostosta, alustaa reitittimen, antaa reitittimelle pyydetyn polun ja lataa tiedoston, jonka reititin palauttaa
52 Kontrolleri 52 Nyt jokainen looginen osio voidaan jakaa oman kontrollerinsa taakse ja koodi on paremmin rakenteistettu Kukin kontrolleri on kuitenkin vain pätkä koodia ilman rakennetta Oikea kontrolleri koostuisi metodeista, jotka liittyvät tiettyyn resurssiin Tätä varten pitäisi selvittää haluttu metodi halutun kontrollerin sisällä
53 Resurssikontrolleri 53 Yksi resurssikontrolleri toteuttaisi ainakin nämä 7 metodia Kutsut voisivat tulla selaimelta GET ja POST pyynnöillä Ja sovelluksilta GET, POST, PUT/PATCH, DELETE
54 Hyödyllistä luettavaa 54 Mikä on Active Recordin ja Data Mapperin ero?
55 Kysymyksiä? 55
Sisä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ätiedotWWW-ohjelmointi ANTTI SAND TIETA12
WWW-ohjelmointi ANTTI SAND TIETA12 Namespaces 2 Namespaces 3 No man is an island Haluamme hyödyntää muiden kirjoittamia komponentteja Mutta tähän asti kaikki luokkamme sijaitsevat globaalissa nimiavaruudessa
LisätiedotArkkitehtuuri. Ylätason sovellusarkkitehtuuri
Arkkitehtuuri Termieditorin käyttö vaatii kirjautumisen. Peruskäyttäjälle myönnetään erikseen aineistokohtaisia luku- ja muokkausoikeuksia. Järjestelmän ylläpitäjä (admin) saa ylläpitää kaikkia aineistoja.
LisätiedotTapahtumakalenteri & Jäsentietojärjestelmä Ylläpito
Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito Henri Kinnunen, Seppo Tompuri, Tero Malkki, Matti Heiskanen, Tommi Rönkönharju, Tuomas Valkeapää Sisällysluettelo 1. Alkusanat.2 2. Asennusohje..2 3.
LisätiedotInteraktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.
Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen
LisätiedotOhjelmoinnin jatkokurssi, kurssikoe 28.4.2014
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.
LisätiedotWeb Services tietokantaohjelmoinnin perusteet
ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...
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ätiedotOhjelmistojen mallintamisen ja tietokantojen perusteiden yhteys
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty
LisätiedotInteraktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.
Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen
Lisä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ätiedotRajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.
11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen
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ätiedotTAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa
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ätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Rajapinnat Java-kieli ei tue luokkien moniperintää. Jokaisella luokalla voi olla vain yksi välitön yliluokka. Toisinaan olisi
LisätiedotJReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002
JReleaser Yksikkötestaus ja JUnit Mikko Mäkelä 6.11.2002 Sisältö Johdanto yksikkötestaukseen JUnit yleisesti JUnit Framework API (TestCase, TestSuite) Testien suorittaminen eri työkaluilla Teknisiä käytäntöjä
LisätiedotTietokannan luominen:
Moodle 2 Tietokanta: Tietokanta on työkalu, jolla opettaja ja opiskelijat voivat julkaista tiedostoja, tekstejä, kuvia, linkkejä alueella. Opettaja määrittelee lomakkeen muotoon kentät, joiden kautta opiskelijat,
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla
Lisätiedot812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä
2016 IX Olioiden välisistä yhteyksistä Sisältö 1. Johdanto 2. Kytkentä 3. Koheesio 4. Näkyvyydestä 2 Johdanto n Ohjelmassa syntyy kytkentöjä olioiden välille Toivottuja ja epätoivottuja n Näkyvyys vaikuttaa
LisätiedotJava kahdessa tunnissa. Jyry Suvilehto
Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,
Lisä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ätiedotSisällys. 11. Rajapinnat. Johdanto. Johdanto
Sisällys 11. ajapinnat. bstrakti luokka vai rajapinta? ajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen avulla.
LisätiedotSuvi 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ätiedotTIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö
TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3
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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle
Lisätiedot812341A Olio-ohjelmointi Peruskäsitteet jatkoa
812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää
LisätiedotKieliversiointityökalu Java-ohjelmistoon. Ohje
Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5
Lisätiedot15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:
LisätiedotJWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari
JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti
LisätiedotNebula pilvi 9.0 saatavuusalueiden välinen verkkoliikenne
Nebula pilvi 9.0 saatavuusalueiden välinen verkkoliikenne Sivu 2/9 1. Sisällysluettelo 2. Esipuhe 3 2.1. Saatavuusalueet 3 2.1.1. Taustaverkko missä instanssit ovat suoraan fyysisellä liitännällä kiinni
LisätiedotOhjelmistotuotanto. Luento 9 23.4.2012
Ohjelmistotuotanto Luento 9 23.4.2012 Lisää suunnittelumalleja Olion rikastaminen dekoraattorilla Joskus eteen tulee tarve lisätä olioon jotain ekstraominaisuuksia, pitäen kuitenkin olio sellaisena että
LisätiedotTestivetoinen ohjelmistokehitys
Testivetoinen ohjelmistokehitys Ohjelman luominen pienin askelin 1. Kirjoita testi, joka testaa ohjelmalle myöhemmin lisättävää toiminnallisuutta. 2. Suorita testi. Testin ei tule mennä läpi. Mikäli testi
LisätiedotEsimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit
Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.
LisätiedotHarjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:
Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int
LisätiedotTilastokeskuksen rajapintapalveluiden käyttöönotto QGIS-ohjelmistossa
1 (7) Tilastokeskuksen rajapintapalveluiden käyttöönotto QGIS-ohjelmistossa ita laadittaessa on käytetty QGIS:n versiota 2.14.3. Ruudunkaappauskuvat ovat englanninkielisestä versiosta, mutta ohjeissa esitetään
LisätiedotMainosankkuri.fi-palvelun käyttöohjeita
Mainosankkuri.fi-palvelun käyttöohjeita Sisällys 1. Johdanto... 1 2. Sisäänkirjautuminen... 1 3. Palvelussa navigointi... 2 4. Laitteet... 2 5. Sisällönhallinta... 4 6. Soittolistat... 7 7. Aikataulut...
LisätiedotLuokat ja oliot. Ville Sundberg
Luokat ja oliot Ville Sundberg 12.9.2007 Maailma on täynnä olioita Myös tietokoneohjelmat koostuvat olioista Σ Ο ω Μ ς υ φ Ϊ Φ Θ ψ Љ Є Ύ χ Й Mikä on olio? Tietokoneohjelman rakennuspalikka Oliolla on kaksi
LisätiedotTIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun
LisätiedotHELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000
HELIA 1 (11) Access 1 ACCESS...2 Yleistä...2 Access-tietokanta...3 Perusobjektit...3 Taulu...5 Kysely...7 Lomake...9 Raportti...10 Makro...11 Moduli...11 HELIA 2 (11) ACCESS Yleistä Relaatiotietokantatyyppinen
LisätiedotInformaatiotekniikan kehitysyksikkö
SAVONIA Savonia RPM Käyttöopas Informaatiotekniikan kehitysyksikkö 18.8.2011 Sisällysluettelo 1. Perusnäkymä... 3 2. Kirjautuminen... 4 3. Rekisteröinti... 5 4. Idean jättäminen... 6 4. Arviointi... 8
LisätiedotFiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen
FiSMA 1.1 Monikerrosarkkitehtuuri 1 (7) FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen 1. Yleiset periaatteet FiSMA 1.1 -menetelmässä mitataan sovellusperiaatteen
LisätiedotJavan perusteita. Janne Käki
Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).
LisätiedotHarjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript)
Harjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript) Kurssin toisessa harjoitustyössä tutustutaan verkkosivujen toiminnallisuuden toteuttamiseen JavaScript:n avulla. Lisäksi käydään läpi verkkosivuston
LisätiedotWritten by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36
!!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat
LisätiedotTiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas
Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä
LisätiedotTässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).
Tehtävä 1: Metodit, listat, alkuluvut (4p) Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ). Alkuluvut ovat lukuja, jotka ovat suurempia kuin yksi ja jotka ovat jaollisia
LisätiedotEMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE: 15.03.
EMVHost Online SUBJECT: COMPANY: COMMENTS: AUTHOR: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT NETS OY EMVHost Online Client sovelluksen käyttöohje NETS OY DATE: 15.03.2011 VERSION: 1.0 1 SISÄLLYS SISÄLLYS...
LisätiedotHakemistojen sisällöt säilötään linkitetyille listalle.
Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä komentoikkunaa (komentotulkkia, komentoriviä) simuloiva olioperustainen ohjelma. Hakemistojen sisällöt säilötään linkitetyille listalle. Työ
LisätiedotJulkisen rajapinnan testausohje Swaggerin kautta
Julkisen rajapinnan testausohje Swaggerin kautta Yllä esimerkkikuva Hankeikkunan julkisen rajapinnan dokumentoivasta Swagger-näkymästä. Swagger tarjoaa kevyen selainkäyttöliittymän jonka kautta rajapinnan
LisätiedotOhjelmoinnin 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ätiedotTietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.
Arkkitehtuurikuvaus Käytössä olevat java-luokat: Kansio: /WEB_INF/classes/ - käännetyt luokat Kansio: /WEB_INF/src/ - lähdekoodi custom_pojos: Kurssi.java Java-luokka, jonka sisältö vastaa tietokannassa
LisätiedotHirviö. Design Patterns
Hirviö SEPA-päiväkirja Design Patterns Anssi Kalliolahti Liia Sarjakoski 8. helmikuuta 2005 1 Sisältö 1 Johdanto 3 2 Menetelmän käytäntöön soveltaminen 3 3 Kokemuksia ja muutoksia 3 3.1 PP..........................................
LisätiedotFiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen
FiSMA 1.1 Monikerrosarkkitehtuuri 1 (6) FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen 1. Yleiset periaatteet FiSMA 1.1 -menetelmässä mitataan sovellusperiaatteen
LisätiedotSQL Buddy JAMK Labranet Wiki
Page 1 of 9 SQL Buddy JAMK Labranet Wiki Sisällysluettelo Yleistä SQL Buddy:sta kotisivu :http://sqlbuddy.com/ SQL Buddy on kevyt hallintatyökalu MySQL-tietokannalle. Järjestelmävaatimukset Serverin vaatimukset
LisätiedotOperaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta
C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus
LisätiedotHallintaliittymän käyttöohje
Hallintaliittymän käyttöohje 1. Yleisiä huomioita Hallintaliittymän käyttöä helpottavia yleisiä huomioita: - Käytä listanäkymien hakukentissä kentän vieressä olevaa hakunappia, älä enter-näppäintä. - Älä
LisätiedotXPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy
IBM Collaboration Forum ٨.٣.٢٠١١ XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy ٢٠١١ IBM Corporation Domino-sovelluskehitys Nopea kehitysympäristö (Rapid application development,
LisätiedotSuvi 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ä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ätiedot812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton
2015 syksy 2. vsk IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Sisältö 1. Johdanto luontimalleihin 2. Proxy 3. Factory Method 4. Prototype 5. Singleton Suunnittelumallit Proxy et.
LisätiedotINTINU13A6 Java sovellukset
Johdanto Kurssin tavoitteena oli luoda tietokantaa käyttävä websovellus Java EE ohjelmointikielellä, sekä hyödyntää muun muassa servlettejä sekä JSP sivuja ja muita tekniikoita monipuolisesti. Webserverinä
Lisätiedot15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien
LisätiedotKäyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä
www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite
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ätiedotToimintaympäristön kuvaus. LTC-Otso Myyjän työkalu (POC)
LTC-Otso Myyjän työkalu (POC) Toimintaympäristön kuvaus 21 toukokuu, 2015 Sisältö 1 Johdanto... 3 1.1 Dokumentin tavoite... 3 1.2 Dokumentin yleiskuvaus... 3 2 Järjestelmälle asetetut vaatimukset... 3
LisätiedotOhjelmoinnin 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ätiedotMuutamia peruskäsitteitä
Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä, kevät
Ohjelmoinnin peruskurssien laaja oppimäärä, kevät Luento 2: Ohjelman suunnittelua, miten oliot toimivat Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 21. 1. 2013 Sisältö 1 Suunnittelua:
LisätiedotViestinvälitysarkkitehtuurit
Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti hajautettuja Komponenttien palveluja ei tiedetä tarkasti etukäteen Komponentteja ja
LisätiedotTiedonsiirto- ja rajapintastandardit
Tiedonsiirto- ja rajapintastandardit Viitekehys Julkishallinnon perustietovarantojen rajapinnat (PERA) työryhmän tulokset valmiit syksyllä 2011 Määrittelee teknisen arkkitehtuuriratkaisun tietovarantojen
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ätiedot9 Edistynyt PHP-ohjelmointi
9 Edistynyt PHP-ohjelmointi Luentokerran tavoitteena on käydä läpi joukko sellaisia PHP-sovelluksen toteuttamiseen liittyviä tekijöitä, joiden avulla voidaan parantaa verkkopalvelun totetustyön tuottavuutta
Lisätiedot5. 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ätiedotHELIA 1 (17) Outi Virkki Tiedonhallinta
HELIA 1 (17) Luento 4.1 Looginen suunnittelu... 2 Relaatiomalli... 3 Peruskäsitteet... 4 Relaatio... 6 Relaatiokaava (Relation schema)... 6 Attribuutti ja arvojoukko... 7 Monikko... 8 Avaimet... 10 Avain
LisätiedotWWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY
1 WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY 10.4.2015 Lounea Oy Tehdaskatu 6, 24100 Salo Puh. 029 707 00 Y-tunnus 0139471-8 www.lounea.fi Asiakaspalvelu 0800 303 00 Yrityspalvelu 0800 303 01 Myymälät 0800 303
LisätiedotOlio-ohjelmointi: Luokkien toteuttaminen. Jukka Juslin
Olio-ohjelmointi: Luokkien toteuttaminen Jukka Juslin Luokkien kirjoittaminen Tähän mennessä on käytetty valmiiksi määritettyjä luokkia. Nyt opimme kirjoittamaan omia luokkia olioiden kuvaamiseksi Seuraavaksi
LisätiedotProjektinhallintaa paikkatiedon avulla
Projektinhallintaa paikkatiedon avulla Tampereen Teknillinen Yliopisto / Porin laitos Teemu Kumpumäki teemu.kumpumaki@tut.fi 25.6.2015 1 Paikkatieto ja projektinhallinta Paikkatiedon käyttäminen projektinhallinnassa
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 3.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.3.2010 1 / 44 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle
Lisätiedot<e.g. must, essential, conditional>
Käyttötapaukset Kurssin malli käyttötapauksille: Tila < List of users and the other systems that interacts directly with a system>
LisätiedotAimo-ohjauspaneelin käyttöohje Sisällys
Aimo-ohjauspaneelin käyttöohje Sisällys Tunnusten tilaaminen... 2 Sisäänkirjautuminen... 3 Käyttöliittymä... 4 Ryhmätekstiviestien lähettäminen... 5 Ryhmät... 7 Push-viestien lähettäminen... 12 Mobiilipalvelun
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ä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ätiedotSisältö. 22. Taulukot. Yleistä. Yleistä
Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä
LisätiedotSelvitysraportti. MySQL serverin asennus Windows ympäristöön
Selvitysraportti MySQL serverin asennus Windows ympäristöön IIO30200 / Jouni Huotari Arto Sorsa / F3900 CREATIVE COMMONS LISENSOITU http://creativecommons.org/licenses/by-nc-sa/1.0/fi/ 26.4.2010 1 SISÄLTÖ
LisätiedotGraafisen käyttöliittymän ohjelmointi Syksy 2013
TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 9 Qt model/view Juha-Matti Vanhatupa Sisältö Qt:n MV mallin osat Mallin ja näkymän välinen kommunikointi
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ätiedotSisä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ätiedot815338A 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ätiedotJypelin käyttöohjeet» Ruutukentän luominen
Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen
LisätiedotVisma Business AddOn Tositteiden tuonti. Käsikirja
Visma Business AddOn Tositteiden tuonti Käsikirja Oppaan päiväys: 10.2.2012. Asiakaspalvelu: Helpdesk: www.visma.fi Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin
LisätiedotAalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa
Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1 Oliot ja luokat Javaohjelmoinnissa Vesa Laakso 22.9.2012 Sisällysluettelo Sisällysluettelo... 1 Johdanto... 2 1. Luokka... 2 2. Olio... 2 3. Luokan
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2009 1 / 40 Kertausta: tiedostosta lukeminen Aluksi käsiteltävä tiedosto pitää avata: tiedostomuuttuja = open("teksti.txt","r")
LisätiedotObject Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen
Object Framework - One OF-1 is a high-productive Multi-UI OpenEdge data driven development framework Veli-Matti Korhonen Aiheet OF-1 esittely Mitä ominaisuuksia saa ilman ohjelmointia Miten ohjelmoidaan
LisätiedotTapahtumakalenteri & Jäsentietojärjestelmä Toteutus
Tapahtumakalenteri & Jäsentietojärjestelmä Toteutus Henri Kinnunen, Seppo Tompuri, Tero Malkki, Matti Heiskanen, Tommi Rönkönharju, Tuomas Valkeapää Sisällysluettelo 1. Alkusanat...2 2. Käyttötapaukset...2
LisätiedotT Henkilökohtainen harjoitus: FASTAXON
T-76.115 Henkilökohtainen harjoitus: FASTAXON Suunnittelumallit Group: Muuntaja Pentti Vänskä 52572W 2 1. Toteutus Tämä henkilökohtainen harjoitustyö käsitteli suunnittelumallien (Design Patterns) käyttöä
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ätiedotTimeEdit opiskelijan ohje TimeEdit-instructions for students from this link
TimeEdit opiskelijan ohje TimeEdit-instructions for students from this link TimeEdit on työjärjestys- (lukujärjestys) ja tilanvarausohjelmisto. Sisältö 1 Oikeudet... 2 2 TimeEdit Web... 2 3 Kirjautuminen...
Lisätiedot1. 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