Vous êtes sur la page 1sur 47

SADRŽAJ

U ovom broju možete èitati:

INTERVIEW: Frank Tegglaar


Sve je poèelo kada su izbeglice saznale da Frank ima PC i Internet...

TEMA BROJA
Je li vam dosado Windows? Ako je tako, obavezno proèitajte temu
broja koja se bavi windows alternativama

BASIC Instinct - RealBasic


U sedmom nastavku ovog serijala mozete se upoznati
sa Ikomponentom Socket.

BASIC Instinct - VisualBasic


Kako VB.NET komunicira sa ostatkom .NET jezika saznajte u
ovom sedmom nastavku ovog serijala

ASP Tecaj
Sedmi nastavak ovog serijala, bavi se realiziranjem n:m relacije

WEB MARKETING
Ovaj put Vam predstavljamo PROJEKAT

ERGONOMIJA
Bole vas leða dok radite za raèunarom?
Obavezno roèitajte ovaj èlanak.....

XML
Treæi nastavak ovog serijala Vam predstavlja
DTD- Document type definitions

MS SQL
Drugi nastavak ovog serijala vam redstavlja
ENTERPRIZE MANAGER

PROGRAMIRANJE C JEZIKU
Šesti nastavak ovog serijala Vam predstavlja uslovnu kompilaciju

Smješni kodovi
Za kraj kolekcija viceva sa našeg foruma

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 2


UVODNIK

LJETNE ŠEME

Poštovani þitatelji,

Pred vama je još jedan, osmi po redu broj


vašeg omiljenog programerskog online þasopisa
ASDFdeveloper, naþinjen uz mnogo napora, ali i
sa mnogim novitetima.
No, krenimo redom: napori su, pretpostavljate,
izazvani ovim žestokim vruüinama na ovoj
strani svijeta i gomilom ovosezonskih obaveza
na onoj strani svijeta. Ljeto je period kad
veüina nas uopšte ne misli o poslu, nego samo
organizuje i planira godišnje odmore, izlete,
kupanja, roštiljade... No, ukratko, mi smo to
˝ovozemaljsko˝ iskušenje prevazišli i zajedni-
þkim naporima i timskim radom napravili ovo
što sad ˝držite u rukama˝.
Kad je rijeþ o novitetima, prvenstveno mislim
na rast našeg online tiraža i na veliku zainte-
resovanost þitalaca da saraÿuju i svojim teksto-
vima doprinesu našem programerskom maga-
zinu. Od mnoštva ponuda, izabrali smo kao
novog saradnika momka po imenu Emir, a kroz
þije üete tekstove, odnosno kroz novi serijal od
sljedeceg broja, upoznati bolje LINUX.
U ovom broju, moüi üete proþitati sve što vas
zanima o Linux-u kao Windows alternativi, u
temi broja, a zadovoljstvo mi je najaviti i Inte-
rvju sa Frankom Tegglaarom, prema mišljenju
mnogih, živom legendom.
Dakle, nadam se da ste zadovoljni ponuÿenim
temama i naþinom na koji su obraÿene, te da
üete nam sve svoje utiske, sugestije, pohvale i
kritike poslati i reüi, na veü dobro znane naþine.
Do sljedeüeg broja, i bez mnogo sunþanja,
kažu šteti koncentraciji.

Almedina Martinþeviü

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 3


INTERVIEW

INTERVJU: Frank Tegglaar

OD MOMKA S PC DO LEGENDE
< Danijel KovaĀiþ >

S
ve je poþelo kada su izbjeglice saznale da Frank ima kuüni PC i Internet: htjeli
su poslati e-poštu kako bi stupili u kontakt s rodbinom i prijateljima... i krenulo
je...

zajedno smo radili na skupljanju kompjutera za


Nekako þim sam se prikopþao na školu u Lužanima, Hrvatska, gdje su Damirovi
Internet po prvi put, negdje '94., '95. , roditelji izbjegli iz Banja Luke.
tražeüi informacije o Bosni i Hercegovini, (http://2002.xs4all.nl/surfnet/archive/1995/engl
nabasao sam na CBIPE (Croatian and ish/luzani%5Fenglish.html)
Bosnian Information Pages Europe). Tada
još nije bilo mnogo informacija o zemljama
bivše Jugoslavije na Internetu, i CBIPE je Sljedio je napredak sa CBIPE na
predstavljao pravo nalazište blaga u tom Domovina.net, kada se to desilo i koje su
smislu. Kako je CBIPE nastao? promjene nastupile u transformaciji?

Daleke 1994., u mom dijelu grada, smjestilo Bosnia Infopages su rasle užurbano i vrlo
se nekoliko izbjeglica iz Bosne. Neko im je u brzo ispunile moj slobodan prostor na Euronetu.
lokalnom caffeeu rekao da imam PC i Internet Odluþio sam otvoriti internet prikljuþak sa xs4all,
prikljuþak, što je u ono vrijeme ipak bio novitet. koji su tada nudili 1MB (!) prostora. To nam je
Upitali su me da li mogu poslati E-poštu, u dalo dovoljno prostora da postavljamo .avi audio
pokušaju da pronaÿu rodbinu i prijatelje. Nisam datoteke koje smo encodovali sa nekih 12
razumio odgovore koje su stigli kroz nekoliko meÿunarodnih radio i TV stanica. To nije proma-
dana, tako da su ti Bosanci ponovo došli do mog klo osoblju xs4all-a: moja web-stranica je ubrzo
stana, poslali ponovo elektronsku poštu - i postala najposjeüenija na njihovoj mreži.
ponovo su pristizali odgovori ... Moj internet Dopadalo im se ono što smo radili i ponudili su
ugovor sa Euronetom je nudio 'ogromnih' 50KB nam razne vrste podrške u radu. U avgustu
prostora na mreži. Meni to nije bilo potrebno, pa 1995. bili smo u moguünosti nabavljati dnevne
sam dopustio tim Bosancima da to koriste za radio biltene iz Hrvatske. Te datoteke su bile,
web-stranicu sa adresama osoba koje bi naravno, veoma glomazne, i poþeo sam tražiti
pronašli. To je bio sami poþetak Bosnia alternative .avi formatu. RealAudio je tada tek
InfoPages. Poþeo sam se interesovati za doga- izašao na tržište, i moj jaran Vladimir Vukašin je
ÿaje koje su se odvijale u Bosni, i potom su se bio samo tako dobar da mi instalira prvi
stranice sa informacijama i kolekcijom linkova RealServer sa 25 streamova na svom domenu
pojavile na mom web prostoru. na University of New Mexico. Ta sprava je mogla
Inaþe, naziv CBIPE je nastao poþetkom 1996 proizvoditi pet uporednih streamova, i kada bi
kada su se Bosnia Infopages spojile sa Croatia dosegao 80 posto svog kapaciteta, poslao bi
Infopages koje je ureÿivao Damir Tomiþiü. Sa upozorenje u vidu e-pošte administratorima.
Damirom sam se upoznao na Internetu 1995. i Sanduþe e-pošte mi je bio zatrpan upozorenjima

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 4


INTERVIEW
prvog dana rada servera. Ali þinjenica da smo moje uþešüe u projektu bilo neznatno, dovelo
bili meÿu prvim korisnicima RealAudia isplatilo me je u kontakt sa osobljem u Sorosu - New
nam se u 2001. kada nam je bio potreban York, koji su mi kasnije pomogli u uspostavljanju
RealServer software za Beogradski tribunal Tribunal Live, i sa izvrsnom osoblju u Fond
server i naknadne kapacitete streamova tokom Otvoreno Društvo u Sarajevo. Menager projekta
špica. Real je donirao software i pristup njihovim VUSUS, Sjaak Schuurman, napustio je Vrije
RealNetwork streaming serverima u onim Uiniversitet prije nekoliko godina, i postao
danima kada xs4all-ovi serveri nisu mogli menager istraživanja i razvoja u SurfNet,
podnijeti potražnju. I Real-ov CEO Glase Family Nizozemska ekvivalenta CarNeta. Sjaak i
Foundation je donirao US$50 000.00 za Brad njegove kolege u SurfNetu su mi dozvolili da
archive servere :-) postavim 10 GB disk u njihovom teletubbie
CBIPE/vukovar.unm.edu je uspiješno 3 godine serveru.
emitirao preko weba vijesti Radio Zagreba,
dnevnik BHT, kao i programe Radio 101 i Radio
Zida. Poþetkom 1998. trebao nam je veüi Od samog nastanka Domovina.net je
kapacitet za streaming, i ovaj put u susret nam radio na dostavi informacija, i vjerujem da
je izašao xs4all. CBIPE je idalje bio jedan od ne postoji osoba iz zemalja bivše
najposjeüenijih stranica na njihovoj mreži, i Jugoslavije koja je spojena na Internet
dopadao im se naš rad u vidu streaming media. koja nije do sada pristupala datotekama
Stavili su nam na raspolaganje njihov pothranjenih na serverima Domovina.net-a,
RealServer sa 400 streamova i domovina.net bilo da je u pitanju audio, video, tekst ili
domenu sa 500MB prostora. grafike. Sjeüam se vremena kada ste sve to
obavljali ruþno, snimajuüi
satelitski program RTV BiH.
Zašto? Koja je vaša nagrada bila
u svemu tome?

U vremenu o kojem sada


razgovaramo, 486 kompjuteri su i
dalje vladali - i bili su taman
dovoljno snažni da encodiraju video
u 'real time'. Tako da je naša ulazna
video kartica pothranjivala sirove
datoteke na disketu, koja je potom
bivala pretvarana u Real format pri
drugom prelazu. Streaming Internet
Video nije bila realna moguünost u
tim ranim danima, jer je veüini ljudi
u dijaspori brzina prikljuþka na
internet i brzina/snaga njihovog
kompjutera bila nepodesna tome. I
Jedno vrijeme, skoro sav internet pored toga, bili su željni vijesti iz domovine, tako
saobraüaj ka i od Bosne je išao kroz vas i da smo uspostavili servis gdje je bilo moguüe
ugovore koje ste pomogli uspostaviti, poslati veüu kovertu u kojoj bi stavljali $ 5.00, i
naroþito u vidu spajanja Univerziteta u BiH, poslali bi smo im posljednju VHS kasetu sa 4
recite nešto o tome ... sata programa BIH Sat-a. Nagrade su stizale
putem e-pošte svakodnevno, od osoba koji su
opüenito govorili 'ne možemo priþi bliže svom
Saobraüaj nije išao preko mene, veü kroz domu od CBIPE, molim vas da nastavite', ali isto
Unilink, dedicated Internet Satelitska konekcija tako i u ponudama kao 'Reci te nam kada
izmeÿu mreže Vrije Universiteta u Amsterdarmu budete putovali za Bosnu, familija nam je tamo,
i Universiteta Sarajevo. Projekt su vodili VUSUS, i uvijek ste dobrodošli'. Ustvari, odstajao sam sa
jedna mala grupa volontera, inaþe zaposlenih na nekoliko familija u mjestima gdje nije bilo hotela
Vrije Universitetu. Projekt je vrijedio 800 000 ili pansiona, naroþito u prvim godinama, i uživao
DM i sponzorirao ga je Soroš i Nizozemska u ponuÿenom gostoprimstvu i prijateljstvu.
Vlada. Uspješno je trajao tri godine. Mada je

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 5


INTERVIEW
sudnice i, nabavili smo Soros/Press Now grant
Uþinili ste više za RTV BiH no što su oni što je omoguüavalo da FreeSerbia postavi relej-
mogli ikada sami za sebe nudeüi njihove RealServer i arhivu Tribunala u Beogradu, i omo-
programe kao media stream, i neko vrijeme guüili smo Universitetu Bard u New Yorku da
ste ih pokušavali nagovoriti da se pridruže uspostavi na mreži arhivu Miloševiüevog procesa
pokretu, i pored toga što su se opirali i na engleski, bosanski/hrvatski/srpski i albanski
branili tome. Kako je poslovati sa menta- jezik. Zadnja dva, za malu nadoknadu, održava
litetm 'status quo', i dali je sada išta bolje? FreeSerbia. Sva tri arhiva su naravno na XS4ALL
mreži. Od poþetka Miloševiüevog suÿenja,
Tribunal Live je takoÿe imao pristup svjetskoj
Nažalost, mentalitet status quo vremenom mreži streaming servera koje operiše Akamai,
postaje sve jaþe, i to ne samo u RTV BiH. posredstvom Radio Slobodna Evropa/Liberty TV.
Osjeüam da je ovo u velikoj mjeri zbog Meÿu- U isto vrijeme je XS4ALL dodao Windows Media
narodne Zajednice, koja je prva stvorila mo- Server koja može podnijeti naknadnih 50 000
nstruma imenom Dejtonski Mirovni Sporazum i streamova uživo.
koja sada nema volju da govori u ime nezavi- Sveukupno, projekt je do sada primio nekih
snosti Crne Gore i Kosova. Mislim da to inspiriše US$200 000.00 u vidu podrške, ne raþunajuüi
politiþare svih strana u BiH da održe status quo cijenu datatraffic, i zahvalan sam na povjerenju
da bi bili spremni kada doÿe do ocijepljenja - koje mi je pruženo. Tokom dolazeüeg ljetnjeg
nezavisnosti kada se neizbježno desi sa prekida u radu Tribunala, proširit üemo servis
Kosovom i Crnom Gorom. tako da üe ukljuþivati live video stream iz
sudnica II i III na B/H/S, engleski i albanski.
ICTY Outreach Program i Public Information
U zadnjih nekoliko godina, Domovina.net
Service sada smatraju naš internet prenos kao
se preobrazio još jednom, i od portala i
integralni dio njihovih operacija. Prošle sedmice
istinskog izvora medija i informacija, i
su donirali 15 njima nepotrebnih komputera na
specijalizirao se na Meÿunarodni Kriviþni
kojima namjeravamo obavljati proširene servise.
Tribunal za bivšu Jugoslaviju (ICTY -
Ponosan sam þinjenicom da sam dokazao kako
International Criminal Tribunal for the
je potrebno da meÿunarodne sudnice 'vidljive' -
former Yugoslavia). Ovo je veliki i ozbiljan
ili providne, ako vam više odgovara - i da je
projekt. Reci te mi nešto o tome...
internet medij kojim se to postiže. Novo-
osnovana ICC stranica i njegov CMS rade na
Prvi proces prije ICTY-a (Tadiü) je bio XS4ALL serverima i oni üe streamovati sve nare-
emitovan uživo, preko satelita, tako da su to dne sudske procese preko interneta, uživo u dvi-
mogli pratiti svi u Evropi. Ovo je izveo Internews je verzije, za sporije internet veze i za broad-
sa sredstvima iz US State Departmenta i band. Prije dva mjeseca posjetili su me nekoli-
Evropske Zajednice. Ali nakon 18 mjeseci, cina tehniþara Evropskog Suda Ljudskih Prava u
sredstva su prekinuta i pokrivanje procesa Strassburgu, koji su zapazili Tribunal Live.
Tribunala je faktiþki prekinuto. Do tada sam Naroþito ih je impresionirala þinjenica da naš
skupio dovoljno iskustva sa 'živim' prenosom servis saþinjen od više jeziþnih izvora. Kada smo
Internet Audia, tako da sam odluþio da pokušam pokazali tim dobrim ljudima našu uspostavu
pronaüi potrebne dolare i podršku da to uradim. aparature u Hagu, odveo sam ih u XS4ALL, na-
XS4ALL je prihvatio ideju i donirao infrastru- ravno, i ovog mjeseca poþinje proba emitovanja
kturu, RealServer i datatraffic. ICTY nije imalo iz Strassburga. Nisam ukljuþen u ICC ili ECHR
pojma o tome šta je streaming Internet Audio, projekte ni na koji naþin - ove institucije
ali su mi dali odobrenja da postavim 6 strojeva u prihvataju þinjenicu da jednostavno moraju nu-
njihovim prostorijama i da to prikopþam na diti servis kao što je Tribunal Live, i to je izvr-
njihov interni audio sistem. Jonathan Peizer iz sno. Nastavit üu voditi Tribunal Live do 2007/8,
Sorosa, u posjeti Amsterdarmu za pregovore sa kada se oþekuje da se ICTY zatvori.
VUSUS, podržao je ideju i omoguüio US$16
000.00 za nabavku kompjutera i za dva ISDN
ýetri su izrazita pricipa prisutna na
prikljuþka, koja su povezivala tribunal sa
Domovina.net od prvog dana: Istina,
AX4ALL. Ovaj sistem, koji takoÿe daje i foto-
Pravda, Humanitarnost i Demokracija. U
grafiju sudnice svakih 30 sekundi, smo polagano
sluþaju Istine i Pravde, rad koji
ali sigurno poboljšavali. ISDN linije smo zami-
Domovina.net odavlja u vidu Tribunal Live
jenuli ADSL-om, dodali smo video snimak iz

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 6


INTERVIEW
sa Meÿunarodnim Kriviþnim Sudom za
bivšu Jugoslaviju je najupadljiviji ... Ne interesuju me samo slobode medija u
zemljama bivše Jugoslavije, veü slobode medija
svugdje. Pomogao sam takoÿe drugim inicija-
Tribunal možda jeste najupadljiviji, ali ne i tivama, kao npr. Kurdski radio, gdje ne postoji
jedini projekt. Informacije o masakru u slobodan medij, gdje nema demokracije. Roÿen
Srebrenici, koje smo sakupili kroz godine rada, sam 1951. i kroz godine mladosti, drugi svijetski
pomoglo je nekolicini zapadnih TV i produ- rat je bila ozbiljna stavka u našoj familiji - oþeva
kcijskih kompanija da naþine dokumentarca, od prva žena je umrla od gladi u zimu '44., njegov
kojih je najznaþajniji A Cry from the Grave. (zet) je poginuo '40. u bombardovanju
Takoÿe smo se pridružili uspiješnoj kampanji u Rotterdama. Da bi "nikada više" postala nešto
2000. protiv iseljenja Srebreniþkih izbjeglica iz više od šuplje fraze, odgajan sam da svi mi
Nizozemske kao i kampanju za Žene Srebrenice/ moramo uložiti truda u to.Ja jednostavno þinim
Francis Boyle tužbu protiv visokih þinovnika svoj dio. Situacija je uredna u mojoj državi, pa
meÿunarodnog i UN osoblja umiješanih u zašto ne pomoüi onima kojima je ta pomoü
katastrofu. potrebna? I, naravno, zabavno je i predivno
imati priliku upoznavati izvrsne ljude širom
svijeta :-)
Da preÿemo na Demokraciju. Bili ste u
bliskoj suradnji
sa Radio 101 u RTV Mostar
vremenu njiho- je bio jedan od
ve krize sa do- velikih uspjeha
zvolom za emi- na Domovini.
tovanje? Djelimiþno zb-
og entuzijazma
pojedinaca i
Ustvari, po- naprednog Ur-
þeli smo prije ednika. Zašto
njihovih proble- se prestalo sa
ma. Vladimir je tim?
rodom iz Zagre-
ba (gdje smo se
i upoznali) i po- U osnovi je
stavljao je na to bilo pitanje
dnevnoj bazi vi- budžeta. U to
jsti Radio 101 na vrijeme RTV Mo-
moj malešni RealServer koja je bila na njego- star je bio jako kratak sa parama, i postojala je
vom domenu na Universitetu New Mexico. Kada ideja da bi se njihovo prisustvo na internetu
su Tuÿmanovi pijuni skinuli 101 sa etera, stanica moglo komercijalno iskoristiti, kroz komerci-
je nastavila da proizvodi biltene novosti za jalno-propagandne poruke ili preplatu. Nažalost,
internet. BCIPE-ov mali server nije mogao zajednica u dijaspori nije (još?) spremna plaüati
podnijeti ogromno interesovanje publike, na- servis, i nisu uspijeli pronaüi dovoljan broj
ravno, tako da je moj prijatelj Jacques Schu- reklaminh klijenata. Tako da su ukinuli webcast
urman uskoþio sa 200 MB prostora na web- na osnovu financijske odluke.
serveru na Vrije Universitetu u Amsterdamu,
gdje smo nudili Real datoteke za pothranjivanje i
arhivu koja je zauzimala nekoliko mjeseci Sjeüam se kada smo emitovali naš
biltena. Nemam sumnje da je webcast umno- bosanski program radio stanice 4EB u
gome pomogao 101 okupiti 100 000 ljudi na Australiji, ne da je bilo pitanje slobode
trgu Bana Jelaþiüa na demonstracije koje su medija ili liþnih sloboda, ili da smo imali
navele vladu da izda novu dozvolu za emito- neke specijalne bisere mudrosti koje smo
vanje. željeli podijeliti sa ostatkom svijeta, ali
jeste bili uzbudljivo i veoma zabavno, i
imali smo ogromnu publiku iz cijelog
Zašto bi neko iz Nizozemske bio toliko
svijeta, i jedna stvar koju üu uvijek nositi
zainteresovan u slobode medija u zemlje
sa sobom je taj oslobaÿajuüi aspekt
bivše Jugoslavije?

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 7


INTERVIEW
tehnologije, koja je premošüivala razdaljine
i spajala ljude. Drugi takoÿe emitiraju me- ... Možda i bi, ali internet je medij koji je
dije preko interneta, ali nema toga mnogo, nemoguüe kontrolirat kao izvor informacija, i
i u svakom sluþaju ne oni za koje bi oþe- samim tim stvara strah kod spomenutih da se
kivali, i oni kojima je to i posao þiniti.Zašto takav sistem prepusti školskoj djeci, i da tim
je to tako po vašem mišljenju? sistemom, u osnovi, upravljaju stranci. Sreüom,
internet je nezaustavljiv, i siguran sam da dosta
dijece u Lužanima sada imaju prozor u svijet bez
Jedan problem kojim se ostali susreüu je da zastora koji bi politiþari željeli uspostaviti.
je audio/video streaming jako skupa
operacija. Na stranici Real-a
moguüe je zapaziti da su cijene za
server software i godišnja licensa
veoma skupi, i kada veü uspostavite
server(e), uskoro üe te primjetiti da
imate na tone datatraffic-a za koju
takoÿe morate platiti. Mi smo sretni
da XS4ALL amortizuje taj trošak u
naše ime.

Jedna stvar koja mi je zapala


za oko nekako od samog po-
þetka, Domovina.net je plaüao
za zaštitu autorskih prava za
sve audio datoteke na stranici
organizaciji Buma/Stemra.
Uzimajuüi u obzir broj MP3
stranica i moguünost skidanja datoteka sa
file sharing programima, zaþuÿujuüe je Pokušali ste uspostaviti prvi privatni
naiüi na nekoga ko se pridržava zakoskih internet kompaniju u Bosni, daleke ..
obaveza.

... 1999. U stvarnosti nije imalo šanse na


CBIPE je bila prva stranica u Nizozemskoj uspjeh. Strani investitori nisu mogli biti vlasnici
koja je nudila streaming audio (i meÿu prvih 200 firmi, PTT BiH nije bio spreman na bilo koji vid
u svijetu) tako da je došlo do toga da me je kooperacije, i iz oþiglednih razloga odbio sam da
Nizozemska organizacija za zaštitu autorskih poslujem sa HB ogrankom HPT-a koji je jarko
prava BUMA/STEMRA nazvala i postao sam želio biti naš upstream provider.
jedno vrijeme plaüeni savijetnik organizacije. U
osnovi, pomogao sam u sastavljanju mog
ugovora, koji je i dan-dans na snazi. Da budem Poslovanje sa Hagom, Nizozemskom vl-
iskren, BUMA nas tretira veoma pošteno, i adom, univerzitetima, Internet kompani-
naplaüuje samo nekoliko stotina Eura godišnje jama i novinarima se þini mnogo lakšim veü
za sav naš rad. sa izabranim predstavnicima u zemljama
bivše Jugoslavije, ali na liþnom i individu-
alnom nivou ste imali mnogo više uspjeha?
Humanitarnost. Brojni su humanitarni
projekti sa kojima je Domovina.net sura-
ÿivao, i poneki i nisu bili baš tako uspiješni, Podrška koju sam primao je bila, i još uvijek
i pored stvarne potrebe za tim projektima. je, ogromna, ali velika veüina dolazi iz zapadnih
Jedne koje se sjeüam je Projekt Lužani. Za sponzora. Ukoliko je ikako moguüe, izbjegavam
oþekivati je bilo da bi osobe na vlasti jedva da razgovaram sa politiþarima bilo gdje. Ne
doþekali ponudu da neko opremi þitavu mogu se sjetiti više od tuþe politiþara u cijelom
školu kompjuterima ... svijetu u kojim mogu uložiti povjerenje, i
polovica njih više nisu meÿu nama na ovom
svijetu. Rekavši to, veüina politiþara zemalja

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 8


INTERVIEW
bivše Jugoslavije, po mom skromnom mišljenju,
treba izbjegavati po svaku cijenu - i pokušavam Mirso Bajramoviü je uredio sadašnji
što je moguüe bolje uþiniti baš to. izgled Domovina.net-a, da li je re-design u
planu?

Kako uzvraüate na þinjenicu da ste živa


legenda u oþima mnogih? Zbog postepenog rasta Domovina.net-a i
zbog þinjenice da je smještena na raznim
doniranim serverima sa raznim operativnim
Nikako :-) sistemima, naša jedina opcija je bila koristiti
obiþni HTML kodirane stranice i sate provedene
u provjeravanju raspada linkova. U zadnjih
ASDF Developer Br. 5 je sadržavao nekoliko mjeseci, pregledavam seriju Sistema za
intervju sa vašim prijateljem i kolegom u Upravljanje Sadržajem (CMS - Content Mana-
radu na Domovina.net, Damir Tomiþiü gement Systems). Za sada typo3 i zope/plone
rekao je da ste savladali bosanski jezik. ostaju kao moguüe opcije i oþekujem da uko-
ýestitam, ocijena od 5 za upornost. Da li je mponujem jednog od njih u nekoliko narednih
bilo teško, i da li je istinito da naš jezik mjeseci. To üe nam dozvoliti da na pravilan
zvuþi kao bodljikava žica zapadnjacima? naþin organizujemo i pouzdano dodajemo sa-
držaje (posjedujemo daleko više od onoga što je
za sada na mreži). Kada veü postavimo osnovu,
Jeste. Moj je problem u tome što ne mogu odluþit üu tada dali je novi grafiþki design
iznaüi vremena da pohaÿam (veþernji) kurs potreban/poželjan. Mirsin design mi se izuzetno
jezika da bi pravilno studirao gramatiku i sliþno. dopada, i osjeüam da daje DN-u izgled drugaþiji
Moje znanje dolazi od praüenja vijesti, putovanja od dosadnih pre-konfigurisanih designa veüine
kroz regiju bez prevodioca i kroz razgovore sa CMS-a.
prijateljima i putnicima na autobusima i
avionima, koje naprosto izludim pitajuüi na
milijarde pitanja vezanih za jezik. Hajmo to Kamo dalje za Domovina.net? Šta je
postaviti ovako: tokom moje prve posjete 1995., ostalo da se postigne?
išao sam u samoposlugu ukoliko mi je bilo što
trebalo. Sada, imam hrabrosti uüi u granap, i
obiþno izaÿem sa onim što sam želio uzeti :-) Ostanite na vezi :-)

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 9


TEMA BROJA

WINDOWS ALTERNATIVE

Apple Mac - Još jedna alternativa


< Sead Alispahiþ >

I
T istoriþari üe tvrditi da je Apple napravio par grešaka i da je nekoliko puta bio
pred kolapsom. Jedna od najveüih grešaka je þinjenica da su tužili svakoga i
sve ko je pokušao da napravi Mac clone. IBM je sa druge strane dozvolio svima
da prave klonove. 1990 godine Apple je bio pred uništenjem.

Za Microsoft kažu da ima þetiri stadija pre- Istorija-Historija-Povijest


uzimanja tehnologija. Prvi stadij je negacija, ka-
da ljudi iz Redmonda pokusavaju da zaborave Apple je poþeo život prije nego je veliki broj
sve što se dešava oko njih. Ništa se ne dešava vas koji ovo þitate bio roÿen. 1976 godine Steve
mimo veü ustaljenog tempa. To što se dešava Jobs i Steve Wozniak su u Jobsovoj garaži
oko nas je loše i garantovano üe proüi vrlo brzo. sastavili prvi Apple, zvani Apple 1. Fakt da je to
Kada taj stadij prodje, jer sakrivanje u üošak bila samo kutija kojoj ste trebali dodati sve da bi
nikada ne radi, Microsoft se prebaci u mod radila je uticala na jako lošu prodaju prve ge-
konfrontacije. Kada je u tom modu, þitav Re- neracije Apple kompjutera. Tek 1981 godine IBM
dmond vidi samo jednog neprijatelja. PR ma- izbacuje svoj prvi PC. 1983 godine Apple stavlja
šinerija se baci u pravljenje novinskih þlanaka, prvi GUI na PC. Veliki broj ljudi misli da je Apple
websiteova i þega sve ne, a u cilju blaüenja su- "izmislio" GUI, što nije taþno. gui je "izmišljen" u
parnika i njihovog proizvoda. Kada ni to ne upa- Xerox laboratorijama u Paolo Altou par godina
li, jer zašto bi, ukoliko je proizvod dobar, Micro- ranije. Prvi Mac kompjuter se pojavljue 1984.
soft se prebacuje u mod podrške. Onda sve što
je vezano za tu tehnologiju dobija podršku od
Microsofta. Treüi stadij je asimilacija i uništenje.
Kada se Microsoft dokopa neþega, on to pro-
mijeni i unaprijedi da je s tim, šta god da je to,
jedino moguüe raditi na Windows platformi.
Nakon svega toga, ljudi pomisle da je taj proi-
zvod nastao u Redmondu.
Oni koji prate zbivanja u IT industriji, znaju
da je kroz sve to gotovo prošla (još uvijek
prolazi) JAVA, trenutno prolazi UNIX, u stvari
FreeBSD variacija na UNIX i prolaziti üe u nare-
dnim godinama nebrojeni proizvodi i tehnologije.
Jedni od rijetkih koji uspjevaju da se odbrane od
Microsoftovih nasrtaja su Apple, prizvod jaþi
"drugog" PC-a.

Steve Jobs

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 10


TEMA BROJA

IT istoriþari üe tvrditi da je Apple napravio par okreüe onim krajnjim korisnicima, a ne power
grešaka i da je nekoliko puta bio pred kolapsom. userima, ili nedajbože developerima.
Jedna od najveüih grešaka je þinjenica da su Interesantno je da je i Adobe, inaþe jedna od
tužili svakoga i sve ko je pokušao da napravi najpoznatijih kompanija na svijetu i koji su imali
Mac clone. IBM je sa druge strane dozvolio sa Apple-om veoma dobru saradnju poþela da se
svima da prave klonove. 1990 godine Apple je buni, pokazujuüi na svojoj stranici da je Mac u
bio pred uništenjem. Od tada pa narednih 6-7 odnosu na moderne PC-eve zaostao u razvoju.
godina Apple pokušava na sve naþine da se izba- Apple se malo ljutnuo, ali izgleda da je poruka
vi iz jame u koju su se sami zakopali. Jedan od nije pogodila tamo gdje treba, jer je na Apple
koraka ka oþuvanju Apple-a je i povratak Steve tanjiru sve važnije od pravljenja još boljih alata.
jobs-a kao CEO-a, jer je on napustio Apple još
1985 1997 godine su napravili do sada najpa- Produktivnost
metniju i najsmjeliju odluku, a to je da povuku
crtu i krenu iz poþetka. 1997-98 Apple je odluþio Takoÿe je sada popularno mišljenje da MacOS
da zaboravi kompjuterski obrazovane ljude, koji X može koristiti i UNIX software, jer je pobogu
su veü postali korisnici WIntel mašina i da se pravljen na UNIX osnovi. To je samo djelimiþno
okrenu ka ljudima koji su gledali na raþunare taþno. Moguüe je voziti UNIX software na OS X-
kao prekomplikovane kutije koje rade þuda i to u, ali koliko je to dobro i stabilno, to je druga
uz pomoü magije. Dobro došao iMac, prozirno stvar. Ja sam do sada pokušao da instaliram
þeljade koje dolazi u raznim bojama. Do dolaska OpenOffice i što je najsmješnije, uspio sam u toj
iMac raþunara, raþunar je smatran za alat, a od nakani, ali to bi bilo to. Na MacOS X openOffice
dolaska iMaca, raþnar se može smatrati že- paket je apsolutno neupotrebljiv. Pokušate saþu-
nskom tašnom, visokom štiklom, accessory. vati nešto i naravno, sistem padne. Šteta.
Nešto što nam nije neophodno, ali dobro izgleda. Naravno, u trenutku u kojem ovo pišem,
Da bi podvukli tu crtu, Apple poþinje prodavati možda postoji neka verzija koja radi bolje, za
kutije za iMac, koje su koštale nekih 100 KM, nadati se.
tako da ste mogli kupiti razliþite kutije ukoliko To naravno ne znaþi da ne postoje druge alte-
promijenite izgled i boju sobe. Ah, da, iMac je rnative, recimo Microsoft pravi Office za Mac ko-
bio bukvalno ukljuþi u struju, ukljuþi u telefon i ja je gotovo 100% kompatibilna sa Windows ve-
surfaj. Sve je bilo namješteno koliko je moguüe rzijom office paketa, što üe reüi, nije baš tako
bolje i jednostavnije za korisnika. loše. Macromedija sve svoje alate pravi i za Mac
Steve Jobs je pokušao u nekoliko navrata da tuži platfoprmu, Adobe isto tako. Gotovo sve veüe
sve i svakoga ko je radio nešto po pitanju 'ulje- aplikacije možete naüi na Mac platformi. Takoÿe
pšavanja PC-a", sve dok mu nije reþeno da treba napomenuti da uz Apple dobijete popri-
Apple nema patent na prozirnu plastiku. Od tada liþno pristojan paket zvan AppleWorks koji ima
su poþeli da prave PR kampanje, kakve nisu vi- word processor, prezentacije, grafike i još po-
ÿene u PC svijetu. Unajmljuju najbolje reklamne nešto.
agente (tadašnja "nova buba" i iMac imaju istog
reklamnog agenta) 2002 Flatpanel iMac se
pojavljuje i novi operativni sistem OS X baziran
na NeXT UNIX-u, koji je opet baziran na
FreeBSD.

A Šta Tu Ima?

Istini za volju, svega, od Office applikacija, do


grafiþkih, video-audio edittinga, razvojnih alata i
tako dalje i tako dalje. Razlika izmeÿu Apple Mac
svijeta i ostatka univerzuma je cijena. Naime, u
Mac okruženju, korisnik plaüa sve. Rijetke su
stvari kao što je freebee i stvari koje uzimate su,
u principu slabije kvalitete i dobro skuplje od
njihovih pandana na drugoj strani. Što dobiješ
na mostu-izgubiš na üupriji. to je i razumljivo jer
je mala baza korisnika software-a, mali je broj
proizvoÿaþa software-a, a i Apple se sve više

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 11


TEMA BROJA

Razvojni Alati

E, tu je Mac gotovo dobar kao i Windows. na


OS X platformi postoji nekoliko veoma dobrih
alata. Jedan od njih je i REALBasic, serijal o
kojem ide u ASDFDeveloper magazinu veü neko
vrijeme. To je visualno BASIC okruženje, koje je
pravljeno da bude što bliže VB-u na windo-
wsima. trenutna inkarnacija, 5, je dostupna i na
Windows platformi.

Browseri

Svi poznatiji browseri su dostupni i na Mac OS


X platformi. IE je na Mac-u puno slabiji nego
njegov roÿak na Windowsima, ali je zato
Netscape puno bolji na Mac platformi, nego na
windows. Naravno i dalje ima bubica, ali je na
Mac platformi stabilan kao što se može oþekivati
JAVA je programski jezik omiljen meÿu Mac od normalnog proizvoda. Opera takoÿe ima
programerima i omražen meÿu Mac progra- verziju za Mac, a i sam Apple je napravio novi
merima. JAVA vas tjera da radite odreÿene browser baziran na Konquerer, open source
stvari, koje se protive vizualnoj filozofiji Apple-a. browseru za linux platformu. Sve u svemu, na
Bilo kako bilo, na Mac platformi je dostupan Mac platformi rat browsera i dalje traje ne-
JBuilder, tata svih JAVA development enviro- smanjenom žestinom i izgleda da Microsoft, ba-
nmenta. Ako ste ga nauþili na Windows pla- rem na ovom polju gubi bitku.
tformi, ovo je kao da ste kod kuüe.

Moja Dva Centa

Sve je to isto. Windows, Linux, OSX, sve je to isto. Razlike su u pristupu stvarima.
Ukoliko vam je bitno i to da vam kutija koju koristite izgleda stilski, a ne samo da
bude tegleüa marva, onda je Mac definitivno proizvod za vas. Ukoliko ste se umorili
od Windows-a i želite promjenu, a nemate živaca da uþite nove stvari, Mac OSX je
definitivno za vas. Windows platforma nije ništa bolja, niti gora od drugih. Razlog za
promjenu ne leži tu, veü negdje drugo, a to morate vi sami pronaüi.

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 12


TEMA BROJA

WINDOWS ALTERNATIVE

Pingvin uz prozor
< Mirza Muharemagiþ >

N
edavno þitam u novinama: "Linux ili Windows – te debate više nema. Danas je
realitet Linux i Windows" [1]. I stvarno je tako. Doba predrasuda i
bespredmetnog argumentiranja je prošlo, Linux je s obje noge i to na velika
vrata ušao i u amatersku informatiþku scenu i postaje sve jaþi. Medju profe-
sionalcima je Linux veü odavno svakodnevnica, prednosti i mane oba operativna
sistema su poznata i ko se danas želi zvati profesionalcem mora poznavati oba.

Od trnja do da Linux nije slabiji ili bolji Windows nego jedan


zaseban operativni sistem, sa svojim mana i
zvijezda
vrlinama kao i svaki drugi. Sliþnosti izmeÿu ovih
opera-tivnih sistema sigurno ima i to trebaju svi
Kada se kaže
pre-laznici iskoristiti, meÿutim razlika ima puno
Linux, odmah se
više i od njih ne treba bježati, nego ih uspješno
misli na skoro
savladati. Prvi problemi poþinju sa razliþitim
neicrpan izvor
Linux distribucijama. Koju distribuciju izabrati,
software-a, od
Red Hat ili SuSe ili Mandrake ili ... I šta je
alata za admini-
uopšte Linux distribucija, jesu li to kao novija i
straciju sistema
starija verzija Windowsa? Opis 3 najpoznatije
do profesiona-
distribucije možete naüi u drugom dijelu ovog
lnih baza. I to apsolutno besplatno. Naravno ima
þlanka, ali u svakom sluþaju nijedna od gore
i dosta komercijalnih aplikacija za Linux, meÿu-
spomenutih distribucija neüe biti pogrešan izbor.
tim izbor na open-source programima je puno
Sljedeüi problem ili bolje reþeno predrasude
veüi. Medjutim, najveüa mana ili bolje reþeno
vezane za Linux poþinju sa instalacijom Linuxa.
problem Linuxa je njegov loš imidž. Do prije 2-3
Prije je instalacija predstavljala relativno dug
godine je instalacija Linuxa bila stvarno bila pain
proces (u odnosu na Windows instalaciju), me-
in the a*s. A to je samo poþetak i pitanje je šta
ÿutim vremena su se promjenila. Danas se ve-
dalje ?! Gdje su oni fini šarenkasti prozori, gdje
üina distribucija instalira isto teško kao i
je Internet Explorer, Outlook Express,
Windows 2000 ili XP; ubacite prvi CD, izaberite
Micro-soft Office, raznorazni Adobe proizvodi
šta želite da instalirate, po potrebi ubacite i
od Photoshopa do PageMaker-a, šta üu sada
drugi, par puta kliknite na NEXT i OK, izaberite
bez Dreamweavera ili WinAmp-a, kako da
username i password i rad sa Linuxom može
snimim CD, gdje je Nero ... Pitanja puno,
poþeti.
odgovora još više. Jer sve ove aplikacije imaju
Instalacija Linuxa traje sigurno 50% duže od
svoje konku-rente ili bolje reþeno saradnike i na
instalacije Windowsa, ali zato odmah na raþuna-
Linux siste-mu. Veliki problem leži takoÿe i u
ru imate najveüi dio aplikacija potrebnih za sva-
naþinu razmi-šljanja Windows korisnika odnosno
kodnevni rad od nekoliko browsera za surfanje,
Linux emi-granata, koji oþekuju da na isti naþin
2-3 email i irc klijenta, programe za pregled
rade na Linuxu, odnosno teško prihvataju ideju

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 13


TEMA BROJA

newsgrupa, grafiþke i audio programe, office prvi s tim problemom, ali ako jeste, ne zabo-
(biro) aplikacije i još mnogo toga. I uz sve to raviti da obavjestite Community. Za sva pitanja
potpuno besplatno i legalno. u vezi Linuxa posjetite BHWebmasters forum
Ali sa instalacijom se ne završavaju problemi [2] i naravno stranice specijalizovane za Linux
za svježe-peþene Linux korisnike. Šta raditi ako na našem jeziku [3-8].
Linux nije prepoznao našu novu GeForce 4
grafiþku karticu ili USB-
stick pravi probleme? Ovim rijeþima ne želimo da Vas obeshrabrimo
Linux ne (pre)poznaje pri prelasku na Linux. Naprotiv, želimo da Vas
drivere na isti naþin podstaknemo da upoznate Linux, da upoznate
kao Windows, auto- prednosti koje nudi u odnosu na Windows, da ga
instalacioni programi i nauþite koristiti i rješavati probleme ... Sve u
automatski updates su svemu, ne dajte se obeshrabriti, jer se sigurno
rariteti u Linux svijetu. neüete pokajati.
Ali zato na Internetu se
više-manje za svaki
problem nalazi i rješe-
nje. I budite ubjeÿeni, u 99.9% sluþajeva niste

Literatura i linkovi:
[1] c't, Magazin fuer Computertechnik, str. 114, broj 12/2003
[2] BHWebmasters Forum, http://forum.bhwebmasters.org
[3] ULK - Udruženje Linux korisnika FBiH, http:www.//linux.org.ba
[4] HULK – Hrvatska Udruga Linux Korisnika, http://www.linux.hr
[5] Linux Srbija, http://www.linux.co.yu
[6] Linuks.Org, http://www.linuks.org
[7] Linux Makedonija, http://www.linux.net.mk
[8] Društvo slovenskih uporabnikov Linuxa, http://www.lugos.si

Linux Distribucije jalitet odnosno dodatke od priozvoÿaþa. Svi


proizvoÿaþi patch-uju Kernel (srce Linuxa) na
Ako još niste imali ni- svoj naþin, dodaju svoje opcije i pokušavaju
kakvog kontakta sa tako da osvoje nove mušterije. Samim tim
Linuxom, onda nije razliþite distribucije imaju razliþite osobine, iako
þudno ako se zapitate im je osnova ista. Radi manjka vremena nismo u
šta su ustvari Linux situaciji da Vam predstavimo više distribucija,
distribucije. Linux di- meÿutim u svakom sluþaju pregledajte linkove
stribucija je grubo re- na kraju þlanka, jer tu možete naüi dosta
þeno Linux napravljen informacija o mnogim drugim distribucijama kao
od odreÿene firme ili što je Debian, LindowsOS, Slackware, LFS,
udruženja/grupa. Iako malo šturo zvuþi ova Xandros, Knoppix itd.
definicija, ovim želimo reüi da su sve distribucije Važan aspekt prilikom izbora prave distri-
ustvari Linuxi koji se jedan od drugog na prvi bucije je podrška za particioniranje hard diska.
pogled veoma malo razlikuju. Meÿutim razlike Veüina svježih Linux korisnika ne želi da obriše
nisu tako malene, i izbor prave distribucije je Windows, veü da paralelno koristi oba sistema.
þesto priliþno važan, a pravi izbor uštedi veoma Ako imate sreüe pa trenutno koristite Vaš
puno vremena. Windows na FAT particiji onda nema nikakvih
U ovom uvodu u svijet Linuxa üemo Vam problema. Sve tri izbrane distribucije su u stanju
ukratko predstaviti tri vjerovatno najzastuplje- da bez problema uz 2-3 klika mišem promjene
nije Linux distribucije: Red Hat, SuSe i veliþinu particije i prilagode disk svojim potre-
Mandrake [2-4]. Svaki od njih ima svoje mane bema. NTFS particije su veü problematiþnije.
i vrline i svaka distrubucija ima neki svoj speci- Linux je sposoban da þita New Technology File

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 14


TEMA BROJA

System (NTFS) koji je Microsoft uveo od NT bez problema kliknuti na NEXT dugme bez dužeg
verzije uveo, meÿutim ne i da piše po njemu razmišljanja. Mandrake automatski kreira
(Windows ne može da niti þita niti piše na Linux potrebnu particiju, smanjuje þak i NTSF particije,
particije). Zato bi NTFS particije isto kao i FAT opcije za namje-štanje funkcioniranja mreže
trebale biti smanjene i onda njihov format možete potpuno automatski sprovesti, grafiþka
promjenjen. Meÿutim za to je automatski spo- kartica se instalira bez ikakvih problema... Sve u
soban samo Mandrake. SuSe koristi za to svemu veoma jednostavno, iako uz puno
poseban Boot-CD. pitanja. Ali za sva pitanja na Mandrake stranici
Druga važna osobina, na koju bi se trebala imate objašnjenja na našem jeziku [5].
obratiti pažnja je podrška za hardware. Driveri Standardna Mandrake instalacija obuhvata 2
za Linux su još uvijek veoma þesto samo CD-a, meÿutim tu je i treüi. Na njemu se nalaze
apstraktna
tna imenica, iako veüina proizvoÿaþa dodatne serverske i mrežne aplikacije. Inaþe na
danas pokušava sa što manjim zakašnjenjem prva dva CD-a se nalazi dovoljno aplikacija da
(ali ipak sa zakašnjenjem) da napravi i drivere zadovolji svaki ukus.
za Linux za svoje proizvode. A ako to ne rade Specijalitet Mandrake je DrakConf za konfi-
prozivoÿaþi, onda üe to uraditi Linux community. gurisanje veüine opcija (Control Panel) kao i
Meÿutim neko ko tek poþinje koristiti Linux RpmDrake zadužen za instaliranje novih pro-
sigurno nije željan igrarija sa programskim grama. Sigurno je pitanje ukusa da li üe se
kôdom. U svakom sluþaju morate da znate da svima dopasti RpmDrake, meÿutim moje je
sve distribucije imaju problema sa najnovijim mišljenje da je dosta bolji i pregledniji od
hardware-om, ako proizvoÿaþ nije izdao driver. Windows aplikacije za dodavanje i brisanje
Meÿutim, ako je Vaš raþunar veü 6-7 mjeseci software-a. Start menu je veoma lijepo i pregle-
star, onda ne bi trebalo da bude problema. Zato dno odnosno tematski podijeljen i veoma je
ne zaboravite da provjerite na oficijelnim praktiþan za nove korisnike.
stranicama odreÿene distribucije, da li njihov Sve u svemu, Mandrake je jednostavan i
Linux podržava Vaš hardware. veoma uspješan Linux i veoma pogodan za nove
Na kraju Vam ostaje samo da izaberete naþin korisnike. Veoma je user-friendly i standardno
kako üe te doüi do željene distribucije. Uz malo radi sa KDE grafiþkim interface-om. Nudi dosta
sreüe imate prijatelja ili poznanika koji posjeduje pogodnosti i korisnici koji nisu viþni radu na
instalacione CD-ove. Ako ih nemate, ali zato konzoli (command line), ovdje üe naüi jedan
imate brzu Internet vezu, onda možete skinuti stvarno lijep sistem. Download [6].
ISO file-ove koje možete snimiti na CD. Takoÿe
od svakog proizvoÿaþa kao i mnogih firmi širom
svijeta možete naruþiti komplet CD-a uz koje Red Hat 9
uglavnom doÿe i knjiga o distribuciji koja je
uglavnom veoma korisna za poþetnike. Nemojte Red Hat (RH) je
oþekivati da üe Vam pružiti sve što Vam ikada vjerovatno najpo-
bude trebalo za Vaš sistem, ali u svakom može znatija Linux
poslužiti kao prva pomoü. distr-ibucija.
Jedna je od
najstarijih dis-
tribucija i Red Hat
Mandrake 9.1 ime stoji za dobru
reputaciju i sigu-
Možda se pitate rnost. Red Hat je
zašto sam stavio defakto
Mandrake na pr- standardni Linux
vo mjesto. Po sistem na sjeverno-ameri-þkom kontinentu, dok
mom mišljenju je je u Evropi više zastupljen SuSe.
Mandrake najpo- Instalacija je veoma jednostavna i sliþna Ma-
godnija distri- ndrake-u. Red Hat podržava više hardware-a od
bucija za poþetni- Mandrake-a, meÿutim bolna taþka je što ne
ke. Instalacija je može automatski da smanji FAT particiju, što
veoma jednosta- prisiljava usera da to ruþno uradi prije instalacije
vna i u 90% koristeüi druge aplikacije. Red Hat podržava i
sluþajeva možete najnoviji hardware i tu može biti uzor drugim

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 15


TEMA BROJA

distribucijama. Prepoznavanje hardware-a funkcioniše primje-


Za razliku od Mandrake-a, RH koristi sta- rno i bez ikakvih problema kao i kod prva dva
ndardno grafiþki interface Gnome, a ne KDE konkurenta.
(kao Mandrake). Za korisnike amatere üe Druga osobina zbog koje je dobio osobinu
sigurno loša multimedia podrška biti jedan user-friendly je odliþna plug-n-play podrška za
minus poen. Mailing liste se þesto pune poruka o hardware kao i stvarno kvalitetno i pregledno
problemima pri korištenju muziþkih ili video file- uraÿen KDE interface.
ova. Meÿutim Red Hat distribucija je ipak namje- Yast2 se zove kontrolni centar za dodavanje
njena malo zahtjevnijim i više informatiþki orije- odnosno instaliranje i deinstaliranje aplikacija.
ntiranim korisnicima. RH nudi dosta serverskih Moje liþno mišljenje je da je ovo veoma dobra
aplikacija i administracionih alata i to sigurno ne aplikacija i þini rad odnosno instalaciju aplikacija
bez razloga jer je ovo najþešüe korištena distri- veoma laganom, što je veoma praktiþno za
bucija na serverima. Download [7]. newbies. Iskusni korisnici se þesto žale na rad
ove aplikacije jer Yast þesto ubacuje svoje ko-
SuSe 8.2 nfiguracione podatke u konfig file-ove aplikacija,
što stvara priliþan nered i otežava rad. Meÿutim
SuSe predstavlja za neiskusne korisnike je u svakom sluþaju
grubo reþeno ev- odliþno rješenje.
ropski odgovor Ako kupite orginalne SuSe CD-e, dobijate i
na Red Hat i pre- besplatan support. Meÿutim na SuSe support se
dstavlja sa RH mnogi žale, što se može vidjeti po raznim arhi-
najkorišteniju di- vima mailing listi. Red Hat je najzastupljeniji se-
stribuciju pogo- rverski Linux, meÿutim SuSe ni u þemu ne
tovo na njema- zaostaje za njim i sigurno je veoma uspjela i
þkom govornom kvalitetna distribucija sa opcijama za poþetnike
podruþju. kao i profesionalce.
Prvi i osnovni mi-
nus poen za je
malo þudna i si- Ostale važnije Linux distribucije
gurno ne-linuxoidna politika SuSe firme što se
tiþe downloada SuSe Linuxa. Naime, nije mo- Ovdje se nalazi lista ostalih važnijih Linux
guüe skinuti legalno SuSe ISO image file-ove s distribucija. Na ispod navedenim stranicama se
Interneta i to sigurno veomo puno utiþe na nalaze i download linkovi:
proširenost ove distribucije. Ali na sreüu, SuSe
nudi objašnjenje kako se može SuSe Linux x Debian, http://www.debian.org
instalirati preko FTP-a [8]. Na SuSe serveru x Slackware, http://www.slackware.org
možete takoÿe skinuti i tzv. SuSe Linux Live- x LSF – Linux From Scratch,
Eval u obliku ISO image file-a koji možete http://www.linuxfromscratch.org
snimiti na CD. Ovdje se radi o verziji koja neüe x LindowsOS (nije besplatan),
biti instalirana na Vaš hard disk, veü üe þitav http://www.lindows.com
Linux raditi direktno sa CD-a i veoma je x Xandros, http://www.xandros.net
pogodan ako samo hoüete da kratko isprobate i x Knoppix, http://www.knoppix.net
testirate SuSe. x Gentoo, http://www.gentoo.org
SuSe Linux je veoma user-friendly i instalacija
predstavlja dosadno klikanje na NEXT dugme.

Literatura i linkovi:
[1] c't, Magazin fuer Computertechnik, str. 118-120, broj 12/2003
[2] Red Hat Homepage, http://www.redhat.com
[3] SuSe Homepage, http://www.suse.com
[4] Mandrake Homepage, http://www.linux-mandrake.com
[5] Mandrake Informacije: http://gd.tuwien.ac.at/opsys/linux/mandrake/9.1/i586/
(pratite linkove za BOSNIAN, CROATIAN, SERBIAN)
[6] Mandrake Download: http://www.mandrakelinux.com/en/ftp.php3
[7] Red Hat Download: http://ftp.redhat.com/pub/redhat/linux/9/en/iso/i386/
[8] SuSe FTP Instalacija: ftp://ftp.suse.com/pub/suse/i386/current/README.FTP

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 16


TEMA BROJA

BSD - Berkeley Software BSD sistemi ne izlaze s novim verzijama tako


þesto kao Linux, što opet najviše ima uzrok u
Distribution komercijalizaciji Linuxa, odnosno nekomercija-
FreeBSD, OpenBSD, NetBSD lizaciji BSD-OS-a, ali i u temeljtosti i kvalitetnom
radu pri razvoj ovih sistema.
BSD sistemi se smatraju uglavnom sigurnijim
Kao što se u naslovu od Linuxa, meÿutim Linux je u velikoj prednosti
vidi BSD [1] stoji za što se tiþe hardware podrške. Driveri za BSD
Berkeley Software oeprativne sisteme su priliþno rijetki i malo
Distribution. Ime je egzotiþniji komad hardware-a þini instalaciju ve-
nastalo od Berkeley oma komplikovanim i dugim procesom.
Computer Systems Od nedavno nVidia (GeForce grafiþki þipovi) od
Research Group nedavno ima u svojoj kolekciji i FreeBSD drive-
(CSRG), odnosno gr- re. Da li je to znak dobre volje ili možda ipak
upi koja je izmislila uzimanje FreeBSD-a za ozbiljan desktop sistem,
BSD na Berkeley teško üemo saznati. Inaþe za drivere i druga
Univerzitetu [2]. Pod objašnjenja vezana za instalaciju i sl., ako ra-
BSD operativnim sistemima se smatraju 3 zumijete engleski jezik, prijavite se na BSD
sljedeüa sistema: mailing liste [4-6] jer je to sigurno najbrži naþin
da dobijete odgovor, i njihovi arhivi predsta-
x FreeBSD, vljaju veliki izvor informacija.
x OpenBSD i BSD sistemi su može se reüi, konzervativnije
x NetBSD dizajnirani i njihov razvoj ide sporije, meÿutim
uglavnom i temeljitije u odnosu na Linux.
Ako ste þuli za FreeBSD ili NetBSD onda ste se FreeBSD vrline se kriju u uni-procesor perfo-
vjerovatno zapitali koja je razlika izmeÿu ovih rmansama, NetBSD je poznat po svojoj porta-
operativnih sistema i Linuxa i zašto je Linux pu- bilnosti, dok OpenBSD zauzima prvo mjesto što
no popularniji od npr. FreeBSD-a. Jedan od se tiþe sigurnosti.
glavnih razloga za popularnost Linuxa je podrška BSD sistemi sigurno nisu toliko atraktivni ili
koju su našli kod korporacija, dok BSD opera- bolje reþeno poznati kao desktop sistemi u
tivnim sistemima nedostaju velika zvona, odno- odnosu na Linux, meÿutim BSD (osim u drive-
sno firme. BSD ima nekih osjetnih prednosti što rima) ne zaostaje ni u þemu za Linuxom i þesto
se tiþe mreža, ali se firme interesuju za troškove nude puno više. Instalacija je problematiþnija u
i dobit više nego za sigurnost i tehniþke pre- odnosu na Linux, meÿutim veüina korisnika neüe
dnosti [3]. BSD operativni sistemi su isto kao i imati veüih problema pri instalaciji. Naravno
Linux tzv. UNIX-like operativni sistemi, što znaþi moraüete se malo više potruditi da konfigurišete
da se u osnovi baziraju na UNIX-u. Meÿutim isto hardware, ali to je vrijedno ovako dobrih si-
kao i Linux, oni su se razvili u posebnom smije- stema. I na pitanje da li Tux ili Chuck, možete
ru, ali su razlike izmeÿu pojedinih BSD sistema spremno odgovoriti Tux i Chuck.
veüe nego izmeÿu Linux distribucija. Takoÿe

Literatura i linkovi:
[1] BSD.org, http://www.bsd.org
[2] Berkeley Univerzitet, http://www.berkeley.edu
[3] The OS Wars: BSD vs. Linux, http://www.newsfactor.com/perl/story/19558.html
[4] FreeBSD mailing liste: http://www.freebsd.org/support.html#mailing-list
[5] OpenBSD mailing liste: http://www.openbsd.org/mail.html
[6] NetBSD mailing liste: http://www.netbsd.org/MailingLists/

x Grafike su vlasništvo autora: SuSe AG (SuSe Logo), Mandrake Inc. (Mandrake Logo), RedHat
Inc. (Red Hat Logo), Marshall McKusick (BSD Daemon).

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 17


TEMA BROJA

SOLARIS 9.0 pogotovo na komercijalnom polju, jer firme ne


moraju nabaviti skupe SPARC raþunare veü
mogu na postojeüim Intel raþunarima koristiti
Nedavno je Solaris.
izašao Solaris Ali ... Ima uvijek jedno ali. Nedavno je
v9.0. I ??? Da verzija 9.0 osvanula na jednom od stolova u
li nekoga to kancelariji. I naravno odmah su se svi skupili da
interesuje ?! isprobamo novu verziju Solarisa. Meÿutim
Ja mislim da instalirati Solaris na Intel raþunaru je lakše reüi
bi trebalo, jer nego uraditi. Na standardnom PC-u koji je
je Solaris si- sastavljen od proizvoda bezbroj razliþitih ko-
gurno jedna mpanija, Solaris üe zauvijek ostati misaona
od moguüih imenica. Ali na orginalnim IBM i Compaq maši-
Windows alte- nama, ovaj sistem radi više nego dobro. Na IBM
rnativa na komercijalnom tržištu. Solaris nije ThinkPad laptopu Solaris je proradio bez veüih
kao Linux ili BSD besplatan za komercijalnu problema.
upotrebu, ali jeste za privatnu upotrebu [1]. On nije sigurno tako sreÿen i organizovan kao
Meÿutim to ne znaþi da ga tek tako možete Linux i sigurno se neüe nikada probiti kao ope-
instalirati kod kuüe na Vašem PC-u, jer je Solaris rativni sistem za desktop raþunare. Solaris je
predviÿen za SPARC raþunare, koje sebi rijetko operativni sistem za servere i ima dugu i kvali-
koji privatni korisnik može priuštiti. Ali postoji tetnu istoriju na tom polju. A pošto ga je mogu-
takoÿe i verzija za Intel raþunare, koju možete üe instalirati i na Intel sistemima, sigurno je
skinuti za $20 sa Sun stranice [1]. U tom vrijedan truda. Za više informacija posjetite i
sluþaju je Solaris odliþna Windows alernativa Solaris Forume [2].

Literatura i linkovi:
[1] Get Solaris Binaries, http://wwws.sun.com/software/solaris/binaries/get.html
[2] Oficijelni Solaris Forumi: http://supportforum.sun.com

WINDOWS ALTERNATIVE

Alternativa MS-u na polju Office alata


< Danijel KovaĀiþ >

M
islite da ste primorani (ko što reþe jednom jedan pozanti i citirani Doktor)
koristiti MS Office aplikacije kod kuüe i na poslu? Razmislite još jednom, pošto
je revolucija u toku, i ovaj put se þini da je Imperija naišla na dostojnog pro-
tivnika u Open Source zajednici. Narodni heroj, doslovno, je OpenOffice.org
Kada govorimo o prelasku na alternative veli- OpenOffice.org je dogurao do 1.1 Beta 2 izda-
kom MS-u, onda sa osmijehom vam možemo nja, i nikada nije izgledao privlaþnije niti moüni-
saopštiti radosnu vijest, a to je da na polju dosa- je. Slabo koja popularna i korisna osobina MS
dašnje neprikosnovene dominacije, u Office apli- Offica nije zastupljena, i ka tome pride dobijate i
kacijama, imate adekvatnu zamjenu. pregršt drugih osobina na poljima gdje gigant iz
Redmonda polako kaska.

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 18


TEMA BROJA

Prvo najbitnije. MS izdaje verzije Office apli- što su Aportis (Palm), Pocket Word i Pocket
kacija, naravno, za Windows platformu. Ka tome Excel. Inaþe, prirodni format OpenOffice.org je
još imate izbor da sebi nabavite MS Office za XML. Moguüe je pisati sa ljeva na desno (ništa
Mac, ukoliko naravno imate Apple Mac, i manje mudro), sa desna na lijevo (pozdrav prijate-
više, tu se kolo zatvara. Cijene su za Win ljskim zemljama bliskog i srednjeg istoka), odo-
platformu od US $350.00 za Standard verziju, zgo na dole (daleki istok) i odozdo na gore (Au-
do US$550.00 za MS Office XP Developer. stralija i Novi Zeland – Down Under!).
Naravno, moguüe je proizvod dobiti po sniženoj Kada je kompatabilnost sa MS Office alatka-
cijeni uz malo pretrage, ili za još nižu pri ma rijeþ, sadašnja dostignuüa su impresivna, i
kupovini novog sistema ili jednog od glavnijih na njima se stano nadograÿuje. Ne bi bilo po-
sistemskih komponenti (OEM Verizju). šteno niti istinito reüi da ne postoji razlika u pri-
I dugo vremena to je bilo to! MS Office je þak kazivanju dokumenta, recimo u Writeru naspram
bio i jeftin u usporedbi sa konkurencijom od prije MS Word-a, ali za potrebe obiþnog korisnika, bilo
4-5 godina. Ali kao što znamo, veüina konku- u amaterskim ili profesionalnim uslovima, te
renata je otišlo bestraga, i u atmosferi MS domi- razlike su minimalne, i lako prevaziÿene.
nacije, cijena koju Microsoft zahtijeva za Office Kada su komande u pitanju, sve osnovne su lako
izgleda kao monopolistiþko ucijenjivanje. pristupaþne i prepoznatljive, i uglavnom se pri-
Enter the Dragon! Okove MS dominacije na polju državaju standarda uspostavljenim na sliþnim
Office aplikacija razbija OpenOffice.org Source aplikacijama. Tu je Tool Bar, Menu Bar, Status
Project sa draguljem nad kojim je nemoguüe Bar i sve ostale kerifeke koje inaþe tako ponosno
postaviti cijenu ... iz prostog razloga što se dijeli krase Office alatke. Vrijeme potrebno za pre-
besplatno! OK, reüi üe te, kada je cijena u pita- bacivanje korisnika sa jednog na drugi sistem je
nju, zbilja, OpenOffice.org je pristupaþan svima. zbilja minimala. Imajuüi to na umu, postoje
U svijetu Open Sourca Projecta, svi smo jednaki! razlike, koje nestrpljivim mogu predstavljati kost
Ali ta tvrdnja se ne zadržava samo na cijeni u grlu, ali logiþko razmišljanje vam je tu najveüi
proizvoda, veü zalazi mnogo dublje. Naime, prijatelj, i veüina radnji se samo od sebe ukaže.
OpenOffice.org pokriva spomenutu Win platfo- Aplikacije koje dobijate sa OpenOffice.org su:
rmu, Mac OS paltformu (X i X11), sve verzije
Linuxa i Solaris platformu. Mislim da neüu x OpenOffice.org Calc (spreadsheet),
pogrješiti ako konstatujem da MS Office nikada x OpenOffice.org Draw (Paint na steroidima),
neüe dostiüi toliku raširenost platformi. Rad je i x HTML Editor, Impress (Prezentacije),
dalje u toku na prebacivanje OpenOffice.org na x Alatke za DataBazu i Writer.
FreBDS i IRIX, da spomenemo samo neke.
Znaþi, u samom poþetku imate suþelje i osobine Lokalizacije su dostupne u 25 jezika (uklju-
aplikacije koje vas doslovno prate iz operativnog þujuüi i hrvatski), i toj listi se konstantno dodaje.
sistema u operativni sistem, totalno prenosivi OpenOffice.org je inaþe nastao kao dijelo Open
dokumenti nastali u tim aplikacijama, i kompa- Office.org zajednice, sa tim da je Sun Microsy-
tabilni sa MS Office aplikacijama. Open Office þi- stems osnivaþki þlan te zajednice. Projekte na
ta sve MS Office formate i vjerodostojno ih otva- kojim spomenuta zajednica radi je moguüe pre-
ra, mada posjeduje i svoj format, koju MS nara- gledati na:
vno ne podržava, što nije þudno, znajuüi MS.
OpenOffice.org u najnovijoj verziji podržava http://www.openoffice.org/project/projects/index.html
proširenu podršku formata datoteka, tako da je
moguüe dokumente pothraniti u PDF formatu, Kao usporedba, pogledajte koliko sliþnosti imaju
DokBook/XML, XHTML, Macromedia Flash (SWF) OpenOffice.org Write i MS Word na sljedeüim
formatu, kao i formate za prenosive naprave kao primjerima:

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 19


TEMA BROJA

Inaþe, pravilan naziv ove sjajne aplikacije je Ako šaljete dokumente kao e-mail, Open-
OpenOffice.org a ne jednostavno OpenOffice, Office.org üe se jednako sretno integrisati sa bilo
pošto pravo na to ime drži neko drugi. kojim e-mail klientom na sistemu, bilo Outlo-
Besplatna podrška je dostupna preko mailing okom, Eudorom, Mozilom, i veüinom open-
liste, tako da i pored þinjenice da je aplikacija source mail clientima.
besplatna, niste ostavljeni na milost i nemilost.

I to je to. Ukoliko ste korisnik OpenOffice.org-a, nema potrebe da vam više naglabam, a
ukoliko niste, mislim da je dovoljno reþeno da vam ovlažim apetit i da üete jedva þekati da
zagrizete u OpenOffice.org aplikacije. Neüete zažaliti.

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 20


BASICInstintc - RealBasic ( VII dio )

REALBasic

KLIENT - SERVER
< Sead Alispahiþ >

E vo nas pred samim krajem. Danas üete dobiti i ostatak znanja neophodan da
napravite aplikaciju do kraja. Hmmm, Socket!

Socket x 1 Socket

Soket je komponenta koja omoguüava da vaša x 2 Edit Field


aplikacija priþa sa drugim raþunarom, koji može x 2 Push button
biti na drugom kraju svijeta. Da imamo
vremena, sada bih vam pokušao objasniti sve Socket i dalje zovite Socket1, jednom edit fieldu
kako i šta se radi, ali nemam vremena, stoga, promijenite property multiline u true i ime u
molim vas da ostanete samnom. Valda üe sve txtResponse. Takoÿe mu dodajte i hori-zontalni
proüi dobro. scroll bar. Drugom promijenite ime u txtAddress.
Prvo šta trebamo je napraviti novi projekt ako Jednom dugmetu promijenite Ca-ption u
veü niste. Dakle otvorite vaš vijerni REALBasic i Connect, a drugom u Send. Sada bi vaša forma
krenete na posao. Dodajte na formu sljedeüe trebala da izgleda od prilike ovako:
komponente:

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 21


BASICInstintc - RealBasic ( VII dio )
Da dragi moji i drage moje prelazimo u malo üemo danas samo jednu stranicu da zatražimo i
mutne vode protokola. u ovom primjeru üu vam da je proþitamo..
pokazati najjednostavniji naþin da pokupi-te Sada je vrijeme da uradimo nešto konstruktivno.
informaciju sa web servera (pozvati üete str- Dva puta brzo kliknite na dugme na kojem piše
anicu). Taj isti sistem se koristi i za priþanje sa connect. U editor upišite sljedeüi text:
svim ostalim serverima. Jedina razlika je u pro-
tokolu i portu na koji pristupamo serveru. Socket1.address = txtAddress.text
Socket1.port = 80
Port Socket1.connect

Port nije ništa drugo nego vrata na koja kucamo. Ovdje kažemo našem Socketu da ode na adresu
Imamo vrata broj 80 na adresi toj i toj. Mi koju upišemo u txtAddress i da pokuca na vrata
znamo da je to web server. Wrata 119 su broj 80.
zadužena za NNTP i tako dalje i tako dalje. Znaþi Doubleclick dugme na kojem piše Send i tamo
kada mi napišemo u browser http://www. upišite sljedeüi kod:
ASDFDeveloper.com:80 mi kažemo browseru da
ode na tu adresu i pokuca na vrata broj 80. Socket1.write "GET http://most-
browseri su pravo pametni, pa ne moraju imati art.de/bhwm/" + hr(13) + chr(10)
te brojeve porta na kraju, osim ako ne koristite
neke posebne portove na svojoj mašini, što je pošto sam ja lijen da u jednom cugu preÿem i
vrlo lako uradivo. Sada kada znamo šta je to regularne izraze, ja üu pretpostaviti da üe u
port, adresu ne moram objašnjavati, barem se vašem txtAddress pisati most-art.de. Dakle
nadam, da se vratimo protokolima. ovdje kažemo Socket1 da na server napise "GET
http://most-art.de/bhwm/" + chr(13)+
HTTP protokol chr(10) što üe reüi. . ., pogledajte malo šta sam
priþao o protokolima.
HTTP, ili HyperTekst Transfer Protocol je set Kada smo to sve završili, ostaje samo da
komandi koje terba da razumije i klijent i server pokažemo šta nam to šalje server. U Socket1.
da bi komunicirali bez problema. Možete to DataAvailable upišite sljedeüi kod:
komotno zvati gramatika jezika, jer je to u stvari
taþno. Mi imamo jezik koji razumiju i server i txtResponse.text = txtResponse.Text +
klijent. me.ReadAll

HTTP metode Sada se konektirajte na web, kliknite na Debug-


Run, upišite u txtAddress most-art.de, kliknite
HTTP protokol može poslati razliþite zahtjeve od connect, a zatim kliknite Send. U txtResponse
klijenta ka serveru. Najvažniji su GET, HEAD i üete imati HTML kod index stranice BHWeb-
POST. GET üe od servera tražiti i headere i Masters-a. Nije loše za pet minuta posla.
source dokumenta, HEAD üe vratiti samo he- Sada vam preostaje da nauþite protokole SMTP i
adere, a post üe poslati informaciju na server, POP i primjenite ono što ste ovdje vidjeli. Do
koji može, a i ne mora vratiti odgovor. postoje sljedeüeg puta.
još i OPTIONS, TRACE, DELETE, PUT i CONNECT,
ali to je veü zasebna tema. Sve u svemu, mi

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 22


BASICInstintc -VisualBasic ( VII dio )

VisualBasic

KAKO VB.NET PRICA SA OSTATKOM


.NET JEZIKA
< Sead Alispahiþ >

K
ada su u Microsoftu odluþili da prave .NET platformu, jedan od razloga je bio i
fakt da postojeüi programski jezici imaju ogromne poteškoüe u priþanju jednih
sa drugim. Problem je bio što su programi, raþunarske aplikacije pravljene
tako što se odvoji interface (suþelje) od business logike od DB logike i tako dalje i
tako dalje. Problem nastaje kada recimo interface logika raÿena u VB-u pokuša da
priþa sa business logikom raÿenom u C++ programskom jeziku. To se u našem
narodu struþno zove, jedan u klin, drugi u ploþu.

C# Framework je i, ali ne limitirano na biblioteka


predefinisanih objekata koju možete koristiti u
C# je programski jezik raÿen samo za .NET. svojim .NET aplikacijama. Jednostavno? Huh...
Inaþe C# je jedan od rijetkih programskih jezika Dijelovi ove biblioteke se nazivaju CLR (Common
koji je u cijelosti standardizovan. Po sintasksi se Language Runtime) i CTS (Common Type
svrstava u skupinu C like programskih jezika, System). Zajedniþko u ova dva imena je
kao što je C, C++, JAVA, PHP i sliþno. Objektno Common, ili u prijevodu na naš, Uobiþajen,
je orjentiran i podržava veüinu, ako ne i sve zajedniþki... To znaþi da svi .NET jezici imaju
moguünosti koje imaju moderni programski zajedniþki CTS, koji je zadužen za tipove variabli
jezici. Vrlo blisko je baziran na JAVA i zajedniþki CLR, koji su zaduženi za gomilu
programskom jeziku, kao u ostalom i veliki dio drugih stvari. Tako da kada pišete .NET
.NET platforme. Sama .NEt platforma je raÿena aplikaciju, ta aplikacija da je pisana u C#,
u C# programskom jeziku. VB.NET, ili bilo kojem drugom .NET jeziku, nije
bitno, jer je to u biti za .NET framework isto.
Šta je to .NET? Sada se veüina vas pita, kako isto, kada je
razliþita sintaksa?
Iako üe vam se današnji þlanak uþiniti popriliþno
jednostavan, u pozadini se dešavaju neke super MSIL i JIT
stvari. Da bi razumjeli kako to naš VB može
priþati sa C#, šta više, naš debugger može Tu na scenu stupaju MSIL, ili Microsoft
skoþiti iz VB.NET u C# bez ikakvih problema, Intermediate Language i JIT, Just In Time
moramo malo razmisliti šta je to .NET i kako compiler. Kada napravite .NET aplikaciju i
radi. kompajlirate je, vi ste u stvari napravili novi
dokument koji je pisan koristeüi MSIL. To je vrlo
Šta je to .NET framework? jednostavan jezik i ako vam nije mrsko, možete
pogledati neke od svojih aplikacija kada se
kompajliraju na šta liþe. Da li vas ovo podsjeüa
CLR i CTS
na nešto? Ukoliko ste rekli JAVA, potapšite se po
ramenu. Java radi istu stvar, samo iz drugod

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 23


BASICInstintc -VisualBasic ( VII dio )
razloga. JAVA programi su portabilni (u teoriji), Hajde više!
što üe reüi da se mogu napisati na jednoj
platformi, a voziti na svim. Microsoft koristi ovaj Dobro, dobro! Sada kada znamo kako ovo radi,
pristup da bi omoguüio razliþitim programskim da mi napravimo nešto vrlo jednostavno što üe
jezicima iz .NET familije da priþaju meÿusobno. to pokazati u primjeru. Dakle napravite novu
Da li to briše potrebu za razliþitim programskim SOLUCIJU. File->New->Blank Solution. Solucija
jezicima u .NET? je prostor u koji možete staviti sve projekte koji
su vezani jedan za drugi. Tako recimo mi
Assemblies možemo imati projekt koji je raÿen kao interface
u VB.NET u istoj soluciji u kojoj je business
Kada se sve to uradi, stvore se Assemblies, koje logika raÿena kao C# projekt. Dajte ime soluciji
su skupina executabilnih dokumenata i još par BHWebMasters Solucija.
metadata dokumenata koji objašnjavaju Kada ste to uradili u solution exploreru napravite
assemblie. To je malo više napredna tema od right click i odaberite Add -> New Project.
ove koju danas pokrivamo. Ukoliko vas zanima, Odaberite C# i kao tip odaberite Class Library.
bujrum. Dajte ime projektu CSharp. Nakon toga uradite
to isto, samo odaberite VB.NET project i
Windows Application. Dajte ime projektu VBApp.

Sada napravite rightclick na ikonicu koja klasi clsTest.cs Dodajte sljedeüi kod kao novi
oznaþava C# projekt. Iz popup-a odaberite Add metod klase.
New Item i iz liste odaberite Class. Dajte ime
public String kreirajPozdrav(String strIn)
{
return "Zdravo " + strIn;
}

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 24


BASICInstintc -VisualBasic ( VII dio )

Sada u VBApp dodajte referencu na CSharp Add Reference. U Add Reference dialogu
projekt. Right click VBapp projekt i odaberite odaberite Projects Tab i tu odaberite CSharp.

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 25


BASICInstintc -VisualBasic ( VII dio )

Sada na svoju VB.NET formu dodajte jedan text Ovdje kreiramo objekt tipa clsTest i zatim
box koji üe se zvati txtIme i jedno dugme koje koristeüi metod kreiraj pozdrav, koji smo dodali
üe se zvati cmdPozdrav. Dva puta brzo kliknite u clsTest klasu pokažemo pozdrav u Message
na cmdPozdrav i upišite sljedeüi kod: Box-u.

Dim objTest As New CSharp.clsTest()


MsgBox(objTest.kreirajPozdrav(txtIme.Text))

Sada praktiþno imate dva projekta koji mogu da se dograÿuju neovisno jedan od
drugog, a koji üe priþati jedan sa drugim bez ikakvih problema. Do sljedeüeg puta.

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 26


ASP Teèaj - ( VII dio )

ASP TeĀaj

UPISIVANJE I REALIZIRANJE N:M


RELACIJE
< Željko Kvesiþ >

O
vaj put u manjku vremena i velikoj stisci (ipak ljeto je..sunce kupanje, ups
vratimo se temi), ovaj put odluþio sam da vam prezentiram jedan koristan i
kratak savjet odnosno lekciju. No preÿimo na djelo..

Pri radu sa bazama podataka prije ili kasnije


naüi üete se u situaciji da iskoristite današnje
gradivo. No da bi vam postalo jasno zašto nam
ovo treba pozabavit üu se prvo sa malo teorije o
bazama podataka.
Osnova baza su tablice. Tablice unutar baze
mogu biti povezane na više naþina. Dvije vrste
veza izmeÿu tablica, ili toþnije reþeno relacija je
1:n, i n:m. Pojasnimo ovo na primjeru, uzmimo
recimo bazu za newsletter aplikaciju. Baza sadrži
dvije tablice, tablica Subscribers u kojoj su pohr-
anjeni primatelji newsletter-a, te tablica Campa-
igns, koja sadrži informacije relevantne za jedan
projekat kao recimo kontakt osoba, aresa poši-
ljatelja i sliþno.
Veza 1:n bi znaþilo recimo da jednoj kampanji Dakle u gore pokazanom primjeru srednja
može pripadati n primatelja, a jedan primatelj tablica stvara vezu izmeÿu kampanje na jednoj
uvijek pripada samo jednoj kampanji. n:m veza strani i pretplatnika na drugoj strani. Srednja
bi s druge strane znaþilo da jedan newsletter tablica pored svog primarnog kljuþa sadrži i
može imati n primatelja i da svaki od primatelja takozvane strane kljuþeve (foreign keys). Time
može biti pretplaüen na m newslettera. N:m se stvara n:m relacija izmeÿu dvije tablice.
veze su svakako bolje i daju vam više fle- Vjerojatno vam je veü jasno gdje je problem i
ksibilnosti. što üe vas nauþiti današanja lekcija. Da bi smo
slika 1 predstavlja n:m relaciju, kao što vidite dodali novog korisnika u tablicu subscribers i
ovakve vrste relacija realiziraju se pomoüu po- pridružili ga jednoj kampanji moramo uþiniti
moünih tablica. sljedeüe:
1. dodati korisnika u tablicu subrscibers
2. u pomoünu tablicu Subscriber2Campaign
dodati novi redak sa primary kljuþem
korisnika i kljuþem kampanje.
Problem je nadam se oþigledan, a to je da nam
nakon upisa u tablicu kljuþ (SubscriberID) tih

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 27


ASP Teèaj - ( VII dio )
podataka nije poznat. Teoretski je moguüe da na ASP nam i ovjde priskaþe u pomoü i donosi veü
bazi radi više stotina ljudi u tom trenutku tako gotove alatke za ovu svrhu. Pogledajmo sljedeüi
da ni upit za posljednjim unešenim podacima kôd:
nije sa 100% sigurnošüu toþan rezultat.
kôd 1:
1: Dim ActSubsID
2: 'dodajmo recordset objekat sa sljede•im osobinama:
3: 'ovaj recordset odaje korisnika
4: objRsAddSubscr.LockType = adLockOptimistic
5: objRsAddSubscr.CursorType = adOpenKeyset
6: 'ovaj recordset pravi upis u campaign2User:
7: objRsAddSub2Cmp.LockType = adLockOptimistic
8: objRsAddSub2Cmp.CursorType = adOpenKeyset
9: 'kao prvo moramo napraviti sljede•i select:
10: objRsAddSubscr.Source = "SELECT * FROM Subscribers WHERE SubscriberID = 0"
11: objRsAddSubscr.Open ,objConn
12: 'dodajmo podatke:
13: objRsAddSubscr.AddNew
14: objRsAddSubscr("FirstName") = Request("FirstName")
15: objRsAddSubscr("LastName") = Request("LastName")
16: objRsAddSubscr("Email") = Request("Email")
17: objRsAddSubscr("Gender") = Request("Gender")
18: 'upišimo podatke u tablicu:
19: objRsAddSubscr.Update
20: 'pro•itajmo ID upravo unešenog seta podataka
21: ActSubsID = objRsAddSubscr("SubscriberID")
22: 'zatvorimo recordset
23: objRsAddSubscr.Close
24: 'dodajmo ovog usera u našu kampnju:
25: objRsAddSub2Cmp.AddNew
26: objRsAddSub2Cmp("SubscriberID") = ActSubsID
27: objRsAddSub2Cmp("CampaignID") = Request("CampaignID")
28: 'oslobodimo resurse:
29: objRsAddSub2Cmp.Update
30: objRsAddSub2Cmp.Close

U ovom primjeru napravili smo upravo to, dodali ActSubsID = objRsAddSubscr("SubscriberID")


smo korisnika, te ga pridružili jednoj kampanji.
Pokušat üu malo pojasniti ovaj kôd. Kao prvo Sada bez veüih problema analogno vršimo i upis
moramo kreirati jedan Recordset objekat. U unutar pomoüne tabilce. To radimo u redovima
redku 4 i 5 postavljamo osobine ovog recordset- 25-29.
a. To üe nam omoguüiti pristup kljuþu upravo Vidite dakle kako jednostavno možemo vršite
dodanih podataka. upise i realizirati n:m relacije. Gledano sa
Sljedeüi korak je upit u redku 10, nije greška praktiþne strane, ovakav naþin modeliranja baze
upit je taþan, njime "otvaramo" tablicu odnosno sa sobom donosi nekoliko prednosti. Ukoliko
unutar recordset-a jedan prazan redak identiþan jedan korisnik želi više newsletter-a moramo ga
jednom redku iz tablice. pridružiti jednoj ili više kampanja. Koristeüi 1:n
U redku 13 dodajemo novi set podataka, te u model, u ovim sluþajevima korisnika sa istim
redovima 14-17 isti punimo podacima. Ovaj set osobnim podacima morali bi ste unijeti više
podataka u datom momentu postoji samo puta. Ovako dovoljno je izvršiti upis u pomoünoj
unutar našeg recordset-a i nije još upisan u tablici i korisnika ste veü pridružili nekoj drugoj
tablicu Subscribers. Tek naredbom u redku 19 kampanji.
mi vršimo upis unutar tablice. Vidite dakle koliko je osim programiranja apli-
Prednost ove metode je što sada u našem kacije važno i planiranje. Dizajn modela poda-
recordset imamo i kljuþ podataka koje smo taka od životnog je znaþaja. Više o ovome pisat
upravo unijeli. To üemo pridružiti varijabli u üu u nastavku MS SQL teþaja koji možete pratiti
redku 21 naredbom: u našem þasopisu.

Toliko u ovoj ljetnoj lekciji, u narednom broju nudim vam još jedan koristan ali malo
opširniji savjet. Pitanja savjeti i komentari dobro su došli i možete ih poslati direktno putem
ePošte na adresu: zk@asdfdeveloper.com
ili putem našeg i vašeg foruma na adresi: http://forum.bhwebmasters.org

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 28


WEB MARKETING - ( II dio )

Projekat – sve popularniji oblik rada

SPROVOċENJE IDEJE U STVARNOST


< Nataša PaviĀeviþ>

P
rojekat kao forma rada podrazumijeva korištenje ljudskih, materijalnih i
finansijskih resursa na jedan planski i organizovan naþin. Projekat podrazu-
mijeva dobro struktuirano sprovoÿenje jedne ideje u stvarnost.
Cilj projekta je da se vremenska angažovanost i troškovi svedu na minimum da bi
se postigao uspješan kvantitativni i kvalitativni rezultat.

Svjedoci smo radikalinih promjena u svijetu konflikata, dobra procjena ljudi i situacija, prila-
poslovanja. Telefon, telex i pismo su prije samo godljivost, otvorenost.
50 godina unazad bila jedini raspoloziva sre-
dstva komunikacije. Pojava telefaxa, u nešto Šta je projekat?
skorijoj prošlosti, je samo neznatno ubrzala
poslovnu korespondenciju. Zahvaljujuüi ubrza- ”To je strukturisanje ideje. Da bi jedna
nom razvoju nauke i tehnike, brzina razmjena sjajna ideja prerasla u tehniþki prihvatljiv
informacija svedena je na minimum. Danas smo projekat, mora prvo da se materijalizuje na
svjedoci Interneta i velikih poslovnih sistema papiru, da “izdrži” matematiþki, logiþki,
koji povezuju kontinente neutrališuüi geografske ekonomski i svaki drugi odgovarajuüi test,
granice. Neminovno je da se mijenja i naþin kako bi se u raznim projekcijama utvrdila
rada. usaglašenost originalnih rešenja prilikom
Projekat kao forma postaje sve popularniji. povezivanja u celinu zvanu proizvod. ”
Jedan od razloga je i da je projekat striktno ”Projekat je opis naþina rada a ne sa-
usmjeren ka cilju i samim tim mnogo lakši za držanja. Ideja ne þini projekat projektom.”
prioritiranje. Proces donošenja odluka je mnogo Postoji naravno više definicija projekta, meÿutim
brži, Zatim, projekat angažuje specijaliste þija parafriziraüu jednu od mojih omiljenih klasiþno
je struþnost neohodna za ostvarivanje jednog školskih definicija koja po mom mišljenju obu-
konaþnog cilja. Korištenje projekta kao forme hvata sve bitne momente. Dakle:
rada je na obostranu korist. Specijalistima je ”Projekat kao forma rada podrazumijeva
pružena moguünost da variraju u svojoj oblasti i korištenje ljudskih, materijalnih i finansi-
usmjere svoju snagu na jedan konkretan zada- jskih resursa na jedan planski i orga-
tak, dok je poslodavcima, tj. u ovom sluþaju na- nizovan naþin. Projekat podrazumijeva do-
ruþiocima projekta pružena moguünost da anga- bro struktuirano sprovoÿenje jedne ideje u
žuju radnu snagu po potrebi. Meÿutim, rad na stvarnost. Cilj projekta je da se vremenska
projektu ne podrazumijeva samo struþnost u angažovanost i troškovi svedu na minimum
izvjesnoj oblasti, te sposobnost da se posao da bi se postigao uspješan kvantitativni i
dobro isplanira, sprovede u djelo i dovrši. Ne- kvalitativni rezultat.”
ophodni su i kvaliteti tipa sposobnost za sura- Praktiþne primjere nije teško naüi. U graÿe-
dnju, razumijevanje, moguünost kvalitetne ko- vinarstvu i arhitekturi je korištenje projekta kao
municije sa suradnicima, sposobnost rješavanja oblika rada ustaljeno od samog poþetka. Razlika

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 29


WEB MARKETING - ( II dio )
je jedino što od poþetka nisu bile zastupljene sve odluku da se projekat sprovede u dijelo i ne ri-
metode koje danas koristimo. Tako, projektom jetko egzistira kao poseban projekat.
možemo nazvati izgradnju jedne kuüe, mosta ili
sl. U politici projektom možemo nazvati jednu Plan projekta – se takoÿe može nazvati
predizbornu kampanju, u medicini bi npr jedan projektom za sebe. Cilj ove faze je razraditi i
projekat mogao biti pronalaženje lijeka protiv analizirati svaki predvidivi momenat projekta do
neke bolesti, u školstvu je jedan projekat npr najmanjeg detalja. Kao podloga za izradu plana
osnivanje novog smjera na nekom fakultetu,… služi Prijedlog za projekat. U ovoj fazi veoma je
važno obratiti pažnju na sve predvidive proble-
Razvoj projekta me koji mogu rizikovati uspješno dovršavanje
projekta. Vremenska razgraniþenja su jedan od
Razvoj projekta možemo podijeliti u 7 osnovnih najveüih problema. Nažalost neplanirano produ-
dijelova: živanje projekta podrazumijeva i neplanirane
finansijske izdatke. Zato je jako važno na vrije-
Ideja – je osnova nastanka svakog projekta. me postaviti realne vremenske granice.
Ideja može doüi kao prijedlog za nekim novi- Neophodno je i detaljno definisati obaveze i
tetom ili promjenom od strane radnika zaposle- odgovornosti svih angažovanih na projektu.
nih u firmi, rukovodstva firme, vlasnika firme, Dobar plan projekta je jednostavan, pregledan i
vanjskih savjetnika ili može pak biti prou- istovremeno sadrži sve neophodne detalje.
zrokovana vanjskim faktorima kao što su zako- Microsoft Project je jedan od najboljih pro-
nske, organizacijske, politiþke i druge promjene. grama na koje sam ja naišla za praüenje rada na
Ukoliko postoji dovoljno interesovanje za idejom projektima i izradu Gantt-shema, meÿutim nije
te osnovana oþekivanja da je ista ostvariva, nemoguüe napraviti dobru gantt-shemu i sa
ideja prerasta u prijedlog. besplatnim softverom. Na kraju krajeva tu je i
Excel. O izradi gantt-shema pisaüemo nekom
Prijedlog za projekat – u ovom stadiju ideja je drugom prilikom malo više.
veü dobila nove dimenzije. Interesovanje je za-
garantovano, a do sada bi se veü trebalo biti Poþetak projekta – je momenat kada zvaniþno
formulisano ko je naruþioc (finansier). Potrebno poþinje rad na samom projektu. Ukoliko je plan
je oformiti rukovodstvo, tj. upravni odbor koji projekta dobro napravljen, rad bi se trebao
utvrÿuje kvalitativne i kvantitativne uslove koje odvijati prema planu, bez veüih odstupanja, u
rezultat mora ispunjavati, postavlja vremenske i smjeru ostvarenja cilja i u okviru predviÿenih
ostale granice, utvrÿuje budžet, odluþuje o eve- vremenskih granica. Tokom rada na projektu
ntualnim predistraživanjima, formuliše ciljeve i voÿa projekta je taj koji vodi komunikaciju sa
podciljeve, definiše olakšavajuüe i otežavajuüe angažovanim na projektu i upravnim odborom.
okolnosti, moguüe prepreke te imenuje voÿu Da bi se dvosmjerna komunikacija odvijala
projekta. Izbor suradnika na projektu obavlja se uspješno sa obje strane je neophodna maksi-
obiþno zajedno sa voÿom projekta. Prijedlog je malna angažovanost i uvid u trenutno stanje.
ustvari direktiva po kojoj se projekat mora
odvijati. Završetak projekta – trebao bi da
podrazumijeva ostvarenje cilja. U ovoj fazi neo-
Predistraživanje – je izrada podloge projekta. phodno je uraditi ponovnu analizu te ustanoviti
Ovaj stadij iako nije obavezan veoma þesto se sva odstupanja od prvobitnog plana. Ti momenti
koristi, upravo da bi se dobila realna slika o poslužiüe kao napomena za buduüe projekte.
projektu. Cilj je ispitati sve okolnosti koje su
uslovne da bi se projekat uspješno dovršio. Za ovaj put obratili smo pažnju na projekat kao
Predistraživanje podrazumijeva pravljenje plana formu rada. Rad na ”projektima” postao je trend
svih aktivnosti, troškova te materijalnih, fina- u poslovnom svijetu. Ne rijetko projektom se
sijskih i ljudskih resursa i ispitivanje realnih vre- nazivaju svakodnevni radni zadaci. Meÿutim,
menskih granica. Razna ispitivanja tržišta i ispi- kao što smo vidjeli, projekat je forma koja
tivanja javnog mijenja su takoÿe jedan od pre- omoguüava fokusiranje na cilj i ostvarenje istog.
duslova da üe konaþni izvještaj predistraživanja Planiranje uzima vrijeme ali je to vrijeme
biti što realniji. U praksi je predistraživanje us- neznatno u poreÿenju sa vremenom i troško-
lov da bi upravni odbor uopšte donijeo konaþnu vima koji se nameüu kod loše isplaniranih
projekata

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 30


ERGONOMIJA

ERGONOMIJA

Evolucija unazad
< Nataša PaviĀeviþ >

R
ad je stvorio þovjeka. Koliko god puta da sam þula tu frazu nikada je sigurno
nisam tako ozbiljno shvatala niti nešto posebno o njoj razmišljala. Meÿutim
vizuelni dokaz je definitivno dobio moju pažnju. Ako nastavimo
ovako uskoro izmeÿu naših potomaka i krznatog pretka neüe biti nikakve razlike
osim obima mozga i stepena inteligencije. Ne znam za vas ali ja svoje potomke bas i
ne zamišljam ovako. Pa kakve sad ovo veze ima sa programiranjem, pitate se.
Velike, pogledajte samo sliku i sve üe vam biti jasno!!!

Znaþi shvatili smo, vi programeri kao i svi mi šake uzrokovan konstanom optereüenošüu tetiva
ostali koji i po 12 sati dnevno provodimo pred koje oticanjem pritišüu medijalni živac i onemo-
kompjuterom prepoznajemo jednake simptome. guüavaju normalan protok krvi. Simptomi koje
Bol u oþima, vratu, ramenima, nadlakticama, osjeüamo su ukoþenost, utrnutost, bol, slabost i
podlakticama, leÿima, koljenima, stopalima,…ma ”nervoza” u predjelima šake, ruþnog zgloba i
sve boli, kao da kopamo a ne sjedimo. Logiþno podlaktice. Ignorisanje simptoma dovodi u težim
pitanje koje postavljamo je: sluþajevima do distrofije mišiüa i trajnih poslije-
dica. Dugotrajnim sjedenjem onemoguüen je
Zašto nas boli? normalan protok krvi i u donje dijelove tijela pa
nam se kao posljedica javljaju oticanje, bol u
Problem i jeste u glavnom u tome što sje- koljenima i stopalima. Glavobolja, usporeno fo-
dimo. Skelet i muskulatura homo erectusa su kusiranje pogleda, zamuüen pogled, bol u oþima,
prilagoÿeni za fiziþki rad. Svakodnevno sjedenje peckanje, svrab, iritiranost, osjetljivost na svje-
u jednom te istom položaju prouzrokuje za- tlo rezultat su preoptereüenosti oþiju pretjeranim
kržljalost mišiüa i samim tim skelet je izložen gledanjem u ekran.
mnogo veüim naporima. Najugroženiji dio tijela E, sad kad veü malo više znamo zašto nas bo-
su mišiüi ramena i vrata koji potpuno gube svoju li mnogo je lakše i pronaüi metode koje üe nam
ulogu podupiranja skeleta ruku, vrata i glave. olakšati rad i odgovoriti na pitanje:
Pored toga konstantno ponavljanje jednih te
istih pokreta prouzrokuje hiperaktivnost poje- Kako da ne boli?
dinih nervnih skupova što opet vodi hroniþnim
zapaljenjima što je posebno karakteristiþno za Posebna grana nauke, ergonomija (ergo-rad,
ruke i šake. Poznat je sindrom kompjuterske nomis-zakon), bavi se upravo problematikom

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 31


ERGONOMIJA
þovjekovog odnosa sa radnom okolinom. Da bi
bio ”produktivan”, þovjek se mora osjeüati dobro
x RUKE i ŠAKE su pored oþiju glavni alat
kojim raspolažemo i zato ih treba þuvati.
i fiziþki i psihiþki. Zadatak ergonoma je da
Pored pravilnog sjedenja i položaja lakto-
pomognu þovjeku da se i psihiþki i fiziþki dobro
va vodite raþuna da se što manje kori-
osjeüa na svom radnom mjestu. To podrazu-
stite mišem. Kratke komande, short cuts,
mijeva identifikaciju kriznih momenata, istraži-
su dobra zamjena tamo gdje se mogu
vanje o efktima istih i naravno pronalaženje
koristi. Ravnomjerno korištenje svih de-
metoda koje bi problem ublažile i naravno svele
set prstiju smanjuje rizik preoptereüenja
na što manju mjeru. Ergonomi su se potrudili da
pojedinaþnih tetiva.
nas snabdiju informacijama kako da živimo i
radimo u simbiozi sa PC-om. Krenuüemo redom:
x NOGE, KOLJENA i STOPALA trpe pri du-
gom sjedenju. Cirkulacija krvi je otežana
x OýI oþi su najizloženije u radu sa PC-om.
što uzrokuje oticanje noga i bol u kolje-
Jako je važno na vrijeme prepoznati
nima i stopalima. Vodite raþuna da pri
simptome i kontaktirati oþnog ljekara.
sjedenju koljena budu pod pravim uglom
Pomagala za korekciju vida smanjuju
u odnosu na sjedalo stolice i pod i
rizik da se veü postojeüe anomalije po-
stopala cijelom dužinom na podu.
goršaju. Kapi koje potpomazu vlezenje
Poželjno je i koristiti posebne podmetaþe
oka trebali bi svakodnevno koristiti svi
za stopala. U zadnje vrijeme su sve
koji za kompjuterom provode radni dan.
popularniji stolovi sa mehanizmom za
Svjetlo i rasvjeta su vrlo bitan faktor,
automatsko podizanje i spuštanje. Vodite
ekran nikako ne bi smio da reflektuje
raþuna da kada stojite, stojite ispravlje-
svjetlost sa prozora ili iz svjetiljke.
nih leÿa, izbjegavajuüi naslanjenje podla-
Blještanje podesite okretanjem ekrana
kticama na sto.
horizontalno ili vertikalno. Vodite raþuna
da vam je ekran uvijek þist i po mogu-
Uklonite sve nepotrebne predmete iz okoline,
ünosti koristite filter za ekran. Sa vre-
prenatrpan prostor stvara osjeüaj klaustofo-
mena na vrijeme skrenite pogled i foku-
biþnosti. Svjež vazduh je takoÿe važan da bi se
sirajte ga na druge predmete.
osjeüali dobro. U dobro prozraþenoj prostoriji
udišemo vazduh bogat kisikom. Nije loše po
x LEĈA, RAMENA i VRAT su sljedeüa krizna nekoliko puta na dan otvoriti širom prozor, þak i
zona. Da bi pravilno sjedili, te da bi leÿa, zimi, i udahnuti duboko par puta. Još ako bi uz
ramena i vrat bili u pravilnom položaju to uradili i koju vježbu, to bi bilo odliþno.
potrebna je prikladna stolica koja üe Imajte na umu da bol nastaje kao signal
pružiti potporu srednjem dijelu leÿa. upozorenja da nešto nije u redu sa organizmom.
Ramena bi trebala biti pod pravim uglom Reagujte na vrijeme jer þekanje samo prolongira
u odnosu na stolicu. Izbjegavajte nasla- agoniju i pogoršava problem.
njanje laktovima na sto ili naslon stolice Ako na radnom mjestu veü nemate odgova-
jer time samo bespotrebno optereüujete rajuüe uslove potrudite se da porazgovarate sa
vratne mišiüe i skelet. Naslon stolice poslodavcem i skrenete pažnju na eventualne
treba da posluži kao mjesto za odmara- neudobnosti ili nedostatke. Vaše zadovoljstvo
nje ruku a ne za podupiranje. Laktovi radnim mjestom je na obostranu korist jer samo
trebaju biti pod pravim uglom u odnosu zdrav radnik je produktivan radnik.
na tijelo dok su vam ruke na tastaturi ili
mišu. Stvorite naviku da obraüate pažnju
na to kako sjedite

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 32


XML - ( III dio)

XML - Extensible Markup Language - UVOD

DTD – DOCUMENT TYPE


DEFINITIONS
< Mirza Muharemagiþ >

U
prva dva dijela smo dosta toga nauþili o sintaksi XML dokumenata, kako se
trebaju pisati, na šta treba paziti, koje greške treba izbjegavati itd. Meÿutim to
su sve bila pravila vezana za pisanje elemenata i atributa, meÿutim nismo
spominjali pravila gdje i kada se smije neki element koristiti i kako se to definiše.
Zato üemo ovaj put govoriti o Document Type Definitions ili skraüeno DTD.

Šta radi DTD? Sada se sigurno pitate šta ovo ima veze sa DTD-
om. Svaka ol i ul lista ima svoje elemente i oni
Prvo pitanje je naravno šta je jedan DTD file? su definisani pomoüu <li> elementa. Sve vrije-
DTD odnosno file u kojem se nalaze DTD pravila dnosti ovih elemenata se nalaze izmeÿu <li> i
kontroliše izgled jednog XML dokumenta i defi- </li> i upravo DTD definiše to. DTD definiše da
niše koji elementi smiju na odreÿeno mjesto do- se <li> element može nalaziti samo unutar <ul>
üi. Klasiþan primjer su tzv. liste u HTML-u. i <ol> elemenata. On nikako ne može i ne smije
Postoje dvije vrste listi: stojati sam ili kao podelement nekog drugog ele-
menta, a ne ova dva. HTML kôd za jednu po-
x ul – unordered list ("neporedana lista") redanu (ol) listu izgleda ovako:
i
x ol – ordered list ("poredana lista"). Primjer 1:

<ol>
Neporedana lista je upravo ovo što smo sada <li>Ovo je prvi element</li>
nabrojali. Na ovoj listi nema reda i redoslijed <li>Ovo je drugi element</li>
nije definisan. Neporedanu listu možete prepo- <li>Ovo je treci element</li>
znati na jednoj web stranici po okruglim crnim </ol>
taþkama, i primjer za to možete naüi na nekoliko
mjesta na ASDF.developer stranici, npr.:
http://www.asdfdeveloper.com/?action=profil Ako bi napisali samo <li> elemente bez kori-
štenja <ol> elementa, naš XML bi bio pogrešan.
Poredana lista se odlikuje brojevima ispred ele- U sluþaju HTML-a, browseri korigiraju odnosno
menata, kao npr. ovdje: prihvataju ovakve greške, meÿutim XML parseri
to sigurno neüe (ako provjeravaju validnost).
1. ul – unordered list ("neporedana lista") i
2. ol – ordered list ("poredana lista"). I upravo ovakva i mnoga druga pravilu su defini-
Online primjer možete naüi na našoj FAQ stranici sana u jednom DTD file-u. DTD pravila definišu
na ASDFdeveloper.com: gdje se koji element smije nalaziti, koje atribute
http://www.asdfdeveloper.com/?action=faq. smije imati, koju vrstu podataka smije sadržati

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 33


XML - ( III dio)
itd. DTD ne definiše root dokumenta ili koji se datum_rodjenja, kao i ime i prezime nemaju
podaci smiju nalaziti unutar elemenata i svojih podelementa i oni direktno sadrže
podelemenata. podatke.
Validnost XML dokumenata je opcionalna. XML Na osnovu ovog znanja, možemo kreirati naš
dokumenti ne moraju biti validni po DTD-u, XML dokument:
meÿutim moraju po osnovnim XML pravilima
koja smo nauþili u prva dva dijela ovog serijala. Primjer 3:
DTD pravila se mogu isto kao CSS pravila za
HTML nalaziti u jednom eksternom DTD file-u ili <osoba>
direktno u XML dokumentu. Na poþetku, pri <ime_prezime>
<ime>Zlatan</ime>
uþenju, je pogodno ako se DTD pravila nalaze <prezime>Cosic</prezime>
direktno u dokumentu sa ostalim podacima, jer </ime_prezime>
tada možete lakše uporeÿivati greške. <datum_rodjenja>31. Maj 1948.
godine</datum_rodjenja>
DTD primjer <zanimanje>Programer</zanimanje>
<zanimanje>Muzicar</zanimanje>
</osoba>
Sada je došlo vrijeme da kreiramo naš prvi DTD
primjer. Ovaj primjer opisuje osobu koja ima
ime i prezime, zanimanje i datum roÿenja. Kao Ovaj XML kôd je potpuno validan odnosno
što smo veü rekli, u DTD-u se ne definiše ime napisan taþno prema našim DTD pravilima. Kao
osobe, ali se definišu podelementi i njihov što vidite element zanimanje se pojavljuje dva
redoslijed. puta, ali to smo definisali pomoüu *.
Meÿutim ovo je apsolutno pogrešno napisan XML
Primjer 2: kôd:
Primjer 4:
<!ELEMENT osoba (ime_prezime,
datum_rodjenja, zanimanje*)> <osoba>
<!ELEMENT ime_prezime (ime, prezime)> <datum_rodjenja>31. Maj 1948.
<!ELEMENT ime (#PCDATA)> godine</datum_rodjenja>
<!ELEMENT prezime (#PCDATA)> <zanimanje>Programer</zanimanje>
<!ELEMENT datum_rodjenja (#PCDATA)> <zanimanje>Muzicar</zanimanje>
<!ELEMENT zanimanje (#PCDATA)> </osoba>

Na poþetku je definisan element osoba. Element


Ovaj kôd je pogrešan jer se obavezni element
osoba se sastoji od 3 podelementa:
ime_prezime sa svojim podelementima ne
ime_prezime, datum_rodjenja i zanimanje.
pojavljuje nikako. Da bi izbjegli ovaj problem
Redoslijed ovih podelemenata se mora slijediti u
možemo u DTD-u (isto kao za element
XML dokumentu.
zanimanje) staviti jedan od ekstra znakova.
Zvijezdica * nakon podelementa zanimanje
Pitanje je samo koji od znakova bi odgovarao u
oznaþava da se ovaj podelement može pojaviti
naš dokument. Pošto se radi o opisu jedne
nula do beskonaþno puta, što ustvari znaþi da ne
osobe, onda je najadekvatnije da stavimo ?, jer
mora biti sadržan u kôdu, ali ako ga ima, onda
on definiše da se element može pojaviti maksi-
ga smije biti nedefinisano puno puta. Moguüe
malno jednom, meÿutim ne mora se pojavljivati.
opcije su:
U tom sluþaju bi DTD izgledao ovako:
x * - 0 do beskonaþno puta, Primjer 5:
x + - 1 do beskonaþno puta (mora biti
jednom ili više puta definisan) i <!ELEMENT osoba (ime_prezime?,
x ? - 0 ili 1 put (što znaþi: ili ga ima datum_rodjenja, zanimanje*)>
<!ELEMENT ime_prezime (ime, prezime)>
jednom ili ga nema nijednom). <!ELEMENT ime (#PCDATA)>
<!ELEMENT prezime (#PCDATA)>
U 2. redu ovog DTD primjera definišemo da se <!ELEMENT datum_rodjenja (#PCDATA)>
element (podelement elementa osoba) <!ELEMENT zanimanje (#PCDATA)>
ime_prezime sastoji od dva podelementa: ime
i prezime i oba se moraju pojaviti taþno jednom
u ovom elementu. Podelementi zanimanje i

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 34


XML - ( III dio)

Položaj i deklaracija DTD pravila možemo staviti i relativni path, a ne apsolutni


kao u ovom sluþaju.
Spomenuli smo da se DTD pravila isto kao CSS Nekada se dešava da nemamo uticaja na DTD
pravila u HTML dokumentima, mogu nalaziti u dokument odnosno ne možemo promjeniti nje-
jednom eksternom file-u ili direktno u XML doku- gov sadržaj, a to je ono što nam je potrebno.
mentu. Pri uþenju DTD-a je pogodno ako DTD Takvu situaciju možemo riješiti na dva naþina.
pravila nalaze u istom dokumentu zajedno sa Prvi je da snimimo taj DTD file na raþunar, edi-
XML kôdom, meÿutim kasnije je praktiþnije ako tujemo ga po potrebi i onda ga stavimo na naš
sva DTD pravila odvojite u jedan eksterni file. server, što nije loše rješenje, ali je malo
Ovako se koristi DTD interno u XML dokumentu: neprakitþno. Drugo rješenje nam nudi sam DTD
odnosno XML, odnosno mi možemo proširiti
Primjer 6: eksterni file direktno u našem XML dokumentu.
To onda ovako izgleda:
<?xml version="1.0"?>
<!DOCTYPE osoba [ Primjer 7:
<!ELEMENT ime (#PCDATA)>
<!ELEMENT prezime (#PCDATA)>
<!ELEMENT datum_rodjenja (#PCDATA)> <?xml version="1.0"?>
<!ELEMENT zanimanje (#PCDATA)> <!DOCTYPE osoba PUBLIC
<!ELEMENT ime_prezime (ime, prezime)> "http://www.eksterna-
<!ELEMENT osoba (ime_prezime?, domena.com/xml/dtd/osoba.dtd" [
datum_rodjenja, zanimanje*)> <!ELEMENT zanimanje (#PCDATA)>
]> <!ELEMENT osoba (ime_prezime?,
<osoba> datum_rodjenja, zanimanje*)>
<ime_prezime> ]>
<ime>Zlatan</ime> <osoba>
<prezime>Cosic</prezime> /*... nas XML kôd ... */
</ime_prezime> </osoba>
<datum_rodjenja>31. Maj 1948.
godine</datum_rodjenja>
<zanimanje>Programer</zanimanje> Ovim smo proširili DTD pravila iz eksternog DTD
<zanimanje>Muzicar</zanimanje>
</osoba> dokumenta za jedan novi element (zanimanje).
Atribut PUBLIC nam govori da se radi o DTD
dokumentu na nekom eksternom serveru.
Stavljanje DTD pravila direktno u dokument je
praktiþno kada ispravljate greške, meÿutim ako
Validacija dokumenata
se radi o puno DTD pravila, onda je bolje staviti
ih u poseban file. To radimo na sljedeüi naþin:
Pravilo je da browseri ne validiraju dokumente
(ne pregledaju DTD pravila), veü samo pregle-
Primjer 7:
daju da li je XML dokument napisan po opštim
<?xml version="1.0"?> XML pravilima, koja smo mi nauþili u prva dva
<!DOCTYPE osoba SYSTEM dijela ovog serijala. Meÿutim na Internetu po-
"http://www.moja- stoji nekoliko veoma dobrih DTD odnosno XML
domena.com/xml/dtd/osoba.dtd"> validatora koji nam veoma dobro mogu poslužiti
<osoba>
<ime_prezime> u svakodnevnom radu. Veoma dobar validator
<ime>Zlatan</ime> se nalazi na stranici:
<prezime>Cosic</prezime>
</ime_prezime> http://www.stg.brown.edu/service/xmlvalid/
<datum_rodjenja>31. Maj 1948.
godine</datum_rodjenja>
<zanimanje>Programer</zanimanje> Tu možete uploadovati lokalne file-ove kao i po-
<zanimanje>Muzicar</zanimanje> moüu copy-paste taktike još brže provjeriti Vaš
</osoba> kôd. Validatori su þesto priliþno osjetljivi i neki
kôd koji je validan na jednom validatoru neüe
možda biti i na drugom.
Deklaracija eksternih DTD file-ova þini XML pre-
glednijiim i sigurno je lakše administrirati odvo-
jene dokumente. Atribut SYSTEM oznaþava da
se DTD nalazi na našem sistemu. To znaþi da

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 35


XML - ( III dio)
Validator sa gore navedenog linka možete
takoÿe skinuti i uz malo truda (kompajliranje),
možete s njim raditi i lokalno [2].

Sljedeüi put üemo uüi dublje u tajne DTD pravila i sve redovno korištene opcije detaljno
obraditi. Tu se uglavnom radi o deklaraciji elemenata i atributa. Takoÿe üemo kreirati
komplikovanije DTD dokumente i testirati validaciju XML dokumenata na osnovu našeg DTD.

Literatura i linkovi:

[1] XML in a Nutshell, Elliot Rusty Harold & W. Scott Means, 2001, 1. izdanje, str. 26-34.
O'Reilly & Associates Inc, Info-link: http://www.oreilly.com/catalog/xmlnut/
[2] STG validator – SourceCode, http://www.stg.brown.edu/service/xmlvalid/dist/

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 36


MS SQL - ( II dio)

MS SQL TeĀaj Dio II

ENTERPRISE MANAGER
< Željko Kvesiþ >

N
akon što smo u prošlom broju instalirali MS SQL 2000, u ovoj lekciji upoznat
üemo se sa centralnim alatom MS SQL-a, Enterprise Manager-om. Nauþit üemo
kako se kreira baza podataka, kako se kreiraju tablice te se upoznati sa nekim
od opcija koje ovaj moüni alat nudi..

Da bi ste startali Enterprise Manager, jedno- Sa desne strane vidite server koji su spojeni i
stavno pozovite preko Start gumba, MS SQL možete klikom na + znak otvoriti tree view i
programsku grupu i u ponuÿenom izboru prika- vidjeti sadržaj pojedinih kataloga. Local
zanom na slici 1. izaberite Enterprise Manager. predstavlja lokalnu instancu MS SQL-a i njegove
Slika 1. pripadajuüe baze podataka. Pomoüu Enterprise
Managera (u daljem tekstu EM) možete se
spojiti i na MS SQL baze na drugim raþunalima.
Više o tome u nastavku našeg teþaja. Otvorite
katalog Databases klikom na + znak pored.
Pojavit üe se struktura kao na slici 3:

Nakon starta i uþitavanja pojavit üe se glavni


meni MS SQL-a, ovo je prikazano na slici 2:

Dakle unutar kataloga databases, vidite koje


baze se nalaze na lokalnoj instalaciji.
Istovremeno je moguüe imati više baza na je-
dnom serveru i sve baze mogu biti produktivne.

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 37


MS SQL - ( II dio)
Master, model, msdb, Northwind, pubs i te- Tables – tablice
mpdb baze su koje MS SQL dodaje pri samoj Views – bukvalni prevod bio bi pogledi, no to su
instalaciji. Od svih za poþetnike je najvažnija povezane tablice (JOIN) o tome više kasnije
Northwind, baza koja predstavlja zamišljenu tvr- Stored Procedures – pohranjene procedure,
tku sa uposlenicima, njihovim platama i drugim upiti u bazi pisani u TSQL-u2
infromacijama. Ova baza jako je važna za poþe- Users – korisnici baze
tnike jer se na njoj mogu uþiti, dodavati tablice, Roles – uloge, dakle koje korisniþke grupe smiju
brisati iste, dodavati podatke u tablice, mijenjati raditi na kojim tablicama i što.
ih i brisati. Da bi ste uopüe poþeli koristiti MS Defaults – standardi
SQL morate kao prvo kreirati vlastitu bazu
podataka. Kliknite u lijevom dijelu EM-a na Kreiranje tablica pomocu EM-a:
Databases i onda u desnom dijelu prozora,
stisnite desno dugme miša i u kontekst meniju Tablice su u pravilu prvo što unutar jedne
koji üe se pojaviti kliknite na opciju New baze podataka kreiramo. Naravno prije no što se
Database..(slika 4) krene sa praktiþnom izvedbom potrebno je diza-
jnirati bazu, dakle odluþiti se za model.
Pojavit üe se novi Razmisliti o potrebnim bazama, odluþiti se o
prozor u kojem morate vezama izmeÿu pojedinih tablica. Samo krei-
unijeti ime baze. ranje tablice unutar MS SQL-a dijeþija je igra. Pri
Odluþite se za ASDF- kreiranju tablice program po defaultu, dakle sta-
SiteManager, i preu- ndardno doda neke sistemske tablice. Njih
zmite ostale default nemorate dirati niti o njima brinuti.
postavke klikom na Da bi smo dodali novu tablice kliknut üemo u
OK. MS SQL dodat üe desnom dijelu prozora desnim dugmetom miša i
vašu bazu i unutar nje u meniju koji se pojavljuje na postavku New
neke sistemske tablice, Database..
kao i dodatne eleme-
nte (npr stored proce- Slika 6:
dures, pohranjene procedure1).
Dakle nakon kreiranja baze, kao na slici 3 u
pregledu lijevo pojavit üe se i vaša upravo kre-
irana baza podataka. Ukoliko sada kliknete ne +
pokraj baze otvorit üe se tzv tree view i vidjet
üete sve elemente vaše baze. Pogledajte
narednu sliku:
Slika 5

Otvorit üe se novi prozor (slika 7.)

Kao što vidite dodao sam na lokalnom serveru


baze ASDFNewsletter i ASDFSiteManager. Jednoj
bazi podataka unutar MS SQL-a pripada više
elemenata. To su:
Diagrams – diagrami, tu definišete vaš model
podataka. Strukturu i veze meÿu tablicama.

1 2
Stored procedures, su pohranjeni upiti koji fungiraju kao TSQL – Transact SQL je preraÿeni SQL koji je u biti skoro pa i
funkcije i mogu se opozvati iz raznih aplikacije te mogu nalik programski jezik. Ima varijable i moguce je pomocu njega pisati
funkcijama primiti i argumente razlicitih tipova komplicirane upite

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 38


MS SQL - ( II dio)
U ovom prozoru kreirate polja tablice, u prvom primjer za korisnike ja osobno uvijek koristim
stupcu unosite ime prvog polja. Zatim slijedi tip Users. Ukoliko ste sve napravili kako treba do-
podataka i tu vas MS SQL podržava, ukoliko dali ste prvu tablicu unutar vaše nove baze.
ukucate npr. Ch on vam odmah dopuni to sa Veü kreirane tablice možete naravno i mijenjati,
char. Ukoliko kliknete na crnu malu strelicu ili otvoriti, moguüe ih je naravno i pobrisati. Klik
pokraj unosa otvorit üe se lista svih raspoloživih desnim dugmetom miša, ponovo üe otvoriti
vrsta podataka. Osobno preferiram kao prvo kontekst meni (morate naravno kliknuti na
uvijek kreirati index polje, ID ili tzv. Primary key tablicu koju zelite mijenjati/brisati), u kojem
(primarni glavni kljuþ). To polje jedinstveno je morate izabrati opciju Design Table. Otvorit üe
unutar tablice. Ovdje se neüu pobliže baviti se prozor analogni onom za kreiranje nove
ovom terminologijom i ukoliko ne znate šta je tablice u kojem možete mijenjati vaše unose.
primary key preporuþujem vam SQL teþaj na Važno je napomenuti da na primjer naknada
www.BHWebmasters.net stranicama. Length je promjena tipa podataka jednog redka tablice
veliþina polja, kod int iznosi uvijek 4 i vrijednost koja veü sadrži podatke u sebi nije uvijek
je u bajtovima. Zadnji redak je checkbox i daje moguüa. Redak u kojem npr imate razne brojke i
vam na raspolaganje da odluþite da li to polje slova pohranjene i koji trenutno ima kao tip
smije sadržati nulu. Za primary key ta üe posta- nvarchar, neüete moüi dodijeliti tip smalldate-
vka biti automatski deaktivirana. Da bi smo sada time na primjer. Riješenje bi ovdje bilo pomoüu
ovo polje napravili kljuþem izaberite ovjde kao querry-ja sve unose postaviti na neku default
tip podataka integer, kliknite u toolbar-u na kluþ vrijednost i onda promijeniti tip podataka. Doda-
i konaþno na dnu tablice (slika 8) od IDENTITY vanje polja naravno nije nikakav problem, poda-
kliknite na Yes (Not For Replication) ci koji su veü u tablici u tom polju dobit üe vrije-
dnost NULL. Ukoliko samo želite vidjeti koja
Slika 8: polja baza sadrži u veü pomenutom kontekst
meniju kliknite na propertys (ovjde Eige-
nschaften).
Važno je još naglasiti da izbor tipa podataka
za pojedina polja nije nevažan niti zanemarujuüi.
Izbor polja utiþe kasnije na veliþinu vaše baze.
Zato je potrebno dobro razmisliti na primjer, da
li je dovoljan char ili pak treba nvarchar za jedno
polje u koje üemo unositi stringove. No ovo je
znanje i rutina koja se stiþe u radu. Teško je
unaprijed reüi što je pravi izbor, dosta develo-
pera za veüinu polja uzima npr. nvarchar jer se
Analogno dodajte ostala potrebna polja i
tada jednostavno ne moraju brinuti što üe apli-
pohranite ovu tablicu klikom na simbol diskete u
kacija predati MS SQL-u za unos. Ukoliko npr u
toolbar-u. MS SQL üe vas pitati za ime tablice,
jedno datumsko polje pokušate pohraniti neki
preporuþujem ime po kojem üete biti u mogu-
string MS SQL üe vam javiti grešku.
ünosti odmah prepoznati što ta tablica sadrži. Na

Epilog drugog nastavka:

Ovim smo došli i do kraja današnje lekcije. U narednom broju kreirat üemo i prve dijagrame
(diagrams) i views-e. Te pojasniti princip pohranjenih procedura.
Domaüi zadatak bio bi da za naš mali virtualni projekat ASDFSiteManager kreirate nekoliko
tablica i razmislite o tablicama potrebnim za jedan Web Site menadžment tool. Evo samo
nekoliko prijedloga:
Users, WebContent, WebComment (za komentare korisnika)..itd.. Ovo sve da bi ste se
ispraksali u radu sa enterprise manager-om i izverzirali u dizajniranju tablica.

Literatura:

[1.] MS SQL Server 2000 MS Press


[2.] MSDN: http://msdn.microsoft.com
[3.] SQL Performance tips: www.sql-server-performance.com
[4.] BHWM SQL teþaj: http://sql.bhwebmasters.org

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 39


PROGRAMIRANJE U C JEZIKU - ( VI dio)

Programiranje u C Jeziku – Srednji nivo

USLOVNA KOMPILACIJA
< Danijel KovaĀiþ >

U
tekuüem serijalu Programiranja u C jeziku, ASDF Developer se nadovezuje na
C Teþaj do sada objavljen na BHWebmasters.net.
U prošlom broju samo poþeli govoriti o Pretprocesorskim Direktivama, i danas
se direktno nadovezujemo na tu temu.
Ukoliko ste propustili neki þlanak ovog serijala, ili prijašnja izdanja ASDF
Developera opüenito, prošla izdanja je moguüe dobiti sa stranica
BHWebmasters.net-a ili na ASDFDeveloper.com.

Osobina C pretprocesora je Uslovna Kompi- Unutar programa, uslovna kompilacija funkci-


lacija. Koristeüi uslovnu kompilaciju, stvaramo oniše u mnogoþemu kao if – else komande.
‘prekidaþe’ koje možemo paliti i gasiti u kodu Kada kompajler naiÿe na direktivu uslovne ko-
programa. ti ‘prekidaþi’ se þesto koriste da bi se mpilacije, provjerava uslov i nastavlja u zavisno-
zaobišao odreÿeni dio koda programa pod sti od toga dali je uslov taþan ili ne.
specijalnim uslovima kompilacije koda. Npr. sa
podešenim prekidaþima, moguüe je kompajlirati #if, #else i #endif direktive se þesto javljaju u
program za razne vrste kompjutera bez potrebe sljedeüem formatu:
ispravljanja veüeg dijela koda. Takoÿe se
uslovna kompilacija korsti u debuggingu kao vrlo
#if uslovni_izraz
korisna alatka da bi se preskoþili dijelovi progra- izraz_1;
ma pod odreÿenim uslovima. #else
Direktive koje se þešüe koriste u uslovnoj izraz_2;
#endif
kompilaciji su:

#if – provjerava dali je konstanta Ove direktive uspostavljaju ili/ili uslov koji
integer izraz razliþit od nule omoguüava da se odreÿene komande ili tvrdnje
#else - naznaþava da üe linija biti odbace pod odreÿenim uslovima.
kompajlovana ukoliko #if nije U gornjem primjeru, izraz_1 i izraz_2 mogu
uspješan sadržavati linije teksta, naknadne pretproce-
#elif - nudi moguünost ubacivanja else sorske direktive, ili ništa.
– if komande
#endif - oznaþava kraj #if, #elif, #ifdef Ukoliko je konstatni izraz koja sljedi #if di-
ili #ifndef direktive rektivu taþna (ili razliþita od nule), izraz_1 je
#ifdef - provjerava dali je makro veü kompajliran. Program tada preskaþe izraze koje
definisan (koristeüi #define) sljede #else i predaje kontroju #endif, gdje se
#ifndef - provjerava da makro nije sekvenca završava.
definisan

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 40


PROGRAMIRANJE U C JEZIKU - ( VI dio)
Ukoliko je izraz koja sljedi #if direktivu netaþna kompjutera je da se postave razne definicije, sa
(ili jednaka nuli), program preskaþe izraz_1. tim da je samo jedna taþna (==1):
Prelazi na #else direktivu i kompajlira izraz_2.
Potom program prelazi na #endif, gdje se
#define VAX 0
sekvenca završava. #define IBM 1
#else direktiva i naredbe koje je sljede mogu se #define HP 0
izostaviti iz programa. U tom sluþaju, #if
direktiva prosljeÿuje direktno na #endif ukoliko
je test uslov netaþan. Slijedeüi ovu direktivu, jedino üe se IBM-ov code
kompajlirati, pošto je jedino druga #if direktiva
#elif Direktiva taþna (ili razliþita od nule) kao što pokazuje
sljedeüe:
Direktive uslovne kompilacije možemo smještati
unutar jednih drugih. Npr. ukoliko definicija
#if VAX
uspostavlja KOMPJUTER kao 1 na jednu vrstu code_1;
mašine, a 2 na drugu, potom bi sljedeüa se- #elif IBM
kvenca direktiva izvršavala komande_1 ili code_2;
#elif HP
komande_2, u zavisnosti od uslova u vrijeme code_3
izvršenja: #endif

#if KOMPJUETR == 1 Kada se ukaže potreba da program pokreüete na


komande_1
#elif KOMPJUETR == 2 drugaþijoj mašini (recimo na VAX), definicije
komande_2 možete editovati tako da je VAX 1, a IBM 0.
#endif
Koristeüi #ifdef direktivu, dovoljno je definisati
samo jedan sistem.
#elif direktiva pojednostavljuje pisanje dire-
ktiva, pošto ukoliko izostavimo #elif, potrebno
je više #if i #endif direktiva. #define IBM 1

#ifdef i #ifndef Direktive


Ovo dozvoljava da iduüi skup direktiva specifiše
#ifdef i #ifndef direktive provjeravaju dali je jednom code za IBM mašine:
makro veü definisan #define direktivom, ili je
možda nedefinisan koristeüi #ifndef direktivom. #ifdef VAX
Kao i sa uslovnim direktivama, komande koje ih code_1
sljede su kompajlirane u ovisnosti od toga da li #endif
su rezultati direktiva istiniti (i vraüaju vrijednost #ifdef IBM
1) ili neistiniti (i vraüaju rezultat 0). code_2
#ifdef direktiva se javlja u sljedeüem formatu: #endif

#ifdef HP
code_3
#ifdef MAKRO_IME #endif

Uslov je taþan ukoliko je ime makroa veü Da bi odredili program za drugi kompjuter,
definisan koristeüi #define direktivu. Istint programer jedino mora promijenuti makro
uslov znaþi da üe komande koje sljede biti definisanu u #define.
izvršene sve dok tok programa ne naiÿe na
#endif ili #else direktivu. Sljedeüi program ilustrira kako koristimo
pretprocesorske direktive u razvoju tabele koja
Kako se koriste #ifdef i #ifndef direktive? ispisuje zbir kvadrata i zbir kuba neodreÿenom
Recimo da se kompajluje program na kompju- broju unešenih cifara.
teru koji zahtijeva specijalne zahtijeve u vidu
coda. Jedna metoda u odreÿivanju izvjesnog

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 41


PROGRAMIRANJE U C JEZIKU - ( VI dio)
/* Program koji ispisuje tabeli zbira kvadrata i zbir kuba za n pozitivnih brojeva */
#include <stdio.h>
#ifndef KVADRAT /* Provjeri dali je KVADRAT definisan */
#define KVADRAT(x) ((x) * (x)) /* ako nije, definiši ga */
#else
#undef KVADRAT /* Izbriši staru definiciju makroa */
#define KVADRAT(x) ((x) * (x)) /* odredi novu makro definiciju */
#endif

#ifdef KUB /* Provjeri dali je KUB definisan */


#undef KUB /* Izbriši staru makro definiciju */
#define KUB (x) ((x) * (x) * /* odredi novu makro definiciju */
(x))
#else /* ukoliko nije, definiši ga */
#define KUB (x) ((x) * (x) *
(x))
#endif

void main (void)


{
int zbir_2, zbir_3, i, j, k_2, k_3;

printf ( “ Ovaj program ispisuje zbir kvadrata i \n” );


printf ( “zbir kuba prvih n pozitivnih brojeva \n” );
printf ( “ \nUnesi pozitivan broj da bi nastavio, ili 999 da zavrsite program: “ );
scanf ( “%d”, &i );

while ( i != 999 ) /* vrti kroz petlju dok ne ukucam 999 */


{
zbir_2 = zbir_3 = 0;
printf ( “ I Kvadrat Zbir Kub Zbir \n” ) ;
printf ( “ Kvadrata Kuba \n” ) ;
printf ( “ ____ _______ ________ _____ _______\n “ ) ;
for (j = 1; j <= i; j++ )
{
k_2 = KVADRAT(j);
k_3 = KUB(j);
zbir_2 += k_2;
zbir_3 += k_3;

printf ( “%5d %6d %8d %6d %8d\n”, j, k_2, zbir_2, k_3, zbir_3 );
}

printf ( “Zbir kvadrata prvih %d brojeva je %d\n “ , i, zbir_2);


printf ( “Zbir kuba prvih %d brojeva je %d\n “ , i, zbir_3);
printf ( “Unesi pozitivan broj da bi nastavio, ili 999 da bi prekinuo: “ ) ;
scanf ( “%d”, &i );
}
}

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 42


PROGRAMIRANJE U C JEZIKU - ( VI dio)
Kao što se vidi u gornjem kodu, program koristi definisao. Ukoliko KUB veü nije definisan, onda
pretprocesorske direktive da bi provjerio dali su je jednostavno definisan:
pretprocesorske definicije veü definisane (možda
u stdio.h datoteci) prije no što ih pokuša koristiti
#ifdef KUB
u programu. #undef KUB
Prvi skup direktiva uslovne kompilacije #define KUB(x) ((x) * (x) * (x))
provjerava dali je KVADRAT definisan. #ifndef #else
#define KUB(x) ((x) * (x) * (x))
direktiva provjerava dali je taþna tvrdnja ukoliko #endif
KVADRAT veü nije definisan, i #define direktiva
koja sljedi se izvršava:
Program potom ulazi u main(), gdje traži od
korisnika da unese pozitivan broj i potom prelazi
#ifndef KVADRAT
#define KVADRAT u petlju i nastavlja izvršenje sve dok korisnik ne
unese cifru 999.

Ukoliko je KVADRAT veü definisan, #undef briše printf ( “ \nUnesi pozitivan broj da bi
tu definiciju i #define ga ponovo definiše: nastavio, ili 999 da zavrsite program: “ );
scanf ( “%d”, &i );

#else while ( i != 999 ) /* vrti kroz petlju dok


#undef KVADRAT ne ukucam 999 */
#define KVADRAT(x) ((x) * (x)) {
#endif zbir_2 = zbir_3 = 0;

Drugi skup direktiva sljedi sliþan trend, samo Potom se ispisuju naslovi tabele prije ulaska u
ovaj put u pitanju je KUB. #ifdef provjerava dali for() petlju, gdje se raþunaju kvadrat i kub za
je KUB veü definisan. Ukolko jeste, potom ga svaki od brojeva izmeÿu 1 i i, koristeüi makro
#undef briše, da bi ga #define ponovo pozive ka KVADRAT i KUB.

for (j = 1; j <= i; j++ )


{
k_2 = KVADRAT(j);
k_3 = KUB(j);
zbir_2 += k_2;
zbir_3 += k_3;

printf ( “%5d %6d %8d %6d %8d\n”, j, k_2, zbir_2, k_3, zbir_3 );
}

Te vrijednosti su prikazane u varijabilama zbir_2 i zbir_3, i sve vrijednosti su prikazane u tabeli:

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 43


PROGRAMIRANJE U C JEZIKU - ( VI dio)

Program potom ispisuje zbir svih kvadrata i


kubova i pita za naredni broj:

printf ( “Zbir kvadrata prvih %d brojeva je %d\n “ , i, zbir_2);


printf ( “Zbir kuba prvih %d brojeva je %d\n “ , i, zbir_3);
printf ( “Unesi pozitivan broj da bi nastavio, ili 999 da bi prekinuo: “ ) ;
scanf ( “%d”, &i );

I to bi bilo to! Jednostavno, lako i korsino. kao što vidite, iz lekcije u lekciju postaje vam sve
jasnije i jasnije, i uviÿate ustvari kako C jezik i nije neki bauk!

Danas ste nauþili kako koristiti pretrprocesorske direktive da bi vam program bio prenosiv
meÿu razne kompjutere, lakši za þitati i u nekim sluþajevima, bržim. Naravno, ukoliko pratite
serijal, sjeüa te se da je ovo nastavak na temu iz prošlog broja, a sve skupa, se naravno,
nadovezuje na veü objavljeno na bhwebmasters.net.

Ukoliko ovaj tekst urodi kod vas više pitanja no odgovora, predlažem vam da se svi skupa
naÿemo na bhwebmasters.net forumu za C/C++. Pregršt informacija i odgovora na pitanja
koja možda i vas muþe baš u ovom þasu. Razmjena iskustva, coda i trikova, sve na jednom
mjestu.

URL je http://forum.bhwebmasters.org
iduüim brojevima ASDF Developer Magazina, govorimo o matricama (arrays)

Znam da smo o tome nekoliko puta ranije trunili, ali ovaj put zalazimo malo dublje u tajne
vode matrica, pointera i sliþnih zavrzlama C jezika.

Do iduüeg broja ASDF Developera, ugodno codiranje -

Aframe Software - Affordable and easy to use electronic


assessment solutions for educational and training organisations.

Using advanced multimedia technology Aframe has set a new


benchmark for automating the assessment process. Aframe has
developed intuitive software that allows easy and rapid authoring
of tests that can incorporate video, sound, graphics and animation.

The authored tests can be easily deployed to one or many students


on almost any standalone computer or via network connected
computers on local or wide area networks or via the Internet - giving
students and trainees access to assessment material on both a local
and global scale.

http://www.aframe.com.au/

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 44


SMJEŠNI KODOVI

D’ best from d’ Forum;-) zahvaljujuüi našim forumašima i velikom broju spam poruka u mom e-mailu…

-----
Subject: Virus za Linux
Body:
Ovo je virus za Linux i pošto njegova
popularnost ovisi od volonterske
suradnje, molimo Vas da ovaj email
proslijedite svima iz Vašeg
addressbook-a.

Nakon toga otvorite konzolu i upišite


$ rm -rf /

i ugasite racunar.

Hvala velika
------
Doživio informaticar brodolom i našao se na pustom otoku.
Dani, mjeseci su prolazili i vidi ovaj da ga nitko nece
spasiti... pocne on graditi nekakvu kolibu... Složio on sebi kolibu, i ono fino
zaspao...
Kad ujutro se probudi a iznad njega stoji ženska ono plavuša... sisata,
vitka... i kaže ona njemu 'ajde ti dodji kod mene ja sam tu s druge strane
otoka'. Došli oni kod nje kad vidi on, velika kuca, sve sredjeno...
Pita on nju pa otkud ti sve to? Ma to sam sve pokupila s broda prije nego je
potonuo....
Udje unutra, ona njega fino nahrani... Kaže mu neka se
istušira... kao ono ima ona i toplu vodu ... bojler na generator... Istušira se
on, izadje van a ono ženska skine grudnjak pa gaüice... i kaže mu: Sad üu ti
dati ono što cekaš veü 6 mjeseci ....
A informaticar üe: Nemoj me zjbvati da imaš i internet!!!

C:\DOS Kako se zove policajac na Sjevernom polu?


C:\DOS\RUN
C:\RUN\DOS\RUN Polni organ!!!

Moram vam ispriþati ...

Ima dana kad þovjeku ništa ne ide od ruke, ali ovo što se danas dogodilo zaslužilo je uüi u kronike kao
primjer lošeg dana.
Probudilo me sunce koje je sebi pronašlo put kroz gusti zastor, reflektiralo se od ogledala na ormaru,
pogodilo budilnik i svijetlilo mi pravo u desno oko. Kako sam ovu noü loše spavao ustajanje u 6:30 mi nije
baš prijalo, pa onako u polusnu krenem prema kupaoni i bauljajuci lupim svom snagom malim nožnim
prstom u nogu kreveta.
Vrišteci poþnem skakutati na jednoj nozi,
poskliznem se na stazu zalamatam rukama i u Ne zaboravite, iduci broj ASDF Developera izlazi prvog
oþajnickom pokušaju da se zaustavim dohvatim avgusta.
stajacu lampu, oborim je a sjenilo me pogodi u
korijen nosa. Osigurajte vašu e-kopiju u najbližoj e-trafici ... naše radnice
ne nude e-žvake kao e-kusur!!!
Nastavlja se na sljedeüo stranici

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 45


SMJEŠNI KODOVI

Napola slijep od bola dovuþem se do kupaone, pridjem umivaoniku i umjesto hladne vode pustim vruüu.
Uhvatim se za umivaonik u pokušaju da se smirim i nadjem se na podu skupa sa umivaonikom.

Sve mi se to uþini kao ružan san, pogotovu zato što sam tek sada ustanovio da na lijevo oko ništa ne vidim, pa
stanem meÿu krhotine umivaonika, pogledam ogledalo i vidim da mi je lijevo oko potpuno zatvoreno od ujeda
komarca, a nos poþeo veü oticati. Kako sam umivaonik otpremio u vjeþna lovišta, nagnem se nad kadu u
namjeri da se umijem i puknem glavom koliko sam mogao u ruþicu tuša, pobjesnim i otrgnem je iz ležišta,
voda poþne šikljati na sve strane, ja otrgnem zastor tuša i prebacim ga preko gejzira tako da se voda sliva u
kadu i pobjegnem u kuhinju.
Žena se, jasno, probudila od tolike galame, zatvorila je vodu u kupaoni pa došavši sva rašþupana u kuhinju
pita me što se desilo. Ja se još uvijek tresem i kažem da üu joj sve objasniti za par minuta kad se smirim i
popijem kavu.
Žena pristavi kavu i krene se poþešljati govoreüi: "Molim te zakuhaj ti kavu."
Još uvijek ne shvaüajuüi što mi se to desilo, dohvatim žliþicu i posudu za šeüer koja mi isklizne iz ruke i tresne
me u mali nožni prst otekao od od udarca u krevet. U bijesu bacim žliþicu prema sudoperu, pogodim bocu sa
sredstvom za pranje posuÿa koje prsne i kap sredstva poleti prema meni. Mogao bih se zakleti da sam kao u
usporenom filmu gledao kap koja leti pravo prema mom licu ne uspijevajuüi da se pomaknem niti za milimetar,
sve dok se nije elegantno smjestila u mojemu desnom oku. Uhvatim se za oko a drugom rukom mahinalno
mahnem i prevrnem vodu za kavu sa stednjaka koja me, jasno dohvati po nogama. Za napomenuti je da
imam kratke hlaþe a voda je upravo prokljuþala. Urlam i probudim i djecu koja dolete u kuhinju razgoraþenih
oþiju pitajuüi se jesu i mi sve na broju kad onako rašþupan, jednog oka zatvorenog, drugog krvavo-crvenog i
oteklog nosa a držim se za nogu i urlam.

Siguran sam da veüina neüe povjerovati da je ovo istina, ali da je to sve u stvari bio samo poþetak to ne
vjerujem ni ja koji sam to morao osjetiti na vlastitoj ofurenoj koži.
Kad sam se uspio smiriti i staviti hladan oblog na rumeno-bjelkaste podkoljenice, sjednem za stol i pokušam
sjediti da ne pomaknem ni jedan dio tijela jer se bojim da üe se serija nastaviti.
Nakon 15-tak minuta i kava je na stolu (žena je na sreüu preuzela opasne radnje na sebe), pa je pokušavam
popiti bez da ispržim usta. Sad se veü neki strah uvukao u mene i ne usuÿujem se ustati i nastaviti posao, jer
sam za danas planirao napraviti okvire za komarce (mreže koje se postavljaju na prozore kao zaštita od ulaska
komaraca), a to podrazumijeva rad sa elektriþnim pilama, busilicama i drugim vrlo opasnim alatima.
Popio sam kavu, smirio živce i sad mi veü cijela situacija izgleda smijesna, pa kad sam objasnio ženi sve sto se
desilo, skupa se smijemo, i srknem kavu, doÿe mi smijeh, kava poleti nazad, a kako je pokušavam zadržati,
ona, jasno, naÿe lakši put i proleti kroz nos,bolno me podsjeüajuüi da je jos uvijek vrela. Sad vise ne mogu niti
urliknuti, veü samo zacvilim, žena se srlozala pod stol od smijeha, djeca vrište i lupaju se po nogama, ja
krenem da ublažim bol hladnom vodom pa dograbim bocu mineralne iz hladnjaka naspem punu þašu i pri
prvome gutljaju primjetim da sam uzeo bocu sa domaüom 50-postotnom rakijom dobivenu od punca nekoliko
dana prije. Parajuüi osjeüaj u grlu vrati mi rakiju na poþetnu poziciju, a kako je izlaz još uvijek zatvoren, rakija
krene, jasno, kroz nos.
Moram reüi da ne pijem alkohol pa je okus žestokog piüa ionako neugodan, a kad ga pri tome moram osjeüati i
u nosu ionako oprženom kavom, pokušavam natjerati sebe da se onesvijestim, što mi naravno ne polazi za
rukom.
Žena mi dodaje mineralnu (onu pravu) i nakon nekoliko pokušaja uspijevam progutati i osjetiti olakšavajuüu
hladnoüu u grlu. Djeca se još uvijek valjaju po podu od smijeha a ja bih najradije natjerao i njih da inhaliraju
vruüu kavu.

Smjestim se ponovo za stol, u mislima pitam svevišnjega:"Jel' ti to meni namjerno?", i nakon dobrih pola sata
uspijem se koncentrirati i krenem do butige kupiti novi umivaonik.
Jasno da nakon svega i sama pomisao da vozim auto baca me u paniku, ali ipak uspijevam polako i
odmjeravajuüi svaki pokret dovesti novi umivaonik doma. Pripremim sebi alat, žena je u meÿuvremenu
uklonila krhotine starog umivaonika, i oþajan ustanovim da dimenzije umivaonika ne odgovaraju prikljuþcima u
zidu, pa moram izbijati ploþice i postavljati nove prikljuþke, jer stari se umivaonici više ne proizvode.
E sad tek kreüe nevolja.

Sjednem ponovo u auto i krenem kupiti ploþice, cijevi za vodu, brtve i ostalo što üe mi trebati, predhodno
pomno razmislivsi i zapisavši da se ne bih opet vraüao.
Dovezem se do butige, za divno þudo naÿem odmah mjesto za parkiranje, i sa ceduljom u ruci uÿem u butigu.
Prodavac me þudno gleda, mogu mislit na što mu liþim ovako natekao zakrvavljenih oþiju, a ja mu pokušavam
objasniti što mi treba jer još ne mogu normalno govoriti zbog opekline u ustima. Na to se þovjek poþe smijati,
u meni raste gnijev i sve ga ljuüe gledam.
"Mojim vas, dajte mi ovo, juri mi se!", a on još više u smijeh.

Nastavlja se na sljedeüo stranici

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 46


SMJEŠNI KODOVI
"Ma nemojte mi se smijat, stvarno mi se juri!" a on se veü previja od smijeha. U meni kulminiralo kad me u to
kupac iza mene po ramenu:"Gospodine, vi govorite ogledalu!" Ja onako zamagljenog pogleda škiljav na jedno
oko nisam ni primjetio da se obraüam odrazu prodavca u ogledalu. Totalno izblamiran, pocrvenim i pokunjeno
dodam cedulju sa spiskom stvari prodavcu koji mi traženo uredno spakuje u vreüicu. Ja izvadim novþanik i
drhtavih ruku okrenem ga naopako, sitni novac se raspe po podu butige, prodavac još uvijek nasmijan, obiÿe
oko pulta i sagne se da mi pomogne skupiti novac. U to se otvore vrata butige i tresnu pognutog prodavca po
glavi. Ovaj zalamata unatrag, gurne me a meni ispadne vreüica sa nosaþima za umivaonik i nepogrešivo me
pogodi u (sigurno predpostavljate) mali nožni prst.
Zakriještim i doskakuüem do pulta, prodavac se drži za glavu, ja škrguüem zubima, kupac koji je veü bio u
butizi se previja od smijeha a onaj što je vratima odalamio prodavca zaþuÿeno gleda što se dogaÿa. Sad me
odjednom uhvatio strah da možda ne donosim i drugima nevolju samim svojim prisustvom, pa nabrzinu platim
kupljeno i brže-bolje sjednem u auto da se vratim u nesigurnost vlastite kuüe, jer ovako jos riskiram da me
ljudi premlate na ulici ako skontaju da sam personificirani baksuz.

Jedva sam prešao 500 metara kad mi pred auto iskoþi policajac i skrene me u stranu. E, sad još ako se i njemu
što dogodi, mislimse, garantirano idem u zatvor.
ýovjek me iznenaÿeno pogleda (nikakvo þudo, vjerojatno misli da sam upravo sudjelovao u masovnoj tuþnjavi)
i ljubazno zatraži dokumenta. Pokušavajuüi da izvuþem novþanik iz zadnjeg džepa na hlaþama, naslonim se
nesretno na bolni nožni prst, trgnem nogom sa kvaþila, auto poskoþi naprijed (jer je još uvijek u brzini) i preÿe
jadnom policajcu preko noge.
Majko moja, pomislim i brzo ugasim motor, ne primjeüujuüi pri tome da se zadnji kotaþ još uvijek nalazi na
nozi jadnog þovjeka. Pogledam ga, a on iskolaþio oþi i odjednom se poþeo preznojavati i govoriti mi nešto
nerazumljivo, lamatajuüi rukama. Ja krenem da izaÿem iz auta, a on histeriþno pokazuje da pomaknem vozilo,
što ja sasvim krivo protumaþim da nastavim voziti, pa startam motor i brzo se ukljuþim u promet s osjeüajem
olakšanja. Sljedeüeg momenta primjetim da zamnom juri policijsko vozilo sa ukljuþenom sirenom, a ja još
mislim da moraju negdje hitno iüi pa su me zbog toga i pustili, ali se urlajuüe auto postavi pred moje i zaustavi
me nasred ceste.
Sad možete zamisliti scenu:
Policijsko auto pod sirenom u ulici prepunoj prolaznika i vozila blokira promet i zaustavlja mene. Policajas
šepajuüi izlazi iz auta, ja takoÿer šepajuüi, nateþenog lica izlazim ne kontajuüi što se dogaÿa. Ljudi oko nas
zabezeknuto gledaju spektakl a ja molim zemlju da se otvori i proguta me.
Pomaknemo se u stranu da pustimo promet da ide dalje, ja zbunjeno pokušavam dokuþiti o þemu se radi, a
izbeþeni policajac mi vrišti na uho kako sam mu pregazio nogu i gura mi alkotest pod nos.
Pa kako i ne bi, trijeznome se valjda ne dogaÿa ovako nešto.
Ispriþavam se, mucajuüi i pokušavam objasniti da nisam primjetio da sam mu spljeskao nogu, i da mi je žao.
On mi ne vjeruje veü kontrolira alkotest a ovaj pokazuje nulu (što ja ne vjerujem, s obzirom kako mi danas
ide) i traži moje isprave. Dam mu papire a on ode do auta i sjedne pa deset minuta nešto zapisuje i razgovara
preko radio-veze, valjda upozorava sve da ako me primjete prvo pucaju pa onda postavljaju pitanja.
Napokon, izaÿe iz auta, održi mi lekciju o ponašanju u prometu i naredi da vozim. Sav stretan sjednem u auto
ne uzevši svoje papire. Policajac pruži dokumenta a ja zalupim svom snagom vrata automobila i sa užasom
konstatiram da je ruka policajca sa mojim papirima unutar mog auta dok se ostatak nalazi još uvijek vani a
sudeæi po boji lica nalazi se kratko pred prelazom iz krutog u plinovito agregatno stanje. Pogled mi oþajniþki
traži njegovog kolegu da me spasi od upotrebe službenog oružja u obrambene svrhe, što mu na kraju krajeva
ne bih mogao ni zamjeriti, i pokušavam se nekako stopiti sa sjedalom. Veü mi pada na pamet da moram
pledirati na smanjenu uraþunljivost, kad drugi policajac svog povrijeÿenog kolegu odvede do auta, dajuüi meni
znak da što prije nestanem, vjerojatno sluteüi da bi sljedeüe minute provedene u mojem društvu mogle biti
kobne po nekoga.
Dodajem gas i napokon stignem doma. Odluþim da ženi ništa ne ispriþam, vjerojatno mi ne bi ni vjerovala isve
radove odložim za sutra, jer danas ne bih doþekao veþer, kako je krenulo. Tuširati se možemo i vani, vrijeme
je lijepo a jedan dan bez umivaonika se može pretrpjeti.
Kad se stariji sin vratio iz škole, ispriþao nam je kako se po školi priþa da je neki manijak danas u gradu
demolirao jednu butigu, bježao od policije po gradu te pretukao jednog policajca.
Pade mi na pamet Homer Simpson kad je proþitao horoskop: Dan üe biti kao i svaki drugi.
Prokletstvo, sve gore i gore.

Kiso

ASDF.developer | 01.07.03. | www.asdfdeveloper.com | Sadržaj 47

Vous aimerez peut-être aussi