jRuby 1.1.2 e Ruby 1.8.7 preview

Giusto in tempo per la RailsConf in corso, sono state rilasciate nuove versioni di jRuby e Ruby, entrambi linguaggi in grado di eseguire applicazioni in Ruby on Rails. Continua »

Rails 2.1 e ottimizzazione Active Record

Fra le novità introdotte nella prossima versione del nostro amato framework web un numero considerevole di ottimizzazioni per Active Record indirizzate al miglioramento delle performance. Se con l’attuale versione di Ruby on Rails sono state introdotte delle migliorie a livello di caching e di connessione, i miglioramenti della prossima versione daranno sicuramente una marcia in più a Rails dal momento che interessano come Active Record genera le query SQL vere e proprie.

Un esempio per tutti il miglioramento introdotto per la generazione del cosiddetto “Eager Loading”. Poniamo il caso di avere una istrizione del codice come Person.find(:all, :include => [:friends]); con l’attuale versione di Ruby on Rails il codice SQL generato sarebbe del tipo:

SELECT `people`.`id` AS t0_r0, `people`.`name` AS t0_r1,
`people`.`surname` AS t0_r2, `friends`.`id` AS t1_r0,
`friends`.`nickname` AS t1_r1 FROM `people`
LEFT OUTER JOIN `friends` ON friends.person_id = friends.id

Una sola query, ma che si risolve nell’annoso problema 1+N che da sempre pesa su Active Record. Con la nuova versione la parola chiave :include genererà due o più query SQL, che hanno però un peso molto minore sul database:

SELECT `people`.`id`, `people`.`name`, `people`.`surname` FROM `people`
SELECT `friends`.`id`, `friends`.`nickname` FROM `friends` WHERE (`friends`.person_id IN (5,8,27,42))

Al momento dell’esecuzione questa seconda soluzione risulta decisamente più performante

Perché le performance di Active Record sono importanti

In una classica applicazione Ruby on Rails ad ogni interazione dell’utente corrisponde una o più interazione con il database; quando ad esempio vogliamo visualizzare una pagina contenente un post del blog, l’applicazione quantomeno eseguirà una query sul database per estrarre i dati relativi a quel post.

La situazione più frequente è però che per visualizzare una singola pagina, e quindi all’interno di una sola particolare action, vengano eseguite due o più query, magari con relazioni esterne così come nell’esempio sopra.

Un milgioramento delle performance di Active Record influirà quindi positivamente e in modo significativo sulle performance generali dell’applicazione e sulla percezione che l’utente avrà dell’applicazione.

Se è necessario ed auspicabile ottimizzare sempre il proprio codice per alleggerire il più possibile la propria applicazione, poter contare su un ORM dalle prestazioni in costante miglioramento offre sicuramente un ottima base per lo sviluppo.

RailsConf 2008 live da Wave Factory e GotThingsDone.com

Dal 29 maggio al 1 Giugno si terrà a Portland, in Oregon, RailsConf 2008, l’evento ufficiale della comunità Rails. A partire dal 30 Maggio sarà possibile seguire dal sito di Wave Factory le più interessanti notizie provenienti da RailsConf 2008, con aggiornamenti in tempo reale e interviste ai partecipanti della conferenza.

Il programma di questa edizione della conferenza prevede interventi decisamente interessanti:

Oltre agli interventi si attendo notizie sulla prossima versione di Ruby on Rails, di cui è stata fatta una breve panoramica qualche articolo fa.

RailsConf2008

Per tutti quelli che restaranno in terra italica la possibilità di seguire la conferenza dal sito di Wave Factory è un’occasione da non perdere.

Rails su Rubinius

Evan Phoenix ha annunciato la possibilità di utilizzare Ruby on Rails sulla loro implementazione di Ruby, Rubinius. Rubinius è un progetto ambizioso che si propone di realizzare una implementazione del linguaggio Ruby scritta in Ruby, così da rendere più agevole la scrittura di estensioni e librerie ai programmatori Ruby.

Continua »

Google Doctype - Google documenta gli standard del Web

Google Doctype è un progetto che raccoglie documentazione “scritta da sviluppatori web per sviluppatori web” che vuole documentare tutti gli standard open utilizzati per la realizzazione di siti Internet e applicazioni Web (Javascript, CSS, sicurezza). A differenza delle molte guide di riferimento rilasciate dagli organi ufficiali, Google Doctype non vuole indicare gli standard per come sono stati concepiti, ma vuole raccogliere gli standard di fatto nello sviluppo Web che coinvolgono tecnologie Open; sono escluse infatti tecnologie proprietarie come Adobe Flash, Microsoft Silverlight, Apple QuickTime, ActiveX.

Continua »

Rails 2.1 dietro l’angolo

Dal lancio della versione 2.0 di Ruby on Rails a oggi lo sviluppo del framework web si è concentrato sull’introduzione di nuove funzionalità, migliorie e correzioni di bug fix che non cambiano le carte in tavola per chi utilizza quotidianamente Ruby on Rails; se la versione 2.0 è stata una linea di demarcazione netta rispetto alla versione precedente con alcune soluzioni deprecate non più supportate, spinta verso il paradigma REST, esclusione del modulo per Web Service SOAP dal pacchetto base, esclusione del generator per lo scaffold, la migrazione dalla vesione 2.0 alla versione 2.1 si presenterà decisamente meno chiassosa. Da oggi è possibile scaricare la versione 2.1 RC1 di Ruby on Rails; questa versione non è destinata all’utilizzo in produzione ma ci permette di esplorare le novità che saranno disponibili con il rilascio definitivo della nuova versione.

Continua »

HTML.it apre a Ruby e Ruby on Rails

Lo storico portale per webmaster e webdesigner apre un sito tematico interamente dedicata a Ruby, e inevitabilmente a Ruby on Rails: ruby.html.it.

Lo spazio attualmente ospita la Guida Ruby, Guida Ruby on Rails, Blog e Forum dedicati a Ruby e alle sue gemme.

RubyGems 1.0

RubyGems è il sistema ufficiale per la pubblicazione e la gestione di librerie per Ruby, ed è quindi utilizzato abitualmente anche per l’installazione di Ruby on Rails e Merb. E’ fresco il rilascio di RubyGems 1.0 e il successivo RubyGems 1.0.1; vediamo come aggiornare la propria postazione di lavoro.
Continua »

Rails 2.0 - Annotazione del codice

L’ultima versione di Ruby on Rails abbonda di novità e di dettagli utili nella programmazione di tutti i giorni; ad esempio è possibile annotare il proprio codice con commenti che iniziano per TODO:, FIXME: e OPTIMIZE: ed estrarre in un secondo momento le righe di codice annotato con un semplice comando rake.

Continua »

Google Charts - Grafici per tutti

Google mette a disposizione un servizio per la renderizzazione di grafici on line senza la necessità di installazione di alcun software sulla propria piattaforma.

Continua »

« go backkeep looking »