Blog

Blog je mesto gde možeš da čitaš o navikama IT-evaca, najavama IT dešavanja, aktuelnostima na tržištu, savetima i cakama kako da uspeš na ovom dinamičnom polju.
Mi pratimo trendove, na tebi je da se zavališ u fotelju i čitaš :)

Blog Maven
Tag: Maven (4 rezultata)
04.05.2023. ·
4 min

Naš prvi Open Source projekat - IPS QR Code Generator

Biti "na klupi" nije najsrećnija stvar koja može da se desi jednom developeru, ali ako ćemo iskreno - to nije nešto što možemo da izbegnemo u ovom našem poslu. Meni je lično baš teško padalo “dangubljenje” tako da sam prihvatio predlog Java Division Lead-a u Ingu da tokom down-time perioda uradim nešto korisno i to ne samo za sebe ili za firmu, već i za širu IT zajednicu.   Složili smo se da krenem da radim na Open Source - kodu koji je dostupan svima onima koji žele da ga koriste, besplatno i slobodno, u bilo koje svrhe, uključujući i komercijalne. Za ilustraciju, najpoznatiji primeri Open Source sistema su npr. Mozzila Firefox, Wordpress i Linux OS koje koriste i svakodnevno unapređuju milioni ljudi širom sveta (čak sam negde pronašao podatak da 85% svih softvera na svetu koristi neku open source komponentu).  Činjenica je da ovaj naš posao ne bi bio moguć bez OSS projekata koje koristimo u svakodnevnom radu, pa je red bio da kao kompanija malo i vratimo zajednici.  Nakon kraćeg istraživanja, shvatili smo da želimo da napravimo IPS (Instant Payments Serbia) QR Code Generator - sigurno svi koristite mobilne bankarske aplikacije pa znate da je to ona crno bela kockica koja kad se skenira popuni celu uplatnicu umesto nas i omogućava nam da plaćanje završimo u dva klika. Ključna informacija ovde jeste da za Javu nije postojala dostupna biblioteka za generisanje QR kodova za Srbiju i upravo sam tu pronašao svoju motivaciju da počnem da radim na jednoj bibliotekici koja će moći da se koristi za aplikacije za plaćanje u Srbiji. Kao primer sam koristio jedan sličan projekat koji je takođe rađen za plaćanja u našoj zemlji ali u Java Script-u, dok je "naša" backend verzija namenjena Kotlin, Java i ostalim developerima iz Java ekosistema. Projekat može da služi kao biblioteka koja se uvozi kao dependency u bilo koji Java softver da bi uz pomoć određenih podataka generisala sliku QR koda, a druga mogućnost je da se aplikacija koristi preko bilo koje komandne linije da bi se dobio ovaj isti rezultat i.e. QR kod (mada je teško zamisliti da bi se neko odlučio za drugu opciju jer nije naročito user-friendly😉). Trebalo mi je par nedelja (sa prekidima), da završim ovaj projekat, uz stalne konsultacije sa već pomenutim Java Division Leadom Milošem Kostićem i primenu njegovih konstruktivnih saveta koji su se najviše odnosili na čitljivost samog koda kao i na kvalitetno dokumentovanje kako bi se olakšalo korišćenje koda. Kod je postavljen na GitLab jer i firma koristi ovu platformu, a može mu se pristupiti i preko centralnog repozitorijuma Maven-a (alat koji se koristi u Java ekosistemu za dobavljanje dependency-ja), tako da je dostupan u dva oblika (za čitanje i korišćenje). Ovo je prvi Ingov (i moj) Open Source projekat koji je zahtevao i jedno ozbiljno istraživanje, uključujući i pravne aspekte u smislu koju licencu odabrati, a mi smo se na kraju odlučili za Apache 2.0 koja omogućava i korišćenje i menjanje koda, uz obavezno navođenje svih izmena. Iako postoje neke sumnje u potencijalne njegove zloupotrebe, verujem da javno dostupnim kodom možemo da postignemo veću transparentnost kao i veću bezbednost jer velik broj developera može da pregleda kod i ispravi neku grešku, ili da javi kreatorima koda da to urade. Kada sam zamolio ChatGPT za neku duhovitu metaforu za opisivanje OSS-a, on mi je (veoma maštovito) rekao da zamislim Open Source kao jednu zajedničku baštu u kojoj ceo komšiluk doprinosi svojim radom i resursima da bi na kraju svi zajedno uživali u plodovima (not bad at all!).  U firmi smo jako ponosni na urađeno jer se nadamo se da ćemo ovim podstaći ostale kolege iz firme ali i iz šire programerske zajednice u Srbiji da se ubuduće više angažuje na ovakvim i sličnim projektima jer ih nema dovoljno.  Nadamo se i da ćemo uskoro da proširimo Ing-ov OSS portfolio i da je ovo samo prvi od mnogo predstojećih ovakvih projekata. Posle dobrog iskustva koje smo imali sa ovim projektom, plan Ing-ove Java Divizije je da se oproba i sa komplikovanijim projektima. Doduše, ja se neko vreme neću ovim baviti jer (konačno) nisam više na klupi 🙂 O autoru: Ilija je počeo da se bavi programiranjem pre pet godina, i kaže da mu se ljubav prema ovoj profesiji rodila kroz igranje video igara i “čeprkanje po kompjuterima” (krekovanja igrica, opravljanja bagova, a ponekad i sastavljanja računara). Živi u Nišu, a vreme nakon posla provodi sa verenicom i ljubimcima - mačkom, psom i hrčcima. Ilija voli da planinari, ali i da gleda Sci-fi serije i filmove.  Ingu se pridružio septembra prošle godine.

