<?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>Blackbirdblog &#187; Programmazione</title>
	<atom:link href="http://www.blackbirdblog.it/blog/categoria/programmazione/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blackbirdblog.it/blog</link>
	<description>Il blog di Michele Ferretti</description>
	<lastBuildDate>Sat, 04 Feb 2012 19:55:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>AJAX con XML, HTML o JSON?</title>
		<link>http://www.blackbirdblog.it/blog/archivio/2006/07/24/ajax-con-xml-html-o-json/</link>
		<comments>http://www.blackbirdblog.it/blog/archivio/2006/07/24/ajax-con-xml-html-o-json/#comments</comments>
		<pubDate>Mon, 24 Jul 2006 17:35:04 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://www.blackbirdblog.it/blog/archivio/2006/07/24/ajax-con-xml-html-o-json/</guid>
		<description><![CDATA[A questa domanda non c&#8217;Ã¨ un unica risposta, per molto tempo ho pensato che si dovesse usare un linguaggio neutrale come XML ma con il tempo sto cominciando ad apprezzare la filosofia pragmatica dei rubiniani Non sempre avere posizioni ideali aiuta o migliora lo sviluppo. Ho constatato personalmente che utilizzare XML come linguaggio neutrale, puÃ² [...]


Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2006/03/18/java-e-ajax/' rel='bookmark' title='Java e Ajax'>Java e Ajax</a> <small>Alcuni rivoluzionari del panorama delle applicazioni web ci hanno fatto...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/06/01/uno-sguardo-ad-ajax/' rel='bookmark' title='Uno sguardo ad AJAX'>Uno sguardo ad AJAX</a> <small>Da qualche tempo gira per la rete un nuovo termine,...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/06/28/ajax-al-lavoro/' rel='bookmark' title='AJAX al lavoro'>AJAX al lavoro</a> <small>Ho messo on-line da poco il nuovo sito del LUG...</small></li>
</ol>

Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.]]></description>
			<content:encoded><![CDATA[<p>A questa domanda non c&#8217;Ã¨ un unica risposta, per molto tempo ho pensato che si dovesse usare un linguaggio neutrale come XML ma con il tempo sto cominciando ad apprezzare la filosofia pragmatica dei rubiniani <img src='http://www.blackbirdblog.it/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Non sempre avere posizioni ideali aiuta o migliora lo sviluppo. Ho constatato personalmente che utilizzare XML come linguaggio neutrale, puÃ² risultare pesante lato client, se la mole di dati Ã¨ notevole. In JavaScript non si possono gestire grandissime quantitÃ  di dati perchÃ© si abbassano le prestazioni dei browser in maniera progressiva.</p>
<p>Se pensiamo per un attimo a dove utilizziamo le chiamate remote AJAX ci renderemo conto che esistono solo due grandi tipi di chiamate remote:</p>
<ol>
<li>Quelle in cui si dovranno stampare a video informazioni grezze cosÃ¬ come ci vengono fornite dal server</li>
<li>Quelle dove i dati devono essere ulteriormente filtrati/elaborati/adattati e poi stampati a video</li>
</ol>
<p>Per il primo tipo la soluzione migliore Ã¨ passare HTML grezzo e utilizzare la funzionalitÃ  di <code>innerHTML</code> all&#8217;interno di un elemento contenitore come un <code>&lt;div&gt;</code>. Questo comporta un lavoro minimo per gestire la chiamata e buone prestazioni perchÃ© si elimina tutto il codice JavaScript che deve parsare l&#8217;XML.</p>
<p>Per il secondo tipo ci sono due soluzioni, la prima Ã¨ XML e la seconda Ã¨ JSON e quest&#8217;ultima Ã¨ strettamente legata al concetto di browser Web perchÃ© i dati viaggiano in un formato che Ã¨ sostanzialmente del codice JavaScript. I dati che vengono forniti in formato XML sono utilizzabili anche da altre  parti che non necessariamente hanno in se un motore JavaScript come un browser. In sostanza, con XML si definiscono delle interfacce, come fanno i web services, che possono essere utilizzati da chiunque capisca HTTP e XML.</p>
<p>JSON Ã¨ il piÃ¹ pratico e leggero, XML risulta in effetti la strada meno semplice da percorrere anche se in determinati casi puÃ² avere i suoi vantaggi. JSON risulta essere anche piÃ¹ leggero nel senso del traffico di rete creato dalle risposte. In una risposta XML una buona percentuale dei byte passati Ã¨ composto dai tag di markup. Si tratta di un dato trascurabile ma non del tutto se ci si trova di fronte a grandi carichi.</p>
<p>In definitiva sono convinto che il formato da utilizzare non debba essere legato a qualche filosofia dettata da qualche santone di qualche sperduto villaggio indiano ma dal buon senso <img src='http://www.blackbirdblog.it/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Per cui valutate bene tutti i pro e i contro perchÃ© se passate ore a creare un parser XML per stampare dei semplici dati a video, probabilmente state andando nella direzione sbagliata!</p>
<p>P.S. Il finale ha qualcosa di autobiografico <img src='http://www.blackbirdblog.it/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>


<p>Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2006/03/18/java-e-ajax/' rel='bookmark' title='Java e Ajax'>Java e Ajax</a> <small>Alcuni rivoluzionari del panorama delle applicazioni web ci hanno fatto...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/06/01/uno-sguardo-ad-ajax/' rel='bookmark' title='Uno sguardo ad AJAX'>Uno sguardo ad AJAX</a> <small>Da qualche tempo gira per la rete un nuovo termine,...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/06/28/ajax-al-lavoro/' rel='bookmark' title='AJAX al lavoro'>AJAX al lavoro</a> <small>Ho messo on-line da poco il nuovo sito del LUG...</small></li>
</ol></p>
<p>Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.blackbirdblog.it/blog/archivio/2006/07/24/ajax-con-xml-html-o-json/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Autostart per ambiente di lavoro</title>
		<link>http://www.blackbirdblog.it/blog/archivio/2006/07/19/autostart-per-ambiente-di-lavoro/</link>
		<comments>http://www.blackbirdblog.it/blog/archivio/2006/07/19/autostart-per-ambiente-di-lavoro/#comments</comments>
		<pubDate>Wed, 19 Jul 2006 20:30:30 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://www.blackbirdblog.it/blog/archivio/2006/07/19/autostart-per-ambiente-di-lavoro/</guid>
		<description><![CDATA[Di che cosa avete bisogno per lavorare al meglio? di un buon ambiente di lavoro ovviamente! Un ambiente desktop con tutti i programmi pronti per essere utilizzati. In sostanza vogliamo solo iniziare a scrivere codice C&#8217;Ã¨ l&#8217;esigenza di eliminare un&#8217;operazione sempre uguale a se stessa facendola eseguire ad uno script AppleScript. Il mio ambiente di [...]


Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2003/12/09/expos-extreme/' rel='bookmark' title='ExposÃ© extreme'>ExposÃ© extreme</a> <small>Fra le varie novit&agrave; di Panther, l&#8217;ultima versione del famoso...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2007/12/12/ce-lavoro-anche-per-i-rubisti/' rel='bookmark' title='C&#8217;Ã¨ lavoro anche per i rubisti!'>C&#8217;Ã¨ lavoro anche per i rubisti!</a> <small>Chi pensa che Java sia l&#8217;unico linguaggio che apre le...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/06/28/ajax-al-lavoro/' rel='bookmark' title='AJAX al lavoro'>AJAX al lavoro</a> <small>Ho messo on-line da poco il nuovo sito del LUG...</small></li>
</ol>

Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.]]></description>
			<content:encoded><![CDATA[<p>Di che cosa avete bisogno per lavorare al meglio? di un buon ambiente di lavoro ovviamente! Un ambiente desktop con tutti i programmi pronti per essere utilizzati. In sostanza vogliamo solo iniziare a scrivere codice <img src='http://www.blackbirdblog.it/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>C&#8217;Ã¨ l&#8217;esigenza di eliminare un&#8217;operazione sempre uguale a se stessa facendola eseguire ad uno script AppleScript. Il mio ambiente di lavoro per i progetti Rails Ã¨ composto da due finestre di <a href="http://iterm.sourceforge.net/">iTerm</a> con il server WebBrick e <code>tail</code> su <code>development.log</code>. Per scrivere il codice utilizzo <a href="http://macromates.com/">TextMate</a> e per testare le pagine una finestra di Safari.<br />
AppleScript permette di <em>scriptare</em> applicazioni sotto Mac OS X con una semplicitÃ  estrema. L&#8217;unico grande ostacolo Ã¨ nella sintassi che mi rimane ancora abbastanza oscura. Con un semplice script sono riuscito a far aprire i programmi e le finestre giuste e posizionarle nei punti piÃ¹ comodi del desktop.</p>
<p>Il codice sorgente di questo script Ã¨ il seguente:</p>
<pre class="codice">tell application &quot;iTerm&quot;
	activate
	terminate the first session of the first terminal

	set termserver to (make new terminal)
	tell termserver
		set number of columns to 100
		set number of rows to 30

		set sessionserver to (make new session at the end of sessions)
		tell sessionserver
			set name to &quot;Webbrick&quot;
			exec command &quot;/bin/tcsh&quot;
			write text &quot;cd /Rails/casaparrina&quot;
			write text &quot;script/server&quot;
		end tell
	end tell

	set termlog to (make new terminal)
	tell termlog
		set number of columns to 100
		set number of rows to 40

		set sessionlog to (make new session at the end of sessions)
		tell sessionlog
			set name to &quot;Log&quot;
			exec command &quot;/bin/tcsh&quot;
			write text &quot;cd /Rails/casaparrina/log&quot;
			write text &quot;tail -f development.log&quot;
		end tell
	end tell

end tell

tell application &quot;TextMate&quot;
	activate
end tell

tell application &quot;Safari&quot;
	activate
	delay 4
	set URL of document 1 to &quot;http://localhost:3000&quot;
end tell</pre>
<p>Ogni volta che voglio apportare una modifica, anche piccola, non sarÃ² piÃ¹ costretto a lanciare finestre shell e lanciare comandi. Faccio doppio click sullo script e aspetto qualche secondo. Ho realizzato un breve screencast per far capire di cosa si tratta e di quanto sia utile:</p>
<div class="centrato"><a href="http://www.blackbirdblog.it/download/rails-start-workenv/index.html" title="Guarda lo screencast"><img src="/images/blog/rails_start_workenv.gif" alt="Screencast del funzionamento dello script" /></a></div>
<p>Lo screencast Ã¨ stato realizzato con <a href="http://www.unixuser.org/~euske/vnc2swf/pyvnc2swf.html#play">pyvnc2swf</a> con una risoluzione video di 1024&#215;768 quindi alcune parti risultano tagliate. In condizioni normali infatti l&#8217;ambiente di lavoro Ã¨ preparato per lavorare con una risoluzione di 1440&#215;960.</p>


<p>Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2003/12/09/expos-extreme/' rel='bookmark' title='ExposÃ© extreme'>ExposÃ© extreme</a> <small>Fra le varie novit&agrave; di Panther, l&#8217;ultima versione del famoso...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2007/12/12/ce-lavoro-anche-per-i-rubisti/' rel='bookmark' title='C&#8217;Ã¨ lavoro anche per i rubisti!'>C&#8217;Ã¨ lavoro anche per i rubisti!</a> <small>Chi pensa che Java sia l&#8217;unico linguaggio che apre le...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/06/28/ajax-al-lavoro/' rel='bookmark' title='AJAX al lavoro'>AJAX al lavoro</a> <small>Ho messo on-line da poco il nuovo sito del LUG...</small></li>
</ol></p>
<p>Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.blackbirdblog.it/blog/archivio/2006/07/19/autostart-per-ambiente-di-lavoro/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Le mappe di Google su casaparrina.it</title>
		<link>http://www.blackbirdblog.it/blog/archivio/2006/07/13/le-mappe-di-google-su-casaparrinait/</link>
		<comments>http://www.blackbirdblog.it/blog/archivio/2006/07/13/le-mappe-di-google-su-casaparrinait/#comments</comments>
		<pubDate>Thu, 13 Jul 2006 20:03:00 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://www.blackbirdblog.it/blog/archivio/2006/07/13/le-mappe-di-google-su-casaparrinait/</guid>
		<description><![CDATA[Dopo aver giocato con Rails lato server mi sono dedicato all&#8217;integrazione delle mappe di Google in varie parti del sito. Il risultato migliore Ã¨ visibile all&#8217;interno della sezione Rivenditori dove le API mi hanno permesso di identificare con precisione dei punti utilizzando solamente l&#8217;indirizzo. Per fare questa piccola magia si utilizza la classe GClientGeocoder che [...]


Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2005/07/11/google-maps-api/' rel='bookmark' title='Google Maps API'>Google Maps API</a> <small>Google si Ã¨ rivelata l&#8217;azienda piÃ¹ innovativa degli ultimi anni,...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2006/07/29/wordpress-library-su-google-code-hosting/' rel='bookmark' title='WordPress Library su Google code hosting'>WordPress Library su Google code hosting</a> <small>Se ne parlato parecchio e alla fine questo nuovo servizio...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/03/17/google-x-hack/' rel='bookmark' title='Google X hack !'>Google X hack !</a> <small>Ieri Google ci ha deliziato con un&#8217;altra applicazione web da...</small></li>
</ol>

Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.]]></description>
			<content:encoded><![CDATA[<p>Dopo aver giocato con Rails lato server mi sono dedicato all&#8217;integrazione delle mappe di Google in varie parti del sito. Il risultato migliore Ã¨ visibile all&#8217;interno della sezione <a href="http://www.casaparrina.it/rivenditori">Rivenditori</a> dove le API mi hanno permesso di identificare con precisione dei punti utilizzando solamente l&#8217;indirizzo.</p>
<p>Per fare questa piccola magia si utilizza la classe <code>GClientGeocoder</code> che tramite chiamate AJAX si collega al database di Google Maps e restituisce le coordinate. Ecco un esempio di utilizzo:</p>
<pre class="codice">var geocoder = new GClientGeocoder();
var address = "Via degli Ippocastani 30, orvieto, Italia";
geocoder.getLatLng(
    address,
    function(point) {
      if (!point) {
        alert("La mappa non è stata trovata");
      } else {
        map.setCenter(point, 15);
        map.addOverlay(new GMarker(point));
      }
    }
);</pre>
<p>Inoltre, solo per un test personale ho realizzato un file <a href="http://www.casaparrina.it/contatti/kml">KML</a> che permette di &#8220;volare&#8221; su Casa Parrina tramite il software Google Earth. Per ora si tratta solo di una sperimentazione. L&#8217;unica pecca Ã¨ che le mappe satellitari della mia zona non hanno una buona risoluzione e quindi la resa non Ã¨ delle migliori.</p>


<p>Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2005/07/11/google-maps-api/' rel='bookmark' title='Google Maps API'>Google Maps API</a> <small>Google si Ã¨ rivelata l&#8217;azienda piÃ¹ innovativa degli ultimi anni,...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2006/07/29/wordpress-library-su-google-code-hosting/' rel='bookmark' title='WordPress Library su Google code hosting'>WordPress Library su Google code hosting</a> <small>Se ne parlato parecchio e alla fine questo nuovo servizio...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/03/17/google-x-hack/' rel='bookmark' title='Google X hack !'>Google X hack !</a> <small>Ieri Google ci ha deliziato con un&#8217;altra applicazione web da...</small></li>
</ol></p>
<p>Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.blackbirdblog.it/blog/archivio/2006/07/13/le-mappe-di-google-su-casaparrinait/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Web: less is more</title>
		<link>http://www.blackbirdblog.it/blog/archivio/2006/05/29/web-less-is-more/</link>
		<comments>http://www.blackbirdblog.it/blog/archivio/2006/05/29/web-less-is-more/#comments</comments>
		<pubDate>Mon, 29 May 2006 19:13:02 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://www.blackbirdblog.it/blog/archivio/2006/05/29/web-less-is-more/</guid>
		<description><![CDATA[PerchÃ© poco Ã¨ meglio di tanto? perchÃ© quando realizziamo applicazioni web dobbiamo infilarci di tutto e di piÃ¹? Sembrerebbe una vera patologia, infilare il maggior numero di elementi in tutte le componenti di un progetto. Nelle pagine web ci ritroviamo un numero elevato di elementi grafici, disposti nella maggior parte dei casi secondo opinioni personali [...]


Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2006/03/30/convenzioni-vs-configurazioni/' rel='bookmark' title='Convenzioni VS configurazioni'>Convenzioni VS configurazioni</a> <small>Nella maggior parte dei casi si deve configurare il comportamento...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2007/02/28/gestionale-negozio-le-prime-righe-di-codice/' rel='bookmark' title='Gestionale negozio, le prime righe di codice'>Gestionale negozio, le prime righe di codice</a> <small>Ho cominciato a buttar giÃ¹ qualche riga di codice e...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2004/08/17/compilare-progetti-xcode-con-ant/' rel='bookmark' title='Compilare progetti Xcode con Ant'>Compilare progetti Xcode con Ant</a> <small>Xcode Ã¨ un software estremamente potente e ha a disposizione...</small></li>
</ol>

Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.]]></description>
			<content:encoded><![CDATA[<p>PerchÃ© poco Ã¨ meglio di tanto? perchÃ© quando realizziamo applicazioni web dobbiamo infilarci di tutto  e di piÃ¹? Sembrerebbe una vera patologia, infilare il maggior numero di elementi in tutte le componenti di un progetto. Nelle pagine web ci ritroviamo un numero elevato di elementi grafici, disposti nella maggior parte dei casi secondo opinioni personali (quasi sempre sbagliate). Lato server ci ritroviamo codice scritto &#8220;<em>a torrente</em>&#8220;, cioÃ¨ un flusso di idee grezze cosÃ¬ come arrivano dalla testa, senza un minimo di analisi a priori. Questo tipo di &#8220;non pratiche&#8221; nello sviluppo di un progetto portano a effetti devastanti sia nel flusso di lavoro dello sviluppatore sia nei risultati del lavoro stesso. Ãˆ pratica comune produrre parecchio codice, come se ci fosse un nesso fra la lunghezza delle linee di codice e il buon funzionamento delle applicazioni.</p>
<p>In realtÃ , maggiore Ã¨ la dimensione delle applicazioni minore sarÃ  la sua manutenibilitÃ , che inevitabilmente decrementerÃ  ancora con il passare del tempo. In teoria c&#8217;Ã¨ un punto del grafico dove la manutenibilitÃ  arriva a zero e ci si trova nelle condizioni di dover riscrivere l&#8217;applicazione da zero. Con una buona pratica di sviluppo e analisi possiamo solamente allungare questo tempo e comunque rendere la vita facile a tutti quelli che dovranno mettere le mani nelle applicazioni per apportare modifiche.</p>
<p>Uno dei motivi che rendono &#8220;<em>more</em>&#8221; piÃ¹ diffuso di &#8220;<em>less</em>&#8221; Ã¨ la ridondanza delle azioni/informazioni. In un software eccellente nessuna cosa dovrebbe essere ridondata. Ogni componente dovrebbe gestire la propria logica andando a interconnettesi con gli altri. Ridondare significa aumentare le righe di codice, il livello di caos e di conseguenza complicare la vita ai manutentori. Inoltre si aumenta il rischio di comportamenti anomali del codice e di maggior lavoro durante la fase di debug del codice.</p>
<p>In sostanza, poco codice scritto bene Ã¨ la soluzione migliore. Ovviamente si necessita di un grande lavoro di analisi e di modellazione OOP del problema ma dopo questa fase, la scrittura del codice viene da sÃ¨.</p>


<p>Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2006/03/30/convenzioni-vs-configurazioni/' rel='bookmark' title='Convenzioni VS configurazioni'>Convenzioni VS configurazioni</a> <small>Nella maggior parte dei casi si deve configurare il comportamento...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2007/02/28/gestionale-negozio-le-prime-righe-di-codice/' rel='bookmark' title='Gestionale negozio, le prime righe di codice'>Gestionale negozio, le prime righe di codice</a> <small>Ho cominciato a buttar giÃ¹ qualche riga di codice e...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2004/08/17/compilare-progetti-xcode-con-ant/' rel='bookmark' title='Compilare progetti Xcode con Ant'>Compilare progetti Xcode con Ant</a> <small>Xcode Ã¨ un software estremamente potente e ha a disposizione...</small></li>
</ol></p>
<p>Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.blackbirdblog.it/blog/archivio/2006/05/29/web-less-is-more/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>FireBug debugger</title>
		<link>http://www.blackbirdblog.it/blog/archivio/2006/05/25/firebug-debugger/</link>
		<comments>http://www.blackbirdblog.it/blog/archivio/2006/05/25/firebug-debugger/#comments</comments>
		<pubDate>Thu, 25 May 2006 19:09:06 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://www.blackbirdblog.it/blog/archivio/2006/05/25/firebug-debugger/</guid>
		<description><![CDATA[Sono veramente felice che Joe Hewitt abbia aggiunto un debugger alla nuova versione di FireBug. Questa estensione Ã¨ la piÃ¹ importante e utile da quando utilizzo Firefox. Si tratta di una vera manna dal cielo per tutti gli sviluppatori Web. Come sanno bene tutti gli sviluppatori, JavaScript puÃ² diventare un vero problema e la funzione [...]


Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2006/04/02/firebug-the-ultimate-tool/' rel='bookmark' title='FireBug: The ultimate tool!'>FireBug: The ultimate tool!</a> <small>Lo sviluppo Web lato client Ã¨ stato sempre abbastanza macchinoso...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2006/12/14/firebug-10/' rel='bookmark' title='Firebug 1.0'>Firebug 1.0</a> <small>Qualche giorno fa Ã¨ stata annunciata la nuova versione di...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/07/21/firefox-roadmap/' rel='bookmark' title='Firefox roadmap'>Firefox roadmap</a> <small>Ieri Ben Goodger ha reso noto che Ã¨ stata modificata...</small></li>
</ol>

Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.]]></description>
			<content:encoded><![CDATA[<p>Sono veramente felice che Joe Hewitt abbia aggiunto un debugger alla nuova versione di FireBug. Questa estensione Ã¨ la piÃ¹ importante e utile da quando utilizzo Firefox. Si tratta di una vera manna dal cielo per tutti gli sviluppatori Web. Come sanno bene tutti gli sviluppatori, JavaScript puÃ² diventare un vero problema e la funzione <code>alert()</code> Ã¨ l&#8217;unico strumento che si ha a disposizione per testare il codice. Esiste un <a href="http://blogs.msdn.com/ie/archive/2004/10/26/247912.aspx">debugger di JavaScript</a> (anzi JScript) per Internet Explorer ma funziona solamente con il browser di Microsoft, e siccome questo browser non Ã¨ proprio il massimo in fatto di supporto di JavaScript, Ã¨ meglio evitare <img src='http://www.blackbirdblog.it/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Per i browser della famiglia Gecko Ã¨ possibile utilizzare il debugger <a href="http://www.mozilla.org/projects/venkman/">Venkman</a> ma il suo utilizzo risulta difficile e poco pratico. FireBug introduce l&#8217;utente in un ambiente di sviluppo semplice e diretto. Il nuovo debugger Ã¨ semplice da usare come bere un bicchiere d&#8217;acqua. Per l&#8217;occasione, Joe ha registrato un nuovo dominio web: <a href="http://getfirebug.com">http://getfirebug.com/</a>. Per una  panoramica delle nuove caratteristiche vi rimando alle <a href="http://www.joehewitt.com/software/firebug/releases/0.4notes.php">Release Notes</a> della versione 0.4.</p>
<div class="centrato"><a href="http://www.joehewitt.com/blog/images/2006-04-12/debugger.png" rel="lightbox"><img src="http://www.joehewitt.com/blog/images/2006-04-12/debugger-sm.png" alt="Screenshot del debugger" /></a></div>


<p>Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2006/04/02/firebug-the-ultimate-tool/' rel='bookmark' title='FireBug: The ultimate tool!'>FireBug: The ultimate tool!</a> <small>Lo sviluppo Web lato client Ã¨ stato sempre abbastanza macchinoso...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2006/12/14/firebug-10/' rel='bookmark' title='Firebug 1.0'>Firebug 1.0</a> <small>Qualche giorno fa Ã¨ stata annunciata la nuova versione di...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/07/21/firefox-roadmap/' rel='bookmark' title='Firefox roadmap'>Firefox roadmap</a> <small>Ieri Ben Goodger ha reso noto che Ã¨ stata modificata...</small></li>
</ol></p>
<p>Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.blackbirdblog.it/blog/archivio/2006/05/25/firebug-debugger/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FireBug: The ultimate tool!</title>
		<link>http://www.blackbirdblog.it/blog/archivio/2006/04/02/firebug-the-ultimate-tool/</link>
		<comments>http://www.blackbirdblog.it/blog/archivio/2006/04/02/firebug-the-ultimate-tool/#comments</comments>
		<pubDate>Sun, 02 Apr 2006 20:03:24 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://www.blackbirdblog.it/blog/archivio/2006/04/02/firebug-the-ultimate-tool/</guid>
		<description><![CDATA[Lo sviluppo Web lato client Ã¨ stato sempre abbastanza macchinoso perchÃ© i browser non hanno mai messo a disposizione strumenti adeguati. Siamo in un periodo dove sembra che lo sviluppo Web stia mostrando il suo massimo splendore. Le maggiori tecnologie web come XHML, XML, JavaScript, CSS ecc&#8230; sono utilizzate al massimo per creare applicazioni Web [...]


Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2006/05/25/firebug-debugger/' rel='bookmark' title='FireBug debugger'>FireBug debugger</a> <small>Sono veramente felice che Joe Hewitt abbia aggiunto un debugger...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2006/12/14/firebug-10/' rel='bookmark' title='Firebug 1.0'>Firebug 1.0</a> <small>Qualche giorno fa Ã¨ stata annunciata la nuova versione di...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/05/08/greasemonkey-e-le-altre/' rel='bookmark' title='GreaseMonkey e le altre&#8230;'>GreaseMonkey e le altre&#8230;</a> <small>Ma ci si poteva immaginare un anno fa che Firefox...</small></li>
</ol>

Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.]]></description>
			<content:encoded><![CDATA[<p>Lo sviluppo Web lato client Ã¨ stato sempre abbastanza macchinoso perchÃ© i browser non hanno mai messo a disposizione strumenti adeguati. Siamo in un periodo dove sembra che lo sviluppo Web stia mostrando il suo massimo splendore. Le maggiori tecnologie web come XHML, XML, JavaScript, CSS ecc&#8230; sono utilizzate al massimo per creare applicazioni Web con un alto grado di esperienza utente. Nella creazione di queste applicazioni, lo sviluppatore necessita di strumenti adatti e potenti. Strumenti nuovi, integrati con i browser web come <a href="http://www.joehewitt.com/software/firebug/">FireBug</a>.</p>
<p>FireBug Ã¨ una estensione per Firefox 1.5 che permette di fare cose molto interessanti come modificare in tempo reale le caratteristiche delle pagine web. La caratteristica piÃ¹ importante Ã¨ il log delle richieste XMLHttpRequests (AJAX). FireBug mette a disposizione una console dove si ha visibilitÃ  sulle chiamate AJAX che di norma devono rimanere nascoste. La console puÃ² essere interrogata interattivamente per sapere i valori di determinati oggetti o per richiamare funzioni. Consiglio vivamente questa estensione a tutti quelli che sviluppano applicazioni Web dove il contenuto della pagina varia in maniera dinamica.</p>


<p>Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2006/05/25/firebug-debugger/' rel='bookmark' title='FireBug debugger'>FireBug debugger</a> <small>Sono veramente felice che Joe Hewitt abbia aggiunto un debugger...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2006/12/14/firebug-10/' rel='bookmark' title='Firebug 1.0'>Firebug 1.0</a> <small>Qualche giorno fa Ã¨ stata annunciata la nuova versione di...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/05/08/greasemonkey-e-le-altre/' rel='bookmark' title='GreaseMonkey e le altre&#8230;'>GreaseMonkey e le altre&#8230;</a> <small>Ma ci si poteva immaginare un anno fa che Firefox...</small></li>
</ol></p>
<p>Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.blackbirdblog.it/blog/archivio/2006/04/02/firebug-the-ultimate-tool/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Subversion</title>
		<link>http://www.blackbirdblog.it/blog/archivio/2006/03/06/subversion/</link>
		<comments>http://www.blackbirdblog.it/blog/archivio/2006/03/06/subversion/#comments</comments>
		<pubDate>Mon, 06 Mar 2006 20:51:30 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://www.blackbirdblog.it/blog/archivio/2006/03/06/subversion/</guid>
		<description><![CDATA[Comincio ad avere parecchio codice a casa e a volte ho bisogno di tornare indietro e di volere vecchie parti. Inoltre avere il codice sparso su piÃ¹ macchine rende il suo allineamento un vero casino! E&#8217; giÃ  da parecchio tempo che volevo mettere le mani su Subversion, ne ho sentito parlare molto bene e ora [...]


Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2006/08/01/sudden-motion-sensor-per-python/' rel='bookmark' title='Sudden Motion Sensor per Python'>Sudden Motion Sensor per Python</a> <small>Esistono svariate applicazioni che fanno uso dell&#8217;ormai famoso sensore di...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2007/02/28/gestionale-negozio-le-prime-righe-di-codice/' rel='bookmark' title='Gestionale negozio, le prime righe di codice'>Gestionale negozio, le prime righe di codice</a> <small>Ho cominciato a buttar giÃ¹ qualche riga di codice e...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/10/04/cambia-dominio-con-mod_rewrite/' rel='bookmark' title='Cambia dominio con mod_rewrite'>Cambia dominio con mod_rewrite</a> <small>Apache Ã¨ il miglior web server sulla faccia della terra...</small></li>
</ol>

Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.]]></description>
			<content:encoded><![CDATA[<p>Comincio ad avere parecchio codice a casa e a volte ho bisogno di tornare indietro e di volere vecchie parti. Inoltre avere il codice sparso su piÃ¹ macchine rende il suo allineamento un vero casino!<br />
E&#8217; giÃ  da parecchio tempo che volevo mettere le mani su Subversion, ne ho sentito parlare molto bene e ora ho installato l&#8217;ultima versione su Windows e Mac.</p>
<p>Per ora il repository risiede sulla macchina Windows ed Ã¨ accessibile via server SVN e via HTTP grazie al modulo WEBDAV. Ho importato tutto il codice sorgente, questo sito e altre cosucce. In futuro vorrei realizzare un serverino Linux magari con un Mac Mini usato o comunque un mini PC e configurarlo per fare da repository SVN e backup server.</p>


<p>Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2006/08/01/sudden-motion-sensor-per-python/' rel='bookmark' title='Sudden Motion Sensor per Python'>Sudden Motion Sensor per Python</a> <small>Esistono svariate applicazioni che fanno uso dell&#8217;ormai famoso sensore di...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2007/02/28/gestionale-negozio-le-prime-righe-di-codice/' rel='bookmark' title='Gestionale negozio, le prime righe di codice'>Gestionale negozio, le prime righe di codice</a> <small>Ho cominciato a buttar giÃ¹ qualche riga di codice e...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/10/04/cambia-dominio-con-mod_rewrite/' rel='bookmark' title='Cambia dominio con mod_rewrite'>Cambia dominio con mod_rewrite</a> <small>Apache Ã¨ il miglior web server sulla faccia della terra...</small></li>
</ol></p>
<p>Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.blackbirdblog.it/blog/archivio/2006/03/06/subversion/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails, questo sconosciuto</title>
		<link>http://www.blackbirdblog.it/blog/archivio/2005/11/03/ruby-on-rails-questo-sconosciuto/</link>
		<comments>http://www.blackbirdblog.it/blog/archivio/2005/11/03/ruby-on-rails-questo-sconosciuto/#comments</comments>
		<pubDate>Thu, 03 Nov 2005 15:37:47 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://www.blackbirdblog.it/?p=255</guid>
		<description><![CDATA[In questo momento sto installando Ruby on Rails sul mio PowerBook, sto seguendo una guida passo passo. L&#8217;intero pacchetto Ruby on Rails Ã¨ installato da un pacchetto binario giÃ  pronto sotto forma di installer per Mac OS X. Ovviamente l&#8217;installazione potrebbe variare in base alle varie versioni di Mac OS X e di Mysql. Maggiori [...]


Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2005/12/15/i-framework-web-e-ruby-on-rails/' rel='bookmark' title='I framework web e Ruby On Rails'>I framework web e Ruby On Rails</a> <small>Oggi Ã¨ stata rilasciata la versione definitiva di questo innovativo...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2006/07/01/rails-docet/' rel='bookmark' title='Rails docet'>Rails docet</a> <small>Comincio ad apprezzare le potenzialitÃ  di Ruby On Rails. Ci...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2006/03/21/sviluppare-applicazioni-web-con-rails/' rel='bookmark' title='&#8220;Sviluppare applicazioni web con Rails&#8221;'>&#8220;Sviluppare applicazioni web con Rails&#8221;</a> <small>Si tratta dell&#8217;unico libro su Rails tradotto in italiano. Quasi...</small></li>
</ol>

Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.]]></description>
			<content:encoded><![CDATA[<p>In questo momento sto installando Ruby on Rails sul mio PowerBook, sto seguendo <a href="http://www.tonyarnold.com/articles/2005/08/10/rolling-with-ruby-on-rails-on-mac-os-x-tiger-for-beginners">una guida passo passo</a>. L&#8217;intero pacchetto Ruby on Rails Ã¨ installato da un pacchetto binario giÃ  pronto sotto forma di installer per Mac OS X. Ovviamente l&#8217;installazione potrebbe variare in base alle varie versioni di Mac OS X e di Mysql. Maggiori informazioni le potete trovare sul <a href="http://wiki.rubyonrails.com/rails/pages/HowtoInstallOnOSXTiger">wiki di Rails</a>.</p>
<p>Finito l&#8217;installazione si crea la cartella dove inserire tutte le applicazioni Rails e poi si crea la prima applicazione con il comando:</p>
<pre class="console">rails Test</pre>
<p>Il comando <code>rails</code> Ã¨ fondamentale per preparare l&#8217;ambiente standard di una applicazione Rails. Si tratta di una struttura simile a quella progettata da Sun per le web application Java. In Rails ci si trova di fronte ad un vero e proprio ambiente integrato. La natura professionale di questo ambiente si nota quando ci si rende conto che tutto Ã¨ diviso in tre sotto ambienti: sviluppo, test, produzione. Sono inoltre presenti le cartelle con gli unit test per le varie componenti che vengono autogenerati dallo script <code>generate</code>.</p>
<p>Il solo comando <code>rails</code> non basta e quindi il <a href="http://www.loudthinking.com/" title="Leggi il blog di David Heinemeier Hansson">giovane genio</a> che ha progettato Rails ha reso disponibile uno script che permette di generare le varie componenti <acronym title="Model View Controller ">MVC</acronym>. Lo script in questione si chiama <code>generate</code> ed Ã¨ presente all&#8217;interno della cartella <code>script</code> di ogni progetto Rails.</p>
<p>Lo script permette di generare la componente controller e la componente model.</p>
<pre class="console">script/generate controller Contacts
script/generate model Contact</pre>
<p>Con questo comando genero un controller di nome <code>Contacts</code> e un modello dati di nome <code>Contact</code> che verrÃ  mappato automaticamente su di una tabella SQL con il nome plurale del model. In questo caso il nome della tabella cercato sarÃ  contacts. La classe model generata avrÃ  il seguente codice:</p>
<pre class="codice">class Contact &lt; ActiveRecord::Base
end
</pre>
<p>La classe <code>Contact</code> estende la <code>ActiveRecord::Base</code> che gli permette di essere mappata ad una tabella SQL in maniera automatica. Si tratta di un sistema molto potente visto che ad ogni modifica della struttura della tabella non segue una modifica della classe che ne rappresenta il modello dati. Sono rimasto molto sorpreso da questa cosa, in un primo momento pensavo che da qualche parte fosse generata una tabella di mappatura ma non c&#8217;Ã¨ trucco. Quando ho chiamato il metodo <code>Contact.find_all</code> mi sono reso conto che si trattava di qualcosa di veramente innovativo.</p>
<p>Il controller generato invece Ã¨ vuoto e vanno definite le azioni in maniera manuale. Ogni azione Ã¨ un metodo della classe e verrÃ  richiamato via web tramite un indirizzo del tipo:</p>
<pre class="codice">http://localhost:3000/contacts/list</pre>
<p>Il primo pezzo del path Ã¨ il nome del controller, il secondo Ã¨ il nome dell&#8217;azione. Quindi in questo caso ci troveremo una classe controller di nome <code>ContactsController</code> con un metodo <code>list</code>:</p>
<pre class="codice">class ContactsController < ApplicationController
	def list
		@items = Contact.find_all
	end
end</pre>
<p>Ad ogni azione del controller c'Ã¨ associata un pagina di view con il nome della stessa azione. Per una azione <code>list</code> verrÃ  cercata una pagina di nome <code>list.rhtml</code>.</p>
<p>Tutte queste componenti sono separate fisicamente all'interno di cartelle ben definite. Ci sono una serie di convenzioni che vanno seguite e che fanno delle applicazione Rails un vero standard nello sviluppo web. In questo momento, questo framework <a href="http://news.com.com/Ruby+on+Rails+chases+simplicity+in+programming/2100-1007_3-5920169.html">sta emergendo</a> specialmente fra chi sviluppa applicazioni web ricche.</p>
<p>Credo che per stuzzicare l'appetito possa bastare tutto ciÃ². Io non conosco Ruby ma seguendo semplici passi sono riuscito a creare un'applicazione di rubrica in pochi minuti. Chi ha provato Ruby on Rails ha detto che si puÃ² essere circa 10 volte piÃ¹ veloci nello sviluppo rispetto ad un analogo framework Java.</p>
<p>Probabilmente questo framework sarÃ  il motivo per cui mi metterÃ² a leggere qualcosa di piÃ¹ sul linguaggio <a href="http://www.ruby-lang.org/en/">Ruby</a> <img src='http://www.blackbirdblog.it/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </pre>


<p>Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2005/12/15/i-framework-web-e-ruby-on-rails/' rel='bookmark' title='I framework web e Ruby On Rails'>I framework web e Ruby On Rails</a> <small>Oggi Ã¨ stata rilasciata la versione definitiva di questo innovativo...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2006/07/01/rails-docet/' rel='bookmark' title='Rails docet'>Rails docet</a> <small>Comincio ad apprezzare le potenzialitÃ  di Ruby On Rails. Ci...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2006/03/21/sviluppare-applicazioni-web-con-rails/' rel='bookmark' title='&#8220;Sviluppare applicazioni web con Rails&#8221;'>&#8220;Sviluppare applicazioni web con Rails&#8221;</a> <small>Si tratta dell&#8217;unico libro su Rails tradotto in italiano. Quasi...</small></li>
</ol></p>
<p>Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.blackbirdblog.it/blog/archivio/2005/11/03/ruby-on-rails-questo-sconosciuto/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Favorites Flickr poster</title>
		<link>http://www.blackbirdblog.it/blog/archivio/2005/10/24/favorites-flickr-poster/</link>
		<comments>http://www.blackbirdblog.it/blog/archivio/2005/10/24/favorites-flickr-poster/#comments</comments>
		<pubDate>Mon, 24 Oct 2005 18:12:43 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://www.blackbirdblog.it/?p=251</guid>
		<description><![CDATA[Ho deciso di dare una sistemata al codice sorgente di quel rudimentale script Python, per la generazione di un poster di Flickr, e di trasformarlo in una applicazione a linea di comando. Questa nuova applicazione Ã¨ presente in Programmazione &#62; Progetti ed Ã¨ scaricabile liberamente. python flickr-poster.py --user=&#34;Black Bird Boy&#34; have fun! &#8230;se vi capita [...]


Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2005/10/22/flickr-poster/' rel='bookmark' title='Flickr poster'>Flickr poster</a> <small>In questo anno ho raccolto circa parecchie immagini da Flickr...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2007/02/05/i-poster-di-mypixmania/' rel='bookmark' title='I poster di myPixmania'>I poster di myPixmania</a> <small>Oggi sono arrivate le 6 foto in formato 20&#215;30 e...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2004/09/06/easy-dmg-10/' rel='bookmark' title='Easy DMG 1.0'>Easy DMG 1.0</a> <small>Easy DMG Ã¨ una nuova applicazione Cocoa che permette in...</small></li>
</ol>

Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.]]></description>
			<content:encoded><![CDATA[<p>Ho deciso di dare una sistemata al codice sorgente di quel rudimentale script Python, per la generazione di un poster di Flickr, e di trasformarlo in una applicazione a linea di comando. Questa nuova applicazione Ã¨ presente in <a href="/programmazione/progetti/31">Programmazione &gt; Progetti</a> ed Ã¨ scaricabile liberamente.</p>
<pre class="console">python flickr-poster.py --user=&quot;Black Bird Boy&quot;</pre>
<p>have fun!</p>
<p>&#8230;se vi capita di scoprire qualche bachetto mandatemi una mail <img src='http://www.blackbirdblog.it/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>


<p>Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2005/10/22/flickr-poster/' rel='bookmark' title='Flickr poster'>Flickr poster</a> <small>In questo anno ho raccolto circa parecchie immagini da Flickr...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2007/02/05/i-poster-di-mypixmania/' rel='bookmark' title='I poster di myPixmania'>I poster di myPixmania</a> <small>Oggi sono arrivate le 6 foto in formato 20&#215;30 e...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2004/09/06/easy-dmg-10/' rel='bookmark' title='Easy DMG 1.0'>Easy DMG 1.0</a> <small>Easy DMG Ã¨ una nuova applicazione Cocoa che permette in...</small></li>
</ol></p>
<p>Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.blackbirdblog.it/blog/archivio/2005/10/24/favorites-flickr-poster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opml e XSLT</title>
		<link>http://www.blackbirdblog.it/blog/archivio/2005/09/05/opml-e-xslt/</link>
		<comments>http://www.blackbirdblog.it/blog/archivio/2005/09/05/opml-e-xslt/#comments</comments>
		<pubDate>Mon, 05 Sep 2005 15:49:10 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://www.blackbirdblog.it/?p=218</guid>
		<description><![CDATA[All&#8217;inizio ho provato parecchi programmi che permettono di aggregare le notizie provenienti dai vari blog via feed RSS o Atom. Ne ho provati diversi, solo per Windows e multi piattaforma scritti in Java, Python ecc&#8230;. Il migliore in assoluto Ã¨ risultato FeedDemon che ahimÃ¨ non Ã¨ ne un gratuito ne tanto meno open source. Solamente [...]


Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2006/04/27/flickr-explore-unofficial-feed/' rel='bookmark' title='Flickr Explore unofficial feed'>Flickr Explore unofficial feed</a> <small>Le pagine Explore di Flickr.com sono molto interessanti. Da quando...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2004/10/05/anche-io-atom/' rel='bookmark' title='Anche io Atom!'>Anche io Atom!</a> <small>Dopo RSS2 ho messo on-line anche il feed in versione...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/06/08/rss-per-i-progetti/' rel='bookmark' title='RSS per i progetti'>RSS per i progetti</a> <small>Ci stavo giÃ  pensando da tempo, realizzare un feed RSS...</small></li>
</ol>

Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.]]></description>
			<content:encoded><![CDATA[<p>All&#8217;inizio ho provato parecchi programmi che permettono di aggregare le notizie provenienti dai vari blog via feed RSS o Atom. Ne ho provati diversi, solo per Windows e multi piattaforma scritti in Java, Python ecc&#8230;. Il migliore in assoluto Ã¨ risultato <a href="http://www.bradsoft.com/feeddemon/index.asp">FeedDemon</a> che ahimÃ¨ non Ã¨ ne un gratuito ne tanto meno open source. Solamente FeedDemon mi permetteva di personalizzarlo secondo le mie esigenze.</p>
<p>Dopo un po mi sono reso conto che era impossibile utilizzare un programma desktop visto che ultimamente mi trovavo spesso fuori sede e lavoravo su un altro computer. A casa mi capita di usare Mac e PC , alla fine la scelta Ã¨ caduta su un servizio gratuito on-line che necessita solamente di un browser web. Si chiama Bloglines ed Ã¨ il piÃ¹ famoso e utilizzato della rete. Permette di avere in qualsiasi posto ti trovi la situazione degli articoli letti e da leggere. Ãˆ provvisto inoltre della possibilitÃ  di importare ed esportare la lista completa di tutti i feed e di una interfaccia remota simile a XML-RPC.</p>
<p>Allora decido di mettere on-line la lista dei feed che leggo in formato <a href="http://en.wikipedia.org/wiki/OPML">OPML</a>. Esporto la lista utilizzando la funzionalitÃ  <a href="http://www.bloglines.com/services/api/listsubs">Listsubs</a> della <a href="http://www.bloglines.com/services/api/">API di Bloglines</a> dentro una pagina PHP e rendo la lista disponibile all&#8217;indirizzo <a href="/opml.xml" title="Lista blogs (file opml.xml)">http://www.blackbirdblog.it/opml.xml</a>. Il file XML in questione Ã¨ provvisto di <a href="/xsl/opml.xsl">XSL</a>. Visualizzandolo con un browser web compatibile con la tecnologia XSLT Ã¨ possibile vedere la lista dei blog come pagina HTML con link diretti ai feed e link al sito web. A fianco dei link ho inserito anche il bottone di Bloglines che permette di iscriversi ad un feed con un click.</p>
<p>Questa idea mi Ã¨ venuta pensando a <a href="http://diveintomark.org">Mark Pilgrim</a> che tempo fa nel suo blog inserÃ¬ nel file RSS un foglio XSL che visualizzava una pagina HTML con le informazioni su come iscriversi. Il bello di tutto ciÃ² Ã¨ che lo stesso indirizzo Ã¨ la fonte dei feed per un aggregatore.</p>
<p>Nel mio caso lo stesso trucco Ã¨ stato applicato alla lista dei feed. Il risultato Ã¨ che visitando la pagina con un browser si ottiene una lista dei miei siti/blog preferiti mentre se si salva o si da in pasto ad un aggregatore ci si puÃ² iscrivere alla lista completa che ogni giorno leggo. Grazie alla pagina PHP e alla API di Bloglines la lista Ã¨ sempre aggiornatissima.</p>
<p>Questo Ã¨ possibile attualmente su i browsers che supportano XSLT:</p>
<ul>
<li>Internet Explorer 6.0</li>
<li>Mozilla Firefox 1.0.2</li>
<li>Mozilla 1.7.8</li>
<li>Netscape 8</li>
<li>Safari 1.3</li>
</ul>
<p>Purtroppo in Opera il supporto per XSLT  non Ã¨ stato ancora inserito. L&#8217;ultima versione supporta solamente i fogli di stile applicati ad XML. Ovviamente XSLT Ã¨ parecchio piÃ¹ potente e Opera dovrebbe al piÃ¹ presto inglobare questa tecnologia.</p>


<p>Articoli forse correlati:<ol><li><a href='http://www.blackbirdblog.it/blog/archivio/2006/04/27/flickr-explore-unofficial-feed/' rel='bookmark' title='Flickr Explore unofficial feed'>Flickr Explore unofficial feed</a> <small>Le pagine Explore di Flickr.com sono molto interessanti. Da quando...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2004/10/05/anche-io-atom/' rel='bookmark' title='Anche io Atom!'>Anche io Atom!</a> <small>Dopo RSS2 ho messo on-line anche il feed in versione...</small></li>
<li><a href='http://www.blackbirdblog.it/blog/archivio/2005/06/08/rss-per-i-progetti/' rel='bookmark' title='RSS per i progetti'>RSS per i progetti</a> <small>Ci stavo giÃ  pensando da tempo, realizzare un feed RSS...</small></li>
</ol></p>
<p>Articoli correlati elaborati dal plugin <a href='http://yarpp.org'>Yet Another Related Posts</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.blackbirdblog.it/blog/archivio/2005/09/05/opml-e-xslt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

