Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Koko: px
Aloita esitys sivulta:

Download "Ohjelmointikielet ja -paradigmat 5op. Markus Norrena"

Transkriptio

1 Ohjelmointikielet ja -paradigmat 5op Markus Norrena

2 Kotitehtävä 10: Framework esitelmä Valmistelkaa viimeiselle kerralle esitelmä Frameworkistanne Tarkoituksena antaa muille kurssilaisille käsitys Frameworkinne toiminnallisuuksista sekä sen hyvistä ja huonoista puolista Esitelkää myös mitä olette saaneet sillä aikaan Esitelmät (Nic) ja (muut)

3 Näitä jatketaan tänään Käyttäjien luominen, päivittäminen ja poistaminen (creating, updating and deleting users): User luokkaan Tiedostojen latauksen (File Upload): Photograph -luokka Kuvien näyttäminen ja niiden ylläpito (jos ehditään)

4 Ko$tehtävä Toteuta public func$on update() ja public func$on delete() User luokkaan seuraavien kalvojen mukaan:

5 user.php: public func$on update() Luodaan samalla tapaa, muba sql- muoto on: UPDATE table SET key='value', key='value' WHERE condition Toteuta. Voisi toimia esim. näin: $user = User::find_by_id(2); $user->password = "uusisalasana"; $user->update();

