
Kategorija: BACK END DEVELOPMENT


Umetanje zavisnosti (Dependency Injection) pomoću Dagger 2
U ovom tekstu govoriću o umetanju zavisnosti (Dependecy Injection), šta je zavisnost, šta je umetanje, šta se događa kada ga koristimo, šta se događa kada ga ne koristimo, zašto je neophodno i na kraju, kako da ga uz pomoć Dagger 2 koristimo u našim Android projektima.

Od monolita preko Self-contained sistema do mikroservisa
Monoliths
Većina projekata počinje kao monolit. Ovako je bilo i u mom slučaju dok sam radio na aplikaciji za krajnjeg korisnika ispunjavajući zahteve velikog telekomunikacionog provajdera iz Holandije. Ideja je bila da imamo odvojenu aplikaciju gde ćemo pružiti pristup REST API servisima za klijentsku stranu napravljenu u Angular 1 framework-u. Ova aplikacija koju smo nazvali consumer-services je služila kao most između CRM-a i SOAP web servisa i klijentske aplikacije. Bez poznavanja jasnih granica našeg domena i opsega do koga će rasti počeli smo sa razvojem REST servisa koristeći ovaj pristup. Stvari su izgledale obećavajuće.
Onda, šta je to monolit?

RAZUMETI GIT: Praveći ga od nule
Ovaj članak podrazumeva osnovno razumevanje Git-a, ako ste se ikad pitali kako Git radi, i još važnije, zašto je sve tako komplikovano.
Da bi bolje razumeli Git, možemo zamisliti sledeći misaoni eksperiment. Pretpostavimo da su Alisa, Bob i Čarli tri posvećena i vredna developera, ali da se jednog posebno baksuznog dana njihov Centralizovani Verzioni Sistem (CVS) pokvario. Sada, pošto su svo troje izuzetno uporni, oni nastavljaju sa radom i dostavljaju svoje izmene klijentu. Na kraju dana, kada svo troje imaju veliki broj izmena, njima treba neki način da spoje svoje izmene.

Kako smo ukrotili HBase?
Pre nešto više od godinu dana postala sam deo Ibis Instruments Big Data tima u ulozi Big Data softverskog inženjera. Ibis Instruments se već značajno vreme bavi oblasti Big Data i u proteklih nekoliko godina uspeli smo da razvijemo sopstveno Big Data rešenje Ibis Performance Insights, iPi. Do sada smo razvili nekoliko iPi Big Data okruženja i kao što to obično biva u developerskom svetu, tokom svakog smo nailazili na različite izazove i prepreke. Stoga sam odlučila da sa vama podelim jedno od naših najznačajnih iskustava koje se tiče HBase-a i njegovog uticaja na jedno od naših najvećih i najznačajnijih Big Data okruženja. Međutim, pre nego što dublje uronimo u tematiku ovog posta, važno je da vas na kratko upoznam sa arhitekturom iPi-ja.

Uvod u debagovanje
Možda se čini kao kliše, ali kad Vikipedija ima savršenu definiciju debagovanja, stvarno nema smisla izmišljati toplu vodu – Debagovanje je proces pronalaženja i rešavanja bagova ili nedostataka koji sprečavaju ispravno izvršavanje računarskog softvera ili sistema.
Sam pojam debagovanje je nastao 1940-ih kada se moljac zaglavio u releju Mark II kompjutera na Harvardu dok je admiral Grejs Hoper radila na njemu.
Prvi kompjuterski bag je stvarno bio buba (eng. bug).

Kako automatski testovi menjaju pojam kvaliteta softvera
Kada radite na velikim projektima sa javnom upravom i državnim institucijama, na jedno sigurno možete da računate: ono što je definisano na početku projekta podleže malim mogućnostima promene. Pod time se podrazumeva budžet koji je na raspolaganju, vreme u kome je neophodno završiti projekat i broj definisanih funkcionalnosti. Da biste sa predviđenim parametrima mogli uspešno da završite projekat, potrebno je da razvijete dobar plan od samog početka.

Šta je to .NET Standard?
Uvod
Kada je .NET Framework objavljen pre 16. godina, služio je kao jedinstvena platforma za razvoj Windows desktop i Web aplikacija. Ubrzo zatim, objavljen je .NET Compact Framework, koji je predstavljao podskup .NET Framework-a i koji je vise odgovarao manjim uredjajima i mobilnim telefonima koji su na sebi imali Windows Mobile operativni sistem. Ideja je bila da se iz .NET Framework-a izdvoji posebna vertikala koja je u sebi uključivala: runtime, framework i aplikacioni model(App Model). Nakon toga, Microsoft je par puta ponovio istu formulu, napravio je jos par podskupova: Silverlight, Windows Phone i Windows Store. To je dovelo do fragmentacije, jer .NET platforma vise nije jedan entitet, vec set platformi koje su u vlasnistvu različitih timova i koje se posebno održavaju.

Behaviour-Driven Development sa JGiven
Zašto bi trebalo da pišemo testove?
Mnogi mladi i manje iskusni programeri misle da je pisanje testova gubljenje vremena i da predstavlja nepotreban posao. Ali svako ko ima iskustva sa velikim/dugoročnim projektima sigurno nema isto mišljenje. Prvo, sa testom se možete osigurati da vaš kod radi kako je i očekivano sa zadatim ulaznim informacijama, kao drugo, svaka sledeća promena u kodu će biti lakša i bezbednija. Testovi upozoravaju programera da li je došlo do sloma funkcionalnosti.

Mikroservisi u .NET Core
Nedavno se u TNation-u pojavio projekat za razvoj softvera za veliki svetski lanac prodavnica nameštaja. Imali smo mogućnost da sami izaberemo tehnologije i arhitekturu koji će biti korišćeni na back end-u. Nakon detaljnog čitanja dokumentacije, iskustava drugih programera i tutorijala na internetu, na kraju smo se odlučili da softver razvijemo u mikroservisnoj arhitekturi na .NET Core 2.0 platformi. Aplikacija je hostovana na Amazonovim web servisima uz korišćenje Docker kontejnera. Tim koji je radio na back end-u je bio oduševljen izborom arhitekturalnog rešenja i savremenih tehnologija, pa smo odlučili da u ovom blogu opišemo i objasnimo prednosti koje savremene tehnologije donose u odnosu na tradicionalna rešenja.