﻿<?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>Sviluppatore, Amministratore e Consulente Informatico</title>
	<atom:link href="http://www.marcobruni.info/it/feed" rel="self" type="application/rss+xml" />
	<link>http://www.marcobruni.info</link>
	<description>Quando una professione è anche una passione</description>
	<lastBuildDate>Wed, 10 Mar 2010 22:48:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP: LA CLASSE PHP PER CREARE URL CORTI TRAMITE LE API DI TINYURL, IS.GD, HEX.IO, TR.IM &amp; BIT.LY</title>
		<link>http://www.marcobruni.info/php-la-classe-php-per-creare-url-corti-tramite-le-api-di-tinyurl-is-gd-hex-io-tr-im-bit-ly.html</link>
		<comments>http://www.marcobruni.info/php-la-classe-php-per-creare-url-corti-tramite-le-api-di-tinyurl-is-gd-hex-io-tr-im-bit-ly.html#comments</comments>
		<pubDate>Wed, 10 Mar 2010 22:38:33 +0000</pubDate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[programmazione]]></category>

		<guid isPermaLink="false">http://www.marcobruni.info/?p=531</guid>
		<description><![CDATA[I Short URL sono comunemente usati oggi per diversi motivi: evitare garbling url,
prendere uno spazio più piccolo soprattutto per le URL lunghe che devono essere inviati a
ad esempio in uno spazio limitato come Twitter, oppure vengono spesso utilizzati anche per nascondere l&#8217;url originale per fare phishing e gli annunci / affiliazione. 
Ci sono molti siti [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.marcobruni.info%2Fphp-la-classe-php-per-creare-url-corti-tramite-le-api-di-tinyurl-is-gd-hex-io-tr-im-bit-ly.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.marcobruni.info%2Fphp-la-classe-php-per-creare-url-corti-tramite-le-api-di-tinyurl-is-gd-hex-io-tr-im-bit-ly.html" height="61" width="51" /></a></div><p>I Short URL sono comunemente usati oggi per diversi motivi: evitare garbling url,<br />
prendere uno spazio più piccolo soprattutto per le URL lunghe che devono essere inviati a<br />
ad esempio in uno spazio limitato come Twitter, oppure vengono spesso utilizzati anche per nascondere l&#8217;url originale per fare phishing e gli annunci / affiliazione. </p>
<p>Ci sono molti siti web che forniscono servizi per accorciare url come tinyurl, bit.ly, hex.io, ho creato questo script PHP per Creare url brevi &#8220;al volo&#8221;, attualmente il supporto: TinyURL, bit.ly, is.gd, tr.im e hex.io, ma si possono facilmente aggiungere altri fornitori.</p>
<p>Se hai delle domande scrivimi un commento oppure scrivimi direttamente tramite la pagina dei contatti.</p>
<p><span class="no_translate"></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> ShortUrl <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> static <span style="color: #000000; font-weight: bold;">function</span> create<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span><span style="color: #000088;">$provider</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'tinyurl'</span><span style="color: #339933;">,</span><span style="color: #000088;">$user</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #000088;">$key</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$api_url</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">api</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$provider</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #000088;">$user</span><span style="color: #339933;">,</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">inspect</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$provider</span><span style="color: #339933;">,</span><span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$api_url</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> static <span style="color: #000000; font-weight: bold;">function</span> execute<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$ch</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">curl_setopt</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_URL<span style="color: #339933;">,</span> <span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">curl_setopt</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_RETURNTRANSFER<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">curl_setopt</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_CONNECTTIMEOUT<span style="color: #339933;">,</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_exec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">curl_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$text</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> static <span style="color: #000000; font-weight: bold;">function</span> inspect<span style="color: #009900;">&#40;</span><span style="color: #000088;">$provider</span><span style="color: #339933;">,</span><span style="color: #000088;">$xml</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$provider</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;bitly&quot;</span><span style="color: #339933;">:</span>
					<span style="color: #000088;">$o</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> SimpleXMLElement<span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #000088;">$o</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">results</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">nodeKeyVal</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">shortUrl</span><span style="color: #339933;">;</span>
					<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;trim&quot;</span><span style="color: #339933;">:</span>
					<span style="color: #000088;">$o</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> SimpleXMLElement<span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #000088;">$o</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">url</span><span style="color: #339933;">;</span>
					<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;isgd&quot;</span><span style="color: #339933;">:</span>
				<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;hexio&quot;</span><span style="color: #339933;">:</span>
				<span style="color: #b1b100;">default</span><span style="color: #339933;">:</span>
					<span style="color: #b1b100;">return</span> <span style="color: #000088;">$xml</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> static <span style="color: #000000; font-weight: bold;">function</span> api<span style="color: #009900;">&#40;</span><span style="color: #000088;">$provider</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$provider</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;bitly&quot;</span><span style="color: #339933;">:</span>
				<span style="color: #000088;">$return</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://api.bit.ly/shorten?version=2.0.1&amp;format=xml&amp;longUrl=<span style="color: #009933; font-weight: bold;">%s</span>&amp;login=<span style="color: #009933; font-weight: bold;">%s</span>&amp;apiKey=<span style="color: #009933; font-weight: bold;">%s</span>&quot;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;isgd&quot;</span><span style="color: #339933;">:</span>
				<span style="color: #000088;">$return</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://is.gd/api.php?longurl=<span style="color: #009933; font-weight: bold;">%s</span>&quot;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;hexio&quot;</span><span style="color: #339933;">:</span>
				<span style="color: #000088;">$return</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://hex.io/api-create.php?url=<span style="color: #009933; font-weight: bold;">%s</span>&quot;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;digg&quot;</span><span style="color: #339933;">:</span>
				<span style="color: #000088;">$return</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://services.digg.com/url/short/create?url=<span style="color: #009933; font-weight: bold;">%s</span>&amp;appkey=<span style="color: #009933; font-weight: bold;">%s</span>&amp;type=xml&quot;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;trim&quot;</span><span style="color: #339933;">:</span>
				<span style="color: #000088;">$return</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://api.tr.im/v1/trim_url.xml?url=<span style="color: #009933; font-weight: bold;">%s</span>&quot;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">default</span><span style="color: #339933;">:</span>
				<span style="color: #000088;">$return</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://tinyurl.com/api-create.php?url=<span style="color: #009933; font-weight: bold;">%s</span>&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$return</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p></span></p>
<p><span class="no_translate"></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'http://www.chazzuka.com/blog/?p=192'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> ShortUrl<span style="color: #339933;">::</span><span style="color: #004000;">create</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'trim'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;hr /&gt;'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> ShortUrl<span style="color: #339933;">::</span><span style="color: #004000;">create</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'tinyurl'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;hr /&gt;'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> ShortUrl<span style="color: #339933;">::</span><span style="color: #004000;">create</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'isgd'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;hr /&gt;'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> ShortUrl<span style="color: #339933;">::</span><span style="color: #004000;">create</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'hexio'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;hr /&gt;'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> ShortUrl<span style="color: #339933;">::</span><span style="color: #004000;">create</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'bitly'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'your_user_name'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'your_api_key'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p></span></p>
<p class="akst_link"><a href="http://www.marcobruni.info/?p=531&amp;akst_action=share-this"  title="Invia il post via mail o salvalo in uno dei servizi di bookmarking sociale..." id="akst_link_531" class="akst_share_link" rel="nofollow">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.marcobruni.info/php-la-classe-php-per-creare-url-corti-tramite-le-api-di-tinyurl-is-gd-hex-io-tr-im-bit-ly.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Shell: Integrare l&#8217; output di ls</title>
		<link>http://www.marcobruni.info/linux-shell-integrare-l-output-di-ls.html</link>
		<comments>http://www.marcobruni.info/linux-shell-integrare-l-output-di-ls.html#comments</comments>
		<pubDate>Tue, 02 Mar 2010 06:34:12 +0000</pubDate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.marcobruni.info/?p=475</guid>
		<description><![CDATA[ls è uno dei comandi base di UNIX, e quindi anche per GNU/Linux, con esso è possibile controllare directories, files, permessi, ecc., il suo output è dettagliato e ben strutturato, ma può anche essere migliorato.
Come?
Provate a mandare in esecuzione:
$ (printf “PERMESSI LINKS PROPRIETARIO GRUPPO DIMENSIONE MESE GIORNO HH:MM PROGRAMMA” ; ls -l &#124; sed 1d) [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.marcobruni.info%2Flinux-shell-integrare-l-output-di-ls.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.marcobruni.info%2Flinux-shell-integrare-l-output-di-ls.html" height="61" width="51" /></a></div><p>ls è uno dei comandi base di UNIX, e quindi anche per GNU/Linux, con esso è possibile controllare directories, files, permessi, ecc., il suo output è dettagliato e ben strutturato, ma può anche essere migliorato.</p>
<p>Come?</p>
<p>Provate a mandare in esecuzione:</p>
<p>$ (printf “PERMESSI LINKS PROPRIETARIO GRUPPO DIMENSIONE MESE GIORNO HH:MM PROGRAMMA” ; ls -l | sed 1d) | column -t</p>
<p>Articoli correlati:<br />
<a href="http://www.marcobruni.info/it/category/linux">http://www.marcobruni.info/it/category/linux</a><br />
<a href="http://www.marcobruni.info/it/category/shell">http://www.marcobruni.info/it/category/shell</a></p>
<p class="akst_link"><a href="http://www.marcobruni.info/?p=475&amp;akst_action=share-this"  title="Invia il post via mail o salvalo in uno dei servizi di bookmarking sociale..." id="akst_link_475" class="akst_share_link" rel="nofollow">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.marcobruni.info/linux-shell-integrare-l-output-di-ls.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quali sono gli errori di programmazione più pericolosi?</title>
		<link>http://www.marcobruni.info/quali-sono-gli-errori-di-programmazione-piu-pericolosi.html</link>
		<comments>http://www.marcobruni.info/quali-sono-gli-errori-di-programmazione-piu-pericolosi.html#comments</comments>
		<pubDate>Fri, 19 Feb 2010 04:22:48 +0000</pubDate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[programmazione]]></category>

		<guid isPermaLink="false">http://www.marcobruni.info/?p=512</guid>
		<description><![CDATA[Così come accaduto lo scorso anno, oltre trenta organizzazioni internazionali che si occupano di sicurezza, si sono sedute attorno ad un tavolo per stilare la lista dei 25 errori di programmazione più pericolosi. Si tratta di &#8220;leggerezze&#8221; che sono considerate particolarmente gravi perché possono esporre le applicazioni sviluppate ad attacchi esterni favorendo, ad esempio, attività [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.marcobruni.info%2Fquali-sono-gli-errori-di-programmazione-piu-pericolosi.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.marcobruni.info%2Fquali-sono-gli-errori-di-programmazione-piu-pericolosi.html" height="61" width="51" /></a></div><p>Così come accaduto lo scorso anno, oltre trenta organizzazioni internazionali che si occupano di sicurezza, si sono sedute attorno ad un tavolo per stilare la lista dei 25 errori di programmazione più pericolosi. Si tratta di &#8220;leggerezze&#8221; che sono considerate particolarmente gravi perché possono esporre le applicazioni sviluppate ad attacchi esterni favorendo, ad esempio, attività criminali e sottrazione di dati.</p>
<p>Il documento che illustra gli errori di programmazione più deleteri è consultabile facendo riferimento <a href="http://cwe.mitre.org/top25/" target="_blank">a questa pagina</a>. Ogni errore è stato commentato, valutato in termini di criticità e suddiviso in categorie.</p>
<p>Nella sezione &#8220;insecure interaction&#8221; sono raccolti gli errori che possono condurre all&#8217;iniezione di codice dannoso, nell&#8217;area &#8220;risky resource management&#8221; sono esposte problematiche di programmazione che possono portare ad attacchi di tipo buffer overflow o risultati non validi mentre nella sezione &#8220;porous defenses&#8221; vengono affrontate le &#8220;falle&#8221; nelle procedure di autenticazione o crittografia.</p>
<p>Per ciascun errore, viene indicata anche la semplicità nell&#8217;individuazione dello stesso, i costi per la risoluzione del problema, la frequenza di attacchi ed il livello di conoscenza generale del problema da parte degli aggressori.</p>
<p>In testa alla classifica, per gravità del problema, ci sono sempre le vulnerabilità che espongono un sito web ad attacchi &#8220;cross-site scripting&#8221; (XSS); al secondo posto la mancata &#8220;pulizia&#8221;, effettuata dal programmatore, delle stringhe ricevute in ingresso dall&#8217;utente ed utilizzate all&#8217;interno delle interrogazioni SQL. Seguono, al terzo e quarto posto, le classiche vulnerabilità di &#8220;buffer overflow&#8221; (la copia di un dato ricevuto in input senza verificarne la corretta dimensione) e le &#8220;cross-site request forgery&#8221; (CSRF).</p>
<p>Appena un paio degli errori descritti nel documento di pubblica consultazione, sarebbero responsabili &#8211; secondo le stime &#8211; di quasi due milioni di attacchi sferrati nei confronti di siti web.</p>
<p class="akst_link"><a href="http://www.marcobruni.info/?p=512&amp;akst_action=share-this"  title="Invia il post via mail o salvalo in uno dei servizi di bookmarking sociale..." id="akst_link_512" class="akst_share_link" rel="nofollow">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.marcobruni.info/quali-sono-gli-errori-di-programmazione-piu-pericolosi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Shell: Cambiare estensione ricorsivamente</title>
		<link>http://www.marcobruni.info/linux-shell-cambiare-estensione-ricorsivamente.html</link>
		<comments>http://www.marcobruni.info/linux-shell-cambiare-estensione-ricorsivamente.html#comments</comments>
		<pubDate>Sat, 30 Jan 2010 10:35:34 +0000</pubDate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.marcobruni.info/?p=482</guid>
		<description><![CDATA[Spesso le foto scaricate dalla fotocamera digitale, hanno estensione .JPG, anziche .jpg, per ovviare al “problema”, basterà eseguire il comando seguente dalla shell:
find /percorso/delle/immagini -name *.JPG -exec rename “s/.JPG/.jpg/g” {} ;
Condividi
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.marcobruni.info%2Flinux-shell-cambiare-estensione-ricorsivamente.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.marcobruni.info%2Flinux-shell-cambiare-estensione-ricorsivamente.html" height="61" width="51" /></a></div><p>Spesso le foto scaricate dalla fotocamera digitale, hanno estensione .JPG, anziche .jpg, per ovviare al “problema”, basterà eseguire il comando seguente dalla shell:</p>
<p><code>find /percorso/delle/immagini -name *.JPG -exec rename “s/.JPG/.jpg/g” {} ;</code></p>
<p class="akst_link"><a href="http://www.marcobruni.info/?p=482&amp;akst_action=share-this"  title="Invia il post via mail o salvalo in uno dei servizi di bookmarking sociale..." id="akst_link_482" class="akst_share_link" rel="nofollow">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.marcobruni.info/linux-shell-cambiare-estensione-ricorsivamente.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Il software per la grafica vettoriale Inkscape arriva alla versione 0.47</title>
		<link>http://www.marcobruni.info/il-software-per-la-grafica-vettoriale-inkscape-arriva-alla-versione-0-47.html</link>
		<comments>http://www.marcobruni.info/il-software-per-la-grafica-vettoriale-inkscape-arriva-alla-versione-0-47.html#comments</comments>
		<pubDate>Sun, 17 Jan 2010 09:06:49 +0000</pubDate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[opensource]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.marcobruni.info/wordpress/?p=78</guid>
		<description><![CDATA[Il software per la grafica vettoriale Inkscape arriva alla versione 0.47]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.marcobruni.info%2Fil-software-per-la-grafica-vettoriale-inkscape-arriva-alla-versione-0-47.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.marcobruni.info%2Fil-software-per-la-grafica-vettoriale-inkscape-arriva-alla-versione-0-47.html" height="61" width="51" /></a></div><p>Il software open source per la grafica vettoriale si aggiorna dopo un anno di intenso sviluppo.<br />
È <a href="http://inkscape.org/" target="_blank">disponibile</a> la versione 0.47 di Inkscape, programma open source di disegno basato sul formato standard Svg (Scalable Vector Graphics), per Windows, Linux e Mac OS X.</p>
<p>Questa versione esce a un anno di distanza da quella precedente e introduce nuove funzioni, come il salvataggio automatico a tempo, il controllo ortografico, l&#8217;esportazione in PostScript e Encapsulated PostScript e un nuovo tipo di curva, Spiro. Inoltre sono stai corretti centinaia di bug e sono state migliorate le prestazioni generali del software.</p>
<p>Per conoscere meglio questo programma leggete la voce di wikipedia: <a href="http://it.wikipedia.org/wiki/Inkscape" target="_blank">http://it.wikipedia.org/wiki/Inkscape</a></p>
<p>Cosa ne pensi?</p>
<p class="akst_link"><a href="http://www.marcobruni.info/?p=78&amp;akst_action=share-this"  title="Invia il post via mail o salvalo in uno dei servizi di bookmarking sociale..." id="akst_link_78" class="akst_share_link" rel="nofollow">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.marcobruni.info/il-software-per-la-grafica-vettoriale-inkscape-arriva-alla-versione-0-47.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Shell: Zippare e spostare</title>
		<link>http://www.marcobruni.info/linux-shell-zippare-e-spostare.html</link>
		<comments>http://www.marcobruni.info/linux-shell-zippare-e-spostare.html#comments</comments>
		<pubDate>Thu, 14 Jan 2010 06:24:26 +0000</pubDate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.marcobruni.info/?p=335</guid>
		<description><![CDATA[Continuiamo ad esplorare il fantastico mondo di Gnu/Linux.
Il comando di oggi, non fa altro che comprimere la directory di lavoro al volo, evidenziando i progressi, e spostandola nella posizione voluta.
tar -cf &#8211; . &#124; pv -s $(du -sb . &#124; awk &#8216;{print $1}&#8217;) &#124; gzip > out.tgz
Ciò che accade è che indichiamo a tar di [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.marcobruni.info%2Flinux-shell-zippare-e-spostare.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.marcobruni.info%2Flinux-shell-zippare-e-spostare.html" height="61" width="51" /></a></div><p>Continuiamo ad esplorare il fantastico mondo di <a href="http://it.wikipedia.org/wiki/Linux" target="_blank">Gnu/Linux</a>.</p>
<p>Il comando di oggi, non fa altro che comprimere la directory di lavoro al volo, evidenziando i progressi, e spostandola nella posizione voluta.</p>
<p>tar -cf &#8211; . | pv -s $(du -sb . | awk &#8216;{print $1}&#8217;) | gzip > out.tgz</p>
<p>Ciò che accade è che indichiamo a tar di creare “-c”, un archivio di tutti i file nella directory corrente “.” (ricorsivamente), stampando l output dei dati verso lo stdout “-f -”, poi andiamo a specificare la dimensione “-s” di tutti i file nella directory corrente, per il comando “pv”, il prossimo passo: du “-sb. | awk? (Print $ 1)?” restituisce il numero di byte della directory corrente, poi zippiamo tutto il contenuto ed inviamo l outpup verso il file “out.tgz”</p>
<p><strong>Articoli correlati:</strong><br />
<a href="http://www.marcobruni.info/it/linux-shell-scompattare-dalla-rete.html">Linux shell: Scompattare dalla rete</a></p>
<p><a href="http://www.marcobruni.info/it/linux-il-meglio-degli-ultimi-10-anni-secondo-ibm-developerworks.html">Linux, il meglio degli ultimi 10 anni secondo IBM developerWorks</a></p>
<p class="akst_link"><a href="http://www.marcobruni.info/?p=335&amp;akst_action=share-this"  title="Invia il post via mail o salvalo in uno dei servizi di bookmarking sociale..." id="akst_link_335" class="akst_share_link" rel="nofollow">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.marcobruni.info/linux-shell-zippare-e-spostare.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programmare in C# nel frameowrk .NET &#8211; parte 01</title>
		<link>http://www.marcobruni.info/programmare-in-c-nel-frameowrk-net-parte-01.html</link>
		<comments>http://www.marcobruni.info/programmare-in-c-nel-frameowrk-net-parte-01.html#comments</comments>
		<pubDate>Wed, 13 Jan 2010 05:30:46 +0000</pubDate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[programmazione]]></category>

		<guid isPermaLink="false">http://www.marcobruni.info/?p=427</guid>
		<description><![CDATA[Che cosa è il C #?
Il C# (si pronuncia &#8220;c sharp&#8221;) è un linguaggio di programmazione object-oriented sviluppato da Microsoft all&#8217;interno dell&#8217;iniziativa .NET, ed è, in un certo senso, il linguaggio che meglio degli altri descrive le linee guida sulle quali ogni programma .NET gira; questo linguaggio è stato infatti creato da Microsoft specificatamente per [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.marcobruni.info%2Fprogrammare-in-c-nel-frameowrk-net-parte-01.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.marcobruni.info%2Fprogrammare-in-c-nel-frameowrk-net-parte-01.html" height="61" width="51" /></a></div><p>Che cosa è il C #?</p>
<p>Il C# (si pronuncia &#8220;c sharp&#8221;) è un linguaggio di programmazione object-oriented sviluppato da Microsoft all&#8217;interno dell&#8217;iniziativa .NET, ed è, in un certo senso, il linguaggio che meglio degli altri descrive le linee guida sulle quali ogni programma .NET gira; questo linguaggio è stato infatti creato da Microsoft specificatamente per la programmazione nel Framework .NET. I suoi tipi di dati &#8220;primitivi&#8221; hanno una corrispondenza univoca con i tipi .NET e molte delle sue astrazioni, come classi, interfacce, delegati ed eccezioni, sono particolarmente adatte a gestire il .NET framework. Leggi il resto nella <a href="http://it.wikipedia.org/wiki/C_sharp" target="_blank">voce di wikipedia</a>.</p>
<p>Vediamo un esempio Hello World / Ciao Mondo:</p>
<pre>
<span class="no_translate">
using System; 

class class HelloWorld
{
    static static void Main()
    {
        Console .WriteLine( "hello world" );
    }
}
</span>
</pre>
<p>Come compilare questo codice! E &#8216;facile, scrivetelo in <a href="http://msdn.microsoft.com/it-it/vstudio/default.aspx" target="_blank">Visual Studio</a> ed eseguite.</p>
<p>Utilizzando il compilatore da riga di comando, un tale programma può essere compilato con la riga di comando dalla finestra DOS con il comando: </p>
<pre>csc helloworld.cs CSC HelloWorld.cs</pre>
<p>Spiego alcune delle righe di codice scritto:</p>
<p><strong>using System;</strong> Riferimenti della direttiva uno spazio dei nomi denominato system che viene fornito da Microsoft. NET Framework, per utilizzare le librerie del Framework.</p>
<p><strong>static static void Main()</strong> è un membro della classe HelloWorld. Essa ha il modificatore static, e quindi è un metodo della classe HelloWorld ed è il punto di ingresso per l&#8217;applicazione.</p>
<p><strong>Console .WriteLine( &#8220;hello world&#8221; );</strong> questa riga scrive sullo schermo di output c&#8221;hello world&#8221;, Console è una classe all&#8217;interno del namespace System, e WriteLine () è un metodo di questa classe per stampare sulla console una frase.</p>
<p><strong>Come scrivere con C #?</strong></p>
<p>C # è un linguaggio, e per utilizzare qualsiasi linguaggio si deve conoscere la sua grammatica. </p>
<p>In primo luogo parliamo dell&#8217;avvio dell&#8217;applicazione (il punto di accesso):</p>
<p>Avvio dell&#8217;applicazione si verifica quando l&#8217;ambiente di esecuzione chiama un metodo designato, che viene indicato come il punto di ingresso. Questo metodo del punto di ingresso è sempre chiamato Main, E può avere uno dei seguenti firme:</p>
<p>static static void Main() {&#8230;} void Main () {&#8230;}</p>
<p>static static void Main( string [] args) {&#8230;} void Main (string [] args) {&#8230;}</p>
<p>static static int Main() {&#8230;} int Main () {&#8230;}</p>
<p>static static int Main( string [] args) {&#8230;} int Main (string [] args) {&#8230;}</p>
<p>Il punto di ingresso può opzionalmente avere un parametro formale. Il parametro può avere qualsiasi nome, ma il tipo del parametro deve essere string [] un vettore string, per capire cosa è un vettore leggete l&#8217;articolo <a href="http://www.marcobruni.info/it/tutorial-java-copiare-un-arrayvettore-in-java.html">Tutorial Java: copiare un array/vettore in Java</a>. Se il parametro formale è presente, l&#8217;ambiente di esecuzione crea e passa un vettore stringa [] argomento contenente la riga di comando gli argomenti che sono stati specificati quando l&#8217;applicazione è stata avviata. Il vettore di parametri stringa [] non è mai nullo, ma può avere una lunghezza pari a zero se gli argomenti della riga di comando non sono stati specificati, C# è un linguaggio orientato agli oggetti è supporta l&#8217;overloading (cioè una classe o una struttura può contenere più definizioni di un metodo, a condizione che ognuno ha una diversa firma), così che l&#8217;applicazione può avere diversi punti di ingresso.</p>
<p>Note:</p>
<p>La firma di un metodo consiste nel nome del metodo e il tipo e la natura (valore di riferimento, o di uscita) di ciascuno dei suoi parametri formali, considerato in ordine da sinistra a destra. La firma di un metodo in particolare non include il tipo di ritorno, né comprende il modificatore di parametri.</p>
<p>L&#8217;ambito di un nome è la regione di testo del programma all&#8217;interno del quale è possibile fare riferimento alle entità dichiarate dal nome senza qualifiche del nome. Ambiti possono essere nidificate, e un campo di applicazione interna può ridichiarare il significato di un nome da un ambito esterno. Il nome dal campo esterno è poi detto di essere nascosto nella regione di testo del programma rientrano nell&#8217;ambito di applicazione interiore, e l&#8217;accesso al nome esterno è possibile solo con il nome di qualificazione.</p>
<p>Esempio A:</p>
<pre>
<span class="no_translate">
class A
{
    int i = 0; 

    void B()
    {
        i = 1;
    } 

    void C()
    {
        i = 2;
    }
}
</span>
</pre>
<p>Lo scope delle variabili è il contesto all’interno del quale esse sono definite.<br />
i ha lo scope nella classe A e nel campo di applicazione ai metodi di B e C.</p>
<p>Esempio B:</p>
<pre>
<span class="no_translate">
class A
{
    int i = 0;

    void B()
    {
        int i = 1;
    } 

    void C()
    {
        i = 2;
    }
}
</span>
</pre>
<p>E&#8217; come l&#8217;esempio precedente ma nel metodo B è nascosta nuova dichiarazione di un membro con lo stesso nome i.</p>
<p>Ogni namespace o spazio dei nomi e il tipo ha un nome pienamente qualificato, che identifica univocamente il namespace o il tipo, tra tutti gli altri. Il nome completo di uno spazio dei nomi o di tipo N è determinato come segue:</p>
<ul>
<li>Se N è un membro del namespace globale, il suo nome completo è N</li>
<li>In caso contrario, il suo nome completo è SN, dove S è il nome completo dello spazio dei nomi o del tipo in cui N è dichiarata</li>
</ul>
<p>Esempio:</p>
<pre>
<span class="no_translate">
class A { }                  // A 

namespace X              // X
{ 

           class B           // XB
           {
                        class C { }         // XBC
            }
            namespace Y               // XY
            {
                        class D { }     // XYD
            } 

} 

namespace X.Y                  // X.Y
{
             class E { }          // X.Y.E 

 }
</span>
</pre>
<p>Ecco l&#8217;esempio da scaricare:<br />
<a href='http://www.marcobruni.info/wp-content/uploads/2010/01/Hello-World.zip'>Hello World &#8211; Esempio della lezione  Programmare in C# nel frameowrk .NET &#8211; parte 01</a></p>
<p>Non vi perdete la prossima puntata che pubblicherò la prossima settimana in cui parleremo dei tipi.</p>
<p><a href="http://www.marcobruni.info/it/tag/programmazione">Articoli correlati</a></p>
<p class="akst_link"><a href="http://www.marcobruni.info/?p=427&amp;akst_action=share-this"  title="Invia il post via mail o salvalo in uno dei servizi di bookmarking sociale..." id="akst_link_427" class="akst_share_link" rel="nofollow">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.marcobruni.info/programmare-in-c-nel-frameowrk-net-parte-01.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nuova pagina dei software</title>
		<link>http://www.marcobruni.info/nuova-pagina-dei-software.html</link>
		<comments>http://www.marcobruni.info/nuova-pagina-dei-software.html#comments</comments>
		<pubDate>Wed, 06 Jan 2010 10:10:38 +0000</pubDate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[programmazione]]></category>

		<guid isPermaLink="false">http://www.marcobruni.info/?p=416</guid>
		<description><![CDATA[Questa mattina ho creato la pagina dei software in cui metterò tutti i programmi di cui parlerò nei miei post come ad esempio Python: come trasformare la rubrica di thunderbird in un semplice elenco di indirizzi mail.
Se vuoi un consiglio oppure un chiarimento contattami.
Condividi
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.marcobruni.info%2Fnuova-pagina-dei-software.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.marcobruni.info%2Fnuova-pagina-dei-software.html" height="61" width="51" /></a></div><p>Questa mattina ho creato la pagina dei software in cui metterò tutti i programmi di cui parlerò nei miei post come ad esempio <a href="http://www.marcobruni.info/it/python-come.html">Python: come trasformare la rubrica di thunderbird in un semplice elenco di indirizzi mail</a>.</p>
<p>Se vuoi un consiglio oppure un chiarimento contattami.</p>
<p class="akst_link"><a href="http://www.marcobruni.info/?p=416&amp;akst_action=share-this"  title="Invia il post via mail o salvalo in uno dei servizi di bookmarking sociale..." id="akst_link_416" class="akst_share_link" rel="nofollow">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.marcobruni.info/nuova-pagina-dei-software.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial Java: copiare un array/vettore in Java</title>
		<link>http://www.marcobruni.info/tutorial-java-copiare-un-arrayvettore-in-java.html</link>
		<comments>http://www.marcobruni.info/tutorial-java-copiare-un-arrayvettore-in-java.html#comments</comments>
		<pubDate>Tue, 05 Jan 2010 04:10:44 +0000</pubDate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[programmazione]]></category>

		<guid isPermaLink="false">http://www.marcobruni.info/wordpress/?p=117</guid>
		<description><![CDATA[Il vettore o array in informatica o matematica si può immaginare come una sorta di casellario, le cui caselle sono dette celle dell&#8217;array stesso, clicca qui per leggere l&#8217;intera voce su wikipedia.
Questo tutorial in Java mostrerà come usare il metodo System.arraycopy() per copiare un vettore/array in java. Il metoto System.arraycopy() permette di copiare un intero [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.marcobruni.info%2Ftutorial-java-copiare-un-arrayvettore-in-java.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.marcobruni.info%2Ftutorial-java-copiare-un-arrayvettore-in-java.html" height="61" width="51" /></a></div><p>Il vettore o array in informatica o matematica si può immaginare come una sorta di casellario, le cui caselle sono dette celle dell&#8217;array stesso, <a href="http://it.wikipedia.org/wiki/Array" target="_blank">clicca qui per leggere l&#8217;intera voce su wikipedia</a>.</p>
<p>Questo tutorial in Java mostrerà come usare il metodo System.arraycopy() per copiare un vettore/array in java. Il metoto System.arraycopy() permette di copiare un intero vettore oppure una parte di esso. </p>
<p>Naturalmente per copiare l&#8217;array, l&#8217;array di destinazione deve avere la stessa grandezza (lo stesso numero di caselle) dell&#8217;array sorgente. </p>
<p>Ecco un esempio con del codice Java:</p>
<p><em><strong>String[] sorgente = { &#8220;gatto&#8221;, &#8220;cane&#8221;, &#8220;uccello&#8221; };</strong>  // Definisco l&#8217;array sorgente con 3 caselle di tipo stringa cioè variabili con del testo</p>
<p><strong>String[] destinazione = new String[sorgente.length];</strong>  // Definisco l&#8217;array di destinazione vuoto e con lunghezza uguale all&#8217;array sorgente ricorda devono avere la stessa lunghezza sorgente e destinatario</p>
<p><strong>System.arraycopy(sorgente , 0,  destinazione , 0, sorgente.length);</strong> // Infine utilizzo il metodo System.arracopy dando come parametri l&#8217;array sorgente, la posizione in cui iniziare a copiare, l&#8217;array di destinazione, la posizione in cui devo mettere la copia e la lunghezza</em></p>
<p>Articolo correlato: <a href="http://www.marcobruni.info/it/java-convertire-una-variabile-di-tipo-string-in-date.html">java: convertire una variabile di tipo String in Date</a></p>
<p>Abbonati ai miei feed RSS: <a href="http://www.marcobruni.info/it/feed">http://www.marcobruni.info/it/feed</a></p>
<p class="akst_link"><a href="http://www.marcobruni.info/?p=117&amp;akst_action=share-this"  title="Invia il post via mail o salvalo in uno dei servizi di bookmarking sociale..." id="akst_link_117" class="akst_share_link" rel="nofollow">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.marcobruni.info/tutorial-java-copiare-un-arrayvettore-in-java.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Python: come trasformare la rubrica di thunderbird in un semplice elenco di indirizzi mail</title>
		<link>http://www.marcobruni.info/python-come.html</link>
		<comments>http://www.marcobruni.info/python-come.html#comments</comments>
		<pubDate>Sat, 02 Jan 2010 05:53:27 +0000</pubDate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[programmazione]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[screencast]]></category>

		<guid isPermaLink="false">http://www.marcobruni.info/?p=304</guid>
		<description><![CDATA[Python è un linguaggio di programmazione ad alto livello interpretato, orientato agli oggetti, adatto, tra gli altri usi, per sviluppare applicazioni distribuite, scripting e computazione numerica.
Considero python un linguaggio di programmazione molto potente e versatile ed è per questo che l&#8217;ho usato per trasformare la rubrica degli indirizzi di posta elettronica di mozilla thunderbird in [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.marcobruni.info%2Fpython-come.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.marcobruni.info%2Fpython-come.html" height="61" width="51" /></a></div><p><a href="http://it.wikipedia.org/wiki/Python" target="_blank">Python</a> è un linguaggio di programmazione ad alto livello interpretato, orientato agli oggetti, adatto, tra gli altri usi, per sviluppare applicazioni distribuite, scripting e computazione numerica.</p>
<p>Considero python un linguaggio di programmazione molto potente e versatile ed è per questo che l&#8217;ho usato per trasformare la rubrica degli indirizzi di posta elettronica di <a href="http://it.wikipedia.org/wiki/Mozilla_Thunderbird" target="_blank">mozilla thunderbird</a> in un elenco usabile in una <a href="http://it.wikipedia.org/wiki/Newsletter"  target="_blank">newsletter</a>. </p>
<p>Ecco il mio primo <a href="http://it.wikipedia.org/wiki/Screencast" target="_blank">screencast</a> del mio blog così puoi capire meglio di cosa parlo, cliccate sul bottone a forma di quadrato in basso a destra del video a sinistra del volume per vederlo a tutto schermo&#8230;Buona Visione e dimmi cosa ne pensi.</p>
<p><img src="http://www.marcobruni.info/wp-content/plugins/flash-video-player/default_video_player.gif" /></p>
<p class="akst_link"><a href="http://www.marcobruni.info/?p=304&amp;akst_action=share-this"  title="Invia il post via mail o salvalo in uno dei servizi di bookmarking sociale..." id="akst_link_304" class="akst_share_link" rel="nofollow">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.marcobruni.info/python-come.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
