Võrgurakendused I 2018: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
59. rida: 59. rida:
== Praktilised tööd ==
== Praktilised tööd ==


Kursusel on neli kohustuslikku praktilist ẗööd ja üks mittekohustuslik praktiline töö. Iga töö (sh mittekohustuslik töö) annab 0-12 punkti. <font color="red">Hilinenud tööd annavad poole punktidest.</font> Töid võib (ja on soovitav) esitada enne tähtaega.  
Kursusel on neli kohustuslikku praktilist ẗööd ja üks vabatahtlik praktiline töö. Iga töö annab 0-12 punkti. <font color="red">Hilinenud tööd annavad poole punktidest.</font> Töid võib (ja on soovitav) esitada enne tähtaega.  


<font color="red">NB!</font>  
<font color="red">NB!</font>  
* Kui sinu praktikum on õigeaegselt arvestatud, siis saad esitada täiendusi (näiteks kolmanda praksi teist poolt) ka hiljem, ilma pooli punkte kaotamata.
* Kui sinu praktikum on õigeaegselt arvestatud, siis saad esitada täiendusi kuni kaks nädalat peale tähtaega, ilma pooli punkte kaotamata.
* Esimest ja teist praksi saab esitada veel <font color="red">novembris</font>, aga detsembris neid enam vastu ei võeta. Kaugõppe tudengid saavad erandina esitada ka neid prakse detsembris.
* Kui sinu praktikum ei ole õigeaegselt arvestatud, siis on sul esitamiseks aega veel kolm nädalat peale tähtaega (välja arvatud neljas ja viies praks), aga selliselt hilinenud praks annab ainult pooled punktid.
* Alates kolmandast praksist saad oma tööd esitada <b>ainult</b> oma rühma praksi ajal. Kui sa ei ole üheski rühmas, siis on aeg vaba. Lihtsalt nõu ja abi saad küsida ka teistel aegadel.
* Üle kolme nädala hilinenud praks annab edukal arvestamisel ainult üheainsa punkti.
* Oma tööd saad arvestuseks esitada <b>ainult</b> oma rühma praksi ajal. Kui sa ei ole üheski rühmas, siis on aeg vaba. Lihtsalt nõu ja abi saad küsida ka teistel aegadel.


 
Kõik tööd tuleb esitada ise TTÜ arvutiklassis: emailiga saadetud töid ei vaadata. Kasutada võib nii klassi arvuteid kui oma arvutit, brauser ja operatsioonisüsteem on vabalt valitavad. Serverirakenduste tööde presenteerimiseks tuleb kasutada ülikooli serverit dijkstra.
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 presenteerimiseks tuleb kasutada ülikooli serverit dijkstra.


Ülesanded:
Ülesanded:


* [[ITV0110 1. töö: Html põhioskused|Html põhioskused]]. Tähtaeg 15-19 septembri nädal, vastavalt sinu praktikumirühmale. Detsembris seda praksi enam esitada ei saa. Kaugõppe tähtaeg 20. sept.
* [[ITV0110 1. töö: Html põhioskused|Html põhioskused]]. Tähtaeg 14-17 septembri nädal, vastavalt sinu praktikumirühmale.  
* [[ITV0110 2. töö 2014: CSS, javascript, veebiserver|CSS, javascript, veebiserver]]. Tähtaeg 6-10 oktoobri nädal, vastavalt sinu praktikumirühmale. Detsembris seda praksi enam esitada ei saa. '''Erandina need kes 28.11 praksis ennast kirja panid saavad kaitsta P. Järve juures ICT-501 5.12'''.  Kaugõppe tähtaeg on 18. oktoober.
* [[ITV0110 3. töö 2014: Serverirakendus: cgi pythonis|Serverirakendus: cgi pythonis]]. Tähtaeg 10-14 novembri nädal. Kaugõppe tähtaeg on 29. november.
* [[ITV0110 node.js töö| Serverirakendus node.js abil]]. Mittekohustuslik. Tähtaeg lükkus edasi <font color="red">1. detsembrini</font>. Kaugõppe tähtaeg on 29. november
* [[ITV0110 4. töö 2014: Andmebaasiga serverirakendus|Andmebaasiga serverirakendus php-s]].  Tähtaeg 18/19. detsember. Kaugõppe tähtaeg on kontrolltöö aeg jaanuaris.


Ainult kaugõppe jaoks eriajad detsember ja jaanuar:
Järgmised ülesanded on lihtsalt tutvumiseks, pärit 2014 aastast ja sellisena neid teha ei tule: 2015 aasta ülesanded tulevad sarnased, nende konkreetne sisu uuendatakse veidi enne eelmise ülesande tähtaja saabumist.  
* lisa-praksiaega laupäeval 13 detsembril kell 16 IT maja 4 või 5 korrusel
* detsembris võib kaugõpe esitada nii 1,2 kui 3 praksi mistahes päevastel aegadel
* jaanuaris saab kaugõpe esitada ainult 4. praksi peale kontrolltööd (kaks eri kuupäeva)


* [[ITV0110 2. töö 2014: CSS, javascript, veebiserver|CSS, javascript, veebiserver]]. Tähtaeg 12-15 oktoobri nädal, vastavalt sinu praktikumirühmale.
* [[ITV0110 3. töö 2014: Serverirakendus: cgi pythonis|Serverirakendus: cgi pythonis]]. Tähtaeg 9-12 novembri nädal, vastavalt sinu praktikumirühmale.
* [[ITV0110 4. töö 2014: Andmebaasiga serverirakendus|Andmebaasiga serverirakendus php-s]].  Tähtaeg 14-17 detsembri nädal, vastavalt sinu praktikumirühmale.
* [[ITV0110 node.js töö| Vabatahtlik prax: serverirakendus node.js abil]]. Mittekohustuslik. Tähtaeg 14-17 detsembri nädal, vastavalt sinu praktikumirühmale.


<!--
<!--
100. rida: 97. rida:


-->
-->


== Vajalikud tööriistad ==
== Vajalikud tööriistad ==

Redaktsioon: 31. august 2015, kell 08:49

mootor
mootor

Ainekood: ITV0110
Link: http://www.lambda.ee/index.php/V%C3%B5rgurakendused_I Punkte: 3.5 AP ehk 5 EAP
Lektor: Tanel Tammet
Kontakt: tanel.tammet@ttu.ee, 6203457
olemas on ka 2014 aasta arhiiv koos kõigi eelmise aasta materjalidega.


Aeg, koht, tulemus

Loenguid nädalas: 2 tundi (üks loeng) neljapäeviti 12:30-14:00 ruumis CYB - VEENUS

Praktikume nädalas: 2 tundi (üks praktikum). Praktikumijuhendaid on mitu, põhijuhendaja on Roger Kerse. Praktikumid toimuvad:

  • esmaspäeval 10:00-11:30 ruumis ICT-501 rühmadele IABB37, IAPB31, IAPB32
  • esmaspäeval 12:00-12:30 ruumis ICT-501 rühmadele IABB31, IABB32
  • kolmapäeval 10:00-11:30 ruumis ICT-501 rühmadele IAPB33, IAPB37, IATM11
  • neljapäeval 10:00-11:30 ruumis ICT-501 rühmadele IABB33, IAPB34, IAPB35

Kursus lõpeb hindelise arvestusega. Hinne sõltub kursuse jooksul tehtud praktikumide tulemustest (60%) pluss kursuse lõpus toimuva kontrolltöö tulemustest (40%).

Kursuse eesmärk

Veebirakenduste põhimõtted ja nende kirjutamise oskus nii brauseri kui serveri poolel. Konkreetsemalt:

  • Brauseri põhitehntoloogiad: html-i, CSS-i ja javascripti baasoskused.
  • Serveripoolse rakenduse kirjutamise põhimõtted,
  • cgi protokoll ja erinevate keelte (sh shell, C, php, python, java, javascript) kasutamise sissejuhatus serverirakendustes
  • Pythoni ja php kasutamise esmased oskused.
  • node.js kasutamise sissejuhatus
  • Lihtsamad SQLi kasutamise oskused.

Kursusel eeldatakse elementaarsete programmeerimisoskuste olemasolu: nende puudumisel ei ole võimalik kursust läbida.

Praktilised tööd

Kursusel on neli kohustuslikku praktilist ẗööd ja üks vabatahtlik praktiline töö. Iga töö annab 0-12 punkti. Hilinenud tööd annavad poole punktidest. Töid võib (ja on soovitav) esitada enne tähtaega.

NB!

  • Kui sinu praktikum on õigeaegselt arvestatud, siis saad esitada täiendusi kuni kaks nädalat peale tähtaega, ilma pooli punkte kaotamata.
  • Kui sinu praktikum ei ole õigeaegselt arvestatud, siis on sul esitamiseks aega veel kolm nädalat peale tähtaega (välja arvatud neljas ja viies praks), aga selliselt hilinenud praks annab ainult pooled punktid.
  • Üle kolme nädala hilinenud praks annab edukal arvestamisel ainult üheainsa punkti.
  • Oma tööd saad arvestuseks esitada ainult oma rühma praksi ajal. Kui sa ei ole üheski rühmas, siis on aeg vaba. Lihtsalt nõu ja abi saad küsida ka teistel aegadel.

Kõik tööd tuleb esitada ise TTÜ arvutiklassis: emailiga saadetud töid ei vaadata. Kasutada võib nii klassi arvuteid kui oma arvutit, brauser ja operatsioonisüsteem on vabalt valitavad. Serverirakenduste tööde presenteerimiseks tuleb kasutada ülikooli serverit dijkstra.

Ülesanded:

  • Html põhioskused. Tähtaeg 14-17 septembri nädal, vastavalt sinu praktikumirühmale.

Järgmised ülesanded on lihtsalt tutvumiseks, pärit 2014 aastast ja sellisena neid teha ei tule: 2015 aasta ülesanded tulevad sarnased, nende konkreetne sisu uuendatakse veidi enne eelmise ülesande tähtaja saabumist.


Kursuse edukaks läbimiseks peavad kõik kohustuslikud praktilised tööd olema tehtud.

Lehtede kujundamise ja stiili osas lähtu sellest juhendist.


Vajalikud tööriistad

Oma arvutiga töö tegemiseks peab seal olema vähemalt

Loengute teemad ja materjalid lugemiseks

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.


HTML põhioskused

Taustaks tasub

Loe ja proovi läbi (st vaja põhimõtted selgeks õppida):

Loe enne või sama-aegselt lisaks läbi ka

Vanemates tutorialites toodud markup on reeglina endiselt pädev, v.a. xhtml ja päised: sina kasuta html5 standardit (päises <!DOCTYPE html>) ja ignoreeri xml teemat html-s.

Keerulisemat:


CSSi põhioskused

Lugeda ja proovida läbi (st vaja põhimõtted selgeks õppida):

Abiks on tutvuda heade tutorialidega järgmistel teemadel:

Häid praktilisi soovitusi kujundusest css-ga:

Vingeid graafilisi canvas+webgl asju:


Javascripti põhioskused

Kaks loengut: (a) sissejuhatus (b) reaalne kasutamine brauseris (html ja css muutmine, evendid jne)

Vaata soenduseks/demoks Google kogutud näiteid.

Seejärel loe läbi ja proovi järgi selles järjekorras:

NB! Selle tulemusena on sul baasettekujutus javascripti keelest, aga mitte reaalsest kasutusest (seda vaatame järgmises loengus).

Javascripti kasutamine brauseris: alustuseks on hea vaadata põhjalikku näidete loetelu

ja tingimata lugeda sinna juurde teegijuhendeid:

Javascripti ja css-i teegid: uurime veidi kõige populaarsemaid teeke


Veebirakenduse optimeerimine mobiilile

Täiendavalt spetsiifilisematest teemadest:



Cgi töötlemine eri keeltes (C, python, bash, java, ...)

Kõigepealt loe ja proovi tingimata ise läbi teha: pythoni cgi-d dijkstra serveris: kiire sissejuhatus

Seejärel vaata hulka näiteid, mille täpsem seletus antakse loengus.

Tutvu linuxi shelli elementaarsete käskudega siit alustades ja selle lühiõpetusega jätkates. Iga käsu juures on abiks man, näiteks man ls. Huvi korral googelda lisaks.


Seejärel loe neid materjale CGI protokollist ja CGI programmidest serveris:

ning siis vaata lisaks loengus tehtud/proovitud lihtsaid cgi programminäiteid eri keeltes.

Cgi jaoks on olemas ka nö rfc-standard, mille lugemine on aga pisut vaevarikas (nagu enamikel standarditel) ja üldjuhul on praktilisem lugeda hoopis ülaltoodud õpetusi ja vaadata näiteid.

Python ja näiteid kasutamisest serverirakendustes

Tutvumine kolmanda praktikumiga: ITV0110 3. töö: Serverirakendus: cgi pythonis. Praksi jaoks vajaliku koodi kirjutamise harjutamine (loengus etteprogrammeerimine).

Sealt leiad ka soovitused esmatutvuseks Pythoniga (praktikumi jaoks piisab kõige lihtsamatest Pythoni konstruktsioonidest ja cgi teegist, keerukamaid asju pole otseselt vaja):

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:


Ajax ehk serveriga andmevahetus otse javascriptist

Lisaks võib abi olla:

NB:

  • Vanade IE-de erivariante ei ole mingit mõtet kasutada.
  • Ajaxiga avatud urlilt võib tulla mis iganes tekst (ei pea olema xml).

node.js sissejuhatus

node.js on süsteem serverirakenduste kirjutamiseks javascriptis. Ta on ehitatud chrome javascripti mootori peale ja lisab sinna hulgem kasulikke teeke, veebiserveri jne.

Vaata:

Seejärel installeeri enda arvutisse node.js ja alusta katsetamist:

Veebiserveri ehitusest ja konfigureerimisest

Kõigepealt tutvu või tuleta meelde http protokolli põhimõtteid:

Veebiserverist paremaks arusaamiseks tasub veidi eksperimenteerida pisikese veebiserveriga.

Enimkasutatav veebiserver Apache:

Apache konfigureerimisest:


Serverirakendused PHP-s, näited


SQL

Loe selles järjekorras:


SQL serverirakendustes

Harilikud tutorialid ja tähelepanekud:

Sessioonid, cookied, sisselogimine, autentimine, web storage

Mõned lingid: