IZRADA WEB STRANICA

 

Slanjem upita za izradu web stranice putem obrasca, ostvarujete dodatnih 5% popusta na izradu Vaše web lokacije!


• Izrada traje minimalno 5 dana, maksimalno 30 dana.
• Plaćanje se vrši po ispostavi ponude ili predračuna.
• Prva opcija plaćanja jest 50% prije 50% nakon izrade
• Druga opcija plaćanja jest avansno, uz 10% popusta.
• Web stranica se izrađuje na principu „ključ u ruke“.
• Nakon završetka izrade web stranice ista ide u javnu objavu.


Kako bismo vam mogli poslati što precizniju ponudu molimo vas da navedete što potpunije podatke prilikom ispunjavanja samoga upitnika! Popunite upitnik.

Upit možete poslati i drugim putem, za više informacija posjetite ovaj link.

 

 

 

Osnove baza podataka – ušteda memorije

Baza podataka je skup podataka spremljenih u jednu ili više tablica iste datoteke. Kako bi se baze podataka stvorile kao funkcionalne potrebno je osmisliti ispravan objektni model i dovesti bazu podataka u što veću normalnu formu. Pravila normalizacije baza podataka su definirane sa 12 pravila o normalizaciji. U praksi se rijetko koriste pravila jer je analitički način razmišljanja puno učinkovitiji i traženiji. Gledanjem u sama pravila od 1 do 12 nekada se baza ni ne može dovesti u normalnu formu. Ako uzmemo kao primjer beskonačnu hijerahiju onda će to biti puno jasnije jer se ona u pravilima za normalizaciju nigdje ni ne spominje.

Kako se dizajnira objektini model? Prvo i osnovno je da se prouči materija koju trebamo implementirati. Što više poznajemo materiju na kojoj ćemo graditi aplikaciju to nam je sve ostalo lakše. U bazu je potrebno unijeti nazive tablica i sva polja koja su vezana za tablice. Nakon tablice se analitičkom logikom dodaju polja koja će biti relacijska poveznica među tablicama. Relacijskim vezama smanjujemo memorijsku veličinu baze podataka. Kao primjer možemo navesti da imamo tablicu gdje je popis nekih osoba i tablicu sa popisom gradova. U tablicu pored gdje su imena ćemo dodati polje na koje će se povezati polje iz tablice popisa gradova i tako će ono u sebi imati upisanu samo brojku koja predstavlja redni broj grada u tablici. Ovdje se već očito vidi koliko se mjesyta ustedjelo sa ovim načinom upisivanja. Pogledajmo to i matematički! Kao primjer ćemo uzeti da se radi o gradu Osijeku.

Grad Osijek ima 6 slova, dakle 6 bajtova. Ako upišemo Osijek u 100 polja tablice, to je 600 baytova. Ako se pak držimo relacija to će biti puno manje. Polje za reacije su obično cjelobrojna i kreću od 1. U našem primjeru imamo 100 polja. 9 polja od toga su po 1 bayte, 1 polje 3 bayta i 90 polja po 2 bayta. 9 x 1 + 100 x 1 + 90 x 2 = 289. Na samo 100 polja smo napravili uštedu veću od 50%. Ovo je zasta samo banalan primjer i nije kao jedinka vjerodostajan matematičkom dokazu, a nekada je opet matematički izračun puno veći od 50% u korist baze. Što ako je mjesto Sveti Petar u šumi? Brojke od 1 do 100 će uvijek zauzimati 289 b, a slučaj ovog mjesta zauzima čak 20 b po polju. Ovdje bi matematika pokazala zaista pravu moć uštede prostora.

Osim ovakvim načinom, na prostoru se može dobiti i pravilnim odabirom tipova polja u tablicama. To se može uspješno odraditi ako dobro poznajemo tipove podataka u bazi i ako korisnik nema spacijalne zahtjeve pa nam budućnost aplikacije zaista zahtjeva nešto drugo.

 

 

Osnove programiranja

Među hrpama tutorijala o osnovama programiranja, svaki od njih je danasvrlo sličan. Zašto? Zato što je koncept programiranja potpuno jednak za sve jezike. Osnove programiskih jezika u svrhu pobude logike za programiranje se može vježbati i razvijati u bilo kojem jeziku. Iz prakse poznato da je najbolje to raditi u onom jezku u kojem ćeš u budućnosti i nastaviti raditi. To je savjet zbog čudnih navika čovjeka oko same okoline u kojoj boraviš na svojem računalu.

Osnovama programiranja se čovjek uči logici kod programiranja i ne dohvaća se niti jedan segment objektnosti. Samo programiranje je na puno polja sasvim drugačije od stvarne logike kojom čovjek razmišlja. U praksi je statistički pokazano da su najbolji programeri ljudi koji barataju sa matematikom i šahom, ali opet to nužno ništa ne znači. Razmišljanja u sve tri segmenta su totalno algoritmička ali agoritmi se iz koraka u korak mjenjaju.

Osnove programiranja se u školama uče preko matematičkih operacija. Primjerice, razviti programčić koji će zbrojiti sve brojeve od 1 do 100. Razvijanjem takvih primjera, učenik se dovede u poziciju da treba znati baratati i sa osnovnim petljama jer gdje bi tu bilo znanje i logika kada bi program bio zadan kodom da je neka varijabla jednaka 1 + 2 + 3....+ 99 + 100? Što bi se dogodilo kada treba zbrojiti brojeve do 100 000 ili zbrojiti brojeve koje generator slučajnih brojeva nasumično generira? Za sve takve primjere je opet segment programskog jezika na prvom mjestu.

Kako znati da li je netko za programiranje? Treba počinjati sa lakšim primjerima i postupno ih otežavati ali nikako ostavljati tzv. kalup za rješavanje.

Ovdje ću sada napisati kratak kod za zbrajanje brojeva od 1 do 100 tisuća kao primjer sa kojim se može zbrojiti bilo koji raspon brojeva slijedno nizanih.

a=0;

for(i=0; i<=100; i++){

a=a+i;

}

Ovom primjeru je potrebno postaviti ispisnu metodu da se vidi konačan rezultat. Ova kratka petlja je zaista šarolikih mogućnosti. Početniku je dovoljno i ovo kako bi dalje počeo sam istraživati i isprobavati.

Ovo je bio sitan primjer gdje je od matematike zastupljeno samo zbrajanje. U programiranju su zastupljene i ostale matematičke oparacije i istog su prioriteta kao i u matematici. Ako nekada nismo 100% sigurni u sljednost operracija, zagrade su spas. Ono što je u zagradi obradi se kao prioritet. Zagrade se najčešće koriste u razlomcima, pogotovo na mjestima u nazivniku. Kod nazivnika se obično prave greške pa ako je dulji izraz, najbolje je korisititi zagrade za cijeli izraz u nazivniku ili jednostavno brojnik i nazivnik podjeliti u istoimene varijable te ih na samom kraju podjeliti.

 

 

 

Osnovni pojmovi u objektno orjentiranom programiranju

Objektno orjentirano programiranje je novitet koji je stigao sa privim inačicama Visual Basica. Tada se većina neiskusnih programera navuklo u taj svijet zbog jako lakog načina stvaranja grafičkog sučelja. No u nedostatku literature, primjera i svega onoga što nam danas internet omogućava, zapeli su na stavkama koje su bile objektnog tipa. To su bili stari programeri za koje je incijalizacija varijable značila da se samo može reći da je nešto cjelobrojno, znakovno itd... Dolaskom pravog objektnog programiranja, programski jezik je otvorio jedan novi svijet, nove mogućnosti ali i pojmove koje je trebaloi proaktički svladati.

Jedan od osnovnih pojmova je klasa. Što je klasa? Klasa je opisnik objekta i svih njezinih metoda. Klasa ima svoje ime, svoje konstruktore, svoje metode. Ako se klasa zove Tijelo, i pomoću nje istanciramo objekt kocka, taj objekt ima mogućnosti raditi sa svim metodama koje su unutar klase tijelo. Što bi bilo logično da je unutar takve matematičke klase? Oplošje, volumen, površina baze i eventualne geometrijske specifičnosti. Kako to izgleda u kodu?

Class Tijelo{

int Volumen(int a, int b, int c){

return a*b*c;

}

Klasa Tijelo sada može instancirati objekt:

Tijelo kocka;

kocka=new Tijelo();

kocka.Volumen(2,2,2);

Sada će objekt kocka moći raditi sa svim metodama iz klase.

Što je objekt? Objekt je instanca klase. On je u stvarnom svijetu stvarna stvar. To bi značilo da ima svoje dimenzije, namjenu i veličinu. Tako je i u programskom jeziku. Veličine objekata se izražavaju kroz memorijsko zauzeće u procesima.

Klase direktno ili indirektno mogu naslijediti drugu klasu. Tako se stvara hierahija klasa, nadklasa i podklasa. Svaka klasa može nasljediti samo jednu klasu i tada najvišlja u hierarhiji indirektno otvara put do metoda kroz sve klase do sebi najniže.

Polimorfizam ili višeobličje je također pojam koji je vezan uz objektno orjentiranno programiranje i on nam omogućuje da jedna metoda ima više oblika. To znači da naša metoda Volumen koja je totalno cjelobrojnog tipa, može imati i oblike da primi kombinacije kao int, string, int. Tada bi i editor u kojem radimo pokazao da postoji više oblika za istu metodu, pa odabiremo koja nam treba. Za naš primjer možemo napraviti jednostavne stvari poput volumena za kocku, razlika bi bila samo u tome što takva metoda treba primiti jednu vrijednost i vratiti ju potenciranu trećim stupnjem, no to je već matematika pa nećemo u detalje.

Enkapsulacija ili učahurivanje je pojam kojeg susrećemo, a i koristimo kada u klasi napravimo klasu. Tada kažemo da se ona učahurila unutar klase. U konkretnim primjerima se takav način čahurenja koristi kada se pišu klase po uzoru na RSS kanal i služe za daljnje preuzimanje podataka, uglavnom sa interneta i tada se podaci obrađuju na bilo koji potreban način ili se jednostavno preuzimaju za prikaze, npr. vremenska prognoza sa yahoo kanala.

 

 

Povijest programskog jezika Java

Javu su prvobitno konceptirali stručnjaci iz i danas poznate Sun koorporacije. Prvobitni razvoj Jave je trajao 18 mjeseci. Ovaj jezik je u pocetku dobio ime Oak, ali je ono 1995. godine promjenjeno u Java. Donekle je iznenađujuće što Java u ono vrijeme nije osmišljena za Internet akcije koje su danas nezamislive bez nje. Osnova je bila osmisliti jezik neovisan o platformi, tj. neovisan o arhitekturi računalnog sustava, koji bi mogao koristiti za pravljenje programske podrške za uređaje u domaćinistvu(mikrovalne pećnice, perilice za sudje, veš, daljinski upravljači…). Ovi uređaji koriste različite tipove kontrolera i mikroprocesora. Posljedica toga je potreba za jezicima niže razine i općenito binarnog izvođenja. Binarno previđenje u jezicima niže razine je moguće binarni prijevod usmjeriti samo prema jednom procesoru. U praksi se takav način rada ne može prakticirati jer je previše spor, a i neisplativost je također zajamčena. Svi ovi uvjeti oko grupnih pristupa procesoru, lakšeg previđenja, neovisnost o platformi, donijeli su novitet sa Java programskim jezikom. Današnja Java u svijetu računala je neizostavni dio bilo koje platforme. Jedna od najraširenijih korisnika jave je Internet. Da se web nije uobličio u isto vrijeme kad i java, ovaj programski jezik bi možda i danas ostao samo za programiranje kućanskih aparata. Međutim, s pojavom web-a, java se probila u prvi plan računalnih jezika jer su i za web bili potrebni prenosivi programi.

Većina programera vrlo rano nauči da su prenosivi programi, iako poželjni, prilično neostvarljivi. Iako je potraga za efikasnim, prenosivim (platformski prenosivim) programima stara gotovo koliko i samo programiranje, potisnuli su je u drugi plan važniji problemi.

Zbog sličnosti jave i c++ jezika, nameće se misao da je java samo c++ u verziji za Internet. Ako se takva misao uvaži slijedi grdna pogrška! Java se znatno razlikuje od c++ jezika po praktičnosti i po filozofiji . I ako je točno da je java nastala pod utjecajem c++ jezika, ona nije njegova poboljšana verzija. Java nije ni ulazno ni silazno kompatibilna s c++ jezikom. Naravno, sličnosti s c++ jezikom su znatne i svaki programer će reći da se prelaskom iz jezika u jezik osjećao kao 'kod kuće'. Java nije napravljena kako bi zamjenila c++ jezik već da riješi određeni skup problema. Oba jezika će usporedno postojati još mnogo godina.

U svijetu Android programiranja Java je postala vrlo moćan alat na kojem se ucestalo radi na nadogradnjama i poboljšanjima koje nosi evolucija novih uređaja. Sami razvojni alat eclipse omogućuje programerima vrlo ugodnu radnu okolinu. Sami razvoj aplikacije se temelji na poznavanju objekata i njihovoj kombinaciji . Za uspješan razvoj android aplikacija potrebna su dva tima ljudi. Dizajneri i programeri. Dizajneri osmišljavaju korisničko grafičko sučelje, kreiraju ga i obrađuju do najsitnijh detalja. Na kraju se objekti sjeku na određene načine i predaju programeru koji započinje kodiranje aplikacije. Sami tijek od početka do kraja je vremenski ograničen, te je za aplikaciju srednjeg zahtjeva oko 3 mjeseca. Aplikacije koje se rade u kućnim radionicama osigurano je tržište preko Google play-a. Većina aplikacija je besplatna, a glavni izvori prihoda su iz GoogleAdMob reklamiranja.

 

 

Iznimke u Java programskom jeziku

Iznimke u aplikaciji nisu neuobičajene. Pojavljuju se u trenutku izvršavanja programa. Kao dobar primjer možemo predvidjeti spajanje na bazu podataka. Uvidio sam da će najčešće iznimke dolaziti od strane korisnika aplikacije. Nije neuobičajeno da korisnik u polje gdje treba upisati broj, upiše slova. Takve tipove iznimaka se spriječavaju jednostavnim upitima, a složenije se ostave Javinom mehanizmu.

Iznimka je u Javi objekt koji opisuje određeno vanredno stanje koje nastaje u djelu koda. Kada nastane takvo vanredno stanje, stvara se objekt koji predstavlja iznimku i ubacuje je u metodu koja je izazvala grešku. Ta metoda može sama pokušati obraditi grešku ili je preslijediti dalje. Na jedan ili na drugi način, iznimka na kraju biva uhvaćena i obrađena. Iznimka može generirati Javin izvršni sistem ili to možemo sami raditi ručno. Iznimke koje pravi izvršno okruženje odnose se na osnovne greške koje narušavaju pravila jezika ili ograničenja izvršnog okruženja. Ručno generiranje iznimki obično se koristi da bi se pozivatelju metode saopćilo stanje greške.

Svi tipovi iznimki su potklase ugrađene klase Throwable. Zato se klasa Throwable nalazi u vrhu hijerarhije klasa iznimki. Neposredno ispod vrha hijerarhije su dvije potklase koje iznimku djele na dva jasna dijela. Jedna potklasa nosi ime Exception. Ona se odnosi na vanredna stanja koja trebaju uhvatiti korisnički programi. U toj klasi napravit će te potklase za posebne vrste svojih iznimki. Klasa Exception ima jednu važnu potklasu RuntimeException. Iznimke ovog tipa automatski se definiraju za programe koje pišemo i obuhvaćaju npr. djeljenje nulom i neispravno indeksiranje nizova.

Drugi dio počinje klasom Error, s iznimkama za koje se pod normalnim okolnostima ne očekuje da će ih vaš program uloviti. Javin izvršni sistem koristi iznimke tipa Error da bi označilo greške koje se odnose na samo okruženje pri izvršavanju programa. Jedna takva greška je prekoračenje stoga.

Pri bacanju iznimki, izvršavanje metode poprima skokovit, nelinearan tok suprotan normalnom toku izvršavanja metode. U zavisnosti od toga kako je metoda napisana, iznimka može izazvati čak i privremen izlazak iz metode. U nekim slučajevima to može stvoriti probleme. Na primjer, ako metoda na početku izvršavanja otvara određenu datoteku a na kraju je zatvara, onda ne želimo da mehanizam za obradu iznimki zaobiđe naredbe za zatvaranje datoteke. Rezervirana riječ finally namjenjena je sprječavanju takvih mogućnosti.

Naredba finally obrazuje blok naredbi koji se izvršava neposredno po završetku bloka try/catch, ali prije prve naredbe koja taj blok slijedi. Blok finally će se izvršitit bez obzira na to da li je iznimka bačena ili nije. Ako je iznimka bačena, blok će se izvršiti i ako se ne nađe odredba catch koja odgovara iznimki. Naredba finally će se izvršiti i neposredno prije izlaska iz svake metode koja se vraća pozivatelju iz bloka try/catch, bilo zbog neulovljene iznimke ili kao posljedica izričite naredbe return. To može biti korisno pri zatvaranju datoteke i oslobađanju drugih resursa. Odredba finally nije obavezna. Međutim, za svaku naredbu try neophodna je barem jedna odredba catch ili finally.

 

 

Baze podataka

Baza podataka je smislena cjelina u kojoj su pohranjeni podaci. Kako bi se podaci mogli smisleno pohranjivati od velike vaznosti je samu bazu dobro osmisliti, dizajnirati i kodirati. Pomoćne stvari oko dizajna baze su pravila za normalizaciju baze podataka. Što se baza podigne na veći stupanj normalne forme to su budući nedostaci manji. Normalizaciju baze podataka u realnom svijetu osmišljavaju analitičari u suradnji sa programerima i stručnjacima struke za koju se baza realizira.

U 70-tim godinama baze podataka su bile jednostavni programčići gdje se u jednoj datoteci mogla realizirati samo jedna tablica. Tu su uviđeni nedostaci povezivanja tablica i skraćivanja velicine baze podataka. Koorporacija Microsoft tada realizira i baca na tržište prvu relacijsku bazu podataka unutar Office paketa, Access. I ako on ustvari nije baza podataka jer ne radi na mreži, ipak je zaista prvi program u kojem se moglo osmisliti i realizirati kompleksniji objektni model.

Sa novim inačicama baza podataka, osim tipova polja, njihova veličina, te pokrivanje višejezičnosti, dolaze pojmovi primarni ključ, strani ključ, indeks, itd. Kao prvi pojam u bazama podataka treba reći da je tablica dvodimenzionalni objekt koji se sastoji od redaka i stupaca. U svakoj tablici je poželjno imati polje koje će biti definirano kao unikatno, što znači da niti jedan podatak u tom stupcu nećće biti jednak. Kao takav primjer možemo navesti redni broj. Zašto je to bitno? U obradama podataka uvijek možemo naići da neka polja imaju jednake podatke. Naredbe za manipulaciju podacima zahtjevaju, osim podataka, i uvjet nad kojim poljima to napraviti. To postaje složeniji problem upravo kada se u nekim poljima javljaju isti podaci. Naravno, moguće je i u takvim slučajevima odraditi radnje ali su one tada teže, dulji su uvjeti prema kojima se baza podataka ogledava i definitivno, manje je pouzdano.

Baze podataka su alati u kojima se u svijetu informatike ne može stvoriti grafičko korisničko sučelje, ali mogu se stvoriti procedure, pogledi, funkcije, okidači. Okidač (eng. trigger) je svakako najsofisticiraniji alat. Njegova zadaća je da se nakon odradjene radnje, ili prije, pokrene i odradi programski kod koji mu je zadan. Najčešći oblici okidača su oni koji se aktiviraju prije ili poslije unošenja novog podatka u bazu. Naredba za unošenje je INSERT, tako da se ova dva oblika nazivaju before insert i after insert. Također i naredbe za ispravak, UPDATE, za brisanje, DELETE, imaju svoje before i after opcije.

Često se tokom rada nad bazom očituje potreba za radnjama nad više tablica odjednom. To su slučaji kada se popunjavaju veliki obrasci za bilo koju namjenu i na kraju ima opcija za pohranu. Tada se podaci pohranjuju u bazu u više tablica koje su relacijski povezane. Tokom takve pohrane može doći do neočekivanog deficita, npr. nestanak elektricne energije, nestanak Internet veze, i podaci su tada djelomično pohranjeni. Ali kako u praksi to nije prihvatljivo uveli su sisteme transakcija. Transakcija kontrolira cijeli proces, te ako dodje do bilo kakvih problema, ona neće proci ali će izbrisati i djelove koji su prošli tako da bi nakon javljanja greške vratila bazu podataka u stanje u kojem je bila kao prije pokretanja zadnje radnje.

 

 
Live Chat
Tweet