Uvod u Fetch API
Teorija i mini-tutorijal za izradu sajta koji koristi Fetch API (koji u idejnom smislu možemo shvatiti kao svojevrsnu kombinaciju AJAX-a i promisa).
Asinhrono programiranje u JavaScriptu
Pregled tehnika koje se (pod određenim okolnostima) mogu koristiti za asinhrono izvršavanje koda u JavaScript-u (tako da pomenuta obrada ne “koči” izvršavanje skripte).
Uvod u AJAX (Asynchronous JavaScript And XML)
Skup tehnika koje omogućavaju komunikaciju između klijenta i servera između dva učitavanja stranice (uz uticaj na samo određene elemente, bez osvežavanja cele stranice).
Uvod u Node.js
Izuzetno popularno radno okruženje za pisanje backend aplikacija, iza koga stoji endžin V8 (JS interpretator iz Google Chrome-a), povezan sa ulazno-izlaznim mogućnostima operativnog sistema na kome je instaliran.
JSON Web Token (JWT) - Struktura i primena u oblasti autorizacije web aplikacija
Jedno od najpopularnijih i najčešće korišćenih rešenja za čuvanje podataka za autorizaciju korisnika u računarskim sistemima (bez direktnog skladištenja lozinke i drugih osetljivih podataka).
JavaScript ES6 sintaksa
Novine koje je donela revizija jezika iz 2015. godine, ECMAScript 6 (const, let, arrow funkcije, šablonske niske, moduli, klase .…)
Callback funkcije i lambda izrazi
Detaljan osvrt na koncept predavanja jedne funkciji drugoj u svojstvu argumenta, najčešće uz koršćenje tzv. 'lambda izraza' (usput pravimo i osvrt na delegate u C#-u i interfejse u Javi).
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 (i šta treba, a šta ne treba od nas da "skrivaju") .....
Šablonske niske u programskim jezicima
Prikaz mehanizama za spajanje niski sa vrednostima promenljivih preko operatora, funkcija i template literal sintakse (u nekoliko programskih jezika).
Uvod u Python
Verovatno najpopularniji skriptni jezik današnjice, sa jednostavnom sintaksom i većinom odlika ozbiljnih OOP jezika (vrlo popularan za pisanje skripti za automatizaciju, kao i u oblasti mašinskog učenja).
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 pojava pretprocesora za CSS i (na kraju) imenovanih svojstava, bila krajnje dobrodošla .…
Lokalno skladištenje podataka browsera (sessionStorage, localStorage, cookies)
Osvrt na lokalna skladišta podataka koje sajtovi mogu koristiti preko JavaScript-a, ili preko backend jezika.
PHP - Direktno prosleđivanje podataka između stranica ($_SESSION)
Protokol za proizvoljno prosleđivanje podataka između različitih stranica istog sajta.
PHP - Povezivanje skripti sa MySql bazama podataka
Povezivanje PHP skripti sa bazama podataka, jedna od najvažnijih tema vezanih za ovaj jezik (naravno, isto važi i za druge backend jezike).
PHP - Prosleđivanje podataka preko HTML forme ($_POST)
Protokol za prosleđivanje zaštićenih podataka između dve stranice uz korišćenje HTML formulara.
PHP - Prosleđivanje podataka preko URL-a ($_GET)
Najjednostavniji protokol za prosleđvanje podataka između dve stranice.
Uvod u PHP i backend programiranje
U većini situacija, PHP je prvi skriptni serverski jezik sa kojim se web developeri upoznaju, pošto su savladali osnove web dizajna i tri osnovna internet jezika (HTML, CSS i JavaScript).
Izuzeci u programiranju
Mehanizam koji omogućava da se pravilno odreaguje na nepravilnosti u korisničkom unosu podataka (kao i na druge nepredviđene okolnosti u toku izvršavanja programa).
Operacije sa nizovima u programskom jeziku JavaScript
Kratak osvrt na implementaciju nizova u JavaScript-u, koja je "ispod haube" relativno kompleksna, ali u praksi sasvim funkcionalna i prilično elegantna.
AVL Stablo - Implementacija - 5. deo - Uklanjanje čvorova
U poslednjem nastavku mini-serijala o implementaciji AVL stabala, bavimo se najkompleksnijom operacijom u AVL stablima - uklanjanjem čvorova.
Binarna stabla i algebarski izrazi (stablo izraza)
Detljna diskusija o načinu predstavljanja algebarskih izraza preko stabla (uz osvrt na to, da se sličan pristup koristi i u prevođenju računarskih jezika).
AVL Stablo - Implementacija - 4. deo - Dodavanje čvorova
U četvrtom nastavku mini-serijala o implementaciji AVL stabala, bavimo se jednom od dve najuobičajenije operacije u AVL stablima - dodavanjem čvorova.
Shunting Yard - Implementacija - 2. deo - Računanje vrednosti postfiksnog izraza
U drugom delu, bavimo se računanjem vrednosti izraza (što je operacija koja sledi posle prevođenja izraza iz infiksne notacije, i takođe se obavlja u jednom prolasku).
AVL Stablo - Implementacija - 3. deo - Obilazak stabla
Tema trećeg nastavka mini-serijala o implementaciji AVL stabala, su različite metode obilaska stabla pretrage.
Shunting Yard - Implementacija - 1. deo - Prevođenje izraza iz infiksnog zapisa u postfiksni
Jedan od nekoliko najznačajnijih algoritama u istoriji informatike, čija je svrha pretvaranje infiksnih izraza u postfiksne i računanje vrednosti (u prvom delu, bavićemo se prevođenjem notacije).
AVL Stablo - Implementacija - 2. deo - Pretraga
U drugom nastavku mini-serijala o implementaciji AVL stabala, govorimo o pronalaženju elemenata.
AVL Stablo - Implementacija - 1. deo - Osnovna struktura
Uvodni članak mini-serijala o implementaciji visinski balansiranog AVL stabla u programskom jeziku Java (za početak, bavimo se osnovnom strukturom čvorova i stabla).
Uvod u JavaScript i DOM (Document Object Model)
Izuzetno popularan programski jezik koji omogućava direktan uticaj na sadržaj internet stranica u browseru (uz direktan pristup specijalizovanoj DOM strukturi).
Uvod u relacione baze podataka i SQL
Detaljan uvod u relacione baze podataka (tabele, polja, slogovi, ključevi, relacije ....) i SQL sintaksu (kroz MySql).
Regularni izrazi - napredna pretraga teksta
Pretraga obrazaca u tekstu uz pomoć posebno formatiranih niski (i sve blagodeti koje takav pristup donosi).
JSON - tekstualni format za razmenu podataka
Najpopularniji tekstualni format za prenos i razmenu složenih podataka (uz primere pretvaranja objekata iz OOP jezika u JSON objekte).
Strukture podataka
Osvrt na različite formate zapisa složenih podataka u računarskoj memoriji i njihov značaj u rešavanju problema u računarskim sistemima.
Pozicioni brojevni sistemi
Prikaz opštih pravila za zapis brojeva, uz poseban osvrt na binarni, dekadni i heksadekadni brojevni sistem.
Klase složenosti algoritama (O notacija)
Klasifikacija algoritama shodno vremenu potrebnom za izvršavanje instrukcija i memorijskom zauzeću.
Argumenti komandne linije
Odgovor na pitanje čemu služe argumenti argc i argv (u funkciji main) i diskusija o tome šta se sve može uraditi sa podacima koji se programu proslede pri pokretanju.
Metode optimizacije algoritama
Šematski prikaz postupaka preko kojih algoritme možemo učiniti efikasnijim.
Uvod u objektno orijentisano programiranje
Najrasprostranjeniji metod rešavanja problema u programiranju i nezaobilazan deo osnovne računarske pismenosti za sve programere
Uvod u dinamičko programiranje
Postupak za rešavanje problema uz podelu na potprobleme i pamćenje međurešenja (prikazan kroz najpopularniji DP algoritam).
Visinski balansirano (AVL) stablo
Detaljan osvrt na postupak kreiranja visinski balansiranog binarno stabla pretrage (jer pravilno strukturirana binarna stabla koja omogućavaju efikasnu pretragu – ne nastaju ‘sama od sebe’).
Operacije sa tekstualnim datotekama u programskim jezicima C i Python
Pristup datotekama često je "bauk" za mlade programere koji se prvi put susreću sa tematikom, ali, uz upotrebu elegantnih mehanizama koje nude programski jezici visokog nivoa, ne mora biti tako.
Operacije sa bitovima u programskom jeziku C
Pristup pojedinačnim bitovima omogućava efikasno rešavanje mnogih računarksih problema (pogotovo kada je u pitanju sistemsko programiranje niskog nivoa).
BFS i DFS - Pronalaženje putanje kroz lavirint
"Izlazak iz lavirinta", uz korišćenje dva poznata algoritma za obilazak struktura podataka.
Binarno stablo pretrage
Postupak za pretraživanja većih (uređenih) kolekcija podataka.
Zašto baš binarni brojevi?
Odgovor na verovatno najčuvenije pitanje koje polaznici kurseva programiranja postavljaju na samom početku.
Dijagrami toka - osnove
Sistem grafičkih simbola preko kojih se prikazuje tok izvršavanja programa (linearna struktura, grananja i petlje).
Algoritmi - uopšteno
Osvrt na najvažnije odlike algoritama (jer se problemi na računarima ne mogu rešavati "bilo kako", bar ne ukoliko želimo da budemo dobri i uspešni programeri).
Šta je zapravo programiranje?
Krenućemo od samog početka i odgovoriti na naizgled jednostavno pitanje: šta je to što računari zapravo rade za nas i kako da im pomognemo da taj posao obave što bolje?
Postfiksna notacija - kako računari računaju?
Postupak za rešavanje matematičkih izraza na računarima uz korišćenje tzv. postfiksne notacije (znatno efikasniji od uobičajenog postupka tumačenja izraza koji ljudi svakodnevno kotiste).