nav_dugme codeBlog codeBlog
  • početna
  • Učionica
  • Saveti
  • Zanimljivosti
  • Kontakt

Učionica

Teorija programiranja i praktični primeri

Najnoviji članci

Javascript ES6 sintaksa

Revizija JavaScript jezika iz 2015. godine (ECMAScript 6), donela je sa sobom mnoge novine koje su, od vremena kada su se pojavile pa do danas, I te kako zaživele i zauzele bitno mesto u mnogim razvojnim okruženjima koja se zasnivaju na JavaScript-u.ES6 sintaksa je, pre svega, veoma zanimljiva sama po sebi, a, ako planirate da se upustite u savladavanje tehnologija kao što su Node.JS, Angular, React, Vue.js, Express (da napomenemo samo neke, najpopularnije), slobodno možemo reći da poznavanje tehnika iz revizije ES6 predstavlja neophodan preduslov .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 08.07.2021.
IKONA_TEG
Težina: 7/10
javascript
javascript_es6_sintaksa

Uvod u Fetch API

Fetch API možemo (u idejnom smislu) shvatiti kao kombinaciju dva pristupa o kojima smo pisali u prethodnim člancima: AJAX-a i promisa.U pitanju je sistem za slanje asinhronih zahteva, prijem i obradu podataka, ali, za razliku od AJAX-a, Fetch API se ne zasniva na XMLHttpRequest objektu i (umesto preko povratnih poziva) implementiran je preko promisa.Pored teoretskog uvoda, spremili smo i mini-tutorijal za izradu jednostavnog sajta koji koristi Fetch API i promise za prikaz sadržaja stranice .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 06.07.2021.
IKONA_TEG
Težina: 7/10
javascript
uvod_u_fetch_api

Asinhrono Programiranje u JavaScriptu

AJAX, tehnika o kojoj smo govorili u prethodnom članku, nije jedini način za upućivanje asinhronih zahteva preko JavaScript-a, pa ćemo se ovoga puta pozabaviti time kako objekti klase Promise pomažu u kreiranju znatno preglednijeg koda pri upućivanju ugnježđenih asinhronih poziva i time kako async / await sintaksa može još dodatno olakšati rad sa promisima.Pored navedenog, posvetićemo pažnju i tzv. web workerima, koji (za razliku od prethodno opisanih metoda koje upućuju zahteve koji se izvršavaju na udaljenim računarima), omogućavaju pokretanje paralelnih tokova koda (multithreading) na računaru klijenta .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 01.07.2021.
IKONA_TEG
Težina: 9/10
javascript
asinhrono_programiranje_u_javascriptu

Uvod u AJAX (Asynchronous JavaScript And XML)

Asinhrona komunikacija između klijenta i servera stekla je pravu popularnost sredinom prve polovine XXI veka, kada je infrastrutkura interneta postala dovoljno razvijena da podrži ovakav pristup.Chat aplikacije koje prikazuju status korisnika koji su online, dodavanje komentara ispod video klipova koje ne prekida prikaz video sadržaja, kao i sugestije u pretragama koje se menjaju sa svakim unetim znakom, samo su neke od implementacija navedenog pristupa.Za početak, upoznaćemo se sa AJAX-om (nešto starijom, ali, i dalje korišćenom tehnologijom), dok ćemo novijem pristupu u obliku Fetch API-ja posvetiti pažnju u sledećim člancima .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 24.06.2021.
IKONA_TEG
Težina: 7/10
javascriptphp
uvod_u_ajax

JSON Web Token (JWT) - Struktura i primena u oblasti autorizacije web aplikacija

Jedno od osnovnih pitanja u web aplikacijama sa korisničkim nalozima je: kako čuvati podatke korisnika u lokalnim skladištima, tako da ti podaci omoguće korisniku pristup sadržajima aplikacije - ali da istovremeno ne otkrivaju identitet korisnika i druge osetljive podatke (pogotovo ne lozinke)?!JSON web tokeni predstavljaju jedno od najpopularnijih rešenja za ovaj problem .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 17.06.2021.
IKONA_TEG
Težina: 7/10
json_web_token

Callback funkcije i lambda izrazi

