Objavljeno: 23.2.2005 19:51 | Avtor: Uroš Mesojedec | Monitor Marec 2005

Programerske novice: marec 2005

Ruby je priljubljen, popolnoma predmeten skriptni jezik, ki je posvojil številne značilnosti priljubljenih sodobnikov, kot so java, python in eiffel. Njegov avtor, Yukihiro Matsumoto, ga je ustvaril, da bi povrnil veselje do programiranja. Morda je za dokončni uspeh ruby potreboval le še ustrezno predmetno ogrodje za hitro izgradnjo učinkovitih, podatkovno podprtih in v splet odprtih aplikacij. Zdi se, da ga je Matsumoto našel v ogrodju Rails. Ogrodje obljublja tudi do 10x večjo storilnost pri razvoju spletnih programov, brez žrtvovanja kakovosti. Cilju se približa z dvema vodiloma: manj programja, kar pomeni pisanje čim manj kode na čim bolj zmogljivem ogrodju, ki poskrbi za vse drugo. Drugo vodilo je dogovor pred prilagoditvami (convention over configuration). Rails ne potrebuje nobenih prilagoditvenih datotek, namesto tega uporablja nekaj preprostih dogovorov pri pisanju programske kode in razporeditvi map na tisku ter tako vse potrebno izve s pomočjo vpogleda in odkrivanja (reflection & discovery). Programska koda v rubyju in podatki v strežniku že vsebujejo vse, kar ogrodje potrebuje za delovanje.

Ruby na tirnicah

