Advertise with Googlier.com IT – LimundoGrad blog https://blog.limundograd.com Thu, 12 Mar 2020 11:43:08 +0000 sr-RS hourly 1 https://wordpress.org/?v=6.0.18 Pogled ka Tajvanu https://blog.limundograd.com/2016/09/pogled-ka-tajvanu/ https://blog.limundograd.com/2016/09/pogled-ka-tajvanu/#comments Fri, 16 Sep 2016 12:10:42 +0000 http://blog.limundograd.com/?p=71030 Pre oko mesec dana sam preko Nacionalne Alijanse za Lokalni Ekonomski Razvoj (NALED) dobio poziv da kao predstavnik Srbije učestvujem na specijalističkoj obuci “2016 Workshop on E-commerce Applications for Micro-enterprises”, koja se održava u oktobru 2016. na Tajvanu. Poziv sam za zadovoljstvom prihvatio, a toj odluci je dosta pomogla i činjenica da vlada Tajvana pokriva […]

Post Pogled ka Tajvanu je objavljen na sajtu LimundoGrad blog.

]]>
Pre oko mesec dana sam preko Nacionalne Alijanse za Lokalni Ekonomski Razvoj (NALED) dobio poziv da kao predstavnik Srbije učestvujem na specijalističkoj obuci “2016 Workshop on E-commerce Applications for Micro-enterprises”, koja se održava u oktobru 2016. na Tajvanu.
Poziv sam za zadovoljstvom prihvatio, a toj odluci je dosta pomogla i činjenica da vlada Tajvana pokriva sve troškove puta, smeštaja i same obuke. 🙂

Ovakav pristup me je zainteresovao da se dodatno upoznam sa Tajvanom i razlozima njihovog ulaganja u bespovratnu podršku obrazovanju i unapređenju ekonomija drugih zemalja.

Sam Tajvan je ostrvo veličine polovine Srbije (površina Tajvana je 36.000km kvadratnih, a površina Srbije iznosi 88.000km kvadratnih). Međutim, Tajvan je sedamnaesta ekonomija sveta sa godišnjim izvozom od 318 milijardi dolara i uvozom od 278 milijardi dolara, što znači da je Tajvan u godišnjem suficitu od 40 milijardi dolara. Kada se na to doda prosek od 300 miliona dolara direktnih stranih investicija u Tajvan svakog meseca, dobija se zapanjujuća slika moćne ekonomije jednog malenog ostrva.

map-of-taiwan

Sama industrija Tajvana (te stoga i izvozna struktura) je visokotehnološkog profila, gde verovatno leži deo tajne ovakvog uspeha – izvozi se finalni proizvod koji je uvek višestruko skuplji od prostog zbira svojih sastavnih delova.

Na Tajvanu se danas nalaze sedišta moćnih korporacija kao što su Acer, Asus, HTC, te gigant elektronske industrije Foxconn koji pravi komponente za Apple, Amazon i Microsoft. Stoga je jasno zašto je tajvanska ekonomija jedan od četiri “azijska tigra”, uz ekonomije Hong Konga, Singapura i Južne Koreje.

four_asian_tigers
Četiri azijska tigra

Sam Tajvan ima burnu noviju istoriju, i danas još nesređenu i osetljivu političku situaciju, ali ti problemi ih nisu omeli da postanu jedna od vodećih ekonomija sveta.

Nakon pobede Kineske komunističke revolucije 1949. godine, predstavnici poraženog režima pobegli su na Tajvan i tamo osnovali vladu u izgnanstvu koja je polagala pravo na celu Kinu. Do 1971. godine Tajvan je u ime Kine bio član Ujedinjenih nacija, kada Narodna republika Kina ulazi u UN, a Tajvan gubi članstvo i nalazi se u svojevrsnom političkom vakuumu.

Pedesetih i šezdesetih godina prošlog veka Tajvan je zavisio od pomoći Sjedinjenih Američkih Država, ali krajem osamdesetih godina započinje tranzicija od militarističkog jednopartijskog sistema ka multipartijskom industrijski orijentisanom sistemu. Ova tranzicija kasnije biva strateški usmerena ka ulaganju u informacione tehnologije kao odgovor na nemogućnost konkurisanja susednoj naglo rastućoj kineskoj industriji, zasnovanoj na ogromnoj količini lako dostupne i jeftine radne snage.
Krajnji rezultat je takozvano “Tajvansko čudo” (Taiwan miracle), zahvaljujući kome je Tajvan danas uprkos svojoj maloj veličini jedan od lidera u IT industriji. A IT industrija je opet sama za sebe na samom vrhu ekonomskog “lanca ishrane” jer se sastoji skoro isključivo od nematerijalnih visokosofisticiranih rešenja (softverski proizvodi kao najočigledniji primer).

Tu smatram da leži i odgovor zašto Tajvan (i druge razvijene ekonomije sveta) ulaže, na prvi pogled bez direktnog povrata investicije, u edukaciju i povezivanje sa drugim dalekim državama i sistemima – visokotehnološka industrija zahteva stabilno i napredno okruženje koje će iznedriti potrebu za sofisticiranim, nematerijalnim proizvodima. Svet je danas globalno selo, i nijedan njegov deo nije toliko daleko da bi dešavanja u njemu bila beznačajna na drugom kraju.

U svakom slučaju, sa nestrpljenjem očekujem da se upoznam sa iskustvima u e-commerce i crowdfunding oblastima o kojima će biti reči na obuci i o kojima tajvanska IT industrija poseduje veliko znanje.
Takođe, želim da se još jednom zahvalim ljudima iz NALED-a koji su me preporučili kao predstavnika Srbije, i nadam se da ću dostojno predstaviti srpsku IT industriju te i Srbiju kao zemlju koja prepoznaje IT kao jednu od ključnih grana svog budućeg razvoja.

Svoje utiske i saznanja sa obuke podeliću ovde nakon povratka, krajem oktobra.

lich-king

P. S. Na samom Tajvanu svakako planiram da posetim statuu “Lich King Arthas Menethil” visoku četiri metra koju je Blizzard Entertainment podigao u čast 25 godina od svog osnivanja, kao i Illidan mural koji je osvanuo na ulicama Tajvana povodom puštanja novog World of Warcraft expansion-a. 🙂

Post Pogled ka Tajvanu je objavljen na sajtu LimundoGrad blog.

]]>
https://blog.limundograd.com/2016/09/pogled-ka-tajvanu/feed/ 1
Srećan SysAdmin day! https://blog.limundograd.com/2016/07/srecan-sysadmin-day/ https://blog.limundograd.com/2016/07/srecan-sysadmin-day/#comments Fri, 29 Jul 2016 06:38:19 +0000 http://blog.limundograd.com/?p=70510 Stigao je i poslednji petak u mesecu julu, dan kada IT obično ima najmanje posla (jer su svi na odmoru), pa smo dozvolili sebi da se malo opustimo. Ove godine 29. jul je međunarodni “System Administrator appreciation day” – ili skraćeno: SysAdmin day. Ideja je da, bar jednom godišnje, treba odati prizanje devojkama i momcima koji […]

Post Srećan SysAdmin day! je objavljen na sajtu LimundoGrad blog.

]]>
Stigao je i poslednji petak u mesecu julu, dan kada IT obično ima najmanje posla (jer su svi na odmoru), pa smo dozvolili sebi da se malo opustimo. Ove godine 29. jul je međunarodni “System Administrator appreciation day” – ili skraćeno: SysAdmin day.

Ideja je da, bar jednom godišnje, treba odati prizanje devojkama i momcima koji se brinu o tome da sve radi. Ne, nije uobičajeno da to uključuje i neki konkretan znak pažnje, mada mali poklončić neće proći neprimećen. Ne verujem da iko očekuje tortu, ali čestitka bi bila lepa, ili makar kratko lično priznanje – jedno obično “hvala”. Dok se ovo ne ustali i kod nas, kao što je već popularno preko okeana, rešio sam da prevedem deo satiričnog teksta pod nazivom “Kako da najbolje koristite vreme svog administratora”. Ideja je da se svi malo nasmejemo, zabavimo, ali i da počnemo možda malo drugačije da razmišljamo u ovom smeru. Verujte, odabrani primeri su često potvrđeni u praksi i nadam se da ćete se svi lepo zabaviti.

Nekada je na reklami za Limundo bio “Đole”, pa evo, zamislite da imate kolegu koji se zove “Đole” i koji vam održava mrežu. Evo par “saveta”:

  • Sve backupe od kuće čuvajte na računaru na poslu! Ne samo da ćete uštedeti za backup, Đole prosto obožava kad mu bekap traje satima, nije da ima nešto da radi.
  • Igrajte se sa kablovima! Sve ih povadite, upletite i nekako vratite. Ako ne radi, zovite Đoleta i recite da ne znate kako se to desilo, jer Đole voli dobru misteriju! Za dodatnu razonodu, sedite mu iznad glave dok radi i pitajte za svaki kabl “a čemu to služi?”
  • Nikada ne zapisujte greške. Ako nešto ne radi samo zatvorite prozor, Đole je dobar u pogađanju.
  • Generalno, ako iskoči pitanje samo kliknite YES. Nije da treba to da čitate, a i onako znate šta ste hteli.
  • Ne trudite se da zapamtite kako se koji deo zove, skroz je ok da kažete “ono”, “ono veliko”, “ono čudo” ili “hepek”.
  • Ako vam na mail stigne neki .exe fajl odmah ga otvorite – Đole ionako ne stiže da testira kako radi antivirus, treba mu vaša pomoć.
  • Kad Đole treba da dođe da vam popravi nešto, slobodno zaključajte računar i idite na pauzu, nije njemu problem da zapamti lozinke svih zaposlenih.
  • Kad vam stigne mail od Đoleta, posebno ako je subject “Važno!”, ignorišite ga. On stalno testira nešto….
  • Mailove generalno šaljite SVE U VELIKIM SLOVIMA. Tako mail server zna da ih pošalje hitno!
  • Ako vam ne radi aparat za vodu, ili za kafu, ili frižider…. zovite Đoleta! Ima elektronike unutra, on se u to sve razume!
  • Ako vam kućni računar ne radi, donesite ga na posao i ostavite ga kod Đoleta na stolu. Ne morate da pišete šta ne radi, ili zašto ste ga doneli – sećate se, Đole voli zagonetke.
  • Ako papir ne izlazi iz štampača, slobodno pošaljite 20 puta, da se odglavi!
  • Ako ne pomogne, pošaljite po 20 puta na sve štampače – neki valjda radi.
  • Ne čitajte help ili uputstva koja vam je Đole napisao i poslao, to je za mekušce i slabiće. Ako baš ne radi, zovite ga direktno.
  • Ako vam treba pomoć na pauzi za ručak, slobodno jedite da ne gubite vreme. Nema veze što Đole nije jeo, mljackajte mu oko glave, glad ga motiviše.
  • Kad završite svoju novu prezentaciju, posebno one sa mnogo efekata koje su preko 100MB, pošaljite je na mail svima u kancelariji. Treba svi da vide kako vam lepo ide, a Đole je samo ljubomoran kad spominje mail server i mesto na disku.
  • Slobodno ga zovite i uveče i vikendom za pitanja oko vašeg kućnog računara. IT-evci nemaju neki život, svi to znaju, taman ćete mu pomoći da mu ne bude dosadno.
  • Ako ste krenuli da učite o računarima, slobodno vežbajte na poslu. Kad nešto pokvarite, Đole će da popravi. Nije da mu smeta da ostane na poslu do 3 ujutru, on to voli da radi.
  • Ako vam dete uči programiranje, dovedite ga na posao da vežba. Kad donese ilegalan Visual Basic, napuni računar virusima i uništi firminu bazu podataka, taman će Đole imati šta da radi.

Nadam se da ste se lepo nasmejali, ali i da ste bar malo razumeli sa čime se vaše kolege susreću svaki dan i zašto nije loše da im, bar jednom godišnje, odate priznanje.

Post Srećan SysAdmin day! je objavljen na sajtu LimundoGrad blog.

]]>
https://blog.limundograd.com/2016/07/srecan-sysadmin-day/feed/ 1
Kako kreirati sigurnu lozinku https://blog.limundograd.com/2016/05/kako-kreirati-sigurnu-lozinku/ https://blog.limundograd.com/2016/05/kako-kreirati-sigurnu-lozinku/#comments Tue, 17 May 2016 08:40:04 +0000 http://blog.limundograd.com/?p=69744 Često sam čitao razne savete za kreiranje sigurnih lozinki. Dobar deo njih je jako komplikovan, a neki, iako veoma popularni čak su i neprimereni – što me je navelo da napišem jedno kraće uputstvo na našem jeziku, o tome zašto, kako i šta. Pre svega, kada pričamo o sigurnim lozinkama, moramo da razumemo šta ih čini […]

Post Kako kreirati sigurnu lozinku je objavljen na sajtu LimundoGrad blog.

]]>
Često sam čitao razne savete za kreiranje sigurnih lozinki. Dobar deo njih je jako komplikovan, a neki, iako veoma popularni čak su i neprimereni – što me je navelo da napišem jedno kraće uputstvo na našem jeziku, o tome zašto, kako i šta.

Pre svega, kada pričamo o sigurnim lozinkama, moramo da razumemo šta ih čini sigurnim. Lozinka je sigurna ako ju je teško pogoditi. Zato je prvi i osnovni savet: izbegavajte očigledne lozinke. Ime, prezime, ime deteta, roditelja i omiljenog kućnog ljubimca loš su izbor jer bilo ko može da ih uz malo truda nađe negde na internetu gde ste nekada pričali o njima. Drugi savet je: izbegavajte proste reči. Većina alata za automatsko pogađanje lozinki ima spisak najčešćih lozinki i reči iz raznih jezika i prvo će probati njih.

thumbnail

Kada izbegnete ove, očigledno loše lozinke i malo potražite savete obično ćete naići na jedan stari savet: “Dobra lozinka ima bar 8 karaktera, jedno malo i jedno veliko slovo i bar jedan broj i specijalni znak”. Ovo zvuči zanimljivo, ali je suštinski pogrešno! Dodatno, ovakve lozinke su teške za pamćenje, pa obično završe u nekom fajlu, odakle se kopiraju po potrebi, pa to dovodi do toga da ih prvi virus pokupi i preda napadaču.

Lozinke od osam karaktera jesu nekada bile standard jer sistemi nisu koristili više od prvih osam karaktera. Danas je to odavno prošlo i dugačke lozinke bi trebalo da budu standard. Drugo i bitnije, svi ovi dodatni znaci su posledica prvog dela – problema sa dužinom i potrebe da se proces pogađanja, gde napadač isprobava sve moguće kombinacije svih znakova zakomplikuje. Ovo ne samo da pravi problem u pamćenju, već, još gore, više ničemu i ne služi. Naime, pogađati lozinku od 8 karaktera je za današnje računare postao veoma lak zadatak, bez obzira na usložnjavanje dodavanjem specijalnih znakova.

Rešenje se samo nameće: povećati dužinu. Kratka matematička analiza pokazuje da je veoma duga lozinka, napravljena od nekoliko spojenih reči MNOGO složenija za pogađanje od ove “osam karaktera, mala i velika slova, plus znaci” kombinacije. Ne samo da ćete dugom lozinkom povećati sigurnost, ako se potrudite samo malo, dobićete i lozinku koja se lako pamti! Uz zahvalnost XKCD.com, evo i primera sa slikom:

Za sve one koji žele, postoji i dodatna varijanta: i dalje vam niko ne brani da unesete specijalne znake, kao ni još veću dužinu. Ako vam treba stvarno SIGURNA lozinka (npr. za banku), koristite omiljenu rečenicu iz nekog romana i samo je unesite gramatički pravilno! Ovakva lozinka je skoro nemoguća za pogoditi, a opet, ako pravilno izaberete svoje omiljeno delo i omiljeni citat, vrlo je laka za pamćenje.

Post Kako kreirati sigurnu lozinku je objavljen na sajtu LimundoGrad blog.

]]>
https://blog.limundograd.com/2016/05/kako-kreirati-sigurnu-lozinku/feed/ 3
HTTP drugi put – novi protokol za brži rad https://blog.limundograd.com/2016/03/http-drugi-put/ Tue, 22 Mar 2016 09:42:31 +0000 http://blog.limundograd.com/?p=69381 Pre godinu dana smo, prvo na Kupindu a zatim i na Limundu, pustili podršku za SPDY protokol. Pre jedno mesec dana smo, tiho, opet prvo na Kupindu a zatim i na Limundu tu podršku ukinuli i zamenili je HTTP/2 protokolom. Razlog je jednostavan: SPDY vise nije podržan. Čak i Google Chrome ga više ne podržava, jer […]

Post HTTP drugi put – novi protokol za brži rad je objavljen na sajtu LimundoGrad blog.

]]>
Pre godinu dana smo, prvo na Kupindu a zatim i na Limundu, pustili podršku za SPDY protokol. Pre jedno mesec dana smo, tiho, opet prvo na Kupindu a zatim i na Limundu tu podršku ukinuli i zamenili je HTTP/2 protokolom.

Razlog je jednostavan: SPDY vise nije podržan. Čak i Google Chrome ga više ne podržava, jer je Google, zajedno sa ostalim proizvođačima browser-a, odustao od sopstvenog SPDY protokola i prešao na novi HTTP/2 standard. Samim tim, podrška je postala bespredmetna, a podrška za HTTP/2 je, čini nam se, postala nešto što je i nama i korisnicima neophodno. Kažem, čini nam se, jer iz nekog razloga, Kupindo i Limundo su prvi, a moguće još uvek i jedini domaći sajtovi koji ovo podržavaju!

Sikanja

Razloga za prelazak ima više, ali pre svega je u pitanju drastičan tehnološki napredak. Originalni HTTP/1.1 standard koji većina sajtova još uvek koristi, definisan je davne 1999. godine i bio je aktuelan preko 16 godina – večnost za IT industriju. Novi standard donosi više promena i dosta se oslanja na SPDY neformalni standard, ali uz ključnu razliku da je u pitanu jasno definisan i otvoren standard.

Glavna prednost HTTP/2 je u mogućnosti da se kroz jednu konekciju (tcp socket) simultano i non-blocking prenosi više podataka paralelno u oba smera. HTTP/1.1 je ovo delimično rešavao korišćenjem više konekcija, ali te konekcije su i dalje bile blokirajuće, plus im je broj bio ograničen. Sada sve ide kroz jednu konekciju sto rasterećuje i server i klijenta, a sama konekcija je većeg kapaciteta i omogućava da se paralelno radi više stvari – što tcp podržava sve vreme.

Glavna prednost ovakvog pristupa vidi se na klijentima sa slabijim propusnim opsegom i, posebno, na klijentima koji imaju spore veze visoke latencije – slične onima na 3G/4G mobilnim telefonima ili zagušenim javnim WiFi access point-ima. U nekim slučajevima ubrzanje je drastično, što se lepo vidi kada se proba demo za HTTP/2 na akamai CDN-u sa lošeg javnog WiFi-a na telefonu – što sam za potrebe ovog teksta i dokumentovao.

IMG_0888

Dodatno, prednost je i manji broj konekcija, što vodi i manjem korišćenju resursa, što opet dodatno rasterećuje i klijentske računare i servere – a što se najviše vidi na slabim klijentima sa malo memorije – kao što su mobilni telefoni. Konačno, HTTP/2 ne propisuje TLS konekciju kao obaveznu, ali sve implementacije u browserima podržavaju HTTP/2 samo kroz bezbedne konekcije, pa ovime dižemo i bezbednost sistema još jednu stepenicu više.

Ako vam od sredine februara sajtovi rade bolje, posebno na mobilnim uređajima – sada znate i zašto.

Post HTTP drugi put – novi protokol za brži rad je objavljen na sajtu LimundoGrad blog.

]]>
CodingSerbia OpenSpace utisci https://blog.limundograd.com/2015/10/codingserbia-openspace-utisci/ Wed, 28 Oct 2015 22:17:37 +0000 http://blog.limundograd.com/?p=67654 Na ovogodišnjoj CodingSerbia konferenciji sam, pored predavanja, imao prilike da učestvujem i na OpenSpace “Unconference” skupu koji je održan drugog dana konferencije. To je bio prvi put da se srećem sa ovim konceptom koji mi je odmah privukao pažnju, te želim da vam ga približim i podelim sa vama svoja iskustva. OpenSpace koncept je zasnovan […]

Post CodingSerbia OpenSpace utisci je objavljen na sajtu LimundoGrad blog.

]]>
Na ovogodišnjoj CodingSerbia konferenciji sam, pored predavanja, imao prilike da učestvujem i na OpenSpace “Unconference” skupu koji je održan drugog dana konferencije. To je bio prvi put da se srećem sa ovim konceptom koji mi je odmah privukao pažnju, te želim da vam ga približim i podelim sa vama svoja iskustva.

OpenSpace koncept je zasnovan na principu samoorganizovanja skupine ljudi sa ciljem da se u njima oslobodi kreativnost i probudi preduzimljivost.
Ukratko, OpenSpace je neka vrsta konferencije gde sami učesnici na licu mesta određuju teme o kojima će se držati predavanja.

Standardno se izvodi tako što se prvo javno proglasi opšta tema konferencije i odrede se, na primer, tri mesta na kojima će se držati predavanja sa po tri uzastopna vremenska termina od 30 minuta za svako mesto. Mesto je najčešće jedan sto oko koga može da se okupi desetak ljudi. Tri mesta sa po tri termina čine matricu tri puta tri, koja se iscrta na panelu i postavi javno na oglasnu tablu.

Nakon toga učesnici po princpipu “ko prvi” zapišu na papirićima teme o kojima bi voleli da pričaju ili o kojima bi voleli da slušaju, i te papiriće zalepe u željeni termin/polje u matrici. Ovaj proces traje dok se ne popuni svih devet dostupnih polja.

OpenSpace_timetable

Pošto su određene teme, pristupa se predavanjima. Predlagači tema imaju obavezu da urade osnovnu moderaciju predavanja, ali nemaju i obavezu da sami održe predavanje. Učesnici biraju kojem predavanju će prisustvovati i koliko dugo, te su slobodni da učestvuju u diskusiji ili da sami održe predavanje.

Kada se konferencija završi, moderatori imaju obavezu da zapišu kratki rezime predavanja i da ih zalepe u matrici pored najave predavanja.

twoFeet

OpenSpace je standardno uređen sa četiri Principa i jednim Zakonom:

Zakon “Dve noge” kaže da ako primetite da ne doprinosite aktivno diskusiji/predavanju ili ne učite ništa iz predavanja imate svo pravo da iskoristite svoje dve noge i premestite se na predavanje gde možete najviše da doprineste ili učite.

Četiri principa su:
1.) Ko god dođe je pravi čovek
Svi ljudi koji su privučeni datom temom su upravo ljudi koji mogu najviše da doprinesu temi ili da nauče nešto iz nje, jer im je stalo. Dakle upravo oni su pravi ljudi za tu temu.
2.) Šta god se dogodi je jedina stvar koja je mogla da se dogodi
Ovaj princip nam kaže da ne treba da nas sputava šta je sve bilo ili šta bi sve moglo da bude, već da je potrebno da se koncentrišemo na ono što se dešava sada i ovde.
3.) Kada god počne je pravo vreme
Kreativnost nije nešto što može da se uključi i isključi u precizno određeno vreme, naš zadatak je stoga da damo najbolje od sebe i da pustimo da nas kreativnost povuče – onda kada se desi.
4.) Završeno je kada se završi
Kao što je rečeno gore – kreativnost ima sopstveni nekontrolisani ritam. Stoga je potrebno da pratimo njen tok, a ne tok vremena na satu. Ako mislite da ste gotovi upitajte sebe “da li je gotovo?”. Ako je odgovor “Da” – krenite dalje.

