UI Prototüüp (lõppversioon): erinevus redaktsioonide vahel
Uus lehekülg: '{{UI}} Kasutajaliidese teine töö seisneb esimese prototüübi töölepanekus serveris ning selle viimistlemises. * Viimistlege prototüüp kasutatavaks programmiks * Back-end ...' |
Resümee puudub |
||
| 21. rida: | 21. rida: | ||
** Kas kingitusi saab kommenteerida/korraldaja poolt modifitseerida? | ** Kas kingitusi saab kommenteerida/korraldaja poolt modifitseerida? | ||
* Külalise töö käik -- registreerimine/selle tühistamine, kingituse ostmine | * Külalise töö käik -- registreerimine/selle tühistamine, kingituse ostmine | ||
= Dijkstra server = | |||
Kodutööde tarbeks on kasutusel server nimega dijkstra (see keeruline nimi on ühe tuntud arvutiteaduse teerajaja nimi ja keeruline seepärast, et see nimi teile paremini meelde jääks). | |||
== Ligipääs == | |||
Dijkstrasse sisselogimiseks on vaja end registreerida. Registreerimiseks piisas, kui esitasite oma esimese kodutöö õigeaegselt. Juhul kui te seda ei teinud, saatke kiri praktikumitunni juhendajale ja saate samuti ligi. | |||
Ühtlasi on tarvilik ligipääs Linuxi arvutitesse. See tähendab tudengikoodile ette kirjutatud t-tähega kasutajanimi t012345 kujul. Kel seda ei ole, saab selle vormistada Linuxiklassi administraatori juures. | |||
== Sisselogimine == | |||
Sisselogimiseks kasutatakse SSL ühendust ehk siis maakeeli programmi putty (Windows) või ssh (Linux). Tegemist on siis käsurealigipääsuga Linuxipõhisele serverile. | |||
* Teie kasutajanimi ja parool: TTÜ Linuxi arvutiklasside (213-f,-g) kasutaja + parool | |||
* Dijkstra aadress: dijkstra.cs.ttu.ee | |||
== Failide laadimine == | |||
Failide laadimiseks sinna kasutage SFTP protokolli. Üks võimalikest programmidest, mis seda toetab on näiteks [http://filezilla-project.org/ Filezilla]. | |||
== Keskkonna ettevalmistamine == | |||
Kõik asjad, mis paigutate oma dijkstra kodukataloogi alamkataloogi "public_html", on veebis nähtavad. See kataloog tuleb kõigepealt luua: | |||
$mkdir public_html | |||
("$" rea alguses tähistab nüüd ja edaspidi Linuxi käsurealt antavaid käske (enamus praeguse näite failioperatsioonidest peaks olema tehtavad ka SFTP graafilise liidese alt). Linuxi käsurea kasutamist tuleb uurida omal käel. Käsurea saamiseks tuleks üle SSH ühenduse dijkstra käsureale logida (ssh või [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html putty] vms) ) | |||
Kui kataloog on olemas, suunake oma brauser dijkstra aadressile, mille saate kui serveri lisate tudengikoodi serveri nimele (näiteks sedasi, aga asendage oma tudengikood ära): | |||
http://dijkstra.cs.ttu.ee/~t0XXX/ | |||
Kui kõik töötab õigesti, peaksite nägema kataloogi nimistut, mis on tühi, sest te pole sinna faile pannud. Tekitage index.html nimeline fail ja kontrollige, et see hakkab endist tühja kataloogilistingut asendama. Rakenduse html-failid võite panna sinnasamasse public_html alla. | |||
== Failiõiguste probleemid == | |||
Juhul, kui te kataloogi või oma index.html sisu ei näe, kontrollige, et nii teie kodukataloog kui public_html kuuluksid grupile "tudengid" ja et sellel grupil oleks nii lugemis-kui kataloogisisu vaatamise pääsuõigused. Samuti peab tudengigrupil olema võimalus lugeda kõiki veebi ülesminevaid faile. | |||
Kataloogile lugemis-ja nimekirjanäitamise õiguse andmine:<br/> | |||
$chmod g+rx public_html | |||
Failile lugemisõiguse andmine:<br/> | |||
$chmod g+r index.html | |||
Nüüd, kus on kontrollitud, et veebis on staatilised HTML leheküljed üleval, saame põnevasse dünaamilisuse maailma sukelduda. | |||
= Põnev dünaamiline maailm = | |||
Praktikumi jaoks kasutate CGI skripti, mida saate enda rakenduse jaoks kohandada (aga ei pea tingimata). CGI skript on kirjutatud keeles [http://www.python.org/ Python] ning kasutab SQLite nimelist SQL rakendust. | |||
CGI rakendused elavad public_html alamkataloogis cgi-bin. (CGI rakendusi hoitakse traditsioonilselt staatilistest lehtedest eraldi, sest tegemist on ikkagi päris serveris käivituvate programmidega ja neil on sellest tulenevalt ka kõrgem turvarisk.) | |||
$mkdir cgi-bin | |||
== Esmatutvus Pythoniga CGI kontekstis == | |||
Looge cgi-kataloogi järgmise sisuga fail "test.py": | |||
#!/usr/bin/python | |||
print "Content-type: text/html" | |||
print | |||
print "<html><head><title>test.py</title></head><body><h1>Hello, World!</h1></body>" | |||
Esimene, trelliga rida ütleb, et käivitate pythoni interpretaatori ja ülejäänud read trükivad välja HTMLi vastuse. Content-type ja reavahetus on sealjuures väga kriitilised saata. | |||
Proovige brauseris selle faili aadress avada ja jälgige mis juhtub.<br> | |||
http://dijkstra.cs.ttu.ee/~tXXX/cgi-bin/test.py | |||
Saate räige veateate, sest CGI skript ei ole käivitatav grupi õigustes (ega niisama). | |||
Parandage failiõigused: | |||
$chmod +x test.py | |||
Proovige CGI skripti uuesti käivitada ja veenduge, et kõik töötab. Ka siin on oluline jälgida, et tudengite gruppi kuulujatel saaks antud faili nii lugeda kui kirjutada (st arvestage ka kataloogide pääsuõigustega). | |||
'''NB!''' Kui saate veateate "Internal Server Error" või midagi sarnast, siis võib juhtuda, et probleem on realõpumärkides: kui käsurea käsk | |||
$cat test.py | |||
annab esimeseks reaks #!/usr/bin/python^M , siis kasutate windowsi faililõppe ja dijkstra proovib käivitada programmi nimega python^M . Selle parandamiseks salvestage fail UNIX faililõpuga. | |||
Redaktsioon: 17. aprill 2015, kell 12:44
| Leht kuulub aine Kasutajaliidesed juurde. |
Kasutajaliidese teine töö seisneb esimese prototüübi töölepanekus serveris ning selle viimistlemises.
- Viimistlege prototüüp kasutatavaks programmiks
- Back-end osas võite kasutada mistahes lahendust. Php, Django, Node.js, CGI-skriptid...
- Kasutada on dijkstra.cs.ttu.ee
- Kasutajakogemus olgu täielik -- placeholder tekste, javascript alert() ja mittetöötavaid linke näha ei soovi. Kasin funktsionaalsus kahandab punkte, aga ei ole takistuseks töö kaitsmisel.
- E-posti saatmine ei ole oluline (neid asdasd.ee pihta spämmida pole otstarbekas)
Jälgige ekstra:
- Veateated
- Navigatsioon
- Info edastamine
- Nõutud/Soovitatav funktsionaalsus
- Kas teie programmi saab reaalselt kasutada?
- Sisselogimine / Registreerimine
- Nimekiri (esitus/leheküljestamine)
- Detailvaade
- Kas rahade üle peetakse arvestust?
- Lisamine/muutmine
- Kuidas lisada suur hulk külalisi
- Kas kingitusi saab kommenteerida/korraldaja poolt modifitseerida?
- Külalise töö käik -- registreerimine/selle tühistamine, kingituse ostmine
Dijkstra server
Kodutööde tarbeks on kasutusel server nimega dijkstra (see keeruline nimi on ühe tuntud arvutiteaduse teerajaja nimi ja keeruline seepärast, et see nimi teile paremini meelde jääks).
Ligipääs
Dijkstrasse sisselogimiseks on vaja end registreerida. Registreerimiseks piisas, kui esitasite oma esimese kodutöö õigeaegselt. Juhul kui te seda ei teinud, saatke kiri praktikumitunni juhendajale ja saate samuti ligi.
Ühtlasi on tarvilik ligipääs Linuxi arvutitesse. See tähendab tudengikoodile ette kirjutatud t-tähega kasutajanimi t012345 kujul. Kel seda ei ole, saab selle vormistada Linuxiklassi administraatori juures.
Sisselogimine
Sisselogimiseks kasutatakse SSL ühendust ehk siis maakeeli programmi putty (Windows) või ssh (Linux). Tegemist on siis käsurealigipääsuga Linuxipõhisele serverile.
- Teie kasutajanimi ja parool: TTÜ Linuxi arvutiklasside (213-f,-g) kasutaja + parool
- Dijkstra aadress: dijkstra.cs.ttu.ee
Failide laadimine
Failide laadimiseks sinna kasutage SFTP protokolli. Üks võimalikest programmidest, mis seda toetab on näiteks Filezilla.
Keskkonna ettevalmistamine
Kõik asjad, mis paigutate oma dijkstra kodukataloogi alamkataloogi "public_html", on veebis nähtavad. See kataloog tuleb kõigepealt luua:
$mkdir public_html
("$" rea alguses tähistab nüüd ja edaspidi Linuxi käsurealt antavaid käske (enamus praeguse näite failioperatsioonidest peaks olema tehtavad ka SFTP graafilise liidese alt). Linuxi käsurea kasutamist tuleb uurida omal käel. Käsurea saamiseks tuleks üle SSH ühenduse dijkstra käsureale logida (ssh või putty vms) )
Kui kataloog on olemas, suunake oma brauser dijkstra aadressile, mille saate kui serveri lisate tudengikoodi serveri nimele (näiteks sedasi, aga asendage oma tudengikood ära): http://dijkstra.cs.ttu.ee/~t0XXX/
Kui kõik töötab õigesti, peaksite nägema kataloogi nimistut, mis on tühi, sest te pole sinna faile pannud. Tekitage index.html nimeline fail ja kontrollige, et see hakkab endist tühja kataloogilistingut asendama. Rakenduse html-failid võite panna sinnasamasse public_html alla.
Failiõiguste probleemid
Juhul, kui te kataloogi või oma index.html sisu ei näe, kontrollige, et nii teie kodukataloog kui public_html kuuluksid grupile "tudengid" ja et sellel grupil oleks nii lugemis-kui kataloogisisu vaatamise pääsuõigused. Samuti peab tudengigrupil olema võimalus lugeda kõiki veebi ülesminevaid faile.
Kataloogile lugemis-ja nimekirjanäitamise õiguse andmine:
$chmod g+rx public_html
Failile lugemisõiguse andmine:
$chmod g+r index.html
Nüüd, kus on kontrollitud, et veebis on staatilised HTML leheküljed üleval, saame põnevasse dünaamilisuse maailma sukelduda.
Põnev dünaamiline maailm
Praktikumi jaoks kasutate CGI skripti, mida saate enda rakenduse jaoks kohandada (aga ei pea tingimata). CGI skript on kirjutatud keeles Python ning kasutab SQLite nimelist SQL rakendust.
CGI rakendused elavad public_html alamkataloogis cgi-bin. (CGI rakendusi hoitakse traditsioonilselt staatilistest lehtedest eraldi, sest tegemist on ikkagi päris serveris käivituvate programmidega ja neil on sellest tulenevalt ka kõrgem turvarisk.)
$mkdir cgi-bin
Esmatutvus Pythoniga CGI kontekstis
Looge cgi-kataloogi järgmise sisuga fail "test.py":
#!/usr/bin/python print "Content-type: text/html" print print "<html><head><title>test.py</title></head><body><h1>Hello, World!</h1></body>"
Esimene, trelliga rida ütleb, et käivitate pythoni interpretaatori ja ülejäänud read trükivad välja HTMLi vastuse. Content-type ja reavahetus on sealjuures väga kriitilised saata.
Proovige brauseris selle faili aadress avada ja jälgige mis juhtub.
http://dijkstra.cs.ttu.ee/~tXXX/cgi-bin/test.py
Saate räige veateate, sest CGI skript ei ole käivitatav grupi õigustes (ega niisama).
Parandage failiõigused:
$chmod +x test.py
Proovige CGI skripti uuesti käivitada ja veenduge, et kõik töötab. Ka siin on oluline jälgida, et tudengite gruppi kuulujatel saaks antud faili nii lugeda kui kirjutada (st arvestage ka kataloogide pääsuõigustega).
NB! Kui saate veateate "Internal Server Error" või midagi sarnast, siis võib juhtuda, et probleem on realõpumärkides: kui käsurea käsk
$cat test.py
annab esimeseks reaks #!/usr/bin/python^M , siis kasutate windowsi faililõppe ja dijkstra proovib käivitada programmi nimega python^M . Selle parandamiseks salvestage fail UNIX faililõpuga.