Novi Sad, 10. decembar 2011.

all

Novi skup je bio u Novom Sadu pod organizacijom Rendered Text-a. Obradovao nas je dobar odziv i to što je skoro polovina ljudi došla iz različitih gradova.

grupa 1

Posle uvodnog ćaskanja prešli smo na dvočasovni dojo gde su 4 grupe radile na zadatku - trebalo je isparsirati poslednje objavljenje gemove sa rubygems.org, ukrstiti one čiji je kod na GitHub-u, i sortirati ih po broju pratilaca koje autor gema ima. Ideja je da su novi gemovi zapaženih developera verovatno vredni pažnje.

grupa 2

Na kraju smo zajedno diskutovali šta je koja grupa uradila. Svi smo imali nešto drugačiji pristup - pisanju specova ili organizaciji koda, što je diskusiju učinilo veoma zanimljivom. Vreme je brzo prošlo tako da nam ostaje samo da uskoro ponovimo nešto slično.

grupa 3

Beograd, 25. jun 2011.

U organizaciji Jablana i Saleta, ovaj sastanak se zbio u komfornim prostorijama firme Vast. Na zadovoljstvo svih, posećenost je bila najveća do sada (13 ljudi), a recimo i da je Dalibor došao čak iz Skoplja.

Verovatno su zbog toga aktivnosti odstupile od predloženog rasporeda: glavne teme uvodnog razgovora su bila iskustva sa upotrebom Rubija na poslu i izazovi sa kojima se susreću ljudi čije se firme zasnivaju na drugim tehnologijama, ili gde ne postoji kultura pisanja testova.

To nas je odvelo u salu za prezentacije, gde je autor prisutnima pokazao primer primene BDD-a na popravljanje baga u real life kodu, što je bilo propraćeno diskusijom o RSpec-u i Cucumber-u, vežbanju, picom i krofnama (što se nastavilo na listi). Puno smo pričali i o uslovima za poslovanje u Srbiji.

Par linkova za kraj (Korijeva sabrana dela):

Ruby.rs sastanak u Bgd

Prošlo je već dosta vremena od poslednjeg ruby.rs sastanka i red je da organizujemo sledeći. Firma vast.com, u kojoj radimo Sale i ja, izašla nam je u susret i obezbediće prostorije i infrastrukturu.

Dakle, očekujemo sve rubiste u subotu, 25. juna u 16 sati u prostorijama Vasta - Trg Nikole Pašića 9, ulaz pored Novosti, žuta vrata.

Program bi bio sličan onom od prošlog sastanka:

  • sat-dva TDD coding dojo u parovima (nadam se da MarkoA nema ništa protiv da nam pripremi neki zadatak poput onog od prošlog puta)
  • sat-dva neobavezne diskusije ili prezentacije (ako ima interesenata: npr. izveštaj sa neke konferencije, predstavljanje softvera itd)

Molio bih samo da nam, ako ste u mogućnosti, unapred najavite prisustvo na mejl ["6a61626c616e40726164696f6e692e6361"].pack('H*') ili na Google mailing listu.

16. april 2011., Novi Sad

16. aprila 2011. naša mala družina se ponovo okupila u Novom Sadu, u kancelariji Rendered Text-a koja deluje kao poprilično fino mesto za rad. U odnosu na prethodni zvanični sastanak (od koga je prošlo dosta vremena), povećao se i broj Ruby programera u Srbiji, no na žalost nisu svi mogli da se pojave na sastanku. Nadamo se da će nas sledeći put biti u većem broju :)

Glavna aktivnost ovog sastanka je bio coding dojo, gde je zadatak koji smo rešavali bio PacMan. Ideja je bila da rešimo problem korišćenjem TDD. Problem smo rešavali tako što smo prvo pisali testove za određene akcije koje Pacman može da radi, a zatim pisali kod koji implementira te akcije. Tu smo se upoznali sa RSpecom. Na žalost ja do sada nisam imao velikog iskustva sa testiranjem (jedino od RSpeca što sam video je u RailsTutorialu), ali mislim da sam u tom nekom kratkom vremenu uz Darka i Marka uspeo da razumem neke nove stvari. TDD je odličan jer čoveka tera da u trenutku misli samo na jednu stvar koju implementira, i da se trudi da tu stvar što elegantnije reši. Ja sam tokom rada imao taj osećaj, jednostavno nisam gledao mnogo napred kao što inače radim, i razmišljao sam samo o malom delu koda koji smo u tom trenutku implementirali. Ako bismo kasnije odlučili da refaktorišemo neki kod, testovi su tu i bićemo sigurni da je sve ok. Naravno, i kada dodajemo nove stvari u kod ovime smo sigurni da se ništa što smo već napisali nije pokvarilo. Može se čoveku učiniti da ovakav razvoj traži više vremena, ali je to što smo sigurni da je sve dobro vredno truda. Pisanjem testova dobijamo praktično i dokumentaciju onoga što pišemo, tako da je to još jedan veliki plus (ko još voli da piše dokumentaciju nakon završenog posla :)).

Takođe smo bili podeljeni u grupe, i menjali se za računarom na određeno vreme, tako da je još jedna od “tehnika” sa kojom sam se ja prvi put ovde susreo i programiranje u paru. Divna tehnika, jer ovako možeš dosta da naučiš od ljudi sa kojima radiš, a i lakše je primetiti greške za vreme pisanja koda (bilo sintaksne ili semantičke prirode). Meni se ovo učinilo kao dobra tehnika da se dobije dobar kod, a i kasnije je neko pomenuo da Pivotal Labs radi isto tako. Poprilično zanimljiv način rada, koji bih voleo da praktikujem u svom svakodnevnom poslu.

Da sumiram svoje utiske: super ekipa (@darkofabijan, @jablanovic, @Lesa_ns, @marijanpovolni, @markoa, @sale87), super tema i poprilično uspešan sastanak. Nadam se da ćemo se uskoro okupiti u Beogradu u još većem broju i nastaviti da upoznajemo nove zanimljive tehnike za razvoj.

23. januar 2010. Beograd

U nekada popularnom Beogradskom kafiću na prvom spratu Dom Omladine okupila se grupa kreativih mladih ljudi koji vole Ruby u svim pojavnim oblicima.

Pored toga što smo bili najbrojnija ekipa prisutna u okolnim građevinskim radovima dobro sakrivenom kafiću to nije bilo dovoljno da se prisutno osoblje namoli da pojačaju grejanje. 

I pored nepovoljnih meteo uslova nešto malo više od 3 sata je prošlo kao tren u inicijalnom upoznavanju i razgovru o nama omiljenoj temi - Ruby. Dejan Simić je imao najavljenu javnu prezentaciju ali iz opravdanih razoga istu nije spremio što nam je omogućilo da i dalje razmenjujemo ideje i informacije.

Hladnoća i glad su oglasili završetak ovog skupa. Jednom rečju bilo je SUPER i jedva čekam da se ponovo okupimo.

7. decembar 2009., Novi Sad

Stara četvorka (Slobodan, Darko, Marko i Milan) su se ovog puta našli u kancelariji Rendered Texta. Druženje je propratilo kraće Markovo izlaganje o njegovom skorašnjem radu sa Memcacheom. Rails pruža odličnu integraciju (vidi npr Rails.cache.fetch metodu) sa ovim rešenjem za keširanje rezultata upita na bazu, celog ili parcijalnog sadržaja stranica itd. Glavni programerski zadatak u takvim situacijama jeste doći do ispravne i efikasne logike koja će što više koristiti keš, a da pri tome prikazani sadržaj uvek odgovara najnovijem skupu podataka. Sve se na kraju srećno završilo jednom zanimljivom partijom stonog fudbala.

23. novembar 2009., Novi Sad

Sinoć je naše skromno udruženje dobilo dva nova člana - Dejana Simića i Mladena Jablanovića, koji su zapucali čak iz Beograda. Time je broj članova postao veći za 50% u odnosu na lane.

Dok oni nisu stigli, Slobodan je okupljenima pokazivao Clearance, Rails engine za autentifikaciju. Radi se o rešenju koje je zanimljivo zato što se ne radi sa kodom koji je generisan, već potpuno modularno. Kod u korisničkoj aplikaciji može parcijalno da preklapa ponašanje plugina. Tako je dovoljno, na primer, napisati svoj UsersController sa custom signup akcijom - ona ima pravo prvenstva u odnosu na endžinov UsersController#signup, dok sve ostalo ostaje po endžinu.

Potom je usledilo međusobno upoznavanje, kao i diskusije o projektima kojima se prisutni bave, iskustvima u firmama i radnim praksama. Zaista puno tema. Nisu više svi prisutni Rails ljudi - Jablan koristi Ruby na poslu kao alat za obradu podataka i pravljenje izveštaja.

Novosađani planiraju da se ponovo okupe za dve nedelje, a dogovoreno je da za oko mesec dana održimo novi međugradski skup u Beogradu (detalji će još biti objavljeni na ovom sajtu). Opšti je zaključak da nam stvar ide u dobrom smeru i nadamo se da će nas tom prilikom biti još više.

Prvi sastanak - 16. novembar 2009.

Danas, u 19h u Beza kafeu pored novosadskog Štranda, je bio prvi zvanični Ruby.rs sastanak na kome su prisustvovali Darko Fabijan, Marko Anastasov, Milan Dobrota i Slobodan Kovačević. Svi su bili vrlo raspoloženi i posle nešto ćaskanja o mogućim zajedničkim akcijama u budućnosti, složili se da za početak ustanovimo redovna okupljanja. Želimo da, pored slobodne diskusije na Ruby i Rails teme, tim prilikama neko od prisutnih pokaže neku zanimljivu tehniku, biblioteku, manje poznatu mogućnost jezika ili prosto ukaže na neke nove i zanimljive alate.

Darko je ubrzo otvorio editor i browser i pokazao kako je za potrebe trenutnog klijentskog posla počeo da piše Cucumber integracione testove sa Selenium back endom.

Cucumber je već poznat alat za pisanje funkcionalnih i integration testova. Bazira se na RSpecu i odlikuje ga izuzetno čitljiv DSL koji se sastoji od gotovo prirodnih rečenica na engleskom jeziku. Ti iskazi (ili koraci, steps) se u pozadini zasnivaju na regularnim izrazima, i grupišu se u scenarija koji se mapiraju na Webrat komande.

Velika pogodnost korišćenja Selenium back enda je to što je moguće testirati kompleksne scenarije koji uključuju Ajax pozive, pošto se sve odigrava u programiranom browseru. Sa druge strane, mana ovog pristupa je sporo izvršavanje.

Slobodan je potom pokazao nešto unit test koda koji koristi Shoulda. Shoulda je proširenje za Test/Unit iz standardne biblioteke i pruža mogućnost definisanja konteksta za izvršavanje unit testova, kao i neke dodatne makroe. Ukupno sa ovim gemom je moguće pisati ekspresivnije i kraće unit testove bez prelaska na novi DSL kao što je RSpec. Usledila je i kraća diskusija o mocking i stubbing alatima koje niko od prisutnih još nije koristio u praksi, te smo se svi složili da ih svakako treba probati.

Naredno okupljanje je zakazano već za sledeći ponedeljak, a plan je da se potom održava svake druge nedelje.