Scriptiti: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Anier (arutelu | kaastöö)
Anier (arutelu | kaastöö)
 
(ei näidata sama kasutaja 53 vahepealset redaktsiooni)
3. rida: 3. rida:
Tuleb kirjutada käsurea programm, mis on juhitav käsurea parameetrite/võtmete kaudu. Ei ole interaktiivne.
Tuleb kirjutada käsurea programm, mis on juhitav käsurea parameetrite/võtmete kaudu. Ei ole interaktiivne.


Programm võimaldab kahte asja:
Programm võimaldab vaadata tudengi '''kodutööde ja eksami/-te seisu''' vastavalt kursuse kodulehel publitseeritud andmetele.
# näitab tudengi kodutööde ja eksami/-te seisu vastavalt kursuse kodulehel publitseeritud andmetele
# kuvab kursuse teateid kursuse Google Groups -ist


Käsurealt peab olema võimalik määrata kas programm näitab
Käsurealt peab olema '''võimalik määrata''' kas programm
# kodutöö/eksami-te punkte või
# näitab kõikide tudengite tulemusi
# kursuse teateid
# tudengite tulemusi, kelle matriklis sisaldub etteantud '''filter'''
Juhul kui kasutaja jätab valiku määramata, kuvatakse mõlemad.
# tudengi kirjet, mis vastab etteantud '''unikaalsele identifikaatorile - UID'''
Juhul kui kasutaja jätab valiku määramata, siis kuvatakse '''vaikimisi''' kõikide tudengite kodutööde/eksamite punktid.
 
Juhul kui ühtegi '''kirjet ei leitud''', väljastab programm vastava '''teate'''.
 
Kasutajal peab olema võimalus lasta programmil väljastada "'''kasutusjuhend'''" - näiteks parameetriga "'''/h'''" (help), või "'''/?'''". Programm väljastab sellisel juhul võimalikud käsurea parameetrid, koos selgitustega nende kasutusest.


=== Google Spreadsheets API ===
=== Google Spreadsheets API ===


Lähteinfo saab kätte kursuse jaoks juba kohandatud Google Spreadsheets API kaudu aadressilt:
Lähteinfo saab kätte '''kursuse jaoks juba kohandatud''' Google Spreadsheets '''API''' kaudu aadressilt:
https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdHhjaG1NZG1uOXVSZWJBblVzbDRDb2c/od7/public/basic
https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdERLR3FvVDBIWXpjT1JlcENmOFdERVE/od7/public/basic
 
Väljastamisel peab programm iga tudengi kirje ette kuvama lähteinfos sisalduva '''unikaalse identifikaatori (UID)''' - näiteks '''iow8x'''.
 
 
Ning võimaldab '''UID käsurealt ka määrata'''. Juhul kui UID on määratud, siis lisab selle lähteinfo päringu koos kaldkriipsuga. Näiteks: /iow8x. Sellisel juhul oleks lõplik lähteinfo URL: https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdERLR3FvVDBIWXpjT1JlcENmOFdERVE/od7/public/basic/iow8x
 
=== Lähteinfo struktuurist ===
 
Soovitav päringu vastust tavalise tekstiredaktoriga veidi uurida.
 
Siiski üks märkus siia juurde. <'''content'''> sees olev vastus on formaadis: '''<tulbanimi>: <väärtus>,'''
 
Juhul kui tulbal väärtust ei ole - siis ei ole vastuses ka tulba nimetust.
 
<pre>
<entry>
<id>https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdHhjaG1NZG1uOXVSZWJBblVzbDRDb2c/od7/public/basic/cztg3</id>
 
<updated>2011-09-12T11:57:23.076Z</updated>
 
<category scheme='http://schemas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#list'/>
 
<title type='text'>050660IABB</title>
 
<content type='text'>yachtzee: 10, tweet: 10, sportinfo: 10, eksamiaeg: 10:00:00, hinne: 4</content>


