<?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>Consulenza-Web.com &#187; Sviluppo</title>
	<atom:link href="http://www.consulenza-web.com/category/sviluppo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.consulenza-web.com</link>
	<description>Blog di Marco Pegoraro su Consulenza Web ed Informatica, Programmazione Web e realizzazione di Siti Web Accessibili.</description>
	<lastBuildDate>Fri, 23 Jul 2010 11:13:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>jQuery Mail Obfuscator</title>
		<link>http://www.consulenza-web.com/2010/07/jquery-mail-obfuscator/</link>
		<comments>http://www.consulenza-web.com/2010/07/jquery-mail-obfuscator/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 11:13:10 +0000</pubDate>
		<dc:creator>peg</dc:creator>
				<category><![CDATA[Sviluppo]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[tip & tricks]]></category>
		<category><![CDATA[crowler]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mail obfuscator]]></category>
		<category><![CDATA[obfuscator]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.consulenza-web.com/?p=214</guid>
		<description><![CDATA[Oggi cercavo un metodo semplice e non intrusivo per impedire parte dello spam derivante dalla pubblicazione di un indirizzo mail in chiaro su di una pagina web. Ovviamente la miglior soluzione possibile è dotarsi di un buon filtro anti-spam (gMail?) perchè qualunque tipo di mail obfuscator si concretizza in un problema di usabilità ed una [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi cercavo un metodo semplice e non intrusivo per impedire parte dello spam derivante dalla pubblicazione di un indirizzo mail in chiaro su di una pagina web.</p>
<p>Ovviamente la miglior soluzione possibile è dotarsi di un buon filtro anti-spam (gMail?) perchè qualunque tipo di mail obfuscator si concretizza in un <strong>problema di usabilità ed una barriera di usabilità</strong>!</p>
<p>Ho comunque creato una soluzione Javascript basata su jQuery che propone un piccolo e semplicissimo approccio al problema.</p>
<p><span id="more-214"></span><a href="http://www.consulenza-web.com/wp-content/uploads/2010/07/jquery.mcrypt.js"></a></p>
<p>L&#8217;idea di base è pubblicare nel codice sorgente della pagina un <strong>indirizzo mail volutamente errato </strong>e gestirne una <strong>correzione automatica mediante Javascript</strong>.</p>
<p>L&#8217;errore consiste nello scambiare il primo e l&#8217;ultimo carattere dell&#8217;indirizzo mail per cui &#8220;info@consulenza-web.com&#8221; diventa &#8220;mnfo@consulenza-web.coi&#8221;.</p>
<p>Ovviamente il nuovo indirizzo mail è formalmente corretto ed un qualunque spam bot o mail crowler lo identifica correttamente. Purtroppo per il malintenzionato questo indirizzo produrrà solamente degli invii falliti.</p>
<p><a href="http://www.consulenza-web.com/wp-content/uploads/2010/07/jquery.mcrypt.js">jquery.mcrypt.js</a></p>
<p>Il plugin qui proposto di occupa di ripristinare automaticamente l&#8217;indirizzo corretto in modo che l&#8217;utente non percepisca l&#8217;errore.</p>
<pre>&lt;script&gt;
$('document').ready(function(){
  $('.mailto').mcrypt();
});
&lt;/script&gt;</pre>
<pre>&lt;a href="mailto:mnfo@consulenza-web.coi" class="mailto"&gt;mnfo@consulenza-web.coi&lt;/a&gt;</pre>
<p>Questa porzione di sorgente è sufficiente per creare un po&#8217; di problemi agli spam engine! <strong>Ovviamente non è una soluzione definitiva e nemmeno molto elaborata</strong>&#8230; però è semplice ed efficace per il suo scopo!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.consulenza-web.com/2010/07/jquery-mail-obfuscator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nuovo pannello di configurazione per JuniorCMS!</title>
		<link>http://www.consulenza-web.com/2010/04/nuovo-pannello-di-configurazione-per-juniorcms/</link>
		<comments>http://www.consulenza-web.com/2010/04/nuovo-pannello-di-configurazione-per-juniorcms/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 16:27:18 +0000</pubDate>
		<dc:creator>peg</dc:creator>
				<category><![CDATA[JuniorCMS]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Sviluppo]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[app config]]></category>
		<category><![CDATA[configurator]]></category>
		<category><![CDATA[configurazione]]></category>
		<category><![CDATA[configurazione dinamica]]></category>
		<category><![CDATA[dac]]></category>
		<category><![CDATA[jc]]></category>
		<category><![CDATA[novità]]></category>
		<category><![CDATA[pannello]]></category>

		<guid isPermaLink="false">http://www.consulenza-web.com/?p=180</guid>
		<description><![CDATA[Dopo un paio di giorni di progettazione ho dato vita al pannello &#8220;Configuratore di Applicazione&#8221; il quale è stato integrato nel core del sistema ed è raggiungibile da menu &#8220;jCMS -&#62; Configuratore Applicazione&#8221;. Questo pannello è suddiviso in &#8220;pannelli&#8221; e &#8220;sezioni&#8221; che raggruppano delle variabili di cui è possibile specificare il valore &#8220;run-time&#8221;. Questi valori [...]]]></description>
			<content:encoded><![CDATA[<p>Dopo un paio di giorni di progettazione ho dato vita al pannello &#8220;Configuratore di Applicazione&#8221; il quale è stato integrato nel core del sistema ed è raggiungibile da menu &#8220;jCMS -&gt; Configuratore Applicazione&#8221;.</p>
<p style="text-align: center;"><a style="text-decoration: none;" href="http://www.consulenza-web.com/wp-content/uploads/2010/04/app_configurator.jpg"><img class="aligncenter size-full wp-image-181" title="Configuratore di Applicazione" src="http://www.consulenza-web.com/wp-content/uploads/2010/04/app_configurator.jpg" alt="app configurator screenshot" width="379" height="163" /></a></p>
<p>Questo pannello è suddiviso in &#8220;pannelli&#8221; e &#8220;sezioni&#8221; che raggruppano delle variabili di cui è possibile specificare il valore &#8220;run-time&#8221;. Questi valori vanno a sovrascrivere eventuali valori specificati nelle configurazioni statiche (_config.php) dei vari plugins.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.consulenza-web.com/2010/04/nuovo-pannello-di-configurazione-per-juniorcms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ricerca full-site per JuniorCMS.com</title>
		<link>http://www.consulenza-web.com/2010/01/plugin-ricerca-full-site-juniorcms/</link>
		<comments>http://www.consulenza-web.com/2010/01/plugin-ricerca-full-site-juniorcms/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 19:00:56 +0000</pubDate>
		<dc:creator>peg</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[JuniorCMS]]></category>
		<category><![CDATA[Sviluppo]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[motore di ricerca]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[ricerca]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://www.consulenza-web.com/?p=159</guid>
		<description><![CDATA[In questi giorni sto lavorando ad un plugin di ricerca il cui scopo è indicizzare tutti i contenuti pubblici di un sito web e permetterne una ricerca full-text. Funzionalità di Base: Indicizzazione dell&#8217;output di una qualunque richiesta gestita dal CMS Gestione temporale (cache) di un indice di ricerca Eliminazione automatica delle risorse non più disponibili [...]]]></description>
			<content:encoded><![CDATA[<p>In questi giorni sto lavorando ad un plugin di ricerca il cui scopo è <strong>indicizzare tutti i contenuti</strong> pubblici di un sito web e permetterne una <strong>ricerca full-text</strong>.</p>
<h3>Funzionalità di Base:</h3>
<ul>
<li>Indicizzazione dell&#8217;output di una qualunque richiesta gestita dal CMS</li>
<li>Gestione temporale (cache) di un indice di ricerca</li>
<li>Eliminazione automatica delle risorse non più disponibili</li>
<li>Grabbing automatico dei meta-tags (title e description) per la visualizzazione dei risultati</li>
<li>Possibilità di configurare con precisione i testi del risultato della ricerca durante la produzione di una risorsa</li>
<li>Personalizzazione dell&#8217;url del motore di ricerca</li>
<li>Completa personalizzazione del look&amp;feel del motore di ricerca</li>
</ul>
<h3>Alcuni Dettagli:</h3>
<p>Il plugin può essere arricchito tramite addOns per migliorarne l&#8217;integrazione con altri software (news, offerte, etc). Una qualunque pagina, ad esempio, può personalizzare in modo molto forte il testo visualizzato come risultato di una ricerca.</p>
<p>Sto inoltre cercando delle collaborazioni per aumentare la validità della ricerca interna e creare un piccolo sistema di page-ranking e/o ricerca approfondita&#8230; ma forse questo comporta un forte dispendio di risorse!</p>
<h3>Futuri sviluppi:</h3>
<p>Nuovi plugin estenderanno questo motore di ricerca fornendo funzionalità di amministrazione quali:</p>
<ul>
<li>visualizzazione e possibilità di modificare il database degli indici cache</li>
<li>possibilità di rendere permanente un indice (non più soggetto a scadenza cache)</li>
<li>possibilità di nascondere un indice alla ricerca</li>
<li>possibiltià di modificare la destinazione di un indice verso una pagina interna (redirect)</li>
</ul>
<p>Altre idee di sviluppo riguardano una gestione statistica del motore di ricerca al fine di ottimizzare i contenuti del sito:</p>
<ul>
<li>Log delle ricerche effettuate</li>
<li>Monitor delle ricerche frequenti</li>
<li>Monitor delle ricerche vuote</li>
<li>Monitor delle parole chiave più usate</li>
<li>Possibilità di realizzare un &#8220;redirect di ricerca&#8221; ovvero prendere una query di ricerca e trasformarla in un&#8217;altra query.</li>
</ul>
<p>Ulteriori ipotesi (molto remote) di sviluppo in versione &#8220;advertising&#8221;:</p>
<ul>
<li>Possibilità di inserire banner nei risultati della ricerca da template</li>
<li>Emulazione di un sistema &#8220;AdSense&#8221; nei risultati della ricerca</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.consulenza-web.com/2010/01/plugin-ricerca-full-site-juniorcms/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Concatenare stringhe in Objective-C</title>
		<link>http://www.consulenza-web.com/2009/10/concatenare-stringhe-in-objective-c/</link>
		<comments>http://www.consulenza-web.com/2009/10/concatenare-stringhe-in-objective-c/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 17:10:26 +0000</pubDate>
		<dc:creator>peg</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Sviluppo]]></category>
		<category><![CDATA[concatenazione]]></category>
		<category><![CDATA[formato]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[placeholder]]></category>
		<category><![CDATA[stringhe]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.consulenza-web.com/?p=136</guid>
		<description><![CDATA[Objective-C è sicuramente un linguaggio lungi dall&#8217;essere developer-friendly! Metodo Classico di Concatenazione // Definizione delle variabili iniziali: NSString *nome = @"Marco"; NSString *cognome = @"Pegoraro"; // Composizione della stringa concatenata: NSString *risultato = [nome stringByAppendingString @" "]; NSString *risultato = [risultato stringByAppendingString cognome]; Questo è il codice che Apple ci chiede di scrivere per creare [...]]]></description>
			<content:encoded><![CDATA[<p>Objective-C è sicuramente un linguaggio lungi dall&#8217;essere developer-friendly!</p>
<h2>Metodo Classico di Concatenazione</h2>
<pre>// Definizione delle variabili iniziali:
NSString *nome = @"Marco";
NSString *cognome = @"Pegoraro";

// Composizione della stringa concatenata:
NSString *risultato = [nome stringByAppendingString @" "];
NSString *risultato = [risultato stringByAppendingString cognome];</pre>
<p>Questo è il codice che Apple ci chiede di scrivere per creare una concatenazione con uno spazio in mezzo! Semplicemente incredibile da credere!!!</p>
<h2>Metodo della Stringa con Formato</h2>
<p>Un modo per tamponare questa incredibile mancanza di semplicità del linguaggio Objective-C è l&#8217;utilizzo del metodo stringWithFormat che consente di inserire una o più variabili all&#8217;interno di un modello contenente dei placeholder:</p>
<pre>// Definizione delle variabili iniziali:
NSString *nome = @"Marco";
NSString *cognome = @"Pegoraro";

// Composizione della stringa concatenata:
NSString *risultato = [NSString stringWithFormat:@"%@ %@", nome, cognome];</pre>
<p>Questa alternativa riduce leggermente la complessità del codice da scrivere il quale rimane però incredibilmente complicato e prolisso!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.consulenza-web.com/2009/10/concatenare-stringhe-in-objective-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
