Appunti di Matteo


Matteo Parmi

matteo parmiUno che smanetta con cose tipo ruby, rails, merb, git, php, mysql, couchdb, jquery, css, webby, che cerca di utilizzare metodi di sviluppo agili e mantenere un approccio pragmatico alla programmazione.

Ultimi post
Curriculum

La mia fantastica ed entusiasmante carriera professionale. Curriculum via googledocs, aggiornato a bassa frequenza.


Gemme e plugins per i quali val la pena di vivere

Ultimamente ho avuto la fortuna di lavorare a tre progetti 100% rails, uno dei quali
abbastanza complessi ( www.alessandrodelpiero.com )
Tutti i progetti sono stati sviluppati in parallelo, se non avessi avuto a disposizione
le gemme ed i plugins di cui si parla dopo, non ne saremmo usciti vivi.

Ora ve li vado a presentare, in rigoroso ordine sparso.

Authlogic

Authlogic è un sistema di autenticazione che fa davvero solo quello che serve.
Sono stato per molto tempo un felice utilizzatore dell’ottimo restful-authentication
ma authlogic mi sembra più agile e facile da customizzare

Will paginate

Non credo che will_paginate abbia bisogno di presentazioni.
E’ semplicemente IL sistema di paginazione.
E’ facilissimo da usare, anche in ruby puro e non solo per paginare oggetti activerecord. Senza prezzo.

Searchlogic

Dallo stesso autore di authlogic, searchlogic aggiunge dei named scopes e un DSL
con cui risulta facile “dialogare” con i modelli active record:

#ricerca
scope = User.username_like("bjohnson").age_greater_than(20).id_less_than(55)
scope.all
scope.first
scope.count
#ordinamento
User.ascend_by_id
User.descend_by_id
User.ascend_by_orders_line_items_price

Mette anche a disposizione comodi helpers per ricerca, sorting e tutte quelle noiose features da implementare che sono così utili in un pannello di amministrazione.
Dimenticavo, funziona alla grande in concerto con will paginate

Paperclip

Paperclip è per gli allegati quello che will paginate è per i sistemi di pagianzione.
Prima di papaerclip aggiungere un immagine o file ad una elemento activerecord era sempre una palla.

Routing filter

Uhuhuhuhuh Routing filter è dvvero geniale, e davvero semplice, ma così semplice che ci ho messo 2 ore per capire come funzionava.
Il readme fa intuire che ci sia da fare chissà che giri per usarlo, invece basta installarlo e inserire:

ActionController::Routing::Routes.draw do |map|
  map.filter :locale

Per fare in modo che la variable :locale sia anteposta a tutti gli url che generate con gli helper per gli url di rails.

#poniamo di avere 2 culture, {:it => 'it' , :en => 'en'}
# in base alla cultura in uso (poniamo :it) i vostri url saranno:
profile_bio_path()
# output senza routing filter: /profile/bio
# output con routing filter: /it/profile/bio

Si avete capito bene, senza modificare una riga di codice in routes.rb e senza aggiungere parametri ai vostri helper.

Rails indexes

Per le persone che come me non hanno un bel raporto con i databases, rails indexes , è davvero un bell’amico.
Mette a disposizione dei task che analizzando gli oggetti acriverecord e le relazioni delle vostra app generano delle migrazioni per aggiungere gli indici che vi siete scordati.
Fate attenzione con oracle che si potrebbe lamentare per l’eccessiva (a suo dire) lunghezza dei nomi per gli indici.

Inherited resources

Traducendo il readme di inherited resources :
Velocizza lo sviluppo facendo in modo che i controllers ereditino tutte le azioni REST di cui necessitano in modo che tu ti possa concentrare solo sulle cose importanti.
Scusate se è poco….

Formtastic

Le form sono noiose. Sono quasi sempre uguali ma diverse (cit). Alla fine ho abbandonato l’idea di farmi degli helper custom per le mie form quando ho scoperto formtastic .

Con un semplice snippet:

  % semantic_form_for @user do |form|
    %= form.inputs
    %= form.buttons

Abbiamo tutte le proprietà del modello, e supporta pure le relazioni di ar! Chiaramente per ottenere l’effetto voluto dobbiamo andare un po’ oltre, ma con sempre meno sbattimento che scriverlo da zero.

Scrooge

Scrooge è uno dei miei preferiti, basta installarlo e tutte le vostre query con activerecord selezioneranno solo i campi di cui avete bisogno.
Come se specificassimo in tutti i find che usiamo nella app la opzione :select. Ma senza farlo! Geniale.



teo: Dec 06, 2009 00:00:00 GMT
tags: rails, ruby
blog comments powered by Disqus

Un precario kickflip to fakie

kickflip to fakie
Questo è chiuso! Sì, non è un granchè, ma è gia qualcosa....play video
Apr 11, 2009 00:00:00 GMT

Proprio come ai vecchi tempi....

tavola rotta
Una sensazione che avevo dimenticato, il rompersi di una tavola sotto la propria potenza esplosiva, ....o sotto i chili superflui....esplosivi anche quelli.
Apr 11, 2009 00:00:00 GMT

Un precario ollie sad

un trentenne in ollie sad
Seconda volta che vado in skate da quando sono stato operato al legamento crociato, ovvero circa 6 mesi fa. Anche questo non è chiuso......ma ritornerò!!
Mar 21, 2009 00:00:00 GMT

Un precario bluntslide

un trentenne in bluntslide
Foto fatta dopo almeno 5 anni di inattivià, ovviamente non è chiuso, appena guarisco lo chiudo e metto una gif animata, prometto =)
Feb 22, 2008 00:00:00 GMT



Tags



Cerca in parmi.it


Progetti su github


Fotografie su flickr


fatto con: webby, blueprint css e jquery

%>