Väljastamisel peab programm iga tudengi kirje ette kuvama lähteinfos sisalduva unikaalse identifikaatori (UID) - näiteks "efsh8".
<link rel='self' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdHhjaG1NZG1uOXVSZWJBblVzbDRDb2c/od7/public/basic/cztg3'/>
</entry>
</pre>


Piisab kui kuvada väljundisse see, mis olemas on - juurde pole vaja midagi "tekitada". Näiteks:
<pre>
yachtzee  10
tweet    10
sportinfo 10
eksamiaeg 10:00:00
hinne    4
</pre>


Ning võimaldab käsurealt seda ka määrata. Juhul kui UID on määratud, siis lisab selle lähteinfo päringu koos kaldkriipsuga. Näiteks: /efsh8. Sellisel juhul oleks lõplik lähteinfo URL: https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdHhjaG1NZG1uOXVSZWJBblVzbDRDb2c/od7/public/basic/efsh8
== Lisaosa 2p - puhverdamine ==


=== Google Groups RSS/ATOM ===
Programm puhverdab päringute vastused kõvakettale. Juhul kui puudub Internetiühendus, loeb vastuse puhvrist ja teatab kasutajale näiteks "Internetiühendus puudub, loen puhvrist"


Kursuse teadete RSS "feed" URL: http://groups.google.com/group/iti0011/feed/rss_v2_0_msgs.xml
== Lisaosa 3p - uuendused/uudised ==


== Lisaosa 2p ==
Programm markeerib kirje, mis on puhvriga võrreldes uuem selliselt, et see oleks kasutajale selgelt eristuv.
Näiteks, võiks olla markeeritud kolme tärniga ***) :
<pre>
[gffaz] Student ID = 106938IVCMM ->
        yachtzee: 10, tweet: 10, sportinfo: 10, gomoku: 10, eksamiaeg: 10:00:00, hinne: 4
***[gqnub] Student ID = 109503FAY ->
        yachtzee: 4
</pre>


Programm võimaldab käsurealt määrata filtrit (string), mis peab sisaluma tudengi matriklis. Vastavalt filtrile kuvab tulemusena vaid tudengite tulemused, kelle matriklis filtris määratud väärtus sisaldub. Nii on võimalik esmast otsingut piirata ning välja otsida Põhiosas mainitud unikaalne identifikaator - UID, millega käsurealt tudengit täpselt määrata.
Google Spreadsheets API vastustele on juurdelisatud ajatempel, mida kasutades on võimalik andmede vanust arvutada!


Juhul kui ühtegi kirjet ei leitud, väljastab programm vastava teate.
Programm '''peab võimaldama käsitsi määrata puhvri vanust päevades''' käsurealt. Soovitav on see teha enne puhvri enda realiseerimist. Lihtsamaks ja kiiremaks arendamiseks ja programmi testimiseks. Näiteks: "'''java -jar minuprogramm.jar -d 10'''" otsiks üles muudatused, mis on toimunud viimase 10 päeva sees.


