Rails 2.2.2 finalmente rilasciato

Rails - framework Ruby

L’attesa nuova versione di Rails è stata finalmente rilasciata. Attualmente le gemme della nuova versione si stanno propagando per i server; per procedere all’installazione basta digitare il classico ruby gem install.

Questa versione è particolarmente importante perché aggiunge alcune delle caratteristiche al framework che sono sempre state desiderate da alcuni utenti:

  • sistema di internazionalizzazione incluso nel core
  • compatibilità migliorata per jRuby r Rub 1.9
  • Thread safety e connection pool
  • supporto migliorato per etag e last-modified

Rails 3.0

Con il rilascio della versione 2.2.2, lo sviluppo procede ora verso la versione 3.0 di Rails. Come si addice ad una major release sarà possibile imbattersi in problemi di incompatibilità e procedure di migrazione delle vecchie applicazioni scritte in Ruby on Rails.


Aggiornare Rubygem alla versione 1.3.x

Rubygem ha raggiunto la versione 1.3; richiedendo l’aggiornamento con il classico comando gem update --system utilizzando la versione 1.2.x si ottiene come risposta un laconico Nothing to update.

Per procedere al corretto aggiornamento è necessario digitare il comando:

$ gem install rubygems-update
Successfully installed rubygems-update-1.3.1
1 gem installed

e quindi

$ update_rubygems

Ora Rubygem è aggiornato correttamente:

$ gem -v
1.3.1

thor: task remoti in Ruby

thor rubyPer tutti coloro che utilizzato Ruby, rake è un tool usato quotidianamente. rake nasce per fare le veci del comando make per l’esecuzione di task ripetitivi; si prepara un task utilizzando il DSL di rake, che può invocare tanto metodi Ruby quanto comandi di sistema, e si ha a disposizione una “ricetta” da utilizzare all’occorrenza. Utilizzando Ruby on Rails si ha a che fare quotidianamente con rake per la gestione del database, dei file temporanei, della cache e così via.

thor cerca di migliorare le funzionalità già offerte da rake dando la possibilità di eseguire task remoti (ad esempio conservati in un repository), migliorando il supporto per i parametri da riga di comando e offrendo un sistema di mapping parametri da riga di comando / metodi decisamente più chiaro di quello offerto da rake. Nell’ultima release thor offre anche il supporto a rspec per scrivere test che controllino il corretto funzionamento dei task.

Anche se il progetto è molto giovane offre degli spunti decisamente interessanti; difficilmente thor sarà in grado di sostituire l’onnipresente e il robusto rake, ma è sicuramente in grado di dimostrarsi un valido strumento per la distribuzione di task automatizzati.

Per installare thor è sufficiente eseguire sudo gem install thor da riga di comando; il progetto è open source e raggiungibile a questo indirizzo.


Clustering trasparente di jRuby con Terracotta

jRuby, l’implementazione di Ruby su piattaforma Java, riesce a sorprendere con una soluzione decisamente interessante per la distribuzione di workers a memoria condivisa.

Il concetto che sta alla base della soluzione è che più istanze di jRuby possano condividere oggetti in maniera trasparente e transazionale; in questo modo le differenti istanze possono lavorare condividendo gli stessi oggetti pur essendo distribuiti su ambienti differenti. L’idea apparsa sulla mailing list di jRuby e’ stata implementata da Fabio Kung che l’ha documentata in questo video.

JRuby + Nailgun and JRuby + Terracotta


Framework MVC in ASP.NET di Microsoft

Sono tornato dopo qualche mese alla pagina ufficiale del progetto ASP.NET MVC, un framework realizzato con tecnologia .NET per la realizzazione di applicazioni web secondo il modello MVC. La sensazione che ebbi era di un progetto decisamente in ritardo che cercava di inseguire concetti e tecnologie consolidate in altri ambienti da quattro anni (pattern MVC, convention over configuration, generazione del codice… ricorda qualcosa?) e una generale immaturità del framework, ancora in fase di sviluppo.
Leggi “Framework MVC in ASP.NET di Microsoft” »