<?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>BASIC TRADING MULTIMEDIA &#187; Fragments</title>
	<atom:link href="http://www.basictrading.biz/tag/fragments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.basictrading.biz</link>
	<description>Information Technology and Design</description>
	<lastBuildDate>Fri, 30 Jul 2010 14:38:29 +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>SQLite in Ruby on Rails su OSX</title>
		<link>http://www.basictrading.biz/2008/02/sqlite-in-ruby-on-rails-su-osx/</link>
		<comments>http://www.basictrading.biz/2008/02/sqlite-in-ruby-on-rails-su-osx/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 17:25:20 +0000</pubDate>
		<dc:creator>Matteo Papadopoulos</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Fragments]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[RoR]]></category>
		<category><![CDATA[sqlite]]></category>

		<guid isPermaLink="false">http://www.basictrading.biz/2008/02/08/sqlite-in-ruby-on-rails-su-osx/</guid>
		<description><![CDATA[Oggi il mio primo esperimento con SQLite su un progetto rails. Va oremesso che spulciando documentazione ho visto che SQLite sarà integrato come database di default per rails mettendo mysql come scelta opzionale. Per prima cosa è necessario installare la gemma sqlite3 sudo gem install sqlite3-ruby Poi si deve configurare il proprio file database.yml development: <a href="http://www.basictrading.biz/2008/02/sqlite-in-ruby-on-rails-su-osx/">Read More</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sqlite.org/index.html"><img src="http://www.sqlite.org/images/SQLite.gif" class="logo" alt="SQLite Logo" border="0" /></a></p>
<p>Oggi il mio primo esperimento con SQLite su un progetto rails. Va oremesso che spulciando documentazione ho visto che SQLite sarà integrato come database di default per rails mettendo mysql come scelta opzionale.<br />
Per prima cosa è necessario installare la gemma sqlite3</p>
<blockquote>
<pre> sudo gem install sqlite3-ruby</pre>
</blockquote>
<p>Poi si deve configurare il proprio file database.yml</p>
<pre>development:</pre>
<pre>  adapter: sqlite3</pre>
<pre>  dbfile: dev.db</pre>
<pre>
test:</pre>
<pre>  adapter: sqlite</pre>
<pre>  dbfile: test.db</pre>
<pre>
production:</pre>
<pre>  adapter: sqlite</pre>
<pre>  dbfile: prod.db</pre>
<p>A questo punto basta sotto lib/task/ un rake db.rake tipo questo:</p>
<pre>namespace :db do</pre>
<pre>  desc 'Inserire i dati default'</pre>
<pre>  task :install =&gt; [:environment, 'db:migrate'] do |t|</pre>
<pre>    sDbPath = "#{ ENV['RAILS_ROOT'] }/db"</pre>
<pre>    h = YAML.load_file("#{ ENV['RAILS_ROOT'] }/config/database.yml")</pre>
<pre>    hConnection = h[ENV['RAILS_ENV']]</pre>
<pre>
     puts "-----"</pre>
<pre>     puts "eseguo sqlite3 ..."</pre>
<pre>    `sqlite3 -echo '#{ sDbPath }/#{ hConnection['dbfile'] }' &lt; '#{ sDbPath }/i_miei_dati.sql'`</pre>
<pre>  end</pre>
<pre>end</pre>
<p>Semplice, efficace, veloce!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basictrading.biz/2008/02/sqlite-in-ruby-on-rails-su-osx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails: dynamic constant assignment</title>
		<link>http://www.basictrading.biz/2008/01/rails-dynamic-constant-assignment/</link>
		<comments>http://www.basictrading.biz/2008/01/rails-dynamic-constant-assignment/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 09:38:19 +0000</pubDate>
		<dc:creator>Matteo Papadopoulos</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[Fragments]]></category>

		<guid isPermaLink="false">http://www.basictrading.biz/2008/01/19/rails-dynamic-constant-assignment/</guid>
		<description><![CDATA[I&#8217;ve got an error  yesterday night that made me loose some time&#8230; &#60;% @myObjects.each{&#124;T&#124; -%&#62; &#60;div&#62;&#60;%= T.name %&#62;&#60;/div&#62; &#60;% end -%&#62; This returns a compile error &#8220;dynamic constant assignment&#8221; I disovered that Rails does expect lowercase names attributes so my T was incorrect Same code lowercase does works&#8230; &#60;% @myObjects.each{&#124;t&#124; -%&#62; &#60;div&#62;&#60;%= t.name %&#62;&#60;/div&#62; &#60;% <a href="http://www.basictrading.biz/2008/01/rails-dynamic-constant-assignment/">Read More</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got an error  yesterday night that made me loose some time&#8230;</p>
<pre>&lt;% @myObjects.each{|T| -%&gt;
    &lt;div&gt;&lt;%= T.name %&gt;&lt;/div&gt;
&lt;% end -%&gt;</pre>
<p>This returns a compile error &#8220;dynamic constant assignment&#8221;<br />
I disovered that Rails does expect lowercase names attributes so my T was incorrect</p>
<p>Same code lowercase does works&#8230;</p>
<pre>&lt;% @myObjects.each{|t| -%&gt;</pre>
<pre>	&lt;div&gt;&lt;%= t.name %&gt;&lt;/div&gt;
 &lt;% end -%&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.basictrading.biz/2008/01/rails-dynamic-constant-assignment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YAML esempi base</title>
		<link>http://www.basictrading.biz/2007/07/yaml-esempi-base/</link>
		<comments>http://www.basictrading.biz/2007/07/yaml-esempi-base/#comments</comments>
		<pubDate>Fri, 06 Jul 2007 16:41:11 +0000</pubDate>
		<dc:creator>Matteo Papadopoulos</dc:creator>
				<category><![CDATA[Fragments]]></category>

		<guid isPermaLink="false">http://basictrading.biz/?p=67</guid>
		<description><![CDATA[Elenco qui alcuni esempi elementari che mi sono stati utili per comprendere meglio la sintassi di YAML. Più lo uso e più mi piace, è semplice, diretto e intuitivo. Lo uso anche, in maniera abbastanza anturale, quando prendo appunti su qualcosa che non necessariamente è informatico! Nei miei esperimenti in un paio di lavoretti minori <a href="http://www.basictrading.biz/2007/07/yaml-esempi-base/">Read More</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.zefhemel.com/upload/lg-geek-front.jpg" /><br />
Elenco qui alcuni esempi elementari che mi sono stati utili per comprendere meglio la sintassi di YAML.<br />
Più lo uso e più mi piace, è semplice, diretto e intuitivo. Lo uso anche, in maniera abbastanza anturale, quando prendo appunti su qualcosa che non necessariamente è informatico!</p>
<p>Nei miei esperimenti in un paio di lavoretti minori che realizzo in php, sto usando YAML come base dati o configurazione. La libreria (<a href="http://spyc.sourceforge.net/">SPYC</a>) che uso è semplice e comoda.</p>
<p>E ricordate: NIENTE TAB, usate SPAZI e la formattazione è tutto!</p>
<p>Commenti</p>
<pre>--- # Un commento,      un commento in YAML comincia con il cancelletto
#Di seguito una semplice lista (Array)

- Matteo
- Marco
- Elisa</pre>
<p>Array</p>
<pre>--- # Array,        una lista può essere sviluppata tra parentesi quadre
# delimitando i valori con virgola e spazio

[milk, pumpkin pie, eggs, juice]</pre>
<p>Hashes o Array associativi</p>
<pre>--- # Un blocco di un array è composto da chiave: valore

nome: John Smith
anno: 1973

--- # Sviluppandolo in linea

{nome: John Smith, anno: 1973}</pre>
<p>Testo</p>
<pre>--- |  Un testo per essere messo
  su più righe, come un unico blocco
  non interpretato, comincia nella sua prima righa con
  una "pipe" (|)</pre>
<p>Oppure</p>
<pre>--- &gt;  Questo lo
  possiamo considerare
  un paragrafo.

  Una linea vuota delinea
  un nuovo paragrafo</pre>
<p>Un Array di Array</p>
<pre># In questo esempio abbiamo un Array di persone
# con due soggetti di cui sappiamo nome ed età:

- {name: John Smith, age: 33}
- name: Mary Smith
  age: 27</pre>
<p>Oppure un Array di liste che ha come chiave il sesso (men e woman)</p>
<pre>men: [John Smith, Bill Jones]
women:
  - Mary Smith
  - Susan Williams</pre>
<p>facile facile!<br />
comodo comodo!<br />
(<a href="http://www.zefhemel.com/archives/2004/10/30/yaml-because-xml-is-for-wussies">l&#8217;articolo da cui la maglietta!</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basictrading.biz/2007/07/yaml-esempi-base/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A tutto YAML!</title>
		<link>http://www.basictrading.biz/2007/03/a-tutto-yaml/</link>
		<comments>http://www.basictrading.biz/2007/03/a-tutto-yaml/#comments</comments>
		<pubDate>Fri, 30 Mar 2007 16:29:02 +0000</pubDate>
		<dc:creator>Matteo Papadopoulos</dc:creator>
				<category><![CDATA[Fragments]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://basictrading.biz/?p=102</guid>
		<description><![CDATA[Ho da poco scoperto YAML. E devo dire che mi piace veramente un sacco!Bene, cosa è Yaml? E&#8217; la versione umanamente leggibile di un XML. Svolge la stessa funzione: organizzare dei dati in un file di testo. Da wikipedia la definizione esatta è: YAML is a recursive acronym for &#8220;YAML Ain&#8217;t Markup Language&#8221;. YAML is <a href="http://www.basictrading.biz/2007/03/a-tutto-yaml/">Read More</a>]]></description>
			<content:encoded><![CDATA[<p>Ho da poco scoperto YAML. E devo dire che mi piace veramente un sacco!<br />Bene, cosa è Yaml? E&#8217; la versione umanamente leggibile di un XML. Svolge la stessa funzione: organizzare dei dati in un file di testo.</p>
<p>Da <a href="http://en.wikipedia.org/wiki/YAML">wikipedia</a> la definizione esatta è:<br />
<blockquote><font size="-1">YAML is a recursive acronym for &#8220;YAML Ain&#8217;t Markup Language&#8221;. YAML is a data serialization language that takes concepts from languages such as XML, C, Python, and Perl, as well as the format for electronic mail as specified by RFC 2822. YAML was first proposed by Clark Evans, and implemented by himself, Brian Ingerson and Oren Ben-Kiki.</font><font color="#008000"></font></p></blockquote>
<p>Beh, oggi ho avuto necessità, per semplificare la vita ad un cliente, di usare YAML in un piccolo progetto web fatto in php e ho trovato una libreria che mi risulta molto comoda e quindi perchè non segnalarla!</p>
<p>http://spyc.sourceforge.net/</p>
<p>Interpreta in una riga di definizione della classe, i nostri file YAML.</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.basictrading.biz/2007/03/a-tutto-yaml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Esempi pratici di MySql</title>
		<link>http://www.basictrading.biz/2006/07/esempi-pratici-di-mysql/</link>
		<comments>http://www.basictrading.biz/2006/07/esempi-pratici-di-mysql/#comments</comments>
		<pubDate>Tue, 04 Jul 2006 08:55:57 +0000</pubDate>
		<dc:creator>Matteo Papadopoulos</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Fragments]]></category>

		<guid isPermaLink="false">http://basictrading.biz/?p=71</guid>
		<description><![CDATA[Ieri, in occasione di una goirnata di formazione con Joe Yates, ho preso un po&#8217; di appunti sull&#8217;utilizzo base di MySql che magari possono risultare utili a chi si approccia a questo DB per la prima volta. E&#8217; stato immaginato di dover creare un database di Film. Questo non vuole essere un tutorial; sono dei <a href="http://www.basictrading.biz/2006/07/esempi-pratici-di-mysql/">Read More</a>]]></description>
			<content:encoded><![CDATA[<p>Ieri, in occasione di una goirnata di formazione con Joe Yates, ho preso un po&#8217; di appunti sull&#8217;utilizzo base di MySql che magari possono risultare utili a chi si approccia a questo DB per la prima volta. E&#8217; stato immaginato di dover creare un database di Film. Questo non vuole essere un tutorial; sono dei semplici appunti.</p>
<p>Le prove sono state fatte su una distribuzione live (Knoppix 5.0); in questo caso è stato necessario avviare il demone come utente &#8220;sudo -s&#8221;:</p>
<pre>/usr/sbin/mysqld &#038;</pre>
<p>#1 l&#8217;elenco dei comandi</p>
<pre>help</pre>
<pre>/h</pre>
<p>#2 elenco dei database presenti sulla macchina</p>
<pre>show databases</pre>
<p>#3 creare un database</p>
<pre>create database films;</pre>
<p>#4 selezionare il database</p>
<pre>use films u films</pre>
<p>#5 creare tabelle (nome colonna &#8211; tipo di dato)</p>
<pre>CREATE [nome tabella] ([nome campo] [tipo], [nome campo] [tipo], primary key([campo]));</pre>
<pre>CREATE films (titolo text, anno int); CREATE TABLE registi (id int auto_increment, nome text, cognome text, primary key(id));</pre>
<p>il tipo di dato serve a definire che tipo di valore il db si aspetta nella query<br />
può essere un campo testuale, o numerico, o binario ecc<br />
auto_increment genera un campo progressvo<br />
primary key(id) è il campo primario che non è duplicabile e viene controllato direttamente dal sistema.</p>
<p>text (si aspetta un testo lungo)<br />
int (si aspetta un numero)</p>
<p>#6 elenco delle tabelle (se il db è stato precedentemente selzionato nel punto 4)</p>
<pre>show tables</pre>
<p>#7 per inserire un dato nella tabella</p>
<pre>INSERT INTO [tabella] VALUES ([valore colonna 1], [valore colonna 2]);</pre>
<pre>INSERT INTO [tabella] (colonna3, colonna2, colonna1) VALUES ([valore colonna 3], [valore colonna 2], [valore colonna 1]);</pre>
<pre>INSERT INTO films VALUES ('pupl fiction', '1994');</pre>
<p>se si inserisce una riga senza valori es: insert into films values ();<br />
di default vengono inseriti tutti NULL<br />
NULL non è uno zero e non è nemmeno un campo vuoto del tipo &#8221;<br />
NULL è un valore particolare che vale NULL<br />
Questo vale nei sistemi &#8220;seri&#8221; tipo postgres, oracle ecc. Mysql converte una stringa vuota &#8221; in NULL</p>
<p># Se è settato una primary key e un autoincrement non è necessario indicare l&#8217;id nell&#8217;insert</p>
<pre>mysql> INSERT INTO registi (nome, cognome) VALUES ('alfred', 'hitchcok');</pre>
<p>in questo caso l&#8217;id è asseganto dal sistema am devo indicare quali campi corrispondono ai valori.#8 per visualizzare i record inseriti</p>
<pre>SELECT * FROM films;</pre>
<p>#9 per eliminare una tabella o un db</p>
<pre>DROP table films; DROP database films;</pre>
<p>#10 per cancellare record</p>
<pre>DELETE FROM [tabella] WHERE [campo]=[valore]; DELETE FROM films WHERE anno=1994; DELETE FROM films WHERE anno is NULL;</pre>
<p>#11 modificare i record</p>
<pre>UPDATE [tabella] SET [campo]='[valore]' WHERE [campo]=[valore]; update regiti set nome='albert' where id=1;</pre>
<p>#12 sapere quale è il massimo valore, tipo per l&#8217;id</p>
<pre>mysql> SELECT max(id) FROM films;</pre>
<pre>+---------+</pre>
<pre>| max(id) |</pre>
<pre>+---------+</pre>
<pre>|       1 |</pre>
<pre>+---------+</pre>
<p>Questo sistema può creare &#8220;atonicità&#8221; negli inserimenti. Non c&#8217;è garanzia di ribeccare ciò che hai inserito nel caso che due query agiscono in maniera contemporanea. La cosa si risolve in altri sistemi con le &#8220;stored procedure&#8221;.</p>
<p># FOREGIN VALUES<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
# Abbiamo due tabelle, films e registi</p>
<pre>mysql> SELECT * FROM films;</pre>
<pre>+------+------------+---------+------+</pre>
<pre>| id   | id_regista | titolo  | anno |</pre>
<pre>+------+------------+---------+------+</pre>
<pre>|    1 |          1 | le iene | 2004 |</pre>
<pre>+------+------------+---------+------+</pre>
<pre>mysql> SELECT * FROM films;</pre>
<pre>+------+------------+---------+------+</pre>
<pre>| id   | id_regista | titolo  | anno |</pre>
<pre>+------+------------+---------+------+</pre>
<pre>|    1 |          1 | le iene | 2004 |</pre>
<pre>+------+------------+---------+------+</pre>
<p># rendiamo collegate due tabelle;</p>
<pre>SELECT * FROM [tabella] INNER JOIN [tabella2] ON [tabella1].[colonna]=[tabella2].[valore];</pre>
<p>seleziona tutto dalla tabella films fai unione interna a registi in cui film.regista è uguale a registi.id</p>
<pre>mysql> select * FROM films INNER JOIN registi ON films.id_regista=registi.id;</pre>
<pre>+------+------------+---------+------+------+---------+-----------+</pre>
<pre>| id   | id_regista | titolo  | anno | id   | nome    | cognome   |</pre>
<pre>+------+------------+---------+------+------+---------+-----------+</pre>
<pre>|    1 |          1 | le iene | 2004 |    1 | quentin | tarantino |</pre>
<pre>+------+------------+---------+------+------+---------+-----------+</pre>
<p>#per evitare al riondanza di campi e flusso dati</p>
<pre>mysql> SELECT films.id, films.id_regista, films.titolo, registi.nome, registi.cognome FROM films INNER JOIN registi ON films.id_regista=registi.id;</pre>
<pre>+------+------------+---------+---------+-----------+</pre>
<pre>| id   | id_regista | titolo  | nome    | cognome   |</pre>
<pre>+------+------------+---------+---------+-----------+</pre>
<pre>|    1 |          1 | le iene | quentin | tarantino |</pre>
<pre>+------+------------+---------+---------+-----------+</pre>
<p># oppure, dato che mysql seleziona le colonne se sono univoche tra 2 tabelle</p>
<pre>mysql> SELECT films.id, id_regista, titolo, nome, cognome FROM films INNER JOIN registi ON films.id_regista=registi.id;</pre>
<pre>+------+------------+---------+---------+-----------+</pre>
<pre>| id   | id_regista | titolo  | nome    | cognome   |</pre>
<pre>+------+------------+---------+---------+-----------+</pre>
<pre>|    1 |          1 | le iene | quentin | tarantino |</pre>
<pre>+------+------------+---------+---------+-----------+</pre>
<p>#possiamo fare selezioni con una determinata condizione. In questo caso vogliamo i film dell&#8217;anno 2004</p>
<pre>mysql> SELECT films.id, id_regista, titolo,anno, nome, cognome FROM films INNER JOIN registi ON films.id_regista=registi.id WHERE anno=2004;</pre>
<pre>+------+------------+---------+------+--------+-----------+</pre>
<pre>| id   | id_regista | titolo  | anno | nome   | cognome   |</pre>
<pre>+------+------------+---------+------+--------+-----------+</pre>
<pre>|    1 |          1 | le iene | 2004 | albert | tarantino |</pre>
<pre>+------+------------+---------+------+--------+-----------+</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.basictrading.biz/2006/07/esempi-pratici-di-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nuova utility per il debug</title>
		<link>http://www.basictrading.biz/2005/11/nuova-utility-per-il-debug/</link>
		<comments>http://www.basictrading.biz/2005/11/nuova-utility-per-il-debug/#comments</comments>
		<pubDate>Sat, 19 Nov 2005 01:05:50 +0000</pubDate>
		<dc:creator>Matteo Papadopoulos</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Fragments]]></category>
		<category><![CDATA[Software Libero]]></category>

		<guid isPermaLink="false">http://basictrading.biz/?p=45</guid>
		<description><![CDATA[Ho realizzato oggi questa piccola utility ispirandomi a ciò che ho visto realizzare tempo fa fare a Joe Yates E&#8217; uno strumento utile a chi sviluppa siti o applicativi web in php e cha ha bisogno spesso di vedere le variabili d&#8217;ambiente stampate in modo leggibile senza perdere però la formattazione della propria pagina e <a href="http://www.basictrading.biz/2005/11/nuova-utility-per-il-debug/">Read More</a>]]></description>
			<content:encoded><![CDATA[<p><a href='http://basictrading.biz/multimedia/download/pr8/pr8debug.screenshot003.jpg' rel="lightbox[45]"><img src='http://basictrading.biz/multimedia/imageSnag/50.png' style='float: left; margin: 5px; border: 0px solid black;' class='lr2ImageSnag' alt='clicca per vedere originale'/></a><br />
Ho realizzato oggi questa piccola utility ispirandomi a ciò che ho visto realizzare tempo fa fare a Joe Yates</p>
<p>E&#8217; uno strumento utile a chi sviluppa siti o applicativi web in php e cha ha bisogno spesso di vedere le variabili d&#8217;ambiente stampate in modo leggibile senza perdere però la formattazione della propria pagina e senza dover scrivere e commentare in continuazione righe di codice.</p>
<p>Leggi i dettagli sulla <a href="http://basictrading.biz/multimedia/pr8debug/">pagina del progetto</a> oppure guarda subito la <a href="http://basictrading.biz/multimedia/download/pr8/pr8debugDemo.php?domanda=da%20dove%20vieni?&#038;risposta=dalla%20pagina%20di%20pr8demo">demo</a>!</p>
<p>Ho deciso di rendere pubblica questa utility perchè può essere comoda per molti, perchè la voglio implementare piano piano con molte nuove funzionalità ecc. L&#8217;applicativo è rilasciato sotto licenza GPL e ogni contributo al suo sviluppo è ben accetto! Anche solo dei suggerimenti di cose che possono sembrarvi utili.</p>
<p>Il prossimo passo è quello di aggiungerci il DOM JavaScript degli elementi!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basictrading.biz/2005/11/nuova-utility-per-il-debug/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash8, matrix</title>
		<link>http://www.basictrading.biz/2005/11/flash8-matrix/</link>
		<comments>http://www.basictrading.biz/2005/11/flash8-matrix/#comments</comments>
		<pubDate>Fri, 11 Nov 2005 21:10:47 +0000</pubDate>
		<dc:creator>Matteo Papadopoulos</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[Fragments]]></category>

		<guid isPermaLink="false">http://basictrading.biz/?p=37</guid>
		<description><![CDATA[Mi è capitato di imabttermi nella nuova libreria integrata nel nuovo flash 8: la libreria matrix. Esigenza: deformare un rettangolo via codice in maniera da allungarlo e distorcerlo (skew) lungo la sua asse X. Capire la matrice non è proprio la cosa più elementare ma grazie al prezioso aiuto trovato sul sito &#8220;senocular&#8221; sono riuscito <a href="http://www.basictrading.biz/2005/11/flash8-matrix/">Read More</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.senocular.com/flash/tutorials/transformmatrix/images/m_examples.gif" style="float: left"/><br />
Mi è capitato di imabttermi nella nuova libreria integrata nel nuovo flash 8: la libreria matrix.</p>
<p>Esigenza: deformare un rettangolo via codice in maniera da allungarlo e distorcerlo (skew) lungo la sua asse X.<br />
Capire la matrice non è proprio la cosa più elementare ma grazie al prezioso aiuto trovato sul sito <a href="http://www.senocular.com/flash/tutorials/transformmatrix/">&#8220;senocular&#8221;</a> sono riuscito a compiere quanto mi serviva!</p>
<p>vediamo un po&#8217; i passi da fare:</p>
<p><span id="more-37"></span><br />
per prima cosa vanno importate le librerie necessarie</p>
<p><code>import flash.geom.Transform;<br />
import flash.geom.Matrix;</code></p>
<p>Supponendo che mc sia il nostro MovieClip da deformare, istanziamo il nostro oggetto:</p>
<p><code>var trans:Transform=new Transform(mc);</code></p>
<p>Adesso ammettiamo che abbiamo un valore W che cambia (che equivale ai pixel di larghezza desiderata per il nostro oggetto). Supponiamo inoltre che vogliamo inclinare il nostro oggetto di 45 gradi verso destra.<br />
I valori da passare a matrix devono essere tra 0 e 2. quindi è necessario trasformare gli interi in numeri con virgola; si notera come a diventi cosi da 195 a 1,95 e che i gradi di inclinazione, il III parametro, sia -0,45:</p>
<p><code>var a:Number=W*0.1;<br />
var skewM:Matrix=new Matrix(a,0,-0.45,1,0,0);</code></p>
<p>Adesso cerchiamo di capire a cosa corrispondono tutti quei numerini!!!<br />
Vediamoli nell&#8217;ordine (a,b,c,d,tx,ty)</p>
<p>a &#8211; x scale<br />
b &#8211; y skew<br />
c &#8211; x skew<br />
d &#8211; y scale<br />
tx &#8211; x translation (position)<br />
ty &#8211; y translation (position)</p>
<p>Esistono varie funzioni già impostate come matrix.scale(); e altre ma sinceramente mi hanno più confuso che altro perchè vanno a modificare solo alcuni valori di questi 6. Ho preferito modificare tutto in un&#8217;unica stringa!</p>
<p>Per capire meglio e a fondo la matrice utilizzata da Flash consiglio vivamente di visitare il sito <a href="http://www.senocular.com/flash/tutorials/transformmatrix/">http://www.senocular.com/flash/tutorials/transformmatrix/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.basictrading.biz/2005/11/flash8-matrix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Notice</title>
		<link>http://www.basictrading.biz/2005/11/php-notice/</link>
		<comments>http://www.basictrading.biz/2005/11/php-notice/#comments</comments>
		<pubDate>Wed, 02 Nov 2005 11:57:52 +0000</pubDate>
		<dc:creator>Matteo Papadopoulos</dc:creator>
				<category><![CDATA[Fragments]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://basictrading.biz/?p=27</guid>
		<description><![CDATA[Scrivendo codice php può capitare di imbattersi in un messaggio di sistema che ci arriva direttamente dal php, del tipo: Notice: Undefined index: action in [vostro url] on line 5 Solitamente si verificano quando si richiama una variabile che non esiste o una chiave di array che non c&#8217;è. Sarebbe buona norma riuscire a fare <a href="http://www.basictrading.biz/2005/11/php-notice/">Read More</a>]]></description>
			<content:encoded><![CDATA[<p>Scrivendo codice php può capitare di imbattersi in un messaggio di sistema che ci arriva direttamente dal php, del tipo:</p>
<p><code>Notice: Undefined index: action in [vostro url] on line 5</code></p>
<p>Solitamente si verificano quando si richiama una variabile che non esiste o una chiave di array che non c&#8217;è.<br />
Sarebbe buona norma riuscire a fare codice &#8220;notice free&#8221; ma questo richiede molta cura e attenzione. Ci sono allora vari sistemi per disabilitare questi messaggi:</p>
<p>- controllando l&#8217;esistenza della chiave prima di accedervi (usando isset($variabile[$chiave]) o sistemi alternativi);</p>
<p>- richiamando la funzione error_reporting(E_ALL ^ E_NOTICE) (solitamente<br />
all&#8217;inizio del proprio script);</p>
<p>- impostando error_reporting = E_ALL &#038; ~E_NOTICE nel php.ini (occhio che<br />
questa modifica influenza TUTTI i tuoi script);</p>
<p>Se proprio non posso evitare l&#8217;errore, piuttosto che modificare il php.ini preferisco inserire nella pagina dello script:</p>
<p><code>error_reporting(E_ALL ^ E_NOTICE);</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.basictrading.biz/2005/11/php-notice/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
