Dependency injection u Nest.js

Šta je Dependency Injection (DI)? Dependency Injection (DI) je softverski obrazac dizajna koji omogućava razdvajanje zavisnosti objekata i njihove inicijalizacije. U kontekstu Nest.js, DI omogućava lakše upravljanje zavisnostima, smanjujući međusobnu povezanost klasa i povećavajući modularnost i testabilnost aplikacije. DI je softerski obrazac koji nije vezan samo za nest.js ili node.js već se koristi i u … Read more

Validacija podataka u NestJS-u korišćenjem „Pipe“

Uvodu u Nest.js „Pipe“ Pipes u NestJS-u su specijalne komponente koje se koriste za transformaciju i validaciju podataka pre nego što stignu do kontrolera ili metoda kontrolera. Pipes su korisni kada želimo da osiguramo da podaci koje primamo u API zahtevima ispunjavaju određene uslove ili da se na specifičan način transformišu. Nest.js dolazi sa ugrađenim … Read more

Nest.js kontroleri

Šta su kontroleri? Kontroleri u Nest.js su klasične TypeScript klase koje su dekorisane @Controller() dekoratorom. U ovakvim klasama se definišu metode koji odgovaraju HTTP operacijama kao što su GET, POST, PUT, DELETE, gde je svaki metod u okviru kontrolera dekorisan odgovarajućim HTTP dekoratorom. Primer jednostavnog kontrolera:

U ovom primeru @Controller('users') dekorator definiše osnovnu rutu … Read more

Uvod u Nest.js

Šta je Nest.js? Nest.js je Node.js framework za izradu server-side aplikacija. Koristi modularnu arhitekturu što podrazumeva da se aplikacija deli na module, gde svaki modul grupiše povezane funkcionalnost, tako da se lako mogu dodati nove funkcionalnosti bez narušavanja postojećih delova aplikacije. Nest.js korisi TypeScript jezik (mada se može koristiti i JavaScript), uz korišćenje dekoratora (dekoratori … Read more

Node starter projekat (TypeScript + Docker)

Kostur projekta Pretpostavićemo da će projekat imati više manjih projekata tj. kontejnera, npr. deo za mikroservise, deo za rad sa bazom… Te je dobro da se u root-u projekta naprave podfolderi za svaki manji projekat npr.:

Kreiranje package.json Prvo ćemo kreirati package.json fajl u root folderu projekta. Ovaj fajl će sadržati sve potrebne informacije … Read more

Promenjive okruženja = ENV variable

Šta su promenjive okruženja Promenljive okruženja (eng. „Environment Variables„) koriste se na različitim mestima u razvoju softvera i IT infrastrukturi, kao npr. kod: operativnih sistema („PATH“ promenjiva koja definiše direktorijume u kojima operativni sitem traži izvršne fajlove), razvoja softvera (promenljive za čuvanje konfiguracionih parametara kao što su API ključevi, baze podataka, URL-ovi..), bezbednost (za čuvanje … Read more

Node.js Streams

Šta su Streams u Node.js? Streams omogućava efikasniju obradu velikih količina podataka, i može se posmatrati kao neka „reka“ podataka. Streams „čuva“ memoriju jer obradom podataka u komadićima rad s velikim količinama podataka ne zauzimanja velike količine memorije odjednom. Streams brzo obradjuje podatake, jer se podaci mogu obraditi čim prvi komad stigne, bez čekanja na … Read more

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 … Read more

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 … Read more

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 … Read more