<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Stefano e Lori Blog &#187; Programmazione</title>
	<atom:link href="http://www.slweb.it/wp/category/programmazione/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.slweb.it/wp</link>
	<description>Famiglia, tecnologia, fotografia e musica... cioè la mia vita!</description>
	<lastBuildDate>Mon, 17 Oct 2011 07:21:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Lion, Apache lento dopo l&#8217;aggiornamento</title>
		<link>http://www.slweb.it/wp/17102011/lion-apache-lento-dopo-laggiornamento/</link>
		<comments>http://www.slweb.it/wp/17102011/lion-apache-lento-dopo-laggiornamento/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 07:21:54 +0000</pubDate>
		<dc:creator>stefano</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Hosts]]></category>
		<category><![CDATA[Lento]]></category>
		<category><![CDATA[Lion]]></category>
		<category><![CDATA[Local]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://www.slweb.it/wp/?p=832</guid>
		<description><![CDATA[Finalmente oggi ho trovato la soluzione ad un problema piuttosto fastidioso che si era verificato con l&#8217;aggiornamento  di Lion, una strana, stranissima lentezza del web server apache. Come vedremo non è poi colpa di apache ma all&#8217;inizio a me sembrava colpa sua. Prima di tutto specifico però come è configurato il mio ambiente di sviluppo [...]]]></description>
			<content:encoded><![CDATA[<p>Finalmente oggi ho trovato la soluzione ad un problema piuttosto fastidioso che si era verificato con l&#8217;aggiornamento  di Lion, una strana, stranissima lentezza del web server apache. Come vedremo non è poi colpa di apache ma all&#8217;inizio a me sembrava colpa sua.</p>
<p>Prima di tutto specifico però come è configurato il mio ambiente di sviluppo web, io ho appunto apache come web server per il test in locale dei siti in via di sviluppo ed utilizzo i vitualhost di apache per identificare  siti locali con il suffisso .local, quindi ad esempio ho www.slweb.local. Ho poi nel file /etc/hosts l&#8217;indicazione per risolvere www.slweb.local nell&#8217;indirizzo ip locale del mac. Quindi per testare la versione locale di questo sito digito sul browser www.slweb.local.</p>
<p>Il file /etc/hosts, durante la risoluzione dei nomi, viene consultato prima del DNS e per questo motivo è molto rapido e soprattutto permette di ignorare il DNS per il TLD .local. Ma vi è un problema, a quanto pare Os X 1.7 utilizza il TLD .local per alcuni servizi bonjur e questo provoca il rallentamento nella risoluzione dei nomi .local contenuti nel file /etc/hosts. Ecco spiegato il motivo per cui ogni volta che richiedevo una pagina .local il web server apache impiegava oltre 5 secondi per rispondere!</p>
<p>Il modo più semplice per ovviare a questo problema è quello di non usare .local per i siti locali ma un&#8217;altra estensione come .dev.</p>
<p>Ho cambiato tutti i virtualhost e il file /etc/hosts con .dev al posto di .local e adesso è tutto super veloce, come prima.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slweb.it/wp/17102011/lion-apache-lento-dopo-laggiornamento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steve Jobs 1955-2011</title>
		<link>http://www.slweb.it/wp/06102011/steve-jobs-1955-2011/</link>
		<comments>http://www.slweb.it/wp/06102011/steve-jobs-1955-2011/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 03:17:08 +0000</pubDate>
		<dc:creator>stefano</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Steve Jobs]]></category>

		<guid isPermaLink="false">http://www.slweb.it/wp/?p=829</guid>
		<description><![CDATA[Grazie! È tutto quello che posso dirti, grazie per avermi fatto sognare, per avermi fatto divertire e per avermi fatto lavorare.]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-830" title="Steve Jobs" src="http://www.slweb.it/wp/wp-content/uploads/2011/10/steve_jobs.png" alt="Steve Jobs" width="500" /></p>
<p style="text-align: left;">Grazie! È tutto quello che posso dirti, grazie per avermi fatto sognare, per avermi fatto divertire e per avermi fatto lavorare.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slweb.it/wp/06102011/steve-jobs-1955-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creare file di specifiche dimensioni.</title>
		<link>http://www.slweb.it/wp/03102011/creare-file-di-specifiche-dimensioni/</link>
		<comments>http://www.slweb.it/wp/03102011/creare-file-di-specifiche-dimensioni/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 10:14:49 +0000</pubDate>
		<dc:creator>stefano</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[File]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://www.slweb.it/wp/?p=825</guid>
		<description><![CDATA[Spesso per fare i test di upload/download delle applicazioni web è necessario disporre di file che abbiano precise dimensioni. È possibile creare questi file, molto semplicemente con il comando unix dd, disponibile sia in Linux che in Mac Os X. La sintassi  per creare un file da 1Mb è la seguente: Poichè il file è [...]]]></description>
			<content:encoded><![CDATA[<p>Spesso per fare i test di upload/download delle applicazioni web è necessario disporre di file che abbiano precise dimensioni. È possibile creare questi file, molto semplicemente con il comando unix dd, disponibile sia in Linux che in Mac Os X. La sintassi  per creare un file da 1Mb è la seguente:</p>
<pre class="brush: bash; title: ; notranslate">dd if=/dev/urandom of=filetest_1mb bs=1048576 count=1</pre>
<p>Poichè il file è riempito di valori random anche comprimendolo non si ha perdita di dati, rimane delle stesse dimensioni!</p>
<pre class="brush: bash; title: ; notranslate">gzip filetest_1mb</pre>
<p>Produce il file compresso filetest_1mb.gz di 1 Mb esatto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slweb.it/wp/03102011/creare-file-di-specifiche-dimensioni/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Il data package di Ext Js 4 &#8211; part 1</title>
		<link>http://www.slweb.it/wp/09082011/il-data-package-di-ext-js-4-part-1/</link>
		<comments>http://www.slweb.it/wp/09082011/il-data-package-di-ext-js-4-part-1/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 08:45:05 +0000</pubDate>
		<dc:creator>stefano</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Ext Js]]></category>

		<guid isPermaLink="false">http://www.slweb.it/wp/?p=820</guid>
		<description><![CDATA[Il data package di Ext Js 4 è stato completamente riscritto ed introduce moltissime novità. Al centro del data package troviamo Ext.data.Model. Il Model non è altro che la rappresentazione di un certo tipo di dati trattati nella nostra applicazione. Ad esempio un applicazione per la gestione dei clienti ed relativi ordini avremo sicuramente un [...]]]></description>
			<content:encoded><![CDATA[<p>Il data package di Ext Js 4 è stato completamente riscritto ed introduce moltissime novità. Al centro del data package troviamo Ext.data.Model. Il Model non è altro che la rappresentazione di un certo tipo di dati trattati nella nostra applicazione. Ad esempio un applicazione per la gestione dei clienti ed relativi ordini avremo sicuramente un model che rappresenta il cliente ed un model che rappresenta l&#8217;ordine. Il model quindi è essenzialmente composto da un elenco di valori (campi) e alcune informazioni su di essi. Per comprendere meglio definiamo il model Cliente per la nostra applicazione:</p>
<pre class="brush: jscript; title: ; notranslate">Ext.define('Cliente', {
  extend: 'Ext.data.Model',
  fields: [
     { name: 'id_cliente', type: 'int' },
     { name: 'nome', type: 'string' },
     { name: 'cognome', type: 'string' },
     { name: 'email', type: 'string', vtype: 'email' },
     { name: 'telefono', type: 'string' }
  ]
});</pre>
<p>Il Model, viene utilizzato unitamente a Ext.data.Store per visualizzare e modificare i dati all&#8217;interno della nostra applicazione. Attraverso lo Store è inoltre possibile compiere diverse operazioni come l&#8217;ordinamento, la ricerca etc.  Per visualizzare l&#8217;elenco dei clienti in un grid panel,  dobbiamo, quindi, definire un Store:</p>
<pre class="brush: jscript; title: ; notranslate">Ext.create('Ext.data.Store', {
    model: 'Cliente',
    proxy: {
        type: 'ajax',
        url : 'clienti.json',
        reader: 'json'
    },
    autoLoad: true
});</pre>
<p>In questo Store abbiamo definito un un proxy di tipo AJAX, che carica i dati dall&#8217;url specificata in formato json e li interpreta tramite il reader definito. In Ext js 4 possiamo definire svariati tipi locali o remoti di Ext.data.Proxy.</p>
<p>Nell&#8217;esempio precedente abbiamo definito il Proxy all&#8217;interno dello Store, Est Js 4 ci offre anche un&#8217;altro approccio, ovvero la possibilità di definire il Proxy all&#8217;interno del Model:</p>
<pre class="brush: jscript; title: ; notranslate">//definisco un modello con il relativo proxy
Ext.define('Cliente', {
  extend: 'Ext.data.Model',
  fields: [
     { name: 'id_cliente', type: 'int' },
     { name: 'nome', type: 'string' },
     { name: 'cognome', type: 'string' },
     { name: 'email', type: 'string', vtype: 'email' },
     { name: 'telefono', type: 'string' }
  ],
  idProperty: 'id_cliente'
  proxy: {
        type: 'ajax',
        api : {
            create  : 'createCliente.php',
    	    read    : 'elencoClienti.php',
    	    update  : 'updateCliente.php',
    	    destroy : 'deleteCliente.php'
        },
        reader: {
             type: 'json',
             root: 'dati'
        },
        writer: {
            type: 'json',
            writeAllFields:true,
            root : 'data',
            encode: true
        }
    }
});

// Uso il proxy definito nel model
Ext.create('Ext.data.Store', {
    model: 'Cliente'
});</pre>
<p>Questo approccio offre due vantaggi. Il primo è evidente, tutti gli store che useranno il Model Cliente leggeranno i dati dallo stesso Proxy, non dovremo così definire un Proxy in ogni Store. Il secondo è meno evidente ma altrettanto interessante; possiamo caricare e salvare i dati senza l&#8217;uso di un Store.</p>
<p>Prima di vedere come compiere le operazioni sui dati vediamo bene il significato delle varie configurazioni del Model Cliente.</p>
<pre class="brush: jscript; title: ; notranslate">   idProperty: 'id_cliente'</pre>
<p>La configurazione serve ad indicare qual&#8217;è il campo che identifica univocamente il record, di default questo valore è <em>id</em> se come nel nostro Cliente si è usato un campo diverso da <em>id</em>, si deve necessariamente specificare quale campo riveste la funzione di <em>id</em>, in questo modo il Proxy verificando la presenza di questo valore sarà in grado di stabilire se si tratta di un nuovo record oppure di una modifica ad un record esistente, eseguendo la chiamata ajax corretta.</p>
<pre class="brush: jscript; title: ; notranslate">api : {
   create  : 'createCliente.php',
   read    : 'elencoClienti.php',
   update  : 'updateCliente.php',
   destroy : 'deleteCliente.php'
}</pre>
<p>La configurazione <em>api</em> consente di indicare al Porxy quali sono le url da chiamare per ogni singola operazione CRUD (Create, Read, Update, Destroy), se state usando un back end che è in grado di riconoscere le operazioni restful (PUT, POST, GET, DELETE) potete tralasciare <em>api</em> ed usare la configurazione <em>url</em> insieme a la configurazione <em>type: &#8216;rest&#8217;</em>.</p>
<pre class="brush: jscript; title: ; notranslate">reader: {
   type: 'json',
   root: 'dati'
}</pre>
<p>Il reader è quello che si occupa di leggere i dati, in questo caso abbiamo specificato che il tipo di dati è json e che i dati veri e propri sono dentro l&#8217;array <em>dati</em>. Questo reader si aspetta una risposta json di questo tipo:</p>
<pre class="brush: jscript; title: ; notranslate">{&quot;success&quot;:true, &quot;message&quot;:&quot;Dati caricati correttamente&quot;, &quot;dati&quot;:[{record 1},{record 2},...,{record n}]}</pre>
<p>Ed infine:</p>
<pre class="brush: jscript; title: ; notranslate">writer: {
   type: 'json',
   writeAllFields:true,
   root : 'data',
   encode: true
}</pre>
<p>Il writer si occupa di definire il modo in cui operano le richieste di scrittura sul server remoto. In particolare stiamo indicando che i dati inviati devono essere di tipo json, che bisogna inviare sempre tutti i dati <em>writeAllFields:true</em> (se il framework remoto supporta l&#8217;aggiornamento solo dei campi modificati, è possibile saltare questa configurazione che di default è false) e infine che i dati saranno codificati dentro il parametro data dell&#8217;azione POST, in php avremo quindi:</p>
<pre class="brush: jscript; title: ; notranslate">$dati = json_decode($_POST['data']);</pre>
<p>Come abbiamo detto, possiamo compiere delle operazione sui dati senza l&#8217;ausilio dello Store, vediamo:</p>
<pre class="brush: jscript; title: ; notranslate">// Prendiamo un riferimento al modello Cliente
var Cliente = Ext.ModelMgr.getModel('Cliente');

var stefano = Ext.create('Cliente', {
    nome: 'Stefano',
    cognome: 'Perinetti',
    email : 'stefano@prova.com',
    tel: '+39000000000'
});

//Possiamo salvare stefano senza l'uso di uno Store, perché abbiamo definito nel Model tutto il necessario
//per questa operazione
stefano.save({
    success: function(stefano) {
        console.log(&quot;Stefano salvato! id_cliente =  &quot;+ stefano.getId());
    }
});</pre>
<p>In questo esempio abbiamo creato un nuovo cliente e abbiamo salvato i suoi dati sul server remoto utilizzando un&#8217;istanza del Model Cliente senza l&#8217;ausilio di uno Store. Da notare che il metodo Ext.data.Model.save() compie due azioni, la prima è di scrittura e la seconda di lettura per ottenere l&#8217;id generato probabilmente dal server remoto. Nell&#8217;operazione di lettura che avviene su quanto restituito dalla chiamata POST per il salvataggio dei dati sul server, deve quindi essere incluso l&#8217;intero record appena salvato con il suo id all&#8217;interno dell&#8217;array (<em>root: &#8216;dati&#8217;</em>) definito nel Proxy reader. In breve save() si aspetta una risposta simile:</p>
<pre class="brush: jscript; title: ; notranslate">{&quot;success&quot;: true, &quot;message&quot;:&quot;Record salvato correttamente.&quot;, &quot;dati&quot;:{&quot;id_cliente&quot;:123, &quot;nome&quot;:&quot;Stefano&quot; ...}}</pre>
<p>Ci sono ancora molte cose da analizzare sul data package vedremo nella seconda parte di questo articolo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slweb.it/wp/09082011/il-data-package-di-ext-js-4-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP autocomplete con APTANA studio 3</title>
		<link>http://www.slweb.it/wp/15072011/php-autocomplete-con-aptana-studio-3/</link>
		<comments>http://www.slweb.it/wp/15072011/php-autocomplete-con-aptana-studio-3/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 08:22:06 +0000</pubDate>
		<dc:creator>stefano</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Apatana]]></category>
		<category><![CDATA[ExtJs]]></category>
		<category><![CDATA[Javascrip]]></category>
		<category><![CDATA[Php]]></category>

		<guid isPermaLink="false">http://www.slweb.it/wp/?p=811</guid>
		<description><![CDATA[Ciao a tutti, oggi dopo alcuni mesi di malfunzionamento sono riuscito a far funzionare l&#8217;auto-completamento del codice PHP  su Aptana Studio 3. Il problema è che Aptana 3 dispone di un proprio editor PHP e Javascript che non supportano le funzionalità avanzate di code assist, come ad esempio l&#8217;auto-completamento sulle proprie classi definite nei file [...]]]></description>
			<content:encoded><![CDATA[<p>Ciao a tutti, oggi dopo alcuni mesi di malfunzionamento sono riuscito a far funzionare l&#8217;auto-completamento del codice PHP  su Aptana Studio 3. Il problema è che Aptana 3 dispone di un proprio editor PHP e Javascript che non supportano le funzionalità avanzate di code assist, come ad esempio l&#8217;auto-completamento sulle proprie classi definite nei file del progetto. Questo problema non era presente nello studio 2 e si è verificato sia con i progetti importati dallo studio 2 che con i nuovi. Per risolvere il problema occorre usare l&#8217;editor PHP di eclipse ed impostare la natura del progetto come</p>
<blockquote><p>org.eclipse.php.core.PHPNature</p></blockquote>
<p>Per fare questo occorre selezionare il progetto nel Project Explorer, cliccare con il destro e selezionare il menu configure-&gt;add php support</p>
<p style="text-align: center;"><a href="http://www.slweb.it/wp/wp-content/uploads/2011/07/Schermata-2011-07-15-a-09.17.46.png"><img class="aligncenter size-large wp-image-812" title="Add PHP suport" src="http://www.slweb.it/wp/wp-content/uploads/2011/07/Schermata-2011-07-15-a-09.17.46-1024x605.png" alt="Add PHP suport" width="550" /></a></p>
<p>Se si stanno usando anche librerie Javascript come ExtJs o Jquery è opportuno anche selezionare di nuovo configure-&gt;Convert to Javascript Project</p>
<p style="text-align: center;"><a href="http://www.slweb.it/wp/wp-content/uploads/2011/07/Schermata-2011-07-15-a-09.17.56.png"><img class="aligncenter size-large wp-image-813" title="Add Javascript Support" src="http://www.slweb.it/wp/wp-content/uploads/2011/07/Schermata-2011-07-15-a-09.17.56-1024x603.png" alt="Add Javascript Support" width="550" /></a></p>
<p>Si aprirà una finestra con delle opzioni su javascript, confermate pure senza toccare nulla.</p>
<p style="text-align: center;"><a href="http://www.slweb.it/wp/wp-content/uploads/2011/07/Schermata-2011-07-15-a-09.18.06.png"><img class="aligncenter size-large wp-image-814" title="Conferma Javascript" src="http://www.slweb.it/wp/wp-content/uploads/2011/07/Schermata-2011-07-15-a-09.18.06-1024x603.png" alt="Conferma Javascript" width="550" /></a></p>
<p>Ora possiamo cambiare la natura del nostro progetto, sempre con il destro sul nome del progetto, scegliete Properties. Nella finestra che si apre scegliamo la proprietà Project Natures nella parte sinistra.</p>
<p style="text-align: center;"><a href="http://www.slweb.it/wp/wp-content/uploads/2011/07/Schermata-2011-07-15-a-09.18.26.png"><img class="aligncenter size-large wp-image-815" title="Proprietà del progetto" src="http://www.slweb.it/wp/wp-content/uploads/2011/07/Schermata-2011-07-15-a-09.18.26-1024x605.png" alt="Proprietà del progetto" width="550" /></a></p>
<p>Selezioniamo ed impostiamo la natura del progetto come da figura sottostante.</p>
<p style="text-align: left;"><a href="http://www.slweb.it/wp/wp-content/uploads/2011/07/Schermata-2011-07-15-a-09.18.31.png"><img class="aligncenter size-large wp-image-816" title="Project natures select" src="http://www.slweb.it/wp/wp-content/uploads/2011/07/Schermata-2011-07-15-a-09.18.31-1024x601.png" alt="Project natures select" width="550" /></a></p>
<p style="text-align: left;">Bene possiamo cliccare su ok, da ora in avanti le funzionalità di auto-completamento saranno pienamente supportate anche su Aptana 3!</p>
<p style="text-align: left;">Nota: prima di eseguire questa modifica su tutti i mie progetti, l&#8217;apertura di Aptana 3 era lentissima, in particolare ogni volta impegava anche 15 minuti per completare la fase building workspace. Dopo questa modifica è tornato tutto normale! Da capire meglio questa cosa.</p>
<p style="text-align: left;">Come sempre se vi è stato utile questo articolo, fatemelo sapere con un commento, è anche un modo per capire se devo continuare a scriverli oppure no!</p>
<p style="text-align: left;">Ciao</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slweb.it/wp/15072011/php-autocomplete-con-aptana-studio-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installare Centos 5.6 su volumi di oltre 2Tb</title>
		<link>http://www.slweb.it/wp/08062011/installare-centos-5-6-su-volumi-di-oltre-2tb/</link>
		<comments>http://www.slweb.it/wp/08062011/installare-centos-5-6-su-volumi-di-oltre-2tb/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 13:29:00 +0000</pubDate>
		<dc:creator>stefano</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Centos]]></category>
		<category><![CDATA[GPT]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MBR]]></category>

		<guid isPermaLink="false">http://www.slweb.it/wp/?p=797</guid>
		<description><![CDATA[Oggi mi è successo di dover installare Centos 5.6 su di un server con 3Tb di storage. Durante l&#8217;installazione al momento di creare le partizioni ricevevo un errore strano: &#8220;impossibile fare il boot da una partizione GPT&#8221;. In sostanza il vecchio MBR supporta volumi di massimo 2Tb quindi se si crea un volume logico maggiore [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="GPT" src="http://upload.wikimedia.org/wikipedia/commons/0/07/GUID_Partition_Table_Scheme.svg" alt="GPT" width="280" height="385" />Oggi mi è successo di dover installare Centos 5.6 su di un server con 3Tb di storage. Durante l&#8217;installazione al momento di creare le partizioni ricevevo un errore strano: &#8220;impossibile fare il boot da una partizione GPT&#8221;. In sostanza il vecchio MBR supporta volumi di massimo 2Tb quindi se si crea un volume logico maggiore di 2Tb i nuovi server dotati di EFI al posto di MBR utilizzano GPT che ovviamente ha molte meno limitazioni ed è più flessibile. Il kernel di default di Centos 5.6 ha il supporto per GPT tuttavia pare che GRUB non riesca a fare il but da questi volumi.</p>
<p>Come risolvere il problema?</p>
<p>Semplice! con il tools di HP per lo smartarray ho creato un array da 3Tb poi al sue interno ho creato due volumi logici, 1 da un Gb e l&#8217;altro grande quanto tutto lo spazio a disposizione entrambi raid 5.</p>
<p>Con questa configurazione il disco da 1Gb viene creato come MBR e l&#8217;altro come GPT. Durante l&#8217;installazione di Centos 5.6 anaconda partiziona correttamente installando /boot in una partizione di 100Mb del volume da 1Gb e il resto in LVM con due partizioni per swap e /.</p>
<p>Ciao</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slweb.it/wp/08062011/installare-centos-5-6-su-volumi-di-oltre-2tb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sencha, la svolta!</title>
		<link>http://www.slweb.it/wp/30102010/sencha-la-svolta-2/</link>
		<comments>http://www.slweb.it/wp/30102010/sencha-la-svolta-2/#comments</comments>
		<pubDate>Sat, 30 Oct 2010 16:00:05 +0000</pubDate>
		<dc:creator>stefano</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[ExtJs]]></category>
		<category><![CDATA[Sencha]]></category>
		<category><![CDATA[Senchatouch]]></category>

		<guid isPermaLink="false">http://www.slweb.it/wp/30102010/sencha-la-svolta-2/</guid>
		<description><![CDATA[Negli ultimi mesi, con tante web app da realizzare e poco tempo per farle mi sono messo alla ricerca di un qualcosa che potesse fornirmi gli strumenti idonei a procedere con velocità. In particolare cercavo qualcosa per mostrare i dati, una griglia in cui mostrare i dati, poterli ordinare, spostare, paginare ed anche, all&#8217;occasione, editare. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.slweb.it/wp/wp-content/uploads/2010/10/logo_sencha.jpg"><img class="alignleft size-full wp-image-748" title="Logo Sencha" src="http://www.slweb.it/wp/wp-content/uploads/2010/10/logo_sencha.jpg" alt="Logo Sencha" width="100" height="100" /></a>Negli ultimi mesi, con tante web app da realizzare e poco tempo per farle mi sono messo alla ricerca di un qualcosa che potesse fornirmi gli strumenti idonei a procedere con velocità.  In particolare cercavo qualcosa per mostrare i dati, una griglia in cui mostrare i dati, poterli ordinare, spostare, paginare ed anche, all&#8217;occasione, editare. Durante le ricerche capito sul sito di ExtJs, ora <a title="Sencha Web Site" href="http://www.sencha.com">Sencha</a>, e scopro non solo una griglia che fa tutto quello che mi serve ma un intero ed enorme framework che praticamente, con l&#8217;ultima versione, ha tutti i componenti necessari costruire un&#8217;applicazione web.</p>
<p>Non solo, proprio nei giorni in cui muovevo i primi passi per scoprire questo framework, è stato rilasciato Ext Designer, un software multi-piattaforma, che permette con il semplice Drag &amp; Drop di creare gli elementi dell&#8217;interfaccia grafica dell&#8217;applicazione, utilizzando i componenti di ExtJs.</p>
<p>Incredibile, posso creare un&#8217;intera interfaccia senza scrivere una riga di html o css, fantastico proprio quello che cercavo. Menu, finestre, form e griglie, tutto in modo semplice, coerente e lineare e non solo, controlli avanzati sui campi, data_store, combobox, data_grid insomma tutto!</p>
<p>Ho fatto la scelta, uso ExtJs!</p>
<p>L&#8217;apprendimento non è semplice, bisogna entrare nei meccanismi del framework e scoprirne le funzionalità davvero vastissime, nei prossimi giorni pubblicherò qualche tutorials su come usare Ext Designer per realizzare velocemente un&#8217;applicazione.</p>
<p><a href="http://www.slweb.it/wp/wp-content/uploads/2010/10/exy_designer.jpg"><img class="aligncenter size-full wp-image-746" title="Ext Designer" src="http://www.slweb.it/wp/wp-content/uploads/2010/10/exy_designer.jpg" alt="Ext Designer" width="600" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.slweb.it/wp/30102010/sencha-la-svolta-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Arriva il Magic Mouse!</title>
		<link>http://www.slweb.it/wp/21102009/arriva-il-magic-mouse/</link>
		<comments>http://www.slweb.it/wp/21102009/arriva-il-magic-mouse/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 07:23:59 +0000</pubDate>
		<dc:creator>stefano</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Magic Mouse]]></category>

		<guid isPermaLink="false">http://www.slweb.it/wp/?p=602</guid>
		<description><![CDATA[Ieri Apple ha presentato molti nuovi prodotti fra cui una nuova gamma di iMac che finalmente abbandonano il processore core duo per portatili per abbracciare in nuovi intel core i5 e i7 e un nuovo macbook anch&#8217;esso ora dotato di guscio unibody. La novità però più bella secondo me è il nuovo Magic Mouse! Il [...]]]></description>
			<content:encoded><![CDATA[<p>Ieri Apple ha presentato molti nuovi prodotti fra cui una nuova gamma di iMac che finalmente abbandonano il processore core duo per portatili per abbracciare in nuovi intel core i5 e i7 e un nuovo macbook anch&#8217;esso ora dotato di guscio unibody. La novità però più bella secondo me è il nuovo Magic Mouse!</p>
<div id="attachment_603" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.slweb.it/wp/wp-content/uploads/2009/10/magic_mouse.jpg"><img class="size-full wp-image-603" title="Apple Magic Mouse" src="http://www.slweb.it/wp/wp-content/uploads/2009/10/magic_mouse.jpg" alt="Apple Magic Mouse" width="580" height="201" /></a><p class="wp-caption-text">Apple Magic Mouse</p></div>
<p>Il nuovo mouse è in assoluto il primo mouse Multi Touch della storia. In sostanza Apple ha deciso di trasferire l&#8217;esperienza Multi Touch di iPhone prima e di iPod Touch e MacBook Pro dopo anche nei sistemi desktop. Dal design essenziale ed elegante il Magic Mouse elimina tutto il superfluo, niente filo, niente tasti ne, tanto meno, rotelline che si sporcano e si inceppano. Per gestire i comandi è sufficiente usare le &#8220;gesture&#8221; tipiche dei dispositivi Touch che gli utenti iPhone conoscono molto bene.</p>
<div id="attachment_604" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.slweb.it/wp/wp-content/uploads/2009/10/magic_mouse_02.jpg"><img class="size-full wp-image-604" title="Apple Magic Mouse" src="http://www.slweb.it/wp/wp-content/uploads/2009/10/magic_mouse_02.jpg" alt="Apple Magic Mouse" width="580" height="144" /></a><p class="wp-caption-text">Apple Magic Mouse</p></div>
<p>Come al solito Apple riesce sempre a tirare fuori un prodotto unico e rivoluzionario, ora attendiamo di averlo a disposizione per una prova sul campo.</p>
<p>E&#8217; possibile acquistare il Magic Mouse sullo store on-line per 69 €</p>
<p>Ciao</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slweb.it/wp/21102009/arriva-il-magic-mouse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Caratteri, capiamoci qualcosa!</title>
		<link>http://www.slweb.it/wp/16092009/caratteri-capiamoci-qualcosa/</link>
		<comments>http://www.slweb.it/wp/16092009/caratteri-capiamoci-qualcosa/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 09:33:52 +0000</pubDate>
		<dc:creator>stefano</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Sviluppo]]></category>

		<guid isPermaLink="false">http://www.slweb.it/wp/?p=528</guid>
		<description><![CDATA[Sposto sul blog questo vecchio articolo che avevo pubblicato un pò di tempo fa! Uno dei problemi che spesso si incontra sviluppando pagine web con PHP e MySLQ è quello dei caratteri, soprattutto quelli accentati o quelli aprticolari come l’euro €. Il tutto dipende da errori di conversione fra diversi charset, infatti, spesso inconsapevolmente, il [...]]]></description>
			<content:encoded><![CDATA[<p>Sposto sul blog questo vecchio articolo che avevo pubblicato un pò di tempo fa!</p>
<p>Uno dei problemi che spesso si incontra sviluppando pagine web con PHP e MySLQ è quello dei caratteri, soprattutto quelli accentati o quelli aprticolari come l’euro €.</p>
<p>Il tutto dipende da errori di conversione fra diversi charset, infatti, spesso inconsapevolmente, il programmatore principiante  non presta attenzione a questo aspetto durante lo sviluppo lasciando le impostazioni di default che spesso non coincidono.</p>
<p>Il database MySQL per esempio imposta come charset di default il latin1 mentre il web server solitamente utilizza utf-8. Durante questa conversione si possono creare delle imprecisioni che portano alla mancata visualizzazione dei caratteri.</p>
<p>Come risolvere il problema?</p>
<p>Semplice basta impostare tutto come utf-8 che è il charset consigliato dal w3c.</p>
<p>Allora per prima cosa impostate il vostro editor per scrivere con il charset utf-8.</p>
<p>Inserite in ogni pagina html, xhtml quale charset viene utilizzato  con la seguente direttiva:</p>
<p><code>&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;</code></p>
<p>Quando create il database MySQL specificate come default charset utf-8 e come collation utf-8_general_ci.</p>
<p>Bisogna poi infine fare attenzione ad un aspetto critico. MySQL usa come default charset latin1 anche per il client e la connessione, queste opzioni sono configurate nelle variabili del server.</p>
<p>Potete procedere in due modi:</p>
<ul>
<li>Modificate i valori di default del server MySQL ma fate attenzione perché ciò influisce sui database e le applicazioni precedenti.</li>
<li>Eseguire seguenti due query subito dopo la connessione:</li>
</ul>
<p><code>SET NAMES utf8<br />
SET CHARACTER_SET utf8</code></p>
<p>Assicuratevi che anche il web server utilizzi il charset uft-8.</p>
<p>Ho fatto svariate prove e non ho avuto problemi con moltissimi caratteri sia in inserimento sul database che il lettura, se avete ulteriori informazioni per completare questo piccolo articolo inviatemele pure e le pubblicherò col vostro nome.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slweb.it/wp/16092009/caratteri-capiamoci-qualcosa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installiamo php 5.2.10 su Snow Leopard</title>
		<link>http://www.slweb.it/wp/14092009/installiamo-php-5-2-10-su-snow-leopard/</link>
		<comments>http://www.slweb.it/wp/14092009/installiamo-php-5-2-10-su-snow-leopard/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 09:59:18 +0000</pubDate>
		<dc:creator>stefano</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Snow Leopard]]></category>
		<category><![CDATA[Sviluppo]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Zenc-cart]]></category>

		<guid isPermaLink="false">http://www.slweb.it/wp/?p=515</guid>
		<description><![CDATA[Eh si! Con Snow Leopard viene fornito a corredo il php 5.3 cioè l&#8217;ultima versione disponibile. Il problema è che php 5.3 apporta delle modifiche sostanziali a linguaggio ed elimina alcune funzioni, che poi da diversi anni si chiedeva di non usare più dichiarandole &#8220;Deprecated&#8221;, che di fatto impediscono il funzionamento di alcuni dei software [...]]]></description>
			<content:encoded><![CDATA[<p>Eh si! Con Snow Leopard viene fornito a corredo il php 5.3 cioè l&#8217;ultima versione disponibile. Il problema è che php 5.3 apporta delle modifiche sostanziali a linguaggio ed elimina alcune funzioni, che poi da diversi anni si chiedeva di non usare più dichiarandole &#8220;Deprecated&#8221;, che di fatto impediscono il funzionamento di alcuni dei software open-source più comuni fra cui zen-cart, magento, joomla etc. Poiché sono uno sviluppatore che opera principalmente con questi software era per me impossibile mantenere il php 5.3 quindi piano piano sono riuscito a compilare il php 5.2.10 e farlo funzionare con Snow Leopard.</p>
<p>Riporto di seguito la procedura così come l&#8217;ho eseguita, è piuttosto lunga e un pò snervante  e richiede un minimo di dimestichezza con la shell Unix. Alla fine otterrete una versione di php piuttosto completa, volendo potete aggiungere o togliere le estensioni, e completamente stand-alone che funziona a 64 bit correttamente con web server apache installato di default con Snow Leopard.</p>
<p>Installate prima di tutto mysql prelevando l&#8217;ultima versione dal sito www.mysql.com, ovviamente prendete quella per 10.5 x86_64</p>
<p><strong>Prepariamo le directory necessarie:</strong></p>
<p><code>sudo mkdir /usr/local/php5.2<br />
mkdir ~/src<br />
cd src</code></p>
<p><strong>installare prima le librerie necessarie in /usr/local/php5.2/</strong></p>
<p><strong>installazione t1lib</strong></p>
<p><code>curl -O ftp://sunsite.unc.edu/pub/linux/libs/graphics/t1lib-5.1.2.tar.gz<br />
tar xzf t1lib-5.1.2.tar.gz<br />
cd t1lib-5.1.2<br />
CFLAGS="-arch x86_64" ./configure --prefix=/usr/local/php5.2/<br />
make without_doc<br />
sudo make install<br />
cd ..</code></p>
<p><strong>installazione lib jpeg</strong></p>
<p><code>curl -O http://www.ijg.org/files/jpegsrc.v7.tar.gz<br />
tar -xzf jpegsrc.v7.tar.gz<br />
cd jpeg-7/<br />
CFLAGS="-arch x86_64" ./configure --prefix=/usr/local/php5.2/<br />
make<br />
sudo make install<br />
cd ..</code></p>
<p><strong>installazione lib png</strong></p>
<p>Scaricatela da http://www.libpng.org/pub/png/libpng.html e mettela dentro ~/src curl non funziona con sourceforge</p>
<p><code>tar -xzf libpng-1.2.40.tar.gz<br />
cd libpng-1.2.40<br />
CFLAGS="-arch x86_64" ./configure --prefix=/usr/local/php5.2/<br />
sudo make install<br />
cd .</code></p>
<p><strong>installazione libmcrypt</strong></p>
<p>scaricatela da http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download e mettela dentro ~/src curl non funziona con sourceforge</p>
<p><code>tar -xzf libmcrypt-2.5.8.tar.gz<br />
cd libmcrypt-2.5.8<br />
CFLAGS="-arch x86_64" ./configure --prefix=/usr/local/php5.2/<br />
make<br />
sudo make install<br />
cd ..</code></p>
<p><strong>installazione libxml2</strong></p>
<p><code>curl -O ftp://xmlsoft.org/libxml2/libxml2-2.7.4.tar.gz<br />
tar -xzf libxml2-2.7.4.tar.gz<br />
CFLAGS="-arch x86_64" ./configure --prefix=/usr/local/php5.2/<br />
make<br />
sudo make install<br />
cd ..</code></p>
<p><strong>installazione gettext</strong></p>
<p><code>curl -O http://gd.tuwien.ac.at/gnu/gnusrc/gettext/gettext-0.17.tar.gz<br />
tar -xzf gettext-0.17.tar.gz<br />
cd gettext-0.17<br />
CFLAGS="-arch x86_64" ./configure --prefix=/usr/local/php5.2/<br />
make<br />
sudo make install<br />
cd ..</code></p>
<p><strong>installazione di curl e lib curl</strong></p>
<p><code>curl -O http://curl.haxx.se/download/curl-7.19.6.tar.gz<br />
tar -xzf curl-7.19.6.tar.gz<br />
CFLAGS="-arch x86_64" ./configure --prefix=/usr/local/php5.2/<br />
make<br />
sudo make install<br />
cd ..</code></p>
<p><strong>e finalmente prendiamo php</strong></p>
<p><code>curl -O  http://uk.php.net/distributions/php-5.2.10.tar.bz2<br />
tar xfz php-5.2.10.tar.bz2<br />
cd php-5.2.10</code></p>
<p>in questa versione di php cè un piccolo errore in un file che va corretto prima di tutto altrimenti non si compila un bel niente</p>
<p>aprite con un editor di testo (io ho usato xcode) il file</p>
<p><code>~/src/php-5.2.10/ext/iconv/iconv.c</code></p>
<p>alle riga 196, 197, e 198 trovate</p>
<p><code>#ifdef HAVE_LIBICONV<br />
#define iconv libiconv<br />
#endif</code></p>
<p>correggete con</p>
<p><code>#ifdef HAVE_LIBICONV<br />
#define iconv iconv<br />
#endif</code></p>
<p><strong>prepariamo il configure</strong></p>
<p><code>CFLAGS="-arch x86_64 -I/usr/local/php5.2/include/" LDFLAGS="-L/usr/local/php5.2/include/" ./configure  --prefix=/usr/local/php5.2 --disable-dependency-tracking --with-apxs2=/usr/sbin/apxs --with-config-file-scan-dir=/usr/local/php5.2/php.d --with-openssl=/usr --with-zlib=/usr --with-zlib-dir=/usr -with-xpm-dir=/usr --with-gd --with-ldap --with-xmlrpc --enable-exif --enable-soap --enable-sqlite-utf8 --enable-wddx --enable-ftp --enable-sockets --with-bz2=/usr --enable-zip --enable-pcntl --enable-shmop --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-mbstring --enable-bcmath --with-libxml-dir=/usr/local/php5.2 --with-xsl=/usr/local/php5.2 --with-gettext=/usr/local/php5.2  --with-png-dir=/usr/local/php5.2 --with-jpeg-dir=/usr/local/php5.2 --enable-gd-native-ttf --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mcrypt=/usr/local/php5.2 --with-iconv --disable-xmlreader --with-t1lib=/usr/local/php5.2 --with-curl=/usr/local/php5.2</code></p>
<p>ok c&#8217;è un altro bug</p>
<p>aprite sempre con xcode</p>
<p><code>~/src/php-5.2.10/Makefile</code></p>
<p>il Makefile appena generato, cercate</p>
<p><code>EXTRA_LIBS =</code></p>
<p>seguito da una serie di opzioni, aggiungete per prima</p>
<p><code>-lresolv</code></p>
<p>salvate e chiudete, compiliamo!</p>
<p><code>make</code></p>
<p>bene il php è compilato ora facciamo il backup del php di snow leopard altrimenti viene sovrascritto</p>
<p><code>sudo mv /usr/libexec/apache2/libphp5.so /usr/libexec/apache2/libphp5.so.snow_leopard<br />
sudo make install</code></p>
<p>spostiamo modulo appena generato e ripristiniamo il php di snow leopard (opzionale)</p>
<p><code>sudo mv /usr/libexec/apache2/libphp5.so /usr/local/php5.2/libphp5.so<br />
sudo cp /usr/libexec/apache2/libphp5.so.snow_leopard /usr/libexec/apache2/libphp5.so</code></p>
<p>Modifichiamo il file</p>
<p><code>/etc/apache/httpd.conf</code></p>
<p>commentando la riga</p>
<p><code>#LoadModule php5_module        libexec/apache2/libphp5.so</code></p>
<p>e aggiungendo la riga</p>
<p><code>LoadModule php5_module        local/php5.2/libphp5.so</code></p>
<p>Riavviamo apache</p>
<p><code>sudo apachectl restart</code></p>
<p>Ok ora avete il vostro php 5.2.10 funzionante potete tranquillamente continuare a sviluppare in attesa della prossima compatibilità de vari software. Bella fatica eh! io sono impazzito 2 giorni pieni pieni, sperò che possa essere d&#8217;aiuto a qualcun altro. Se seguite questa guida e qualcosa non vi torna o semplicemente riuscite lasciatemi un commento, sarò felice di aiutarvi o di esservi stato d&#8217;aiuto.</p>
<p>Ciao</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slweb.it/wp/14092009/installiamo-php-5-2-10-su-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>50</slash:comments>
		</item>
	</channel>
</rss>

