Rails best practices

Rails Best Practices. Ne su viskuo sutinku (nemanau, kad inhereited resources yra gera mintis), prezentacijos kodas turi keletą klaidų, bet joje pateikti apgalvoti pavyzdžiai ir remtasi paskutine (2.3.4) Rails versija.

RubyConfLT 2009

RubyConfLT 2009 !

Programuoji? Programuoji “web’ui”? Programuoji, tačiau programavimas nesijaučia “fun”? Ko gero tau reikia susipažinti su Ruby, gana neseniai išpopuliarėjusi kalba, kuri tapo mūsų kasdienybe ir mes norime pasidalinti savo žiniomis su jumis. Bandysime apžvelgti Ruby ir Rails pasaulio naujoves bei ekosistemą, o taipogi aptarsime visuomet aktualias temas: greitaveiką, “skalabilitą” (scalability) ir testų rašymą. Laukiami ne vien “web developeriai”, tačiau ir žmonės norintys susipažinti su kalba, jos ideologija ir principais, stovinčiais už jos.

Konferencijos programa:

  • Ruby 1.9 (Eimantas Vaičiūnas)
    Neseniai išleista stabili Ruby 1.9 versija atnešė nemažai pakeitimų. Vienas iš didžiausių buvo interpretatoriaus pakeitimas iš MRI (Matz Ruby Interpreter, originalaus Ruby interpretatoriaus) į YARV (Yet Another Ruby VM). Aptarsime šį perėjimą, jo naudą, bei kitas Ruby 1.9 naujoves.
  • Rails 2.3 & 3 (Artūras Šlajus)
    Rails – nepaliaujamai besivystantis projektas, į kurį suplaukia patobulinimai sukurti viso pasaulio programuotojų. Papasakosime kas naujo neseniai išleistoje 2.3 versijoje, bei kokios perspektyvos laukia Rails 3 versijoje, kurioje bus įlietas MERB karkasas. MERB buvo sukurtas, jog pašalintų Rails trūkumus – monolitiškumą, saugaus gijų palaikymo nebuvimą (thread safety) ir kitką. Rails ir MERB suliejimas leis turėti geriausius dalykus iš abiejų pasaulių.
  • Git versijų kontrolės sistema (Artūras Šlajus)
    Git buvo parašytas valdyti Linux kernelio išeities kodą, tačiau Ruby bendruomenė greitai pamatė jo privalumus. Git yra paskirstyta (distributed), greita ir multiplatforminė versijų kontrolės sistema. Kalbėsime apie jos vidinę struktūrą, naudojimą, palyginsime su Subversion ir kokia Git reikšmė Ruby bendruomenėje.
  • Ruby profiliavimas ir greitaveikos testavimas (Eimantas Vaičiūnas)
    Užklausos pradėjo stabdyti? Procesoriaus apkrovimas viršijo proto ribas? Kažkur dingo visa atmintis? Gal pats laikas optimizuoti kodą? Aiškinsimės kaip tai padaryti.
  • Scaling Rails (Saulius Grigaitis)
    Kad ir kaip beoptimizuotum projektą ar kokį galingą serverį benupirktum, galų gale ateis toks laikas, kai vienas serveris projekto jau nebepavilks. Tad ką daryti? Ogi “scalintis”!
  • Cucumber (Saulius Grigaitis)
    Testai yra gerai, testai, kuriuos supranta klientas, yra dar geriau. Cucumber – karkasas, leidžiantis testus aprašyti natūralia kalba. Žiūrėsime ką daryti, jog tai, ką suprantat jūs ir klientas, suprastų ir Ruby.

Konferencijos pradžia: Balandžio 19 diena, 10:00

Kaina: Nemokama

Vieta: Studentų g. 48a-323, Kaunas

Registracija čia

Reikalingas Ruby on Rails programuotojas

UAB “Aktyvus Sektorius” trumpalaikiam projektui ieško Ruby on Rails programuotojo. UAB “Aktyvus Sektorius” specializuojasi mobilaus interneto projektų vystyme, pridėtinės vertės produktų kūrimų mobiliems operatoriams.

Vienas iš dabartinių projektų parašytas Ruby on Rails, reikalauja patobulinimų. Patobulinimai yra susiję su mobiliuoju apmokestinimu.

Reikalavimai: Atsakingumas ir kruopštumas. Ypatingų techninių reikalavimų nėra, tačiau programuotojas turėtu gerai išmanyti Ruby on Rails. Nebijoti klausti.

Nors šis projektas yra trumpalaikis, tačiau gerai pasirodžius įmanomas tolesnis bendradarbiavimas. Apmokėjimas už teisingą darbą – teisingas.

Kontaktinis asmuo:
UAB “Aktyvus Sektorius” produktų skyriaus vadovas
Povilas Skrebutenas
povilas at activesec.eu
tel. 8 652 23040

Ruby on Rails conflicting migrations

Keletai asmenų dirbant prie vieno projekto (arba dirbant prie “multi-application” projekto) pasitaiko konfliktuojančių migracijų. Šių konfliktų taisymas nemaloni ir atidumo reikalaujanti procedūra.

Laimei sanity.inc parašė puikų įskiepą šių konfliktų valdymui.

This can really save your day, ypač kai kai vienu metu į svn’ą pateko daugiau nei 2 žmonių migracijos =)

irbrc warnings in Leopard

Bedirbant su Ruby on Rails Leopard’e konsolėje ties kiekviena užklausa pasirodo šis klaidos pranešimas:

[code]
/etc/irbrc:14: warning: already initialized constant HISTFILE
/etc/irbrc:15: warning: already initialized constant MAXHISTSIZE
[/code]

Norint jo atsikratyti reikia ~/.irbrc byloje įrašyti:
[code]
require ‘irb/completion’
require ‘irb/ext/save-history’
ARGV.concat [ “–readline”, “–prompt-mode”, “simple” ]
IRB.conf[:SAVE_HISTORY] = 100
IRB.conf[:HISTORY_FILE] = “#{ENV[‘HOME’]}/.irb-save-history”
[/code]

Console history

Man dažnai tenka dirbti su Rails console. Neretas yra toks scenarijus panašus į šį:

post = Post.find :first
post.title
pasirodo tai galima sutrumpinti iki

post = Post.find :first
_.title
Ir darbas su Ruby on Rails tampa dar truputi malonesnis =)

Eksperimentuokite