english

Monitoring Unicorn with Monit

di Matteo Latini
Topics: Systems
It can sometimes be hard to implement a monitoring solution for Unicorn which doesn't spam our inbox with false-positives. In this post we will see what monitoring Unicorn with monit means and what worked for us on production servers.
Leggi tutto

Sviluppare un extension di Spree con TDD

di Alberto Vena
Topics: Web development
Qui da NebuLab, abbiamo appena creato un extension per Spree (Spree Subscriptions) che aggiunge alla piattaforma la possibilità di acquistare e gestire abbonamenti basati sul numero di edizioni (es. abbonamento annuo ad un magazine mensile, cioè 12 numeri). Partire da zero con la nostra prima extension ufficiale ci ha dato la possibilità di capire meglio come sviluppare extension per Spree usando un approccio TDD e abbiamo deciso di condividere la nostra esperienza e quelle che riteniamo essere delle best practices su questo argomento.
Leggi tutto

MOTD spettacolari con Ubuntu

di Matteo Latini
Topics: Systems
Ubuntu 10.04 ha introdotto un modo semplice e veloce per costruire MOTD dinamici spettacolari. Vedremo rapidamente come usare pam_motd per realizzarli.
Leggi tutto

ABC del SEO per sviluppatori Ruby on Rails

di Alberto Vena
Topics: Web development
Seo_rails Questo articolo si focalizza sugli aspetti fondamentali dell'ottimizzazione per motori di ricerca (SEO On Page) di un'applicazione web basata su Ruby on Rails. Non intende essere una soluzione definitiva o completa ma solo un insieme di tecniche basilari che posso essere sicuramente estese, migliorate e soprattutto personalizzate in base alle diverse esigenze. Gli aspetti che andremo a trattare sono:
  • RESTful Friendly URL
  • Meta tag dinamici
  • Canonical tag
  • Sitemap & Rails
  • Redirect 301 da vecchie URL
Leggi tutto

Lo scontro finale delle performance Ruby

di Matteo Latini
Topics: Tools, Systems
Ruby_benchmark_post Da quando, il 31 Ottobre 2011 è stata rilasciata la prima versione stabile di Ruby 1.9.3, qui a NebuLab abbiamo iniziato a pensare che fosse tempo di aggiornarsi. Per renderci le cosa più semplice, abbiamo voluto effettuare qualche test per vedere se ne valesse veramente la pena. Questo articolo contiene i risultati di quei test.
Leggi tutto

Creare un'unica patch da commit multipli con git

di Alberto Vena
Topics: Git
Ci è capitato di dover effettuare delle modifiche a progetti che condividono alcuni file e, dato che non ci piace scrivere codice più di una volta, abbiamo pensato di usare git per creare una patch con le modifiche effettuate da applicare negli altri progetti.
Leggi tutto

Pagine di manutenzione con Apache e Capistrano

di Alberto Vena
Topics: Systems
Maintenace_blog

Certe volte la nostra applicazione deve rimanere offline per motivi di manutenzione, alcune volte per pochi secondi, altre volte per molto più tempo. In ogni caso è sempre bene mostrare una pagina di manutenzione per diversi motivi:

  • si avvisano gli utenti del disagio magari indicando anche la data e l'ora della fine dell'intervento;
  • si informano i motori di ricerca di non indicizzae le pagine nei momenti in cui il sito è giù ritornando lo status code 503 (Service Temporarily Unavailable);
  • si evita che l'accesso di qualche utente durante una modifica importante possa creare danni o inutili eccezioni.

Leggi tutto

Il nostro sito web è online

di Alberto Vena
Topics: Nebulab
Nebulab_blog Finalmente il nostro sito web è online. Alcuni progetti che stiamo realizzando e un pò di cambiamenti in corso d’opera hanno ritardato la data di pubblicazione ma eccoci qui. Siamo molto contenti di questo lavoro e non vediamo l’ora di ricevere qualche feedback da parte di amici, clienti e, perchè no, anche di utenti che passano di qui per caso.
Leggi tutto

Velocizzare un'applicazione web

di Alberto Vena
Troppo spesso gli sviluppatori trascurano la fase di ottimizzazione delle pagine web generate. Ci sono degli accorgimenti, alcuni anche molto semplici, che se messi in atto possono far scendere drasticamente i tempi di caricamento.
Leggi tutto

Rails, yield e plugin

di Matteo Latini
Topics: Web development
In Rails, quando si usano plugin "wrapper", specialmente quelli che combinano la logica dei modelli con quella della presentazione, riusciamo quasi sempre a riempire i controller di responsabilita' che proprio non dovrebbero avere. Vediamo come sfruttare la potenza di Ruby per salvarci la pelle.
Leggi tutto

Google Maps v3 facile con jQuery

di Matteo Latini
Topics: Web development
Quando parliamo di mappe, geolocalizzazione e coordinate geografiche, Google Maps e' sicuramente il tool di riferimento per quasi tutti gli sviluppatori web. Nella maggior parte dei casi, pero', si cerca di evitare l'utilizzo diretto delle API di Google Maps, magari usando un plugin piu' complesso delle API stesse. Per sfatare il mito delle API complesse, vediamo un po' come funzionano. Per renderci ancora piu' facile la vita, usiamo anche jQuery 1.4.
Leggi tutto

Linee guida per un Web Design più Verde

di Alberto Vena
Da un po' di tempo a questa parte nel mondo dell'informatica si sta sollevando una questione che ritengo molto importante, cioè stabilire a quanto ammonta l'emissione di CO2 generato dal mondo digitale che utilizziamo tutti i giorni e in che maniera adoperarsi per ridurla. Non l'avrei mai detto, ma leggendo questo articolo ho scoperto che anche noi Web Developer e Designer possiamo fare molto per ridurre l'impatto ambientale generato dalle applicazioni e dai siti web che andiamo a costruire.
Leggi tutto

Branch con Git

di Matteo Latini
Topics: Git, Tools
Oggi è fondamentale saper usare almeno un VCS. Sia che si lavori su progetti privati, sia che si contribuisca a software OSS, l'uso di un sistema che controlli le versioni del software su cui stiamo lavorando, è praticamente d'obbligo. La comunita' Rails, scegliendo github come punto di riferimento, ha implicitamente scelto di usare git...
Leggi tutto