Il più famoso framework web MVC, ispiratore di framework analoghi in altri linguaggi non ruby è stato rilasciato. Rails 3 è internamente molto diverso da Rails 2 perché è frutto di un merge (ex framework Merb) e di altre standardizzazioni che ci sono state in ambito Ruby.
Ecco brevemente le feature più interessanti:
Ovvero porter montare applicazioni diverse su path diversi del sito. Le applicazioni possono essere anche scritte in altri framework Rack-compatibili
La mappatura query db -> oggetto ruby (ORM) viene fatta da un nuovo componente interno chiamato Arel
Rack permette di condividere separatamente funzionalità complesse, con controller e view, come un'autenticazione (es Devise).
Bundler è un altro componente nuovo gestisce le dipendenze gem a livello di progetto, così da poter gestire contemporaneamente versioni diverse della stessa libreria sullo stesso sistema.
Indipendentemente che usiate ruby >=1.8.7 o ruby 1.9/2.0 la codifica di default ora è utf8.
Segnalo con piacere che il sito del DrupalCamp 2010 è online! Drupal è uno dei migliori CMS sulla piazza e il suo punto di forza è la sua estrema modularità che lo rende molto flessibile ma non mastodontico, e non ultimo è il motore di questo blog dal 2006.

Se siete nelle vicinanze o vi interessa l'argomento non potete non partecipare a questo evento che si terrà il 2 ottobre 2010 alla Cascina RoccaFranca (la stessa del linux day).
Per maggiorri info fate riferimento al sito del DrupalCamp su Drupal Italia.
Uno dei temi sempre più ricorrenti è l'HTML5: è open, standard, multipiattaforma ed supportato a modo suo da diversi Big del settore tra cui Google, Apple,.. e addirittura Microsoft con Internet Explorer 9!

Un mio layout senza immagini con Webfont e gradienti CSS3
Quindi la soluzione di tutti i mali? Più o meno, ci sono ancora alcune questioni in sospeso, alcune limitazioni che verranno risolte de facto, altre che non si risolveranno e altre ancora che si ricorrerà ad hack.
Come già chiarito qualche post fa, quando si parla di HTML5 quasi nessuno intende puramente solo la specifica HTML5, ma per semplificazione ci si mette dentro anche CSS3 e altre tecnologie standard che sono alle porte. Ad ogni modo è consigliato, prima di usare qualche funzionalità di HTML5, verificare che sia effettivamente implementata o che ci sia un modo decente per fare fallback a browser più "limitati" come Internet Explorer 6, 7, 8 e Opera Mini.
Tutti gli hosting migliori offrono ormai un'accesso SSH,. diffidate dagli altri :P A differenza di ftp e intefacce web, ssh permette di fare molte più cose sul computer remoto e in modo più agevole.

SSH "liscio" è come avere una shell bash remota, ci si accede con un comando e si digita la password.
$ ssh remote-user@mysite.com
<password>
Fin quando l'accesso è saltuario va bene, ma se mysite.com è un nostro a lungo andare si fanno tante inutili digitazioni, inoltre se bisogna digitare ogni volta la password non è possibile automatizzare a dovere azioni quali backup remoto o script di monitoraggio
Quindi arriviamo a 2 configurazioni "da incorniciare" per chi ha a che fare con ssh
Dalla macchina locale digitate:
$ ssh-keygen -t rsa # battete più volte invio e lasciate la passphrase vuota
$ cat $HOME/.ssh/id_rsa.pub | ssh remote-user@mysite.com 'cat >> .ssh/authorized_keys'
Digitate per l'ultima volta la password, dopodiché non vi verrà più chiesta.
Create o aggiungete un file di configurazione di ssh fatto così
After many tutorials and hacks I got my Rails 3 working on Dreamhost too!
The whole setup involve many components but it's a good investiment if you are planning to develop a new Rails app. The final aim is editing locally your app and sending the new features or fixes incrementally via ssh/Git.
+![]()
I'll cover just some nasty parts but here is an overview of my enviroment.
ruby 1.8.7, rubygems 1.3.7, bundler, rails 3, sqlite, capistrano, git and gedit :P On the shared hosting the environments is slightly different because the web server you must to use is Apache/Passenger, the suggested database is mysql and the text editor available is vim.
Something like my past instructions but with gems installed in $HOME/.gems
You should have something like:
Si sente sempre più spesso parlare di HTML5, vs flash, vs applicazioni native,.. ma di cosa si tratta in concreto?
Innanzitutto con HTML5 non si tratta di un prodotto finito ma di una specifica del consorzio W3C, quindi la sua bontà dipenderà da chi vorrà implementarlo. Inoltre molte delle tecnologie a cui si allude non fanno parte di questo standard e la loro implementazione non è allo stesso livello su tutti i browser (webkit, firefox, opera, ie). Potete farvi un'idea testando il vostro browser su html5test.com.

Flash è un plugin molto diffuso che viene utilizzato per lo più per video streaming e animazioni interattive (non che giochini). In questo senso Html5 svolge egregiamente lo streaming video tramite il tag <video> e un codec solitamente h264, theora o il nuovissimo WebM/vp8 reso libero da google.
Riguardo i "giochini" e le animazioni, html5 non ha ancora un'implementazione con prestazioni a livello di flash.
Sulla scia di quello che è successo in America con Data.gov anche la Regione Piemonte ha deciso di liberare una parte dei dati in suo possesso.
Attualmente i dati divulgati dalla PA sono limitati, ci sono statistiche sulla scuola piemontese e l'utilizzo dell'ICT ma l'impostazione fa ben sperare.
Il formato scelto per distribuire i dati è csv e xml mentre per quanto riguarda la licenza d'uso si è scelto CC Zero (aka Pubblico Dominio), quindi potete usarli come meglio credete, anche per scopi commerciali.
Sul sito si accettano suggerimenti e per quanto mi riguarda ho suggerito l'utilizzo di una WebAPI (OAuth) e il rilascio delle mappe cartografiche. Vedremo :)
Se vi capita di usare spesso il terminale, vi farà piacere questo piccolo ritocco
Ovviamente per sapere dove vi trovate potete sempre digitare 'pwd'
Aggiungete al fondo del vostro ~/.bashrc:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/|\1|/'
}PS1="\W\$(parse_git_branch)$ "
Riaprite il terminale.
Nota. Se fate "sudo -s" rimane il $ e non viene il #. Consigli sono bene accetti :P
Uno dei problemi dell'internet attuale è che un utente scrive/utilizza/partecipa su tanti siti/servizi ma non è in grado di far interagire i vari fornitori tra loro (a meno di non ricaricare i dati).
Se più o meno tutti (i geek) sanno cos'è OpenID, ovvero uno standard per autenticare gli utenti su internet, di meno si conosce OAuth, ovvero uno standard usato da Google, Yahoo, Twitter,.. per autorizzare a terzi l'accesso ai nostri dati su un determinato servizio.
Immaginate di accedere a un sito che si occupa di stampe di foto, autorizzarlo ad accedere alle vostre foto su Flickr, selezionare quelle che vi interessano e farvele stampare. Sarà a cura dei 2 siti gestire la transazione senza farvi fare a voi nuovamente l'upload.

Il bello degli standard è che ognuno li implementa un po' come vuole, ma tra i problemi di sicurezza di OAuth 1.0 e il diffondersi di Facebook (Facebook Connect), adesso sembra che OAuth 1.0a sia qui per restare ed essere utilizzato al meglio da tutti.
Se dovete avere a che fare col sistema di pacchettizzazione multipiattaforma "gem" vi sconsiglio caldamente di usare il pacchetto "rubygems" per Debian/Ubuntu, oltre ad essere (inevitabilmente) indietro non potete autoaggiornarlo.
UPDATE: se non volete avere problemi usate ruby 1.8.7 o 1.9.1.378-1
UPDATE2: se avete ancora Timeout o Gem::RemoteFetcher::FetchError applicate questa patch. Tnx raggi su #rubygems
$ sudo gem update --system
Updating RubyGems
Updating rubygems-update
Successfully installed rubygems-update-1.3.6
Updating RubyGems to 1.3.6
Installing RubyGems 1.3.6
/usr/lib/ruby1.9/gems/1.9.0/gems/gemcutter-0.5.0/lib/gemcutter.rb:4:in `require': no such file to load -- rubygems/commands/migrate (LoadError)
from /usr/lib/ruby1.9/gems/1.9.0/gems/gemcutter-0.5.0/lib/gemcutter.rb:4:in `block in <top (required)>' ...
Commenti recenti
2 days 22 hours fa
3 days 8 hours fa
4 days 7 hours fa
4 days 23 hours fa
6 days 1 ora fa
6 days 9 hours fa
1 settimana 5 hours fa
2 weeks 8 hours fa
2 weeks 8 hours fa
2 weeks 2 days fa