Kao senior software engineer u nekom prethodnom periodu, koji traje već dugi niz godina, osećao sam se veoma dobro i ugodno. U redu, bilo je tu svakakvih situacija i to uglavnom interesantnih, pregršt zanimljivih zahteva, očekivanja, ljudi, zemalja, putešestvija, tehnologija, uspona, padova, pa opet uspona, deliveryja, kratkih rokova, dugih rokova, klijenata, kolega, tehnologija, frameworkova i tako unedogled. Ali osećao sam se veoma dobro.
Šta je State Management i da li nam je potreban u našoj aplikaciji?
Kada krećemo sa kreiranjem nove aplikacije trebalo bi da se pridržavamo osnovnih postulata da kod koji pišemo bude jednostavan, da se lako testira, da bude kod koji je moguće održavati i da bude jasan kolegama sa kojima radimo ili koji će naknadno raditi na održavanju naše aplikacije. Takođe, na samom početku, trebalo bi da se zapitamo koliko je složena sama struktura naše aplikacije i kako ćemo upravljati podacima koje imamo a da naša aplikacija bude brza, user friendly i pouzdana.
– Samo sam želeo da razvaljujem u kodiranju. Kako se ovo desilo?
Nažalost, ne tako retko sam čula ovu rečenicu tokom svoje karijere (kao neko ko pomaže ljudima da ostvare svoj potencijal). Ova rečenica obično iskrsne kada osoba shvati da joj je potrebno nešto više od veština programiranja da bi uspela kao programer, ili kada programer postane lider (team lead, project lead… nazovimo to kako god želite, na kraju vodimo ljude a ne brojeve ili slova na ekranu). Ovo su dva različita slučaja, međutim imaju i sličnosti jer obe situacije zahtevaju drastičnu promenu u mindset-u. Hajde da pogledamo obe situacije.
Potražnja za IT kadrovima iz dana u dan je sve veća i veća, međutim ljudi što su iskusniji toliko im je teže i toliko ne žele da promene poslodavca za kojeg rade. Godinama rade u jednom sistemu, poznaju strukturu, ljude, projekte… sve je postalo deo rutine i onda nema potrebe za promenom. Postavlja se pitanje kako ubediti takvu osobu da postane zaposleni kompanije koja tek kreće da se razvija u Srbiji.
KEVLIN HENNEY (@KevlinHenney) je svetski poznat nezavisni konsultant, predavač, pisac i trener koji je obučavao nekoliko hiljada developera do sada. Kevlin je bio jedan od naših predavača na ITkonekt 2020.
Pričali smo sa Kevlinom o tome koje bi knjige bilo najbolje čitati ako si programer koji želi da uči i razvija se. Prenosimo vam njegove preporuke.
Mart 2020. godine. Počinje pandemija, kreće briga, panika, strah; iz ugla zaposlenih i „običnih smrtnika“ razvijaju se različiti scenariji u glavi – koliko je sve to ozbiljno, koliko dugo će potrajati, da li ćemo sačuvati zdravlje, kako će to uticati na naš posao… Zatim, prilično naglo i neočekivano, sledi potpuni zaokret u pogledu novih načina organizacije rada; rad od kuće postaje svakodnevica, interakcija i međusobna saradnja sa kolegama i prijateljima prelaze na „online“, socijalni aspekt počinje da se gubi u magli raznih restriktivnih mera izazvanih pogoršanjem epidemiološke situacije u zemlji, a zatvorenost u svojim domovima nam nikako nije saveznik u borbi sa enormnom količinom informacija o virusu koje se plasiraju na dnevnom nivou. Dolazi do potpune konfuzije, neizvesnosti i prezasićenosti. Koliko god da smo mentalno jaki, ovo je situacija koja je na svakog od nas delovala stresno, u manjoj ili većoj meri.
37,1%, 17,6%, 15%, 20%… Znače li nam nešto brojke sa kojima se većina nas, koji smo deo IT industrije, negde susrela? Da li su važne zato što stvarno prave razliku ili su samo trka za statistikom?
Pomenuti procenti tiču se zastupljenosti žena programera u IT sektoru.
Josh (@starbuxman) je Spring Developer Advocate @ Pivotal. Josh je Java Champion, autor i ko-autor 6 knjiga. On je bio jedan od predavača na ITkonekt 2019 i ITkonekt 2020.
Pitali smo Josh-a koje bi knjige preporučio svojim kolegama programerima. Naveo nam je neke od svojih omiljenih, uz propratne komentare i sugestije.
Minko Gechev je deo core Angular tima u Googlu. On je takođe 2019. godine bio predavač na ITkonekt konferenciji.
Minka smo pitali koje su njegove omiljene knjige koje bi preporučio kolegama, pa prenosimo njegov izbor zajedno sa komentarima koje je podelio sa nama za svaku knjigu. Napominje da je za nas izdvojio samo neke od mnogih stručnih knjiga koje čita i voli.
Mnogi programeri kažu da je pravljenje video igara zanimljivije nego njihovo igranje. Nekome se dopada rad u dobrom društvu, neko je inspirisan kreativnošću koju ima priliku da ispolji, dok perfekcionisti uživaju u uređivanju i optimizaciji sistema.
Pored svega pomenutog postoji i nezamenljiv osećaj zadovoljstva u trenutku kada plod dugoročnog rada velikog tima ugleda svetlost dana i kada više miliona igrača krene u istraživanje sveta u čijim se delu nalaze vaše ostvarene ideje i trud.
Zašto je proces učenja jednako važan kao i samo znanje? Kako razviti želju za učenjem ako ona uopšte nije prisutna, ili dovoljno jaka? Kako da znam da je moj način dobar i da li ulažem pametno u svoje znanje? Sva ova pitanja su nam “pala na pamet” barem stotinu puta.
U vremenu kada je znanje moć, a sveža i tačna informacija ključna u poslu, nemoguće je posustati u procesu učenja i ostaviti ga za neke naredne dane. Svesni smo da se učenje dešava stalno, u pokretu, dok pričate sa kolegom, dok se vozite u prevozu, dok listate kanale na televizoru. Ali smo i takođe svesni da proces učenja može da se dizajnira da bude efikasniji pogotovo kada treba da naučimo novu tehnologiju (tipa Angular 10 koji je upravo izašao).
Marko je naš programer evo već godinu dana! Kao Java Developer on nailazi na zadatke koji su zanimljivi, koji izuskuju vreme, pažnju, ali pre svega dinamiku i analitičnost. Naravno, kada nije na poslu, Marko je veliki fan možda i najbolje poljske video igre, kako neki navode – naravno, svi znamo da pričamo o Witcher-u.
Kroz sledeće redove predstavljamo našeg dragog kolegu, koji je bio i više nego rad da popriča sa nama i predstavi nam svoje stavove i viđenja u vezi svog posla, zadataka i svoje profesionalne uloge.
Verujem da ćete zaključiti isto ono što smo i mi, da je naš kolega i više nego savršen kolega!
Od kada je Kotlin postao zvanično podržan programski jezik od strane Google-a i Android-a, pa do sada, zapanjujuće je koliko su vremena i resursa ljudi iz Kotlin tima uložili u kreiranje pomoćnih alata koji nam olakšavaju razvoj Android aplikacija. U ovom tekstu ću vam detaljnije pojasniti kako nam Anko library olakšava život.
U nastavku teksta podeliću sa vama različite načine i pristupe korišćenja Anko library-ja prilikom kreiranja Android aplikacija.
Na ITkonektu 2019, koji se održao 13. i 14. aprila, u okviru konferencijskog dela, predavanja su držali neki od najpoznatijih svetskih predavača u IT-ju, dok je predavanja pratilo više od 800 developera. Posebno interesovanje je izazvao jedan od najpoznatijih i natraženijih predavača i IT stručnjaka na svetu – Robert C. Martin (Uncle Bob), koautor Agile Manifesto, osnivač Clean Code i autor brojnih značajnih knjiga u IT-ju.
Na ITkonektu 2019, koji se održao 13. i 14. aprila, u okviru konferencijskog dela, predavanja su držali neki od najpoznatijih svetskih predavača u IT-ju, dok je predavanja pratilo više od 800 developera. Jedan od njih bio je i Josh Long, Java Champion, Spring team @Pivotal, USA.
Ubrzo nakon proglešenja pandemije korona virusa, zaposleni u kompaniji Better Collective dobili su mogućnost da rade od kuće, jer nam je zdravlje zaposlenih i njihovih porodica na prvom mestu.
Globalna situacija sa pandemijom sa sobom je povukla drugu veliku temu – kako će sve funkcionisati nakon nje. Svetski mediji su počeli da bruje o impaktu na ekonomiju, otvorilo se pitanje kako kompanije da zadrže zaposlene i svoje poslovanje. Skoro kao virus, ekonomske posledice epidemije počele su brzo da se šire i parališu mnoge procese i u okviru HR-a, ponajviše zapošljavanje. Ipak, neke industrije su bile izuzete od posledica ili čak počele da beleže rast.
Beogradski studio kompanije Ubisoft je pre godinu dana po prvi put dobio mogućnost da unutar svog programerskog tima oformi potpuno samostalan tim koji se bavi jednom od kompleksnijih oblasti programiranja u AAA industriji – render programiranjem. Miloš Ivanović i Petar Žica, render programeri koji rade na dva njihova projekta, podelili su sa nama svoja iskustva i daju nam više informacija o celoj priči.
Niko nije mogao ni da nasluti da će se desiti nešto slično korona virusu. U kratkom periodu morali smo da se prilagodimo novonastaloj situaciji da bismo pre svega zaštitili zdravlje naših zaposlenih, a uz to je bilo potrebno organizovati se na pravi način kako bi poslovne aktivnosti nastavile normalnim tokom koliko je to moguće.
Kako ćemo zaista proceniti da je test framework u dobrom stanju? Senior test konsultant, Jana Đorđević iz Endave, ponudila nam je više odgovora na ovo pitanje, i tvrdi da ih se ne treba slepo držati, ali bi njoj zasigurno bilo jednostavnije da kreira ili održava različite framework-e da joj je neko dao baš ove savete pre 10 godina. Dok smo sa njom razmatrali testiranje softvera, postavilo se i pitanje kako proceniti da li je neki framework vredno korigovati, ulagati vreme u njegov oporavak ili pak odbaciti ga i pisati novi od prve linije koda.
Svaka od tehnoloških era uvodila je nove standarde u zapošljavanju. Uvođenje standarda podrazumeva i veliki broj izazova sa kojima se ukupna organizacija suočava. Ti izazovi su nekako najvidljiviji u okviru HR službi, a najveći je svakako balans između očekivanja zaposlenih i onoga što kompanija može da im ponudi.
Ako želite da zaista upoznate Deploy – onda ne možemo da vam pišemo samo o našim korporativnim vrednostima i kulturi, niti vam se možemo predstaviti samo kroz projekte i tehnološka rešenja koje realizujemo, već vam najpre moramo pisati o našem ljudskom kapitalu.
Ove godine smo proslavili desetu godišnjicu. Sa nekima od naših zaposlenih smo od samog osnivanja kompanije i vrlo smo ponosni na to.
Prvi utisak je taj koji privlači korisnika, a pouzdanost ga zadržava uz proizvod. Tako je bilo i u periodu tinejdžerskih dana, kompjuterskih časopisa i CD-a sa softverom na sebi. Sećam se svog oduševljenja pri prvom korišćenju. Radio je besprekorno i pouzdano i dugo sam mu ostao veran. Imao je upravo ono što i danas smatram veoma važnim, a to je balans između lakoće korišćenja i opsega funkcionalnosti koje proizvod pruža.
Testiranje pomaže u ostvarenju tog cilja i jedan je od ključnih koraka u procesu razvoja, jer ima direktan uticaj na kvalitet krajnjeg proizvoda i njegovo usvajanje. Koristeći automatizaciju, možemo skinuti teret sa manuelnih testera i testove učiniti dostupnim za pokretanje u bilo kom trenutku.
Arhitektura nekog softverskog rešenja često predviđa korišćenje iste relacione baze podataka za upis, odnosno čuvanje podataka kao i za čitanje, odnosno prikaz tih podataka. Korisiti se isti model za upis i pregled podataka iako je taj model obično direktno proizašao iz potrebe održavanja konzistentnosti prilikom upisa podataka, upotrebom tehnika normalizacije kako ne bi bilo redudantnih podataka ili da se ta redudantnost svede na minimum.
Ideja za razvoj digitalne banke nastala je na osnovu potreba tržišta, tačnije potražnjom za bržim, savremenijim, fleksibilnijim i jednostavnijim bankarskim uslugama. Tradicionalne banke se još uvek sporo prilagođavaju novim tehnološkim trendovima i zahtevima klijenata. Na osnovu prethodnog iskustva u industriji, uvideli smo da većina klijenata ima iste ili slične probleme kada je u pitanju korišćenje usluga tradicionalnih bankarskih institucija, te smo odlučili da razvijemo fleksibilnu digitalnu banku.
U sve popularnijem IT svetu naglasak je uglavnom na “programerima” tj. softver inženjerima. Često se priča o frontend, bekend, programskim jezicima i frejmvorcima, bazama podataka… Ovi termini su vezani za razvoj i implementaciju softverskog rešenja. Pitanje koje je uvek prisutno je kako da znamo šta treba napraviti? Kako dolazimo do potreba klijenta i kako definišemo izgled i funkcionalnosti budućeg rešenja? Odgovori su ukazali na postojanje potrebe za novim članom tima koji će se suočiti sa izazovom prenošenja pravih informacija između klijenta i programera. Novi član tima je poslovni analitičar (Business Analyst, BA).
Biti žena u IT-u, koji se stereotipno smatra “muškim svetom”, nije tako zastrašujuće kao što se čini. Knjige i filmovi nas uče da je ovaj sektor “naseljen” samo štreberima, sa pikslama umesto naočara, ali stvarnost je mnogo drugačija. To mogu da posvedočim iz ličnog iskustva – ja sam dvadesetšestogodišnjakinja koja radi kao IT stručnjak u poslednje tri godine i uopšte ne nosim naočare.
Popularnost IT industrije raste zapanjujućom brzinom. Imajući u vidu njeno globalno prisustvo, nije začuđujuće to što sve više ljudi pokušava da nađe svoje prve poslove u ovoj industriji. Za mnoge, ovo može biti frustrirajući proces — zbog odgovora od strane kompanija koji često izostanu, ili zbog nejasnih i generičkih odbijenica, koje ti ne govore šta radiš pogrešno.
Najučestaliji koncepti za zaštitu korisničkih podataka, poput 2-faktor-autentikacije i šifri, ne obezbeđuju maksimalan nivo zaštite. Problemi su sve veći, internet napadi sve učestaliji, stoga su vodeći internet provajderi poput Gugla, Amazona i Pejpala, rešili da formiraju organizaciju i obezbede dodatne načine zaštite. Rešenje koje su predstavili nazvali su FIDO2 i bazira se na hardverskoj autentikaciji uz pomoć “wearable” uređaja (satovi, narukvice, prsteni).
Biti front-end developer danas je mnogo zanimljivije nego pre 10 godina. Poslednjih godina ceo ekosistem je eksplodirao i dosta alata, ranije nedostupnih, postalo je deo naše svakodnevnice.
Naši “stekovi” postali su moćniji, razvoj funkcionalnosti postao je jednostavniji i lakši, ali bez obzira na to, inžinjeri i dalje prave iste greške od projekta do projekta.
Bez obzira da li radimo na sledećem fejsbuku ili samo “hendlamo” klijentske projekte, postoje standardni problemi na koje nailazimo.
Kako (i zašto) dolazi do promjene arhitekture softvera?
Dolazite na razgovor za posao developera u IT firmu dobre reputacije. Odjel ljudskih resursa vas je ugodno dočekao, kolege koji prolaze hodnicima se smiješe – sve se čini lijepo i stabilno.
I onda – boom. Na prezentaciji o poziciji saznajete kako je jedan od ciljeva tvrtke kroz sljedećih nekoliko godina prepisati kompletan softver, što podrazumijeva i promjenu tehnologije.
Prema poslednjim istraživanjima u Srbiji trenutno nedostaje 20.000 IT stručnjaka. Iako su brojni napori uloženi u to da se ovaj problem prevaziđe, poput povećavanja kvota na fakultetima koji obrazuju IT inženjere, brojnih kurseva i škola koje su se pojavile u poslednje vreme, kao i programa prekvalifikacije, ispostavlja se da ti napori ni izbliza ne mogu da odgovore na potrebe brzorastuće IT industrije, pre svega zato što izazov ne leži samo u broju ljudi, već i u njihovom kvalitetu i iskustvu.
SSR odnosno “Server-side rendering” (Kreiranje aplikacije od strane servera) nam omogućava generisanje HTML-a za stranice koje su dinamičke – čiji sadržaj nije poznat u trenutku građenja (building). Glavna karakteristika ovakve aplikacije je da ona može da bude pokrenuta i na klijentskoj strani (u pregledaču – “browser”) kao i na serverskoj strani.
As I looked up in shock from my desk I saw myself sitting across from me…my colleague was testing his new face verification algorithm wearing a mask of my face. Zen masters have talked about finding yourself, but I’m pretty sure this was not what they intended. When my heart rate slowly returned to normal I decided it was probably best to drink decaf for the rest of the day. Now I expect that the mention of decaf is strike-1 for many of you coffee aficionados, but it was fancy decaf if that makes it any better (I expect not).
Neprekidna integracija (Continuous integration) je praksa čestog spajanja (merge) radnih verzija koda u toku razvojnog procesa. Performans testovi su veoma “skupi”. Zahtevaju pun kapacitet procesorske snage, veliku memoriju i prete da “pojedu” resurse vaše mašine. Ipak, dosta toga može da bude urađeno uz jako male troškove. Koristeći JMeter kao glavni performans alat i integrišući sve sa Jenkins-om, mogu se postići sjajni rezultati.
Nekome je hobi sport, nekome origami, meni je kvantna fizika. Kome treba Game of Thrones fikcija kada još bizarnije i neverovatnije stvari imate ulaskom duboko u ovu realnost (pritom, ovo se dešava uvek i stalno, a GOT traje samo 7 sezona).
Kada dodate pridev KVANTNA na bilo šta, to zvuči bitno i moćno. Tako i kvantni kompjuteri zvuče nedostižno i nestvarno. Međutim, evo ih, dešavaju se upravo. Ova nova generacija kompjutera u srži menja pristup njihovog funkcionisanja jer je ovo prva generacija računara koja je zasnovana na kvantnoj fizici, tj kvantnoj mehanici.
U samom uvodu ovog teksta želeo bih da vam prenesem svoje iskustvo, ponudim nekoliko saveta u vezi sa tehnologijama i njihovom primenom, napišem kratak vodič kroz jezike koje sam i sam prošao i kako sam, učeći, postao Frontend programer.
Prvo pitanje koje treba da postavite sebi i budete realni sa odgovorom – “Zbog čega želim da se bavim programiranjem?”
Veoma jednostavno, zar ne?
Po poslednjoj studiji State of Agile koju kompanija VersionOne izbacuje svake godine, Skram i Skram hibridi pokrivaju više od 70 posto praktične upotrebe agilnog pristupa. Iako je upoređivanje različitih metodologija, metoda i okvira (Skram je okvir (frejmvork) a ne metodologija) klasičan primer upoređivanja baba i žaba, činjenica stoji da je Skram očigledan pobednik u agilnom ekosistemu.
U svetu modernog Javascript-a postoji mnogo novih, brzih i pouzdanih stvari. Kada se pojavio ES6 (ECMAScript – Javascript standardizacija) sredinom 2015. godine, Javascript je postao jedan od najmoćnijih programskih jezika. Ova verzija bila je prva koja je sadržala klase i module i koja je koristila ‘strict’ mod (lakše pronalaženje grešaka u kodu).
Amazon Simple Storage Service je neverovatan, izuzetno skalabilan, izdržljiv i flaksibilan proizvod za skladištenje zasnovan na cloud-u koji možete koristiti za čuvanje i preuzimanje bilo koje količine podataka u bilo koje vreme i sa bilo kog mesta.
Anti-patern predstavlja često korišćeno rešenje za neki problem, ali koje nije dobro i koje najčešće ima negativne posledice. I vrlo je verovatno da smo svi više puta videli i napravili neki anti-patern, a da toga nismo bili svesni.
Većina softver developera se u toku svoje karijere susrela sa nekim dizajn patternima, ili su bar čuli za taj termin. Paterni predstavljaju opšta, dobro poznata i dokumentovana, rešenja koja se koriste za rešavanje najčešćih problema u razvoju softvera.
U današnjem poslovnom svetu sve se zasniva na poverenju. Svaka novčana transakcija, vlasništvo ili dogovor. Ovo poverenje se, međutim, obezbeđuje na veoma specifičan način – ulogom treće strane, odnosno institucije od poverenja. U novčanim transakcijama to su banke, u vlasničkim odnosima tu su katastri i slične državne institucije, u slučaju bilo koje vrste ugovora, tu su sudovi. Pozitivna strana ovih institucija iliti trećih lica je ta što im sve strane svih ovih dogovora veruju i očekuju zaštitu u slučaju bilo kakvih neočekivanih pojava.
Testiranje se često posmatra kao destruktivna aktivnost. Tako da, uloga testera nekada može biti vrlo specifična. U nekim slučajevima, tester se neće lako uklopiti u tim. Programeri ponekad misle da tester “igra” protiv njih, i da bi to moglo da izazove razne probleme. Tester mora da ubedi ostatak tima da je njegova/njena uloga zaista bitna, da ima dobru komunikaciju sa njima i da na lep način dokaže da on nije njihov protivnik. Tester igra u istom timu, samo sa razlicitim dužnostima.
Kao junior full stack programer u betting timu MozzartBetovog IT sektora jedan od izazova koji me svakodnevno motivišu je na primer kako kreirati kolekcije transakcije klađenja da bi reprezentovali igračev obračun, i onda procesirati celu kolekciju kako bi se pronašao podatak o tome koliko je igrač potrošio novca. Za većinu ovakvih problema, najčešće se nameće korišćenje Jave 8. Da bih ubrzao procesiranje oslonio sam se na višejezgarnu arhitekturu, ali pisanje paralelnog koda je teško i podložno greškama, a standardno procesiranje kolekcija je daleko od savršenog u Javi.
AWS EC2 je skraćenica za engleski naziv Elastic Cloud Computing, web servis koji omogućava hostovanje aplikacija na virtuelnim serverima, takozvanim instancama, služeći se jednostavnim interfejsom.
Glavne prednosti AWS EC2 su manji troškovi, virtuelni serveri su jeftiniji u odnosu na fizičke servere, brzo i jednostavno održavanje i nemogućnost pada servera, aplikacija je stalno dostupna…
AWS EC2 obezbeđuje jednostavno skaliranje web resursa što vam omogućava da povećate ili smanjite kapacitete servera u nekoliko minuta. Nad vašim virutelnim instancama imate potpunu kontrolu kao što biste je imali nad fizičkim instancama. Ovaj fleksibilan cloud hosting servis vam daje mogućnoct izbora tipa instance, vrste operativnog sistema i softverskih paketa.
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.
U IT industriji u Srbiji danas, imamo situaciju ekspeditivnog širenja tržišta, gde se svi trude da nadmaše, ili bar sustignu konkurenciju. Svaka kompanija koja želi da opstane trudi se da obezbedi što pogodnije uslove za svoje zaposlene. Paket beneficija i kompetitivna zarada je postalo norma. Čime se onda voditi kada tražimo kompaniju u kojoj ćemo se zaposliti?
S druge strane, pitanje za poslodavce je, kako se istaći u moru sličnih kompanija? Kako privući kvalitetan kadar?
Vještačka inteligencija (artificial inteligence – AI) je termin koji ćete danas vrlo često čuti. Pametne tehnologije poput mašinskog učenja (machine learning), polako ali sigurno postaju dio svakodnevice, mijenjajući način na koji radimo, živimo i provodimo slobodno vrijeme. Iako njihovo prisustvo možda na prvi pogled i nije toliko očigledno, svaki put kada vam Google search izlista moguće pretrage na osnovu par slova koje ste ukucali ili prepozna uneseni termin uprkos pisanim greškama, svaki put kada koristite softver za prevođenje ili vam Netflix ili Amazon predlože neku novu seriju ili proizvod, iza toga stoje moćni algoritmi koji su sposobni da se usavršavaju i uče koristeći vaše reakcije na ponuđene sadržaje.
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).
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.
Sigurno je svako od vas nekad dobio SMS ili poziv na mobilni telefon koji je bio malo čudan. Poruka u kome se moli uplata kredita na račun pošiljaoca ili molba da obavite hitan poziv na priloženi broj ili propušten poziv sa broja koji je na prvi pogled predugačak i nije lokalni broj. U svim ovakvim slučajevima radi se o „pecanju“ žrtava ne bi li pošiljalac, bolje reći prevarant, na vama vrlo lako zaradio. U jednom malo sofisticiranijem okruženju, pričaćemo o International Revenue Share Fraud (IRSF) tipovima prevara u ICT svetu i vezi između softverskih internet/mobilnih platformi i klasičnih telekomunikacionih servisa.
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.
Danas je velika privilegija biti srećan, voleti svoju profesiju, svoj posao i sve to upakovati u lep život. Da li ste i vi pogrešili kao mali? Birali sportove koji nisu za vas, omanuli u izboru škole, pogrešne ideje realizovali kao prave i malo skretali i lutali. Evo kako to izgleda kada neko posle prve etape školovanja za farmaceuta, uzme preokret u svoje ruke i putem matematike stigne do programera.
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.
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.
Nakon nekoliko godina honorarnog rada u Front-end programiranju, počeo sam da tražim posao u većim kompanijama zarad usavršavanja znanja kroz rad na velikim i zahtevnim projektima. Kad god sam se prijavljivao za posao, dobijao sam zadatke kojim su poslodavci hteli da procene nivo mojih znanja i veština. U toku tog perioda sam shvatio da gubim dosta vremena na postavci projekta.
Pre pojave Interneta verovatnoća da će vaši podaci biti zloupotrebljeni je bila veoma niska. Gotovo nemoguća. Danas, sa sve naprednijom tehnologijom i sve otvorenijim (i ne preterano zaštićenim) pristupom sajber prostoru, verovatnoća da ćete biti na meti sajber kriminalaca raste iz dana u dan.
Šta je to BI Business Intelligence i kome je namenjen
Poslovna inteligencija (BI) je tehnološki vođeni proces za analizu podataka i predstavljanje informacija koje su korisne da bi rukovodioci, menadžeri i drugi korporativni korisnici donosili pozitivne poslovne odluke. BI obuhvata širok spektar alata, aplikacija i metodologija koji omogućavaju organizacijama prikupljanje podataka iz internih informacionih sistema i/ili spoljnih izvora kao rezultat poslovnih procesa (transakcione baze – npr. bankomati za podizanje novca; daljinski čitači elektrićne energije, vode, gasa…), excel tabelama i ostalim oblicima generisanih izveštaja.
Još u srednjoj zavolela sam muziku šezdesetih. Nisam ljubitelj istorije, ali zanimale su me i okolnosti u kojima su ti ljudi živeli. Neverovatno je šta je sve proživela samo jedna dekada. TV, prvi čovek u svemiru, hippi pokret, Vietnam i feministički pokret.
Pomislih: “Šta su ove žene našle tada da se bune, kada ima i prečih stvari od njihovih prava?”
Razmišljajuči dugo o temi o kojoj bih pisao u ovom blogu, mnogo oblasti su mi prošle kroz glavu. Da li pisati o nekim trenutno popularnim temama ili pak ovaj prostor iskoristiti za provlačenje nekog know how ili čak nešto treće. Mogao sam pisati o nekim tehnologijama koje, pa može se reći tek uzimaju zamah u narednim godinama. Kako po naslovima blogova, časopisa, tako i po kuloarima možemo čuti skraćenice kao što su VR, AR, AI, IoT, itd. Za običnog čoveka koji bi pogledao u ove skraćenice, pa mogao bi reći, kako se od vajkada to u našem narodu govorilo, “Jel se to maže na ‘leba”. Ne, naravno da ne, ali čemu znati nešto o onome što tek dolazi, nečemu čega se još niko nije setio (idejama), kada možemo svoje vreme da posvetimo gledanju televizije i učestvovati u masovnom zaglupljivanju u cilju manipulisanja.
Krađa ili kompromitovanje podataka, propust u programu, neispravan kod ili softversko rešenje samo su neki od najčešćih rizika sa kojima se IT kompanije u Srbiji svakodnevno susreću. Iako se radi na tome da se precizni podaci o broju sajber napada, ransomware iznuda i pretrpljenoj materijalnoj šteti drže u tajnosti, procenjeno je da se tokom prethodne dve godine broj nultih dana (zero-days vulnerabilities) uvećao za 125% u odnosu na 2014. godinu. Još uvek nije alarmantno? Čitajte dalje.
Da ovog trenutka zaustavite i pitate slučajne prolaznike na ulici da li znaju šta su “soft skills”, verujem da bi se zamislili i verovatno promrmljali odgovor sebi u bradu ili rekli da ne znaju baš tačno.
Da navedete listu nekih najčešće pominjanih “mekih” veština, svi bi verovatno rekli: “Aaaa, na to ste mislili, pa zašto ne kažete?”
Završna godina fakulteta, a ja i dalje nemam mnogo dodirnih tačaka sa IT-jem. Iskreno, misila sam da neću tako nešto ni raditi. Nisam čak ni znala šta sve obuhvata IT. Učila sam na fakultetu razne tehničke predmete, elemente programiranja, druge povezane stvari, ali nisam imala prilike da vidim nešto konkretno i opipljivo.
Kompanija Better Collective Niš organizuje online hakaton namenjen studentima, diplomcima i programerima sa najviše godinu dana iskustva, pod sloganom “Tvoj kod za bolji svet”.
BC Hakaton je četrdesetdvosatno ekipno takmičenje u kreiranju aplikacije na zadatu temu, koje će se održati online od 11. do 13. decembra 2020. godine. Mogućnost da se takmiči dobiće 5 timova, sačinjenih od 3 do 5 članova.
S obzirom na to da je, kada se radi o društveno odgovornom poslovanju, jedan od prioriteta kompanije Better Collective Niš podrška IT zajednici, i u uslovima pandemije, oni pružaju mladima priliku da razvijaju svoje sposobnosti i veštine.
Online ITkonekt konferencija 2020, koja se održala 26-27. septembra, ugostila je neke od najpoznatijih svetskih IT predavača. Jedan od predavača bila je Marina Božić, Senior Software Developer @ Avisto Eastern Europe.
Sa više od 10 godina iskustva u radu, Marina trenutno radi kao Senior Software Developer u kompaniji Avisto Eastern Europe. Ona uživa u izazovima moderne arhitekture softvera za preduzeća i cloud native sistema. Veruje u učenje tokom celog života i pronašla se u ulozi mentora u ambicioznom Avisto-vom internship programu.
Predavanje Marine Božić bilo je na temu: Optimize data fetching in 3 steps in Java Spring Application
Preuzimanje i očuvanje podataka je priča stara koliko i vreme. Treba nam sloj istrajnosti i mogućnost komunikacije s njim. Ali način na koji to radimo može da dovede do velikih razlika i značajno da utiče na performanse aplikacije.
Marina je u svom predavanju pričala o izboru pravih alatki za ovaj posao. Provela nas je kroz tri koraka koja je ona u radu preduzela kako bi aplikacija bila bez mane: Entity Graph, JPQL i Redis based cache.
Pogledaj ceo video Marininog predavanja na ITkonekt 2020: