<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet title="XSL formatting" type="text/xsl" href="/atom.xsl" ?> <feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it"> <title>Programmiamo</title> <link rel="self" type="application/atom+xml" href="http://programmiamo.blogspirit.com/atom.xml"/> <link rel="alternate" type="text/html" href="http://programmiamo.blogspirit.com/" /> <subtitle>Blog di programmazione di Open Community</subtitle> <updated>2008-05-17T22:12:06+02:00</updated> <rights>All Rights Reserved blogSpirit</rights> <generator uri="http://www.blogspirit.com/" version="5.0">blogSpirit.com</generator> <id>http://programmiamo.blogspirit.com/</id>  <entry> <author> <name>Salvatore D'Angelo</name> <uri>http://programmiamo.blogspirit.com/about.html</uri> </author> <title>Castor. Da XML a Java Bean e viceversa.</title> <link rel="alternate" type="text/html" href="http://programmiamo.blogspirit.com/archive/2006/04/26/castor-da-xml-a-java-bean-e-viceversa.html" />  <id>tag:programmiamo.blogspirit.com,2006-04-26:738858</id> <updated>2006-04-26T19:50:00+02:00</updated> <published>2006-04-26T19:50:00+02:00</published>   <category term="Programmazione XML" scheme="http://www.blogspirit.com/ns/types#category" />    <category term="Programmazione" scheme="http://www.blogspirit.com/ns/types#tag" />  <summary>     JSPCart  utilizza per la configurazione del negozio online 3 file XML....</summary> <content type="html" xml:base="http://programmiamo.blogspirit.com/"> &lt;p&gt;&lt;img src=&quot;http://programmiamo.blogspirit.com/images/medium_castor.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0pt; margin: 0.7em 0pt;&quot; /&gt;&lt;br /&gt; &lt;a href=&quot;http://jspcart.neurospeech.com/&quot;&gt;JSPCart&lt;/a&gt; utilizza per la configurazione del negozio online 3 file XML. La prima volta che ho visto il codice sono rimasto esterrefatto da come veniva letta la configurazione. Inizialmente pensavo che ci fosse un parser SAX o DOM, invece nemmeno quello, il codice effettuava (e lo fa tuttora) il parsing del file a mano.&lt;/p&gt; &lt;p&gt;So già cosa state pensando: &lt;b&gt;roba da matti!!!&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Oggi quando mi trovo ad affrontare la problematica di mappare file XML in Java Bean e viceversa evito, se possibile, i parser &lt;a href=&quot;http://www.saxproject.org/&quot;&gt;SAX&lt;/a&gt; e &lt;a href=&quot;http://www.w3.org/DOM/&quot;&gt;DOM&lt;/a&gt; e cerco di utilizzare tool di mapping come &lt;a href=&quot;http://dev2dev.bea.com/pub/a/2004/05/sdo_beatty.html&quot;&gt;SDO&lt;/a&gt;, &lt;a href=&quot;http://java.sun.com/webservices/jaxb/&quot;&gt;JAXB&lt;/a&gt; o &lt;a href=&quot;http://www.castor.org/&quot;&gt;&lt;b&gt;Castor&lt;/b&gt;&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Ad oggi &lt;a href=&quot;http://programmiamo.blogspirit.com/archive/2006/01/22/bazaar-un-negozio-online-gratuito.html&quot;&gt;Bazaar&lt;/a&gt; preserva la codifica manuale ma, appena possible, modificherò il codice in modo da utilizzare Castor.&lt;/p&gt; &lt;p&gt;Dalle premesse penso che è chiaro che Castor è un tool per il binding XML -&amp;gt; Java Bean e viceversa.&lt;br /&gt; Lavorare con Castor è sicuramente più semplice che lavorare con DOM o SAX (in alcuni casi).&lt;/p&gt; &lt;p&gt;Castor utilizza un file di mapping per mappare gli element XML nelle property Java Bean. Esiste, tuttavia, una modalità più rapida che consente la generazione automatica del codice a partire dallo schema.&lt;/p&gt; &lt;p&gt;I seguenti tutorials illustrano entrambe le modalità.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.geocities.com/sireenmalik/details.html&quot;&gt;Tutorial 1&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.onjava.com/pub/a/onjava/2001/10/24/xmldatabind.html&quot;&gt;Tutorial 2&lt;/a&gt;&lt;/p&gt; &lt;br /&gt; </content> </entry>  <entry> <author> <name>Salvatore D'Angelo</name> <uri>http://programmiamo.blogspirit.com/about.html</uri> </author> <title>Periodo di assenza</title> <link rel="alternate" type="text/html" href="http://programmiamo.blogspirit.com/archive/2006/04/17/periodo-di-assenza.html" />  <id>tag:programmiamo.blogspirit.com,2006-04-17:715572</id> <updated>2006-04-17T11:26:21+02:00</updated> <published>2006-04-17T11:26:21+02:00</published>   <category term="Vari" scheme="http://www.blogspirit.com/ns/types#category" />    <category term="Programmazione" scheme="http://www.blogspirit.com/ns/types#tag" />  <summary> &amp;nbsp;      Ciao a tutti i lettori,  &amp;nbsp;   in quest'ultime settimane sono...</summary> <content type="html" xml:base="http://programmiamo.blogspirit.com/"> &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style=&quot;text-align: left;&quot;&gt;&lt;img style=&quot;border-width: 0pt; margin: 0.7em 0pt;&quot; alt=&quot;&quot; src=&quot;http://programmiamo.blogspirit.com/images/medium_pasqua.2.jpg&quot; /&gt;&lt;/div&gt; Ciao a tutti i lettori, &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;in quest'ultime settimane sono stato un pò impegnato con il lavoro. Questo mi ha impedito di scrivere post su questo blog e me ne dispiace. In questo periodo mi sto impegnando molto nella progettazione UML per un prodotto nel laboratorio dove lavoro. Farò tesoro di quest'esperienza che spero di condividere presto con voi.&lt;/p&gt; &lt;p&gt;Appena passati questi giorni di festa mi piacerebbe parlare di alcuni tool come &lt;b&gt;Castor&lt;/b&gt; (sto già iniziando a scrivere qualcosa nel wiki), di continuare i post relativi a &lt;b&gt;Gollumix&lt;/b&gt; e &lt;b&gt;Trouts War&lt;/b&gt;, iniziare a parlare di &lt;b&gt;compilatori&lt;/b&gt;, &lt;b&gt;video editing, progettazione UML&lt;/b&gt; (use case model, analysis model, design e implementation model) e molto altro ancora.&lt;/p&gt; &lt;p&gt;In attesa di tutto ciò vi auguro Buone Feste.&lt;br /&gt; Salvatore&amp;nbsp;&lt;/p&gt; </content> </entry>  <entry> <author> <name>Salvatore D'Angelo</name> <uri>http://programmiamo.blogspirit.com/about.html</uri> </author> <title>Un semplice OCR in Java</title> <link rel="alternate" type="text/html" href="http://programmiamo.blogspirit.com/archive/2006/03/30/un-semplice-ocr-in-java.html" />  <id>tag:programmiamo.blogspirit.com,2006-03-30:672151</id> <updated>2006-03-30T14:05:00+02:00</updated> <published>2006-03-30T14:05:00+02:00</published>   <category term="Intelligenza Artificiale" scheme="http://www.blogspirit.com/ns/types#category" />    <category term="Programmazione" scheme="http://www.blogspirit.com/ns/types#tag" />  <summary>    Oggi volevo segnalarvi un  articolo  su Java Developer Journal inerente...</summary> <content type="html" xml:base="http://programmiamo.blogspirit.com/"> &lt;div style=&quot;text-align: left;&quot;&gt;&lt;img src=&quot;http://programmiamo.blogspirit.com/images/medium_ocr.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0pt; margin: 0.7em 0pt;&quot; /&gt;&lt;/div&gt; Oggi volevo segnalarvi un &lt;a href=&quot;http://jdj.sys-con.com/read/36985.htm&quot;&gt;articolo&lt;/a&gt; su Java Developer Journal inerente ad un programma &lt;a href=&quot;http://it.wikipedia.org/wiki/OCR&quot;&gt;Optical Character Recognition&lt;/a&gt; (OCR) molto semplice scritto in Java. &lt;p&gt;Un programma OCR è, in pratica, un software capace di riconoscere il testo scritto a mano.&lt;/p&gt; &lt;p&gt;Il programma, in realtà, riconosce solo singoli caratteri, quindi va considerato solo come un esempio.&lt;/p&gt; &lt;p&gt;Il programma si basa su un particolare tipo di rete neurale detta di &lt;a href=&quot;http://www.synaptics.org/neurbook/capitol4.htm&quot;&gt;Kohonen&lt;/a&gt; (dal nome del &lt;a href=&quot;http://www.cis.hut.fi/research/som-research/teuvo.html&quot;&gt;professore&lt;/a&gt; che l'ha ideata).&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://res.sys-con.com/story/36985/heaton.zip&quot;&gt;Qui&lt;/a&gt; potete scaricare il codice relativo all'articolo.&lt;/p&gt; &lt;p&gt;1. Scaricate il file .zip;&lt;br /&gt; 2. scompattatelo in una cartella;&lt;br /&gt; 3. posizionatevi nella cartella;&lt;br /&gt; 4. compilate il codice con il comando: javac *.java, eventuali errori di compilazione sono dovute a new line dentro le stringhe, per risolvere il problema andate sulla riga segnalata dal compilatore e mettere la stringa su un'unica riga;&lt;br /&gt; 5. rimuovete il file OCR.jar perchè corrotto (il file conteneva già il codice compilato);&lt;br /&gt; 6. eseguite il codice con il comando: java MainEntry.&lt;/p&gt; &lt;p&gt;Dovrebbe comparire una dialog box dove voi scrivete il carattere e il tool lo riconosce. Vi consiglio di addestrare la rete con alcuni esempi, perchè gli esempi di default non sempre si adattono alla vostra scrittura.&lt;/p&gt; &lt;p&gt;In quest'altro &lt;a href=&quot;http://www.chez.com/pma/ocr/ocr-11.htm&quot;&gt;articolo&lt;/a&gt; potete approfondire il tema OCR analizzando tutti gli steps che un programma di questo tipo dovrebbe eseguire.&lt;/p&gt; </content> </entry>  <entry> <author> <name>Salvatore D'Angelo</name> <uri>http://programmiamo.blogspirit.com/about.html</uri> </author> <title>Rilascio Bazaar 1.0 pre5</title> <link rel="alternate" type="text/html" href="http://programmiamo.blogspirit.com/archive/2006/03/28/rilascio-bazaar-1-0-pre5.html" />  <id>tag:programmiamo.blogspirit.com,2006-03-28:666896</id> <updated>2006-03-28T18:40:00+02:00</updated> <published>2006-03-28T18:40:00+02:00</published>   <category term="Programmazione J2EE" scheme="http://www.blogspirit.com/ns/types#category" />    <category term="Programmazione" scheme="http://www.blogspirit.com/ns/types#tag" />  <summary>      Sono felice di annunciarvi il rilascio di   Bazaar  1.0 pre5 .    Il...</summary> <content type="html" xml:base="http://programmiamo.blogspirit.com/"> &lt;p&gt;&lt;img src=&quot;http://programmiamo.blogspirit.com/images/medium_bazaar.2.jpg&quot; alt=&quot;&quot; /&gt;&lt;br /&gt; &lt;br /&gt; Sono felice di annunciarvi il rilascio di &lt;b&gt;&lt;a href=&quot;http://programmiamo.blogspirit.com/archive/2006/01/22/bazaar-un-negozio-online-gratuito.html&quot; target=&quot;_blank&quot;&gt;Bazaar&lt;/a&gt; 1.0 pre5&lt;/b&gt;.&lt;br /&gt; &lt;br /&gt; Il war file (che contiene anche il codice) è possibile scaricarlo da &lt;a href=&quot;http://bazaar.homelinux.net:8080/wiki/Wiki.jsp?page=Download&quot; target=&quot;_blank&quot;&gt;qui&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt; &lt;a href=&quot;http://bazaar.homelinux.net:8080/wiki/Wiki.jsp?page=News&quot; target=&quot;_blank&quot;&gt;Qui&lt;/a&gt; trovate le novità offerte da questa nuova release.&lt;br /&gt; &lt;br /&gt; &lt;a href=&quot;http://bazaar.homelinux.net:8080/bazaar/&quot; target=&quot;_blank&quot;&gt;Qui&lt;/a&gt; potete vedere la demo del prodotto.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Aggiornamento 1 29/3/2006&lt;/b&gt;&lt;br /&gt; Mi scuso per i links non funzionanti. Ho avuto problemi con il dyndns, sistemerò tutto nel pomeriggo.&lt;br /&gt; Scusate per il disagio.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Aggiornamento 2 29/3/2006&lt;/b&gt;&lt;br /&gt; Ora i links dovrebbero funzionare. Mi scuso ancora per il disagio.&amp;nbsp;&lt;/p&gt; </content> </entry>  <entry> <author> <name>Salvatore D'Angelo</name> <uri>http://programmiamo.blogspirit.com/about.html</uri> </author> <title>Pluggability</title> <link rel="alternate" type="text/html" href="http://programmiamo.blogspirit.com/archive/2006/03/24/pluggability.html" />  <id>tag:programmiamo.blogspirit.com,2006-03-24:655519</id> <updated>2006-03-24T15:30:00+01:00</updated> <published>2006-03-24T15:30:00+01:00</published>   <category term="Vari" scheme="http://www.blogspirit.com/ns/types#category" />    <category term="Programmazione" scheme="http://www.blogspirit.com/ns/types#tag" />  <summary> &amp;nbsp;       &amp;nbsp;   Oggi volevo segnalarvi quest' articolo  sui meccanismi...</summary> <content type="html" xml:base="http://programmiamo.blogspirit.com/"> &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style=&quot;text-align: left;&quot;&gt;&lt;img style=&quot;border-width: 0pt; margin: 0.7em 0pt;&quot; alt=&quot;&quot; src=&quot;http://programmiamo.blogspirit.com/images/medium_eclipse.2.jpg&quot; /&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Oggi volevo segnalarvi quest'&lt;a href=&quot;http://www.eclipse.org/articles/Article-Plug-in-architecture/plugin_architecture.html&quot;&gt;articolo&lt;/a&gt; sui meccanismi di pluggability di eclipse che considero molto interessante.&lt;/p&gt; &lt;p&gt;Il discorso è semplice. C'è un core con un set di extension points che espongono determinate interfacce. Chi vuole estendere eclipse descrive il suo plugin attraverso un file XML e implementa gli extension points.&lt;/p&gt; &lt;p&gt;Pubblico quest'articolo perchè in futuro vi illustrerò un'idea su come implementare un'architettura di pluggability per &lt;a href=&quot;http://programmiamo.blogspirit.com/archive/2006/01/22/bazaar-un-negozio-online-gratuito.html&quot;&gt;Bazaar&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Bazaar ha ereditato molto codice da &lt;a href=&quot;http://jspcart.neurospeech.com/&quot;&gt;JSPCart&lt;/a&gt; e implementa per intero un servizio di shopping online, tuttavia sappiamo che le esigenze dei negozianti potrebbero essere le più diverse.&lt;/p&gt; &lt;p&gt;Io oggi mi immagino un futuro Bazaar così organizzato.&lt;/p&gt; &lt;p&gt;&lt;b&gt;CORE&amp;nbsp;&lt;/b&gt;&lt;br /&gt; Il core avrà solo i menù, il layout, la gestione dei temi e la gestione della pluggability.&lt;/p&gt; &lt;p&gt;&lt;b&gt;PLUGIN CATALOGO&amp;nbsp;&lt;/b&gt;&lt;br /&gt; La gestione del catalogo dei prodotti potrebbe essere un plugin che consente all'amministratore di caricare prodotti e ai clienti di visualizzarli.&lt;/p&gt; &lt;p&gt;&lt;b&gt;PLUGIN CARRELLO (dipende da CATALOGO)&lt;/b&gt;&lt;br /&gt; Ci potrebbe essere poi dei negozianti che oltre al catalogo vogliono anche la gestione del carrello, che diventerà un nuovo plugin. Questo servirà ai clienti per eseguire ordini.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;PLUGIN CASSA (dipendente da CARRELLO)&lt;/b&gt;&lt;br /&gt; Ci potrebbero essere dei negozianti che desiderano dare la possibilità ai propri clienti di pagare direttamente online. I vari metodi di pagamento potrebbero essere dei plugin a loro volta.&lt;/p&gt; &lt;p&gt;&lt;b&gt;PLUGIN PRODOTTI PIU' VENDUTI&lt;/b&gt; &lt;b&gt;(dipendente da CARRELLO)&lt;/b&gt;&lt;br /&gt; Un negoziante potrebbe chiedere di visualizzare i 10 prodotti più venduti dal negozio. Anche questo potrebbe essere un plugin.&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;b&gt;NEWS, RSS e BLOG&lt;/b&gt;&lt;br /&gt; Un negoziante potrebbe decidere di pubblicare news, rss o un proprio blog. Anche questo diventa un plugin.&lt;/p&gt; &lt;p&gt;&lt;b&gt;WIZARD ASSEMBLA COMPUTER&lt;/b&gt; &lt;b&gt;(dipende da CATALOGO)&lt;/b&gt;&lt;br /&gt; Un negoziante di computer potrebbe decidere di fornire un wizard che consenta al cliente di assemblarsi un computer velocemente. Ovviamente ci sarà un plugin apposta usato solo da questa categoria di negozianti.&amp;nbsp;&lt;/p&gt; &lt;p&gt;Potrei continuare all'infinito. Penso che il concetto di pluggability (che vale per qualsiasi tipo di applicazione) possa essere un valido tema di discussione per questo blog in futuro.&lt;br /&gt;&lt;/p&gt; </content> </entry>  <entry> <author> <name>Salvatore D'Angelo</name> <uri>http://programmiamo.blogspirit.com/about.html</uri> </author> <title>DAO con classi POJO</title> <link rel="alternate" type="text/html" href="http://programmiamo.blogspirit.com/archive/2006/03/23/dao-con-classi-pojo.html" />  <id>tag:programmiamo.blogspirit.com,2006-03-23:652982</id> <updated>2006-03-23T12:15:00+01:00</updated> <published>2006-03-23T12:15:00+01:00</published>   <category term="Design Patterns" scheme="http://www.blogspirit.com/ns/types#category" />    <category term="Programmazione" scheme="http://www.blogspirit.com/ns/types#tag" />  <summary>     Oggi volevo mostrarvi una mia implementazione del DAO pattern.    Nei...</summary> <content type="html" xml:base="http://programmiamo.blogspirit.com/"> &lt;p&gt;&lt;img style=&quot;border-width: 0pt; margin: 0.7em 0pt;&quot; alt=&quot;&quot; src=&quot;http://programmiamo.blogspirit.com/images/medium_corej2ee.2.jpg&quot; /&gt;&lt;/p&gt; &lt;p&gt;Oggi volevo mostrarvi una mia implementazione del DAO pattern.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Nei post precedenti vi ho fornito alcuni link con la descrizione dei &lt;a href=&quot;http://programmiamo.blogspirit.com/archive/2006/01/17/core-j2ee-patterns.html&quot;&gt;J2EE patterns&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Per aiutarvi a comprendere meglio il pattern DAO, ho pensato che sarebbe stato utile illustrarvi come io l'implemento. Ovviamente non voglio esaurire con questo post tutte le problematiche di persistenza utilizzando l'approccio DAO con classi POJO, ma è una buona base di partenza. In futuro discuteremo estensioni e, magari, anche approcci alternativi.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Come al solito trovate l'articolo nel nostro &lt;a href=&quot;http://programmiamo.pbwiki.com/Persistenza%20con%20DAO&quot;&gt;wiki&lt;/a&gt;.&lt;/p&gt; &lt;br /&gt; &lt;p&gt;&lt;b&gt;Aggiornamento&lt;/b&gt;&lt;br /&gt; Volevo segnalarvi questo tool a pagamento chiamato &lt;a href=&quot;http://www.codefutures.com/products/firestorm/&quot;&gt;Firestorm&lt;/a&gt;. E' un DAO generator che può generare DAO partendo da un database esistente (o definito tramite file xml). Può generare codice per diversi back end: JDBC (molti database), Hibernate, Entity Bean, etc.&lt;/p&gt; &lt;p&gt;Vi consiglio di scaricare la &lt;b&gt;Standard Edition&lt;/b&gt; (se vi interessa JDBC), e provare a fare il reverse engineering di tabelle (max 3 se si usa l'evaluation license) di un database e studiarvi il codice che, secondo me, va sempre adattato alle proprie esigenze.&lt;br /&gt;&lt;/p&gt; </content> </entry>  <entry> <author> <name>Salvatore D'Angelo</name> <uri>http://programmiamo.blogspirit.com/about.html</uri> </author> <title>WYSWYG HTML Editor per i vostri siti web</title> <link rel="alternate" type="text/html" href="http://programmiamo.blogspirit.com/archive/2006/03/21/wyswyg-html-editor-per-i-vostri-siti-web.html" />  <id>tag:programmiamo.blogspirit.com,2006-03-21:647694</id> <updated>2006-03-21T16:10:00+01:00</updated> <published>2006-03-21T16:10:00+01:00</published>   <category term="Programmazione J2EE" scheme="http://www.blogspirit.com/ns/types#category" />    <category term="Programmazione" scheme="http://www.blogspirit.com/ns/types#tag" />  <summary>    In questi ultimi tempi ho ricevuto alcune richeste di hosting di   Bazaar...</summary> <content type="html" xml:base="http://programmiamo.blogspirit.com/"> &lt;div style=&quot;text-align: left;&quot;&gt;&lt;img src=&quot;http://programmiamo.blogspirit.com/images/medium_tinymce.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0pt; margin: 0.7em 0pt;&quot; /&gt;&lt;/div&gt; In questi ultimi tempi ho ricevuto alcune richeste di hosting di &lt;b&gt;&lt;a href=&quot;http://programmiamo.blogspirit.com/archive/2006/01/22/bazaar-un-negozio-online-gratuito.html&quot;&gt;Bazaar&lt;/a&gt;&lt;/b&gt; sul mio server che volentieri effettuo gratuitamente, finchè non si satura la banda. Se anche voi avete amici o parenti che vogliono aprire un negozio online scrivetemi una mail a questo &lt;a href=&quot;mailto:%20koala.gnu@tiscali.it&quot;&gt;indirizzo&lt;/a&gt;. &lt;p&gt;Ogni volta che ricevo una richiesta devo svolgere alcune attività per ora non automatizzate. Il mio obiettivo è quello di deployare l'applicazione e lasciare all'amministratore l'onere di personalizzarlo.&lt;/p&gt; &lt;p&gt;Bazaar è personalizzabile al 95%, l'altro 5% richiede il mio intervento nelle seguenti attività:&lt;/p&gt; &lt;p&gt;- inserire le &lt;a href=&quot;http://bazaar.homelinux.net:8080/mediatek/agreement.do&quot;&gt;condizioni di vendita&lt;/a&gt;;&lt;/p&gt; &lt;p&gt;- inserire i &lt;a href=&quot;http://bazaar.homelinux.net:8080/mediatek/contact.do&quot;&gt;contatti&lt;/a&gt;;&lt;/p&gt; &lt;p&gt;- inserire le &lt;a href=&quot;http://bazaar.homelinux.net:8080/mediatek/about.do&quot;&gt;informazioni del negozio&lt;/a&gt;;&lt;/p&gt; &lt;p&gt;- personalizzazione homepage (con Bazaar-pre5 lo farà l'amministratore);&lt;/p&gt; &lt;p&gt;Ora nella prox release metterò nella fase di amministrazione un pannello di controllo per configurare quelli che sono i parametri del negozio. Tra questi parametri ci sono queste 3 descrizioni.&lt;/p&gt; &lt;p&gt;Ora il testo di queste descrizioni dovrebbe essere formattato (cioè usare grassetto, links, ecc.).&lt;/p&gt; &lt;p&gt;Usando semplici Text Area l'amministratore dovrebbe usare codice HTML per formattare il testo, il che è una pazzia. Perchè un amministratore Bazaar dovrebbe conoscere l'HTML?&lt;/p&gt; &lt;p&gt;Ho pensato, quindi, che nella prox release queste text areas dovevano essere editate attraverso un editor WYSWYG. Mi sono messo alla ricerca e ho trovato questo tool gratuito: &lt;a href=&quot;http://tinymce.moxiecode.com/&quot;&gt;TinyMCE&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;TinyMCE è rilasciato con licenza LGPL, usa javascript ed è altamente configurabile. Io non avrò bisogno di molte funzionalità, mi servirà solo: grassetto, corsivo, sottolineato, font e gestione links.&lt;/p&gt; &lt;p&gt;Non ho ancora provato questo tool, ma promette bene. Appena rilascierò Bazaar-pre5 (a giorni) e mi dedicherò alla nuova versione, ci giocherò un pò e vi farò sapere come è andata.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;PS&lt;/b&gt;&lt;br /&gt; Se conoscete prodotti alternativi non esitatea segnalarmeli.&lt;/p&gt; </content> </entry>  <entry> <author> <name>Salvatore D'Angelo</name> <uri>http://programmiamo.blogspirit.com/about.html</uri> </author> <title>Motori di Ricerca</title> <link rel="alternate" type="text/html" href="http://programmiamo.blogspirit.com/archive/2006/03/20/motori-di-ricerca.html" />  <id>tag:programmiamo.blogspirit.com,2006-03-20:644887</id> <updated>2006-03-20T10:35:00+01:00</updated> <published>2006-03-20T10:35:00+01:00</published>   <category term="Vari" scheme="http://www.blogspirit.com/ns/types#category" />    <category term="Informatica e telefonia" scheme="http://www.blogspirit.com/ns/types#tag" />  <summary> &amp;nbsp;       Ultimamente non riesco a postare messaggi con una frequenza...</summary> <content type="html" xml:base="http://programmiamo.blogspirit.com/"> &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style=&quot;text-align: left;&quot;&gt;&lt;img style=&quot;border-width: 0pt; margin: 0.7em 0pt;&quot; alt=&quot;&quot; src=&quot;http://programmiamo.blogspirit.com/images/medium_google.2.jpg&quot; /&gt;&lt;/div&gt; &lt;div style=&quot;text-align: left;&quot;&gt;Ultimamente non riesco a postare messaggi con una frequenza giornaliera e me ne dispiace. E' un periodo in cui sono molto incasinato.&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Oggi voglio iniziare a parlare di motori di ricerca e per farlo ho pensato bene di introdurre l'argomento parlando di Google.&lt;/p&gt; &lt;p&gt;Tutti noi usiamo google quotidianamente ma forse pochi si sono chiesti come funziona.&lt;br /&gt; &lt;br /&gt; Google è il risultato di anni di ricerca di Sergey Brin e Larry Page che presentarono questo progetto come argomento di tesi alla Università di Stanford in California. Fondamentalemente il motore di ricerca, attraverso dei &lt;a href=&quot;http://www.posizionamento-motori.com/crawler.php&quot;&gt;crawler&lt;/a&gt;, naviga tra i vari link e immagazzina tutte le pagine HTML (e non) che incontra. Dalle pagine sono estratte le singole parole utilizzate poi come indice in fase di ricerca. Se un utente digita un parola è probabile che ci siano milioni di documenti che contengono quella parola, per cui va definita una priorità. Questa priorità viene detta &lt;b&gt;page rank&lt;/b&gt;. In pratica, la priorità di una pagina è funzione della priorità delle pagine che la linkano e quelle da essa linkate. Quindi più una pagina è popolare più ha probabilità di comparire nelle prime posizioni.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Per nostra fortuna su Internet esiste ancora un &lt;a href=&quot;http://www-db.stanford.edu/~backrub/google.html&quot;&gt;documento&lt;/a&gt; dei due ricercatori sul funzionamento di Google. Leggetelo è un'ottima base di partenza.&lt;br /&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;L'algoritmo basato sulla popolarità, però, non fu un'idea dei due ricercatori, bensì' di &lt;a href=&quot;http://www.w3.org/People/Massimo/&quot;&gt;Massimo Marchiori&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Furono gli stessi padri di Google a dirlo quando il loro lavoro fu lanciato nel 1998.&lt;/p&gt; &lt;p&gt;Da questo &lt;a href=&quot;http://www.bazzmann.com/internal.php?codice=56&quot;&gt;documento&lt;/a&gt; estraggo alcune sue affermazioni:&lt;/p&gt; &lt;p&gt;&quot;Larry Page e Sergey Brin hanno preso l'idea iniziale di Hypersearch, hanno considerato la variante &quot;popolare&quot; che io avevo valutato come meno efficace e hanno effettuato in maniera elegante le giuste semplificazioni per renderla usabile su larga scala da un motore di ricerca veloce. E infatti mi hanno citato, correttamente, quando hanno lanciato Google nel 1998&quot;.&lt;/p&gt; &lt;p&gt;&quot;I motori di ricerca del futuro dialogheranno con gli utenti guidandoli nei vari passi della ricerca. Le idee per fare un motore di terza generazione le ho da tempo, anche se al momento preferisco tenerle per me. Il problema sta soprattutto nelle risorse: per dimostrare la bonta' di un motore occorre poi farlo funzionare su scala mondiale, non basta pubblicare l'idea in un articolo. Per esempio, &lt;a href=&quot;http://www.w3.org/People/Massimo/papers/WWW6/&quot;&gt;Hypersearch&lt;/a&gt;, a mio giudizio, e' superiore a Pagerank, eppure quasi nessuno lo conosce, per il semplice motivo che non c'e' un motore di ricerca che mostri la bonta' dell'idea su larga scala. Per competere con Google non bastano solo idee innovative, occorrono mezzi e risorse, e certamente, avendo un po' di risorse, sarebbe una sfida stimolante&quot;.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Attualmente Massimo Marchiori è ricercatore all'università di Venezia e lavora al MIT nel World Wide Web Consortium al fianco dell'inventore del web &lt;a href=&quot;http://it.wikipedia.org/wiki/Tim_Berners-Lee&quot;&gt;Tim Berners-Lee&lt;/a&gt;.&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;PS&lt;/b&gt;&lt;br /&gt; Metto a disposizione le pagine del blog e del wiki di Open Community per chiunque voglia pubblicare articoli sui motori di ricerca oppure piccoli esempi relativi a Hypersearch (di cui sicuramente ci occuperemo in futuro).&lt;br /&gt;&lt;/p&gt; </content> </entry>  <entry> <author> <name>Salvatore D'Angelo</name> <uri>http://programmiamo.blogspirit.com/about.html</uri> </author> <title>Trouts of War step1</title> <link rel="alternate" type="text/html" href="http://programmiamo.blogspirit.com/archive/2006/03/13/trouts-of-war-step1.html" />  <id>tag:programmiamo.blogspirit.com,2006-03-13:628905</id> <updated>2006-03-13T00:10:00+01:00</updated> <published>2006-03-13T00:10:00+01:00</published>   <category term="Game Programming" scheme="http://www.blogspirit.com/ns/types#category" />    <category term="Programmazione" scheme="http://www.blogspirit.com/ns/types#tag" />  <summary>   
Continua la nostra avventura nel fantastico mondo dei videogiochi arcade...</summary> <content type="html" xml:base="http://programmiamo.blogspirit.com/"> &lt;img src=&quot;http://programmiamo.blogspirit.com/images/medium_joystick.2.jpeg&quot; alt=&quot;&quot; style=&quot;border-width: 0pt; margin: 0.7em 0pt;&quot; /&gt;&lt;br /&gt;
Continua la nostra avventura nel fantastico mondo dei videogiochi arcade con lo step 1 di &lt;strong&gt;Trouts of War&lt;/strong&gt;. Definiremo la classe principale del nostro videogioco con alcune funzionalità che di volta in volta andremo ad arricchire. Come al solito trovate l'articolo nel nostro &lt;a href=&quot;http://programmiamo.pbwiki.com/Trouts%20War&quot;&gt;wiki&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Nel prossimo post inizieremo a disegnare la nostra astronave. </content> </entry>  <entry> <author> <name>Salvatore D'Angelo</name> <uri>http://programmiamo.blogspirit.com/about.html</uri> </author> <title>Joomla</title> <link rel="alternate" type="text/html" href="http://programmiamo.blogspirit.com/archive/2006/03/06/joomla.html" />  <id>tag:programmiamo.blogspirit.com,2006-03-07:616096</id> <updated>2006-03-07T00:05:00+01:00</updated> <published>2006-03-07T00:05:00+01:00</published>   <category term="Recensioni" scheme="http://www.blogspirit.com/ns/types#category" />    <category term="Informatica e telefonia" scheme="http://www.blogspirit.com/ns/types#tag" />  <summary>     
La scorsa settimana ho provato un  Content Management System  (CMS)...</summary> <content type="html" xml:base="http://programmiamo.blogspirit.com/"> &lt;div style=&quot;text-align: left&quot;&gt;&lt;img src=&quot;http://programmiamo.blogspirit.com/images/medium_joomla.3.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; margin: 0.7em 0;&quot; /&gt;&lt;/div&gt;&lt;br /&gt;
La scorsa settimana ho provato un &lt;a href=&quot;http://it.wikipedia.org/wiki/Content_Management_System&quot; target=&quot;_blank&quot;&gt;Content Management System&lt;/a&gt; (CMS) molto interessante: &lt;a href=&quot;http://www.joomla.it/&quot; target=&quot;_blank&quot;&gt;Joomla&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Joomla è scritto in PHP e per installarlo basta &lt;a href=&quot;http://httpd.apache.org/&quot; target=&quot;_blank&quot;&gt;apache http server&lt;/a&gt; con il modulo per php e &lt;a href=&quot;http://www.mysql.com/&quot; target=&quot;_blank&quot;&gt;MySQL&lt;/a&gt;. Con Joomla puoi creare facilmente il tuo portale con RSS Feed, News, Blog e molto altro ancora, senza scrivere una riga di codice.&lt;br /&gt;
&lt;br /&gt;
Joomla ha un'architettura che consenta l'aggiunta di nuove funzionalità attraverso &lt;a href=&quot;http://www.joomlahacks.com/component/option,com_remository/Itemid,41/func,select/id,72/&quot; target=&quot;_blank&quot;&gt;plugins&lt;/a&gt;. Tra i vari plugins quello che più mi ha incuriosito è &lt;a href=&quot;http://virtuemart.net/&quot; target=&quot;_blank&quot;&gt;VirtueMart&lt;/a&gt;, un carrello di shopping online veramente potente.&lt;br /&gt;
&lt;br /&gt;
Joomla mette a disposizione anche numerosi &lt;a href=&quot;http://www.joomlahacks.com/joomla/templates/0,0,0,0,6,0,8/&quot; target=&quot;_blank&quot;&gt;templates&lt;/a&gt;, che aiutano a personalizzare il proprio portale.&lt;br /&gt;
&lt;br /&gt;
Vi consiglio caldamente di provare questo prodotto, non ne resterete delusi.&lt;br /&gt;
Buon Divertimento.&lt;br /&gt;
&lt;br /&gt;
PS&lt;br /&gt;
&lt;a href=&quot;http://www.la-grange.net/cms&quot; target=&quot;_blank&quot;&gt;Qui&lt;/a&gt; trovate la lista di altri CMS. </content> </entry>  </feed>