Programuotojams
API
| URL | Formatas | Duomenys |
|---|---|---|
/docs/rss/ | RSS | 20 naujausių dokumentų. |
/docs/rss/?q=zodis | RSS | 20 naujausių dokumentų, kuriuose yra žodis "zodis" ir jo gramatinės formos (linksniai, kt.). |
/docs/2010/05/17/12541.json/ | JSON | Dokumento duomenys. |
Jei norite gauti visus mūsų turimus dokumentus JSON formatu viename archyve -- parašykite. Gailme aptarti ir galimybę pastoviai sinchronizuoti duomenis su jūsų sistema.
Atviras kodas
Svetainės kodas yra laisvai prieinamas internete pagal GNU Affero General Public License (AGPL).
Projektas vystomas GitHub svetainėje: http://github.com/emilis/PolicyFeed.
Norintys galite parsisiųsti kodą tokios komandos pagalba:
git clone git@github.com:emilis/PolicyFeed.git
Apie tai kaip pasileisti aplikaciją, skaitykite README faile.
Architektūra
Sistema susluoksniuota maždaug taip:
- Svetainės moduliai rašyti JavaScript taikantis prie CommonJS standarto.
- RingoJS karkasas.
- Mozilla Rhino JavaScript variklis.
- Java Virtuali Mašina.
- Linux.
Kodėl pasirinkau tokią architektūrą?
Nes noriu, kad jei kas sumanytų prisijungti prie manęs programuojant, turėtų kuo mažiau sunkumų: PHP/Ruby/Python patinka ne visiems, JavaScript moka beveik visi web programuotojai.
Jau seniai norėjau išbandyti ir pasižiūrėti ar galima programuoti JavaScript serverio pusėje -- taip juk reikia naudoti mažiau programavimo kalbų. Padariau išvadą, kad galima ir yra patogu.
Šiame projekte reikia perdirbinėti labai daug HTML puslapių, tai mano vienas iš tikslų buvo pabandyti tam panaudoti jQuery -- patogiausią man žinomą įrankį manipuliuoti HTML struktūromis. Galutiniame variante daugiau naudoju htmlunit (nes dažniausiai užtenka XPath ir DOM funkcijų), bet yra vietų, kur neišsiverčiu ir be jQuery.
Iš mano bandytų Server-Side JavaScript (SSJS) platformų, man labiausiai patiko RingoJS -- veikia stabiliai, lengvai ir greitai. Projekto komanda nedidelė ir draugiška, su tomis technologijomis dirba jau senokai. Norėjau išbandyti V8 ir jo "draugus", bet tuo metu kai pradėjau kurti šią svetainę man jų nepavyko susikompiliuoti savo 64bitų linux kompiuteryje.





