Anteprima
Vedrai una selezione di 1 pagina su 5
Appunti Ruby On Rails Pag. 1
1 su 5
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

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 cashing 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 fornisco indietro, altrimenti faccio

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 vista

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, perché si

trovano tanti componenti con caratteristiche diverse).

Dettagli
A.A. 2021-2022
5 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher AndreaFilippini97 di informazioni apprese con la frequenza delle lezioni di Sistemi distribuiti e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Ferrara o del prof Stefanelli Cesare.