webprogramiranje.org

Node.js Streams

Šta su Streams u Node.js? Streams u Node.js su poput reka podataka koje teku u komadićima, omogućavajući efikasniju obradu velikih količina podataka. Razmotrimo detaljnije njihove prednosti i vrste. Prednosti Streams Čuva memoriju: Obradom podataka u komadićima, streams omogućavaju rad s velikim količinama podataka bez zauzimanja velike količine memorije odjednom. Brže obrade podataka: Podaci se mogu …

webprogramiranje.org

Node.js File system

Uvod Razumevanje file sistema u Node.js ključno je za razvoj aplikacija koje zahtevaju čitanje, pisanje i manipulaciju fajlovima. Node.js nudi
fs modul, koji omogućava sinhrono i asinhrono upravljanje fajlovima. Ovaj članak detaljno objašnjava kako koristiti
fs modul u Node.js.
fs modul je deo Node.js API-ja koji omogućava rad sa fajl sistemom. Modul se može učitati …

webprogramiranje.org

Binarni sistem

Uvod Binarni sistem je osnova za rad računara i digitalne elektronike i predstavlja sistem koji koristi samo dve cifre: 0 i 1. Svaka cifra u binarnom broju se naziva “bit” , a osam bitova predstavlja “bajt” Svaki bit u binarnom broju predstavlja neki stepen broja dva. Ako imamo binarni broj od četri cifre, onda skroz …

webprogramiranje.org

Node.js Buffers

Šta su Baferi (eng. Buffers)? Kada radimo s podacima koji se prenose preko mreže ili kada čitamo i pišemo datoteke na disku, često se susrećemo sa podacima koji nisu odmah dostupni u celosti. Bufferi su privremena skladišta za podatke dok se oni premeštaju iz jednog mesta u drugo. Bufferi omogućavaju da se ovi podaci akumuliraju …

webprogramiranje.org

Node.js – EventEmitter

Razumevanje EventEmitter-a u Node.js Node.js je popularna platforma koja omogućava izgradnju skalabilnih aplikacija kroz asinhroni, događajno vođeni pristup. Jedan od ključnih mehanizama koji omogućava ovaj pristup jeste EventEmitter. Da bismo razumeli njegovu važnost i funkcionalnost, zamislimo EventEmitter kao središte za komunikaciju unutar Node.js aplikacije, gde se događaji šalju, primaju i obrađuju. Šta je EventEmitter? EventEmitter …

webprogramiranje.org

Node.js – Globalni objekat i Moduli

Globalni Objekat U Node.js-u, globalni objekat služi kao kontejner za sve globalne varijable koje su dostupne u svim modulima vaše aplikacije. Slično objektu window u pregledačima, globalni objekat u Node.js-u omogućava pristup različitim globalnim funkcijama i varijablama, poput console, setTimeout, i clearTimeout. Da bi se pristupilo globalnom objektu, možete koristiti ključnu reč
global. Moduli Moduli …

webprogramiranje.org

Objektno orjentisano programiranje

Šta je objektno orjentisano programiranje? Objektno orjentisano programiranje ili skraćeno “OOP” je način organizovanja koda oko manjih celina pod nazivom “objekat”. Objektno orjentisano programiranje pomaže u strukturiranju koda u razumljive i samostalne jedinice koje se mogu lako ponovno koristiti u različitim delovima programa. Primenom objektno orjentisanog programiranja se dobija pregledniji i razumljiviji programski kod koji …

webprogramiranje.org

Šta je “Dependency Injection”?

Šta su zavisnosti (eng. dependency)? U programiranju, “zavisnost” predstavlja odnos između različitih komponenti u softverskom sistemu. Smatra se da kada jedna komponenta koristi ili zavisi od druge komponente, da tada postoji zavisnost između njih. Zavisnost može biti u mnogo oblika, a osnovni tipovi zavisnosti uključuju: Zavisnost od Klase (Class Dependency) se odnosi na situaciju kada …

webprogramiranje.org

Šta je SCRUM?

Šta je “SCRUM”? Scrum je agilna metodologija upravljanja projektima koja se često koristi u softverskom razvoju, ali se može primeniti i u drugim oblastima. Osnovna ideja Scrum-a je da omogući timovima da fleksibilno i efikasno rade na projektima koji se brzo menjaju. Scrum je kao skup pravila i način rada koji pomaže pri radu na …

webprogramiranje.org

Šta je Socket?

Socket “Socket” predstavlja krajnju tačku za slanje ili primanje podataka u mreži. Drugim rečima, to je interfejs između aplikacije i mrežne komunikacije na operativnom sistemu. Kroz sokete, aplikacije mogu komunicirati međusobno preko mreže. Soketi su osnova za mnoge mrežne aplikacije i usluge, uključujući veb pretraživače, e-mail klijente, chat aplikacije i mnoge druge. Oni omogućavaju komunikaciju …

webprogramiranje.org

