<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>http://www.lambda.ee/w/index.php?action=history&amp;feed=atom&amp;title=V%C3%B5rgurakendused_I_2012</id>
	<title>Võrgurakendused I 2012 - Redigeerimiste ajalugu</title>
	<link rel="self" type="application/atom+xml" href="http://www.lambda.ee/w/index.php?action=history&amp;feed=atom&amp;title=V%C3%B5rgurakendused_I_2012"/>
	<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=V%C3%B5rgurakendused_I_2012&amp;action=history"/>
	<updated>2026-10-28T11:50:36Z</updated>
	<subtitle>Selle lehekülje redigeerimiste ajalugu</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=V%C3%B5rgurakendused_I_2012&amp;diff=10300&amp;oldid=prev</id>
		<title>Tammet: Uus lehekülg: &#039;&lt;table&gt; &lt;tr&gt; &lt;td&gt; mootor &lt;/td&gt; &lt;td&gt; Ainekood: ITV0110&lt;br&gt; Link: http://www.lambda.ee/index.php/V%C3%B5rgurakendused_I ehk http://www.lambda.ee/index/itv0...&#039;</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=V%C3%B5rgurakendused_I_2012&amp;diff=10300&amp;oldid=prev"/>
		<updated>2013-09-02T00:37:26Z</updated>

		<summary type="html">&lt;p&gt;Uus lehekülg: &amp;#039;&amp;lt;table&amp;gt; &amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; &lt;a href=&quot;/wiki/Fail:Engine.jpg&quot; title=&quot;Fail:Engine.jpg&quot;&gt;left|mootor&lt;/a&gt; &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Ainekood: ITV0110&amp;lt;br&amp;gt; Link: http://www.lambda.ee/index.php/V%C3%B5rgurakendused_I ehk http://www.lambda.ee/index/itv0...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uus lehekülg&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[[Pilt:Engine.jpg|left|mootor]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITV0110&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/V%C3%B5rgurakendused_I ehk http://www.lambda.ee/index/itv0110&amp;lt;br&amp;gt;&lt;br /&gt;
Punkte: 3.5 AP ehk 5 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
Lektor: [http://tanel.tammet.googlepages.com Tanel Tammet]&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: tammet@staff.ttu.ee, 6203457, TTÜ AK223&amp;lt;br&amp;gt;&lt;br /&gt;
olemas on ka  [[Võrgurakendused_I 2011| 2011 aasta arhiiv]] koos kõigi eelmise aasta materjalidega.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; See leht on varemloetud kursuse arhiiv, siin ei ole värsket informatsiooni! Otsi üles kursuse hetkel aktiivne leht. &amp;lt;/font&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Järeltöö kevadel&amp;lt;/font&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Kevadine järeltöö toimub kolmapäeval, 5. juunil kell 10:00 ruumis X-210 (majanduse maja).&lt;br /&gt;
&lt;br /&gt;
== Kursuse tulemused ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Itv0110_2012.pdf|Tulemused kontrolltööde järel]]&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö on rehkendatud ümber 40 punkti skaalale.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Itv0110_2012.pdf&lt;br /&gt;
&lt;br /&gt;
Siin on 2012 praktikumide tulemused aasta lõpu seisuga:&lt;br /&gt;
&lt;br /&gt;
[[Media:Itv0110_prax_2012.pdf‎|Praktikumi tulemuste pdf]]&lt;br /&gt;
&lt;br /&gt;
Kontrolltööle pääsemiseks peab üldjuhul olema kõigi nelja praktikumi eest saadud punkte üle nulli. Kogusummat kasutatakse hinde arvestamise 60% osana, kuhu lisanduvad kontrolltööst maksimaalselt 40 punkti.&lt;br /&gt;
&lt;br /&gt;
Erandid:&lt;br /&gt;
* Kaugõppijad võivad esitada viimast praksi kohe kontrolltöö järel.&lt;br /&gt;
* Eelmisel aastal esimesed praksid esitanud tudengid ei pea neid juba arvestatuid sel aastal enam esitama.&lt;br /&gt;
* Kes on mõnda oma tööd esitanud, kuid oli probleeme näiteks arusaamisega, võib selgitada (või parem, esitada uue töö) kohe kontrolltöö järel. Kui sinu rea viimases tulbas on tärn * siis on tegu just selle juhtumiga.&lt;br /&gt;
&lt;br /&gt;
Kontrolli palun oma tulemused üle! Kui leiad, et sinu tulemuste arvestamisel on tehtud viga (eeskätt, kui sul on mõne praksi eest 0 punkti, kuid peaks olema positiivne skoor) siis ei ole välistatud, et tegu on andmete koondamisel tehtud näpuveaga. Sel juhul kirjuta kindlasti õppejõule (tanel.tammet@ttu.ee) ja selgita võimalikult täpselt asjaolusid: mis praks on tegelikult esitatud, kellele, umbes millal, kas terve/pool tööd, samuti lisa oma kood ja täisnimi.&lt;br /&gt;
&lt;br /&gt;
Kui oled osad praksid esitanud eelmisel aastal, siis saada samuti kiri: mis praksid, kellele, lisa oma kood ja täisnimi. Siis saab õppejõud varakult järgi kontrollida, et on jah eelmisest aastast sellised andmed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NB! Kui sa oled esitanud ja saanud arvestatud vähemalt kaks tööd&amp;lt;/b&amp;gt;, siis on sul võimalus esitada ülejäänud tööd mais 2013 ja teha järelkontrolltöö.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Kontrolltöö&amp;lt;/font&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö annab kuni 40 punkti ja sellel osalemine on kohustuslik. Kontrolltöö esitamise eeltingimuseks on, et kõik praktikumitööd on esitatud (vaata ka praktikumide tulemusi ja erandeid siin ülal).&lt;br /&gt;
&lt;br /&gt;
Sessi sees on kolm kontrolltööaega, vali neist üks:&lt;br /&gt;
&lt;br /&gt;
* Laupäev 5. jaanuar kell 12 ruumis VII-131&lt;br /&gt;
* Reede 11 jaanuar kell 14 ruumis VI-201&lt;br /&gt;
* Reede 18 jaanuar kell 14 ruumis X-209&lt;br /&gt;
&lt;br /&gt;
[[Media:Vorgurak1_kntrltoonaide.pdf‎|Kontrolltöö näide varasemast aastast]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NB!&amp;lt;/b&amp;gt; Kui sa oled esitanud ja saanud arvestatud vähemalt kaks tööd, siis on sul võimalus esitada ülejäänud tööd mais 2013 ja teha järelkontrolltöö.&lt;br /&gt;
&lt;br /&gt;
== Aeg, koht, tulemus ==&lt;br /&gt;
&lt;br /&gt;
Loenguid nädalas: 2 tundi (üks loeng) neljapäeviti 12:00-13:30 ruumis IV-103&lt;br /&gt;
&lt;br /&gt;
Praktikume nädalas: 2 tundi (üks praktikum). Kui pole teisiti märgitud, toimuvad praktikumid:&lt;br /&gt;
* teisipäeval 10:00-11:30 ruumides  IT-213A,  IT-213B,  IT-213E rühmadele  IABB31,  IABB32,  IAPB31&lt;br /&gt;
* teisipäeval 14:00-15:30 ruumides IT-213A,  IT-213B  rühmadele	 IAPB32,  IAPB33&lt;br /&gt;
* kolmapäeval 14.00-15:30 ruumis IT-213D rühmadele  IABB37,  IAPB37,  IAPB38&lt;br /&gt;
&lt;br /&gt;
Kursus lõpeb hindelise arvestusega. Hinne sõltub kursuse jooksul tehtud praktikumide tulemustest (60%) pluss kursuse lõpus toimuva kontrolltöö tulemustest (40%).&lt;br /&gt;
&lt;br /&gt;
== Kursuse eesmärk ==&lt;br /&gt;
&lt;br /&gt;
Lihtsamate veebirakenduste põhimõtted ja nende kirjutamise oskus nii brauseri kui serveri poolel. Konkreetsemalt: &lt;br /&gt;
* html-i kirjutamise oskus, esmane tutvus CSS-i ja javascriptiga. &lt;br /&gt;
* serveripoolse rakenduse kirjutamise põhimõtted, cgi protokoll, erinevate keelte (sh shell, C, php, python, java, javascript) kasutamise sissejuhatus serverirakendustes.&lt;br /&gt;
* pythoni ja php kasutamise esmased oskused.&lt;br /&gt;
* lihtsamad SQLi kasutamise oskused.&lt;br /&gt;
&lt;br /&gt;
Kursusel eeldatakse elementaarsete programmeerimisoskuste olemasolu. Kes programmeerimisega üldse kokku puutunud ei ole või seda paralleelselt ei õpi, ei suuda kursust läbida.&lt;br /&gt;
&lt;br /&gt;
== Praktilised tööd ==&lt;br /&gt;
&lt;br /&gt;
Kursusel on neli kohustuslikku praktilist ẗööd. Iga töö annab 0-15 punkti. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Hilinenud tööd annavad poole punktidest.&amp;lt;/font&amp;gt; Töid võib (ja on soovitav) esitada enne tähtaega.&lt;br /&gt;
&lt;br /&gt;
Kõik tööd tuleb esitada ise TTÜ arvutiklassis: emailiga saadetud töid ei arvestata. Kasutada võib nii klassi arvuteid kui oma arvutit, brauser ja operatsioonisüsteem on vabalt valitavad. Serverirakenduste tööde jaoks on võimalik kasutada ülikooli serverit, soovi korral ka oma serverit.&lt;br /&gt;
 &lt;br /&gt;
* [[ITV0110 1. töö: Html põhioskused|Html põhioskused]]. Tähtaeg 18/19. september. Kaugõppe tähtaeg 21. sept.&lt;br /&gt;
* [[ITV0110 2. töö: CSS, javascript, veebiserver|CSS, javascript, veebiserver]]. Tähtaeg 16/17. oktoober. Kaugõppe tähtaeg 3. november.&lt;br /&gt;
* [[ITV0110 3. töö: Serverirakendus: cgi pythonis]]. Tähtaeg 20/21 november. Kaugõppe tähtaeg 1. detsember.&lt;br /&gt;
* [[ITV0110 4. töö: Andmebaasiga serverirakendus php-s|Andmebaasiga serverirakendus php-s]]. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;See on uus, 2012 aasta prax.&amp;lt;/font&amp;gt; Tähtaeg 18/19. detsember. Kaugõppe tähtaeg on kontrolltöö aeg jaanuaris.&lt;br /&gt;
&lt;br /&gt;
Kursuse edukaks läbimiseks peavad kõik praktilised tööd olema tehtud.&lt;br /&gt;
&lt;br /&gt;
Lehtede kujundamise ja stiili osas lähtu [[htmli kujunduse üldpõhimõtted| sellest juhendist]].&lt;br /&gt;
&lt;br /&gt;
== Loengute plaan ja materjalid ==&lt;br /&gt;
&lt;br /&gt;
Alltoodud teemad kaetakse igaüks ühe-kahe loenguga. Suur osa loengutest on pühendatud näidete läbitegemisele ning seletamisele, ette-programmeerimisele ja praktikumide osalisele realiseerimisele.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; HTML põhioskused&lt;br /&gt;
&lt;br /&gt;
Taustaks tasub&lt;br /&gt;
* meelde tuletada interneti baastehnoloogia IT sissejuhatusest: [[Media:Itsissejuhatus10o08.pdf|Itsissejuhatus10o08.pdf]].&lt;br /&gt;
Loe ja proovi läbi (st vaja põhimõtted selgeks õppida):&lt;br /&gt;
* [http://www.w3schools.com/html/default.asp w3schools html tutorial basic blokk].&lt;br /&gt;
Loe enne või sama-aegselt lisaks läbi ka&lt;br /&gt;
* [http://www.w3.org/MarkUp/Guide/ Raggetti vanaaegne mikrotutorial  algajatele] ja selle [http://www.w3.org/MarkUp/Guide/Advanced.html teine osa]&lt;br /&gt;
* Hea eestikeelne sissejuhatus [http://akadeemia.kakupesa.net/arhiiv/VR1/loengud/loeng3 Kaido Kikkaselt (html)]  &lt;br /&gt;
Keerulisemat: &lt;br /&gt;
* [http://www.w3.org/TR/1999/REC-html401-19991224/ vana, siiani ametlik w3c standard]&lt;br /&gt;
* [http://www.w3.org/TR/html401/struct/tables.html tabelite osa ametlikust 4.01 standardist]&lt;br /&gt;
* [http://www.w3schools.com/tags/ref_entities.asp html entities osa1] ja [http://www.w3schools.com/tags/ref_symbols.asp osa2] ja [http://en.wikipedia.org/wiki/UTF-8 utf-8] ja [http://en.wikipedia.org/wiki/Character_encodings_in_HTML charseti seadmine]&lt;br /&gt;
* [http://hsivonen.iki.fi/doctype/ !DOCTYPE prefix] ja html vanade versioonide kuvamine&lt;br /&gt;
* html 5: [http://dev.w3.org/html5/spec/single-page.html w3c pooleli html 5] ja [http://www.whatwg.org/specs/web-apps/current-work/multipage/ whatwg living html 5] ja [http://www.w3schools.com/html5/default.asp w3schools tutorial]&lt;br /&gt;
* Kasulik tagide nimistu: [http://joshduck.com/periodic-table.html html 5 elementide perioodiline tabel]&lt;br /&gt;
* [http://www.w3schools.com/html/html_xhtml.asp html and xhtml] ja [http://en.wikipedia.org/wiki/HTML5 html 5] ja [http://techcrunch.com/2012/07/22/html5-work-splits-into-living-and-snapshot-standards-developers-need-not-standard/ html 5 split] ja [http://developers.slashdot.org/story/12/07/21/2040257/html5-splits-into-two-standards slashdot take] ja [http://coding.smashingmagazine.com/2009/07/29/misunderstanding-markup-xhtml-2-comic-strip/ kogu teema kokkuvõtlikult] ja [http://xkcd.com/927/ veel lühemalt]&lt;br /&gt;
* klassikaline salvestamine: [http://en.wikipedia.org/wiki/HTTP_cookie cookie] tutorial [http://www.w3schools.com/js/js_cookies.asp javascriptis]&lt;br /&gt;
* html 5 web storage [http://dev-test.nemikor.com/web-storage/support-test/ support]&lt;br /&gt;
* html 5 indexed db [http://en.wikipedia.org/wiki/Indexed_Database_API lühidalt], [http://caniuse.com/indexeddb support] ja [http://www.html5rocks.com/en/tutorials/webdatabase/websql-indexeddb/ kuidas kasutada] ja [http://www.html5rocks.com/en/tutorials/indexeddb/todo/ tutorial]&lt;br /&gt;
* html 5 [http://en.wikipedia.org/wiki/Canvas_element canvas]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; CSSi põhioskused&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lugeda ja proovida läbi (st vaja põhimõtted selgeks õppida):&lt;br /&gt;
* [http://www.w3.org/MarkUp/Guide/Style.html First CSS intro]&lt;br /&gt;
* [http://www.w3schools.com/css/ w3schools&amp;#039;i css tutorial]: : kindlasti &amp;quot;basic&amp;quot;, &amp;quot;styling&amp;quot; ja &amp;quot;box&amp;quot; blokid, huvi korral loe edasi (advanced jne) ka, kuid need viimased ei ole üleni kohustuslikud, välja arvatud järgmised eriti olulised osad advanced blokist:&lt;br /&gt;
** [http://www.w3schools.com/css/css_display_visibility.asp display and visibility]&lt;br /&gt;
** [http://www.w3schools.com/css/css_positioning.asp positioning]&lt;br /&gt;
** [http://www.w3schools.com/css/css_float.asp float]&lt;br /&gt;
** [http://www.w3schools.com/css/css_image_sprites.asp image sprites]: see on oluline praktikumitöös&lt;br /&gt;
* Väga kasulik abimaterjal on w3schoolsi [http://www.w3schools.com/cssref/default.asp  css reference]&lt;br /&gt;
Abiks on tutvuda heade tutorialidega järgmistel teemadel:&lt;br /&gt;
* [http://www.thesitewizard.com/css/center-div-block.shtml centering div]&lt;br /&gt;
* [http://css.maxdesign.com.au/listamatic/  listikasutus] ja sealtsamast [http://css.maxdesign.com.au/listutorial/index.htm listikasutuse tutorialid]&lt;br /&gt;
* [http://css.maxdesign.com.au/floatutorial/  floats]&lt;br /&gt;
* [http://robertnyman.com/2010/02/24/css-display-inline-block-why-it-rocks-and-why-it-sucks/ inline block]&lt;br /&gt;
* [http://www.css3.info/preview/box-shadow/ css shadow]&lt;br /&gt;
* [http://webdesignerwall.com/tutorials/cross-browser-css-gradient css gradiendid]&lt;br /&gt;
Häid praktilisi soovitusi kujundusest css-ga:&lt;br /&gt;
* [http://webdesignerwall.com/tutorials/css3-gradient-buttons css nupud] ja [http://www.webdesignerwall.com/demo/css-buttons.html nupukataloog] ja [http://css-tricks.com/examples/ButtonMaker/# nuputegija1] ja [http://www.cssbuttongenerator.com/ nuputegija2]&lt;br /&gt;
* [http://smashinghub.com/9-amazing-css-rules-that-save-designers-and-developers.htm rounded corners, shadow, gradient fill jne]&lt;br /&gt;
* [http://www.script-tutorials.com/css3-metal-menu-with-icons/ multilevel metal menu with icons] pluss html/css alt muid häid css3 õpetusi&lt;br /&gt;
* [http://informationarchitects.net/blog/the-web-is-all-about-typography-period/ puhtast tüpograafia-kujundusest]&lt;br /&gt;
Vingeid graafilisi canvas+webgl asju:&lt;br /&gt;
* [http://www.clicktorelease.com/code/streetViewReflectionMapping/#59.4369400264884,24.743906027972344 street view + knot] &lt;br /&gt;
* [http://alteredqualia.com/three/examples/webgl_materials_skin.html pea]&lt;br /&gt;
* [http://robchadwick.com/TerrainEditor/ terrain editor]&lt;br /&gt;
CSS mobiilile:&lt;br /&gt;
* [http://www.seabreezecomputers.com/tips/mobile-css.htm sissejuhatavaid punkte ja olulist]&lt;br /&gt;
* [http://www.javascriptkit.com/dhtmltutors/cssmediaqueries.shtml css-i valik mobiilile] ja [http://css-tricks.com/snippets/css/media-queries-for-standard-devices/ sama teema selgitusteta]&lt;br /&gt;
* [http://webdesignerwall.com/tutorials/mobile-navigation-design-tutorial navigeerimine ja menüüd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Javascripti põhioskused&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kaks loengut: (a) sissejuhatus (b) reaalne kasutamine brauseris (html ja css muutmine, evendid jne)&lt;br /&gt;
&lt;br /&gt;
Vaata soenduseks/demoks [http://www.chromeexperiments.com/ Google kogutud näiteid].&lt;br /&gt;
&lt;br /&gt;
Seejärel loe läbi ja proovi järgi selles järjekorras:&lt;br /&gt;
* [http://en.wikipedia.org/wiki/JavaScript Wikipedia javascripti üldartikkel]: ülevaade, ajalugu jne. Keelt siit ei õpi!&lt;br /&gt;
* [http://www.w3schools.com/js/default.asp W3schools javascripti sissejuhatus]: JS Basic ja JS Objects osad. Mõned asjad jäävad siin veidi ebaselgeks!&lt;br /&gt;
* [http://en.wikipedia.org/wiki/JavaScript_syntax Wikipedia Javascripti keele kiirõpetus]: loe ja proovi paralleelselt w3schools-ga. Siit saab mõned asjad selgemaks kui ainult w3schoolsist.&lt;br /&gt;
&lt;br /&gt;
NB! Selle tulemusena on sul baasettekujutus javascripti keelest, aga mitte reaalsest kasutusest (seda vaatame järgmises loengus).&lt;br /&gt;
&lt;br /&gt;
Javascripti kasutamine brauseris: alustuseks on hea vaadata põhjalikku näidete loetelu&lt;br /&gt;
&lt;br /&gt;
* [http://www.w3schools.com/js/js_ex_dom.asp html dom objektid]: põhiasjad&lt;br /&gt;
* [http://www.tizag.com/javascriptT/javascriptform.php form validation]: klassikaline rakendus&lt;br /&gt;
* [http://www.w3schools.com/js/js_ex_browser.asp brauseriobjektid]: vahel kah kasulikud&lt;br /&gt;
&lt;br /&gt;
ja tingimata lugeda sinna juurde teegijuhendeid:&lt;br /&gt;
&lt;br /&gt;
* [http://www.w3schools.com/jsref/dom_obj_all.asp  html dom ülevaadet]&lt;br /&gt;
* [http://www.w3schools.com/jsref/dom_obj_event.asp html events ülevaadet]&lt;br /&gt;
* [http://www.w3schools.com/jsref/dom_obj_style.asp style lugemine/muutmine js-s: hädavajalik reference]&lt;br /&gt;
&lt;br /&gt;
Javascripti ja css-i teegid: uurime veidi kõige populaarsemaid teeke&lt;br /&gt;
&lt;br /&gt;
* [http://w3techs.com/technologies/overview/javascript_library/all populaarsed teegid] &lt;br /&gt;
* [http://www.jquery.com jquery] javascripti teek&lt;br /&gt;
* [http://twitter.github.com/bootstrap/ twitter bootstrap] css + javascript, widgetid jne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Praktilist teisest praktikumist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kuidas ja kuhu faile serverisse üles laadida jms: loe [[ITV0110 2. töö: CSS, javascript, veebiserver| teise praktikumi materjalidest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Cgi töötlemine eri keeltes (C, python, bash, java, ...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kõigepealt loe ja proovi tingimata ise läbi teha: [[pythoni cgi-d dijkstra serveris: kiire sissejuhatus]]&lt;br /&gt;
&lt;br /&gt;
Seejärel vaata [[cgi examples|hulka näiteid]], mille täpsem seletus antakse loengus.&lt;br /&gt;
&lt;br /&gt;
Tutvu linuxi shelli elementaarsete käskudega [http://www.freesoftwaremagazine.com/articles/command_line_intro siit alustades] ja [http://www.tuxfiles.org/linuxhelp/linuxcommands.html sellest lühiõpetusest jätkates.] Iga käsu juures on abiks man, näiteks &amp;lt;tt&amp;gt;man ls&amp;lt;/tt&amp;gt;. Huvi korral googelda lisaks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Seejärel loe neid materjale CGI protokollist ja CGI programmidest serveris:&lt;br /&gt;
&lt;br /&gt;
* [http://www.jmarshall.com/easy/cgi/ lihtne sissejuhatus cgi-desse]&lt;br /&gt;
* [[Media:cgi.pdf|cgi.pdf: detailsem juhend]]&lt;br /&gt;
* [http://www.cs.tut.fi/~jkorpela/forms/cgic.html cgi C keeles]&lt;br /&gt;
* Pythonis cgi programmeerimise tutoriali [http://www.tutorialspoint.com/python/python_cgi_programming.htm leiad siit]&lt;br /&gt;
* [http://webpython.codepoint.net/cgi_tutorial cgi Pythonis]&lt;br /&gt;
* [http://www.yolinux.com/TUTORIALS/BashShellCgi.html cgi Bashis]&lt;br /&gt;
&lt;br /&gt;
ning siis vaata lisaks loengus tehtud/proovitud [[lihtsaid cgi programminäiteid]] eri keeltes.&lt;br /&gt;
&lt;br /&gt;
Cgi jaoks on olemas ka nö [http://www.rfc-editor.org/rfc/rfc3875.txt rfc-standard], mille lugemine on aga pisut vaevarikas (nagu enamikel standarditel) ja üldjuhul on praktilisem lugeda hoopis ülaltoodud õpetusi ja vaadata&lt;br /&gt;
näiteid. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Python ja näiteid kasutamisest serverirakendustes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tutvumine kolmanda praktikumiga: [[ITV0110 3. töö: Serverirakendus: cgi pythonis]]. Praksi jaoks vajaliku koodi kirjutamise harjutamine (loengus etteprogrammeerimine).&lt;br /&gt;
&lt;br /&gt;
Sealt leiad ka soovitused esmatutvuseks Pythoniga (praktikumi jaoks piisab kõige lihtsamatest Pythoni konstruktsioonidest ja cgi teegist, keerukamaid asju pole otseselt vaja):&lt;br /&gt;
&lt;br /&gt;
* loe [http://docs.python.org/tutorial/ tutoriali] algust (keerulised andmestruktuurid, moodulite ja klasside värgi võid esialgu lugemata jätta) &lt;br /&gt;
* hea lihtne variant alguseks on [http://www.cs.virginia.edu/~lab2q/lesson_1/ see tutorial]&lt;br /&gt;
* hea tutorial [http://www.tutorialspoint.com/python/python_cgi_programming.htm cgi programmide kohta pythonis]&lt;br /&gt;
* lisaks [http://docs.python.org/library/cgi.html cgi teegi õpetust].&lt;br /&gt;
&lt;br /&gt;
Hea mõte on paralleelselt teha lahti Pythoni interpretaator ja katsetada kõrvale asju otse Pythoni käsureal. Kui su masinas Pythonit pole, siis installeeri! Kasulikke asju lisaks:&lt;br /&gt;
&lt;br /&gt;
* [http://docs.python.org/library/index.html#library-index teegi dokumentatsioonis].&lt;br /&gt;
* [[Kasulikke pythoni näitejuppe cgi jaoks]]&lt;br /&gt;
* [http://www.makotemplates.org/ mako templates:] katsetame neid veidi loengus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Ajax ehk serveriga andmevahetus otse javascriptist&lt;br /&gt;
&lt;br /&gt;
* Loe seotud tehnoloogiatest: [http://en.wikipedia.org/wiki/Ajax_%28programming%29 wikipedia ajax], [http://en.wikipedia.org/wiki/XMLHttpRequest wikipedia xmlhttprequest], [http://en.wikipedia.org/wiki/JSON wikipedia json]&lt;br /&gt;
* [[xmlhttprequest ja jsonile rakendatud eval näited]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Veebiserveri ehitusest ja konfigureerimisest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tutvu või tuleta meelde http protokolli põhimõtteid:&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol http wikipedias]&lt;br /&gt;
* [http://www.jmarshall.com/easy/http/ veel http-st]&lt;br /&gt;
* [http://www.factini.com/c/httpViewer/ headerite jms vaatamise veebiabivahend]&lt;br /&gt;
&lt;br /&gt;
Veebiserverist paremaks arusaamiseks tasub veidi eksperimenteerida [[Media:Itsissejuhatus_tiny.zip|pisikese veebiserveriga]].&lt;br /&gt;
&lt;br /&gt;
Enimkasutatav veebiserver Apache:&lt;br /&gt;
&lt;br /&gt;
* [http://httpd.apache.org/ apache oma koduleht]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Apache_HTTP_Server wikipedia apachest]&lt;br /&gt;
* [http://news.netcraft.com/archives/category/web-server-survey/ veebiserverite kasutusstatistikat]&lt;br /&gt;
&lt;br /&gt;
Apache konfigureerimisest:&lt;br /&gt;
&lt;br /&gt;
* [http://www.jlk.net/apache/beginners.shtml sissejuhatus algajatele]&lt;br /&gt;
* [http://httpd.apache.org/docs/2.2/ ametlik juhend]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Serverirakendused PHP-s, näited&lt;br /&gt;
&lt;br /&gt;
* Väikese ajaloolise ülevaate leiad [http://en.wikipedia.org/wiki/PHP wikipeediast]&lt;br /&gt;
* Põhiõpetus on [http://www.php.net/manual/en/ php oma saidil]: loe sealt kõigepealt [http://www.php.net/manual/en/tutorial.php sissejuhatavat tutoriali]&lt;br /&gt;
* [http://w3schools.com/php/default.asp W3school-si php tutorial] on samuti päris OK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; SQL &lt;br /&gt;
&lt;br /&gt;
Loe selles järjekorras:&lt;br /&gt;
&lt;br /&gt;
* [http://web.njit.edu/~song/courses/is698/SQL_tutorials.ppt hea esimene sissejuhatus]&lt;br /&gt;
* [http://www.w3schools.com/sql/default.asp w3schools&amp;#039;i tutorial]&lt;br /&gt;
* [http://dev.mysql.com/doc/refman/5.0/en/tutorial.html mysql esmane tutorial] ja [http://dev.mysql.com/doc/refman/5.0/en/index.html mysql manuaal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; SQL serverirakendustes&lt;br /&gt;
&lt;br /&gt;
* Vaata [[lihtsaid php ja mysql näiteid]] loengust.&lt;br /&gt;
* [http://dmsa.concordia.ca/tutorial_files/shortsql.ppt mysql PHP-s: ppt] &lt;br /&gt;
* [http://www.tizag.com/mysqlTutorial/ mysql PHP-s: veebitutorial]&lt;br /&gt;
* [http://blogs.techrepublic.com.com/security/?p=2368 SQL injection] vt ka [http://lh6.ggpht.com/_5YF7KQZuZS0/S6dvFXu5OoI/AAAAAAAACWM/qTcVpMxcDnA/licence%20plate%20camera%20sql%20injection_2%5B3%5D.jpg?imgmax=800 seda] ja [http://www.schneier.com/blog/archives/2010/10/pen-and-paper_s.html seda] ja [http://alicebobandmallory.com/articles/2010/09/23/did-little-bobby-tables-migrate-to-sweden seda]&lt;br /&gt;
* [http://www.w3schools.com/php/default.asp w3schools PHP tutorial all vasakul Mysql blokk]&lt;br /&gt;
* [[Vorgurakendused 1 SQL naited loengust]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Sessioonid, cookied, sisselogimine, autentimine, web storage&lt;br /&gt;
&lt;br /&gt;
Mõned lingid:&lt;br /&gt;
&lt;br /&gt;
* basic authentication [http://en.wikipedia.org/wiki/Basic_access_authentication wikipedias], [http://httpd.apache.org/docs/2.0/howto/auth.html apache manuaalis] ja [[basic authentication näited]]&lt;br /&gt;
* cookie [http://en.wikipedia.org/wiki/HTTP_cookie wikipedias], php cookie handling [http://w3schools.com/PHP/php_cookies.asp w3schools-st] ja [http://www.php.net/manual/en/function.setcookie.php php manuaalist]&lt;br /&gt;
* [http://oreilly.com/catalog/webdbapps/chapter/ch08.html ok sessiooniõpetus]&lt;br /&gt;
* php sessioonihandling [http://w3schools.com/PHP/php_sessions.asp w3schools] ja siit [http://ee.php.net/manual/en/book.session.php php mahukas sessiooni-manuaal] ja siit [http://www.tizag.com/phpT/phpsessions.php eraldi tutorial]&lt;br /&gt;
* väike [http://www.secologic.org/downloads/web/051123_eurosec_course_material_on_web_application_session_management.ppt ok sessioonihalduse tutorial]&lt;br /&gt;
* [[autentimise näide php sessiooniga]]&lt;br /&gt;
* [http://www.w3schools.com/html/html5_webstorage.asp Web storage]: HTML5 parem ja lihtne alternatiiv cookiedele. Vaata kindlasti ka muid [http://www.html5rocks.com/en/tutorials/offline/storage/ HTML5 data-salvestus-mehhanisme], [http://www.html5rocks.com/en/tutorials/appcache/beginner/ HTML5 application cache] ja [http://diveintohtml5.info/storage.html seda detailsemat täiendavat juttu].&lt;br /&gt;
&lt;br /&gt;
== Vajalikud tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Oma arvutiga töö tegemiseks peab seal olema vähemalt&lt;br /&gt;
&lt;br /&gt;
* [http://notepad-plus-plus.org/ Notepad++] või [http://www.scintilla.org/SciTE.html scite]&lt;br /&gt;
* [http://www.mozilla.com Mozilla Firefox] või [https://www.google.com/intl/en/chrome/browser/ Google Chrome]&lt;br /&gt;
* [http://www.mozilla.com Mozilla Firefoxi] kasutades installi endale [https://getfirebug.com/ firebug] plugin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Veel lugemiseks ==&lt;br /&gt;
&lt;br /&gt;
Üldist:&lt;br /&gt;
&lt;br /&gt;
* [http://www.w3schools.com/ Mitu head tutoriali eri teemadel]&lt;br /&gt;
* [http://www.websitetips.com/ suur kogu häid tutoriale, artikleid ja soovitusi]&lt;br /&gt;
* Lisamaterjale kursusest [[Kasutajaliidesed võrgutehnoloogia baasil]]&lt;br /&gt;
&lt;br /&gt;
HTML:&lt;br /&gt;
&lt;br /&gt;
* [http://www.w3.org/MarkUp/Guide/ Raggetti tutorial  algajatele]&lt;br /&gt;
* [http://akadeemia.kakupesa.net/arhiiv/VR1/loengud/loeng3 Kaido Kikkase hea eestikeelne sissejuhatus] &lt;br /&gt;
* [http://innar.li.ttu.ee/failid/VR_2006.pdf Innar Liivi hea eestikeelne sissejuhatus] &lt;br /&gt;
* [http://www.w3schools.com/html/ w3schools&amp;#039;i põhjalik html tutorial]&lt;br /&gt;
* [http://joshduck.com/periodic-table.html tore tagide nimistu]&lt;br /&gt;
* [http://www.w3.org/TR/html4/ HTML 4.01 ametlik standard]&lt;br /&gt;
* [http://www.w3.org/TR/html5/ HTML 5.0 ametlik draft]&lt;br /&gt;
&lt;br /&gt;
HTML+CSS+Javascript:&lt;br /&gt;
&lt;br /&gt;
* [http://www.w3.org/MarkUp/Guide/Style.html First CSS intro]&lt;br /&gt;
* [http://www.w3schools.com/css/ w3schools&amp;#039;i css tutorial]&lt;br /&gt;
* [http://www.w3schools.com/js/ w3schools&amp;#039;i javascripti tutorial]&lt;br /&gt;
&amp;lt;!-- * [http://www.somacon.com/p141.php Asjalik &amp;quot;wizard&amp;quot; tabelite kujundamiseks] --&amp;gt;&lt;br /&gt;
* [http://www.maxdesign.com.au/articles/liquid/ liquid layouts]&lt;br /&gt;
* [http://www.alistapart.com/  A list apart]&lt;br /&gt;
* [http://css.maxdesign.com.au/listamatic/  listikasutus]&lt;br /&gt;
* Javascript, mashup ja ühe-lehe-sait sightsmap: http://www.sightsmap.com/&lt;br /&gt;
&lt;br /&gt;
HTTP &lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol http wikipedias]&lt;br /&gt;
* http://www.jmarshall.com/easy/http/&lt;br /&gt;
* [http://www.w3.org/Protocols/HTTP/AsImplemented.html T. Berners-Lee leiutatud esimene HTTP spec]&lt;br /&gt;
* [http://www.garshol.priv.no/download/text/http-tut.html hea väike HTTP ja CGI tutorial]&lt;br /&gt;
* [http://www.factini.com/c/httpViewer/ headerite jms vaatamise veebiabivahend]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CGI programmid serveris&lt;br /&gt;
&lt;br /&gt;
* [http://www.jmarshall.com/easy/cgi/ lihtne sissejuhatus cgi-desse]&lt;br /&gt;
* [[Media:cgi.pdf|cgi.pdf: detailsem juhend]]&lt;br /&gt;
* [http://www.whizkidtech.redprince.net/cgi-bin/tutorial cgi esmane sissejuhatus Bashi näidetega]&lt;br /&gt;
* [http://www.cs.tut.fi/~jkorpela/forms/cgic.html cgi C keeles]&lt;br /&gt;
* [http://webpython.codepoint.net/cgi_tutorial cgi Pythonis]&lt;br /&gt;
* [http://www.yolinux.com/TUTORIALS/BashShellCgi.html cgi Bashis]&lt;br /&gt;
* [[Media:Itsissejuhatus_tiny.zip|Tiny www server]] ja [[lihtsaid cgi programminäiteid]]&lt;br /&gt;
&lt;br /&gt;
PHP ja MySQL&lt;br /&gt;
&lt;br /&gt;
* http://www.php.net/ sh http://www.php.net/tut.php või http://www.php.net/manual/en/tutorial.php&lt;br /&gt;
* http://www.mysql.org, alustuseks http://dev.mysql.com/doc/refman/5.1/en/tutorial.html&lt;br /&gt;
* [[ajut22]]&lt;br /&gt;
* [[ajut23]]&lt;br /&gt;
&lt;br /&gt;
Veebiserverid:&lt;br /&gt;
&lt;br /&gt;
* [[Media:Itsissejuhatus_tiny.zip|Tiny www server]] ja [[lihtsaid cgi programminäiteid]]&lt;br /&gt;
* http://www.devside.net/guides/windows/apache&lt;br /&gt;
* http://net.tutsplus.com/tutorials/php/how-to-setup-a-dedicated-web-server-for-free/&lt;br /&gt;
* http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[lisainfox]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Kursus]]&lt;/div&gt;</summary>
		<author><name>Tammet</name></author>
	</entry>
</feed>