timsort / Elementi (na koje pokazuje plava strelica) se uspoređuju, a manji element se pomiče na svoju konačnu poziciju (na koju pokazuje crvena strelica).
Osnove programiranja

Timsort

Sigurno ste se pitali koji algoritam sortiranja se izvršava kada se pokrene ugrađena sort funkcija? Odgovor nije jednstven za sve implementacije ali jedan od najzastupljenijih je definitivno timsort. Timsort je hibridni, stabilni algoritam, izveden od merge sort i insertion sort algoritama. Razvio ga je Tim Peters 2002. godine za potrebe programskog jezika Python. Danas je […]

Pročitaj ostatak
git
Front-end programiranje

Upoznajte sisteme za kontrolu verzija i Git

Sistemi za kontrolu verzija su alati koji prate promene u kodu softvera tokom vremena. Oni omogućavaju programerima da prate istoriju promena, vraćaju se na prethodne verzije, i sarađuju sa drugim članovima tima. Ovo je ključno za održavanje projekta i olakšava rad na velikim timskim projektima. Kako ovi sistemi unapređuju razvoj aplikacija i kako nam pomažu: […]

Pročitaj ostatak
algoritmi
Osnove programiranja

Algoritmi sortiranja

Algoritmi sortiranja prestavljaju algoritme čiji je cilj da postave elemente kolekcije u ispravan redosled. Najčešće se redosled utvrđuje operatorom poređenja koji se definiše za elemente. Kod brojnih vrednosti to može biti operator < ili >, tekstualne tipove možemo sortirati leksikografski (u abedecnom redosledu) ili po dužini podatka… Sortiranje se primenjuje kako bi podaci bili pregledniji, […]

Pročitaj ostatak
java design patterns
Java Web programiranje

Dizajn obrasci koje bi svaki web developer trebao da zna

Dizajn obrazac (eng. Design Pattern) opisuje dobro poznato i isprobano rešenje za problem sa kojim se programeri često susreću prilikom razvoja softvera. Dizajn obrasci su konceptualni i mogu se primeniti u bilo kojem programskom jeziku. Dizajn obrasci se mogu svrstati u jednu od sledeće tri kategorije, u zavisnosti od problema koji rešavaju: Kreacioni obrasci – […]

Pročitaj ostatak
objektno-orijentisano programiranje
Osnove programiranja

Zašto je objektno-orijentisano programiranje (OOP) temelj modernog softverskog razvoja?

U svetu tehnologije i programiranja, objektno-orijentisano programiranje (OOP) je osnova na kojoj počiva moderni dizajn i razvoj softvera. OOP pristup stavlja pažnju na objekte umesto na funkcije i daje mogućnosti za kreiranje fleksibilnog, efikasnog i lako održivog koda. U nastavku su četiri osnovne karakteristike OOP: Modularnost i nasleđivanje Objektno-orijentisani programi karakteriše visok stepen modularnosti, što […]

Pročitaj ostatak
java-programiranje
Osnove programiranja

Pisanje “čistog” koda

Šta je to “čist” kod? Čist kod (clean code) predstavlja programski kod koji se lako čita, razume i menja. Potreba za pisanjem čistog koda postaje veoma izražena kako softverski sistemi rastu i postaju kompleksniji, te se javlja potreba za održavanjem. Visoko kvalitetan i čist kod znatno olakšava održavanje softverskih sistema. Čist kod: se lako održava […]

Pročitaj ostatak