Zanimivo, da so tvorci ogrodja poskrbeli tudi za učinkovito spletno gostovanje. Internetni ponudnik TextDrive (http://www.textdrive.com/) je uradni gostitelj aplikacij za Rails in ponuja cenovno ugodne storitve, polovico pridobljenih sredstev pa vrača projektu za njegov uspešen razvoj.

Mimogrede omenimo še en zanimiv projekt, namenjen razvijalcem v rubyju. Na spletišču Rubyforge je na voljo preizkusna prostokodna rešitev za obdelavo dokumentov OpenOffice.org s pomočjo izključno kode v rubyju, brez potrebe po nameščenih pisarniških programih.

http://www.rubyonrails.org/

http://rubyforge.org/projects/ooo4r/

Spletni predmeti

Zanimanje, ki so ga vzbudili dinamični spletni vmesniki novega rodu, kot smo jih lahko spoznali pri storitvah Google Suggests, Orkut ali Gmail, so vzpodbudili tudi razmišljanje o učinkovitejšem zapisu predmetov za izmenjavo med odjemalcem in strežnikom brez potrebe po vnovičnem nalaganju strani. Tako je nastal JSON (JavaScript Object Notation), preprosta oblika zapisa poljubnih podatkovnih struktur, ki v celoti sledi skladnji javascripta, priljubljenega programskega jezika za dinamične spletne strani, ki je dejanski standard za njihov nadzor. Podatke, ki jih s pomočjo JSON prenesemo iz strežnika in prejmemo v obliki niza znakov, lahko z vgrajeno funkcijo eval() preprosto "izvedemo" in že imamo nared podatkovno strukturo za neposredno rabo v skriptni kodi, ki sledi. Na JSON temelji tudi preprost protokol za klic podprogramov na daljavo, JSON-RPC, ki spominja na sorodni XML-RPC, le da za zapis namesto XML uporablja enostavnejši zapis.

Za izkoriščanje dinamičnega povezovanja s strežnikom, brez vnovičnega nalaganja spletne strani, potrebujemo dovolj sodoben brskalnik. Na srečo so se Internet Explorerju in Mozilli/Netscapu/Firefoxu zdaj s podporo ustreznemu gradniku pridružila tudi Safari (1.2), Opera (8) in Konqueror (3.3); žal zadnji za delovanje gradnika potrebuje nameščen ustrezen popravek.

http://www.crockford.com/JSON/index.html

http://oss.metaparadigm.com/jsonrpc/

http://wiht.co/JSON-resources

Dvojiški XML

Zapis JSON je seveda vzniknil tudi zaradi prenapihnjenosti priljubljenega zapisa XML, ki je žal zaradi svoje splošnosti in zgovornosti pogosto tudi veliko breme za členitelje, povečuje obremenitev podatkovnih povezav in procesorja ter zmanjšuje učinkovitost obdelave podatkov.

Odgovor na izziv zgovornega XML je njegova dopolnitev, dvojiški XML (Binary XML). Organizacija W3C, ki bdi nad razvojem spletnih standardov, je nedavno objavila specifikacijo XOP (XML-binary Optimized Packaging). Z njo lahko binarno vsebino zapišemo v obliki priponk MIME, ki jih poznamo že iz e-pošte, v zapisu XML pa ostane le oznaka ustrezne priponke. Tako je mogoče ohraniti prednosti XML, za zapis binarne vsebine pa je mogoče uporabiti kodiranje, ki je že znano in razširjeno v internetni komunikaciji.

http://www.w3.org/TR/2005/REC-xop10-20050125/

XML proti CSS

Seveda pa vsega, povezanega z XML, ne moremo jemati za suho zlato. Nedavno je bila pogreta razprava s konca prejšnjega stoletja, v kateri se je razpravljalo o prednostih XML in pripadajočih slogov XSL proti "zastarelemu" oblikovanju izpisa s pomočjo slogov CSS. V minulih letih sta oba standarda našla svojo rabo, CSS je prevladujoč način oblikovanja slogov spletnih strani, XSL pa se uporablja za pretvarjanje XML na strani strežnikov, posebni slogi XSL-FO pa so celo našli svojo nišo v tiskarski industriji.

Rivalstvo med standardoma je pogrel član tehničnega odbora W3C, ki je zapisal, da s CSSjem nikoli ne bo mogoče doseči učinkovitega tiskanja spletnih strani. Resnica, se zdi, je ravno nasprotna, kar je ponazoril avtor knjige o CSS, ki jo je v obsegu več kot 400 strani oblikoval prav - seveda, s slogi CSS. Žal se zdi, da v spletnih brskalnikih še dolgo ne bo ustrezne podpore že sprejetim standardom - naj si bo to CSS ali XSL, da bi bilo tiskanje udobno opravilo, kljub temu da je prav dinamičen prelom besedila s slikami za spletni brskalnik nekaj najbolj naravnega. Zanimivo soočenje argumentov lahko najdemo v spletu.

http://www.xml.com/pub/a/2005/01/19/print.html

Raziskovalni oddelek Microsofta - mimogrede, izdatke za raziskave in razvoj so v zadnjem četrtletju, vsaj sodeč po poslovnih knjigah, v Microsoftu prepolovili in tako dosegli rekorden poslovni izid - je izumil nov programski jezik, soroden C-ju. Tokrat se imenuje C-omega (Cω) in združuje značilnosti C#, XPath ter SQL, s čimer omogoča zelo preprosto obdelavo najrazličnejših narečij zapisa XML in njihovo povezovanje s shemami podatkovnih strežnikov. Cω je že druga nedavna pobuda za vse bolj izraženo potrebo po učinkoviti obdelavi zapisa XML, druga je E4X (ECMAScript for XML), razširitve ECMAScripta (javascript, jscript), namenjena istemu problemu, a tokrat neposredno na strani spletnega odjemalca.

No, upati je, da se vse skupaj ne bo končalo kot v tisti šali: predmetno usmerjen jezik = podatki, ki vedo, kaj lahko počnejo sami s sabo, a programer ne ve, kaj početi z njimi; podatkovno usmerjen jezik = podatki ne vedo, kaj lahko počnejo sami s sabo, pa tudi nihče drug ne.

http://www.xml.com/pub/a/2005/01/12/comega.html

http://www.ecma-international.org/publications/standards/Ecma-357.htm

Zbirka za pretoke

Z dostopnimi širokopasovnimi povezavami se vse bolj povečuje količina pretočnih prenosov podatkov, predvsem večpredstavnih vsebin. Rešitve za zmogljivo ponudbo teh vsebin pa so še vedno redke, zelo drage in zahtevajo silno zmogljive naprave. Delni razlog za tako stanje so tudi neprimerni podatkovni strežniki, ki se v novi vlogi, vlogi medijskega strežnika, le stežka znajdejo. Ponudba pretočnih vsebin pa se bo sčasoma samo še povečevala. Zamislimo si čas, ko bo večina predmetov označena z radijsko oznako in bo, vsaj med trajanjem poslovnega procesa, najverjetneje pa tudi vso svojo življenjsko dobo, ustvarjala veliko količino podatkov. In takih predmetov bo na milijarde.

Tako stanje je opazil tudi Michael Stonebraker, eden izmed pionirjev relacijskih podatkovnih strežnikov, ki je sodeloval pri rojstvu izdelkov, kot sta Ingres in Illustra. Nedavno je ustanovil podjetje StreamBase, ki ponuja drugačno rešitev za delo s pretočnimi podatki, ki ni obremenjena s tradicijo danes razširjenih podatkovnih strežnikov. StreamBase prekaša vse tekmece pri obdelavi pretočnih vsebin zaradi vstopne obdelave (inbound processing), kar pomeni, da podatke obdela, preden jih shrani. V mnogih primerih shranjevanje celo ni potrebno, saj se je potrebna informacija izluščila in uporabila že ob vstopu. Avtor v intervjuju, ki je na voljo na spletni strani podjetja, programski rešitvi napoveduje svetlo prihodnost v finančni industriji (analiza tečajev), nadzoru omrežij, telekomunikacijah ter celo v spremljanju temeljnih poslovnih procesov (nabava, spremljanje zalog...).

http://www.streambase.com/

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

Najbolj brano

  • Redka zmaga malega rudarja kriptovalut

    V času, ko rudarjenje bitcoina obvladujejo velika podjetja s specializirano opremo in ogromnimi viri, je neodvisnemu solo rudarju uspel izjemen podvig. 

    Objavljeno: 27.7.2025 13:00
  • Šibko geslo in hekerski vdor pogubila 158 let staro podjetje

    Britansko podjetje KNP iz Northamptonshira, ki se je ukvarjalo s prevozi, je po 158 letih obratovanja zaprlo vrata, zaradi česar je brez dela ostalo 700 ljudi. Razlog ni slabo poslovanje, težke tržne razmere, izgube ali celo poneverbe, temveč precej bolj banalen. Podjetje je opustošil hekerski napad, v katerem so napadalci odnesli podatke o vseh strankah.

    Objavljeno: 23.7.2025 05:00
  • ChatGPT je bogatejši za pravega raziskovalnega agenta

    ChatGPT agent je nova generacija digitalnega pomočnika, ki združuje sposobnosti vizualnega in tekstovnega brskanja ter neposredne interakcije z zunanjimi platformami, kot so Google Drive, GitHub in SharePoint.

    Objavljeno: 18.7.2025 08:00
  • Tehnologija je orodje za množično nadzorovanje

    Ko je minuli teden kamera na koncertu skupine Coldplay v Bostonu prikazala par, ki objet posluša Chrisa Martina, bi bil lahko to le še eden izmed množice povsem običajnih in dolgočasni prizor. A ker se je ženska na posnetku obrnila proč in obraz zakopal v roke, moški pa se je sklonil pod kader, je posnetek vzbudil veliko pozornosti. Pevec Chris Martin ga je na odru komentiral z besedami, da sta bodisi zelo sramežljiva bodisi razmerje skrivata – in ostalo je bilo zgodovina.

    Objavljeno: 21.7.2025 05:00
  • ChatGPT je slab v šahu

    Najboljši šahist sveta Magnus Carlsen je v spletnem dvoboju premagal umetno inteligenco ChatGPT v vsega 53-ih potezah, pri čemer sam ni izgubil niti ene same figure. 

    Objavljeno: 21.7.2025 09:00
  • ChatGPT-5 bo na voljo avgusta

    Sam Altman, izvršni direktor OpenAI, je potrdil, da bo model GPT-5 izšel že v začetku avgusta. 

    Objavljeno: 25.7.2025 09:00
 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji