Sotto un cielo plumbeo (condizione metereologica abbastanza comune a Portland) i partecipanti della RailsConf 2008 stanno cominciando ad abbandonare la sala conferenze dopo aver seguito un magnifico intervento di Kent Beck. Kent ha ripercorso insieme alla platea la nascita di tre dei suoi più importanti contributi alla programmazione moderna: Patterns, Development Testing ed Extreme Programming.
La sessione ha sforato di oltre mezz'ora il tempo massimo per via delle innumerevoli domande poste a questo eccentrico personaggio.
Andando a ritroso lungo l'intera giornata di oggi (NdR. Sabato 31 Maggio), non possiamo non menzionare i fantastici Lightning Talks che si sono tenuti oggi nel primo pomeriggio. Per chi non conoscesse il termine questo tipo di intervento si caratterizza dalla sua cortissima durata (massimo 10 minuti) e dal fatto che nella maggior parte dei casi a salire sul palco sono persone emozionate alla loro prima esperienza. Tra gli argomenti proposti merita una citazione Rad un framework sviluppato in Ruby che consente di utilizzare Ruby per programmare e pilotare Arduino.
Sempre nel pomeriggio si è tenuta la sessione di David Chelimsky, il quale ha introdotto RSpec StoryRunner, un plugin che consentirà agli sviluppatori Rails di descrivere il comportamente della propria applicazione (in puro stile behavior driven development) per poi utilizzare quanto specificato per eseguire integration test sul codice.
La mattina è stata caratterizzata invece da un keynote di Jeremy Kemper, che ha insistito su quelli che saranno i nuovi aspetti della release 2.1 di Rails che verrà rilasciata entro Giugno 2008.
Tra le novità la possibilità di specificare all'interno dei models delle particolari combinazioni di condizioni/ordine/limite/ecc.. e dare loro un nome, che potrà poi essere usato nelle associazioni: ad esempio:
class User < ActiveRecord::Base named_scope :active, :conditions => { :active => true } named_scope :male, :conditions => { :gender => 'm' } belongs_to :project end class Project < ActiveRecord::Base has_many :users end # sarà possibile eseguire costrutti come: Project.find(:first).users.active
Jeremy ha inoltre annunciato che nella versione 2.1 sarà aggiunto il supporto nativo alle timezones.
Note. Si ringrazia Sandro Paganotti ed i ragazzi di GotThingsDone per l'invio di questo post, foto e materiale dedicato all'evento RailsConf 2008 a Portland.