Feed
Allikas: Lambda
Põhiosa 5p
Tuleb teha käsurea program kursuse teadete tõlgitud lugemiseks Google Groups serverist. Programm on juhitav käsurea parameetrite kaudu ja ei ole seega "interaktiivne".
Käsurealt peab olema võimalik:
- määrata tõlkekeelt, sealhulgas vähemalt inglise- ja venekeel
- kuvada käsurea kasutusjuhendit, valikuliselt näiteks: /? -help -h -? ...
- Väljundis ei tohi esineda HTML spetsiifilisi keelekonstruktsioone - väljund peab olema "mõeldud inimesele"
- < br> HTML reavahetused tuleb asendada tavalistega (<enter>)
- < p> HTML reavahetused 2x tavalistega (2x <enter>)
- <a href= ... ></a> lingid peavad olema kuvatud ainult linkidena - mille saaks näiteks copy-paste'ida veebibrauserisse
- linke ei tohi tõlkimisse saata - need peab kuvama niisama (ilma href HTML konstruktsioonita siis)
Näiteväljund:
-= FIRST homework, they LIMIT +1 =- Thu, 20 Sep 2012 12:09:53 UT +1 homework first deadline extended one week 1-3.okt -= PROGEMIS-Olympiad =- Fri, 14 Sep 2012 12:53:40 UT Think you know how to program? Come try your hand at the 25th Olympiad September at 18.00 - 23.00 TUT IT-213E class. 20th September at 16.00 in room IT-221 workshop for those who are interested in participating. For more information: http://cs.ttu.ee/olympiaad/ Best TUT go abroad to represent! ...
Vajalikku
- Kursuse teadete veebiaadress:
- Programm on tehtav standard Java vahenditega ja info saab HTML päringutest/vastustest kätte stringitöötlusega
- RSS feed
- https://groups.google.com/group/iti0011/feed/rss_v2_0_msgs.xml
- Kursuse teated asuvad <item> märgendite vahel
- Teadete sisust tuleb kuvada: pealkiri <title>, kuupäev <pubDate> ja sisu <description>
- Programm teostab tõlke Google Translate abil
- Näitepäring: http://translate.google.com/m?hl=en&sl=et&tl=en&ie=UTF-8&prev=_m&q=jou+maailm
- parameeter tl=en määrab tõlkekeele (et = eesti, en = inglise, ru = vene)
- parameeter q=jou+maailm määrab tõlgitava teksti
- tõlge asub div märgendite vahel:
<div dir="ltr" class="t0">power in world</div>
- Oluline Java kood HTML päringuteks
- Ühendusele tuleb määrata "user-agent" parameeter või muidu vastab server 403 - Forbidden koodiga
Url url = new Url("http://translate.goo...."); UrlConnection c = url.openConnection(); c.setRequestProperty("User-agent", "Mozilla/5.0");
Encoding
Lisainfot tähekodeeringutest.
Väljastades kirillitsa tähestiku võivad tähed olla loetamatud. See on tähekodeeringu (encoding)-u probleem. Kui programm käivitada Eclipse-i sees ja määrata console-i väljundi kodeeringuks UTF-8, siis peaks kõik ilusti töötama.
- Eclipse console
- Piisab, kui väljund töötab ja on loetav Eclipse-i sees 'console'-s
- Kontrolli, et "run configuration" > "common" > "Encoding" oleks "UTF-8" (mitte Cp1257)
Windows-i käsureal töötamiseks tuleb enne programmi käivitamist muuta tähekodeering chcp käsuga. (ik. change codepage) ja kasutatavat "font"-i.
- Käsurida (Windows)
- chcp 65001
- properties > font > "Lucida console"
- Linuxi (Ubuntu) käsurida töötab teadaolevalt lisakonfigureerimiseta
Lisa 3p - puhverdamine
- Programm puhverdab tulemused kõvakettale.
- Sealhulgas ka uudiste tõlked
- Võimaldab käsurea parameetriga kuvada ainult lugemata (puhverdamata) uudised
- Võimaldab määrata puhvri vanust käsitsi päevades. Programm kuvab siis kõik uudised, mis on uuemad kui n-päeva vanad.
Lisa 2p - sorteerimine
Programm võimaldab uudiste järjestamist kuupäeva alusel ja kuvamist tagurpidises järjekorras - vanemad uudised ennem.