OpenSpace

Sam OpenSpace skup na ovogodišnjoj CodingSerbia konferenciji se meni lično veoma dopao i imam plan da ga organizujem u Limundu u narednom periodu. Takođe planiram da napišemo i izveštaj kako je naš OpenSpace prošao i podelimo zapisnike sa predavanja. 🙂

 

Post CodingSerbia OpenSpace utisci je objavljen na sajtu LimundoGrad blog.

]]>
CodingSerbia utisci https://blog.limundograd.com/2015/10/codingserbia-utisci/ Fri, 16 Oct 2015 14:56:03 +0000 http://blog.limundograd.com/?p=67487 Tokom dva dana koliko je trajala trećа CodingSerbia konferencija slušao sam vrlo zanimljiva predavanja relevantnih stručnjaka i što je mnogo važnije, imao sam jedinstvenu priliku da direktno popričam sa njima. Na mene je najjači utisak ostavio uvodni keynote govor “How Conway’s Law is eating your job“ od Pitera Hintjensa (Pieter Hintjens). U svom uvodnom predavanju, […]

Post CodingSerbia utisci je objavljen na sajtu LimundoGrad blog.

]]>
Tokom dva dana koliko je trajala trećа CodingSerbia konferencija slušao sam vrlo zanimljiva predavanja relevantnih stručnjaka i što je mnogo važnije, imao sam jedinstvenu priliku da direktno popričam sa njima.

Treća CodingSerbia konferencija

Na mene je najjači utisak ostavio uvodni keynote govor “How Conway’s Law is eating your job“ od Pitera Hintjensa (Pieter Hintjens).
U svom uvodnom predavanju, Piter je kroz povlačenje paralela između zakona fizike i zakonitosti koje vladaju u timu i generalno razvoju softvera, dao jedno fascinatno viđenje načina na koje možemo da razvijamo softver i organizujemo tim developera.
Hintjens nas uči da se na pravljenje softvera mogu primeniti standardni zakoni fizike i prirode uopšte i, ukoliko ignorišemo ovu neobičnu činjenicu, naš rad se lako može raspasti poput loše napravljenog mosta.

Preuzeto sa http://xkcd.com/626/

Na primer, tu je Drugi Njutnov (Newton) Zakon koji govori o inerciji, primenjen na upravljanje timom on može da glasi: “Što je tim masivniji, to je njegova inercija veća i potrebna je veća sila da ga pomerimo”. U praktičnom smislu, ukoliko pokušavamo da promenimo veliku kompaniju od nekoliko hiljada zaposlenih potrebna nam je ogromna sila (novac/vreme/energija). Ukoliko želimo da utičemo na tim od par ljudi, obično je dovoljno jedno veče ubeđivanja uz nekoliko piva. 🙂
Dakle, ukoliko vam je potrebna fleksibilnost i brza promena uz mala ulaganja, nemojte je tražiti u velikim timovima. Sa druge strane stabilnost i robusnost ćete teško postići u malom timu.

Možemo da nastavimo sa Trećim Njutnovim Zakonom o akciji i reakciji – “Kada gurnete tim on vas odgurne nazad.”
Da malo karikiramo – ako pokušate da promenite kompaniju od deset hiljada ljudi, bićete otpušteni. Piter doduše kaže da ovo ne važi ako ste CEO (direktor) – u tom slučaju ćete dobiti veliki bonus i onda ćete biti otpušteni. 🙂
Zaključak je da ukoliko imate veliki tim koji želite da promenite kako bi radio nešto potpuno drugačije, verovatno je isplativije jednostavno kreirati novi tim od nule.

Tu je dalje moj omiljeni “Zakon” i zaključak koji iz njega proizlazi – Marfijev (Murphy) Zakon: “Ukoliko nešto može da pođe naopako, poći će naopako. I to u najgorem mogućem trenutku, na najgori mogući način”.
Piter na osnovu toga tvrdi, i ja se potpuno slažem sa njim, da su greške ne samo očekivane, već i neizbežne.
Zaključak je: nemojte pokušavati da izbegnete greške već ih prigrlite. Tačnije – nemojte pokušavati da napravite softver koji nema grešaka, već softver koji će se oporaviti kada do greške dođe.

Sledeća Piterova analogija koja mi se dopala je bazirana na Murovom (Moore) zakonu koji kaže da se moć hardvera duplira svake dve godine. To praktično znači da softveri pravljeni pre dve godine danas rade na značajno drugačijoj hardverskoj arhitekturi od one za koju su bili projektovani. Što dalje može da se interpretira tako da zapravo niko ne razume u potpunosti kako neki sistem/softver zaista funkcioniše. Uključujući i one koji su ga pravili.

Poslednji  zakon koji želim da izdvojim iz Hintjensovog keynote-a je Konvejev (Conway) zakon. Ovaj zakon se ponekad posmatra kao šaljiv i neozbiljan, ali ga je zapravo još 1968. godine formulisao programer Melvin Konvej (Melvin Conway) kao ozbiljan pokušaj da se opišu socijalne interakcije. Ovaj zakon kaže da organizacije koje proizvode sisteme, te sisteme neumitno dizajniraju kao kopije svojih komunikacionih struktura.
Ukratko – struktura softvera će imitirati strukturu tima koji ga je razvijao, stoga se trudite da vaš razvojni tim bude efikasan, distribuiran i paralelizovan jer će takav biti i vaš softver.

Preuzeto sa http://xkcd.com/1473/

U razgovoru sa Piterom, nakon njegovog govora, dotakli smo se i teme konkretnog organizovanja timova, gde je izneo svoje viđenje jednog načina dobrog organizovanja tima – kreirajte male nezavisne timove i module koji po Actor modelu primaju poruke i samostalno donose mikroodluke, i po potrebi prosleđuju poruke dalje ili kreiraju nove male timove/module. Uvek treba imati u vidu da čim imate više od jednog čoveka – vi imate tim. Svaki tim je jedinstven i potpuno se menja ako dodate novog čoveka. Ukoliko timovi kreiraju softverske module po ovom konceptu, potrebno je da svakom modulu omoguće pristup drugim timovima/developerima kroz API. Time se dalje promoviše pozitivna selekcija, jer drugi developeri mogu da iskoriste i unaprede već gotove module i tako naprave nešto što originalnim dizajnom nije bilo moguće/predviđeno.

Na samoj konferenciji sam odslušao još niz zanimljivih predavanja koja imaju potencijal da promene naš način razmišljanja i pristup problematici kojom su se bavili. Ali više o tome u sledećem blog postu.

Post CodingSerbia utisci je objavljen na sajtu LimundoGrad blog.

]]>
Usluga ili Sadržaj https://blog.limundograd.com/2015/10/usluga-ili-sadrzaj/ https://blog.limundograd.com/2015/10/usluga-ili-sadrzaj/#comments Tue, 13 Oct 2015 10:36:47 +0000 http://blog.limundograd.com/?p=67425 Svi servisi na internetu daju se, ugrubo podeliti na dve grupe: Pružaoci usluga (service provider) i pružaoci sadržaja (content provider). Lep primer ovoga je, sa jedne strane Limundo, kao sajt koji nudi uslugu i Oglasindo kao sajt koji nudi sadržaj. Ovaj članak je pokušaj da se tehnička suština ove razlike pojasni široj publici. Većina sajtova koje […]

Post Usluga ili Sadržaj je objavljen na sajtu LimundoGrad blog.

]]>
Svi servisi na internetu daju se, ugrubo podeliti na dve grupe: Pružaoci usluga (service provider) i pružaoci sadržaja (content provider). Lep primer ovoga je, sa jedne strane Limundo, kao sajt koji nudi uslugu i Oglasindo kao sajt koji nudi sadržaj. Ovaj članak je pokušaj da se tehnička suština ove razlike pojasni široj publici.

Većina sajtova koje gledate su posvećeni sadržaju. Ono što im je svima zajedničko u načinu rada je da je u pitanju sadržaj koji je isti za sve korisnike. Tipičan primer, pored Oglasinda, je i ovaj blog, ili bilo koji sajt sa vestima i sličnim sadržajima. Iako postoje urednici i neko ko objavljuje sadržaj sa tehničke strane taj sadržaj je de facto nepromenjljiv – tj. menja se jako retko. Čak i popularni novinski sajtovi vesti objavljuju na svaki sat, što je jako malo za posećen sajt – u tom satu oni prikažu desetine hiljada ili više članaka. Ono što je isto karakteristično je da su, po pravilu, samo neki članci čitani. Iako ovi sajtovi imaju arhivu koja ide godinama unazad, čita se, uglavnom, nekoliko desetina najnovijih. Od svih tih desetina hiljada poseta, preko 99% čini pregled jednog od 50 najčitanijih tekstova tog sata. A ti tekstovi su potpuno nepromenjljivi.

Ova osobina nepromenjljivosti je ono što daje ogromnu prednost u održavanju i optimizaciji ovih sajtova. Iako postoji napredan sistem kreiranja i uređivanja sadržaja i iako se ti saržaji čuvaju u složenoj strukturi, krajnji rezultat je potpuno statične prirode i služi se nepromenjen desetinama hiljada puta potpuno isti. Ovo, sa tehničke strane, omogućava da se jednom izgenerisana strana snimi u celosti, kao čist html i da se smesti u neko privremeno spremište (disk ili čak direktno u RAM) i da se odatle služi svaki sledeći put! Razlike u performansama su ogromne, neki spor CMS kao joomla može da generiše stranu i par desetina sekundi, ali to će se raditi samo pri prvom prikazivanju. Svaki sledeći put, tj. realno svaki put (izuzetak je samo prvi od par hiljada, ispod 0.1%) server služi sadržaj iz RAM-a, odakle ga može povući za par milisekundi, realno preko hiljadu puta brže.

Na suprotnoj strani su sajtovi koji nude usluge, tzv. service providers. Limundo je tipičan service provider, kao i npr. sajt vašeg e-banking-a. Stranice koje gledate na njemu su generisane tačno za vas, i to u trenutku kada ih zahtevate. Većina sadržaja je personalizovana vama (kao što je stanje računa, poruke i sl.), a, dodatno, i zavisna od vremena. Sve informacije na strani se zapravo menjaju u vremenu, jednostavno poruke pristižu, finansijske transakcije prolaze, vaš račun se puni ili prazni, drugi korisnici licitiraju, menja se vreme do isteka…

Sve ovo dovodi do jedne suštinske razlike u odnosu na sajt statične prirode: Nijedan sadržaj na strani nije isti u dva prikazivanja – ili to ne mora da bude. Svaki put kada se strana učitava ceo sistem mora da je ponovo izgeneriše, od nule, za svakog korisnika. Za razliku od content sajta gde jednom generisanu stranu server prikazuje u potpuno istom, neizmenjenom obliku desetinama hiljada puta, ovde se svaka strana prikazuje samo jednom, a zatim ponovo generiše, makar u pitanju bilo i prosto “osvežavanje” stranice.

Suština je razlika u performansama. Za razliku od content provajdera, gde performanse nisu kritične sve dok sloj za keširanje radi dobro, service provider mora da ima ceo sistem vrhunskih performansi. Dok neko ko prikazuje samo sadržaj može da radi na relativno malom sistemu service provider mora da ima veliki i dobro optimizovan sistem i mora da posveti pažnju svakom detalju. Ovo dalje podiže ne samo kompleksnost već i tehničke zahteve ka onima koji projekat realizuju, usložnjava ceo proces i podiže i krajnje troškove za više redova veličine.

Post Usluga ili Sadržaj je objavljen na sajtu LimundoGrad blog.

]]>
https://blog.limundograd.com/2015/10/usluga-ili-sadrzaj/feed/ 2
Kako radi SSL https://blog.limundograd.com/2015/10/kako-radi-ssl/ https://blog.limundograd.com/2015/10/kako-radi-ssl/#comments Mon, 05 Oct 2015 06:29:13 +0000 http://blog.limundograd.com/?p=67335 U subotu 26. septembra sam učestvovao na developers’ mday  konferenciji u organizaciji kompanije Mainstream koja je okupila predstavnike nekih od najvećih domaćih sajtova i portala. Ja sam ispred LimundoGrada održao predavanje o SSL protokolu, njegovoj generalnoj matematičkoj pozadini i njegovoj upotrebi u sigurnim https konekcijama. U nastavku je deo predavanja koje objašnjava osnovne koncepte https […]

Post Kako radi SSL je objavljen na sajtu LimundoGrad blog.

]]>
U subotu 26. septembra sam učestvovao na developers’ mday  konferenciji u organizaciji kompanije Mainstream koja je okupila predstavnike nekih od najvećih domaćih sajtova i portala.

Ja sam ispred LimundoGrada održao predavanje o SSL protokolu, njegovoj generalnoj matematičkoj pozadini i njegovoj upotrebi u sigurnim https konekcijama. U nastavku je deo predavanja koje objašnjava osnovne koncepte https (HTTP over TLS, HTTP over SSL ili HTTP Secure) protokola.

SSLHadshake

1.) Razmena poruka – problem
Istorijski, ljudi su oduvek imali potrebu da razmenjuju poverljive poruke preko nesigurnih kanala komunikacije. Tako je prema mnogim izvorima jos Julije Cezar koristio način šifrovanja poruke koji se zasnivao na zameni slova poruke po ključu koji je bio poznat samo njemu i njegovim generalima kojima je poruka bila namenjena. Ovakvu poruku su njegovi glasnici nosili kroz rimsko carstvo, a šifrovanje je garantovalo da poruka ne bi mogla da se pročita ako bi glasnik bio presretnut i poruka pala u pogrešne ruke. Takav način kriptovanja je po njemu dobio naziv Cezarova šifra i predstavlja jedan od prvih simetričnih kriptoalgoritama.

Sa ulaskom Interneta u sve pore naših života, više nego ikada postoji potreba za kriptovanjem komunikacije koja ide kroz nesigurni kanal – Internet.
Poruke koje preko Interneta šaljemo jedni drugima prolaze kroz mnoga čvorišta na svom putu između pošiljaoca i primaoca, i na svakom takvom čvorištu ju je vrlo lako presresti i pročitati, ili još gore izmeniti i proslediti dalje primaocu koji nije svestan da je poruka izmenjena.

2.) Prvo rešenje
Očigledno rešenje za ovaj problem je primena simetričnog šifrovanja/kriptovanja poput Cezarovog algoritma. Kod simetričnog kriptovanja se podaci koji se razmenjuju šifruju i dešifruju jednim tajnim ključem (lozinkom), koji mora da bude poznat i pošiljaocu i primaocu kako bi se omogućila komunikacija. Samo kriptovanje se vrši snažnim algoritmima koji praktično onemogućavaju kriptoanalizu i dešifrovanje poruke ako se ne zna tajni ključ. Neki od predstavnika simetričnih algoritama su Twofish, Serpent, AES, Blowfish, DES koderi itd.

Na prvi pogled ovakvo kriptovanje obezbeđuje sigurnost poruka, međutim ono sadrži jednu ugrađenu manu – da bi primalac mogao da dešifruje našu poruku mora da zna naš tajni ključ. A u praksi jedini način da primaocu efikasno saopštimo naš tajni ključ/lozinku jeste da ga pošaljemo nekriptovanog kroz taj isti nesigurni kanal komunikacije. To obesmišljava ceo koncept, jer osoba koja prisluškuje našu rutu će iščitati tajni ključ i moći će da ga koristi ubuduće za dešifrovanje naših šifrovanih poruka.

3.) Drugo rešenje
Rešenje ovog problema je tokom sedamdesetih godina prošlog veka pronađeno razvojem matematičkog modela asimetričnog kriptovanja. Asimetrično kriptovanje podrazumeva da primalac poseduje jedinstveni par ključeva – tajni ključ i javni ključ. Ova dva ključa uvek idu u paru, tačnije svaki javni ključ je povezan sa tačno jednim tajnim ključem i obrnuto. Javni ključ primaoca je javno dostupan i poznat svim zainteresovanim pošiljaocima. Tajni ključ poznaje isključivo primalac – njegov vlasnik.
Sam proces komunikacije izgleda tako što pošiljalac najpre iščita javni ključ primaoca (sa njegovog websajta npr) i kriptuje svoju poruku javnim ključem primaoca. Algoritam asimetričnog kriptovanja obezbeđuje da se ova poruka nakon toga može dekriptovati isključivo tajnim ključem primaoca (nemoguće ju je dešifrovati javnim ključem korišćenim za njeno kriptovanje). Kriptovana poruka se zatim šalje primaocu koji je dekriptuje svojim tajnim ključem i tako je otvara za čitanje.

Ovakav proces ne zahteva razmenu tajnog ključa koji uvek ostaje u isključivom posedu primaoca i time je ukinuta najveća mana simetričnog kriptovanja – razmena tajnog ključa.
Prvi algoritam koji je omogućavao ovakav koncept je RSA (dobio je naziv po prezimenima matematičara koji su ga razvili – Ron Rivest, Adi Shamir i Leonard Adleman) i zasnovan je na faktorisanju dva velika prosta broja i upotrebi Ojlerove fi funkcije. Detaljnije proučavanje same matematike RSA algoritma možete da nastavite ovde.
Kasnije su razvijani novi asimetrični algoritmi, kao što su na primer DSA (Digital Signature Algorithm) razvijen od strane vlade Sjedinjenih Američkih Država, ECDSA (Elliptic Curve DSA) varijanta DSA zasnovana na grupi eliptičkih krivulja koji ima manji ključ ali povećanu sigurnost itd.

4.) Opet problem
Međutim, kako to obično biva u inženjerskoj praksi, kada god na jednoj strani nešto dobijete – na drugoj strani morate nešto da izgubite. Isto je važilo i za rešenje sigurne komunikacije preko asimetričnih kriptoalgoritama. Naime, ovi algoritmi jesu omogućavali sigurnu razmenu šifrovanih poruka eliminacijom potrebe za razmenom tajnog ključa, međutim zbog kompleksnije matematike u svojoj pozadini oni su značajno sporiji od simetričnih algoritama. To bi u slučaju njihovog isključivog koriščenja dovelo do značajnog smanjena brzine Interneta i povećanja troškova zbog skupih procesora potrebnih za obradu ovakvih poruka.

5.) Hibridno rešenje
Inženjerska praksa je dala i rešenje ovog novog problema – hibridizacija. Hibridizacija ili ukrštanje je proces u kojem se dve vrste spajaju/ukrštaju sa ciljem da se uklone mane a zadrže prednosti svake od ukrštenih vrsta.
U ovom slučaju osnovna ideja je da se samo prilikom prvog uspostavljanja veze koristi asimetrični kriptoalgoritam kojim se kriptuje simetrični ključ i zatim se tako kriptovan simetrični ključ pošalje drugoj strani. Nakon što se na ovaj način razmeni simetrični ključ, ostatak komunikacije se kriptuje brzim simetričnim algoritmom uz korišćenje simetričnog tajnog ključa. Ovakav koncept omogućava da se spori asimetrični kriptoalgoritam koristi samo prilikom prve razmene paketa (handshake) koji čini zanemarljivo mali procenat svih razmenjenih podataka. Tako je obezbeđena sigurnost a istovremeno sačuvana i brzina komunikacije.

6.) Ljudski faktor
Međutim, ovo nije dovoljno da se u potpunosti garantuje bezbedna komunikacija. Sa tehničke strane podaci su kriptovani i ne mogu se pročitati, ali ništa ne sprečava treću stranu da se lažno predstavlja kao primalac poruke, pošalje svoj javni ključ, i tako na prevaru od pošiljaoca dobije poverljive podatke koje je u stanju da dekriptuje (man in the middle attack).
Da bi se rešio ovaj problem, koji suštinski nije tehničke prirode, uvodi se posebno telo – Certificate Authority (CA). CA je treća strana koja je od poverenja i kojoj veruju sve ostale strane u komunikaciji. CA kod sebe drži spisak javnih ključeva i izdaje poseban fajl sa kriptovanom potvrdom da je javni ključ zaista u vlasništvu osobe koja to tvrdi – ovaj fajl se naziva certifikat. Svako može da zatraži certifikat o svom javnom ključu tako što ovom telu pošalje Certificate Signing Request (CSR) koji sadrži javni ključ za koji se traži certifikat i naravno podatke o tražiocu. Neka od najpoznatijih CA tela su na primer Thawte, Symantec, Digicert itd.

Time se zaokružuje proces komunikacije:
– pošiljalac kontaktira primaoca i traži od njega javni ključ i certifikat
– pošiljalac kod CA pomoću certifikata upoređuje da li je javni ključ zaista u vlasništvu primaoca, ili je neko pokušao da se lažno predstavlja i da poturi svoj javni ključ
– CA potvrđuje da je javni ključ u vlasništvu primaoca
– pošiljalac kriptuje simetrični ključ koristeći javni ključ primaoca i šalje ga primaocu
– primaoc dekriptuje simetrični ključ koristeći svoj asimetrični tajni ključ
– Ostatak komunikcije se obavlja simetričnim kriptovanjem za koje se koristi razmenjeni tajni ključ

7.) SSL
Gornji proces zapravo predstavlja SSL (Secure Sockets Layer) protokol koji se koristi za sigurnu (https) komunikaciju preko Interneta. Pošiljalac je browser posetioca websajta koji je zaštićen https protokolom, a primalac je server na kome se taj websajt nalazi (hostuje).

Želeo bih ovde da napomenem da je TLS (Transport Layer Security) zapravo isto što i SSL. Tačnije, TLS je unapređenje SSL algoritma koje je primenjeno 1999. godine. Izraz SSL se jednostavno zadržao iz navike.


Slika preuzeta sa XKCD

8.) Upotrebe
SSL kao koncept omogućava još neke veoma važne koncepte, od kojih bih izdvojio:
– Digitalni potpis – nedvosmisleno utvrđivanje ko je pošiljalac poruke
– Neporecivost – pošiljalac poruke/emaila koji je digitalno potpisan ne može da porekne da je upravo on poslao tu poruku
– Nepromenljivost – Ako treća osoba pokuša da promeni poruku, proverom digitalnog potpisa to može nepobitno da se utvrdi. Nepromenljivost je vrlo bitna – poznata je priča o drevnom pisaru koji je zatvoru sa osuđenikom na smrt poslao poruku “Ubiti, ne osloboditi” umesto poruke “Ubiti ne, osloboditi”. Jedna sitna promena – zarez na pogrešnom mestu, je značila razliku između života i smrti.

O ovim i drugim konceptima kao i o našim iskustvima vezanim za uticaj https na SEO, brzinu sajta i slično, planiramo da pišemo detaljnije u nekom od narednih blogova, u međuvremenu sva svoja pitanja može postaviti ovde ili preko @LimundoGradnja twitter naloga.

Post Kako radi SSL je objavljen na sajtu LimundoGrad blog.

]]>
https://blog.limundograd.com/2015/10/kako-radi-ssl/feed/ 1
[KONFERENCIJA] #CodingSerbia i Big Data https://blog.limundograd.com/2015/09/konferencija-codingserbia-i-big-data/ Thu, 17 Sep 2015 13:39:08 +0000 http://blog.limundograd.com/?p=67194 I ove godine, treći put za redom, se održava internacionalna Coding serbia konferencija. Na prvoj konferenciji sam učestvovao kao predavač, drugu smo ispratili kao posetioci i evo već je došlo vreme za treće izdanje #CodingSerbia – ovoga puta sam u ulozi zvaničnog blogera. Protekle dve konferencije su bile izuzetno zanimljive i pokrile su vrlo aktuelne […]

Post [KONFERENCIJA] #CodingSerbia i Big Data je objavljen na sajtu LimundoGrad blog.

]]>
I ove godine, treći put za redom, se održava internacionalna Coding serbia konferencija. Na prvoj konferenciji sam učestvovao kao predavač, drugu smo ispratili kao posetioci i evo već je došlo vreme za treće izdanje #CodingSerbia – ovoga puta sam u ulozi zvaničnog blogera.
Protekle dve konferencije su bile izuzetno zanimljive i pokrile su vrlo aktuelne i značajne teme. Neke meni najinteresantnije su bile: Cloud computing, Big data, agile development, nove trendove u testiranju i razvoju softvera.

Kako LimundoGrad HR menadžer Milica Ivić kaže: “Jedna od industrija koja se najbrže menja je IT. Zamislite programera koji ne prati nove trendove i zaustavi se na znanjima i tehnologijama aktuelnim u ovom trenutku. Za koliko će sve to biti prevaziđeno? Zato je posebno važno da se IT stručnjaci (ali ne samo oni), stalno edukuju i prate nove trendove. Jedan od načina je prisustvo na konferencijama kao što je CodingSerbia. A konferencije, pored novih znanja i informacija, nude i uspostavljanje kontakata. Iskoristite sve prednosti CodingSerbia konferencije”.

Ove godine mene i moje kolege posebno interesuje Big Data segment kojim se u LimundoGradu intezivnije bavimo već par godina.
Kroz LimundoGrad servere, po prirodi poslovanja, prolazi bukvalno stotine miliona podataka dnevno a u našim NoSQL i Relacionim bazama se čuva preko dve i po milijarde podataka neophodnih za normalno funkcionisanje LimundoGrad sistema. Paradoksalno, ali pored ovih milijardi podataka koje čuvamo, mesečno obrišemo još milijarde podataka u vidu raznim pristupnih logova i agregiranih podataka.

Analiza i praćenje podataka koje čuvamo nam omogućava da na vreme predvidimo moguće hardverske i softverske probleme i odreagujemo preventivno, takođe na osnovu ovih analiza neprekidno prilagođavamo svoj sistem stalno promenljiim navikama naših korisnika.
Stoga nam je posebno zanimljivo predavanje Pola Steka (Paul Stack) – “How do you scale a logging infrastructure to accept a bilion mesages a day?” drugog dana konferencije u 14:45
Zahvaljujući analizi podataka u našim Big Data skladištima razvijamo više sistema preporuka, te nam je zanimljivo i predavanje “Recommender systems: a valuable tool in the data-driven era” od Miloša Jovanovića drugog dana od 16:45.
Preporučujemo svima koje interesuju ove teme da poslušaju ova dva predavanja.

Correlation – Slika preuzeta sa XKCD

U susret ovim predavanjima, u nastavku je mini intervju sa našim glavnim sistem inženjerom Nikolom Krgovićem na temu Big Data tehnologija i alata:

[divider] [/divider]
Šta je “Big Data” :

Realno, big data je marketinški termin. Koristi se u opisu većine sistema koji podržavaju rad sa jako velikim količinama podataka. Nekoliko parametara koji su se iskristalisali kao definišući za Big Data su:

– Podaci u količini značajno većoj od one za koju koristimo tradicionalne relacione baze podataka. U svakom slučaju pričamo o desetinama i stotinama terabajta, a često i o petabajtima.

– Nestruktuirani podaci. Iako većina podataka ima neku strukturu većina big data sistema podržava fleksibilne modele struktuiranja podataka. Kako se ovi sistemi najčešće koriste za obradu podataka od strane korisnika, u vidu raznih logova i/ili senzorskih očitavanja (“internet of things” paradigma), od izuzetne je važnosti da sistemi nastave sa radom i u slučaju da dođe do promene ulaznih formata, bilo dodavanjem novih informacija ili npr. promenom softvera koji generiše podatke.

– Podaci koji koriste tzv. map-reduce paradigmu, kao model obrade podataka. Inicijalni big data sistemi su zasnovani na modelu koji je opisan kao BigTable od strane Google-a. Suštinski se radi o sistemima koji su optimizovani za paralelnu obradu podataka, gde se delovi mogu obrađivati nezavisno i gde se većina posla može obaviti u vidu paralelnog procesiranja, koristeći pre svega korizontalno skaliranje i veliki broj relativno jeftinih računara umesto tzv. big-iron mašina.

—————-

Koje konkretne tehnologije i alati se koriste:

Kada se govori o Big Data sistemima najčešće se misli na Apache Hadoop i apache stack. Nekada je ovaj stack uvek koristio i apache map reduce, mada se danas ubrzano prelazi na yarn framework. Ipak HDFS kao distribuirani fajl sistem predstavlja osnovu većine big data implementacija.

Dodatni alati uključuju pre svega Hive i HQL jezik kao alat za slanje sql-like upita koji je često mnogo korisniji i praktično primenjiviji od pisanja yarn/map-reduce job-ova i omogućava interaktivni rad. Mi u Limundu koristimo i Impala-u, koja je sličan alat, ali nije razvoj Apache fondacije već Cloudera Inc.

Pomoćni alati uključuju pre svega Pig kao alat za uvoz i manipulaciju podacima, kao i Sqoop koji mnogi koriste za uvoz feed-ova sa društvenih mreža.

HBase kao kolumnarna baza predstavlja dosta zanimljiv alat, zgodan pre svega za one koji žele i mogu da bolje struktuiraju podatke.

Konačno, python i scala jezici uz spark framework preuzimaju primat u popularnosti razvoja u odnosu na Java-u i MapReduce. Jednostavniji rad, posebno uz podršku za Machine Learning biblioteku su smer u kome mi idemo i koji dosta developera sve više prihvata.

—————-

Koje su najčešće primene:

Pre svega praktične primene se tiču skladištenja i analize velike količine podataka. Na osnovnom nivou, uz NFS gateway big data hadoop sistem može da prestavlja i scale-out sistem za skladištenje podataka, mada njega prava snaga leži, naravno u mogućnostima obrade i manipulacije tim podacima.

Ne treba ignorisati ni primene hdfs-a kao backend-a za mnoge druge alate. Sam HDFS može da se koristi kao back-end za full-text database sisteme kao što je ElasticSearch, koji je zasnovan na Lucene biblioteci, ili direktno za SOLR sistem. Ceo ELK stack (ElasticSearch-LogStash-Kibana) stack može da koristi HDFS kao back-end za snimanje i dalju prezentaciju podataka, plus da ponudi osnovu za dalju analizu. Već provereni SIEM sistemi, pre svega Splunk mogu da imaju back-end storage u HDFS-u, nudeći iste mogućnosti!

Konačno, HDFS može da bude back-end i za Cassandra distribuiranu bazu. Ovo je jako zanimljiva tehnoligija i ima dosta NoSQL sistema koji su na manjim količinama podataka konkurentni ili komplementarni sistemima zasnovanim na Hadoop stack-u. Oni koje to zanima bi, po meni, pre svega trebalo da obrate pažnju na gore pomenute ElasticSearch i Cassandra baze, zatim MongoDB i TokuMX o kojima smo već pisali kao i na HP Vertica, komercijalno rešenje koje je besplatno za razvoj i rad sa malim količinama podataka (do 1TB)