Detaljan osvrt na koncept predavanja jedne funkciji drugoj u svojstvu argumenta, uz koršćenje lambda izraza (anonimnih funkcija zapisanih preko posebne sintakse) i implementacju u četiri različita jezika.Pored toga, usput ćemo se pozabaviti i delegatima u C#-u i interfejsima u Javi .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 10.06.2021.
IKONA_TEG
Težina: 7/10
javascriptpythonc#java
callback_funkcije_i_lambda_izrazi

Uvod u Node.js

Node.js je izuzetno popularno radno okruženje za pisanje backend aplikacija koje pokreće V8 engine (Js interpretator iz Google Chrome-a) koji je povezan sa ulazno-izlaznim mogućnostima operativnog sistema na kome je instaliran.U širem smislu, u pitanju je svojevrstan ekosistem za kreiranje, ne samo serverskog backend-a, već i običnih desktop aplikacija - sve preko lepe i elegantne JS sintakse .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 01.06.2021.
IKONA_TEG
Težina: 7/10
javascript
uvod_u_nodejs

Izbor prvog programskog jezika

Diskusija o izboru prvog programskog jezika (C vs. Python), uz osvrt na razlike između mašinskih jezika i programskih jezika visokog nivoa.Koliko programski jezici treba da nam pomažu, šta treba, a šta ne treba od nas da kriju ..... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 27.05.2021.
IKONA_TEG
Težina: 5/10
cpython
izbor_prvog_programskog_jezika

Šablonske niske u programskim jezicima

Šablonske niske predstavljaju elegantan način da se u niske sa unapred zadatim sadržajem uvrste vrednosti promenljivih i izraza.Sam naziv šablonske niske (template literals) zvanično se koristi u JavaScriptu, dok se u drugim jezicima (bar zvanično) upotrebljavaju drugi nazivi, ali je koncept gotovo istovetan.Osim šablosnkih niski, upoznaćemo se i sa osnovnim operatorima i funkcijama za konkatenaciju (spajanje) niski. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 23.05.2021.
IKONA_TEG
Težina: 7/10
javascriptphpc#
sablonske_niske

Uvod u Python

Python je jedan od najpopularnijih skriptnih jezika. Sa jedne strane odlikuje ga jednostavnost koja je prijemčiva početnicima, a sa druge strane, prisutne su sve odlike krajnje ozbiljnog jezika - funkcije, klase i objekti, složene strukture podataka i brojne biblioteke.Python omogućava pisanje skripti za automatizaciju svakodnevnih poslova (popularan je i za web crawler-e, kao i u oblasti mašinskog učenja i veštačke inteligencije) i sve to obavlja na jednostavan i nenametljiv način.Za početak, upoznaćemo se sa osnovnim operacijama .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 20.04.2021.
IKONA_TEG
Težina: 6/10
python
uvod_u_python

Promenljive u CSS-u (pretprocesori i imenovana svojstva)

Nepodržanost promenljivih duže vreme je bio jedan od najvećih nedostataka CSS-a, pa je bilo potrebno iznaći rešenje.Za početak, pojavili su se pretprocesori za CSS, specijalizovani programi koji prevode poseban CSS kod u standarni CSS, da bi na kraju podrška za imenovana svojstva bila uvrštena u CSS specifikaciju ..... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 03.04.2021.
IKONA_TEG
Težina: 6/10
css
css_promenljive

Lokalno skladištenje podataka browsera (sessionStorage, localStorage, cookies)

Tema novog članka su načini za lokalno skladištenje podataka koje browseri koriste.Kolačići (engl. - cookies) predstavljaju najpopularniji, ali, svakako ne i jedini način za obavljanje ovog zadatka.Na raspolaganju su nam takođe i lokalna skladišta, sa mogućnostima za privremeno i trajno pamćenje podataka .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 23.03.2021.
IKONA_TEG
Težina: 6/10
phpjavascript
sessionstorage_localstorage_cookies

PHP - Direktno prosleđivanje podataka između stranica ($_SESSION)

Superglobalna promenljiva $_SESSION omogućava direktnu razmenu podataka između PHP skipti koje sajt koristi (što naizgled poništava potrebu za korišćenjem nizova $_GET i $_POST).Međutim, sva tri pristupa imaju svoja ograničenja (naravno, imaju i svoje prednosti i dobre strane), što nalaže upotrebu sve tri metode, shodno trenutnim potrebama.Sa superglobalnom promenljivom $_SESSION upoznaćemo se najbolje preko primera: skripte za proveru unetih podataka pri prijavi korisnika na korisnički nalog .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 23.02.2021.
IKONA_TEG
Težina: 7/10
php
php_prosledjivanje_podataka_session

PHP - Povezivanje skripti sa MySql bazama podataka

Reklo bi se da je, u praktičnom smislu, povezivanje PHP skripti sa bazama podataka jedna od najvažnijih tema vezanih za PHP (ako ne i najvažnija).Stoga ćemo se detaljno pozabaviti mehanizmima povezivanja i komandama za kreiranje i popunjavanje tabela, čitanje, upis i ažuriranje podataka .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 13.02.2021.
IKONA_TEG
Težina: 6/10
phpmysql
php_povezivanje_sa_mysql_bazom

PHP - Prosleđivanje podataka preko HTML forme ($_POST)

U drugom nastavku o prosleđivanju podataka preko PHP skripti, govorićemo u superglobalnoj promenljivoj $_POST.U prvom nastavku upoznali smo se sa superglobalnom promenljiom $_GET koja omogućava transparentan način slanja podataka preko URL-a.Ovaj način prenosa podataka (koji inače ima veliku primenu), u slučaju prenosa osetljivih podataka, predstavlja ozbiljan rizik, a rešenje je prenos podataka preko POST protokola. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 09.02.2021.
IKONA_TEG
Težina: 6/10
php
php_prosledjivanje_podataka_post

PHP - Prosleđivanje podataka preko URL-a ($_GET)

Jezik PHP podržava različite protokole za prosleđivanje podataka stranicama sajta, pa je, u te svrhe, definisano nekoliko takozvanih superglobalnih promenljivih kojima možemo direktno pristupati preko skripti koje pišemo.Tema prvog članka je superglobalna promenljiva $_GET, koja omogućava prosleđivanje podataka preko HTTP protokola GET. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 09.02.2021.
IKONA_TEG
Težina: 6/10
php
php_prosledjivanje_podataka_get

Uvod u PHP i backend programiranje

PHP je najčešće prvi skriptni serverski jezik sa kojim se web developeri upoznaju pošto savladaju osnove web dizajna i tri osnovna internet jezika (HTML, CSS i JavaScript).U nekoliko članaka, upoznaćemo se sa ovim jezikom.Prvi članak posvetićemo osnovama jezika, dok će ostali predstavljati tutorijale vezane za najčešće zadatke: prosleđivanje podataka preko forme, povezivanje sa bazama podataka, provera korisničkog unosa, AJAX .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 30.01.2021.
IKONA_TEG
Težina: 7/10
php
php_uvod

Izuzeci u programiranju

Izuzeci (engl. exception(s)) u programiranju omogućavaju nam da pravilno odreagujemo na nepravilnosti u korisničkom unosu podataka, kao i druge nepredviđene okolnosti u toku izvršavanja programa.U nastavku, pozabavićemo se izuzecima i try-catch blokovima, koji predstavljaju način za "hvatanje" i obradu izuzetaka .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 21.01.2021.
IKONA_TEG
Težina: 6/10
c++
izuzeci_u_programiranju

Operacije sa nizovima u programskom jeziku JavaScript

Prvobitni susret sa nizovima u JavaScriptu često ostavlja ponešto nepovoljan utisak na programere koji su navikli na to kako se sa nizovima operiše u programskim jeziima kao što su C/C++, Java ili C#.Naizgled nema baš prevelikog reda: deklaracija i inicijalizacija niza ne podrazumevaju zadavanje tipa podataka koji će se u niz smeštati, kao ni dimenzije niza.Ipak, u praksi (ako prihvatimo ove nedostatke i dobro "pazimo šta radimo"), operacije sa nizovima u JavaScriptu obavljaju se na uobičajen način, bez problema i zastoja i takođe, budući da imamo utisak da sa pojednostavljenim alatima postižemo gotovo isti rezultat kao i sa "ozbiljnim" alatom kakav nam je dostupan u klasičnim / kompajliranim jezicima - celo iskustvo ume da bude veoma zabavno ... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 25.12.2020.
IKONA_TEG
Težina: 6/10
javascript
operacije_sa_nizovima_u_programskom_jeziku_javascript

AVL Stablo - Implementacija - 5. deo - Uklanjanje čvorova

U petom (poslednjem) nastavku serijala o implementaciji AVL stabla, bavićemo se nezanemarljivo kompleksnim mehanizmom uklanjanja čvorova iz AVL stabla.Iako je ova operacija istovremeno najkomplikovanija za razumevanje i najmanje korišćena od svih operacija u AVL stablu, upravo je hvatanje ukoštac sa ovakvim, teškim zadacima, ono što programerima omogućava razvoj i napredak.Uz dodovljno truda i uz promišljenu upotrebu rekurzije, savladaćemo i ovaj složeni postupak. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 28.11.2020.
IKONA_TEG
Težina: 10/10
java
avl_implementacija_5

Binarna stabla i algebarski izrazi (stablo izraza)

Infiksna notacija je bliska ljudima (ili je možda samo stvar navike), dok je postfiksna notacija najefikasniji način za zapisivanje izraza koje će računari izvršavati. Međutim, deluje kao da obe notacije "vuku na svoju stranu" i ne predstavljaju izraze u opštem obliku.Kada je u pitanju predstavljanje izraza na računaru, reklo bi se da je struktura podataka koja na najprirodniji način definiše strukturu izraza - binarno stablo.Prevođenjem infiksnog izraza preko algoritma Shunting Yard,moguće je, umesto izraza u postfiksnoj notaciji, napraviti upravo takvu strukturu - apstraktno stablo koje predstavlja strukturu izraza i omogućava prevođenje u bilo koji oblik notacije, kao i računanje vrednosti. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 24.11.2020.
IKONA_TEG
Težina: 9/10
stablo_izraza

AVL Stablo - Implementacija - 4. deo - Dodavanje čvorova

Dodavanje čvorova, znatno komplikovanija od dve najuobičajenije operacije u AVL stablima, tema je pretposlednjeg nastavka mini-serijala o implementaciji AVL stabla.Ako ste do sada razmišljali o tome kako se čvorovi dodaju u AVL stablo, verovatno ste zaključili da prvo moramo pronaći mesto za novi čvor, zatim ga zapravo dodati (kreiranjem strukture čvora i povezivanjem sa ostatkom strukture), potom ažurirati balans faktore svih čvorova na koje dodavanje novog čvora utiče i proveriti da li je stablo na nekom mestu izgubilo balans i naravno - obaviti rebalansiranje po potrebi.Možda zvuči komplikovano, ali, ako pažljivo razmotrite ceo postupak, uvidećete da je način da se to sve izvede (relativno) jednostavan i prilično elegantan. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 21.11.2020.
IKONA_TEG
Težina: 9/10
java
avl_implementacija_4

Shunting Yard - Implementacija - 2. deo - Računanje vrednosti postfiksnog izraza

Posle prevođenja izraza iz infiksne notacije, sledi računanje vrednosti. Varijanta Shunting Yard algoritma koju smo videli u prvom nastavku (prevođenje u postfiksnu notaciju), podrazumeva u daljoj obradi upotrebu reda za čekanje (koji je preko algoritma iz prvog članka popunjen tokenima čiji redosled odgovara postfiksnoj notaciji) i pomoćnog steka.I ovoga puta uspećemo da, u linearnom vremenu, na jednostavan način prebacimo tokene na pravo mesto. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 17.11.2020.
IKONA_TEG
Težina: 8/10
c#
shunting_yard_implementacija_2

AVL Stablo - Implementacija - 3. deo - Obilazak stabla

Za razliku od selekcije i dodavanja čvorova, obilazak stabla i brisanje elemenata (kao što smo već pominjali), nisu tipične operacije u AVL stablu, ali, ne mogu se ni "preskočiti" u implementaciji (jedna od onih zanimljivih situacija gde nešto čega ima ne primećujemo i ne treba nam, ali, kada ga ne bi bilo - baš tada bi nam nekim čudom zatrebalo).Međutim, obilasci stabla su veoma zanimljivi sami po sebi i vredni proučavanja. Iako u AVL stablima znače relativno malo, u drugim oblastima informatike (kao što je, recimo, prevođenje programskih jezika) znače mnogo, mnogo više i pružaju veoma zanimljive mogućnosti .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 14.11.2020.
IKONA_TEG
Težina: 8/10
java
avl_implementacija_3

Shunting Yard - Implementacija - 1. deo - Prevođenje izraza iz infiksnog u postfiksni zapis

Algoritam Shunting Yard predstavlja jedan od najznačajnijih algoritama u istoriji informatike (ako ne i najznačajniji). U pitanju je algoritam koji, u linearnom vremenu , izraz iz infiksne notacije prevodi u postfiksnu notaciju (takođe poznatu i pod nazivom Obrnuta poljska notacija), ili kreira apstraktno sintaksno stablo izraza.U dva nastavka, obradićemo varijantu algoritma koja koristi obrnutu poljsku notaciju. U prvom nastavku govorićemo o prevođenju notacija, a u drugom o računanju vrednosti izraza. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 10.11.2020.
IKONA_TEG
Težina: 8/10
c#
shunting_yard_implementacija_1

AVL Stablo - Implementacija - 2. deo - Pretraga

Moglo bi se reći da implementacija AVL stabla podrazumeva dve metode koje se koriste često (selekcija i dodavanje čvorova) i dve metode koje se koriste retko (obilazak stabla i brisanje čvorova). Naravno, ni druge dve metode nećemo izostaviti iz implementacije (pre svega, veoma su vredne proučavanja i svakako ćemo im posvetiti članke), ali, ovoga puta govorimo o najuobičajenijoj operaciji u AVL stablima - pronalaženju elemenata. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 07.11.2020.
IKONA_TEG
Težina: 7/10
java
avl_implementacija_2

AVL Stablo - Implementacija - 1. deo - Osnovna struktura

Posvetićemo mini-serijal članaka implementaciji samobalansirajućeg AVL stabla u programskom jeziku Java, procesu koji podrazumeva definisanje osnovne strukture čvorova i stabla (što će biti tema 1. članka) i implementaciju metoda za pretragu, obilazak (inorder, preorder i postorder), dodavanje čvorova i brisanje čvorova (čime ćemo se baviti u preostala četiri članka). Neophodin uslovi za razumevanje implementacije su: pre svega, dobro poznavanje osnova objektno orijentisanog programiranja i razumevanje AVL algoritma Ceo članak

godine_meni_dugme
trejler_sat
Datum: 01.11.2020.
IKONA_TEG
Težina: 7/10
java
avl_implementacija_1

Uvod u Javascript i DOM (Document Object Model)

JavaScript je izuzetno popularan programski jezik koji omogućava direktan uticaj na sadržaj internet stranica koje su otvorene u programu za pregled internet stranica. Iako deluje da se JavaScript povezuje sa HTML-om, nije zapravo tako. Struktura podataka sa kojom se JavaScript povezuje naziva se Document Object Model (DOM) i predstavlja stablo koje nastaje iz HTML koda. Ovakva struktra omogućava mogo efikasniji pristup elementima (i takoe, u stanju je da "ispegla" sitnije nedostatke u HTML kodu). Ceo članak

godine_meni_dugme
trejler_sat
Datum: 29.10.2020.
IKONA_TEG
Težina: 6/10
javascript
javascript_i_dom

Uvod u relacione baze podataka i SQL

Pokušaćemo na što jednostavniji način da objasnimo šta su relacione baze podataka i šta predstavljaju pojmovi kao što su tablea, slog, polje i upit. Relacione baze podataka koriste se u mnogim desktop i Android aplikacijama i naravno, na većini web sajtova. Teorija koja stoji iza baza podataka može delovati malo "suvoparno", ali, toplo preporučujemo mlađim programerima da o bazama podataka ne razmišljaju na ovim način, već kao o nečem što predstavlja jedan od "stubova" računarske pismenosti i što programere prati tokom celog radnog veka. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 26.10.2020.
IKONA_TEG
Težina: 8/10
sql
relacione_baze_podataka

Regularni izrazi - napredna pretraga teksta

Regularni izrazi su niske znakova koje omogućavaju naprednu pretragu teksta uz prepoznavanje obrazaca, olakšavaju uređivanje teksta, validaciju korisničkog unosa u programima i na web sajtovima. Prvi susret sa regularnim izrazima je, za većinu ljudi, pomalo čudno iskustvo koje nalikuje susretu sa pismom neke stare civilizacije, ali vredi se odupreti početnom čuđenju i posvetiti regularnim izrazima pažnju. Na primer, verujemo da ste do sada primetili da pretraga teksta u većini programa omogućava da prepoznate u tekstu neki konkretan datum, ili neki konkretan broj telefona, ali, ne i da uspostavite obrazac po kome se prepoznaju svi datumi u tekstu, ili svi brojevi telefona. Upravo to je ono čemu su regularni izrazi namenjeni, a takođe, kada savladate osnove i "zagazite malo dublje", uvidećete da su regularni izrazi dobro podržani u programskim jezicima i biće vam jasno da ćete moći da ih koristite i za validaciju korisničkog unosa u aplikacijama. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 23.10.2020.
IKONA_TEG
Težina: 8/10
regularni_izrazi

JSON - tekstualni format za predstavljanje objekata

JSON je najpopularniji format za prenos/razmenu složenih podataka koji se predstavljaju preko teksta.Najveću primenu ima u web programiranju (ali i u drugim oblastima) i takođe, veoma je dobro podržan u velikoj većini programskih jezika. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 22.07.2020.
IKONA_TEG
Težina: 6/10
java
json

Strukture podataka

Možda ne deluje tako "na prvu loptu" (jer su današnji računari brzi, opremljeni ogromnom količinom memorije i "svemogući"), ali danas, baš kao i pre šezdesetak godina (kada su strukture podataka kakve danas poznajemo počele da se pojavljuju i poprimaju današnji oblik), jako je bitno kako su podaci koji se koriste u programima formatirani.Strukture podataka predstavljaju upravo ono što i samo ime sugeriše - optimalan format za zapis podataka u različitim programima. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 20.03.2020.
IKONA_TEG
Težina: 8/10
c++
strukture_podataka

Pozicioni brojevni sistemi

Iako binarni brojevni sistem i dekadni deluju veoma različito, (i - iako to možda ne deluje tako na prvi pogled) među njima ima mnogo više sličnosti nego razlika.U oba slučaju, u pitanju su takozvani pozicioni brojevni sistemi - sistemi zapisa brojeva u kojima pozicija cifre određuje njenu pravu vrednost .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 20.03.2020.
IKONA_TEG
Težina: 5/10
pozicioni_brojevni_sistemi

Klase složenosti algoritama - (O notacija)

Verujemo da ste se do sada susreli sa objašnjenjem koje navodi da određeni algoritam ima efikasnost "O(n)" (ili neko drugo "O od ....").U pitanju je način da se složenost algoritma približno predstavi na način koji, iako ne opisuje pravu složemost algoritma, omogućava da shvatimo ponašanje algoritma u zavisnosti od veličine ulaznog podatka, kao i (makar približno) međusobno poređenje algoritama. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 20.03.2020.
IKONA_TEG
Težina: 6/10
klase_slozenosti_algoritama

Argumenti komandne linije

Pretpostavljamo da ste, ako bar neko vreme pišete programe u C++ - u, zapazili argumente argc i argv (koji se u većini razvojnih okruženja automatski pojavljuju pri kreiranju novog cpp dokumenta) i verujemo da ste zaključili da je u pitanju način da se programu predaju argumenti pri direktnom pozivanju preko komandne linije.U nastavku ćemo vam pokazati kako to možemo izvesti. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 20.03.2020.
IKONA_TEG
Težina: 7/10
c
argumenti_komandne_linije

Metode optimizacije algoritama

U uvodnom članku o algoritmima, govovorili smo o tome da je jedna od najvažnijih osobina algoritama efikasnost.Ovoga puta, ponudićemo vam "šematski" prikaz postupka kojim možemo algoritam bez prevelikih nedostataka učiniti znatno efikasnijim. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 04.03.2020.
IKONA_TEG
Težina: 7/10
c
optimizacija_algoritama

Uvod u objektno orijentisano programiranje

Objektno orijentisano programiranje postavlja (verovatno) najrasprostranjeniju paradigmu (metod rešavanja problema) u programiranju. U pitanju je tehnika koja podrazumeva rešavanje zadataka uvođenjem objekata, zasebnih celina programskog koda koje su određene svojim stanjem i ponašanjem.U pitanju je pristup koji nije primeren svakoj situaciji (pomalo nepotreban za većinu jednostavnih programa), ali, tamo gde je zapravo potreban - veoma dobro dođe. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 04.03.2020.
IKONA_TEG
Težina: 8/10
c#c++javapython
uvod_u_objektno_orijentisano_programiranje

Uvod u dinamičko programiranje

Rešavanje komplikovani(ji)h problema na računaru obično zahteva pravilno promišljanje i određene kompromise (da nije tako, navedeni problemi ne bi ni bili komplikovani).Ukoliko problem možemo "razbiti" na delove i pri tom pamtiti međurešenja uz povećano memorijsko zauzeće (kompromis), govorimo o dinamičkom programiranju. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 20.02.2020.
IKONA_TEG
Težina: 9/10
c
dinamicko_programiranje

Visinski balansirano (AVL) stablo

Ako ste pažljivo čitali članak o binarnoj pretrazi, shvatili ste da je u pitanju struktura podataka koja omogućava veoma efikasnu pretragu podataka.Ako ste još pažljivije čitali navedeni članak i razmišljali o pročitanom, mogli ste doći do zaključka da se efikasna pretraga preko binarnih stabala ostvaruje samo onda kada su stabla balansirana (onda kada bilo koje od dva podstabla bilo kog čvora ne "preteže" previše na svoju stranu) i takođe, mogli ste zaključiti da se navedeni balans (nažalost) može veoma lako narušiti.U članku o AVL stablima, opisaćemo postupke koji se preduzimaju zarad očuvanja balansa binarnog stabla pretrage. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 20.01.2020.
IKONA_TEG
Težina: 8/10
avl

Rad sa tekstualnim datotekama u programskom jeziku C

Pristup datotekama preko programskih jezika često zna da bude "bauk" za mlade programere koji se prvi put susreću sa tematikom, ali, ne mora biti tako.Tačno je da, na hardverskom nivou, pristup datotekama nije ni iz daleka banalna operacija, ali, upravo je to svrha programskih jezika višeg nivoa (u našem slučaju, to je C) - svođenje prilično komplikovanih hardverskih zahvata na jednostavne programske instrukcije. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 08.01.2020.
IKONA_TEG
Težina: 6/10
c
tekstualne_datoteke

Operacije sa bitovima u programskom jeziku C

Iako operacije sa pojedinačnim bitovima nisu nešto sa čime se programeri često susreću, u pitanju je tehnika koja omogućava veoma efikasno rešavanje određenih problema (u ponekim slučajevima, pristup pojedinačnim bitovima je i jedino moguće rešenje).Takođe, ukoliko želite da se bavite direktnim programiranjem hardvera, ovo je tema kojoj svakako morate posvetiti mnogo pažnje. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 08.01.2020.
IKONA_TEG
Težina: 8/10
c
bitovski_operatori

BFS i DFS - Pronalaženje putanje kroz lavirint

Kada bismo nekoj osobi poverili zadatak pronalaženja putanje kojom se izlazi iz lavirinta, rešenje bi obično potpalo pod jednu od dve sledeće kategorije: "evo izlaza" (u jednostavnim, očiglednim situacijama), ili, "nekako ćemo ga već pronaći" (u komplikovanijim situacijama).Računarski programi (naravno) koriste sasvim drugačiji pristup .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 04.12.2019.
IKONA_TEG
Težina: 6/10
bfs_i_dfs

Binarno stablo pretrage

Pre nego što pređemo na ozbiljnije teme, pozabavićemo se prvim "pravim" (ozbiljnim) algoritmom sa kojim se učenici obično susretnu - binarnom pretragom.U kolekcijama podataka (nizovima, listama ....) prosto pronalaženje podataka obično ne predstavlja problem, ali, efikasno pronalaženje podataka je ipak sasvim druga priča .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 04.12.2019.
IKONA_TEG
Težina: 7/10
binarno_stablo_pretrage

Zašto baš binarni brojevi?

Čuveno pitanje koje polaznici kurseva programiranja često (skoro uvek :)) postavljaju: zašto računari koriste binarne brojeve (ne bi li bilo jednostavnije da koriste dekadne, baš kao i mi ljudi)?!U nastavku sledi detaljnije objašnjenje .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 23.11.2019.
IKONA_TEG
Težina: 7/10
binarni_brojevi

Dijagrami toka - osnove

Dijagram toka predstavlja sistem grafičkih simbola kojima se prikazuje tok izvršavanja programa (pri čemu mnogi, pogotovo mlađi, polaznici kurseva programiranja poistovećuju pojmove algoritma i dijagrama toka, ali, to svakako treba izbegavati).U početku, dijagrami toka pomažu nam da uvidimo tri osnovna načina izvršavanja programa (linearnu strukturu koja podrazumeva prosto, uzastopno, izvršavanje instrukcija, grananja i petlje) .... Ceo članak

godine_meni_dugme
trejler_sat
Datum: 23.11.2019.
IKONA_TEG
Težina: 3/10
dijagrami_toka

Algoritmi - uopšteno

Problemi se na računarima ne mogu rešavati "bilo kako" (bar ne ukoliko želimo da budemo dobri/uspešni programeri), već moramo imati dobar i do detalja razrađen plan.Algoritam predstavlja upravo to: plan za rešavanje problema. U nastavku ćemo se upoznati sa najvažnijim odlikama računarskih algoritama. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 23.11.2019.
IKONA_TEG
Težina: 3/10
algoritmi

Šta je zapravo programiranje?

Naizged jednostavno (reklo bi se banalno) pitanje, ali, takvo da često ostaje bez odgovora (onda kada neko zapravo pokuša da da odgovor).Stoga ćemo krenuti od samog početka i odgovoriti na osnovno pitanje: šta je to što računari mogu da urade za nas i kako da im u tome pomognemo? Ceo članak

godine_meni_dugme
trejler_sat
Datum: 11.11.2019.
IKONA_TEG
Težina: 1/10
programiranje_uopsteno

Postfiksna notacija - kako računari računaju?

Rešavanje matematičkih izraza na računarima podrazumeva pristup koji je drugačiji od onog na koji ste navikli.Naime, infiksna notacija (standardna notacija kod koje se operatori pišu između operanada), nije (ni iz daleka) najbolji izbor za primenu u računarskim programima, već se za tu namenu koristi tzv. postfiksna (ili, obrnuta poljska) notacija. Ceo članak

godine_meni_dugme
trejler_sat
Datum: 11.11.2019.
IKONA_TEG
Težina: 8/10
postfiksna_notacija
Napomena: Tekstovi, slike, web aplikacije i svi ostali sadržaji na sajtu www.codeblog.rs (osim u slučajevima gde je drugačije navedeno) predstavljaju intelektualnu svojinu autora sajta www.codeblog.rs i zabranjeno je njihovo korišćenje na drugim sajtovima i štampanim medijima, kao i bilo kakvo drugo korišćenje u komercijalne svrhe, bez eksplicitnog pismenog odobrenja autora.
©2021. Sva prava zadržana.
Viber
početna Početna > Članci > Učionica

Popularni članci

AVL Stabla Kako napraviti web sajt - 1. deo - Početni koraci Fontovi u web dizajnu Postfiksna notacija Šta je zapravo programiranje? Klase složenosti algoritama - (O notacija) Strukture podataka Dinamičko programiranje Svi članci
So if you want to go fast, if you want to get done quickly, if you want your code to be easy to write, make it easy to read.
Robert C. Martin
codeBlog codeBlog
Projekat posvećen popularizaciji kulture i veštine programiranja među mladim programerima.
Napomena: Tekstovi i slike na sajtu www.codeblog.rs (osim u slučajevima, gde je drugačije navedeno) predstavljaju intelektualnu svojinu autora sajta www.codeblog.rs i zabranjeno je njihovo korišćenje na drugim sajtovima i štampanim medijima, kao i bilo kakvo drugo korišćenje u komercijalne svrhe, bez eksplicitnog odobrenja autora.
© 2021. Sva prava zadržana.
Facebook - logo
Instagram - logo
LinkedIn - logo
Twitter - logo
E-mail
Naslovna
   •
Uslovi korišćenja
   •
Obaveštenja
   •
FAQ
   •
Kontakt