6 user.php: public func$on update() public function update() { global $database; // - UPDATE table SET key='value', key='value' WHERE condition $sql = "UPDATE ".self::$table_name." SET "; $sql.= "username='". $database->escape_value($this->username)."', "; $sql.= "password='". $database->escape_value($this->password)."', "; $sql.= "first_name='". $database->escape_value($this->first_name)."', "; $sql.= "last_name='". $database->escape_value($this->last_name)."' "; $sql.= "WHERE id=". $database->escape_value($this->id); $database->query($sql); return ($database->affected_rows() == 1)? true : false;

7 user.php: public func$on delete() public func$on delete() SQL- lauseen muoto DELETE FROM table WHERE condition LIMIT 1 Limit - kannabaa $etoturvasyistä käybää delete- lauseissa aina kun mahdollista. Huomatkaa ebä ilmentymä (olio) on yhä olemassa vaikka poistamme käybäjän $etokannasta! Tämä mahdollistaisi esim. Tällaisen: echo $user->first_name. " was deleted";

8 user.php: public func$on delete() public function delete() { global $database; // - DELETE FROM table WHERE condition LIMIT 1 // - use LIMIT 1 $sql = "DELETE FROM ".self::$table_name; $sql.= " WHERE id=". $database->escape_value($this->id); $sql.= " LIMIT 1"; $database->query($sql); return ($database->affected_rows() == 1)? true : false; // NB: After deleting, the instance of User still // exists, even though the database entry does not.

9 Seuraavaksi samaa valokuville! Ensin kuvien lataaminen (upload) SiBen create, update and delete photographs (CRUD): photograph.php photograph.php

10 Luo valokuville $etokanta CREATE TABLE photographs ( id int(11) NOT NULL auto_increment, filename varchar(255) NOT NULL, type varchar(100) NOT NULL, size int(11) NOT NULL, caption varchar(255) NOT NULL, PRIMARY KEY (id) );

11 Luo palvelimelle kansio ladabaville /public/images kuville Muutetaan webbipalvelin kansion omistajaksi sudo chown www- data images Jos www- data on apache- prosessin käybäjätunnus Ja tarkista ebä oikeudet (chmod) ovat muuten kunnossa Muistakaa e*ä tämä teh.in jo ekalla luennolla.

12 Perus upload- käskyt: lomake <form action="upload.php" enctype="multipart/form-data" method="post"> <input type="hidden" name="max_file_size" value=" " /> <input type="file" name="file_upload" /> <input type="submit" name="submit" value="upload" /> </form> Muistakaa e*ä tämä teh.in jo ekalla luennolla.

13 Perus upload- käskyt PHP: $_FILES[] if(isset($_post['submit'])) { // process the form data $tmp_file = $_FILES['file_upload']['tmp_name']; $target_file = basename($_files['file_upload']['name']); $upload_dir = "images"; // move_uploaded_file will return false if $tmp_file is // not a valid upload file or if it cannot be moved for // any other reason if(move_uploaded_file($tmp_file, $upload_dir."/".$target_file)){ echo "File uploaded successfully."; else { echo $_FILES['file_upload']['error']; Muistakaa e*ä tämä teh.in jo ekalla luennolla (tallenna.php)

14 photograph.php photograph ja user - luokkien määribelyissä paljon samankaltaisuuksia. Lisää / poista osien toimintaperiaabeet voi kopioida user- luokasta. Lisää photograph.php ini$alizeen (ini$alize.php) joba se ladataan muiden luokkien kanssa

15 class Photograph { photograph.php Käytän itse luokassa tällaisia abribuubeja protected static $table_name="photographs"; protected static $db_fields=array('id', 'filename', 'type', 'size', 'caption'); public $id; public $filename; public $type; public $size; public $caption; private $temp_path; protected $upload_dir="images"; public $errors=array();

16 Lomake jolla testata luokka: photo_upload.php osa 1 require_once('../../includes/initialize.php'); if (!$session->is_logged_in()) { redirect_to("login.php"); $max_file_size = ; // expressed in bytes if(isset($_post['submit'])) { $photo = new Photograph(); $photo->caption = $_POST['caption']; $photo->attach_file($_files['file_upload']); if($photo->save()) { // Success $session->message("photograph uploaded successfully."); // redirect_to('list_photos.php'); // implement later else { // Failure $message = join("<br />", $photo->errors);

17 <?php include_layout_template('admin_header.php');?> <h2>photo Upload</h2> Lomake jolla testata luokka: photo_upload.php osa 2 <?php echo output_message($message);?> <form action="photo_upload.php" enctype="multipart/form-data" method="post"> <input type="hidden" name="max_file_size" value="<?php echo $max_file_size;?>" /> <p><input type="file" name="file_upload" /></p> <p>caption: <input type="text" name="caption" value="" /></p> <input type="submit" name="submit" value="upload" /> </form> <?php include_layout_template('admin_footer.php');?>

18 photograph.php // Pass in $_FILE(['uploaded_file']) as an argument public function attach_file($file) { // Define $temp_path, $filename, $type, $size // Also check for errors Metodi joka alustaa olion kun $edot ovat oliossa, ne voi tallebaa $etokantaan (myöhemmin, sitä ei kannata vielä mie_ä) Toteuta

19 photograph.php // Pass in $_FILE(['uploaded_file']) as an argument public function attach_file($file) { // Perform error checking on the form parameters if(!$file empty($file)!is_array($file)) { // error: nothing uploaded or wrong argument usage $this->errors[] = "No file was uploaded."; return false; elseif($file['error']!= 0) { // error: report what PHP says went wrong $this->errors[] = $file['error']; return false; else { // Set object attributes to the form parameters. $this->temp_path = $file['tmp_name']; $this->filename = basename($file['name']); $this->type = $file['type']; $this->size = $file['size']; return true;

20 photograph.php public function save() { Save metodi tekee kaksi asiaa Siirtää kuvan sen oikeaan talletuspaikkaan TalleBaa $etokantaan $edon minne kuva tallete_in

21 photograph.php osa 1 public function save() { // A new record won't have an id yet. if(isset($this->id)) { $this->update(); else { // Can't save if there are pre-existing errors if(!empty($this->errors)) { return false; // Make sure the caption is not too long for the DB if(strlen($this->caption) > 255) { $this->errors[] = "The caption can only be 255 characters long."; return false; // Can't save without filename and temp location if(empty($this->filename) empty($this->temp_path)) { $this->errors[] = "The file location was not available."; return false; // Determine the target_path $target_path = SITE_ROOT.DS. 'public'.ds. $this->upload_dir. DS. $this->filename;

22 photograph.php osa 2 // Make sure a file doesn't already exist in the target location if(file_exists($target_path)) { $this->errors[] = "The file {$this->filename already exists."; return false; // Attempt to move the file if(move_uploaded_file($this->temp_path, $target_path)) { // Success // Save a corresponding entry to the database if($this->create()) { // We are done with temp_path, the file isn't there anymore unset($this->temp_path); return true; else { // File was not moved. $this->errors[] = "The file upload failed."; return false;

23 photograph.php public function create() { global $database; // - INSERT INTO table (key, key) VALUES ('value', 'value') // OSAATKO ITSE TEHDÄ TÄMÄN?

24 photograph.php public function create() { global $database; // - INSERT INTO table (key, key) VALUES ('value', 'value') // - single-quotes around all values // - escape all values to prevent SQL injection $attributes = $this->sanitized_attributes(); $sql = "INSERT INTO ".self::$table_name." ("; $sql.= join(", ", array_keys($attributes)); $sql.= ") VALUES ('"; $sql.= join("', '", array_values($attributes)); $sql.= "')"; if($database->query($sql)) { $this->id = $database->insert_id(); return true; else { return false;

25 photograph.php protected function sanitized_attributes() { global $database; $clean_attributes = array(); // sanitize the values before submitting // Note: does not alter the actual value of each attribute foreach($this->attributes() as $key => $value){ $clean_attributes[$key] = $database->escape_value($value); return $clean_attributes;

26 photograph.php protected function attributes() { // return an array of attribute names and their values $attributes = array(); foreach(self::$db_fields as $field) { if(property_exists($this, $field)) { $attributes[$field] = $this->$field; return $attributes;

27 Kokeile toimiiko? photograph.php

28 list_photos.php NäyBää kuvat admin puolella - > yritä ensin kirjoibaa se itse! Saatat tarvita user luokasta tubuja apumetodeja, kuten Photograph::find_all();

29 list_photos.php osa 1 <?php require_once("../../includes/initialize.php"); if (!$session->is_logged_in()) { redirect_to("login.php"); // Find all the photos $photos = Photograph::find_all(); include_layout_template('admin_header.php');?> <h2>photographs</h2> <?php echo output_message($message);?> <table class="bordered"> <tr> <th>image</th> <th>filename</th> <th>caption</th> <th>size</th> <th>type</th> <th> </th> </tr>

30 list_photos.php osa 2 <?php foreach($photos as $photo):?> <tr> <td><img src="../<?php echo $photo->image_path();?>" width="100" /></td> <td><?php echo $photo->filename;?></td> <td><?php echo $photo->caption;?></td> <td><?php echo $photo->size_as_text();?></td> <td><?php echo $photo->type;?></td> <td><a href="delete_photo.php?id=<?php echo $photo->id;?> ">Delete</a></td> </tr> <?php endforeach;?> </table> <br /> <a href="photo_upload.php">upload a new photograph</a> <?php include_layout_template('admin_footer.php');?>

31 photograph.php public function image_path() { return $this->upload_dir.ds.$this->filename; public function size_as_text() { if($this->size < 1024) { return "{$this->size bytes"; elseif($this->size < ) { $size_kb = round($this->size/1024); return "{$size_kb KB"; else { $size_mb = round($this->size/ , 1); return "{$size_mb MB";

32 public static function find_by_sql($sql="") { global $database; $result_set = $database->query($sql); $object_array = array(); while ($row = $database->fetch_array($result_set)) { $object_array[] = self::instantiate($row); return $object_array; photograph.php // Common Database Methods public static function find_all() { return self::find_by_sql("select * FROM ".self::$table_name); public static function find_by_id($id=0) { global $database; $result_array = self::find_by_sql( "SELECT * FROM ".self::$table_name." WHERE id=".$database->escape_value($id)." LIMIT 1"); return!empty($result_array)? array_shift($result_array) : false;

33 photograph.php private static function instantiate($record) { $object = new self; // Simple, long-form approach: $object->id = $record['id']; $object->filename = $record['filename']; $object->type = $record['type']; $object->size = $record['size']; $object->caption = $record['caption']; return $object;

34 delete_photo.php Koodissa mainibu delete_photo.php pitäisi myös toteubaa

35 delete_photo.php <?php require_once("../../includes/initialize.php"); php if (!$session->is_logged_in()) { redirect_to("login.php"); // must have an ID if(empty($_get['id'])) { $session->message("no photograph ID was provided."); redirect_to('index.php'); $photo = Photograph::find_by_id($_GET['id']); if($photo && $photo->destroy()) { $session->message("the photo {$photo->filename was deleted."); redirect_to('list_photos.php'); else { $session->message("the photo could not be deleted."); redirect_to('list_photos.php'); if(isset($database)) { $database->close_connection();?>

36 photograph.php public function destroy() { // First remove the database entry if($this->delete()) { // then remove the file // Even though the database entry is gone, this object // is still around $target_path = SITE_ROOT.DS.'public'.DS.$this->image_path(); return unlink($target_path)? true : false; else { // database delete failed return false;

37 photograph.php public function delete() { global $database; // - DELETE FROM table WHERE condition LIMIT 1 $sql = "DELETE FROM ".self::$table_name; $sql.= " WHERE id=". $database->escape_value($this->id); $sql.= " LIMIT 1"; $database->query($sql); return ($database->affected_rows() == 1)? true : false;

38 public $message; function construct() { $this->check_message(); public function message($msg="") { if(!empty($msg)) {// set message $_SESSION['message'] = $msg; else { // get message return $this->message; session.php lisätään $message, joba saadaan viestejä välitebyä redirect käskyn yli private function check_message() { if(isset($_session['message'])) { $this->message = $_SESSION['message']; unset($_session['message']); else { $this->message = ""; $message = $session->message();

39 photograph.php public function update() { global $database; // - UPDATE table SET key='value', key='value' WHERE condition $attributes = $this->sanitized_attributes(); $attribute_pairs = array(); foreach($attributes as $key => $value) { $attribute_pairs[] = "{$key='{$value'"; $sql = "UPDATE ".self::$table_name." SET "; $sql.= join(", ", $attribute_pairs); $sql.= " WHERE id=". $database->escape_value($this->id); $database->query($sql); return ($database->affected_rows() == 1)? true : false;

40 Julkiselle puolelle Sivun vierailijoille näytetään kuvat: index.php pienemmille kuvakkeille photo.php täysikokoisille kuville Kokeile toteubaa.

41 Julkiselle puolelle: index.php <?php require_once("../includes/initialize.php");?> <?php // Find all photos $photos = Photograph::find_all();?> <?php include_layout_template('header.php');?> <?php foreach($photos as $photo):?> <div style="float: left; margin-left: 20px;"> <a href="photo.php?id=<?php echo $photo->id;?>"> <img src="<?php echo $photo->image_path();?>" width="200"> </a> <p><?php echo $photo->caption;?></p> </div> <?php endforeach;?> <?php include_layout_template('footer.php');?>

42 Julkiselle puolelle: photo.php <?php require_once("../includes/initialize.php"); if(empty($_get['id'])) { $session->message("no photograph ID was provided."); redirect_to('index.php'); $photo = Photograph::find_by_id($_GET['id']); if(!$photo) { $session->message("the photo could not be located."); redirect_to('index.php'); include_layout_template('header.php');?> <a href="index.php">«back</a><br /><br /> <div style="margin-left: 20px;"> <img src="<?php echo $photo->image_path();?>" /> <p><?php echo $photo->caption;?></p> </div> <?php include_layout_template('footer.php');?>

43 (Kotitehtävä) Toteuta kommentointi (Comments -class) Pitkälti samalla tapaa kuin käyttäjien ja kuvien ylläpito Erona että kommentti liittyy aina tiettyyn kuvaan

44 (Kotitehtävä) Toteuta admin-puolelle lomake joka mahdollistaa käyttäjien ylläpidon uuden luomisen, delete & update työkalut?

45 Photo Gallery Project Alkuperäisen suunnitelmani $lanne: User Photograph Comments - > (ko$tehtävä) Database Session Pagina$on - >jää puubumaan

46 Kurssin status KäsiBelemäBä jäi Func$onal Programming (Funk$onaalinen ohjelmoin$) hbp://phpmaster.com/func$onal- programming- and- php/ Haskell is an advanced purely- func$onal programming language. hbp://

47 Kurssin status Muuta jos kiinnostaa JavaScript JavaScript does not have classical OOP. It has prototyping OOP. This means you have only objects. h*p:// The MVC PaBern and PHP hbp://phpmaster.com/the- mvc- pabern- and- php- 1/ hbp://phpmaster.com/the- mvc- pabern- and- php- 2/

48 KurssipalauteBa Tuubissa nyt jo! Ensi kerralla "framework" esitelmät.

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Viimeksi: kotitehtävä 9 Luokaa kuvagallerialle user luokka käyttäjien hallintaan, joka pitää sisällään vähintään: find_all() palauttaa kaikki käyttäjät

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Framework Framework tavoitteet Miten viikko meni? Photo Gallery Project Public / Admin sides Pagination (next / prev) thumbnails Full size images Comments

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävistä: Pankkitilit kotitehtävä 7 Toteuttakaa kotitehtävä 1:n kuvan mukaiset metodit open(), close(), deposit(), withdraw(), joilla voi Nostaa

Lisätiedot

Ohjelmoin*kielet ja - paradigmat 5op. Markus Norrena

Ohjelmoin*kielet ja - paradigmat 5op. Markus Norrena Ohjelmoin*kielet ja - paradigmat 5op Markus Norrena Kotitehtävä 1 Tee kirjautumisjärjestelmä ilman tietokantaa. Sivustolle jolla on vähintään 2 eri sivua. Kysyy tunnusta ja muistaa kirjautumisen ettei

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

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Huom!

Lisätiedot

812336A C++ -kielen perusteet, 21.8.2010

812336A C++ -kielen perusteet, 21.8.2010 812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja.

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja. laskutus_index http://media.stadia.fi/~0700527/laskutus/laskutus_index.html Sivu 1/1 13.12.2007 Laskutus -tietokanta Henkilöiden tiedot: Lisää uuden henkilön tiedot Muuta tai poista henkilön tiedot Selaa

Lisätiedot

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation FinFamily Asennus / Installation 1 Sisällys / Contents FinFamily Asennus / Installation... 1 1. Asennus ja tietojen tuonti / Installation and importing data... 4 1.1. Asenna Java / Install Java... 4 1.2.

Lisätiedot

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

Choose Finland-Helsinki Valitse Finland-Helsinki

Choose Finland-Helsinki Valitse Finland-Helsinki Write down the Temporary Application ID. If you do not manage to complete the form you can continue where you stopped with this ID no. Muista Temporary Application ID. Jos et onnistu täyttää lomake loppuun

Lisätiedot

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina Kirjasto Kevät 2001 Auvinen Annemari Niemi Anu Harjoitustyö 7.4.2001 Sisällysluettelo 1. Yleiskuvaus... 3 2. Vaatimukset... 3 2.1. Toiminnalliset... 3 2.1.1. Sisäänkirjautuminen... 3 2.1.2. Nimikkeiden

Lisätiedot

Capacity Utilization

Capacity Utilization Capacity Utilization Tim Schöneberg 28th November Agenda Introduction Fixed and variable input ressources Technical capacity utilization Price based capacity utilization measure Long run and short run

Lisätiedot

Alternative DEA Models

Alternative DEA Models Mat-2.4142 Alternative DEA Models 19.9.2007 Table of Contents Banker-Charnes-Cooper Model Additive Model Example Data Home assignment BCC Model (Banker-Charnes-Cooper) production frontiers spanned by convex

Lisätiedot

The CCR Model and Production Correspondence

The CCR Model and Production Correspondence The CCR Model and Production Correspondence Tim Schöneberg The 19th of September Agenda Introduction Definitions Production Possiblity Set CCR Model and the Dual Problem Input excesses and output shortfalls

Lisätiedot

Salasanan vaihto uuteen / How to change password

Salasanan vaihto uuteen / How to change password Salasanan vaihto uuteen / How to change password Sisällys Salasanakäytäntö / Password policy... 2 Salasanan vaihto verkkosivulla / Change password on website... 3 Salasanan vaihto matkapuhelimella / Change

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Taulukon edut Taulukon haitat Taulukon haittojen välttäminen Dynaamisesti linkattu lista Linkatun listan solmun määrittelytavat Lineaarisen listan toteutus dynaamisesti linkattuna

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

Järjestelmän syötteet ja tulosteet Kohahdus Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Järjestelmän syötteet ja tulosteet Kohahdus Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Järjestelmän syötteet ja tulosteet Kohahdus Helsinki 5.11.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä

Lisätiedot

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Esimerkki: Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Luo tietokanta Koulu. Tietokantaan lisätään 3 taulua. Kurssit-taulu: kurssiid not null primary key INTEGER aineid not

Lisätiedot

Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä.

Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä. Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä. JUnit-ympäristö 1. Luo tests -pakkaukseen uusi luokka. Nimeä VHTestit. 2. Laita VHTestit periytymään TestCase:sta

Lisätiedot

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ https://community.plm.automation.siemens.com/t5/tech-tips- Knowledge-Base-NX/How-to-simulate-any-G-code-file-in-NX- CAM/ta-p/3340 Koneistusympäristön määrittely

Lisätiedot

Other approaches to restrict multipliers

Other approaches to restrict multipliers Other approaches to restrict multipliers Heikki Tikanmäki Optimointiopin seminaari 10.10.2007 Contents Short revision (6.2) Another Assurance Region Model (6.3) Cone-Ratio Method (6.4) An Application of

Lisätiedot

Sisällysluettelo Table of contents

Sisällysluettelo Table of contents Sisällysluettelo Table of contents OTC:n Moodlen käyttöohje suomeksi... 1 Kirjautuminen Moodleen... 2 Ensimmäinen kirjautuminen Moodleen... 2 Salasanan vaihto... 2 Oma käyttäjäprofiili... 3 Työskentely

Lisätiedot

RINNAKKAINEN OHJELMOINTI A,

RINNAKKAINEN OHJELMOINTI A, RINNAKKAINEN OHJELMOINTI 815301A, 18.6.2005 1. Vastaa lyhyesti (2p kustakin): a) Mitkä ovat rinnakkaisen ohjelman oikeellisuuskriteerit? b) Mitä tarkoittaa laiska säikeen luominen? c) Mitä ovat kohtaaminen

Lisätiedot

C++11 seminaari, kevät Johannes Koskinen

C++11 seminaari, kevät Johannes Koskinen C++11 seminaari, kevät 2012 Johannes Koskinen Sisältö Mikä onkaan ongelma? Standardidraftin luku 29: Atomiset tyypit Muistimalli Rinnakkaisuus On multicore systems, when a thread writes a value to memory,

Lisätiedot

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Note! Before starting download and install a fresh version of OfficeProfessionalPlus_x64_en-us. The instructions are in the beginning of the exercise.

Lisätiedot

Olio-ohjelmointi Javalla

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

Lisätiedot

Gap-filling methods for CH 4 data

Gap-filling methods for CH 4 data Gap-filling methods for CH 4 data Sigrid Dengel University of Helsinki Outline - Ecosystems known for CH 4 emissions; - Why is gap-filling of CH 4 data not as easy and straight forward as CO 2 ; - Gap-filling

Lisätiedot

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

Tapahtumakalenteri & 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ätiedot

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun

Lisätiedot

XNA grafiikka laajennus opas. Paavo Räisänen. www.ohjelmoimaan.net. Tämän oppaan lähdekoodit ovat ladattavissa näiden sivujen Ladattavat osiossa.

XNA grafiikka laajennus opas. Paavo Räisänen. www.ohjelmoimaan.net. Tämän oppaan lähdekoodit ovat ladattavissa näiden sivujen Ladattavat osiossa. XNA grafiikka laajennus opas Paavo Räisänen www.ohjelmoimaan.net Tämän oppaan lähdekoodit ovat ladattavissa näiden sivujen Ladattavat osiossa. Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei

Lisätiedot

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi Ideasta projektiksi - kumppanuushankkeen suunnittelun lähtökohdat Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi Erasmus+ -ohjelman hakuneuvonta ammatillisen koulutuksen kumppanuushanketta

Lisätiedot

Web Services tietokantaohjelmoinnin perusteet

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

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward. START START SIT 1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward. This is a static exercise. SIT STAND 2. SIT STAND. The

Lisätiedot

Ohjelmointi 2 / 2010 Välikoe / 26.3

Ohjelmointi 2 / 2010 Välikoe / 26.3 Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään

Lisätiedot

Mobility Tool. Demo 21.8.2013 CIMO

Mobility Tool. Demo 21.8.2013 CIMO Mobility Tool Demo 21.8.2013 CIMO 1 Sisältö Korkeakoulukäyttäjä (Beneficiary User) Home Project details Partners Mobilities Working with CSV Import Mobilities Budget 2 Home Find your project Project menu

Lisätiedot

Johdanto PHP PostgreSQL. PHP & PostgreSQL. Paul Tötterman 5. helmikuuta PHP & PostgreSQL.

Johdanto PHP PostgreSQL. PHP & PostgreSQL. Paul Tötterman 5. helmikuuta PHP & PostgreSQL. Paul Tötterman paul.totterman@iki.fi 5. helmikuuta 2008 LAMP SQL LAMP LAMP L = Linux tai *BSD, Solaris... A = Apache M = MySQL tai... P =, Perl, Python, Ruby... Flickr, Yahoo, Facebook... : Hypertext Preprocessor

Lisätiedot

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 HSMT Tietokannoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008 Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT Jouni Huotari S2008 2 Proseduurit Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu Returns to Scale II Contents Most Productive Scale Size Further Considerations Relaxation of the Convexity Condition Useful Reminder Theorem 5.5 A DMU found to be efficient with a CCR model will also be

Lisätiedot

SIMULINK S-funktiot. SIMULINK S-funktiot

SIMULINK S-funktiot. SIMULINK S-funktiot S-funktio on ohjelmointikielellä (Matlab, C, Fortran) laadittu oma algoritmi tai dynaamisen järjestelmän kuvaus, jota voidaan käyttää Simulink-malleissa kuin mitä tahansa valmista lohkoa. S-funktion rakenne

Lisätiedot

Käyttäjienhallintatyökalu

Käyttäjienhallintatyökalu Käyttäjienhallintatyökalu 2 Käyttäjienhallinta-ohje Sisällysluettelo 1 Yleistä Käyttäjienhallintatyökalusta... 3 1.1 Excel-taulukko csv-tiedoston luomisessa...4 2 Käyttäjien luominen... 4 2.1 Käyttäjien

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava

Lisätiedot

Kylänetti projektin sivustojen käyttöohjeita Dokumentin versio 2.10 Historia : 1.0, 1.2, 1.6 Tero Liljamo / Deserthouse, päivitetty 25.8.

Kylänetti projektin sivustojen käyttöohjeita Dokumentin versio 2.10 Historia : 1.0, 1.2, 1.6 Tero Liljamo / Deserthouse, päivitetty 25.8. Kylänetti projektin sivustojen käyttöohjeita Dokumentin versio 2.10 Historia : 1.0, 1.2, 1.6 Tero Liljamo / Deserthouse, päivitetty 25.8.2012 Hakemisto 1. Sivustot internetissä... 2 2. Yleistä... 2 3.

Lisätiedot

Efficiency change over time

Efficiency change over time Efficiency change over time Heikki Tikanmäki Optimointiopin seminaari 14.11.2007 Contents Introduction (11.1) Window analysis (11.2) Example, application, analysis Malmquist index (11.3) Dealing with panel

Lisätiedot

Use of spatial data in the new production environment and in a data warehouse

Use of spatial data in the new production environment and in a data warehouse Use of spatial data in the new production environment and in a data warehouse Nordic Forum for Geostatistics 2007 Session 3, GI infrastructure and use of spatial database Statistics Finland, Population

Lisätiedot

Palvelinpuolen ohjelmointi

Palvelinpuolen ohjelmointi Palvelinpuolen ohjelmointi Staattiset ja dynaamiset web-sivut Staattiset web-sivut ovat valmiissa muodossaan palvelimella (tai paikallisesti omalla koneella). Javascript mahdollistaa paikalliset dynaamiset

Lisätiedot

SQL - STRUCTURED QUERY LANGUAGE

SQL - STRUCTURED QUERY LANGUAGE SQL Peruskomentoja SQL - STRUCTURED QUERY LANGUAGE SQL on tietokantojen käsittelyyn kehitetty kieli Esimerkkejä kielellä hoidettavistaa toiminnoista: Tietokannan rakenteen määrittely ja muuttaminen Kyselyt

Lisätiedot

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo TIEKE Verkottaja Service Tools for electronic data interchange utilizers Heikki Laaksamo TIEKE Finnish Information Society Development Centre (TIEKE Tietoyhteiskunnan kehittämiskeskus ry) TIEKE is a neutral,

Lisätiedot

REST rajapintana mobiilikehityksessä

REST rajapintana mobiilikehityksessä REST rajapintana mobiilikehityksessä Django & WP7 Jonne Räsänen 2011 jonne.rasanen@jyu.fi Case iscope Hälytyspalvelu Web-palvelu Mobiilisovellus REST (REpresentational State Transfer) Aikojakin vanhempi

Lisätiedot

Java ja tietokannan käsittely (JDBC)

Java ja tietokannan käsittely (JDBC) Java ja tietokannan käsittely (JDBC) Javan tietokannan käsittely luokat (java.sql.*) Yhteys tietokantaan Tietokannan yhteyden sulkeminen Tiedon haku tietokannasta Tiedon päivitys tietokantaan Transaktio

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

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

Lisätiedot

1. Liikkuvat määreet

1. Liikkuvat määreet 1. Liikkuvat määreet Väitelauseen perussanajärjestys: SPOTPA (subj. + pred. + obj. + tapa + paikka + aika) Suora sanajärjestys = subjekti on ennen predikaattia tekijä tekeminen Alasääntö 1: Liikkuvat määreet

Lisätiedot

anna minun kertoa let me tell you

anna minun kertoa let me tell you anna minun kertoa let me tell you anna minun kertoa I OSA 1. Anna minun kertoa sinulle mitä oli. Tiedän että osaan. Kykenen siihen. Teen nyt niin. Minulla on oikeus. Sanani voivat olla puutteellisia mutta

Lisätiedot

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta Tiedonhallinnan perusteet H11 Ovien ja kulun valvontajärjestelmän tietokanta Nimi: Mikko Haapanen Opiskelijanumero: 0900568 Ryhmä: T09L Työ tehty: 15.3.2010 Mikko Haapanen 15.3.2010 1(7) 1. Asiakasvaatimukset

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 10: Paikalliset muuttujat, kirjan tulkki kokonaisuutena (mm. SICP 3.2, 4.1.24.1.6) Riku Saikkonen 22. 11. 2012 Sisältö 1 Ympäristöt: miten paikalliset

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: 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ätiedot

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun

Lisätiedot

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu HELIA 1 (15) Luento 2.6 Käyttöoikeuksista ja suojauksesta... 2 Suojausten suunnittelu... 3 Käyttäjätunnukset... 4 Tunnuksen luominen... 5 Tunnuksen muuttaminen... 6 Tunnuksen poistaminen... 6 Oikeudet

Lisätiedot

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

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

C470E9AC686C

C470E9AC686C INVENTOR 17 VALUOSAN SUUNNITTELU http://help.autodesk.com/view/invntor/2017/enu/?guid=guid-b3cd4078-8480-41c3-9c88- C470E9AC686C About Mold Design in Inventor Mold Design provides integrated mold functionality

Lisätiedot

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen 1 List-luokan soveltamista List-luokan metodeja Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen 1 List-luokan metodeja List-luokan

Lisätiedot

Asiakaspalautteen merkitys laboratoriovirheiden paljastamisessa. Taustaa

Asiakaspalautteen merkitys laboratoriovirheiden paljastamisessa. Taustaa Asiakaspalautteen merkitys laboratoriovirheiden paljastamisessa Paula Oja, TtT Laboratorio, Oulun yliopistollinen sairaala Potilasturvallisuustutkimuksen päivät 26. 27.1.2011 1 Taustaa Laboratorion tulee

Lisätiedot

HELIA 1 (11) Outi Virkki Tiedonhallinta

HELIA 1 (11) Outi Virkki Tiedonhallinta HELIA 1 (11) Luento Käyttöoikeuksista ja tiedon suojauksesta... 2 Käyttäjätunnukset... 3 Tunnuksen luominen... 4 Oikeudet / Valtuudet... 5 Oikeuksien hallinta SQL:ssa... 6 Suojaustarkkuus?... 7 Roolit...

Lisätiedot

Bounds on non-surjective cellular automata

Bounds on non-surjective cellular automata Bounds on non-surjective cellular automata Jarkko Kari Pascal Vanier Thomas Zeume University of Turku LIF Marseille Universität Hannover 27 august 2009 J. Kari, P. Vanier, T. Zeume (UTU) Bounds on non-surjective

Lisätiedot

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia HTML - sivun rakenne ja osiot HTML HEAD STYLE SCRIPT STYLEsheet Javascript file BODY Javascript

Lisätiedot

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely

Lisätiedot

Ylläpitodokumentti. PLAYOFF Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki. Päivi Pääkkö, ohjaaja

Ylläpitodokumentti. PLAYOFF Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki. Päivi Pääkkö, ohjaaja Ylläpitodokumentti Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki Päivi Pääkkö, ohjaaja Helsinki, 13. joulukuuta 2007 Ohjelmistotuotantoprojekti yritysviestinnän oppimateriaalin

Lisätiedot

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun

Lisätiedot

OSA III PHP:n käyttö. Oppitunti

OSA III PHP:n käyttö. Oppitunti OSA III PHP:n käyttö Oppitunti 9. Lomakkeiden käsittely 10. Tiedostojen käsittely 11. DBM-funktioiden käyttö 12. MySQL-tietokantojen integrointi 13. Pintaa syvemmältä 14. Dynaamisten kuvien käsittely 15.

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento SQL... 2 Historiaa... 2 Standardit... 3 Käyttö... 4 DDL... 5 Tietokantaobjektien määrittely... 5 SQL:n tietotyypit... 6 Eheyssääntöjen määrittely... 9 Indeksin määrittely... 11 Syntaksikuvaukset...

Lisätiedot

Periytyminen (inheritance)

Periytyminen (inheritance) 1 Periytyminen (inheritance) Mitä periytyminen on? Yli- ja aliluokka Konstruktorit Get- ja set-metodi Muut metodit tostring Yksinkertainen pääohjelma 1 Mitä periytyminen on? Periytymisen avulla olemassa

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 8: Tulkki: proseduurit, abstrakti syntaksi, quote ja cond (mm. SICP 44.1.5 osin) Riku Saikkonen 15. 11. 2011 Sisältö 1 Argumentittomat proseduurit ja käyttöliittymä

Lisätiedot

Rekisteröiminen - FAQ

Rekisteröiminen - FAQ Rekisteröiminen - FAQ Miten Akun/laturin rekisteröiminen tehdään Akun/laturin rekisteröiminen tapahtuu samalla tavalla kuin nykyinen takuurekisteröityminen koneille. Nykyistä tietokantaa on muokattu niin,

Lisätiedot

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

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

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 29.3.2016 CSE-A1200 Tietokannat 29.3.2016 1 / 40 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten tietokannan relaatioiden (taulujen) määrittelyt kirjoitetaan SQL:llä. Osaat

Lisätiedot

OFFICE 365 OPISKELIJOILLE

OFFICE 365 OPISKELIJOILLE OFFICE 365 OPISKELIJOILLE Table of Contents Articles... 3 Ohjeet Office 365 käyttöönottoon... 4 One Driveen tallennetun videon palauttaminen oppimisympäristön palautuskansioon... 5 Changing default language

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

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

Täysautomatisoitu raportointiympäristö. Joni-Petteri Paavilainen Jani Alatalo

Täysautomatisoitu raportointiympäristö. Joni-Petteri Paavilainen Jani Alatalo Täysautomatisoitu raportointiympäristö Joni-Petteri Paavilainen Jani Alatalo Miksi tähän ryhdyttiin? Miten asiassa edettiin? Vaatimuksia Reaaliaikaisuus n 15 min Hallitut käyttöoikeudet Raportin tekijöillä

Lisätiedot

Luokan sisällä on lista

Luokan sisällä on lista 1 Luokan sisällä on lista Luokan sisällä lista Listan sisältävä luokka Konstruktorit get-metodi Lista muissa metodeissa addxx-metodi Yksinkertainen pääohjelma Kertauksen List-luokan metodeja 1 Luokan sisällä

Lisätiedot

LANSEERAUS LÄHESTYY AIKATAULU OMINAISUUDET. Sähköinen jäsenkortti. Yksinkertainen tapa lähettää viestejä jäsenille

LANSEERAUS LÄHESTYY AIKATAULU OMINAISUUDET. Sähköinen jäsenkortti. Yksinkertainen tapa lähettää viestejä jäsenille tiedote 2 / 9.3.2017 LANSEERAUS LÄHESTYY AIKATAULU 4.3. ebirdie-jäsenkortti esiteltiin Golfliiton 60-vuotisjuhlaseminaarissa 17.3. ebirdie tulee kaikkien ladattavaksi Golfmessuilla 17.3. klo 12:00 alkaen

Lisätiedot

Ohjelmointi 1 C#, kevät 2013, 2. tentti

Ohjelmointi 1 C#, kevät 2013, 2. tentti ITKP102 Ohjelmointi 1 C# 15.5.2013 1 / 6 Ohjelmointi 1 C#, kevät 2013, 2. tentti Tentaattori Antti-Jussi Lakanen Tässä tentissä saa olla mukana omia muistiinpanoja yhden arkin verran. Tentin valvojalla

Lisätiedot

16. Allocation Models

16. Allocation Models 16. Allocation Models Juha Saloheimo 17.1.27 S steemianalsin Optimointiopin seminaari - Sks 27 Content Introduction Overall Efficienc with common prices and costs Cost Efficienc S steemianalsin Revenue

Lisätiedot

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä

Lisätiedot

9/11/2015 MOBILITY TOOL+ ERASMUS+ Learning Mobility of Individuals. M a n a g e m e n t. I s s u e. T o o l

9/11/2015 MOBILITY TOOL+ ERASMUS+ Learning Mobility of Individuals. M a n a g e m e n t. I s s u e. T o o l MOBILITY TOOL+ ERASMUS+ Learning Mobility of Individuals I s s u e M a n a g e m e n t T o o l 1 ECAS -tili ja uuden käyttäjän lisääminen alustalle Henkilökohtainen ECAS -tili hankitaan jo hankeen hakuvaiheessa

Lisätiedot

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia Tällä viikolla Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia 1.) Mainitse tietokonepelistä (kuvitteellisesta tai todellisesta) esimerkkitilanteita,

Lisätiedot

koodipolku iteraation muokkauksessa Dokumentti: koodipolkuesimerkki.doc Päiväys: Projekti : AgileElephant

koodipolku iteraation muokkauksessa Dokumentti: koodipolkuesimerkki.doc Päiväys: Projekti : AgileElephant AgilElephant Koodipolku iteraation muokkauksessa Tekijä: Pauli Vesterinen Omistaja: ElectricSeven Aihe: Koodipolku iteraation muokkauksessa Sivu 1 of 15 Dokumentti Historia Muutoshistoria Revision Numero

Lisätiedot

Metodien tekeminen Javalla

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

Lisätiedot

JULKAISUJÄRJESTELMÄ MARKKINOINTISIVUN TOTEUTUKSESSA

JULKAISUJÄRJESTELMÄ MARKKINOINTISIVUN TOTEUTUKSESSA JULKAISUJÄRJESTELMÄ MARKKINOINTISIVUN TOTEUTUKSESSA Pekka Suopellonmäki Opinnäytetyö Toukokuu 2011 Mediatekniikka Tekniikan ja liikenteen ala OPINNÄYTETYÖN KUVAILULEHTI Tekijä(t) SUOPELLONMÄKI, Pekka Julkaisun

Lisätiedot

Mikä yhteyssuhde on?

Mikä yhteyssuhde on? 1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String

Lisätiedot

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot) SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos 1 Insert lauseella on kaksi muotoa: insert

Lisätiedot

Listarakenne (ArrayList-luokka)

Listarakenne (ArrayList-luokka) Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen

Lisätiedot

ICT1TN004. Lomakkeet. Heikki Hietala

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

Lisätiedot