Lynda.com – Ruby on Rails Essential Training

Ruby on Rails (essential training)Šiomis dienomis peržiūrėjau Ruby on Rails Essential Training is lynda.com.

Medžiaga susideda iš 17 dalių pateiktu 2 CD. Pradedant nuo 3 dalies prie kiekvieno filmuko yra prikabinta Rails aplikacija, tokia, kokia ji yra filmuko pradžioje ir rekomenduojama visus veiksmus atlikti kartu su autoriumi.

Pirmoje dalyje pasakojama apie Ruby on Rails, DRY, conventions bei MVC architektūrą, kas man asmeniškai buvo visai įdomu.

Antrą dalį – Ruby on Rails instaliaciją sėkmingai praleidau.

Trečioje, ketvirtoje, penktoje bei šeštoje dalyje iš pagrindų pasakojama apie tai kaip Rails’as veikia, aiškinami tokie dalykai kaip view, controllers, file structure, CRUD, routes, (private, public) actions ir panašiai. Šios dalys žiūrėjosi ganėtinai įdomiai, nes nors dirbu su Rails’u kiekviena diena, dažnai tiesiog nesusimastau kodėl tas veikia vienaip ar kitaip, tad išgirsti trumpa lakonišką paaiškinimą buvo ne pro šalį.

Septintoje dalyje pristatoma Ruby programavimo kalba. Šiuo atžvilgiu, manau geriau tiesiog apsilankyti try ruby! puslapyje.

Aštunta dalis – troubleshooting nieko naujo nepasakė: write comments, look for the errors in logs ir break problems into pieces.

Devinta dalis – Models patiko labiausiai. Mes, mašinistai , esame pripratę (ir ne be pagrindo), kad Rails’e modelis – tai duombazės lentelės objektinis atvaizdavimas. O čia autorius nusprendžia eiti kitu keliu ir parodyti kaip veikia modelis be duomenų bazės. Paaiškinamos models, attributes, instances, netgi inheritance sąvokos. Be to ši dalis yra svarbi tuo, kad ją pažiūrėjus net ir didžiausias ignorantas turėtu suvokti MVC.

Dešimta dalis – vėlgi interesting approach. Žingsnis po žingsnio pasakojama apie ActiveRecord parašant SQL kodą, panaudojant ActiveRecord, parašant SQL kodą, panaudojant ActiveRecord… Ši dalis turėtu ypač patikti PHP’ninkams .

Vienuolikta – penkiolikta dalys pasakoja apie muzikos krautuvėlės suprogramavimą. Ir čia laukė didžiausias nusivilimas. Visą laiką tikėjausi, kad autorius tik tik įsibėgėja ir pagaliau “Building Application” skyriuje parodys ką sugeba, o šis skyrius pasirodė tiesiog perrašymu (su nedideliais skirtumais) is Agile Web Development with Rails. Labai bandžiau išgirsti bent kažką originalaus – deja. Be to dirbama buvo su versija 1.16, kurioje (jei man nemeluoja atmintis) tokie dalykai kaip start_form_tag jau buvo deprecated, o pavyzdžiuose pateikiami būtent jie. Tad prieš rasant production code remiantis šia medžiaga reikėtu dar dėl viso pikto užsukti i api.rubyonrails.com.

Bent dalinai išgelbeti padėti dar galejo šešiolikta dalis – Deploying. Visgi tiek yra įdomybiu su production environment, caching, Mongrel, Capistrano. Deja nieko iš to pasakyta nebuvo.

Susumuojant viską mano verdiktas butu toks: jei dar neteko dirbti su Rails, o knygos skaityti nesinori (tačiau ankščiau ar vėliau vis vien teks ) tada Ruby on Rails Essential Training yra geras pasirinkimas. Iš kitos pusės, jei jau teko parašyti vieną kitą Rails aplikaciją, geriau praleisti savaitgalį prie Ruby for Rails arba Rubyisms in Rails.

Upto, downto

Jau gan ilgą laiką dirbu su Ruby, o jis vis dar nenustoja stebinti.

Dirbant su Rails’u (ypač kuriant template’us) dažnai tenka įdėti besikartojančius dummy elementus (pvz. naujienos, meniu punktai ir pan.). Pats neefektyviausias būdas yra žinoma copy-paste. Kurį laiką naudojau kažką tokio:

[code]
< % (1..5).each do |i| %>
Dummy text
< % end %>
[/code]

ir jaučiausi kietas hakeris 😉

Tačiau kažkur giliai viduje žinojau, kad kintamasis “i” čia yra nereikalingas, jutau kad aš atvedžiau jį į gyvenimą, kuriame jam nėra skirta nieko nuveikti, visą laiką kol bus rašomas “Dummy text” gyventi su nepilnavertiškumo kompleksu ir galiausiai išnykti taip ir nepalikus jokio pėdsako šiame pasaulyje.

Tvirtai nusprendžiau daugiau nežaloti nekaltų sielų (nors ir skaitmeninių, gyvenančių vos kelias akimirkas) ir surasti būda kaip galėčiau apsieiti be jų. Ir toks būdas yra!

[code]
< % 1.upto 5 do %>
Dummy text
< % end %>
[/code]

Update: kaip ir buvo pažymėta komentaruose dar gėriau naudoti “times” (kas beje parašyta pačioje Agile Web Development with Ruby on Rails pradžioje =))
[code]
< % 5.times do %>
Dummy text
< % end %>
[/code]

Gera yra žinoti, kad pakeitei kažkam gyvenimą 😉