Šta je Vue.js?

Šta je Vue.js? Vue.js se izgovara /vjuː/, slično kao engleska reč view, a u oficijelnoj dokumentaciji kažu za njega da je progresivni JavaScript framework za izradu korisničkog interfejsa. “Progressive framework for building user interfaces”. Dokumentacija Vue.js Vue.js se smatra da je jedan od najjednostavnijih JavaScript framework-a, koji je veoma brz, ima malu veličinu i veoma …

webprogramiranje.org

HTML tagovi za grupisanje sadržaja

Koji su tagovi za grupisanje sadržaja? Često je potrebno grupisati delove sadržaja strane da bi mogao da se razlikuje od drugih delova (npr. meni, sadržaj, artikal…) i da bi mogli da mu definišemo specifičnu veličinu kao i poziciju na stranici kroz CSS. Grupisanje se jednostavno vrši tako što se u sadržaj smešta u okviru odgovarajućeg …

webprogramiranje.org

Osnovni HTML tagovi

Tag za naslove <h1> do <h6> Unutar ovih tagova se stavljaju nazivi naslova. Najveći (najglavniji) naslov se obeležava sa <h1>  dok se najmanji naslov obeležava sa <h6> tagom. See the Pen Naslovi u html-u by Web programiranje (@chos) on CodePen. Paragraf  tag<p> Ovaj tag se koristi da smestimo unutar njega obični tekst koji je standardne veličine i …

webprogramiranje.org

Uvod u osnove HTML-a

Šta je HTML? HTML (Hypertext Markup Language)  je deskriptivni jezik za označavanje specifičnih delova sadržaja web stranice (tzv. markup jezik). Ko koristi ove oznake sadržaja? Ove oznake sadržaja koriste browseri, jer tek kad “vide” odgovarajuću html oznaku oni znaju koji je tip sadržaja u pitanju (da li je slika ili tekst…) i šta treba da urade …

webprogramiranje.org

Git submodul

Šta su git submoduli? Submoduli su projekti (najčešće neke biblioteke) koji su ubačeni u neki drugi projekat, nakon čega su u tom tzv. “glavnom” projektu dostupni svi fajlovi submodula. Git subdmoduli nam omogućavaju da koristimo dva ili više repozitorijuma kao da su jedno. Svaki repozitorijum održava svoju zasebnu istoriju promena pa se čak subdmoduli ažuriraju …

webprogramiranje.org

Kreiranje servera sa Node.js

Kreiranje server objekta Za kreiranje servera je potreban http/https objekat koji je ugradjen u core node.js-a te ga možemo importovati kao modul. Postoje dve opcije modula: http – Http je jedan od ugrađenih modula koji dolazi sa Node.js i omogućava kreiranje servera za prihvatanje zahteva od klijenta i vraćanje odgovora https – Https modul uključuje …

webprogramiranje.org

Uvod u Node.js

Šta je node.js? JavaScript je programski jezik koji ne može da se samostalno koristi već je za njegovo izvršavanje potrebno specijalno okruženje tzv. “JavaScript runtime environment”. Najpoznatiji “JavaScript runtime environment” je browser, ali ukoliko želimo da izvršavamo JavaScript i van browser-a tu na scenu nastupa node.js kao drugi “JavaScript runtime environment”. Node.js je open-source, cross-platform …

webprogramiranje.org

Rad sa SQLite bazom u Androidu uz pomoć Room bibiloteke

Uvod Room je bibloteka preporučena od strane Google-a kao jedna od komponenti tzv. “Android Architecture Components” pristupa. Room je wrapper oko SQLite baze i predstavlja sloj apstrakcije koji olakšava rad sa bazom podataka. Room bibilioteka preuzima na sebe većinu obaveza tako da sada lakše kreiramo tabele i upravljamo podacima. Room ima tzv. compile-time checks tj. …

webprogramiranje.org

Rad sa SQLite bazom u Androidu (bez pomoćnih biblioteka)

Contract klasa Contract klasa ima samo ulogu da bude kontejner za konstante koje definišu imena za URI-je, tabele i kolone. Ova klasa nam omogućava upotrebu istih konstanti u svim ostalim klasama, što nam dosta olakšava posao u radu sa bazom podataka jer omogućava da na jednom mestu menjamo ime kolone ili slično. 1) Kreirnje klase …

webprogramiranje.org

SQL osnovne naredbe (upiti)

Uvod SQL (Structured Query Language) je jezik koji se koristi pri upravljanju relacionim bazama. Ovaj jezik je dizajniran da korisniku omogući čuvanje, pronalaženje, upravljanje ili manipulisanje podacima unutar sistema za upravljanje bazama podataka (DBMS). U ovome članku će biti reči o naredbama koje su sastavni deo SQL jezika a koji se koristi za rad sa …

webprogramiranje.org

Sistemi za upravljanje SQL bazama (DBMS)

