Võrgurakendused I 2018: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Resümee puudub
Resümee puudub
14. rida: 14. rida:
</tr>
</tr>
</table>
</table>
<!--
== <font color="red">NB! NB! Hilinen 20 min</font> ==
Olin lumes vahepeal kinni.
-->
<!--
25. oktoobri loeng jääb ära: T.Tammet on TTÜ delegatsiooniga Gruusias, Roger Kerse on haige.
Samal põhjusel jäävad ära 26. oktoobri (kolmapäev) ja 27. oktoobri (neljapäev) praktikumid.
Sellega seoses lükkuvad tähtajad nädala võrra edasi.
-->
== <font color="red">Tulemused</font> ==
Kursuse tulemusd on siin tabelis: [[Võrgurakendused 1 2016 tulemused]].
Tulbad: matriklinumber ilma kursuse koodita, eesnime esitäht, hinne. kontrolltöö punktid, praktikumide punktide summa.
Tabel on sorteeritud matriklinumbrite järgi.
Kui sa avastad, et sul peaksid punktid teistmoodi olema, siis palun kirjuta tanel.tammet@ttu.ee.
== Kontrolltöö  ==
Kontrolltöö toimub sessi ajal, kaks võimalikku aega, sarnaselt eksamile.
Kuupäevad kontrolltööks on (vali kas 6 või 19 jaanuar, mõlemil tulla ei saa):
* 6 jaanuar ruumis U02-102 kell 15:00 (kõigil sama aeg kell 15, sõltumata matriklinumbrist)
* 19 jaanuar ruumis U06A-201 kell 12:00 ja kell 15:00 :
** Paarisarvuga (0,2,4,6,8) lõppeva matriklinumbriga tudengitel palun tulla kell 12:00,
** paaritu arvuga (1,3,5,7,9) lõppeva matriklinumbriga tudengitel palun tulla kell 15:00.
Kontrolltööle registreeruma ei pea.
[[Võrgurakendused I kontrolltöö sisust]]
Praktikumide tulemused ilmuvad siia aastavahetusel.
<!--
NB! Reedel 16 sept lisa-praksiaega ei ole. See-eest:
<font color="red">Semestri viimase nädala lisa-ajad (lisaks tava-praksiaegadele):</font>
* esmasp 19 dets on lisa-praksiaeg alates 16-st: koguneme koridoris ICT-401 ees
* teisip 20 dets toimub loengu ajal ja ruumides lisa-praktikum, mitte loeng.
* reedel 23 dets lisa-praksiaeg kõigile rühmadele kell 12:00, koguneme koridoris ICT-401 ees
-->


== Aeg, koht, tulemus ==
== Aeg, koht, tulemus ==


Loenguid nädalas: 2 tundi (üks loeng) teisipäeviti <font color="red">08:00-09:30 </font> ruumis CYB - VEENUS
Loeng igal neljapäeval kell <font color="red">10:00-11:30 </font> ruumides U06A-201, U06A-229.
 
Praktikume nädalas: 2 tundi (üks praktikum). Praktikumijuhendaid on mitu: põhijuhendaja on Roger Kerse, talle tuleb lisaks abilisi.
Praktikumid toimuvad eri gruppidele neljal erineval ajal.


* esmaspäeval 12:00-13:30 ruumis ICT-401
Praktikumid toimuvad eri gruppidele viiel erineval ajal.  Praktikumijuhendaid on mitu. Esimesel nädalal on juhendajaks Martin Verrev, järgmistel tuleb praktikumijuhendajaid juurde.
* esmaspäeval 14:00-15:30 ruumis ICT-401
* kolmapäeval 10:00-11:30 ruumis ICT-501
* neljapäeval 08:00-09:30 ruumis ICT-501


Reedel 16 dets lisa-praksiaega ei ole. See-eest:
* teisipäeval kell 08:00 ruumis ICT-401 IAPB32,  IAPB33
 
* teisipäeval kell 14:00 ruumis ICT-404 IAPB34,  IAPB35
* esmasp 19 dets on lisa-praksiaeg alates 16-st: koguneme koridoris ICT-401 ees
* teisipäeval kell 16:00 ruumis ICT-121 ABB31,  IABB32,  IABB33
* teisip 20 dets toimub loengu ajal ja ruumides lisa-praktikum, mitte loeng.
* kolmapäeval kell 16:00 ruumis ICT-404 IAPB36
* reedel 23 dets lisa-praksiaeg kõigile rühmadele kell 12:00, koguneme koridoris ICT-401 ees
* neljapäeval kell 08:00 ruumis ICT-122 IABB34,  IAPB31


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


* [[ITV0110 1. töö: Html põhioskused|Prax 1: html põhioskused]]. Tähtaeg 14-17 septembri nädal, vastavalt sinu praktikumirühmale.  
* [[ITV0110 1. töö: Html põhioskused|Prax 1: html põhioskused]]. Tähtaeg 14-17 septembri nädal, vastavalt sinu praktikumirühmale.  
Järgmised ülesanded on lihtsalt tutvumiseks, pärit 2016 aastast ja sellisena neid teha ei tule: 2017 aasta ülesanded tulevad sarnased, nende konkreetne sisu uuendatakse veidi enne eelmise ülesande tähtaja saabumist.
* [[ITV0110 2. töö 2016: CSS, javascript|Prax 2: CSS, javascript]]. Tähtaeg 10-14 oktoobri nädal, vastavalt sinu praktikumirühmale.  
* [[ITV0110 2. töö 2016: CSS, javascript|Prax 2: CSS, javascript]]. Tähtaeg 10-14 oktoobri nädal, vastavalt sinu praktikumirühmale.  
* [[ITV0110 3. töö 2016: Serverirakendus: cgi pythonis|Prax 3: serverirakendus: cgi pythonis]]. Tähtaeg lükkus ühe nädala edasi ja on nüüd 15-18 novembri nädal, vastavalt sinu praktikumirühmale. Varem esitamine on samas väga soovitav.
* [[ITV0110 3. töö 2016: Serverirakendus: cgi pythonis|Prax 3: serverirakendus: cgi pythonis]]. Tähtaeg 15-18 novembri nädal, vastavalt sinu praktikumirühmale.
* [[ITV0110 4. töö 2016: Andmebaasiga serverirakendus|Prax 4: andmebaasiga serverirakendus php-s]].  Tähtaeg 12-16 detsembri nädal, vastavalt sinu praktikumirühmale.  
* [[ITV0110 4. töö 2016: Andmebaasiga serverirakendus|Prax 4: andmebaasiga serverirakendus php-s]].  Tähtaeg 12-16 detsembri nädal, vastavalt sinu praktikumirühmale.  
* [[ITV0110 node.js töö 2016| Prax 5: (vabatahtlik) serverirakendus node.js abil]]. Mittekohustuslik. Tähtaeg 12-16 detsembri nädal, vastavalt sinu praktikumirühmale.  
* [[ITV0110 node.js töö 2016| Prax 5: (vabatahtlik, kuigi tegemata jätmine annab vastavalt vähem punkte) serverirakendus node.js abil]]. Arvestuseks kohustuslik ei ole. Tähtaeg 12-16 detsembri nädal, vastavalt sinu praktikumirühmale.  
 
<!--
Järgmised ülesanded on lihtsalt tutvumiseks, pärit 2015 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 - neli esimest - olema tehtud.
Kursuse edukaks läbimiseks peavad kõik kohustuslikud praktilised tööd - neli esimest - olema tehtud.  


Lehtede kujundamise ja stiili osas lähtu [[htmli kujunduse üldpõhimõtted| sellest juhendist]].
Lehtede kujundamise ja stiili osas lähtu [[htmli kujunduse üldpõhimõtted| sellest juhendist]].
137. rida: 75. rida:
Oma arvutiga töö tegemiseks peab seal olema vähemalt
Oma arvutiga töö tegemiseks peab seal olema vähemalt


* [http://notepad-plus-plus.org/ Notepad++] või [http://www.scintilla.org/SciTE.html scite] või [http://brackets.io/ brackets] või [http://www.sublimetext.com/ sublime text] või [https://atom.io/ atom]
* Programmeerimiseks sobiv tekstiredaktor (väldi IDE-sid!) soovitavalt siit loetelust: [http://notepad-plus-plus.org/ Notepad++], [http://brackets.io/ brackets], [https://atom.io/ atom], [https://code.visualstudio.com/ vs code], [http://www.sublimetext.com/ sublime text], [http://www.scintilla.org/SciTE.html scite]  
* [http://www.mozilla.com Mozilla Firefox] ja [https://www.google.com/intl/en/chrome/browser/ Google Chrome]
* [http://www.mozilla.com Mozilla Firefox] ja [https://www.google.com/intl/en/chrome/browser/ Google Chrome]
* [http://www.mozilla.com Mozilla Firefoxi] jaoks installi endale [https://getfirebug.com/ firebug] plugin
* Windowsil [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html putty] või mõni sarnane sisselogimis-proge (Linuxil piisab ssh käsust). Hea erivariant Puttyst on [http://www.9bis.net/kitty/ kitty], mis laseb kasutajatunnuse ja parooli meelde jätta, et ei peaks igakord uuesti sisestama.
* Windowsil [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html putty] või mõni sarnane sisselogimis-proge (Linuxil piisab ssh käsust). Hea erivariant Puttyst on [http://www.9bis.net/kitty/ kitty], mis laseb kasutajatunnuse ja parooli meelde jätta, et ei peaks igakord uuesti sisestama.
* Windowsil [http://winscp.net winscp] (vaata [http://winscp.net/eng/docs/ui_editor konfimisest!]) või mõni sarnane failide-üleslaadimis-proge (Linuxil piisab scp käsust)
* Windowsil [http://winscp.net winscp] (vaata [http://winscp.net/eng/docs/ui_editor konfimisest!]) või mõni sarnane failide-üleslaadimis-proge (linuxil ja macil piisab scp käsust)


== Loengute teemad ja materjalid lugemiseks ==
== Loengute teemad ja materjalid lugemiseks ==

Redaktsioon: 4. september 2017, kell 04:33

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 2016 aasta arhiiv koos kõigi eelmise aasta materjalidega.

Aeg, koht, tulemus

Loeng igal neljapäeval kell 10:00-11:30 ruumides U06A-201, U06A-229.

Praktikumid toimuvad eri gruppidele viiel erineval ajal. Praktikumijuhendaid on mitu. Esimesel nädalal on juhendajaks Martin Verrev, järgmistel tuleb praktikumijuhendajaid juurde.

  • teisipäeval kell 08:00 ruumis ICT-401 IAPB32, IAPB33
  • teisipäeval kell 14:00 ruumis ICT-404 IAPB34, IAPB35
  • teisipäeval kell 16:00 ruumis ICT-121 ABB31, IABB32, IABB33
  • kolmapäeval kell 16:00 ruumis ICT-404 IAPB36
  • neljapäeval kell 08:00 ruumis ICT-122 IABB34, IAPB31

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 ülevaade 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.

Julgustuseks loe seda väikest juttu

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. Tööde presenteerimiseks tuleb kasutada ülikooli serverit dijkstra: kõiki prakse vaatavad õppejõud ainult sealt serverist. Kindlasti loe dijkstra serveri kasutamise õpetust.

Ülesanded:

Järgmised ülesanded on lihtsalt tutvumiseks, pärit 2016 aastast ja sellisena neid teha ei tule: 2017 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 - neli esimest - 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

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

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.

Lisaks olulist:

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 universaalseid teeke

  • jquery javascripti teek dom-ga manipuleerimiseks ja ajaxiks
  • underscore funktsionaalsed pisivahendid
  • bootstrap css + javascript, widgetid jne
  • react facebooki kapitaalne teek / pool-framework keerukamate kasutajaliideste tegemiseks

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

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:

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: