Võrgurakendused I 2012

Allikas: Lambda
mootor

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


See leht on varemloetud kursuse arhiiv, siin ei ole värsket informatsiooni! Otsi üles kursuse hetkel aktiivne leht.

Järeltöö kevadel

Kevadine järeltöö toimub kolmapäeval, 5. juunil kell 10:00 ruumis X-210 (majanduse maja).

Kursuse tulemused

Tulemused kontrolltööde järel

Kontrolltöö on rehkendatud ümber 40 punkti skaalale.


Kontrolltöö

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).

Sessi sees on kolm kontrolltööaega, vali neist üks:

  • Laupäev 5. jaanuar kell 12 ruumis VII-131
  • Reede 11 jaanuar kell 14 ruumis VI-201
  • Reede 18 jaanuar kell 14 ruumis X-209

Kontrolltöö näide varasemast aastast

NB! 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öö.

Aeg, koht, tulemus

Loenguid nädalas: 2 tundi (üks loeng) neljapäeviti 12:00-13:30 ruumis IV-103

Praktikume nädalas: 2 tundi (üks praktikum). Kui pole teisiti märgitud, toimuvad praktikumid:

  • teisipäeval 10:00-11:30 ruumides IT-213A, IT-213B, IT-213E rühmadele IABB31, IABB32, IAPB31
  • teisipäeval 14:00-15:30 ruumides IT-213A, IT-213B rühmadele IAPB32, IAPB33
  • kolmapäeval 14.00-15:30 ruumis IT-213D rühmadele IABB37, IAPB37, IAPB38

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

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

  • html-i kirjutamise oskus, esmane tutvus CSS-i ja javascriptiga.
  • serveripoolse rakenduse kirjutamise põhimõtted, cgi protokoll, erinevate keelte (sh shell, C, php, python, java, javascript) kasutamise sissejuhatus serverirakendustes.
  • pythoni ja php kasutamise esmased oskused.
  • lihtsamad SQLi kasutamise oskused.

Kursusel eeldatakse elementaarsete programmeerimisoskuste olemasolu. Kes programmeerimisega üldse kokku puutunud ei ole või seda paralleelselt ei õpi, ei suuda kursust läbida.

Praktilised tööd

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

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.

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

Lehtede kujundamise ja stiili osas lähtu sellest juhendist.

Loengute plaan ja materjalid

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

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:

CSS mobiilile:


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


Praktilist teisest praktikumist


Kuidas ja kuhu faile serverisse üles laadida jms: loe teise praktikumi materjalidest


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 sellest lühiõpetusest 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


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


Sessioonid, cookied, sisselogimine, autentimine, web storage

Mõned lingid:

Vajalikud tööriistad

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


Veel lugemiseks

Üldist:

HTML:

HTML+CSS+Javascript:

HTTP


CGI programmid serveris

PHP ja MySQL

Veebiserverid: