<?xml version="1.0" encoding="windows-1250" ?>
<rss version="2.0">
<channel>
<docs>https://www.mycity.rs/Obavestenja/MyCity-RSS-feeds.html</docs>
<title>MyCity :: Web programiranje</title>
<link>https://www.mycity.rs/Web-programiranje/</link>
<description>RSS feed 'Web programiranje' foruma</description>
<language>sr</language>
<ttl>15</ttl>
<lastBuildDate>Mon, 17 Aug 2026 09:02:30 +0100</lastBuildDate>
<item>
	<title>Web razvoj za početnike [2017]</title>
	<link>https://www.mycity.rs/Web-programiranje/Web-razvoj-za-pocetnike-2017-2.html</link>
	<guid>https://www.mycity.rs/?p=1875449</guid>
	<author>nobody@mycity.rs (E.L.I.T.E.)</author>
	<description>U poslednje vreme je česta pojava da se javljaju početnici u web razvoju koji poznaju osnovne stvari, a ne znaju kako da nastave da se dalje usavršavaju. Zato sam planirao da konačno pokrenem ovu temu koja bi se ažurirala s vremena na vreme (obzirom da se web ubrzano razvija), a ukoliko i vi imate neki predlog vezan za resurse za učenje ili tehnologiju koja bi takođe mogla da bude obrađena u temi, pišite.
&lt;br /&gt;

&lt;br /&gt;
Ovaj članak će se baviti isključivo razvojem aplikacija za web (front-end i back-end). Sa ekspanzijom više-platformskih radnih okvira informacije iz ovog članka se mogu koristiti i za razvoj desktop i mobilnih aplikacija (čitaj: Electron, NativeScript, Cordova, React Native...).
&lt;br /&gt;

&lt;br /&gt;
Tema bi trebala da ostane otvorena kako bi se obaveštavalo o novinama u web razvoju, a članak će se i ažurirati shodno tome  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;  
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Sadržaj&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;0. Termini&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;1. Osnove&lt;/span&gt;
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
1.1. HTML
&lt;br /&gt;
1.2. CSS
&lt;br /&gt;
1.3. JavaScript
&lt;br /&gt;
1.4. HTTP
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;2. Razvojni okviri, biblioteke i ostali alati za razvoj&lt;/span&gt;
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
2.1. Front-end okviri
&lt;br /&gt;
2.2. JavaScript biblioteke i radni okviri
&lt;br /&gt;
2.3. Testiranje, dokumentovanje i validacija koda
&lt;br /&gt;
2.4. Alati u web pregledačima
&lt;br /&gt;
2.5. FTP klijenti
&lt;br /&gt;
2.6. Verzionisanje koda
&lt;br /&gt;
2.7. Upravljači paketima
&lt;br /&gt;
2.8. Preprocesori
&lt;br /&gt;
2.9. Automatizacija
&lt;br /&gt;
2.10. Generatori statičkih sajtova
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;3. Back-end razvoj&lt;/span&gt;
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
3.1. Jezici za programiranje na strani servera
&lt;br /&gt;
3.2. Baze podataka
&lt;br /&gt;
3.3. Hosting i administracija servera
&lt;br /&gt;
3.4. Mikroservisi
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;termini&quot;&gt;&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;0. Termini&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Front-end development&lt;/span&gt; ili &lt;span style=&quot;font-weight: bold&quot;&gt;razvoj na klijentskoj strani&lt;/span&gt; predstavlja praksu korišćenja HTML-a, CSS-a i JavaScript-a za razvoj delova web aplikacija koje korisnik može videti i sa njima direktno vršiti interakciju (prezentacioni deo). Cilj ovog dela razvoja web aplikacija jeste da se korisniku informacije prezentuju u formatu koji je relevantan i jednostavan za snalaženje, a najveći izazov jeste kompatibilnost sa različitim web pregledačima. Razlog za to je što su se web tehnologije razvijale organski, a njihov razvoj su dodatno kočili zatvoreni protokoli, restrikcije i specifičnosti koje su se javljale u nekim pregledačima (najpoznatiji primer je Majkrosoftov Internet Explorer).
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Back-end development&lt;/span&gt; ili &lt;span style=&quot;font-weight: bold&quot;&gt;razvoj na serverskoj strani&lt;/span&gt; uključe razvijanje onih delova web aplikacije koji se izvršavaju na serveru i čiji je fokus obrada informacija dobijenih od korisnika (logički deo). U ovom slučaju kod nije dostupan krajnjem korisniku već on biva izvršen na serveru nakon čega se korisniku šalje rezultat u HTML-u. Ovaj deo razvoja uključuje korišćenje podataka poslatih od strane korisnika sa front-end dela, administriranje bazi podataka, skaliranje koje može uključivati kako izmene na softveru tako i na hardveru kod aplikacija koje trebaju da opslužuju relativno veći broj korisnika na dnevnom nivou, obezbeđivanje aplikacije (provera identiteta, autorizacija, onemogućavanje prolaska zlonamernih informacija ubačenih od strane korisnika...) i sl.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Full-stack development&lt;/span&gt; je termin koji se odnosi na rad na oba prethodna polja.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;API&lt;/span&gt; (&lt;span style=&quot;font-style: italic&quot;&gt;Application programming interface&lt;/span&gt;) predstavlja set potprograma, protokola i alata za razvoj softvera. U opštem smislu, on predstavlja set jasno definisanih metodi komunikacije različitih softverskih komponenti, dajući programeru 'gradivne blokove' koje može koristiti u izgradnji programa. Najčešći primeri su API-i za rad sa operativnim sistemom, bazama podataka, računarskim hardverom i oni na web baziranim sistemima.
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;osnove&quot;&gt;&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;1. Osnove&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Ovo su osnovne stvari koje bi svako ko želi da se bavi web razvojem trebao da zna, a u zavisnosti od pozicije (front-end / back-end / full stack programer) potrebno je dublje poznavanje određenih stavki, najpoželjnije ovim redom. Čak i ako ne planirate da se bavite front-end razvojem, poželjno je da poznajete ove tehnologije jer ćete najverovatnije u nekom trenutku imati dodira sa njima.
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;html&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;1.1. HTML&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;HTML&lt;/span&gt; (&lt;span style=&quot;font-weight: bold&quot;&gt;H&lt;/span&gt;yper&lt;span style=&quot;font-weight: bold&quot;&gt;T&lt;/span&gt;ext &lt;span style=&quot;font-weight: bold&quot;&gt;M&lt;/span&gt;arkup &lt;span style=&quot;font-weight: bold&quot;&gt;L&lt;/span&gt;anguage) je osnovni gradivni blok web-a i koristi se za definisanje sadržaja stranice preko tagova, tako da ga je neophodno poznavati za bilo kakvo predstavljanje informacija u web obliku.
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Uvod u HTML
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Rad sa slikama
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Audio i video sadržaj
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Ugradnja eksternog sadržaja
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Vektorska grafika
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Responzivne slike
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Rad sa formama
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; HTML5
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Referenca
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span id=&quot;css&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;1.2. CSS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;CSS&lt;/span&gt; (&lt;span style=&quot;font-weight: bold&quot;&gt;C&lt;/span&gt;ascading &lt;span style=&quot;font-weight: bold&quot;&gt;S&lt;/span&gt;tyle &lt;span style=&quot;font-weight: bold&quot;&gt;S&lt;/span&gt;heets) je jezik koji se koristi da definiše na koji način će biti prezentovan HTML dokument tj. kao što mu i samo ime govori predstavlja jezik za stilizovanje.
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Uvod u CSS
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Sintaksa i forma jezika
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Stilizovanje teksta
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Stilizovanje kutija
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Raspored
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Specificiranje i nasleđivanje
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Model kutije i margine
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Slaganje i blokovno formatiranje
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Inicijalne, izračunate, korišćene i trenutne vrednosti
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Skraćenice
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; CSS3
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Referenca
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span id=&quot;js&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;1.3. JavaScript&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;JavaScript&lt;/span&gt; je programski jezik koji se u kontekstu front-end razvoja izvršava u web pregledaču, a pruža interaktivnost web stranicama.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Osnovni nivo&lt;/span&gt;
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Uvod u JavaScript
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Pisanje jednostavne igre u JavaScript-u
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Debagovanje
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Promenljive
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Brojevi i operatori
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Rad sa tekstom (stringovima)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Korisne metode za rad sa stringovima
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Nizovi
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Uslovi
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Petlje
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Funkcije
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Događaji (events)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Objekti
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Objektno-orijentisani JavaScript
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Prototipi
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Nasleđivanje
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; JSON
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Klijentski interfejsi
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Srednji nivo&lt;/span&gt;
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Prošireni uvod u JavaScript
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Strukture podataka u JavaScript-u
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Poređenje
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Pregrade (closures)
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Napredni nivo&lt;/span&gt;
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Nasleđivanje i lanac prototipa
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Striktni mod
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Tipizirani nizovi
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; SIMD tipovi
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Upravljanje memorijom
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Konkurentnost
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Referenca
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
Ukoliko ste stigli do ovde šteta bi bila da ne pročitate i članke Dmitrija Sošnikova na ovu temu. Ukoliko planirate da se primarno bavite back-end razvojem, osnovni nivo ovog dela je sasvim dovoljan. Daglas Krokford važi za jednog od najbitnijih ljudi u JS zajednici zbog učestvovanja u njegovom razvoju pa ako želite da svoje znanje podignete na viši nivo obavezno pročitajte njegove radove na ovu temu. Takođe je veoma korisna serija članaka You Don't Know JS u kojoj su do tančina objašnjene stvari koje mnogi JavaScript početnici ne razumeju dovoljno (asinhrono programiranje, closures, scopes, prototipi i sl).
&lt;br /&gt;

&lt;br /&gt;
U poslednje vreme funkcionalno programiranje je postalo veoma popularno, a i sam ES6 (ECMAScript 2015, standard po kom je razvijena nova verzija JavaScript-a) sadrži mnogo novih opcija koje obogaćuju JavaScript ovom paradigmom. Za dodatno proučavanje ES6 preporučujem knjigu Exploring ES6 u kojoj su ne samo pokrivene nove opcije ovog standarda, već i detaljno objašnjenje kako bi čitalac mogao da razume zbog čega su one korisne.
&lt;br /&gt;

&lt;br /&gt;
Više o tome zašto bi trebalo da naučite funkcionalno programiranje u JavaScript-u pročitajte u ovom članku.
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;http&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;1.4. HTTP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Ostavio sam ovaj deo kao poslednji jer se početnici obično obeshrabre učenjem suvoparne teorije bez primene u praksi; ovaj deo međutim nije ništa manje bitan (naprotiv), a naročito je neophodno razumevati ga ukoliko želite da se bavite back-end razvojem.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;HTTP&lt;/span&gt; (&lt;span style=&quot;font-weight: bold&quot;&gt;H&lt;/span&gt;yper&lt;span style=&quot;font-weight: bold&quot;&gt;T&lt;/span&gt;ext &lt;span style=&quot;font-weight: bold&quot;&gt;T&lt;/span&gt;ransfer &lt;span style=&quot;font-weight: bold&quot;&gt;P&lt;/span&gt;rotocol) je protokol prenosa hipermedijalnih dokumenata, poput HTML-a, dizajniran za komunikaciju između web pregledača i web servera. On koristi klijent-server model gde klijent šalje zahtev serveru i čeka dok ne dobije odgovor. Kod ovog protokola server ne čuva podatke između dva zahteva.
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Uvod u HTTP
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Keširanje
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Kolačići
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; CORS
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Poruke
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Sesije
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Zaglavlja
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Metode zahteva
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Kodovi odgovora
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Polisa bezbednosti sadržaja
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Preporučljivo&lt;/span&gt;
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Kako web pregledači rade (HTML5 Rocks)
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span id=&quot;front-end-alati&quot;&gt;&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;2. Razvojni okviri, biblioteke i ostali alati za razvoj&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Nakon što ste naučili kako da koristite HTML, CSS i JavaScript i napravili par jednostavnih web stranica vreme je da naučite kako da olakšate pisanje web aplikacija koristeći radne okvire i biblioteke. Oni predstavljaju skupove funkcionalnosti sastavljene u jednu celinu i sistematizovani tako da olakšaju određene zadatke.
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;front-end-okviri&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;2.1. Front-end okviri&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Front-end okviri predstavljaju radne okvire koji svojim ugrađenim funkcijama omogućavaju da na lak način definišete strukturu dokumenta i elemente unutar njega, bez da pišete HTML i CSS od nule. Najpopularniji iz ove grupe su Bootstrap i Foundation, dok je Bootstrap bolje nastrojen prema početnicima i za njega je dostupno najviše materijala (ikonica, temi i ostalih resursa).
&lt;br /&gt;

&lt;br /&gt;
Detaljnije opise, prednosti i mane poznatijih okvira možete pročitati u ovom članku.
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;js-alati&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;2.2. JavaScript biblioteke i radni okviri&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Napomena:&lt;/span&gt; Poznavanje biblioteka &lt;span style=&quot;text-decoration: underline&quot;&gt;ne može zameniti&lt;/span&gt; temeljno poznavanje JavaScript-a!
&lt;br /&gt;

&lt;br /&gt;
U ovom delu nisu navedene sve biblioteke i radni okviri koji postoje već samo neki od najpoznatijih. Različiti razvojni timovi koriste različite biblioteke i radne okvire tako da ne postoji pravi odgovor na pitanje koje da učite, iako među mnogima vlada mišljenje da je jQuery pored JavaScript-a veoma korisno znati za ubrzavanje rada sa korisničkim interfejsom (iako se taj trend ubrzano menja), dok ostale možete koristiti po potrebi i uglavnom nije neophodno da ih dublje proučavate zbog vrlo pristupačne dokumentacije i zajednice oko nje.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Jezici koji se prevode u JavaScript (transpileri)&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Danas postoji mnogo jezika koji olakšavaju pisanje JavaScript-a, a koji se automatski mogu prevesti u validan JS kod (tzv. transpileri). Neki od najpopularnijih su:
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; CoffeScript
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; TypeScript
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Amber
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Brython
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; ClojureScript
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Dart
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; GopherJS
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; GWT
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Haxe
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Scala.js
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Biblioteke i okviri za upravljanje korisničkim interfejsom&lt;/span&gt;
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; jQuery
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Backbone.js
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Knockout.js
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; AngularJS (ne mešati sa Angular)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; React
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Vue
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Riot
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Biblioteke za razvoj igara&lt;/span&gt;
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Phaser
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; PixiJS
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; BabylonJS
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; WhitestormJS
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; PhysicsJS
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Cocos2d-JS
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; melonJS
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Ostalo&lt;/span&gt;
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; three.js - biblioteka za prikazivanje 3D WebGL sadržaja
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Dropzone.js - biblioteka za slanje fajlova jednostavnim prevlačenjem u dokument
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; D3.js - biblioteka za vizuelizaciju podataka
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span id=&quot;js-test-doc-lint&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;2.3. Testiranje, dokumentovanje i validacija koda&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Testiranje koda&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;TDD&lt;/span&gt; (&lt;span style=&quot;font-weight: bold&quot;&gt;t&lt;/span&gt;est-&lt;span style=&quot;font-weight: bold&quot;&gt;d&lt;/span&gt;riven &lt;span style=&quot;font-weight: bold&quot;&gt;d&lt;/span&gt;evelopment) je proces razvoja softvera koji se bazira na ponavljanju kratkih ciklusa, odnosno veoma specifičnih slučajeva za testiranje, pri čemu se softver poboljšava tako da samo prolazi definisane testove. Ovaj način razvoja je koristan kada se radi na softveru koji treba da ispunjava unapred određene zahteve.
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Jasmine
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; QUnit
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Mocha
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Enzyme
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Karma
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Dokumentovanje koda&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Dokumentovanje koda je vrlo korisna stvar ukoliko radite na open-source projektima i u većim timovima jer omogućava da osoba koja posle vas pregleda kod lakše razume šta koji deo radi, koje argumente dobijaju funkcije i koje tipove vrednosti vraćaju.
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; JSDoc
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; documentation.js
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; YUIDoc
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Ispitivanje validnosti i kvaliteta koda&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Različite zajednice mogu utvrditi različite standarde za pisanje koda, ali postoje određena pravila kojih bi bilo dobro da se pridržavate kada pišete kod, bilo da radite u timu na profesionalnom nivou ili na hobi projektu. Kvalitetan kod je lakši za debagovanje, razumevanje i proširivanje.
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; JSLint (&lt;span style=&quot;font-style: italic&quot;&gt;uveliko zamenjen sa ESLint&lt;/span&gt;)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; JSHint (&lt;span style=&quot;font-style: italic&quot;&gt;zajedno sa JSCS spojen sa ESLint&lt;/span&gt;)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; JSCS
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; ESLint
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span id=&quot;browser-alati&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;2.4. Alati u web pregledačima&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Alati za web razvoj su dostupni i u web pregledačima koje svakodnevno koristite i pružaju veliku pomoć pri ispravljanju bagova i analiziranju koda.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Chrome DevTools&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Chrome razvojnim alatima možete pristupiti pomoću prečice &lt;span style=&quot;font-style: italic&quot;&gt;Ctrl + Shift + I&lt;/span&gt; (ili &lt;span style=&quot;font-style: italic&quot;&gt;Cmd + Shift + I&lt;/span&gt; na Mac-u) ili preko glavnog menija:
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;https://www.mycity.rs/slika.php?slika=282005_67641297_Screen%20Shot%202017-02-26%20at%2012.19.38.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Više o ovim alatima i kako da ih koristite možete pročitati ovde.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Firefox Developer Tools&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Firefox takođe poseduje svoje razvojne alate, kao i specijalnu verziju pregledača, Firefox Developer Edition sa eksperimentalnim dodacima prilagođena programerima.
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;ftp-klijenti&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;2.5. FTP klijenti&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;FTP&lt;/span&gt; (&lt;span style=&quot;font-weight: bold&quot;&gt;F&lt;/span&gt;ile &lt;span style=&quot;font-weight: bold&quot;&gt;T&lt;/span&gt;ransfer &lt;span style=&quot;font-weight: bold&quot;&gt;P&lt;/span&gt;rotocol) &lt;span style=&quot;font-weight: bold&quot;&gt;klijenti&lt;/span&gt; su programi koji služe za jednostavan prenos fajlova, obično sa vašeg računara na hosting gde se nalazi vaš web sajt.
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; FileZilla (više-platformsko rešenje)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; FireFTP (Firefox)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Macfusion (Mac)
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
Ova praksa je međutim skoro u potpunosti zamenjena korišćenjem softvera za verzionisanje koda.
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;verzionisanje-koda&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;2.6. Verzionisanje koda&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Sistemi za kontrolu verzionisanja (VCS) su postali de facto standard za sve razvojne timove širom sveta i poznavanje barem osnovnih komandi je neophodno ukoliko želite da pronađete posao u ovoj oblasti i da doprinosite open source zajednici, bez obzira na to kojom granom razvoja odlučite da se bavite.
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Git
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; TortoiseSVN
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Mercurial
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
Korisni linkovi za upoznavanje sa Git-om:
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Kratak GitHub tutorijal za učenje Git-a
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Git Tower e-knjiga za učenje Git-a pomoću komandne linije i grafički
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Zvanična dokumentacija
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
Iako postoje mnogi grafički alati koji olakšavaju rad sa Git-om, preporučljivo je da umete da se snalazite sa komandnom linijom zbog univerzalnosti.
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;upravljaci-paketima&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;2.7. Upravljači paketima&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Nekada su upravljači paketima bili poznati uglavnom samo Linux korisnicima, no danas su oni jedna od glavnih alatki čak i front-end programerima. Umesto da posećujete svaki sajt biblioteke koja vam zatreba i kopirate linkove do njih, možete definisati koje biblioteke želite da koristite u vašem projektu unutar konfiguracionog fajla, najčešće JSON formata i &lt;span style=&quot;font-style: italic&quot;&gt;package&lt;/span&gt; imena.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;quot;name&amp;quot;&amp;#58; &amp;quot;my-project&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;quot;version&amp;quot;&amp;#58; &amp;quot;1.0.0&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;quot;main&amp;quot;&amp;#58; &amp;quot;index.html&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;quot;license&amp;quot;&amp;#58; &amp;quot;MIT&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;quot;scripts&amp;quot;&amp;#58; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;css&amp;quot;&amp;#58; &amp;quot;gulp css&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;coffee&amp;quot;&amp;#58; &amp;quot;gulp coffee&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;setup&amp;quot;&amp;#58; &amp;quot;gulp setup&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;#125;,
&lt;br /&gt;
&amp;nbsp; &amp;quot;dependencies&amp;quot;&amp;#58; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;animate.css&amp;quot;&amp;#58; &amp;quot;^3.5.2&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;bootstrap&amp;quot;&amp;#58; &amp;quot;^3.3.7&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;font-awesome&amp;quot;&amp;#58; &amp;quot;^4.7.0&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;jquery&amp;quot;&amp;#58; &amp;quot;^3.2.1&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;mkdirp&amp;quot;&amp;#58; &amp;quot;^0.5.1&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;vue&amp;quot;&amp;#58; &amp;quot;^2.4.2&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;#125;,
&lt;br /&gt;
&amp;nbsp; &amp;quot;devDependencies&amp;quot;&amp;#58; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;autoprefixer&amp;quot;&amp;#58; &amp;quot;^7.1.2&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;cssnext&amp;quot;&amp;#58; &amp;quot;^1.8.4&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;gulp&amp;quot;&amp;#58; &amp;quot;^3.9.1&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;gulp-coffee&amp;quot;&amp;#58; &amp;quot;^2.3.4&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;gulp-postcss&amp;quot;&amp;#58; &amp;quot;^7.0.0&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;precss&amp;quot;&amp;#58; &amp;quot;^2.0.0&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;&lt;span style=&quot;font-style: italic&quot;&gt;Primer jednog package.json fajla&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
U ovim fajlovima možete definisati ime aplikacije, opis, licencu pod kojom ona podleže, komande koje pokreću skripte za automatizovanje (o čemu ćete više saznati u sledećoj sekciji), repozitorijum ukoliko je projekat javno dostupan, zavisnosti pri razvoju (paketi koje ćete koristiti samo pri razvoju aplikacije) kao i produkcione zavisnosti odnosno pakete koji su neophodni za rad aplikacije.
&lt;br /&gt;

&lt;br /&gt;
Ovi paketi biće instalirani u zaseban direktorijum unutar foldera vašeg projekta i odatle ćete moći da ih pozivate. Najpoznatiji upravljači paketima danas su:
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; npm
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Bower
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Yarn
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; JSPM (za korisnike SystemJS)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Duo
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
Većina ovih upravljača paketima koristi npm repozitorijume kao izvore paketa. Moja preporuka je da koristite neke od prva tri (npm, Bower ili Yarn) obzirom da imaju najveće zajednice i da se najaktivnije razvijaju, iako je moj lični favorit Yarn zbog brzine i bezbednosti.
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;preprocesori&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;2.8. Preprocesori&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Kada radimo na nekim većim projektima veoma nam je bitno da kod ostane dobro organizovan kako bi bio lakši za izmenu i dopunjavanje. To je međutim dosta otežano u praksi, naročito kod CSS-a koji još uvek nema standardne strukture drugih jezika poput promenljivih i sistema za uvoz CSS definicija iz eksternih fajlova, te se zbog toga koriste preprocesori.
&lt;br /&gt;

&lt;br /&gt;
Najpoznatiji CSS preprocesori su Sass i Less. Oni nam omogućavaju da u CSS-u koristimo promenljive, vršimo operacije sa njima, koristimo petlje i određene strukture podataka poput stringova, listi, mapa, ali i da uvozimo eksterne fajlove.
&lt;br /&gt;

&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Primer Sass koda (levo) prevedenog u CSS (desno)&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Postoje i preprocesori za HTML kao što su Haml, Markdown, Slim, Jade i drugi. 
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;automatizacija&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;2.9. Automatizacija&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Preprocesori su tu da nam olakšaju posao, ali web pregledači ne razumeju sintaksu preprocesora. Potrebno je da oni budu prevedeni u standardni HTML i CSS. Zamislite da imate dvadesetak SCSS fajlova i da morate da redom prevodite svaki - to bi bila prava noćna mora, naročito za jednog programera.
&lt;br /&gt;

&lt;br /&gt;
Zbog toga su nastali pokretači zadataka. Oni nam omogućavaju da definišemo određene procese koji se često ponavljaju i izvršavamo ih kroz definisane komande. Najpoznatiji pokretači zadataka su Grunt, Gulp i Webpack.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;var gulp = require&amp;#40;'gulp'&amp;#41;;
&lt;br /&gt;
var concat = require&amp;#40;'gulp-concat'&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
gulp.task&amp;#40;'default', function&amp;#40;&amp;#41; &amp;#123;
&lt;br /&gt;
&amp;nbsp; return gulp.src&amp;#40;'./src/*.js'&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; .pipe&amp;#40;concat&amp;#40;'app.js'&amp;#41;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; .pipe&amp;#40;gulp.dest&amp;#40;'./dist/'&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;#125;&amp;#41;;&lt;/code&gt;&lt;span style=&quot;font-style: italic&quot;&gt;Primer jednog Gulp fajla sa 'default' zadatkom koji spaja više JavaScript fajlova iz &lt;span style=&quot;font-weight: bold&quot;&gt;src&lt;/span&gt; direktorijuma u jedan i smešta ga u &lt;span style=&quot;font-weight: bold&quot;&gt;dist&lt;/span&gt; direktorijum&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Pokretači zadataka mogu vršiti razne radnje, a njihov opus se može proširiti uvoženjem biblioteka iz npm repozitorijuma.
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;staticki-generatori&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;2.10. Generatori statičkih sajtova&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Generatori statičkih sajtova&lt;/span&gt; predstavljaju alate koji generišu statičke sajtove odnosno sajtove koji nemaju potrebu za bazom podataka, koju koriste mnogi sistemi za upravljanje sadržajem za izgrađivanje stranica. Oni su nastali iz proste činjenice da se većina sajtova ne menja sem kada to njihov dizajner odluči tj. da su statički pa je i sama potreba za njihovim održavanjem dosta manja i pogodno je imati alate koji omogućavaju da se što više smanji ručno pisanje čitavih statičkih sajtova od nule.
&lt;br /&gt;

&lt;br /&gt;
Najpoznatiji generatori statičkih sajtova su:
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Jekyll (Ruby)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Hugo (Go)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Hexo (JavaScript)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; GitBook (JavaScript)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Gatsby (JavaScript)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Pelican (Python)
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span id=&quot;back-end-razvoj&quot;&gt;&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;3. Back-end razvoj&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Ukoliko želite da kreirate dinamičke web aplikacije koje će vršiti obradu i skladištenje podataka (korisnički nalozi, članci na sajtovima za izveštavanje, poruke, slanje mejlova i ostalo) za osnovno poznavanje neophodno je da:
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; poznajete barem jedan programski jezik koji može da se izvršava na serveru
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; imate osnovno poznavanje rada sa terminalom / komandnom linijom
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; imate barem osnovno iskustvo u radu sa Linuksom (većinu web servera na svetu pokreću Unix-like rešenja pa je poželjno znati kako da vršite bitnije operacije poput kreiranja novih korisnika, uključivanja i isključivanja servisa, podešavanje privilegija, uređivanje konfiguracionih fajlova, instaliranje paketa, ažuriranje sistema i sl)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; imate osnovno poznavanje rada sa softverom za verzionisanje koda (Git, Mercurial i sl)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; imate osnovno poznavanje rada sa nekim od poznatijih baza podataka (MySQL, MariaDB, PostgreSQL, MS SQL, SQLite, Oracle...) i pisanje SQL upita
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span id=&quot;server-side-jezici&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;3.1. Jezici za programiranje na strani servera&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;PHP&lt;/span&gt; je najpoznatiji skriptni jezik za programiranje na strani servera i trenutno se koristi na više od 80% web sajtova. Razlog za to je što je otvorenog koda, besplatan, lak za početnike i u njemu su pisani mnogi poznati web servisi, radni okviri i ostali alati (WordPress, Drupal, Joomla, Symfony, Laravel itd) kao i mnogi popularni sajtovi poput Facebook-a, Yahoo-a i Wikipedia-e. Mana njegove popularnosti je ta što postoji mnogo tutorijala i članaka na Internetu koji su ili zastareli ili koriste loše prakse.
&lt;br /&gt;

&lt;br /&gt;
Da biste ovo izbegli, za učenje PHP-a koristite:
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; PHP The Right Way (sadrži plan za učenje i objašnjenja u kratkim crtama, kao i korisne linkove)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Zvaničnu dokumentaciju
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Preporučujem i knjigu Modern PHP koja će vam pomoći da pišete organizovaniji i bezbedniji PHP kod.
&lt;br /&gt;

&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Iako je &lt;span style=&quot;font-weight: bold&quot;&gt;JavaScript&lt;/span&gt; najpoznatiji kao jezik za razvoj na klijentskoj strani, pojavom Node.js platforme bazirane na Chrome-ovom V8 endžinu on je postao popularan izbor za razvoj web aplikacija, a njegov mandžer paketa (npm) je danas jedan od ključnih alata koji koriste kako back-end tako i front-end developeri za automatizaciju raznih zadataka. Zbog svog neblokirajućeg I/O modela on je jedan od prvih izbora kod razvoja aplikacija u realnom vremenu.
&lt;br /&gt;

&lt;br /&gt;
Node.js ne poseduje zvaničnu dokumentaciju pored svoje reference tako da ćete većinu stvari naučiti kroz tutorijale na web-u, StackOverflow dokumentaciju, knjige i naravno, kroz iskustvo. Podrazumeva se da dobro poznajte JavaScript pre nego što počnete sa razvojem na ovoj platformi.
&lt;br /&gt;

&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; StackOverflow dokumentacija
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; NodeSchool interaktivne lekcije
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; The Art of Node (uvod u Node.js preko terminala)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Node.js video tutorijali
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Ruby&lt;/span&gt; je programski jezik koji svoju popularnost duguje Ruby on Rails radnom okviru koji svojim principom convention over configuration (CoC) olakšava posao web programeru i daje mu mogućnost da se posveti pisanju same aplikacije, a ne njenom detaljnom konfigurisanju (iako je ostavljena mogućnost da programer po svom ukusu podesi različite stavke). Ima sintaksu koja je prijateljski nastrojena prema početnicima, a ujedno poseduje bogat asortiman biblioteka (gems) sa kojima je moguće proširivati funkcionalnosti aplikacija.
&lt;br /&gt;

&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Ruby u 20 minuta (upoznavanje)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Isprobajte Ruby u svom web pregledaču
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Poignant Guide to Ruby (zanimljiva knjiga sa ilustracijama namenjena Ruby početnicima)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Naučite Ruby na teži način (odlična knjiga čiji je autor pisac sličnih vodiča i za Python, C, JavaScript, SQL...)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Eloquent Ruby
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Python&lt;/span&gt; je najpopularniji jezik u početničkim krugovima zbog svoje jednostavne sintakse i bogatog ekosistema koji omogućava da se mnoge stvari urade brzo i jednostavno. Popularan je i u oblastima poput mašinskog učenja, statistike i matematike zbog biblioteka poput NumPy i SciKit, ali i u web razvoju zbog svog radnog okvira Django-a.
&lt;br /&gt;

&lt;br /&gt;
U Python zajednici postoji mala kontroverza oko verzije 2 i 3. Moja preporuka je da učite verziju 3 jer je to verzija koja će se dalje razvijati, dok je verzija 2 tu više zbog podrške i neće dobijati dodatna unapređenja.
&lt;br /&gt;

&lt;br /&gt;
Više o tome: &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt; 
&lt;br /&gt;

&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Interaktivni tutorijal za učenje osnova Python-a
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Naučite Python na teži način (Python 3)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Zvanična dokumentacija (Python 2 i Python 3)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Lista uvodnih knjiga (većina je tematski orijentisana, ali pokrivaju uglavnom opšte aspekte jezika)
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Java&lt;/span&gt; je zvanično najpopularniji programski jezik današnjice i koristi se pri razvoju mobilnih, web i desktop aplikacija, ali i aplikacija za najrazličitije uređaje (pametne frižidere, šporete, automobile, automate i ostale IoT uređaje). Poseduje veoma bogatu biblioteku, a u web razvoju se obično koristi kod većih aplikacija zbog performanski i skalabilnosti. 
&lt;br /&gt;

&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Zvanična dokumentacija (dokumentacija je izuzetno dobra tako da vam pored nje neće biti potrebno bilo šta drugo, iako kasnije knjige mogu pomoći ukoliko se zainteresujete za neke specifične oblasti u Java ekosistemu)
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;C#&lt;/span&gt; je Microsoft-ov programski jezik sličan Javi čija je primarna namena razvoj desktop i mobilnih aplikacija za Windows operativne sisteme (moguće je razvijati i više-platformske aplikacije uz pomoć Mono i Xamarin), ali se koristi i u web razvoju kroz ASP.NET radni okvir.
&lt;br /&gt;

&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; C# osnove za totalne početnike (video tutorijali)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; C# in Depth (knjiga jednog od najvećih stručnjaka u C# zajednici, Jon Skeet-a)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Zvanična dokumentacija
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Go&lt;/span&gt; (ili &lt;span style=&quot;font-weight: bold&quot;&gt;golang&lt;/span&gt;) je programski jezik koji je Google razvio 2007. godine sa fokusom na mrežnom programiranju. Razvijen je po tradiciji Algol i C programskih jezika i poseduje mogućnosti koje omogućavaju pisanje memorijski bezbednijih, konkurentnih aplikacija, a delimično je popularan i u web razvoju.
&lt;br /&gt;

&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; A Tour of Go (interaktivni uvod u Go)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Effective Go (vodič za pisanje organizovanog Go koda)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Go Wiki
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Kolekcija resursa za učenje Go-a
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Clojure&lt;/span&gt; je programski jezik koji predstavlja dijalekt Lisp-a sa naglaskom na funkcionalnom programiranju. Izvršava se na Javinoj virtuelnoj mašini i CLR-u (Common Language Runtime). Zbog svoje specifične notacije koja odlikuje sve Lisp jezike (prefiks notacija sa zagradama) i fokusu na funkcionalnom programiranju obično se ne preporučuje početnicima, ali svakako nije na odmet da vam on bude jezik za upoznavanje sa ovom paradigmom malo kasnije.
&lt;br /&gt;

&lt;br /&gt;
Iako je relativno mlad jezik, Clojure u produkciji koriste Netflix, Twitter, Amazon, Walmart, Heroku, SoundCloud, Puppet i mnoge druge kompanije.
&lt;br /&gt;

&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Dokumentacija Clojure zajednice
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Clojure Guides (takođe napisana od strane zajednice)
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;baze-podataka&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;3.2. Baze podataka&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Baze podataka služe za skladištenje informacija bitnih za neku aplikaciju poput informacija o korisnicima, porukama između njih, sadržaju nekog sajta, pretraživanih upita i sl. Postoji mnogo tipova bazi podataka (relacione, objektno-orijentisane, dokumentovano-orijentisane, operacione itd), ali su najpoznatije danas u razvojnoj zajednici tzv. SQL i NoSQL (ili relacione i nerelacione).
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Relacione baze podataka&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Relacione baze podataka su najpopularnije baze podataka za skladištenje informacija danas i bazirane su na modelu smeštanja podataka u &lt;span style=&quot;font-style: italic&quot;&gt;tabele&lt;/span&gt; (ili &lt;span style=&quot;font-style: italic&quot;&gt;relacije&lt;/span&gt;) kolona i redova, gde svaki red ima jedinstveni ključ. Ove baze podataka koriste SQL za skladištenje i dobijanje informacija unutar njih.
&lt;br /&gt;

&lt;br /&gt;
Najpopularniji sistemi za upravljanje relacionim bazama podataka su:
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; MySQL (MariaDB)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; PostgreSQL
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Microsoft SQL Server
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Oracle DB
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; IBM DB2
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;SQL&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;SQL&lt;/span&gt; (&lt;span style=&quot;font-style: italic&quot;&gt;Structured Query Language&lt;/span&gt;) je jezik koji služi za zadavanje upita relacionim bazama podataka kako bi se iz njih dobili određeni rezultati. On ne spada u programske jezike već se kombinuje sa njima u razvoju web ili drugih aplikacija koje koriste ove baze.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;SELECT * FROM korisnici WHERE korisnicko_ime = &amp;quot;E.L.I.T.E.&amp;quot;&lt;/code&gt;
&lt;br /&gt;
Ovako bi izgledao SQL upit za dobijanje podataka iz tabele &lt;span style=&quot;font-style: italic&quot;&gt;korisnici&lt;/span&gt; iz svakog reda gde polje &lt;span style=&quot;font-style: italic&quot;&gt;korisnicko_ime&lt;/span&gt; ima vrednost &lt;span style=&quot;font-style: italic&quot;&gt;E.L.I.T.E.&lt;/span&gt;.
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; W3Schools SQL tutorijal
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Uvod u SQL na Khan Academy (video tutorijali)
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; TutorialsPoint - SQL
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
Određeni sistemi za upravljanje relacionim bazama podataka mogu imati delimično drugačiju sintaksu, ali osnove su uglavnom iste.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Nerelacione baze podataka&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Nerelacione baze podataka umesto tabela koriste JSON dokumente za predstavljanje podataka i najčešće se koristi u slučajevima kada je potrebno samo smeštati podatke bez eksplicitnih mehanizama povezivanja više tabela.
&lt;br /&gt;

&lt;br /&gt;
Najpoznatiji sistemi za upravljanje nerelacionim bazama podataka su:
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; MongoDB
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Redis
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Azure Cosmos DB
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Apache CouchDB
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; IBM Informix
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt; 
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;hosting-administracija&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;3.3. Hosting i administracija servera&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Ako ste se već upoznali sa HTTP-om, naučili ste da je to protokol pomoću kog možemo dobiti sadržaj slanjem zahteva određenom serveru. Upravo na serveru se vrši procesuiranje koda nakon čega se korisniku vraća rezultat u HTML-u. 
&lt;br /&gt;

&lt;br /&gt;
Da bismo omogućili drugima da koriste našu web aplikaciju, potrebno je da imamo &lt;span style=&quot;font-style: italic&quot;&gt;hosting&lt;/span&gt; odnosno prostor na Internetu gde će se nalaziti naša aplikacija. Danas postoji puno hosting provajdera koji nude različite hosting usluge:
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Dedicated hosting&lt;/span&gt; - u ovom slučaju provajder poseduje i upravlja mašinom, iznajmljujući punu kontrolu korisniku. Upravljanje serverom podrazumeva procedure poput praćenja stanja servera, backup podataka, instalacija bezbednosnih ispravki i razne druge vidovi tehničke podrške. 
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Virtual private server (VPS)&lt;/span&gt; - VPS pokreće sopstvenu kopiju operativnog sistema nad kojom korisnici mogu imati administratorske privilegije i instalirati skoro bilo koji softver koji se inače pokreće na tom sistemu. Po mnogim stavkama su slični dedicated serverima, ali pošto dele hardver sa ostalim VPS-evima, performanse mogu biti slabije, u zavisnosti od rada bilo kojih virtuelnih mašina koje se u tom trenutku pokreću.
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Cloud hosting&lt;/span&gt; - kod ovog hostinga, korisnik plaća samo za sistemsko vreme i iskorišćen prostor, a kapacitet lako može biti smanjen ili povećan u zavisnosti od zahteva.
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
Postoji i varijanta &lt;span style=&quot;font-weight: bold&quot;&gt;shared&lt;/span&gt; (deljenog) hostinga gde se mašine dele sa više korisnika, ali se ova varijanta sve manje koristi zbog daleko manje pouzdanosti i nedovoljne kontrole nad bitnijim podešavanjima. 
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;Platform as a Service (PaaS)&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;PaaS&lt;/span&gt; je cloud model dizajniran da programerima omogući efikasan razvojni proces tako što omogućava bolje upravljanje određenim aspektima sistema. Koriste se za razvoj web i mobilnih aplikacija koristeći komponente koje su prekonfigurisane od strane provajdera servisa, uključujući tu programeske jezike, aplikacione servere i baze podataka.
&lt;br /&gt;

&lt;br /&gt;
Najpoznatiji je &lt;span style=&quot;font-weight: bold&quot;&gt;AWS&lt;/span&gt; (&lt;span style=&quot;font-style: italic&quot;&gt;Amazon Web Services&lt;/span&gt;), a pored njega tu su i:
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Engine Yard
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Red Hat OpenShift
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Google App Engine
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Microsoft Azure
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Heroku
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span id=&quot;mikroservisi&quot;&gt;&lt;span style=&quot;font-size: 18px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;3.4. Mikroservisi&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Mikroservisi&lt;/span&gt; (&lt;span style=&quot;font-style: italic&quot;&gt;microservices&lt;/span&gt;) predstavljaju varijantu serverski-orijentisane arhitekture koja struktuira aplikaciju kao skup međusobno povezanih servisa. Ovo znači da, umesto kreiranja monolitne web aplikacije gde se celokupno procesuiranje vrši u jednoj celini, možemo kreirati više celina koje mogu imati različite zadatke, i međusobno ih povezati pomoću protokola. Ovo poboljšava modularnost i čini aplikaciju lakšom za razumevanje, razvoj i testiranje.
&lt;br /&gt;

&lt;br /&gt;
Ne postoji konsenzus u industriji vezan za mikroservise, no neke od često definišućih karakteristika su:
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Servisi u mikroservisnoj arhitekturi su najčešće procesi koji komuniciraju između sebe preko mreže kako bi ispunili određeni cilj, a za to koriste tehnološki nezavisne protokole poput HTTP-a. Međutim, servisi mogu koristiti i ostale vrste međuprocesnih komunikacionih mehanizama poput deljene memorije. Servisi takođe mogu biti pokrenuti u istom procesu. 
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Servisi u mikroservisnoj arhitekturi bi trebali da budu nezavisno podesivi.
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Servisi su jednostavni za zamenu.
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Servisi su organizovani prema sposobnostima, npr. korisnički interfejs, predlozi, logistika, naplate itd.
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Servisi mogu biti implementirani pomoću različitih programskih jezika, bazi podataka, hardverskog i softverskog okruženja u zavisnosti od toga šta najviše odgovara cilju.
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Servisi su male veličine, omogućeno im je međusobno komuniciranje, ograničeni su određenim kontekstom, autonomno su razvijeni i nezavisno podesivi, decentralizovani su i realizovani pomoću automatizovanih procesa.
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;</description>
	<pubDate>Fri, 13 Oct 2017 11:00:17 +0100</pubDate>
</item>
<item>
	<title>Pisanje jednostavne Google Chrome ekstenzije [Vodič]</title>
	<link>https://www.mycity.rs/Web-programiranje/Pisanje-jednostavne-Google-Chrome-ekstenzije-Vodic.html</link>
	<guid>https://www.mycity.rs/?p=1836879</guid>
	<author>nobody@mycity.rs (Srki94)</author>
	<description>Da ne smaram mnogo - Hteo sam neku mogućnost na nekom sajtu i dok sam pisao feedback administratorima, setim se da mogu i sam da napišem ekstenziju koja će mi omogućiti to što želim.
&lt;br /&gt;

&lt;br /&gt;
Uopšte nisam bio upoznat sa procesom do pre 15-tak minuta, pa je ovo više &amp;quot;smuti pa prospi&amp;quot; fazon. 
&lt;br /&gt;
Ispostavilo se da nije preteško.
&lt;br /&gt;

&lt;br /&gt;
Join in  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
'K, ako bacimo pogled na zvanični tutorijal za pisanje ekstenzija za GC :  &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt; 
&lt;br /&gt;

&lt;br /&gt;
Vidimo da nam je ključan fajl u celoj priči manifest.json.
&lt;br /&gt;
Ovaj fajl sadrži sve informacije koje su presudne za našu ekstenziju. 
&lt;br /&gt;

&lt;br /&gt;
Mi ćemo napisati ekstenziju koja će se automatski aktivirati čim korisnik poseti neku stranicu a cilj te ekstenzije je da promeni vrednost nekog postojećeg elementa.
&lt;br /&gt;

&lt;br /&gt;
Neka nam MyCity forum bude zamorče.
&lt;br /&gt;
Hajde da naziv svakog foruma promenimo u velika slova i na kraju dodamo uzvičnik. 
&lt;br /&gt;

&lt;br /&gt;
Napravimo manifest.json i prekopiramo sledeće :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;#123;
&lt;br /&gt;
&amp;nbsp;&amp;quot;manifest_version&amp;quot;&amp;#58; 2,
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;quot;name&amp;quot;&amp;#58; &amp;quot;MC Enlarger&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;quot;description&amp;quot;&amp;#58; &amp;quot;This extension changes size of forum titles&amp;quot;,
&lt;br /&gt;
&amp;nbsp; &amp;quot;version&amp;quot;&amp;#58; &amp;quot;1.0&amp;quot;,
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;quot;content_scripts&amp;quot;&amp;#58; &amp;#91;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;matches&amp;quot;&amp;#58; &amp;#91;&amp;quot;http&amp;#58;//www.mycity.rs/*&amp;quot;&amp;#93;,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;js&amp;quot;&amp;#58; &amp;#91;&amp;quot;mcEnlarge.js&amp;quot;&amp;#93;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;#93;,
&lt;br /&gt;
&amp;nbsp; &amp;quot;permissions&amp;quot;&amp;#58; &amp;#91;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;quot;activeTab&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;#93;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Dakle, vidimo neke osnove koje su jasne same po sebi :
&lt;br /&gt;
Naziv ekstenzije
&lt;br /&gt;
Opis ekstenzije
&lt;br /&gt;
Verziju ekstenzije
&lt;br /&gt;

&lt;br /&gt;
Zatim vidimo sekciju &amp;quot;content_scripts&amp;quot;.
&lt;br /&gt;
Kako se naš kod izvršava automatski po učitavanju stranice i menja sadržaj, treba nam taj tip skripte.
&lt;br /&gt;
Tamo imamo referencu ka sajtu na kom želimo da se aktiviraju skripte i referencu ka samoj skripti.
&lt;br /&gt;
To je trenutno mcEnlarge.js.
&lt;br /&gt;

&lt;br /&gt;
Sačuvajte fajl kao manifest.json u novi folder koji možete imenovati po želji.
&lt;br /&gt;

&lt;br /&gt;
U tom istom folderu napravite tekst fajl i promenite naziv i esktenziju u : mcEnlarge.js
&lt;br /&gt;

&lt;br /&gt;
Otvorite fajl u bilo kom editoru teksta ili IDE-u.
&lt;br /&gt;

&lt;br /&gt;
Ako pogledamo source MyCity stranica, vidimo da nazivi foruma koriste klasu &amp;quot;forumtitle&amp;quot;.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_242167201_Screenshot_1.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Hajde prvo da pokupimo sve elemente koji koriste tu klasu, u skripti pišemo prvu liniju :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;var forumTitles = document.getElementsByClassName&amp;#40;&amp;quot;forumtitle&amp;quot;&amp;#41;;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Zatim želimo da prođemo kroz svaki unos forumTitles-a i da mu modifikujemo innerHTML.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;for &amp;#40;var i = 0; i &amp;lt; forumTitles.length; i++&amp;#41; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var currTitle = forumTitles&amp;#91;i&amp;#93;.innerHTML;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; forumTitles&amp;#91;i&amp;#93;.innerHTML = currTitle.toUpperCase&amp;#40;&amp;#41; + &amp;quot; !&amp;quot;;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Prvo sačuvamo vrednost innerHTML-a u promenljivoj currTitle, zatim kao vrednost innerHTML-a trenutne stavke dodelimo istu tu vrednost koju smo sačuvali, samo što je ovog puta provučemo kroz toUpperCase() i dodamo uzvičnik na kraju. To se isto ponavlja za svaku stavku koju smo ranije pronašli.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_51892986_Screenshot_4.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Otvorimo Settings &amp;gt; Extensions &amp;gt; Developer Mode (check) &amp;gt; Load Unpacked Extension &amp;gt; Izaberite folder sa json i js fajlovima.
&lt;br /&gt;

&lt;br /&gt;
Ukoliko ste ispratili uputstva lepo, sada imate novu ekstenziju koju smo upravo napisali u listi ekstenzija.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_85470806_Screenshot_5.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Hajde da je testiramo &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_biggrin.gif&quot; alt=&quot;Very Happy&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
U novom tabu otvorite bilo koji deo MyCity foruma i videćete da su naslovi foruma napisani velikim slovima i imaju znak uzvika na kraju.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=96967_161444792_Screenshot_2.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
p.s. i teme koriste istu tu klasu, sada sam video  &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_mrgreen.gif&quot; alt=&quot;Mr. Green&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Uglavnom, vidite da nije uopšte teško modifikovati sadržaj na postojećim stranicama. 
&lt;br /&gt;
Isto tako nije teško dodati nove elemente u DOM, kako sam video.
&lt;br /&gt;

&lt;br /&gt;
Meni je ovo svakako postalo interesantno sada još više, pa ću možda da posvetim malo vremena nekim jednostavnijim ekstenzijama.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/beer.gif&quot; alt=&quot;Ziveli&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Source :
&lt;br /&gt;

&lt;br /&gt;
&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
----------- &lt;span style=&quot;font-weight: bold&quot;&gt;Dopuna: Prvobitno napisano januara 2016. godine&lt;/span&gt; ---------</description>
	<pubDate>Mon, 19 Sep 2016 21:24:56 +0100</pubDate>
</item>
<item>
	<title>:: MCFramework ::</title>
	<link>https://www.mycity.rs/PHP/MCFramework.html</link>
	<guid>https://www.mycity.rs/?p=1627411</guid>
	<author>nobody@mycity.rs (_ivKe)</author>
	<description>----------- &lt;span style=&quot;font-weight: bold&quot;&gt;Napisano: 17 Jan 2014 13:04&lt;/span&gt; ---------
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;text-align: center; display: block;&quot;&gt;&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;:: MCFramework ::&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Trazim ljude koji imaju iskustvo u programiranju web aplikacija i koji su raspolozeni da ucestvuju u jednom vecem projektu. 
&lt;br /&gt;

&lt;br /&gt;
Upitanju je izrada framworka, svi koji su zainteresovani i koji dobro barataju sa stvarima koje cu navesti ispod mogu se javiti. Za sada ovde na forumu imam par ljudi za koje mislim da imaju iskustva i da bi mogli raditi. 
&lt;br /&gt;

&lt;br /&gt;
Stvari koje zahtevam da se poznaju su:
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;OPP PHP&lt;/span&gt;
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Php Design Patterns&lt;/span&gt;
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;ORM/DQL Doctrine / PDO /MySQLi&lt;/span&gt;
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;MVC/HMVC&lt;/span&gt;
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Security&lt;/span&gt;
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Twig / Smarty&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Ljudi za koje mislim da su ok su:  &lt;span style=&quot;font-weight: bold&quot;&gt;Rastafarii&lt;/span&gt;, &lt;span style=&quot;font-weight: bold&quot;&gt;|_MeD_|&lt;/span&gt; i &lt;span style=&quot;font-weight: bold&quot;&gt;FoxVanis&lt;/span&gt;. Sem sto FoxVanis neforsira OOP.
&lt;br /&gt;

&lt;br /&gt;
Ako neko zeli neka kaze sta zna da radi, ovo su momci koji su mi privukli paznju za svo ovo vreme.
&lt;br /&gt;

&lt;br /&gt;
Lepo je imati nesto zajednicko i biti deo necega. Peca moze da nam pomogne dosta.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/beer.gif&quot; alt=&quot;Ziveli&quot; border=&quot;0&quot; /&gt; 
&lt;br /&gt;

&lt;br /&gt;
----------- &lt;span style=&quot;font-weight: bold&quot;&gt;Dopuna: 17 Jan 2014 18:36&lt;/span&gt; ---------
&lt;br /&gt;

&lt;br /&gt;
 Ovako bi izgledalo u prvoj verziji 
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;http://www.mycity.rs/slika.php?slika=240755_126361835_vSEGx.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;  
&lt;br /&gt;

&lt;br /&gt;
----------- &lt;span style=&quot;font-weight: bold&quot;&gt;Dopuna: 17 Jan 2014 18:46&lt;/span&gt; ---------
&lt;br /&gt;

&lt;br /&gt;
 Koliko vidim nema zaonteresovanih </description>
	<pubDate>Fri, 17 Jan 2014 13:04:48 +0100</pubDate>
</item>
<item>
	<title>Instalacija Zend Framework-a 2 Tutorial</title>
	<link>https://www.mycity.rs/PHP/Instalacija-Zend-Framework-a-2-Tutorial.html</link>
	<guid>https://www.mycity.rs/?p=1563861</guid>
	<author>nobody@mycity.rs (_ivKe)</author>
	<description>&lt;span style=&quot;font-size: 24px; line-height: normal&quot;&gt;&lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;&lt;span style=&quot;text-align: center; display: block;&quot;&gt;Zend Framework 2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;text-align: center; display: block;&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;text-align: center; display: block;&quot;&gt; &lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Uputsvo za instalaciju&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Posto cesto vec susrecem ljude koji se zale da imaju poblema sa instalacijom nove verzije
&lt;br /&gt;
zend frameworka 2, resio sam da pomognem nasim clanovima koji zele da krenu da rade ZF a da se ne namuce kao npr ja i oni koji jesu.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Rucni Nacin Instalacije&lt;/span&gt;&lt;/span&gt; 
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Preuzmite Zend Framework 2 na linku koji se nalazi ispod&lt;/span&gt;
&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt;  &lt;span style=&quot;font-weight: bold&quot;&gt;Zend Framework Full Package&lt;/span&gt;
&lt;br /&gt;
 &lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;http://framework.zend.com/downloads/latest&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
Ekstratujte ZF2 na lokalnom serveru u &lt;span style=&quot;font-weight: bold&quot;&gt;C:\www&lt;/span&gt; ili &lt;span style=&quot;font-weight: bold&quot;&gt;/var/www&lt;/span&gt;. Da bi framework radio morate imati skelet aplikacije.
&lt;br /&gt;
Posto je ovo rucni nacin instalacije morate sami da kreirate skelet ili da preuzmete vec gotov sa adrese ispod.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt; Skelet Aplikacije &lt;/span&gt; preuzmite i extratujte u zf folder gde se nalazi zf kod koji ste skinuli.
&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;https://github.com/zendframework/ZendSkeletonApplication&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;ZFTool Instalacija &lt;/span&gt;&lt;/span&gt; 
&lt;br /&gt;

&lt;br /&gt;
Ovo je moj najomiljeniji nacin istalacije, jednostavan i brz, sve sto vam treba da preuzmete zftool.phar i da ga pokrenete pomocu terminala ili CMD ako ste na WINDOWSU. Ako koristite zftool.phar nije potrebno da download-ujete zend framework potrebno je samo imati composer instaliran.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;ZFTool.phar&lt;/span&gt; preuzmite na link ispod 
&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;https://www.mycity.rs/must-login.png
&lt;br /&gt;

&lt;br /&gt;
ZFTool.phar bez instaliranog composera je nista i tesko cete moci da instalirate bez njega.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Preuzmite Composer na link ispod&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Linux&lt;/span&gt;&lt;/span&gt; 
&lt;br /&gt;
 Otvorite terminal i pomocu CURL-a preuzmite poslednju verziju
&lt;br /&gt;
 &lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;  curl -sS &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt; | php &lt;/cite&gt;
&lt;br /&gt;
 Ako nemate instaliran CURL
&lt;br /&gt;
 &lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;php -r &amp;quot;eval('?&amp;gt;'.file_get_contents('https://getcomposer.org/installer'));&amp;quot;&lt;/cite&gt;
&lt;br /&gt;
 Mozete instalirati composer u specifican direktorijum koriscenjem &lt;span style=&quot;font-weight: bold&quot;&gt; --install-dir
&lt;br /&gt;
 &lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;curl -sS &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt; | php -- --install-dir=bin&lt;/cite&gt; &lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;color: blue&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Windows&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
 Za Windows korisnike composer mozete preuzeti na link ispod:
&lt;br /&gt;
 &lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;http://getcomposer.org/download/1.0.0-alpha7/composer.phar&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
 To bi bilo to od alta koji su nam neophodni za instalaciju ZF2, sledece kreiranje projekta.
&lt;br /&gt;

&lt;br /&gt;
 Za kreiranje novog projekta koristicemo &lt;span style=&quot;font-weight: bold&quot;&gt;zftool.phar&lt;/span&gt;. Otvorite terminal i  promenite direktorijum gde se nalazi zftool.phar. U mom slucaju zftool.phar mi se nalazi na desktopu.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;gt; $ cd /home/ikac/Desktop&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Ako ukicate &lt;span style=&quot;text-decoration: underline&quot;&gt;php zftool.phar&lt;/span&gt; dobicete dostupne komande datog alata.
&lt;br /&gt;
Kreirajmo projekat:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;gt;$ php zftool.php create project /var/www/zend/quickstart&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Ovaj kod je napravio skelet zf aplikacije u diretkorijumu /var/www/zend sa imenom &lt;span style=&quot;text-decoration: underline&quot;&gt;quickstart&lt;/span&gt;. 
&lt;br /&gt;
&lt;span style=&quot;color: red&quot;&gt;Napomena&lt;/span&gt;: Ova komanda samo kreira prijekat (skelet) bez ZF koda(jezgra).
&lt;br /&gt;
Da bismo instalirali i konfigurisali autoloader zend FW moramo iskoristiti composer:
&lt;br /&gt;

&lt;br /&gt;
Promenite direktorijum na dati dir projekta:
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;&amp;gt;$ cd /var/www/zend&lt;/span&gt;
&lt;br /&gt;
Zatim ukucajte:
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;$&amp;gt; $ composer install&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Composer ce preuzeti neophodne komponente zend frameworka i osposobice vam zf za rad. Ujedno cete dobiti i skelet aplikacije.
&lt;br /&gt;

&lt;br /&gt;
Sada kada kao test ukucajte &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt; trebalo bi da dobijete poruku da je zend uspesno instaliran.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;color: green&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Konfigurisanje Virtualnog hosta&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Zasto? Zato sto trebate navesti vas host da cita direktno u public dir. Posto je root bez index fajla.
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; Konfigurisite apache server tako sto cete otvoriti &lt;span style=&quot;font-weight: bold&quot;&gt;httpd.conf&lt;/span&gt; (c:/apache/)  za WIn korisnike. 
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; border=&quot;0&quot; /&gt; &lt;span style=&quot;font-weight: bold&quot;&gt;Za linux korisnike&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;&amp;gt; $ sudo gedit /etc/apache2/apache2.conf&lt;/span&gt;
&lt;br /&gt;
ili
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;&amp;gt; $ sudo gedit /etc/apache2/httpd.conf&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
U config fajlu na kraju datoteke dodajte :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;VirtualHost *&amp;#58;80&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ServerName zf2-tutorial.localhost
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; DocumentRoot /path/to/zf2-tutorial/public
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; SetEnv APPLICATION_ENV &amp;quot;development&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;Directory /path/to/zf2-tutorial/public&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DirectoryIndex index.php
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AllowOverride All
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Order allow,deny
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Allow from all
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/Directory&amp;gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Posle ovoga morate updetovati host.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Windows korisnici &amp;gt; c:\windows\system32\drivers\etc\hosts&lt;/span&gt;
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;127.0.0.1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;zf2-tutorial.localhost localhost
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Linux korisnici:&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Izmena hosta na linux 
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;&amp;gt; $ sudo gedit /etc/hosts&lt;/span&gt; i  dodajte 
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;127.0.0.1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;zf2-tutorial.localhost localhost&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Sada u terminalu kucajte jedno po jedno:
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;
&lt;br /&gt;
&amp;gt; $ sudo a2enmod rewrite
&lt;br /&gt;
&amp;gt; $ sudo updatedb
&lt;br /&gt;
&amp;gt; $ cd /etc/apache2/mods-enabled
&lt;br /&gt;
&amp;gt; $ touch rewrite.load
&lt;br /&gt;
&amp;gt; $ sudo gedit rewrite.load&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Ako nemate sledecu liniju u editoru dodajte je rucno :
&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt; LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so&lt;/cite&gt;
&lt;br /&gt;

&lt;br /&gt;
Zatim restartujte apache
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;&amp;gt; $ sudo /etc/init.d/apache2 restart&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
To bi bilo to, pokrenite vas VHost &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt; zf2-tutorial.localhost 
&lt;br /&gt;

&lt;br /&gt;
Zahvaljujem se na citanju, a ko je zainteresovan za vise neka krene da cita zf dokumentaciju pa neka postavi nesto sto je odradio....
&lt;br /&gt;

&lt;br /&gt;
Srecno... Nadam se da sam pomogao
&lt;br /&gt;

&lt;br /&gt;
 &lt;img src=&quot;https://www.mycity.rs/images/smiles/beer.gif&quot; alt=&quot;Ziveli&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Tue, 23 Jul 2013 14:39:29 +0100</pubDate>
</item>
<item>
	<title>Prado u praksi</title>
	<link>https://www.mycity.rs/PHP/Prado-u-praksi.html</link>
	<guid>https://www.mycity.rs/?p=601083</guid>
	<author>nobody@mycity.rs (igor86)</author>
	<description>&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Kao prvo, Prado - PHP framework se vrti na PHP verziji 5.
&lt;br /&gt;
Mjesto gdje ga mozete skinuti je &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt; ( za sada najvnovija verzija 3.1.0 teska je oko 15.5 MB )
&lt;br /&gt;
Kada raspakujete file i smjestite negdje u root dir ( zvacemo ga 'prado' ) rad moze da pocne &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;.
&lt;br /&gt;
Prvo udjite u prado dir, iz browsera, otvorice vam se uvodni page ( sto je i za ocekivati ) gdje imate link 'requirement checker' pod Requirements pasusom, cisto da vidite koje mogucnosti imate na raspolaganju i sta bi jos mozda moglo da se podesi na serveru.
&lt;br /&gt;

&lt;br /&gt;
Da se zna. Prado zahtijeva dva dira unutar vaseg projekta, to su assets i protected. 
&lt;br /&gt;

&lt;br /&gt;
U assets nikada ne trebate zaviriti. U njega se smjestaju php-skripte,  js-skripte, svakojaki fileovi koje framework sam generise i koje su vidljive svim korisnicima.
&lt;br /&gt;

&lt;br /&gt;
Protected dir ( mjesto gdje smjestate vas dragocjeni rad ), sto je zanimljivo, ne mora da bude vidljiv sa web-a, odnosno moze da bude par dirova ispod vaseg projekta, za sada ne bitno.
&lt;br /&gt;

&lt;br /&gt;
Unutar protected dira se nalazi ( kreirajte ) pages dir. I u njemu su sve vase stranice kojima korisnik moze da pristupi.
&lt;br /&gt;

&lt;br /&gt;
I jos da se zna web stranica je predstavljena sa dva file-a, nekoime.page i nekoime.php. Prvo predstavlja template, a drugo logiku stranice. Ako stranica kojoj korisnik pristupa nije navedena, pristupa se 'Home' stranici, sto predstavlja kao index stranu.
&lt;br /&gt;

&lt;br /&gt;
E sad da ne bude puno price, evo jedne konkretne stvari koja ce vas zaiteresovati.
&lt;br /&gt;

&lt;br /&gt;
Znaci bice samo jedna stranica i neka to bude po defaultu 'Home'.
&lt;br /&gt;

&lt;br /&gt;
Sad Home.page izgleda
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;nbsp; &amp;nbsp;&amp;quot;http&amp;#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;
&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http&amp;#58;//www.w3.org/1999/xhtml&amp;quot; xml&amp;#58;lang=&amp;quot;en&amp;quot; &amp;gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;
&lt;br /&gt;
&amp;lt;Title&amp;gt;Prva prado stranica&amp;lt;/title&amp;gt;
&lt;br /&gt;
&amp;lt;/head&amp;gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;
&lt;br /&gt;
&amp;lt;com&amp;#58;TForm&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;com&amp;#58;TLabel 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; ForControl=&amp;quot;uneseni_broj&amp;quot; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Text=&amp;quot;Unesite pozitivan broj&amp;#58;&amp;quot; /&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;com&amp;#58;TTextBox 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; ID=&amp;quot;uneseni_broj&amp;quot; /&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;com&amp;#58;TRequiredFieldValidator
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; ControlToValidate=&amp;quot;uneseni_broj&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Display=&amp;quot;Dynamic&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; ErrorMessage=&amp;quot;Molimo Vas unesite broj.&amp;quot; /&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;com&amp;#58;TCompareValidator
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; ControlToValidate=&amp;quot;uneseni_broj&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; DataType=&amp;quot;Float&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; ValueToCompare=&amp;quot;0&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Operator=&amp;quot;GreaterThan&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Display=&amp;quot;Dynamic&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; ErrorMessage=&amp;quot;Samo su brojevi veci od 0 validni.&amp;quot; /&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;br&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;com&amp;#58;TLabel ID=&amp;quot;rezultat&amp;quot; Text=&amp;quot;&amp;quot; /&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;br&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;br&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;com&amp;#58;TButton 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; ID=&amp;quot;prvi&amp;quot; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Text=&amp;quot;Sracunaj korijen&amp;quot; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; OnClick=&amp;quot;pozovi_korijen&amp;quot; /&amp;gt; &amp;amp;nbsp; &amp;amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;com&amp;#58;TButton 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; ID=&amp;quot;drugi&amp;quot; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Text=&amp;quot;Sracunaj kub&amp;quot; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; OnClick=&amp;quot;pozovi_kub&amp;quot; /&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;br&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;br&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;com&amp;#58;TLinkButton 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Text=&amp;quot;Upisi rezultat u TLabel&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; OnClick=&amp;quot;upisi_rez&amp;quot; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; CausesValidation=&amp;quot;false&amp;quot;/&amp;gt;
&lt;br /&gt;
&amp;nbsp; 
&lt;br /&gt;
&amp;lt;/com&amp;#58;TForm&amp;gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
a Home.php
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;lt;?php
&lt;br /&gt;

&lt;br /&gt;
class Home extends TPage&amp;#123;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;//METHOD KOJI SMO POZVALI SA KLIKOM NA BUTTON
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public function pozovi_korijen&amp;#40; $sender, $param &amp;#41; &amp;#123;&amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; //PROVJERAVAMO STRANICU DA LI JE PROSLA SVE VALIDATORE KOJE SMO POSTAVILI&amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if&amp;#40; $this -&amp;gt; Page -&amp;gt; IsValid &amp;#41; &amp;#123; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#UZIMAMO VRIJEDNOST UNESENOG BROJA
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;$broj = floatval&amp;#40; $this -&amp;gt; uneseni_broj -&amp;gt; Text &amp;#41;; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#SAD RECIMO ZA REZULTAT NAM VRATI&amp;nbsp; KORIJEN TOG BROJA
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$korijen = sqrt&amp;#40; $broj &amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#I UPISUJEMO GA U rezultat TLabel
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;$this -&amp;gt; rezultat -&amp;gt; Text = $korijen;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public function pozovi_kub&amp;#40; $sender, $param &amp;#41;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if&amp;#40; $this -&amp;gt; Page -&amp;gt; IsValid &amp;#41;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;$broj = floatval&amp;#40; $this -&amp;gt; uneseni_broj -&amp;gt; Text &amp;#41;; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;$this -&amp;gt; rezultat -&amp;gt; Text = $broj*$broj*$broj;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;public function upisi_rez&amp;#40; $sender, $param &amp;#41;&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; $this -&amp;gt; uneseni_broj -&amp;gt; Text = $this -&amp;gt; rezultat -&amp;gt; Text;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;

&lt;br /&gt;
?&amp;gt;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Mozda ovo za sada ne izgleda toliko jednostavno, ali zamislite neke vece forme, i same validatore koje morate kucati i na klijent i na server strani.
&lt;br /&gt;
A da ne govorimo o pradovoj podrsci, jednostavne upotrebe, za datepicker, colorpicker, datagrid i jos puno puno toga.
&lt;br /&gt;

&lt;br /&gt;
Huh  &lt;img src=&quot;https://www.mycity.rs/images/smiles/zagrljaj.gif&quot; alt=&quot;Zagrljaj&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Thu, 30 Aug 2007 03:24:35 +0100</pubDate>
</item>
<item>
	<title>Ajax u praksi</title>
	<link>https://www.mycity.rs/Web-programiranje/Ajax-u-praksi.html</link>
	<guid>https://www.mycity.rs/?p=479194</guid>
	<author>nobody@mycity.rs (igor86)</author>
	<description>Dio foruma posvecen ovom 'jednostavnom' i korisnom sistemu !
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Asynchronous JavaScript and XML&lt;/span&gt;
&lt;br /&gt;
Da li koristite ovaj 'sistem' i na koji nacin, koje funkcije, request saljete get/post-om?
&lt;br /&gt;
Podatke uzvracate XML-om ili koristite nesto kao JSON ?</description>
	<pubDate>Fri, 26 Jan 2007 02:08:31 +0100</pubDate>
</item>
<item>
	<title>Instalacija IIS/PHP5</title>
	<link>https://www.mycity.rs/PHP/Instalacija-IIS-PHP5.html</link>
	<guid>https://www.mycity.rs/?p=476543</guid>
	<author>nobody@mycity.rs (stankovic)</author>
	<description>Evo i uputstva za rucnu instalaciju php5 sa IIS-om.
&lt;br /&gt;

&lt;br /&gt;
Sva podesavanja su isprobana na Win XP SP2 sa FAT32 sistemskom particijom.
&lt;br /&gt;

&lt;br /&gt;
1. Prvo sto treba da uradite je da naravno skinete php. Idite na &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt; i odaberite aktuelnu instalaciju php5.
&lt;br /&gt;
Windows binaries &amp;gt; PHP 5.x.x zip package. Nemojte skidati installer verziju posto ovde nije opisana njena instalacija.
&lt;br /&gt;

&lt;br /&gt;
2. Nakon toga kreirajte direktorijum php na vasoj sistemskoj particiji (Npr. c:\php), i otpakujte prethodno skinuti paket.
&lt;br /&gt;

&lt;br /&gt;
3. Sve fajlove iz direktorijuma c:\php\dev i c:\php\ext kopirajte u direktorijum c:\php. Napomena: Ovaj korak je potrebno uraditi za php4 ali sam ja ipak radio to i za php5 iako ne mora.
&lt;br /&gt;

&lt;br /&gt;
4. otvorite control panel. Izaberite System pa zatim Advanced tab. Pri dnu cete videti dugme Environment variables. Kad kliknete pojavice se novi prozor. U listi System variables izaberite path i kliknite na edit. U polju Variable value dodajte na kraj 
&lt;br /&gt;
;c:\php\
&lt;br /&gt;
Kliknite nekoliko puta na ok dok se svi prozori ne zatvore.
&lt;br /&gt;

&lt;br /&gt;
5. Ako nemate instaliran IIS ubacite vas Windows XP disk. Idite u Control panel &amp;gt; Add or remove programs. Izaberite s leve strane add/remove windows components. U listi cekirajte Internet Information Services (IIS). Ukoliko je kvadratic osencen izaberite details, pa onda cekirajte sve u novom prozoru. Kliknite ok i sacekajte da windows instalira IIS.
&lt;br /&gt;

&lt;br /&gt;
6. Udjite u control panel &amp;gt; administrative tools &amp;gt; Internet information services. U listi s leve strane, pod local computer, izaberite Web sites. Desni klik na web sites pa properties. Pod tabom ISAPI Filters kliknite na Add... . Stavite u Filter name php Kliknite na Browse i izaberite C:\Php\php5isapi.dll. Kliknite ok.
&lt;br /&gt;
Pod tabom Home directory uradite sledece: cekirajte read i write, Execute permissions postavite na Scripts only. Kliknite na configuration. U novom prozoru kliknite na Add. Pod executable stavite C:\Php\php-cgi.exe a pod extension .php
&lt;br /&gt;
Stavite All verbs i cekirajte Script engine i Check that file exists. Kliknite na ok nekoliko puta dok ne izadjete. Ukoliko se pojavi prozor Inheritance Overrides, kliknite na Select all pa Ok.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Sad jos samo treba da podesite php.ini da ukljuci biblioteke koje su vam potrebne.
&lt;br /&gt;
Okacicu ovde moj php.ini posto sigurno radi s njim. Ne bih bas da objasnjavam svaku liniju u njemu posto su drugi to vec uradili. Mozete da koristite i php.ini-recommended samo ga imenujte u php.ini i malo podesite(stavite doc_root = c:\inetpub\wwwroot i extension_dir = c:\php).
&lt;br /&gt;

&lt;br /&gt;
Uz ovu instalaciju php-a su ukljucene skoro sve biblioteke koje se korite s njim. Sve sto treba da uradite da bi koristili neku biblioteku je da izbrisete ; ispred njenog imena.
&lt;br /&gt;
Npr:
&lt;br /&gt;

&lt;br /&gt;
;extension=php_mysql.dll 
&lt;br /&gt;

&lt;br /&gt;
izbrisete ; i dobijete:
&lt;br /&gt;

&lt;br /&gt;
extension=php_mysql.dll
&lt;br /&gt;

&lt;br /&gt;
php.ini se nalazi u direktorijumu c:\php\
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
I to je to. Nadam se da nista nisam propustio &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;.
&lt;br /&gt;

&lt;br /&gt;
&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;</description>
	<pubDate>Sat, 20 Jan 2007 12:58:59 +0100</pubDate>
</item>
<item>
	<title>Instalacija phpbb foruma (objasnjenje za totalne pocetnike)</title>
	<link>https://www.mycity.rs/PHP/Instalacija-phpbb-foruma-objasnjenje-za-totalne-pocetnike.html</link>
	<guid>https://www.mycity.rs/?p=347354</guid>
	<author>nobody@mycity.rs (m4rk0)</author>
	<description>&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;</description>
	<pubDate>Thu, 04 May 2006 21:24:43 +0100</pubDate>
</item>
<item>
	<title>ASP quiz &amp;amp; ASP certificate</title>
	<link>https://www.mycity.rs/ASP/ASP-quiz-amp-ASP-certificate.html</link>
	<guid>https://www.mycity.rs/?p=138581</guid>
	<author>nobody@mycity.rs (snoop)</author>
	<description>ako zelite da proverite svoje znanje. doduse ovo su neka elementarno osnovna pitanja...
&lt;br /&gt;
ja sam na svih 20 odgovorio tacno...
&lt;br /&gt;

&lt;br /&gt;
pa ko zeli, neka proba...
&lt;br /&gt;

&lt;br /&gt;
&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;
&lt;br /&gt;

&lt;br /&gt;
i ako zelite ASP certificate (jos nisam polagao &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;)
&lt;br /&gt;

&lt;br /&gt;
&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;
&lt;br /&gt;

&lt;br /&gt;
ipak zaboravite za ovo drugo &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;. treba da se registruje i plati ~50$ po ispitu, ali za onog ko hoce - slobodno &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Sun, 27 Mar 2005 17:04:28 +0100</pubDate>
</item>
<item>
	<title>ASP Tutorial - Objekat Request</title>
	<link>https://www.mycity.rs/ASP/ASP-Tutorial-Objekat-Request.html</link>
	<guid>https://www.mycity.rs/?p=112479</guid>
	<author>nobody@mycity.rs (snoop)</author>
	<description>zavrsili smo osnove ASP i sada cemo preci na objekat Request koji se cesto koristi pri izradi ASP stranica.
&lt;br /&gt;

&lt;br /&gt;
ASP sadrzi pet primarnih objekata.
&lt;br /&gt;

&lt;br /&gt;
Request, Response, Application, Session i Server
&lt;br /&gt;

&lt;br /&gt;
Request - Daje podate o posetiocu
&lt;br /&gt;
Response - Metode i svojstva koje se koriste za prikaz posetiocu (odgovor na Request)
&lt;br /&gt;
Application - Slicno kao Session samo sto se odnosi na celu aplikaciju. Rad sa svojstvima koja upravljaju Web 
&lt;br /&gt;

&lt;br /&gt;
stranicom
&lt;br /&gt;
Session - Metode i svojstva za jednog odredjenog korisnika
&lt;br /&gt;
Server - Skup komponenata na serveru i podesavanje servera
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Objekat Request&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
pomocu Request objekta, mozete da pristupate podacima korisnika koji je trenutno na vasoj web prezentaciji.
&lt;br /&gt;

&lt;br /&gt;
sledeci kod vam objasnjava kako da prikazete na vasoj web strani IP korisnika
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
Response.Write&amp;#40;Request.ServerVariables&amp;#40;&amp;quot;REMOTE_HOST&amp;quot;&amp;#41;&amp;#41;
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
kada imate objekte u formi za npr. log in. na neki nacin trebate da uzmete to sto je korisnik uneo.
&lt;br /&gt;
Objekat Request ce vam pomoci u tome.
&lt;br /&gt;

&lt;br /&gt;
kada imate neku ovakvu formu:
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;login&amp;quot; method=&amp;quot;post&amp;quot; action=&amp;quot;login.asp&amp;quot;&amp;gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;username&amp;quot;&amp;gt;&amp;lt;br&amp;gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;password&amp;quot;&amp;gt;&amp;lt;br&amp;gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; name=&amp;quot;Submit&amp;quot;&amp;gt;
&lt;br /&gt;
&amp;lt;/form&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
kada korisnik popuni neku ovako formu i kada klikne na Submit, forma ce 'pozvati' login.asp (sto zapravo moze 
&lt;br /&gt;

&lt;br /&gt;
da bude i ista stranica u kojoj se nalazi forma) i preuzece podatke koje je korisnik napisao.
&lt;br /&gt;

&lt;br /&gt;
pre nego sto napisem kod koji bi resavao ovaj problem, moram da kazem sledece:
&lt;br /&gt;
primetili ste da sam u zaglavlju forme napisao method=&quot;post&quot;. postoji jos i method=&quot;get&quot;. razlika izmedju ove 
&lt;br /&gt;

&lt;br /&gt;
dve metode je sledeca:
&lt;br /&gt;

&lt;br /&gt;
kada stavite POST, sve podatke koje je korisnik poslao idu 'skriveno' i prihvataju se preko Request.Form 
&lt;br /&gt;

&lt;br /&gt;
metode.
&lt;br /&gt;

&lt;br /&gt;
kada stavite GET, sve podatke koje je korisnik poslao ide preko linka web browsera i tako da gledanjem u link, 
&lt;br /&gt;

&lt;br /&gt;
mozete videti sta je korisnik napisao. kada se radi o nekim informacijama tipa login sifra... ne preporucuje 
&lt;br /&gt;

&lt;br /&gt;
se metoda GET nego POST...
&lt;br /&gt;
metodom GET, podatke primate preko Request.QueryString metode.
&lt;br /&gt;

&lt;br /&gt;
kod na login.asp stranici za metodu POST bi ovako izgledao:
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
If NOT isEmpty&amp;#40;Request.Form&amp;#40;&amp;quot;Submit&amp;quot;&amp;#41;&amp;#41; Then
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;dim uname, pword, sql
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;uname = Request.Form&amp;#40;&amp;quot;username&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;pword = Request.Form&amp;#40;&amp;quot;password&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;sql = &amp;quot;SELECT * FROM korisnici WHERE username='&amp;quot; &amp;amp; uname &amp;amp; &amp;quot;' AND &amp;quot; password='&amp;quot; &amp;amp; pword &amp;amp; &amp;quot;';&amp;quot;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;rs.Open sql, conn
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;If rs.EOF Then
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Response.Write&amp;#40;&amp;quot;Podaci se ne slazu sa onima iz baze podataka!&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Else
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Response.Write&amp;#40;&amp;quot;Dobrodosli &amp;quot; &amp;amp; uname&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;End If
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Response.Redirect&amp;#40;&amp;quot;home.asp&amp;quot;&amp;#41;
&lt;br /&gt;
End If
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
NAPOMENA:
&lt;br /&gt;
posto jos nismo radili Connection i Recordset objekte (rs i conn), za sada sam ih ovako napisao, ali se 
&lt;br /&gt;

&lt;br /&gt;
pretpostavlja da su validne reference na objekte tipa Recordset i Connection. O istim cemo pricati posle.
&lt;br /&gt;

&lt;br /&gt;
isti ovaj kod sa GET metodom bi ovako izgledao:
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
If NOT isEmpty&amp;#40;Request.QueryString&amp;#40;&amp;quot;Submit&amp;quot;&amp;#41;&amp;#41; Then
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;dim uname, pword, sql
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;uname = Request.QueryString&amp;#40;&amp;quot;username&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;pword = Request.QueryString&amp;#40;&amp;quot;password&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;sql = &amp;quot;SELECT * FROM korisnici WHERE username='&amp;quot; &amp;amp; uname &amp;amp; &amp;quot;' AND &amp;quot; password='&amp;quot; &amp;amp; pword &amp;amp; &amp;quot;';&amp;quot;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;rs.Open sql, conn
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;If rs.EOF Then
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Response.Write&amp;#40;&amp;quot;Podaci se ne slazu sa onima iz baze podataka!&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Else
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Response.Write&amp;#40;&amp;quot;Dobrodosli &amp;quot; &amp;amp; uname&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;End If
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Response.Redirect&amp;#40;&amp;quot;home.asp&amp;quot;&amp;#41;
&lt;br /&gt;
End If
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Kolekcija ServerVariables&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
ova kolekcija sluzi za ispisivanje podataka o korisniku koji se nalazi na vasoj web prezentaciji.
&lt;br /&gt;

&lt;br /&gt;
izdvojicu one najpotrebnije promenljive kao i opis istih....
&lt;br /&gt;

&lt;br /&gt;
REMOTE_ADDR - adresa racunara koji pravi zahtev
&lt;br /&gt;
REMOTE_HOST - ime domena racunara (textualna IP adresa, ime providera) ako nema, onda pise samo IP adresa
&lt;br /&gt;
LOCAL_ADDR - adresa servera
&lt;br /&gt;
HTTP_REFERER - stranica preko koje je korisnik dosao na tekucu, ako je pritisnuo link
&lt;br /&gt;
HTTP_USER_AGENT - vrsta citaca i verzija kao i OS korisnika
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Kolekcija Cookies&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
kolacici sluze da zapisu neku informaciju o korisniku. npr, username pa da se sledeci put korisnik ne mora da 
&lt;br /&gt;

&lt;br /&gt;
loguje nego je to automatski ili zapamti interesovanja korisnika pa ga redirektuje na adresu koja ga zanima.
&lt;br /&gt;

&lt;br /&gt;
kolacici postoje u JavaScriptu, a mogu se koristiti i direktno iz ASP-a.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
ako zelite da napravite autologin ovakav kolacic bi vam bio od pomoci
&lt;br /&gt;

&lt;br /&gt;
Request.Cookies(&quot;UserName&quot;) = rs(&quot;username&quot;)
&lt;br /&gt;

&lt;br /&gt;
tako ce se u kolacic zapisati Username korisnika za sledecu posetu vasoj web prezentaciji
&lt;br /&gt;

&lt;br /&gt;
kolacici mogu da budu i slozeni
&lt;br /&gt;

&lt;br /&gt;
Request.Cookies(&quot;Company&quot;)(&quot;UserName&quot;) = rs(&quot;username&quot;)
&lt;br /&gt;
Request.Cookies(&quot;Company&quot;)(&quot;URL&quot;) = rs(&quot;URL&quot;)
&lt;br /&gt;

&lt;br /&gt;
provera da li su kolacici slozeni se proverava preko svojstva HasKeys. ako je HasKeys True, kolacic je slozen, 
&lt;br /&gt;

&lt;br /&gt;
ako je False, kolacic nije slozen
&lt;br /&gt;

&lt;br /&gt;
If Request.Cookies(&quot;Company&quot;).HasKeys Then
&lt;br /&gt;
	Response.Write(&quot;Ovaj kolacic ne da je slozen nego strasno! &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;&quot;)
&lt;br /&gt;
Else
&lt;br /&gt;
	Response.Write(&quot;Ovaj kolacic nazalost nije slozen! &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_sad.gif&quot; alt=&quot;Sad&quot; border=&quot;0&quot; /&gt;&quot;)
&lt;br /&gt;
End If
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
zavrsili smo Request objekat. sledeci put prelazimo na Response.
&lt;br /&gt;

&lt;br /&gt;
sta vam nije jasno slobodno pitajte. ako ste nasli neku gresku, prijavite pa cu ispraviti...
&lt;br /&gt;

&lt;br /&gt;
to be continued...</description>
	<pubDate>Fri, 28 Jan 2005 00:28:27 +0100</pubDate>
</item>
<item>
	<title>ASP Tutorial - Osnove ASP-a (Deo II)</title>
	<link>https://www.mycity.rs/ASP/ASP-Tutorial-Osnove-ASP-a-Deo-II.html</link>
	<guid>https://www.mycity.rs/?p=112014</guid>
	<author>nobody@mycity.rs (snoop)</author>
	<description>da nastavimo...
&lt;br /&gt;
u proslom delu smo pricali o uslovima, petljama i promenljivama. sada cemo pricati o funkcijama i procedurama 
&lt;br /&gt;

&lt;br /&gt;
i stime cemo zavrsiti ovaj deo Osnova ASP-a
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Procedure&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
procedure su blokovi koda koji vas oslobadjaju bespotrebnog pisanja istog dela koda vise puta, a samim tim i 
&lt;br /&gt;

&lt;br /&gt;
smanjuje velicinu stranice na serveru.
&lt;br /&gt;
Procedure ne vracaju nikakvu vrednost i izvrsavaju se tako sto se navede ime procedure i eventualno argumente.
&lt;br /&gt;

&lt;br /&gt;
jednom napisana procedura moze da se poziva hiljadu puta.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
sintaksa procedure:
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
&amp;#91;Public | Private&amp;#93; Sub ime_procedure &amp;#91;&amp;#40;arg1, arg2, arg3... argn&amp;#41;&amp;#93;
&lt;br /&gt;
'// blok koda
&lt;br /&gt;
End Sub
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
sve sto je unutar [ i ] zagrada je opciono...
&lt;br /&gt;

&lt;br /&gt;
kada je procedura deklarisana kao Public, to znaci da svi clanovi klase (pa i ovi izvan nje) u kojoj se nalazi 
&lt;br /&gt;

&lt;br /&gt;
ta procedura imaju pristup njoj (ovo vazi i za funkcije, promenljive, konstante...)
&lt;br /&gt;

&lt;br /&gt;
Private znaci  da samo clanovi klase mogu da joj pristupaju i zatvorena je za ostale procedure, funkcije izvan 
&lt;br /&gt;

&lt;br /&gt;
te klase u kojoj je.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
primer jedne procedure
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
Public Sub Ispisi &amp;#40;&amp;#41;
&lt;br /&gt;
Response.Write&amp;#40;&amp;quot;Ja sam tekst koji je izbacila procedura Ispisi &amp;#58;&amp;#41;&amp;quot;&amp;#41;
&lt;br /&gt;
End Sub
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Funkcije (u daljem tekst f-je)&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
f-je su slicne procedurama stom razlikom sto vracaju vrednost i kao takve pogodne su da se ubacuju u uslove (u 
&lt;br /&gt;

&lt;br /&gt;
prethodnom casu smo pominjali uslove) jer f-je vrate vrednost i odmah uporede sa uslovom.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
sintaksa f-ja
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
&amp;#91;Public | Private&amp;#93; Function ime_funkcije &amp;#91;&amp;#40;arg1, arg2, arg3... argn&amp;#41;&amp;#93;
&lt;br /&gt;

&lt;br /&gt;
End Function
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
primer jedne f-je
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
Public Function Saberi&amp;#40;a,b&amp;#41;
&lt;br /&gt;
Saberi = a + b
&lt;br /&gt;
End Function
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
kada se izracunavanje u f-ji obavi, obavezno se rezultat mora vratiti imenu f-je Saberi = a + b.
&lt;br /&gt;
kada smo ovo uradili, mozemo da ubacimo f-ju u uslov
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
If Saberi&amp;#40;2,2&amp;#41; = 4 Then
&lt;br /&gt;
Response.Write&amp;#40;&amp;quot;Da, 2 + 2 jeste 4!&amp;quot;&amp;#41;
&lt;br /&gt;
End If
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
ono sto ce vam trebati pri registrovanju (upisivanju novih korisnika u bazu) jeste validacija email adrese.
&lt;br /&gt;
ovo mozete uraditi i bez f-je, ali je na ovaj nacin lakse zato jer ako se na vasem sajtu validacija email 
&lt;br /&gt;

&lt;br /&gt;
adrese ponavlja vise puta, za svaki put vi biste pisali ponovo. ovako samo pozovete f-je sa drugim 
&lt;br /&gt;

&lt;br /&gt;
argumentom/argumentima..
&lt;br /&gt;

&lt;br /&gt;
evo f-je za validaciju email adrese
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
Dim at, dot
&lt;br /&gt;
Public Function ValidEmail&amp;#40;polje_mail_adrese&amp;#41;
&lt;br /&gt;
If Len&amp;#40;polje_mail_adrese&amp;#41; &amp;lt; 6 Then
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Response.Write&amp;#40;&amp;quot;Email adresa nije validna!&amp;quot;&amp;#41;
&lt;br /&gt;
Else
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;at = InStr&amp;#40;2, polje_mail_adrese, &amp;quot;@&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;If at = 0 Then
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;ValidEmail = &amp;quot;Email adresa nije validna!&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;ElseIf CInt&amp;#40;dot&amp;#41; + 1 &amp;gt; Len&amp;#40;polje_mail_adrese&amp;#41; Then
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;ValidEmail = &amp;quot;Email adresa nije validna!&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Else
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;ValidEmail = &amp;quot;Email adresa je validna!&amp;quot;
&lt;br /&gt;
End If&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
End Function
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
ovaj kod mozete izmeniti i kao umesto vracanja Stringa (Email adresa nije validna!/Email adresa je validna!) 
&lt;br /&gt;

&lt;br /&gt;
mozete da stavite 0/1 respektivno i ubacite ValidEmail u IF uslov i u zavisnosti od unesene email adrese if 
&lt;br /&gt;

&lt;br /&gt;
uslov se grana gde treba i prikaze ono sto je potrebno...</description>
	<pubDate>Wed, 26 Jan 2005 22:10:02 +0100</pubDate>
</item>
<item>
	<title>ASP Tutorial - Osnove ASP-a (Deo I)</title>
	<link>https://www.mycity.rs/ASP/ASP-Tutorial-Osnove-ASP-a-Deo-I.html</link>
	<guid>https://www.mycity.rs/?p=111726</guid>
	<author>nobody@mycity.rs (snoop)</author>
	<description>ASP je dinamicki script jezik slican PHPu i sluzi isto kao i PHP za izradu dinamickih web aplikacija (sta god to bilo (forumi, blogovi, sajtovi, shoppinh cart...))
&lt;br /&gt;
ASP je skracenica od Active Server Pages i kao takve izvrsavaju se na serveru na kojima je instaliran IIS, o kome je bilo reci.
&lt;br /&gt;
kao sto je slucaj sa PHPom, i ASP vraca korisniku rezultat izvrsavanja ASP stranica.
&lt;br /&gt;

&lt;br /&gt;
ASP kod unutar HTML stranice se nalazi unutar &amp;lt;% i %&amp;gt;...
&lt;br /&gt;

&lt;br /&gt;
ajde da uradimo jedan jednostavan primer...
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;
&lt;br /&gt;
&amp;lt;title&amp;gt;ASP Test stranica&amp;lt;/title&amp;gt;
&lt;br /&gt;
&amp;lt;/head&amp;gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;
&lt;br /&gt;
Danas je&amp;#58; &amp;lt;%= Now&amp;#40;&amp;#41; %&amp;gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
ovaj kod ce, kao rezultat, vratiti korisniku trenutno vreme koje je na serveru na kojem se izvrsila stranica.
&lt;br /&gt;

&lt;br /&gt;
&amp;lt;%= &quot;X&quot; %&amp;gt; je isto kao i &amp;lt;% Response.Write(&quot;X&quot;) %&amp;gt; stom razlikom da kada stavite &amp;lt;%= &quot;X&quot; %&amp;gt; onda u tom delu ne moze da stoji nista vise. npr. ovo nije moguce.
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
Response.Write&amp;#40;&amp;quot;X&amp;quot;&amp;#41; '// komentar je samo apostrof, ali ja ga koristim ovako jer mi se svidjaju // &amp;#58;&amp;#41;
&lt;br /&gt;
a = b + c
&lt;br /&gt;
Response.Write&amp;#40;a&amp;#41;
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Promenljive&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
u promenljivama se cuvaju podaci koji su potrebni za dalji tok programa.
&lt;br /&gt;
u ASPu mozete da deklarisete promenljive tako sto napisete Dim ime_promenljive.
&lt;br /&gt;

&lt;br /&gt;
Note:
&lt;br /&gt;
u VBu posle imena promenljive obavezno treba da se kuca As String ili as Integer. u ASPu toga nema... znaci, nista As Nesto...
&lt;br /&gt;

&lt;br /&gt;
takodje, ne morate da deklarisete promenljive sa Dim nego jednostavno, odjednom negde nasred stranice da izmislite neku promenljivu i da nastavite nesmetano sa radom.
&lt;br /&gt;
ovo se ne preporucuje zato sto moze da bude uzrok problema prilikom debugovanja u nekim velikim projektima gde broj linija prelazi ljudske mogucnosti &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
ako ste ne sigurni i ne znate da li ste deklarisali promenljivu ili ne, na pocetak stranice napisite Option Explicit i od tada, svaku promenljivu cete morati da deklarisete. ako to pak ne uradite, 'kompajler' ce vas na vreme upozoriti, pri pokretanju stranice.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
manipulisanje sa promenljivama sigurno znate kako se obavljaju.
&lt;br /&gt;
npr. obicno sabiranje:
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
Dim a, b, c
&lt;br /&gt;
a = b + c
&lt;br /&gt;
Response.Write&amp;#40;a&amp;#41;
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
sve se svodi na isto.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Uslovi&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
uslovi postoje kako program, aplikacija ne bi bila monotona i isla samo u jednom pravcu.
&lt;br /&gt;
uslovi mogu i treba da promene redosled izvrsavanja aplikacije kada je to neophodno.
&lt;br /&gt;

&lt;br /&gt;
jedan od najpoznatijih uslova je IF.
&lt;br /&gt;

&lt;br /&gt;
sintaksa IF uslova&quot;
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
If Session&amp;#40;&amp;quot;UserName&amp;quot;&amp;#41; &amp;lt;&amp;gt; &amp;quot;Admin&amp;quot; Then
&lt;br /&gt;
Response.Redirect&amp;#40;&amp;quot;access_denied.asp&amp;quot;&amp;#41;
&lt;br /&gt;
Else
&lt;br /&gt;
Response.Redirect&amp;#40;&amp;quot;welcome.asp&amp;quot;&amp;#41;
&lt;br /&gt;
End If
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
ovaj kod proverava da li ste admin i ako jeste prebacuje vas na stranicu welcome.asp, u suprotnom vam prikazuje access_denied.asp stranicu...
&lt;br /&gt;

&lt;br /&gt;
jos jedan 'derivat' IF uslova je IfElse
&lt;br /&gt;

&lt;br /&gt;
sintaksa IFELSE Uslova
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
If Session&amp;#40;&amp;quot;UserName&amp;quot;&amp;#41; = &amp;quot;Admin&amp;quot; Then
&lt;br /&gt;
Response.Redirect&amp;#40;&amp;quot;admin/control_panel.asp&amp;quot;&amp;#41;
&lt;br /&gt;
ElseIf Session&amp;#40;&amp;quot;UserName&amp;quot;&amp;#41; = &amp;quot;Moderator&amp;quot; Then
&lt;br /&gt;
Response.Redirect&amp;#40;&amp;quot;welcome_mod.asp&amp;quot;&amp;#41;
&lt;br /&gt;
Else
&lt;br /&gt;
Response.Redirect&amp;#40;&amp;quot;access_denied.asp&amp;quot;&amp;#41;
&lt;br /&gt;
End If
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
ovaj deo koda, proverava da li je Session promenljiva UserName jednaka Admin i ako jeste redirektuje korisnika na control panel, ako je korisnik Moderator onda prikazuje welcome moderatoru, a ako nije nista od toga (Admin, Moderator) salje ga na access_denied.asp stranicu. sto znaci, zabranjen pristup osim Adminima i Moderatorima...
&lt;br /&gt;

&lt;br /&gt;
svaki If mora da ima svoje End If
&lt;br /&gt;

&lt;br /&gt;
za ovako nesto, posebno ako ima vise uslova ne treba koristiti If Then Else nego treba koristiti Select Case
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
sintaksa SELECT CASE uslova
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
Dim msg
&lt;br /&gt;
Select Case msg
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Case &amp;quot;Yes&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Response.Write&amp;#40;&amp;quot;Kliknuli ste na Yes!&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Case &amp;quot;No&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Response.Write&amp;#40;&amp;quot;Kliknuli ste na No!&amp;quot;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Case &amp;quot;Maybe&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Response.Write&amp;#40;&amp;quot;Kliknuli ste na Maybe!&amp;quot;&amp;#41;
&lt;br /&gt;
End Select
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Petlje&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
sa petljom mozete jedan blok koda izvrsavati vise puta.
&lt;br /&gt;
pomenucu Do, For...Next
&lt;br /&gt;

&lt;br /&gt;
sintaksa DO petlje
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
Dim x
&lt;br /&gt;
x = 4
&lt;br /&gt;
Do Until x =5
&lt;br /&gt;
Response.Write&amp;#40;x&amp;#41;
&lt;br /&gt;
x = x + 1 '// ako ne stavite ovo povecavanje, vasa petlja nikada nece stati jer uslov nece biti zadovoljen i dovescete vasu petlju u DeadLoop, InfiniteLoop kako zelite... vrtece se tako do besvesti, a to nije ono sto zelimo...
&lt;br /&gt;
Loop
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Do Until petlja ce ici sve dok uslov nije zadovoljen. kako se uslov zadovolji (rezultat uslova bude TRUE), petlja prestaje sa radom (strajkuje) &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Sintaksa za FOR...NEXT petlju
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
Dim i
&lt;br /&gt;
For i = -3 To 6
&lt;br /&gt;
Response.Write&amp;#40;&amp;quot;&amp;lt;font size=&amp;quot; &amp;amp; i &amp;amp; &amp;quot;&amp;gt;Hello World&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&amp;quot;&amp;#41;
&lt;br /&gt;
Next i '// moze i bez i. znaci samo Next
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
For petlja ide od pocetne vrednosti (u ovom slucaju -3) pa sve do 6 i u tom njenom prolazu, odradjuje neki deo koda... ako vi u tom kodu vratite vrednosti promenljive i na -3 ili je izjednacite sa 6, For petlja ce stati.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
za sada cemo ovde stati i ostavicu vas da malo pronjuskate po ovome da vidite kako ovo radi... nastavicemo za koji dan &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;.</description>
	<pubDate>Wed, 26 Jan 2005 01:15:04 +0100</pubDate>
</item>
<item>
	<title>Instalacija IIS-a za ASP stranice</title>
	<link>https://www.mycity.rs/ASP/Instalacija-IIS-a-za-ASP-stranice.html</link>
	<guid>https://www.mycity.rs/?p=111725</guid>
	<author>nobody@mycity.rs (snoop)</author>
	<description>u rar fajlu je objasnjenje kako treba da se instalira IISi trebalo bi da radi... zar ne Pixi &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_biggrin.gif&quot; alt=&quot;Very Happy&quot; border=&quot;0&quot; /&gt;&lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
samo posle preimenujte u .rar
&lt;br /&gt;
&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;
&lt;br /&gt;

&lt;br /&gt;
prva lekcija
&lt;br /&gt;
&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Text iz prikacenog pdfa u HTML obliku</description>
	<pubDate>Wed, 26 Jan 2005 01:14:02 +0100</pubDate>
</item>
<item>
	<title>Kompletno konfigurisan web server [za PHP] za download</title>
	<link>https://www.mycity.rs/PHP/Kompletno-konfigurisan-web-server-za-PHP-za-download.html</link>
	<guid>https://www.mycity.rs/?p=100143</guid>
	<author>nobody@mycity.rs (bobby)</author>
	<description>Apache + PHP + MySQL, prekonfigurisani. Potrebno je skinuti, raspakovati i u sledeca 2 minuta mozete imati sve to zajedno pokrenuto i funkcionalno.
&lt;br /&gt;
U svakom slucaju vredi pogledati link:
&lt;br /&gt;
&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;</description>
	<pubDate>Tue, 21 Dec 2004 02:22:28 +0100</pubDate>
</item>
<item>
	<title>Kako napraviti log in?</title>
	<link>https://www.mycity.rs/ASP/Kako-napraviti-log-in.html</link>
	<guid>https://www.mycity.rs/?p=82104</guid>
	<author>nobody@mycity.rs (snoop)</author>
	<description>kada nesto pravite obicno zelite da odredjeni korisnici pristupaju odredjenim delovima vaseg sajta, aplikacije ili cega vec.
&lt;br /&gt;
u tu svrhu mozete da napravite log in kako bi ih prepoznali i dozvolili pristup ili ne.
&lt;br /&gt;

&lt;br /&gt;
ono sto morate da imate to je ispravna konekcija prema bazi (u ovom slucaju Access, mada je ne bitno koja je baza)
&lt;br /&gt;

&lt;br /&gt;
Dim conn '// objekat koji ce da sluzi za konekciju prema bazi
&lt;br /&gt;
Set conn = Server.CreateObject(&amp;quot;ADODB.Connection&amp;quot;)
&lt;br /&gt;
conn.ConnectionString = &amp;quot;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=&amp;quot; &amp;amp; Server.MapPath(&amp;quot;moja_baza.mdb&amp;quot;) &amp;amp; &amp;quot;;&amp;quot;
&lt;br /&gt;
conn.Open
&lt;br /&gt;

&lt;br /&gt;
ovo mozete da stavite u poseban fajl npr. conn.asp i da ga uvezete u svaku stranicu (u login.asp u nasem slucaju) koja treba da kontaktira sa bazom pomocu &amp;lt;!-- #include file = &amp;quot;conn.asp&amp;quot; --&amp;gt; npr. na pocetku stranice pre &amp;lt;html&amp;gt; taga
&lt;br /&gt;

&lt;br /&gt;
zamislimo da u toj nasoj bazi imamo tabelu tblUsers sa sledecim atributima (poljima)
&lt;br /&gt;

&lt;br /&gt;
uid - User ID, tip Number i PrimaryKey
&lt;br /&gt;
username - tip Text
&lt;br /&gt;
password - tip Text
&lt;br /&gt;
level - koji nivo ima, da li je admin ili sta vec, tip Text
&lt;br /&gt;
mozete dodati i vise informacija, ali za ovo je dovoljno i ovoliko...
&lt;br /&gt;

&lt;br /&gt;
sada morate napraviti formu u kojoj ce se nalaziti dva text polja i jedno dugme tipa submit...
&lt;br /&gt;

&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmLogin&amp;quot; action=&amp;quot;login.asp&amp;quot;&amp;gt;
&lt;br /&gt;
Korisnicko ime: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;username&amp;quot;&amp;gt;&amp;lt;br&amp;gt;
&lt;br /&gt;
Sifra: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;password&amp;quot;&amp;gt;&amp;lt;br&amp;gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;submit&amp;quot; value=&amp;quot;log in&amp;quot;&amp;gt;
&lt;br /&gt;
&amp;lt;/form&amp;gt;
&lt;br /&gt;

&lt;br /&gt;
kada ste ovo dodali, mozete da krenete da pisete kod za log in.
&lt;br /&gt;
pre nego sto ista uradimo, da napomenem da se ovaj kod nalazi u login.asp stranici dok ova forma u bilo kojoj drugoj...
&lt;br /&gt;

&lt;br /&gt;
posle taga &amp;lt;/form&amp;gt; mozemo da krenemo da pisemo kod izmedju &amp;lt;%%&amp;gt;
&lt;br /&gt;

&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
Dim rs, strSQL
&lt;br /&gt;
strSQL = &amp;quot;SELECT * FROM tblUsers WHERE username='&amp;quot; &amp;amp; Request.Form(&amp;quot;username&amp;quot;) &amp;amp; &amp;quot;' AND password='&amp;quot; &amp;amp; Request.Form(&amp;quot;password&amp;quot;) &amp;amp; &amp;quot;';&amp;quot;
&lt;br /&gt;
Set rs = Server.CreateObject(&amp;quot;ADODB.Recorset&amp;quot;)
&lt;br /&gt;
Set rs = conn.Execute(strSQL)
&lt;br /&gt;

&lt;br /&gt;
If rs.EOF then
&lt;br /&gt;
'// korisnik ne postoji u bazi
&lt;br /&gt;
Response.Redirect(&amp;quot;error.asp&amp;quot;)
&lt;br /&gt;
Else
&lt;br /&gt;
'// korisnik postoji u bazi i postavljamo Session objekat
&lt;br /&gt;
Session(&amp;quot;UName&amp;quot;) = rs(&amp;quot;username&amp;quot;) '// korisnicko ime koje cemo nekada negde ispisati
&lt;br /&gt;
Session(&amp;quot;Level&amp;quot;) = rs(&amp;quot;level&amp;quot;) '// sluzi za proveru pri ulasku na neke zasticene stranice
&lt;br /&gt;
Response.Redirect(&amp;quot;main.asp&amp;quot;)
&lt;br /&gt;
End If
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;

&lt;br /&gt;
na svaku stranicu koju zelite da zastitite od ne registrovanih korisnika treba skroooooz gore da postavite sledeci kod
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
If IsEmpty(Session(&amp;quot;UName&amp;quot;)) Then
&lt;br /&gt;
Response.Redirect(&amp;quot;registration.asp&amp;quot;)
&lt;br /&gt;
End If
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;

&lt;br /&gt;
ako zelite da stranicu zastitite od registrovanih korisnika, ali koji imaju manje prava onda trebate da ubacite sledeci kod
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
If Session(&amp;quot;Level&amp;quot;) &amp;lt;&amp;gt; &amp;quot;Admin&amp;quot; Then
&lt;br /&gt;
Response.Redirect(&amp;quot;AuthorisationRequired.asp&amp;quot;)
&lt;br /&gt;
End If
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;

&lt;br /&gt;
i na kraju logout...
&lt;br /&gt;

&lt;br /&gt;
napravite novi fajl koji ce se zvati npr. logout.asp i u njega upisite sledece
&lt;br /&gt;
&amp;lt;%
&lt;br /&gt;
Session.Abandon()
&lt;br /&gt;
Response.Redirect(&amp;quot;default.asp&amp;quot;)
&lt;br /&gt;
%&amp;gt;
&lt;br /&gt;

&lt;br /&gt;
nadam se da ce vam koristiti...</description>
	<pubDate>Tue, 05 Oct 2004 03:21:23 +0100</pubDate>
</item>
</channel>
</rss>