== Lisaosa 3p ==
== Lisamaterjale ==
*puhverdamine
* [http://code.google.com/apis/spreadsheets/data/3.0/reference.html Google Spreadsheets API]
** etteantud kuupäeva suhtes
* Lähteandmed eelmisel semestril: https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdHhjaG1NZG1uOXVSZWJBblVzbDRDb2c/od7/public/basic

Viimane redaktsioon: 20. september 2011, kell 16:32

Põhiosa 5p

Tuleb kirjutada käsurea programm, mis on juhitav käsurea parameetrite/võtmete kaudu. Ei ole interaktiivne.

Programm võimaldab vaadata tudengi kodutööde ja eksami/-te seisu vastavalt kursuse kodulehel publitseeritud andmetele.

Käsurealt peab olema võimalik määrata kas programm

  1. näitab kõikide tudengite tulemusi
  2. tudengite tulemusi, kelle matriklis sisaldub etteantud filter
  3. tudengi kirjet, mis vastab etteantud unikaalsele identifikaatorile - UID

Juhul kui kasutaja jätab valiku määramata, siis kuvatakse vaikimisi kõikide tudengite kodutööde/eksamite punktid.

Juhul kui ühtegi kirjet ei leitud, väljastab programm vastava teate.

Kasutajal peab olema võimalus lasta programmil väljastada "kasutusjuhend" - näiteks parameetriga "/h" (help), või "/?". Programm väljastab sellisel juhul võimalikud käsurea parameetrid, koos selgitustega nende kasutusest.

Google Spreadsheets API

Lähteinfo saab kätte kursuse jaoks juba kohandatud Google Spreadsheets API kaudu aadressilt: https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdERLR3FvVDBIWXpjT1JlcENmOFdERVE/od7/public/basic

Väljastamisel peab programm iga tudengi kirje ette kuvama lähteinfos sisalduva unikaalse identifikaatori (UID) - näiteks iow8x.


Ning võimaldab UID käsurealt ka määrata. Juhul kui UID on määratud, siis lisab selle lähteinfo päringu koos kaldkriipsuga. Näiteks: /iow8x. Sellisel juhul oleks lõplik lähteinfo URL: https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdERLR3FvVDBIWXpjT1JlcENmOFdERVE/od7/public/basic/iow8x

Lähteinfo struktuurist

Soovitav päringu vastust tavalise tekstiredaktoriga veidi uurida.

Siiski üks märkus siia juurde. <content> sees olev vastus on formaadis: <tulbanimi>: <väärtus>,

Juhul kui tulbal väärtust ei ole - siis ei ole vastuses ka tulba nimetust.

<entry>
<id>https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdHhjaG1NZG1uOXVSZWJBblVzbDRDb2c/od7/public/basic/cztg3</id>

<updated>2011-09-12T11:57:23.076Z</updated>

<category scheme='http://schemas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#list'/>

<title type='text'>050660IABB</title>

<content type='text'>yachtzee: 10, tweet: 10, sportinfo: 10, eksamiaeg: 10:00:00, hinne: 4</content>

<link rel='self' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdHhjaG1NZG1uOXVSZWJBblVzbDRDb2c/od7/public/basic/cztg3'/>
</entry>

Piisab kui kuvada väljundisse see, mis olemas on - juurde pole vaja midagi "tekitada". Näiteks:

yachtzee  10
tweet     10
sportinfo 10
eksamiaeg 10:00:00
hinne     4

Lisaosa 2p - puhverdamine

Programm puhverdab päringute vastused kõvakettale. Juhul kui puudub Internetiühendus, loeb vastuse puhvrist ja teatab kasutajale näiteks "Internetiühendus puudub, loen puhvrist"

Lisaosa 3p - uuendused/uudised

Programm markeerib kirje, mis on puhvriga võrreldes uuem selliselt, et see oleks kasutajale selgelt eristuv. Näiteks, võiks olla markeeritud kolme tärniga ***) :

[gffaz] Student ID = 106938IVCMM ->
        yachtzee: 10, tweet: 10, sportinfo: 10, gomoku: 10, eksamiaeg: 10:00:00, hinne: 4
***[gqnub] Student ID = 109503FAY ->
        yachtzee: 4

Google Spreadsheets API vastustele on juurdelisatud ajatempel, mida kasutades on võimalik andmede vanust arvutada!

Programm peab võimaldama käsitsi määrata puhvri vanust päevades käsurealt. Soovitav on see teha enne puhvri enda realiseerimist. Lihtsamaks ja kiiremaks arendamiseks ja programmi testimiseks. Näiteks: "java -jar minuprogramm.jar -d 10" otsiks üles muudatused, mis on toimunud viimase 10 päeva sees.

Lisamaterjale