<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Blogrammazione</title>
	
	<link>http://www.marcolecce.com/blog</link>
	<description>Il primo Blog sulla Programmazione, sull'Ingegneria del Software e sull'Informatica in generale</description>
	<lastBuildDate>Sun, 21 Feb 2010 13:10:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Blogrammazione" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="blogrammazione" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">Blogrammazione</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>WINDOWS – Ripartizionare il disco rigido</title>
		<link>http://www.marcolecce.com/blog/2010/02/20/windows-ripartizionare-il-disco-rigido/</link>
		<comments>http://www.marcolecce.com/blog/2010/02/20/windows-ripartizionare-il-disco-rigido/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 18:14:14 +0000</pubDate>
		<dc:creator>maje</dc:creator>
				<category><![CDATA[Sistemi Operativi]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.marcolecce.com/blog/?p=222</guid>
		<description><![CDATA[Imparare a partizionare correttamente il disco rigido del proprio PC è un passo fondamentali per avere un sistema operativo solido e facilre da manutenere. Un buon partizionamento del disco rigido ci permette di salvaguardare i nostri dati, ad esempio, separandoli dal resto del sistema e proteggendoli così da eventuali danni al sistema stesso.
Può tuttavia capitare [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Imparare a partizionare correttamente il disco rigido del proprio PC è un passo fondamentali per avere un sistema operativo solido e facilre da manutenere. Un buon partizionamento del disco rigido ci permette di salvaguardare i nostri dati, ad esempio, separandoli dal resto del sistema e proteggendoli così da eventuali danni al sistema stesso.</p>
<p style="text-align: justify;">Può tuttavia capitare di voler o dover ripartizionare il disco, ad esempio perchè abbiamo sottostimato il volume del disco primario. Ovviamente possiamo segliere di formattare il disco e procedere ad una nuova formattazione, ma questo vorrebbe dire spostare i dati in un altro device e poi spostarli nuovamente a formattazione completata. Chiaramente abbiamo un&#8217;alternativa migliore e sicuramente più veloce.</p>
<p style="text-align: justify;">Esistono infatti diversi prodotti per i sistemi Windows in grado di ripartizionare il disco in real-time: ne abbiamo provati diversi, con risultati decisamente deludenti, fino a quando non abbiamo scovato l&#8217;<a href="http://www.partition-tool.com/download.htm" target="_blank"><strong>EASEUS Partition Master 5.0.1 Home Edition</strong></a>.</p>
<p style="text-align: justify;">Questo è davvero un ottimo prodotto: gratuito, veloce, facile da utilizzare e soprattutto solido e robusto. In tutte le prove che abbiamo fatto non abbiamo riscontrato alcun problema, nessuna perdita di dati: in pochi minuti abbiamo riformattato il disco e dopo un riavvio&#8230;.eccoci pronti a lavorare. Il prodotto è scaricabile gratuitamente da <a href="http://www.partition-tool.com/download.htm" target="_blank">qui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcolecce.com/blog/2010/02/20/windows-ripartizionare-il-disco-rigido/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JAVA – Installazione Java e Settaggio della variabile JAVA_HOME in Linux (Ubuntu – Fedora)</title>
		<link>http://www.marcolecce.com/blog/2010/01/17/java-installazione-java-e-settaggio-della-variabile-java_home-in-linux-ubuntu-fedora/</link>
		<comments>http://www.marcolecce.com/blog/2010/01/17/java-installazione-java-e-settaggio-della-variabile-java_home-in-linux-ubuntu-fedora/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 15:37:28 +0000</pubDate>
		<dc:creator>maje</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistemi Operativi]]></category>

		<guid isPermaLink="false">http://www.marcolecce.com/blog/?p=215</guid>
		<description><![CDATA[La selezione della VM (Virtual Machine) in uso durante lo sviluppo in Java dipende dal settaggio della variabile d&#8217;ambiente JAVA_HOME : ecco perchè è di vitale importanza capire come e dove settare tale variabile. Vediamo la configurazione della variabile d&#8217;ambiente JAVA_HOME all&#8217;interno di un sistema Linux, e in particolare per le distro Ubuntu e Fedora.
Per [...]]]></description>
			<content:encoded><![CDATA[<p>La selezione della VM (Virtual Machine) in uso durante lo sviluppo in Java dipende dal settaggio della variabile d&#8217;ambiente JAVA_HOME : ecco perchè è di vitale importanza capire come e dove settare tale variabile. Vediamo la configurazione della variabile d&#8217;ambiente JAVA_HOME all&#8217;interno di un sistema Linux, e in particolare per le distro Ubuntu e Fedora.</p>
<p>Per prima cosa, verifichiamo se nel nostro sistema è già installata una versione di Java eseguendo il comando</p>
<pre>user@host:~$ java -version</pre>
<p>In molte recenti distro Linux, è già presente l&#8217;enviroment java ma nel caso non ci fosse, lo possiamo installare senza troppi problemi.<br />
Procediamo dunque all&#8217;installazione del JDK nei nostri sistemi Ubuntu e Fedora:</p>
<p><strong>UBUNTU</strong></p>
<pre>user@host:~$ sudo apt-get install sun-java6-jdk
Password:
Reading package lists... Done
Building dependency tree
Reading state information... Done
[......................................]

<strong>FEDORA </strong>

[user@host ~]$ sudo yum install java-1.6.0-openjdk.i586</pre>
<pre>Loaded plugins: refresh-packagekit
Setting up Install Process
[......................................]</pre>
<p>In entrambi i casi, dopo l&#8217;installazione, procediamo nuovamente al controllo della versione installata con il comando</p>
<pre><strong>UBUNTU</strong>

user@host:~$ java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Server VM (build 1.6.0-b105, mixed mode)</pre>
<pre><strong>FEDORA </strong><strong>
</strong></pre>
<pre>[user@host ~]$ java -version
java version "1.6.0_0"
OpenJDK Runtime Environment (IcedTea6 1.6) (fedora-33.b16.fc12-i386)
OpenJDK Server VM (build 14.0-b16, mixed mode)</pre>
<p>Se il JDK installato non è settato come default, allora possiamo procedere nel modo seguente:</p>
<pre><strong>UBUNTU
</strong></pre>
<pre>user@host:~$ sudo update-alternatives --config java

There are 2 alternatives which provide `java'.

Selection    Alternative
-----------------------------------------------
*         1    /usr/bin/gij-wrapper-4.1
+        2    /usr/lib/jvm/java-6-sun/jre/bin/java

Press enter to keep the default[*], or type selection number: 2
Using `/usr/lib/jvm/java-6-sun/jre/bin/java' to provide `java'.</pre>
<pre><strong></strong><strong>FEDORA </strong></pre>
<pre>[user@host ~]$ sudo update-alternatives --config java

There are 2 programs which provide 'java'.

Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java

Enter to keep the current selection[+], or type selection number:</pre>
<p>A questo punto è arrivato il momento di settare la variabile JAVA_HOME : editiamo dunque il file ~/.bash_profile che si trova tra i file nascosti della cartella principale di ogni utenza Linux (nel caso in cui volessimo configurare tale variabile di sistema per tutti gli utenti è sufficiente eseguire i passi che vedremo tra poco nel file /etc/profile).</p>
<p>~/.bash_profile è uno script di startuo che generalmente viene eseguito una volta sola: questo file viene utilizzato per tutti quei comandi che vengono eseguiti quando l&#8217;utente esegue il login nel sistema Linux. E&#8217; pratica comune dunque utilizzare questo file per settare le variabilil d&#8217;ambiente, per creare alias a comandi via shell, ecc.<br />
Editiamo quindi il file con il comando</p>
<p><code>$ vi ~/.bash_profile</code></p>
<p>e, usando la sintassi export JAVA_HOME=&lt;percorso-installazione-java&gt; procediamo alla modifica del file</p>
<p><code>export JAVA_HOME=/usr/java/jdk1.6.0_0</code></p>
<p>e modifichiamo la variabile PATH come segue</p>
<p><code>export PATH=$PATH:/usr/java/jdk1.6.0_0/bin<br />
</code></p>
<p>Salviamo il file, chiudiamo tutto ed eseguiamo il logout e successivamente il login nel nostro sistema. Per controllare che tutto sia andato a buon fine, è sufficiente eseguire la stampa di tali variabili come segue:</p>
<p><code>$ echo $JAVA_HOME<br />
$ echo $PATH</code></p>
<p>Se tutto ha funzionato correttamente, vedremo nel nostro terminale la stampa del percorso che abbiamo precedentemente impostato, altrimenti una riga vuota. Questa procedura si può ripetere per tutti quei framework o applicativi che richiedono il settaggio di variabili d&#8217;ambiente (come la variabile UIMA_HOME per l&#8217;utilizzo del framework UIMA).</p>
<p>Tip: Possiamo usare il comando seguente per trovare il path dell&#8217;eseguibile java in UNIX / Linux:<br />
<code>$ which java</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcolecce.com/blog/2010/01/17/java-installazione-java-e-settaggio-della-variabile-java_home-in-linux-ubuntu-fedora/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MySQL – Recuperare la password per l’utenza root di MySQL</title>
		<link>http://www.marcolecce.com/blog/2009/12/21/mysql-recuperare-la-password-per-lutenza-root/</link>
		<comments>http://www.marcolecce.com/blog/2009/12/21/mysql-recuperare-la-password-per-lutenza-root/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 07:56:22 +0000</pubDate>
		<dc:creator>maje</dc:creator>
				<category><![CDATA[MySql]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Sistemi Operativi]]></category>

		<guid isPermaLink="false">http://www.marcolecce.com/blog/?p=207</guid>
		<description><![CDATA[La password di root per il server MySQL è un dato da considerarsi estremamente sensibile, vista l&#8217;importanza che ricopre. Diventa di vitale importanza tenere sempre a portata di mano una procedura che ci permetta di recuperare questo dato in caso di necessità.
E&#8217; possibile recuperare la password di root eseguendo questi 5 passi:




Step # 1: Fermare [...]]]></description>
			<content:encoded><![CDATA[<p>La password di root per il server MySQL è un dato da considerarsi estremamente sensibile, vista l&#8217;importanza che ricopre. Diventa di vitale importanza tenere sempre a portata di mano una procedura che ci permetta di recuperare questo dato in caso di necessità.</p>
<p>E&#8217; possibile recuperare la password di root eseguendo questi 5 passi:</p>
<div style="float: right; margin-top: 0px; margin-left: 5px;">
<p><a title="See all UNIX(R) related articles/tips" href="http://www.cyberciti.biz/tips/category/unix"><br />
</a></p>
</div>
<p>Step # 1: Fermare il processo server MySQL</p>
<p>Step # 2: &#8220;Startare&#8221; il processo server MySQL con l&#8217;opzione &#8211;skip-grant-tables</p>
<p>Step # 3: Connettersi al server MySQL come utente root</p>
<p>Step # 4: Configuriamo la nuova password per l&#8217;account di root</p>
<p>Step # 5: Usiamo e &#8220;restartiamo&#8221; il server MySQL.</p>
<p>Per ogni step, di seguito è possibile visionarne i commandi (da eseguire loggati come utente root):</p>
<p><strong>Step # 1 : Fermare il server MySQL</strong></p>
<p><code># /etc/init.d/mysql stop</code></p>
<p>Output:</p>
<p><em>Stopping MySQL database server: mysqld.</em></p>
<p><strong>Step # 2: Avviare il server MySQL senza password:</strong></p>
<p><code># mysqld_safe --skip-grant-tables &amp;</code></p>
<p>Output:</p>
<p><em>[1] 5988<br />
Starting mysqld daemon with databases from /var/lib/mysql<br />
mysqld_safe[6025]: started</em></p>
<p><strong>Step # 3: Connessione al server MySQL usando il client MySQL:</strong></p>
<p><code># mysql -u root</code></p>
<p>Output:</p>
<p><em>Welcome to the MySQL monitor.  Commands end with ; or \g.<br />
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log</em></p>
<p><em>Type &#8216;help;&#8217; or &#8216;\h&#8217; for help. Type &#8216;\c&#8217; to clear the buffer.</em></p>
<p><em>mysql&gt;</em></p>
<p><strong>Step # 4: Settiamo la nuova password per l&#8217;utenza root del server MySQL</strong></p>
<p><em><code>mysql&gt; use mysql;<br />
mysql&gt; update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';<br />
mysql&gt; flush privileges;<br />
mysql&gt; quit</code></em></p>
<p><strong>Step # 5: Stoppiamo il server MySQL:</strong></p>
<p><code># /etc/init.d/mysql stop<br />
</code><br />
<em>Output:</em></p>
<p><em>Stopping MySQL database server: mysqld<br />
STOPPING server from pid file /var/run/mysqld/mysqld.pid<br />
mysqld_safe[6186]: ended</em></p>
<p><em>[1]+  Done                    mysqld_safe &#8211;skip-grant-tables</em></p>
<p><strong>Step # 6: Avviamo il server MySQL ed effettuiamo il primo accesso</strong></p>
<p><em><code># /etc/init.d/mysql start<br />
# mysql -u root -p</code></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcolecce.com/blog/2009/12/21/mysql-recuperare-la-password-per-lutenza-root/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>APACHE – Redirect permanente di un dominio</title>
		<link>http://www.marcolecce.com/blog/2009/11/18/apache-redirect-permanente-di-un-dominio/</link>
		<comments>http://www.marcolecce.com/blog/2009/11/18/apache-redirect-permanente-di-un-dominio/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 08:08:24 +0000</pubDate>
		<dc:creator>maje</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.marcolecce.com/blog/?p=200</guid>
		<description><![CDATA[Il web marketing sta diventando uno dei settori prinicipali del web: sia dal punto di vista economico sia dal punto di vista tecnologico. E&#8217; ovviamente vitale per un portale web raggiungere alti livelli di visibilità, ma soprattutto, una volta raggiunti tali livelli, è ancora più vitale mantenerli.
L&#8217;attività di promozione e di studio di visibilità di [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Il <a href="http://it.wikipedia.org/wiki/Web_marketing" target="_blank">web marketing</a> sta diventando uno dei settori prinicipali del web: sia dal punto di vista economico sia dal punto di vista tecnologico. E&#8217; ovviamente vitale per un portale web raggiungere alti livelli di visibilità, ma soprattutto, una volta raggiunti tali livelli, è ancora più vitale mantenerli.</p>
<p style="text-align: justify;">L&#8217;attività di promozione e di studio di visibilità di un portale web è un&#8217;attività molto complessa, interdisciplinare e che richiede costante lavoro, impegno e dunque anche un investimento economico. Proprio per questi motivi, è fondamentale non perdere il lavoro svolto, a fronte di una migrazione del portale, ad esempio, che può diventare necessaria per diversi motivi, che vanno da problemi del server alla necessità di fornire servizi più performanti ai proprio utenti.</p>
<p style="text-align: justify;">Con questa premessa, diventa ovvio che lo spostamento o la migrazione di un servizio web non deve generare la perdita dell&#8217;indicizzazione e di tutte le informazioni ad essa correlate. Con questa finalità può essere sfruttato lo <strong><a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html" target="_blank">status HTTP 301</a></strong>, che indica appunto una il <em>Redirect Permanent</em>, che ci permette di avvisare i servizi quali motori di ricerca e social network che il nostro portale e i nostri contenuti non sono spariti nel nulla, ma sono stati &#8220;spostati&#8221; in modo permanente.</p>
<p style="text-align: justify;">Lo status HTTP 301 può essere impostato attraverso il web server <strong><a href="http://www.apache.org/" target="_blank">Apache</a></strong>, che ci permette diverse configurazioni possibili.</p>
<p style="text-align: justify;">La prima è quella di utilizzare un file <a href="http://httpd.apache.org/docs/1.3/howto/htaccess.html" target="_blank">.htaccess</a> incluso nella configurazione del dominio in questione, contenente la seguente direttiva:</p>
<p style="text-align: center;"><em>Redirect 301 / http://www.nuovodominio.com/</em></p>
<p style="text-align: justify;">dove il forward slash &#8220;/&#8221; indica che la pagina dal vecchio dominio sarà indirizzata sulla corrispondente contenuta nel nuovo dominio. Ovviamente si può specificare tale stato anche solo per una singola pagina, ad esempio con la seguente direttiva:</p>
<p style="text-align: center;"><em>Redirect 301 /oldpage.php http://www.nuovodominio.com/newpage.php</em></p>
<p>Una soluzione molto importante da conoscere è quella fornita dal <a href="http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html" target="_blank">mod_rewrite</a> di <a href="http://www.apache.org/" target="_blank">Apache</a>, che torna utile soprattutto nei casi in cui è necessario anche modificare il nome del virtual host.In sostanza, con le seguenti direttive, non solo segnaliamo il redirect permanente dal vecchio dominio al nuovo, ma in più applicchiamo una &#8220;ri-scrizione&#8221; del vecchio nome di dominio sul nuovo, in modo che tutte le vecchie pagine possono ritrovare la loro corrispondente sul nuovo dominio:</p>
<p style="text-align: left;"><em>Options +FollowSymLinks<br />
RewriteEngine on<br />
RewriteCond %{HTTP_HOST} www.vecchiodominio.it [NC]<br />
RewriteRule ^(.*)$ http://www.nuovodominio.it/$1 [L,R=301]</em>
</p>
<p style="text-align: left;">Ovviamente non è obbligatorio utilizzare un file <a href="http://httpd.apache.org/docs/1.3/howto/htaccess.html" target="_blank">.htaccess</a> per configurare tali direttive, possono essere inserite direttamente all&#8217;interno del file <a href="http://httpd.apache.org/docs/1.3/configuring.html" target="_blank">httpd.conf</a> del dominio in questione: teniamo prensente però che l&#8217;inclusione di file <a href="http://httpd.apache.org/docs/1.3/howto/htaccess.html" target="_blank">.htaccess</a> in alcuni casi permette di lasciare inalterati i file originali di configurazione del dominio (anche se potrebbe rallentare il sistema), mentre in altri casi ancora non si ha accesso al file <a href="http://httpd.apache.org/docs/1.3/configuring.html" target="_blank">httpd.conf</a> di configurazione del dominio e dunque rimane come una soluzione l&#8217;utilizzo dell&#8217; <a href="http://httpd.apache.org/docs/1.3/howto/htaccess.html" target="_blank">.htaccess</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcolecce.com/blog/2009/11/18/apache-redirect-permanente-di-un-dominio/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>LINUX – Configurare la scheda di rete da console</title>
		<link>http://www.marcolecce.com/blog/2009/10/28/linux-configurare-la-scheda-di-rete-da-console/</link>
		<comments>http://www.marcolecce.com/blog/2009/10/28/linux-configurare-la-scheda-di-rete-da-console/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 07:44:08 +0000</pubDate>
		<dc:creator>maje</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistemi Operativi]]></category>

		<guid isPermaLink="false">http://www.marcolecce.com/blog/?p=196</guid>
		<description><![CDATA[In alcune distribuzioni linux accade che i tool grafici per la configurazione della scheda di rete abbiano più di un bug, come ad esempio non &#8220;tenere&#8221; l&#8217;impostazione del DNS o quella del Gateway. Nella maggior parte dei casi questo avviene quando sono installati più tool per la gestione delle connessioni internet che vanno in conflitto [...]]]></description>
			<content:encoded><![CDATA[<p>In alcune distribuzioni linux accade che i tool grafici per la configurazione della scheda di rete abbiano più di un bug, come ad esempio non &#8220;tenere&#8221; l&#8217;impostazione del DNS o quella del Gateway. Nella maggior parte dei casi questo avviene quando sono installati più tool per la gestione delle connessioni internet che vanno in conflitto tra loro: ma non è sempre così semplice eliminare dal sistema un tool di questa importanza e in più, su un server con due o più schede di rete, può diventare davvero difficile individuare il problema.</p>
<p>(L&#8217;esempio che trattiamo tra qualche istante è una configurazione di esempio appunto, un server già attivo che possiede due schede di rete ma sul quale non si riesce a configurare correttamente la connessione ad internet, ma i comandi possono essere utilizzati per le proprie necessità)</p>
<p>Per procedere quindi alla configurazione della schede di rete su di un server (diciamo server perchè questo tipo di configurazione non rimane dopo un riavvio del sistema) si procede nel seguente modo. Supponiamo di avere due schede di rete, eth0 ed eth1 , ma che sono eth0 richiede la configurazione.</p>
<p>Il primo passo è quello di disattivare eth1, per evitare conflitti:</p>
<p><em>ifconfig eth1 down</em></p>
<p>Per sicurezza, procediamo anche al down della scheda eth0, in modo da azzerare refusi di configurazione:</p>
<p><em>ifconfig eth0</em></p>
<p>A questo punto partiamo da una situazione pulita. Il prossimo passo è assegnare un indirizzo IP e una maschera di sottorete:</p>
<p><em>ifconfig eht0 xxx.xxx.xxx.xxx broadcast mmm.mmm.mmm.mmm</em></p>
<p>A questo punto proseguiamo assegnado il gateway di default:</p>
<p><em>route add default gateway yyy.yyy.yyy.yyy</em></p>
<p>Abbiamo quasi concluso, manca il settaggio del DNS primario; qui in alcuni versioni ci sono delle problematiche, ma normalmente tutto ciò che bisogna fare è editare il file <em>/etc/resolv.conf</em> ed assegnare la direttiva:</p>
<p><em>nameserver kkk.kkk.kkk.kkk</em></p>
<p>dove kkk.kkk.kkk.kkk è l&#8217;IP del DNS primario.</p>
<p>Ultimo passo: &#8220;tiriamo su&#8221; la scheda di rete che abbiamo configurato:</p>
<p><em>ifconfig eht0 up</em></p>
<p>e&#8230;..buona navigazione! <img src='http://www.marcolecce.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcolecce.com/blog/2009/10/28/linux-configurare-la-scheda-di-rete-da-console/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FEDORA – Bug: Ripresentazione del pannello di login ad accesso effettuato</title>
		<link>http://www.marcolecce.com/blog/2009/09/16/fedora-bug-ripresentazione-del-pannello-di-login-a-login-correttamente-effettuato/</link>
		<comments>http://www.marcolecce.com/blog/2009/09/16/fedora-bug-ripresentazione-del-pannello-di-login-a-login-correttamente-effettuato/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 07:42:23 +0000</pubDate>
		<dc:creator>maje</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistemi Operativi]]></category>

		<guid isPermaLink="false">http://www.marcolecce.com/blog/?p=193</guid>
		<description><![CDATA[In rari casi, capita che anche le più importanti e principali distro linux abbiamo dei bug davvero rilevanti: questo è l&#8217;esempio della nuova distro Fedora 11, che dopo un pesante aggiornamento del kernel, crea problemi di accesso al proprio sistema.
Ecco cosa succede: quando compare il pannello di login, inseriamo i dati e accediamo al sistema, [...]]]></description>
			<content:encoded><![CDATA[<p>In rari casi, capita che anche le più importanti e principali distro linux abbiamo dei bug davvero rilevanti: questo è l&#8217;esempio della nuova distro <a href="http://fedoraproject.org/" target="_blank">Fedora 11</a>, che dopo un pesante aggiornamento del kernel, crea problemi di accesso al proprio sistema.</p>
<p>Ecco cosa succede: quando compare il pannello di login, inseriamo i dati e accediamo al sistema, questo sembra avviarsi correttamente, ma dopo pochi secondi si ripresenta il pannello iniziale di login; solo dopo vari tentativi si riesce ad accedere correttamente al sistema.</p>
<p>Questo è un bug da attribuire agli ultimi aggiornamenti della release: non si presenta in tutti i sistemi, dipende dalla configurazione e dall&#8217;hardware, ma è un problema davvero fastidioso.</p>
<p>Per risolverlo, è sufficiente effettuare il downgrade del pacchetto xorg-x11-server-Xorg seguendo questa procedura:</p>
<p>1) Accedere come utente <em>root</em> (se riusciamo ad accedere con il nostro login, apriamo il terminale e ci connettiamo come utente <em>root</em>, altrimenti nel pannello di login clicchiamo la combinazione <em>CTRL &#8211; ALT &#8211; F2</em>, che permette di utilizzare il login da terminale invece del login con il pannello grafico)</p>
<p>2) eseguire<em> yum downgrade xorg-x11-server-Xorg</em></p>
<p>Attraverso questa semplice procedura risolviamo il problema, almeno fino a quando gli sviluppatori <a href="http://fedoraproject.org/" target="_blank">Fedora</a> non avranno trovato una soluzione.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<pre class="alt2" style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 34px; text-align: left;" dir="ltr">yum downgrade xorg-x11-server-Xorg</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.marcolecce.com/blog/2009/09/16/fedora-bug-ripresentazione-del-pannello-di-login-a-login-correttamente-effettuato/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ECLIPSE – Configurare il manuale di PHP in Eclipse</title>
		<link>http://www.marcolecce.com/blog/2009/09/06/eclipse-configurare-il-manuale-di-php-in-eclipse/</link>
		<comments>http://www.marcolecce.com/blog/2009/09/06/eclipse-configurare-il-manuale-di-php-in-eclipse/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 14:34:18 +0000</pubDate>
		<dc:creator>maje</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://www.marcolecce.com/blog/?p=185</guid>
		<description><![CDATA[Eclipse è un IDE meravigioso: con un&#8217;architettura modulare ( a plugin ), con gli strumenti di debug e con una stabilità che suscita invidia&#8230;.il tutto open source!!
Vi sono varie versione pre-configurate di Eclipse, in base alle esigenze dello sviluppatore: c&#8217;è la versione per gli sviluppatori J2EE, per applicazioni Java Mobile, per sviluppatori PHP, ecc.
Ma è [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.eclipse.org/" target="_blank">Eclipse</a> è un IDE meravigioso: con un&#8217;architettura modulare ( a plugin ), con gli strumenti di debug e con una stabilità che suscita invidia&#8230;.il tutto open source!!</p>
<p>Vi sono varie versione pre-configurate di <a href="http://www.eclipse.org/" target="_blank">Eclipse</a>, in base alle esigenze dello sviluppatore: c&#8217;è la versione per gli sviluppatori J2EE, per applicazioni Java Mobile, per sviluppatori PHP, ecc.</p>
<p>Ma è anche possibile scaricarsi la versione base e scegliere &#8220;a mano&#8221; la configurazione che si preferisce, installando i plugin che necessitano allo sviluppatore.</p>
<p>Anche se <a href="http://www.eclipse.org/" target="_blank">Eclipse</a> nasce principalmente per gli sviluppatori Java, negli ultimi anni sono state perfezionate versioni per i principali linguaggi web-side, come ad esempio PHP e Ruby. In questo articolo andremo a vedere come integrare il manuale PHP all&#8217;interno dell&#8217;IDE, in modo da avere a portata di click le principali librererie che questo linguaggio di programmazione mette a disposizione.</p>
<p>Di default, il PDT (<a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-php-galileo-linux-gtk.tar.gz" target="_blank">PHP Development Tools </a>) di <a href="http://www.eclipse.org/" target="_blank">Eclipse</a> segue il manuale online del famoso sito <a href="www.php.net" target="_blank">www.php.net</a>: ovviamente questa è la scelta più comoda, visto che è sicuramente la documentazione più aggiornata di questo linguaggio. Il problema è che questa soluzione vale per un pc sempre connesso a Internet. Se abbiamo la necessità di lavorare sempre con la documentazione, anche quando non siamo connessi (e sarebbe un bene che tutti gli sviluppatori lo facessero), allora dobbiamo seguire questi semplici passi:</p>
<p>1) dal sito di riferimento <a href="www.php.net" target="_blank">www.php.net</a> scarichiamo la versione html del manuale, situata al seguente indirizzo www.php.net/download-docs.php<span id="main" style="visibility: visible;"><span id="search" style="visibility: visible;"><cite> </cite></span></span>(nel caso il download sia congestionato, si può scaricare la documentazione anche dal mirror italiano, al seguente <a href="http://it2.php.net/get/php_manual_en.tar.gz/from/a/mirror" target="_blank">indirizzo</a>)<span id="main" style="visibility: visible;"><span id="search" style="visibility: visible;"><cite><strong><br />
</strong></cite></span></span></p>
<p>2) Una volta scaricato e unzippato l&#8217;archivio, apriamo <a href="http://www.eclipse.org/" target="_blank">Eclipse</a> (con il PDT già installato), andiamo su:</p>
<p>Window &#8211;&gt; Preferences &#8211;&gt; PHP &#8212;&gt; PHP Manual</p>
<p>e creiamo un nuovo elemento cliccando sul tasto &#8220;New&#8221; e selezionando l&#8217;inserimento da cartella.</p>
<p>3) Ad inserimento effettuato, clicchiamo sul nuovo elemento e poi sul tasto &#8220;Default&#8221; se vogliamo che questa sia la versione di default del nostro manuale</p>
<p>A questo punto abbiamo finito: avremo a disposizione per il nostro sviluppo PHP il manuale e la documentazione vitale per ogni sviluppatore, sia che siamo connessi a Internet sia nel caso in cui ci troviamo a lavorare in assenza di connessione.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcolecce.com/blog/2009/09/06/eclipse-configurare-il-manuale-di-php-in-eclipse/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fedora – Installare linux sul netbook (Samsung NC10)</title>
		<link>http://www.marcolecce.com/blog/2009/09/01/fedora-installare-linux-sul-netbook-samsung-nc10/</link>
		<comments>http://www.marcolecce.com/blog/2009/09/01/fedora-installare-linux-sul-netbook-samsung-nc10/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 06:44:09 +0000</pubDate>
		<dc:creator>maje</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistemi Operativi]]></category>

		<guid isPermaLink="false">http://www.marcolecce.com/blog/?p=176</guid>
		<description><![CDATA[I netbook stanno letteralmente conquistando il mercato IT: gli ultimi modelli sono comodi, veloci, performanti e &#8230; anche esteticamente curati. E per quanto riguarda la dotazione software? Abbiamo deciso di testare alcuni sistemi operativi su uno dei prodotti più rappresentativi, il Samsung NC10, che oltre ad essersi dimostrato molto robusto, ha anche una configurazione hardware [...]]]></description>
			<content:encoded><![CDATA[<p>I netbook stanno letteralmente conquistando il mercato IT: gli ultimi modelli sono comodi, veloci, performanti e &#8230; anche esteticamente curati. E per quanto riguarda la dotazione software? Abbiamo deciso di testare alcuni sistemi operativi su uno dei prodotti più rappresentativi, il <a href="http://www.samsung.com/it/consumer/type/type.do?group=monitorcomputersperipherals&amp;type=mini_notebook&amp;cid=google_mpc_mininotebook" target="_blank">Samsung NC10</a>, che oltre ad essersi dimostrato molto robusto, ha anche una configurazione hardware veramente molto completa.</p>
<p>I sistemi operativi presi in esame sono:</p>
<ol>
<li><a href="http://www.microsoft.com/italy/windows/products/windowsxp/default.mspx" target="_blank">Windows XP</a></li>
<li><a href="http://www.ubuntu.com/" target="_blank">Ubuntu 9.04</a></li>
<li><a href="http://fedoraproject.org/" target="_blank">Fedora 11 (Gnome)</a></li>
</ol>
<p>Acquistando il <a href="http://www.samsung.com/it/consumer/type/type.do?group=monitorcomputersperipherals&amp;type=mini_notebook&amp;cid=google_mpc_mininotebook" target="_blank">Samsung NC10</a>, ci si trova sulla macchina una versione di <a href="http://www.microsoft.com/italy/windows/products/windowsxp/default.mspx" target="_blank">Windows XP</a> sorprendentemente stabile e veloce, per essere un sistema pre-installato: nonostante il grande numero di software &#8220;opzionale&#8221; installato infatti, il netbook risulta piacevole da usare, e <a href="http://www.microsoft.com/italy/windows/products/windowsxp/default.mspx" target="_blank">Windows XP</a> risponde prontamente ai solleciti dell&#8217;utente.</p>
<p>Ma la vera forza di questi netbook si vede in effetti con i sistemi Linux, che riescono davvero a sfruttare fino in fondo le potenzialità di questi piccoli amici. Tra <a href="http://www.ubuntu.com/" target="_blank">Ubuntu 9.04</a> e <a href="http://fedoraproject.org/" target="_blank">Fedora 11 (Gnome)</a>, quest&#8217;ultimo è sicuramente superiore, per diversi motivi. Innanzittutto perchè riconosce fin dalla prima installazione e senza ulteriori interventi praticamente tutto l&#8217;hardware del notebook: e non è certamente un elemento trascurabile, visto che ad esempio <a href="http://www.ubuntu.com/" target="_blank">Ubuntu 9.04</a> utilizza un driver per la scheda wireless non pienamente compatibile, che non ne permette l&#8217;utilizzo a meno di successivi interventi (si trovano parecchi dettagli in rete su come risolvere questo problema). Altri gravi problemi nella installazione di <a href="http://www.ubuntu.com/" target="_blank">Ubuntu 9.04</a> sono ad esempio un touchpad poco sensibile, e, problema ancora più grave, una illuminazione bassissima che rende praticamente inutilizzabile il netbook con uso in batteria.</p>
<p>Per questo motivo il nostro consiglio è il seguente: installare la versione di <a href="http://fedoraproject.org/" target="_blank">Fedora 11 (Gnome)</a>, eseguendo i seguenti passi.</p>
<p>1) Scaricare il <a href="https://fedorahosted.org/liveusb-creator/" target="_blank">liveusb creator</a> , un applicativo utilie per creare una chiavetta usb di installazione per sistemi Fedora</p>
<p>2) Scaricare la versione <a href="http://fedoraproject.org/en/get-fedora" target="_blank">Gnome di Fedora 10</a>: ok ma non avevamo detto la 11? Sì, ma questo è in effetti l&#8217;unico problema riscontrato per installare Fedora sul nostro Samsung, ma si risolve davvero molto semplicemente. Il problema è che non si riesce in nessun modo a creare con il liveusb una chiavetta d&#8217;installazione funzionante da subito per <a href="http://fedoraproject.org/" target="_blank">Fedora 11 (Gnome)</a>: si riesce per <a href="http://fedoraproject.org/" target="_blank">Fedora 11 (KDE)</a>, ma questo presenta poi praticamente gli stessi problemi di <a href="http://www.ubuntu.com/" target="_blank">Ubuntu 9.04</a>, dunque non è consigliabile seguire questa strada. Nella pratica andremo a fare questo: installiamo da prima Fedora 10 Gnome, e successivamente con la procedura di upgrade installiamo al versione 11.</p>
<p>2) A questo punto abbiamo tutto il necessario per creare la nostra chiavetta. Procediamo con la creazione della chiavetta: una volta concluso il procedimento, riavviamo il nostro netbook, entriamo nel BIOS (premendo ripetutamente F2 prima del caricamente del sistema operativo), andiamo nella sezione che gestisce la lista di boot e impostiamo come prima sorgente il lettore USB: in questo modo, dopo un al riavvio verrà letto in primis il boot da chiavetta USB.</p>
<p>3) A questo punto riavviamo, inseriamo la chiavetta e procediamo all&#8217;installazione di <a href="http://fedoraproject.org/" target="_blank">Fedora 10 (Gnome)</a>.</p>
<p>4) Ad installazione conclusa, aggiorniamo il sistema, utilizzando YUM o il Package Manager, e a fine aggiornamento, aprimo un terminale.</p>
<p>5) Nel terminale, diventiamo utente root e digitiamo il comando preupgrade , che farà partire la procedura grafica e guidata per upgradare il sistema Fedora dalla versione 10 alla versione 11.</p>
<p>6) A questo punto è sufficiente seguire le istruzioni dell&#8217;interfaccia grafica di upgrade per concludere il processo ed avere un <a href="http://fedoraproject.org/" target="_blank">Fedora 11 (Gnome)</a> perfettamente funzionante (o quasi&#8230;.)</p>
<p>7) Diciamo &#8220;o quasi&#8221; perchè in alcuni casi abbiamo riscontrato un problema sull&#8217;illuminazione dello schermo quando siamo in battery mode. Questo sembra essere un bug del sistema, simile a quanto succedeva in <a href="http://www.ubuntu.com/" target="_blank">Ubuntu 9.04</a>, ma in questo caso, per risolvere il problema, è sufficiente collegarsi come utente root in un terminale e digitare il seguente comando:</p>
<p><em>setpci -s 00:02.1 F4.B=X</em></p>
<p>dove al posto di X possiamo mettere un valore compreso tra 40 e 100 (dove 100 è il massimo dell&#8217;illuminazione).</p>
<p>Quest&#8217;ultimo è un bug, è vero , che però per quanto fastidioso si fixa in pochi secondi, e comunque è un fastidio che viene compensato sicuramente dal fatto che il resto del sistema è perfettamente funzionante fin dal primo avvio.</p>
<p>Ancora due truccetti per rendere perfetto il nostro netbook: per aumentare la leggibilità, possiamo scaricare ed installare questo <a href="http://home.ircnet.de/cru/nc10/dist/cru-netbook-theme-1.0-1.fc9.noarch.rpm" target="_self">tema</a> , che utilizza delle icone perfezionate per piccoli schermi, ed inoltre possiamo diminuire leggermente la dimensione dei caratteri seguendo questo percorso nel menu in alto:</p>
<p><em>System &#8212;&gt; Preferences &#8212;&gt; Appearance &#8212;&gt; Font &#8212;&gt; Details &#8212;&gt; Resolution</em></p>
<p>e fissando a 95 la risoluzione dei caratteri.</p>
<p>A questo punto possiamo veramente godere del nostro netbook <a href="http://www.samsung.com/it/consumer/type/type.do?group=monitorcomputersperipherals&amp;type=mini_notebook&amp;cid=google_mpc_mininotebook" target="_blank">Samsung NC10</a> configurato a dovere e carrozzato per qualsiasi tipo di lavoro.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcolecce.com/blog/2009/09/01/fedora-installare-linux-sul-netbook-samsung-nc10/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>EzPublish – Come pulire la cache del portale</title>
		<link>http://www.marcolecce.com/blog/2009/07/21/ezpublish-come-pulire-la-cache-del-portale/</link>
		<comments>http://www.marcolecce.com/blog/2009/07/21/ezpublish-come-pulire-la-cache-del-portale/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 13:48:24 +0000</pubDate>
		<dc:creator>maje</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[EzPublish]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.marcolecce.com/blog/?p=171</guid>
		<description><![CDATA[Quando si lavora con il framework EzPublish, bisogna tenere presente che questo utilizza pesantemente un sistema di caching assai potente quanto fastidioso in fase di sviluppo. L&#8217;importanza di questo sistema di caching è tale per cui ci sono degli aspetti che non possono essere tralasciati quando si lavora con questo prodotto.
Supponiamo ad esempio di dover [...]]]></description>
			<content:encoded><![CDATA[<p>Quando si lavora con il framework <a title="EzPublish" href="http://ez.no/" target="_blank">EzPublish</a>, bisogna tenere presente che questo utilizza pesantemente un sistema di caching assai potente quanto fastidioso in fase di sviluppo. L&#8217;importanza di questo sistema di caching è tale per cui ci sono degli aspetti che non possono essere tralasciati quando si lavora con questo prodotto.</p>
<p>Supponiamo ad esempio di dover spostare un servizio implementato con questo framework da un dominio in un altro; questo comporta l&#8217;obbligo di modificare almeno i seguenti dati:</p>
<p>- le variabili SiteURL contenute nei file di configurazione site.ini.append.php delle cartelle setting/siteaccess/&lt;nome_siteaccess&gt; e setting/override/&lt;nome_siteaccess&gt;</p>
<p>- i dati di accesso alla base di dati, sempre nei medesimi file</p>
<p>- ed infine è necessario svuotare tutte le cache, per azzerare i percorsi e alcuni dati precedentemente memorizzati in cache, appunto</p>
<p>Il problema è che spesso non si può utilizzare il sistema più semplice, ovvero quello di accedere nel pannello di amministrazione e servirsi della sezione dedicata per la gestione della cache. Per questo motivo, vi indichiamo brevemente tutti i metodi che possiamo utilizzare per compiere l&#8217;azione di svuotare tutte le cache.</p>
<p>1) Dal pannello di Amministrazione</p>
<p>Utilizziamo il pannello di amministrazione per pulire tutte le cache via GUI:</p>
<ol>
<li>Entrare nel tab &#8220;SETUP&#8221;</li>
<li>Cliccare sull&#8217;icona di cancellazione di tutte le cache</li>
<li>Aggiornare il browser</li>
</ol>
<p>2) Dalla Linea di commando</p>
<p>Questo è un processo che spesso passa inosservato, ma che è molto comodo in situazioni come quella di cui sopra, ovvero quando si sposta un&#8217;installazione di <a title="EzPublish" href="http://ez.no/" target="_blank">EzPublish</a>. In sistemi a base Unix, è sufficiente utilizzare i seguenti comandi:</p>
<pre style="font-family: monospace;"><em>cd /percorso/di/ezpublish;
./bin/php/ezcache.php --clear-all --purge;</em></pre>
<p>Se invece si utilizza un sistema Windows, i comandi da utilizzare sono i seguenti</p>
<pre style="font-family: monospace;"><em># cd c:/web/pro/ezpublish/doc;/bin/php/ezcache.php --clear-all --purge;</em>
c:\php\php .</pre>
<p>3) Procedimento manuale</p>
<p>E&#8217; anche possibile pulire le cache a mano, nel caso in cui non sia possibile utilizzare uno dei metodi precedenti. Per fare questo, è sufficiente seguire questa procedura (per sistemi Unix &#8211; per sistemi Windows è sufficiente cancellare le medesime cartelle):</p>
<pre style="font-family: monospace;"><em>cd /percorso/di/ezpublish;
rm -vrf /var/cache;
rm -vrf /var/&lt;tipo di installazione(ezwebin_site, ezflow_site,ecc)&gt;/cache</em></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.marcolecce.com/blog/2009/07/21/ezpublish-come-pulire-la-cache-del-portale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL – Formattare efficientemente le date in formato datetime</title>
		<link>http://www.marcolecce.com/blog/2009/07/02/mysql-formattare-efficientemente-le-date-in-formato-datetime/</link>
		<comments>http://www.marcolecce.com/blog/2009/07/02/mysql-formattare-efficientemente-le-date-in-formato-datetime/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 12:45:45 +0000</pubDate>
		<dc:creator>maje</dc:creator>
				<category><![CDATA[MySql]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.marcolecce.com/blog/?p=164</guid>
		<description><![CDATA[I programmatori si trovano molto spesso a lavorare con le date: in applicativi di gestione del contenuto ad esempio, sono praticamente un elemento obbligatorio senza il quale molte operazioni basilari, come gli ordinamenti cronologici, non sarebbero possibili.
Ecco perchè diventa molto importante saper gestire questo tipo di dato. Vi sono molti modi differenti di manipolare le [...]]]></description>
			<content:encoded><![CDATA[<p>I programmatori si trovano molto spesso a lavorare con le date: in applicativi di gestione del contenuto ad esempio, sono praticamente un elemento obbligatorio senza il quale molte operazioni basilari, come gli ordinamenti cronologici, non sarebbero possibili.</p>
<p>Ecco perchè diventa molto importante saper gestire questo tipo di dato. Vi sono molti modi differenti di manipolare le date, ma quello che vogliamo presentare oggi è una soluzione che riguarda il salvataggio di date in una base di dati e il conseguente recupero.</p>
<p>Molti programmatori utilizzano le funzioni di manipolazione delle stringhe per formattare le date, ignorando che tale soluzione è poco performante ed ancora meno efficiente. Quando si lavora ad un progetto con un database alle spalle, bisogna sempre tenere presente che far eseguire alcuni tipi di operazioni al <a href="http://it.wikipedia.org/wiki/Database_management_system" target="_blank">DBMS</a> piuttosto che all&#8217;interpreste del linguaggio di programmazione (nel caso del PHP, ad esempio) è sicuramente molto più performante oltre che leggibile.</p>
<p>Bisogna a questo scopo conoscere alcune funzionalità che i database, o meglio, i <a href="http://it.wikipedia.org/wiki/Database_management_system" target="_blank">DBMS</a>, mettono a disposizione. Una di queste è proprio <a href="http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format" target="_blank"><strong>DATE_format</strong></a> , che appunto durante una interrogazione permette di inserire nel result set le date già formattate e pronte per l&#8217;utilizzo.</p>
<p>Vediamo un esempio:</p>
<p><em>SELECT title, created DATE_format(created, &#8216; %e/%m/%Y, %l:%i%p&#8217;) as created<br />
FROM table<br />
WHERE category=1<br />
ORDER BY created DESC</em></p>
<p>Supponiamo di avere una tabella per le notizie, da cui vogliamo recuperare il titolo e appunto la data di crezione di ogni item.</p>
<p>Attraverso l&#8217;utilizzo della funzione <a href="http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format" target="_blank"><strong>DATE_format</strong></a> messa a disposizione dal motore di MySQL, riceviamo una data già formatta è pronta per l&#8217;uso, senza dover richiamare ulteriori funzioni di formattazione o di manipolazione di stringhe, con un conseguente aumento delle prestazioni (seppure di pochi microsecondi nella maggior parte dei casi) e della leggibilità del codice.</p>
<p><a href="http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format" target="_blank"><strong>DATE_format</strong></a><strong> </strong>accetta due parametri: il primo è la data da formattare, il secondo è una stringa di formattazione, che segue delle regole simili a quelle utilizzate per questo tipo di stringhe dalla maggior parte dei linguaggi di programmazione, e che trovate <a href="http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format" target="_blank">qui</a>.</p>
<p>A questo punto, quando si utilizzerà il relativo result set, si potranno usare direttamente sia il campo <em>title </em>che il campo <em>created</em> senza ulteriosi interventi da parte del programmatore.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcolecce.com/blog/2009/07/02/mysql-formattare-efficientemente-le-date-in-formato-datetime/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 0.769 seconds --><!-- Cached page served by WP-Cache -->