Na kraju, obrada podataka, uz mogućnost sopstvenih machine learning alata predstavlja pravu prednost Big Data sistema. Početi samo sa skupljanjem logova je pravi put napred, jednom sakupljeni podaci mogu i samo manipulacijom uz pomoć gotovih sql-like alata da pomognu i daju nove uvide u postojeće sisteme. Dalji napori, usmereni na machine learning i napredne analize mogu predstavljati izuzetno moćne alate za razvoj, debug postojećih sistema, praćenje rada kako sistema, tako i praćenje i analizu navika potrošača.

—————-

Gde su komercijalne prednosti:

Prve i očigledne prednosti su pre svega prikupljanje podataka. Big-data sistemi su idealni za praćenje ponašanja sistema, prikupljanje i analizu grešaka i kao alat kojim će se “uloviti” one retke i uporne greške koje se javljaju samo nekad, a koje je do sad bilo teško uloviti. Ovakvi sistemi nude dosad nezamislive mogućnosti praćenja rada sistema do najsitnijih detalja i mogu programerima pružiti sjajan uvid u rad sistema i time omogućiti izuzetne optimizacije.

Mnogo profitabilnije primene predstavljaju analize ponašanja potrošača. Analize trendova i predviđanje poslovanja omogućavaju mnogo bolje planiranje i rast preduzeća, a, mnogo bitnije, praćenje navika kupaca može da omogući detaljno predviđanje potreba nabavke, kao i personalizovane preporuke i mnogo bolje metode plasiranja reklamnih poruka. Dugoročno prikupljanje podataka i njihova analiza mogu preduzeću omogućiti da potrošačima ponudi tačno ono što žele i time povećati i njihovo zadovoljstvo uslugom i potrošnju i prihode kuće.

[divider] [/divider]

U zaključku želim da napomenem da su mi prethodna izdanja CodingSerbia konferencije ostala u jako lepom sećanju. Bio sam prijatno iznenađen brojem predavanja, radionicama i kvalitetom predavača, kao i organizacijom generalno. Organizatori su omogućili i direktno upoznavanje i razmenu iskustava sa predavačima, što je uz format konferencije od dva dana značajno povećalo količinu novih ideja i prenesenog znanja. Sa obzirom da će i ove godine učestvovati preko trideset predavača iz petnaest zemalja, to će sigurno biti slučaj i na ovoj konferenciji.

Za kraj moram kao prvo da kažem da sam ja generalno jako tvrd na pohvalama, a kao drugo da preporučim svim čitaocima da definitivno posete CodingSerbia 2015 u periodu od 08. do 09. oktobra ove godine, uveren sam da će i ove godine to biti jedna od najznačajnijih IT konferencija 🙂

Post [KONFERENCIJA] #CodingSerbia i Big Data je objavljen na sajtu LimundoGrad blog.

]]>
BalCCon2k15 – Third Time’s A Charm https://blog.limundograd.com/2015/09/balccon2k15-third-times-a-charm/ https://blog.limundograd.com/2015/09/balccon2k15-third-times-a-charm/#comments Tue, 15 Sep 2015 12:17:45 +0000 http://blog.limundograd.com/?p=67132 Prošlog vikenda u Novom Sadu održan je treći po redu balkanski kompjuterski kongres – BalCCon. Pošto sam zbog drugih obaveza propustio prošlogodišnji BalCCon2k14, jedva sam čekao početak treće konferencije a imao sam i dosta velika očekivanja u odnosu na prvu konferenciju. Kako smo se proveli pre dve godine možete pročitati ovde. Kako je bilo ove […]

Post BalCCon2k15 – Third Time’s A Charm je objavljen na sajtu LimundoGrad blog.

]]>
Prošlog vikenda u Novom Sadu održan je treći po redu balkanski kompjuterski kongres – BalCCon. Pošto sam zbog drugih obaveza propustio prošlogodišnji BalCCon2k14, jedva sam čekao početak treće konferencije a imao sam i dosta velika očekivanja u odnosu na prvu konferenciju. Kako smo se proveli pre dve godine možete pročitati ovde. Kako je bilo ove godine, šta sam sve imao prilike da čujem vidim i naučim čitaćete u ovom blog postu.

Da vas ne držim u neizvesnosti – konferencija, koja okuplja zaljubljenike u IT iz raznih sfera protekla je fenomenalno sa velikim brojem interesantnih predavanja i radionica.
Za početak napraviću poređenje između trećeg i prvog BalCCon-a. Iako je prvi BalCCon bio veoma kvalitetan događaj ekipa iz LUGoNS-a pokazala je da može dosta bolje i kvalitetnije.
Treća konferencija, pored odlične posete i gostiju iz svih krajeva sveta imala je i pregršt pratećih aktivnosti i sadržaja. Zbog dužine samog teksta nažalost neću moći da spomenem sve zanimljive stvari koje smo mogli da vidimo i čujemo. Odlučio sam se da izdvojim 4 stvari koje su, po mom mišljenju, obeležile ovogodišnji BalCCon.

1. GSM test mreža

Pored štandova sa hranom i odličnim KUM craft pivom bilo je i dosta interesantnih “tehničkih sadržaja”.
Za početak, Luka Gerzić postarao se da ovogodišnji BalCCon ima svoju test GSM mrežu:

GSMStation-Luka  

2. CTF takmičenje

Za kvalitetno prekraćivanje vremena između predavanja i radionica, ali za neke i više od toga, postarali su se gosti iz Slovenije, momci iz komanije Viris.si koji su specijalno za BalCCon kreirali vrlo ozbiljno capture the flag takmičenje. I sam sam uzeo učešće u ovom takmičenju ali o postignutim rezultatima ne bih javno pisao. Ipak nisam bio poslednji 🙂 CTF

3. Gejmerska radionica

Po mom subjektivnom mišljenju vrhunac konferencije bila je gejmerska radionica koju je držao legendarni Voja Antonić, konstruktor računara Galaksija. Voja nam je predstavio svoj set za samogradnju: DIY Single-chip 2D Retro Game Console. Kada smo došli na mesto održavanja radionice zatekla nas je ovakva slika: COs2FgeUcAATenM Nakon toga usledilo je malo lemljenja, zapravo malo više lemljenja: COs-bEzWoAAYtAa.jpg:large Neki su davali i korisne savete. “Ako miriše na piletinu, držiš pogrešno”

A finalni rezultat izgledao je ovako, potpuno funkcionalna igračka konzola:
IMG_20150914_101154

4. Čega se zapravo odričemo kada prihvatimo uslove korišćenja na društvenim mrežama?

IT pravnik Žarko Ptiček napravio je interesantnu pravnu analizu uslova korišćenja najpoznatijih internet servisa. Na svom predavanju Ptiček nam je izneo sve pravne začkoljice, sporne stvari kada je u pitanju privatnost i vlasništvo nad sadržajem na koje pristajemo da bismo za uzvrat dobili besplatnu uslugu.
Glavni zaključak je da pristajemo na mnogo toga a u slučaju da mi imamo problem sa tim servisima jako skupo i gotovo nemoguće bilo bi da ostvarimo naša prava.
Stoga imamo dve opcije – da pomenute servise ne koristimo ili da ih koristimo sa oprezom.

Uz Ptičeka odlična predavanja imali su i Milan Gabor iz Slovenije kao i gost iz turske, Alper Basaran koji je imao seriju predavanja o pentestovima i sigurnosti web aplikacija.

Kada podvučemo crtu i vidimo šta smo sve čuli, videli, naučili na BalCCon-u možemo samo pohvaliti organizatore i predavače na odlično odrađenom poslu i obećati da ćemo doći i sledeće godine.

Post BalCCon2k15 – Third Time’s A Charm je objavljen na sajtu LimundoGrad blog.

]]>
https://blog.limundograd.com/2015/09/balccon2k15-third-times-a-charm/feed/ 2