Chiaramente, poiché si effettua un filtraggio a priori dei campi avremo un incremento delle performance
Associazioni e migrazioni
Le associazioni sono le modalità con cui i record di una tabella sono relazionati ad un’altra. Rails permette di modellare le relazioni tra le varie entità nel DB tramite sei diverse associazioni:
- Belongs_to, sono relazionato a qualcosa ed io dipendo da lui (relazione 1-1)
- Has_one, sono relazionato a qualcun altro e può essere al massimo 1
- Has_one :through, in cui la relazione è modellata attraverso una classe e la quale dice che sono relazionato con qualcun altro attraverso tale classe (normalmente poco usata)
- Has_many, sono relazionato a molti record di un’altra tabella (1-N)
- Has_many :through, uguale ad has_many, ma in cui la relazione è modellata da una tabella
- Has_and_belongs_to_many, relazione N-M
Le migration sono uno strumento per la definizione incrementale di un DB e serve per migrare da uno stato del DB ad un altro (tipicamente utilizzata per aggiungere elementi o colonne ad una tabella facilmente). Possiamo considerare ciascuna migration come una “nuova” versione del database.
Page caching e Russian doll
Rails fornisce diversi meccanismi per il caching di pagine o porzioni di pagine:
- Page caching, in cui l’intero output di una action di Rails viene archiviato come file HTML che il server Web può servire senza passare per l’application server in cui esegue l’applicazione Rails, perché tale pagina HTML è statica e non cambia mai (non più supportato da Rails, perché tendenzialmente non si usano più, se non quelle senza stato e uguali per tutti i visitatori).
- Action caching, analogo al page caching tranne per il fatto che la richiesta web in entrata arriva fino all’applicazione Rails (informazioni cachate a livello di application server, per cui posso eseguire eventuali verifiche d’accesso prima che la pagina venga effettivamente restituita all’utente). Nel momento in cui arriva una richiesta al Web Server esso si domanda se è già presente nella sua cache locale e, nel caso, la fornisce indietro, altrimenti esegue le computazioni per generare la pagina. L’action caching è relativa alla sessione di un certo utente, per cui ciascuna pagina cachata sarà diversa per ciascun utente (per gli stessi motivi visti prima, non è più supportato da Rails).
- Fragment Caching, la cui filosofia non è più salvare l’intera pagina, ma alcuni frammenti di pagina. Questo comporta che una volta computati e creati i frammenti, essendo questi statici, potranno essere serviti dalla cache ogni volta che viene ricevuta la richiesta successiva (più efficiente, perché le pagine web dinamiche trovano tanti componenti con caratteristiche diverse).
-
Appunti Lingua inglese (1° annualità) - on-line
-
Appunti Francese
-
Diritto Amministrativo - Appunti
-
Appunti di Diritto Pubblico