Uvod Pre svega treba napraviti razliku izmedju pojmova: “baza podataka”, “sistem za upravljanje bazama podataka” (tzv.DBMS “Database Management System”) i samog “SQL jezika”. “Relacijska baza podataka” je digitalna baza podataka na osnovu relacijskog modela podataka i predstavlja skup povezanih podataka koji zamenjuju neki aspekt stvarnog sveta. “Relaciski sistem za upravljanje bazama podataka” (RDBMS) je softver …

webprogramiranje.org

LiveData & MVVM

LiveData klase LiveData

public abstract class LiveData extends Object

1

public abstract class LiveData extends Object

LiveData je apstraktna klasa tzv. observable data holder zadužen da čuva informacije o podacima i da obavesti sve zainteresovane posmatrače ako dodje do promena. LiveData is actually just an Abstract Class. So it can’t be used as itself. Najvažnija karakteristika LiveData je ta što je svestan životnog ciklusa drugih komponenti aplikacije …

webprogramiranje.org

Uvod u MVVM arhitekturu

MVVM pattern MVVM (Model-View-ViewModel) je patern koji razdvaja aplikaciju na više komponenti tako da svaka komponenta ima svoje specifične odgovornosti. Pri korišćenju MVVM paterna “kod” aplikacije je razdvojen na tri dela: View, ViewModel i Model, ova arhitektura je preporučena od strane Google-a kao jedan od najboljih načina strukture koda Android aplikacija. Osnovne karakteristike ovog pristupa …

webprogramiranje.org

Popunjavanje ViewPager-a koristeći PagerAdapter

Šta je ViewPager? ViewPager je Layout Manager koji omogućava korisniku da se kreće kroz stranice podataka pokretima na levo ili desno, dok se pri promeni stranica izvršava i ugradjena animacija. Najčešće su te strane sa podacima su fragmenti, mada mogu da budu i nešto drugo kao npr. slike koje se slajduju… ViewPager se popunjava podacima …

webprogramiranje.org

Adapter za RecyclerView

Uvod Adapter je most između izvora podataka (Array objekat, List objekat…) i korisničkog interfejsa. Uloga adapter objekta (implementira Adapter interfejs) je da čita podatke iz različitih izvora podataka, i na osnovu njih popunjava View objekte članove nekog ViewGroup-a. Do sada smo koristili ListView ali preporuka je da se umesto listView-a koristi RecyclerView, a naručito kada …

webprogramiranje.org

Custom ArrayAdapter u Androidu

Uvod U osnovnoj verziji adaptera se koristi samo jedan String podatak koji se smešta u neki od predefinisanih android layouta sa jednim TextView-om. Custom adapter se razlikuje od “običnog” po tome što je kod njega jedan element liste predstavljen sa više podataka te je potrebno definisati “složeniji layout” koji bi prihvatio i prikazao te podatke. …

webprogramiranje.org

ArrayAdapter (osnovni android adapter)

Uvod Adapter je most između izvora podataka (Array objekat, List objekat…) i korisničkog interfejsa. Uloga adapter objekta (implementira Adapter interfejs) je da čita podatke iz različitih izvora podataka, i na osnovu njih popunjava View objekte članove nekog ViewGroup-a. ViewGroup: ListView, RecyclerView, GridView, Spinner, Gallery čiji sadržaj se popunjava korišćenjem adaptera se nazivaju zajedničkim imenom “AdapterView”. …

webprogramiranje.org

Konvertovanje XML resursa u View objekat (“Layout Inflating”)

Uvod “Layout inflation” je termin koji označava postupak sa kojim se XML resurs parsira i konvertuje u View objekat. Aktivnost ima svoju metodu setContentView() sa kojom inflate-uje svoj root view: Primer

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.neki_view);
}

12345

@Overridepublic void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.neki_view);}

Ali konvertovanje drugih layout-a u View objekt (čime omogućavamo da elementi layout-a budu dostupni u kodu aktivnosti) možemo da uradimo na sledeće načine: …

webprogramiranje.org

Fragment u okviru androida

Uvod Fragment je modularni deo aktivnosti, koji ima svoj životni ciklus, prima sopstvene ulazne događaje, možete ga dodati ili ukloniti dok se aktivnost pokreće. Fragment objedinje View i logiku tako da se može jednostavno višekratno koristiti unutar jedne ili više različitih aktivnosti. U aktivnostima može biti više od jednog fragmenta tako da svaki fragment može …

webprogramiranje.org

Kreiranje custom listenera u Androidu (listener pattern)

Uvod “Listener pattern” je jedan od najčešće korišćenih paterna koji se koriste pri razvoju aplikacijja. Princip rada se zasniva na tome da u jednoj klasi definišemo dogadjaj i trenutak kada se započinje izvršavanje dogadjaja (“okida dogadjaj”), dok u drugoj klasi definišemo objekat (tzv. listener objekat) koji osluškuje taj dogadjaj i reaguje na njega. Postoji priličan …