HelloWorld
0
31.03.2023. ·
4 min

Veštačka inteligencija i veb razvoj: Kako ove dve stvari dopunjuju jedna drugu za bolje rezultate

Veštačka inteligencija (AI) i veb razvoj su dve oblasti koje se najbrže razvijaju i rastu u tehnološkoj industriji.  Veb dizajn i razvojne usluge zasnovane na veštačkoj inteligenciji su revolucionisale budućnost. Iako se smatraju za dva odvojena entiteta, istina je da se na mnogo načina dopunjuju.  Važnost veštačke inteligencije u veb razvoju  AI postaje sve važniji u veb razvoju. Poslednjih godina raste potreba za veb lokacijama i kvalitetnim aplikacijama. Korišćenjem AI algoritama, veb developeri mogu da kreiraju veb lokacije koje su jednostavnije za upotrebu i generalno privlačnije korisnicima, ali i klijentima.  Personalizovana iskustva: Jedna od ključnih prednosti korišćenja veštačke inteligencije u veb razvoju je personalizacija. Izdvajanjem podataka o preferencijama i ponašanju korisnika, AI algoritmi mogu kreirati personalizovana iskustva prilagođena svakom korisniku. Na primer, veb lokacija za e-trgovinu može da koristi AI algoritme za preporuku proizvoda na osnovu istorije pregledanja i kupovine korisnika. Ovo dovodi do viših stopa konverzije i veće prodaje. Automatizacija: Još jedna prednost korišćenja AI tehnologije u veb razvoju je automatizacija. Automatizacijom određenih zadataka, veb developeri mogu uštedeti vreme i smanjiti greške. Na primer, AI algoritmi se mogu koristiti za automatsko generisanje responzivnog dizajna koji se prilagođava različitim veličinama ekrana. Ovo može uštedeti mnogo vremena i truda i osigurava da sajtovi izgledaju sjajno na svim uređajima.   Veb bezbednost: AI se takođe može koristiti za poboljšanje bezbednosti veb lokacije. Analizom ponašanja korisnika i otkrivanjem anomalija, AI algoritmi pomažu u sprečavanju lažnih aktivnosti i sajber napada. Ovo postaje sve važnije kako sve više preduzeća dolazi na internet i postaje ranjivo na sajber napade. Poboljšane performanse sajta: AI se takođe koristi za poboljšanje performansi veb lokacije. Analizira ponašanje korisnika i identifikuje uska grla, AI algoritmi pomažu u optimizaciji performansi i brzine veb stranice. Ovo dovodi do boljeg korisničkog iskustva i veće stope angažovanja.  Mašinsko učenje  Mašinsko učenje je još jedna oblast u kojoj se AI i veb razvoj dopunjuju. Algoritmi mašinskog učenja se mogu koristiti za analizu ponašanja korisnika i predviđanja korisničkih preferencija. Ove informacije se mogu koristiti za personalizaciju sadržaja veb lokacije, ali i poboljšanje performansi.  Na primer, algoritmi mašinskog učenja se koriste za predviđanje proizvoda koje će korisnik najverovatnije kupiti na osnovu istorije pregledanja i prethodnih kupovina. Tehnologija se koristi u raznim aplikacijama, od e-trgovine i zabave do zdravstvene zaštite i finansija.  Lakša optimizacija pretraživača  Sa pojavom veštačke inteligencije, optimizacija pretraživača je postala mnogo sofisticiranija.   Alati sa veštačkom inteligencijom mogu analizirati podatke pretrage i pružiti uvid u ključne reči i fraze koje najčešće koriste ljudi koji pretražuju određene teme. Ovo omogućava piscima da kreiraju sadržaj koji je optimizovan za određene upite pretrage, poboljšavajući šanse da se sadržaj pojavi u rezultatima pretrage.  Alati zasnovani na veštačkoj inteligenciji analiziraju strukturu i čitljivost sadržaja, dajući predloge za poboljšanja koja pomažu u povećanju angažovanja i poboljšanju rangiranja. Na primer, ove alatke mogu da identifikuju rečenice koje su predugačke ili pasuse koji su previše gusti i da daju predloge za njihovo pojednostavljenje. Najnoviji primer za to je ChatGPT.  Testiranje ranjivosti veb lokacija  Svaki put kada se testira ranjivost sajta, developeri moraju da prate nalaze, prilagođavaju testove, identifikuju najbolje testne slučajeve i budu u toku sa novim modifikacijama. Automatizacija jednostavnih testova pruža developerima više vremena da se fokusiraju na druge stvari. Veštačka inteligencija može poboljšati efikasnost ovog procesa.  Na primer, JUnit 5 je unit-testing framework za Javu koji pruža kvalitetnu pomoć za unit testove. JUnit se široko koristi u Java zajednici. Integrisan je sa alatima kao što su Maven i Gradle. Generiše više kodova za sat vremena nego što veb developeri mogu da postignu za godinu dana.  Dakle, da li će AI zameniti veb developere?   Kratak odgovor je ne.  AI ne može i neće zameniti veb developere. To je samo sredstvo za pojednostavljenje nekih složenih zadataka kako bi sami developeri uštedeli vreme.   Veštačka inteligencija je učinila određene aspekte veb razvoja efikasnim. Ali ne može da zameni kreativnost koja je od ključnog značaja za veb razvoj. 

HelloWorld
0
24.02.2023. ·
12 min

Deploying a Spring Boot API to AWS with Serverless and Lambda SnapStart

This article will cover how to create an API that returns the closest Starbucks locations near the given point and radius. The API will be backed by MongoDB to utilize geospatial queries, with a Spring Boot app wrapped into a Mono-Lambda on top, deployed seamlessly to AWS with Serverless Framework. When it’s all up in the cloud and working, we will take a closer look at the performance and try to optimize it further by utilizing AWS Lambda SnapStart.

HelloWorld
0
25.08.2021. ·
8 min

Prekvalifikacija: kakav su put prešli uspešni? [Back-End edition]

Back-end developeri čini mi se prođu najveću golgotu od početka kursa do pronalaska posla jer toliko framework-ova, baza, pravila za REST i sve drugo treba naučiti, još kad ti svi koji te savetuju stalno bacaju nove podatke, teško je naći put i fokus.

Da ti ništa ne promakne

Ako želiš da ti stvarno ništa ne promakne, prijavi se jer šaljemo newsletter svake dve nedelje.