ASCIIcasts
Episode Archive
- 269 Eredietarità dei template
- A partire da Rails 3.1 l’eredietarità dei controller puòessere applicata anche alle view. In questo episodio vi mostrerò come usare un template condiviso da tutte le views, e come analizzare il cammino della richiesta per sovrascrivere dei template in base al sottodominio.
- 268 Concetti base in SASS
- SASS estende CSS introducendo variabili, annidamento, mix-ins e altro. In questo episodio mostrerò come convertire un semplice CSS in SASS in una applicazione Rails 3.1.
- 267 Concetti base in Coffeescript
- Coffeescript ti permette di scrivere codice Javascript in maniera elegante e coincisa. In questo episodio tradurremo codice Javascript in Coffeescript in una applicazione Rails 3.1.
- 235 OmniAuth - Parte 1
- OmniAuth è un modo semplice per aggiungere diversi servizi di autenticazione alla vostra applicazione. In questo episodio cominceremo ad integrarlo con Devise.
- 234 Simple Form
- Simple Form è un modo pratico per generare form con molte opzioni per personalizzare il markup generato.
- 233 Conosciamo Devise
- Janrain Engage (aka RPX) rende possibile il supporto a molte soluzioni di autenticazione attraverso un unico servizio.
- 232 Esploriamo il routing di Rails 3 (parte 2)
- In questo episodio continuiamo a guardare nel router di Rails 3 esaminando la classe Mapper.
- 231 Esploriamo il routing di Rails 3
- Come funziona internamente il routing di Rails 3? In questo episodio vi giuderemo attraverso il codice di Rails che rende possibile il routing.
- 230 Risorse ereditate
- Le risorse ereditate semplificano i controller RESTful, mettendo a disposizione action di default che possono essere personalizzate mediante specializzazione.
- 229 Fare polling per verificare modifiche
- Se i vostri dati cambiano frequentemente lato server, può anche essere utile mostrare automaticamente queste modifiche all'utente. In questo episodio vi mostreremo come farlo, facendo polling con jQuery.
- 228 Colonne di tabelle ordinabili
- In questo episodio vi mostreremo come rendere ordinabile una tabella di elementi, cliccando su di un link o sulla testata delle colonne.
- 227 Aggiornamento a Rails 3 - Parte 3
- In questo episodio concludiamo questa serie sull'upgrade a Rails 3, rimuovendo tutti i warning di deprecazione e sistemando alcuni problemi sulle viste.
- 226 Aggiornamento a Rails 3 - Parte 2
- Qui continuiamo l'aggiornamento di un applicazione a Rails 3, creando le nostre specs ed approfondendo il plugin rails_upgrade.
- 225 Aggiornamento a Rails 3 - Parte 1
- Nella prima parte di questa serie sull'aggiornamento delle applicazioni da Rails 2 a Rails 3, cominceremo installando Rails 3.0 Release Candidate in un ambiente pulito. Il plugin rails_upgrade ci aiuterà poi a capire cosa avrà bisogno di un aggiornamento.
- 224 Controller in Rails 3
- Questo episodio tratta dei cambiamenti ai controller in Rails 3, compreso le notifica flash embedded, i cookie permanenti e la respond_with.
- 223 Grafici
- Ci sono un sacco di librerie che aiutano a creare grafici. In questo episodio vi mostro come integrare Highcharts in una applicazione Rails.
- 222 Rack in Rails 3
- Il router in Rails 3 è completamente compatibile con Rack. Impariamo come includere Sinatra in una applicazione, gestendo le ridirezioni, e migliorando le prestazioni con Rails Metal.
- 221 Sottodomini in Rails 3
- E' ora possibile aggiungere sottodomini a Rails 3 senza la necessità di usare plugin esterni. Impariamo come in questo episodio.
- 220 PDFKit
- La generazione di PDF da Ruby può richiedere parecchio lavoro. Piuttosto, considerate la possibilità di generare i PDF a partire dall'HTML usando PDFKit.
- 219 Active Model
- In Rails 3 le funzionalità non legate al database di Active Record sono state estratte nelle classe Active Model. Ciò vi permette di aggiungere in maniera pulita le validazioni ed altre feature a modelli non persistenti (privi di tabella).
- 218 Creare generatori in Rails 3
- I generatori in Rails 3 sono stati riscritti per far uso di Thor, il che significa che il codice usato per scrivere un generatore è un po' diverso rispetto a Rails 2. In questo episodio imparerete un nuovo modo per creare dei generatori per Rails 3.
- 217 Wizard Form
- In questo episodio creeremo una form multipasso, detta anche wizard, da zero.
- 216 Generatori in Rails 3
- I generatori in Rails 3 sono stati completamente riscritti per essere più modulari. Questo permette di personalizzare qualunque generatore per adattarlo alle vostre specifiche preferenze.
- 215 Query avanzate in Rails 3
- In questo episodio impariamo alcune tecniche avanzate sui named scope e presentiamo Arel.
- 214 A/B Testing con A/Bingo
- L'A/B testing (detto anche Split Testing) è una tecnica per testare versioni alternative di un'applicazione e capire quali di queste sia la più efficace.
- 213 Calendari
- Se le date giocano un ruolo importante nella vostra applicazione, valutate di aggiungere un selettore di date o una vista calendario come viene illustrato in questo episodio.
- 212 Refactoring e Dynamic Delegator
- Impariamo come fare il refactoring di un insieme di query condizionali Active Record usando un Dynamic Delegator.
- 211 Validazioni in Rails 3
- Rails 3 offre molte nuove aggiunte alla validazione. Qui scoprirete come creare un partial per i messaggi di errori personalizzati, come usare l'introspezione sulle validazioni e come semplificare validazioni complesse sul modello.
- 210 Personalizzare Devise
- In questo episodio continuiamo ad esplorare Devise focalizzandoci sulla personalizzazione delle sue viste, sul routing e sulle validazioni.
- 209 Introduzione a Devise
- Devise è una soluzione completa per l'autenticazione che gestisce per voi tutta la logica dei controller e delle viste. Imparate a configurarlo in questo episodio.
- 208 Blocchi ERB in Rails 3
- Rails 3.0 beta 3 è uscito e gestisce in maniera differente i blocchi nei template erb. Scoprite come in questo episodio.
- 207 Evidenziazione del codice
- Tre popolari alternative per l'evidenziazione del codice nelle applicazioni Rails sono messi a confronto in questo episodio: CodeRay, Ultraviolets e Pygments.
- 206 Action Mailer in Rails 3
- Action Mailer è stato riscritto per Rails 3, fornendo un API molto più chiara con l'uso del gem Mail.
- 205 JavaScript non appariscente
- Rails 3 fa grande uso di JavaScript non appariscente, aiutandoci a mantenere conuti e comportamento separati.
- 204 Protezione XSS in Rails 3
- Nelle precedenti versioni di Rails le applicazioni erano facilmente esposte ad attacchi di cross-site scripting. Rails 3 risolve questo problema e automaticamente fa l'escape dell'output.
- 203 Routing in Rails 3
- Rails 3 ha una nuova interfaccia di routing. In questo episodio mostriamo come tradurre la vecchia interfaccia nella nuova e facciamo vedere alcune delle nuove funzionalità.
- 202 Query Active-Record in Rails 3
- Rails 3 introduce una nuova interfaccia per le query per rendere più performanti i recuperi con Active Record. Guardate come funziona e quali sono i cambiamenti negli scope dei nomi.
- 201 Bundler
- Bundler è il sistema di gestione delle dipendenze fra gem di Rails 3.0. In questo episodio impariamo come installare i gem e come bloccarli.
- 200 Rails 3 beta e RVM
- niziare a lavorare con la prima beta di Rails 3.0 e installare Ruby 1.9.1 usando il Ruby Version Manager, RVM. Anche una sfida nel ritorno all'Open Source.
- 199 Dispositivi mobili
- In questo episodio cambieremo l’aspetto ed il comportamento della applicazione Rails sui dispositivi mobili e useremo jQTouch per creare una interfaccia dall’aspetto nativo.
- 198 Modifica Individuale di record Multipli
- Utilizzare delle checkbox per la modifica di più record in un form in cui ogni record ha i suoi campi form individuali.
- 197 Nested Model Form Parte 2
- Aggiungere e rimuovere i campi di modelli nidificati dinamicamente con JavaScript utilizzando Prototype o jQuery.
- 196 Nested Model Form Parte 1
- Il metodo "accepts_nested_attributes_for", introdotto a partire dalla versione 2.3 di Rails, facilita la gestione di più modelli con un singolo form. Scoprite come usarla in questo episodio.
- 195 Migliori applicazioni web del 2009
- In questo episodio vi mostriamo alcune fra le migliori applicazioni web del 2009 per sviluppatori Ruby.
- 194 MongoDB e MongoMapper
- MongoDB è un motore di database basato su documenti. In questo episodio impariamo a usarlo nelle applicazioni Rails con Mongomapper.
- 193 Modelli non persistenti
- Se volete creare un modello privo di tabella associata sul database, tutto ciò di cui avrete bisogno sarà di definire una coppia di metodi nel modello.
- 192 Autorizzazione con CanCan
- CanCan è un semplice plugin per l'autorizzazione che offre molta flessibilità. Scopriamo come usarlo in questo episodio.
- 191 Mechanize
- Mechanize estende Nokogiri, permettendovi di interagire con altri siti web, riempiendo form e cliccando su collegamenti.
- 190 Screen Scraping con Nokogiri
- Usare Nokogiri e SelectorGadget insieme rende semplice lo screen-scraping.
- 189 Associazioni embedded
- In questo episodio vi mostriamo come incapsulare una associazione uno-a-molti o molti-a-molti in un singolo campo intero.
- 181 Include vs Joins
- Le due opzioni del metodo find include e joins possono confondere siccome sono simili. Scopriamo quando sia opportuno usare l'uno piuttosto che l'altro in questo episodio.
- 180 Trovare i CSS inutilizzati
- Man mano che i siti web cambiano, i fogli di stile possono cominciare a riempirsi di selettori inutilizzati. Il gem Deadweight aiuta a capire quali possano essere rimossi.
- 169 Caching dinamico delle pagine
- Usare una combinazione di page caching e JavaScript per creare una pagina cacheata veloce che possa ugualmente essere aggiornata dinamicamente.
- 138 I18n
- L'internazionalizzazione è stata una delle più significative aggiunte introdotte da Rails 2.2. Vi mostreremo in questo episodio come cominciare ad usarla.
- 136 jQuery
- In questo episodio ricreeremo un meccanismo di submit per le form in AJAX come già fatto nell'episodio 43, ma questa volta usando jQuery al posto di Prototype e RJS.
- 134 Paperclip
- Paperclip semplifica l'aggiunta di allegati al modello. Scopriamo come in questo episodio.
- 44 Debug di RJS
- RJS e AJAX possono essere ostici da debuggare, specialmente quando il browser non mostra alcun messaggio di errore. Scopriamo come seguire le richieste AJAX in questo episodio.
- 43 AJAX con RJS
- Impariamo come usare RJS per generare del JavaScript in grado di aggiornare più elementi in una pagina.
- 33 Fare un plugin
- Le duplicazioni possono spesso essere rimosse dal vostro codice Ruby creando metodi dinamicamente. In questo episodio creeremo un plugin proprio per fare ciò.
- 32 Ore nei campi di testo
- Aggiornamento di campi di orario mediante una serie di tendine non è il modo pi%ugrave; elegante per inserire informazioni cronologiche. Scopriamo come permettere all’utente di inserire direttamente in un campo di testo date e orari.
- 31 Formattare le date
- Usiamo il metodo Ruby strftimeper formattare le date e sfruttiamo l’hash Rails DATE_FORMATS per salvare formati di date personalizzati.
- 30 Titolo di pagina carino
- E’ facile dare ad ogni pagina della vostra applicazione Rails un proprio titolo. Qui vi mostreremo un modo semplice per farlo.
- 29 group_by Month
- Il metodo group_by può essere usato per raggruppare liste di elementi da mostrare nelle vostre applicazioni Rails.
- 28 In Groups Of
- Il metodo in_groups_of rende facile mostrare una collezione di elementi in diverse colonne, con un piccolo trucco.
- 27 Cross-site Scripting
- Il cross-site scripting è un'argomento sulla sicurezza piuttosto comune. Capiamo perchè è importante fare escape di qualsiasi input dell’utente che viene mostrato in un browser.
- 26 Gli hacker amano gli assegnamenti massivi
- Se usate l’assegnamento massivo state dando il controllo completo dei vostri modelli agli utenti. Impariamo come proteggere i dati in questo episodio.
- 25 SQL injection
- Gli attacchi per SQL injection sono uno dei modi più comuni per attaccare u'applicazione web. Impariamo come evitare di esserne vittime.
- 24 Lo stack trace
- Lo stack trace è un utile aiuto quando di fa debugging. Impariamo ad usarlo in questo episodio.
- 23 Colonna cache di conteggio
- Aumentare le prestazioni facendo cache della cardinalità dei record associati al corrente mediante relazione has_many in una colonna cache di conteggio.
- 22 Caricamento dati preventivo (eager loading)
- Aumentare le prestazioni dell'applicazione riducendo il numero di query al database. Il caricamento preventivo lo fa in modo semplice.
- 21 Autenticazione super semplice
- L'autenticazione è il passo finale di configurazione del nostro sito. Ci sono molti modi per farla, ma in questo episodio seguiremo l'approccio più semplice.
- 20 Limitare gli accessi
- Impariamo come limitare gli accessi al sito e inibire l'accesso a funzioni amministrative per l'utenza pubblica.
- 19 Gestire la parte amministrativa della applicazione
- Prima di tre parti sul come creare un sistema amministrativo per il vostro sito che non richieda la costruzione di un intero insieme separato di pagine.
- 18 Ciclare sui messaggi flash
- Visualizzare messaggi flash può essere doloroso. Questo episodio mostra un metodo facile e furbo per mostrare tutti i messaggi flash.
- 17 Checkox HABTM
- Creare una lista di checkbox per gestire semplicemente le relazioni HABTM.
- 16 Attributi virtuali
- Mantenete le form flessibili aggiungendo attributi virtuali al vostro modello. Questa potente tecnica permette di creare campi di form che possono non essere direttamente associati a campi sul database.
- 15 Giocare con le condizioni della find
- Si possono passare oggetti oltre che stringhe ai vincoli della find, ma occorre stare attenti per garantire la corretta generazione dell'SQL.
- 14 Eseguire calcoli sui modelli
- ActiveRecord fornisce metodi di classe per eseguire funzioni di aggregazione SQL. Vediamo come in questo episodio.
- 13 I pericoli dei modelli in sessione
- Bisogna stare attenti quando si salva un modello in sessione poiché può diventare differente dallo stesso sul database.
- 12 Refactoring del nome utente Parte 3
- Nella parte conclusiva degli episodi sul testing e sul refactoring faremo del refactoring sul codice di test.
- 11 Refactoring del nome utente Parte 2
- Avendo spostato codice dalla vista al modello nella prima parte, lo rivedremo e scriveremo alcuni test per assicurarci che funziona ancora tutto come ci aspettiamo.
- 10 Refactoring del nome utente Parte 1
- Questo episodio mostra come spostare il codice dalla vista al modello per ridurre le duplicazioni e ripulire la vista.
- 9 Filtrare i log sensibili
- Per default, Rails salva dati sensibili nei propri log. Scopri come filtrare ciò.
- 8 Layout e content_for
- content_for permette di cambiare i template sulla base dei singoli template.
- 7 Tutto sui layout
- Tutto ciò che avreste sempre voluto sapere sui template.
- 6 L'uso della Symbol to_proc per sostituire i blocchi
- Il meccanismo della Symbol#to_proc di Rails permette di fare dei semplici blocchi in modo rapido e pulito.
- 5 Usare la with_scope
- Imparare come usare la with_scope - un metodo molto potente che permetterà ai vostri metodi di recupero di accettare qualunque tipo di vincolo aggiuntivo.
- 4 Spostare le find ricorrenti nel modello
- Ripulire i controller e rimuovere le duplicazioni spostando una find nel modello. Utilizzo di una associazione per chiamare metodi find personalizzati.
- 3 Find mediante associazioni
- Usare l'associazione has_many in una find per evitare la necessità di passare foreign key.
- 2 Metodo find dinamico
- Accorciare le find semplici e aumentare la leggibilità del codice usando i metodi dinamici find_by e find_all_by.
- 1 Fare cache con variabili di istanza
- Salvare il risultato di un comando costoso in una variabile locale per incrementare le performance.