Open source - CrismerLaPignola

Archive

Archive for the ‘Open source’ Category

Velocizzare un’applicazione web con MEMCACHED – Seconda parte

March 13th, 2012 2 comments

COLLEGARSI AL NOSTRO CACHE SERVER

Innanzitutto, dobbiamo creare una connessione al nostro server Memcached. Di seguito il codice che dovreste usare nel vostro script php:

// Connection constants
define(‘MEMCACHED_HOST’, ’127.0.0.1′);
define(‘MEMCACHED_PORT’, ’11211′);

// Connection creation
$memcache = new Memcache;
$cacheAvailable = $memcache->connect(MEMCACHED_HOST, MEMCACHED_PORT);
A questo punto, abbiamo stabilito una connessione al nostro Memcache server. Potrebbe anche fallire ma possiamo conscere l’esito grazie alla variabile $cacheAvailable.

MEMORIZZARE I DATI NELLA CACHE

Addentriamoci nella memorizzazione del dati. Faremo tra poco un’esempio per chiarire i concetti: simuleremo un negozio no line. Abbiamo uno script chiamato ‘edit_product.php’ il cui
scopo è quello di salvare i dati di un prodotto nel nostro database.  Ognuno dei nostri prodotti ha le seguenti informazioni:

  • id
  • name
  • description
  • price

A questo punto nel nostro edit_product.php, eseguiamo una query INSERT UPDATE il cui scopo è scrivere i dati relativi al prodotto nel nostro database MySql . Esaminiamo il codice:

// We have validated and sanitized our data
// We have escaped every risky char with mysql_real_escape_string()
// Now we want to save it into our database
$sql = “INSERT INTO products (id, name, description, price) VALUES ($id, ‘$name’, ‘$description’, $price)”;
$querySuccess = mysql_query($sql, $db);

Come ho già detto, vogliamo memorizzare i nostri dati sia nel nostro database MySQL e server Memcached.  Ecco come possiamo procedere:

// We have validated and sanitized our data
// We have escaped every risky char with mysql_real_escape_string()
// Now we want to write them to our database :
$sql = “INSERT INTO products (id, name, description, price) VALUES ($id, ‘$name’, ‘$description’, $price)”;
$querySuccess = mysql_query($sql, $db);

// We have written our data into our database
// Now let’s store the product name, description and price into our cache
// The method “set” tells our Memcached server to store the data associated to a specific key
if ($querySuccess === true)
{
   // We build a unique key that we can build again later
   // We will use the word ‘product’ plus our product’s id (eg. “product_12″)
   $key = ‘product_’ . $id;

   // We store an associative array containing our product data
   $product = array(‘id’ => $id, ‘name’ => $name, ‘description’ => $description, ‘price’ => $price);

   // And we ask Memcached to store that data
   $memcache->set($key, $product);
}

In questo modo sia il database che la cache contengono i nostri dati di prodotto.

Read more…

Velocizzare un’applicazione web con MEMCACHED – Prima parte

February 15th, 2012 2 comments

Molto spesso accade che i nostri sforzi per sviluppare un’applicazione web e / o un sito non si esauriscono con la sua pubblicaizone.
Le applicazioni web moderne producono una quantità sempre più notevole di dati da e per il web che molto spesso rallentano sensibilmente le prestazioni.

Con questo articolo cercherò di spiegare come è possibile migliorare notevolmente la risposta del vostro sito e implementare un sistema in grado di gestire migliaia di visitatori contemporaneamente mediante la creazione di uno strato di cash tra il codice e il database. L’aspetto importante è che arrivare a costruire tale infrastruttura non è complesso, lo vedremo durante questo tutorial.

I siti web moderni e applicazioni web utilizzano una grande quantità di dati, e non è raro contare fino a 20 o addirittura 30 query SQL nella generazione di una sola pagina.
Aggiungete a questo valore un gran numero di visitatori, ecco che spesso si ottiene un database sovraccaricato, e pagine che hanno bisogno anche di alcuni secondi per essere generate e inviate al client.

Lo strumento che stiamo per usare oggi per migliorare le prestazioni si chiama Memcached.  Si tratta di high-performance in-memory data caching system.
O,  per dirla in altre parole, un programma molto veloce che viene eseguito sul server e utilizza una piccola parte della memoria disponibile per memorizzare un array associativo di dati.

Potete chiedere a Memcached di fare due cose:

  • Memorizzare il valore ‘V’ con la chiave ‘K’;
  • Ottenere il valore ‘V’ associato alla chiave ‘K’.

Read more…

Lo sviluppo open source come nuova opportunità a costruire il tuo profilo professionale: dove guardare, cosa imparare.

November 28th, 2011 1 comment

Programatori Free Open Source

Fino a pochi anni fa il termine Open Source era legato al mondo linux e alle piccole community di sviluppatori che con grandi sforzi e in completa autogestione cercavano di diffondere non solo il loro software ma anche i vantaggi di un nuovo modo di fornire servizi.
Oggi a distanza di pochi anni la diffusione di software open source ha avuto una crescita esponenziale al punto da renderlo a tutti gli effetti competitivo e non solo, ponendolo al centro dell’attenzione delle grandi multinazionali che molto spesso sostengono le community o addirittura hanno acquisito l’intero know how.

Pensiamo ad azende con nomi di un certo calibro come Novell, Oracle, Google e la stessa Microsoft che da qualche temmpo ha iniziato a mettere a disposizione degli sviluppatori un’ambiente di sviluppo ricco di strumenti con licenza open.
Read more…

Related Posts with Thumbnails
Creative Commons License
Questo/a opera è pubblicato sotto una Licenza Creative Commons