<?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>Toca Digital</title>
	<atom:link href="http://www.tocadigital.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tocadigital.com.br</link>
	<description>Criação de sites dinâmicos</description>
	<lastBuildDate>Sat, 28 Apr 2012 03:03:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Programação orientada a objetos (POO) &#8211; Herança e Abstração</title>
		<link>http://www.tocadigital.com.br/2012/04/programacao-orientada-a-objetos-poo-heranca-e-abstracao/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=programacao-orientada-a-objetos-poo-heranca-e-abstracao</link>
		<comments>http://www.tocadigital.com.br/2012/04/programacao-orientada-a-objetos-poo-heranca-e-abstracao/#comments</comments>
		<pubDate>Sat, 28 Apr 2012 02:58:34 +0000</pubDate>
		<dc:creator>Ivan</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Dicas e Códigos]]></category>

		<guid isPermaLink="false">http://www.tocadigital.com.br/?p=527</guid>
		<description><![CDATA[Se vc é um programador mas ainda não se deparou ou ainda está caminhando na programação, provavelmente vai ter que esbarrar neste assunto, afinal, um bom programador sabe bem e conhece a capacidade de trabalhar com a programação orientada, pois além de facilitar a vida na reimplementação de sistemas, ela também ajuda na organização e]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Se vc é um programador mas ainda não se deparou ou ainda está caminhando na programação, provavelmente vai ter que esbarrar neste assunto, afinal, um bom programador sabe bem e conhece a capacidade de trabalhar com a programação orientada, pois além de facilitar a vida na reimplementação de sistemas, ela também ajuda na organização e a arquitetura de seu sistema, por este motivo, estou postando um exemplo bem simples, que elaborei especialmente para sanar a dúvida de alguns que ainda estão começando a mexer com este tipo de conteúdo, observe que neste exemplo de código, criei uma classe abstract que faz apenas a missão de imprimir os valores.</p>
<p style="text-align: justify;">E em seguida fiz as subclasses como &#8220;extends&#8221;, ou seja elas erdam  os métodos e propriedades das Superclasses.</p>
<pre class="brush: php; title: ; notranslate">

&lt;?php
abstract class ClasseGeral
{
var $valor=null;
public function setValor($val){
$this-&gt;valor=$val;
}
public function imprimir(){
echo $this-&gt;valor;
}
}

class Definicao extends ClasseGeral{
var $nome;
var $idade;
var $sexo;
var $apelido;
var $texto=null;
}

class Cadastro extends Definicao{
public function redefineDados(){
$this-&gt;texto = &quot;Digite os dados novamente:&lt;br&gt;&lt;form action=\&quot;index.php\&quot; method=\&quot;post\&quot;&gt;&quot;;
$this-&gt;texto .= &quot;Nome: &lt;input type=\&quot;text\&quot; name=\&quot;nome\&quot; value=\&quot;&quot;.$this-&gt;nome.&quot;\&quot;&gt;\n&lt;br&gt;&quot;;
$this-&gt;texto .= &quot;Idade: &lt;input type=\&quot;text\&quot; name=\&quot;idade\&quot; value=\&quot;&quot;.$this-&gt;idade.&quot;\&quot;&gt;\n&lt;br&gt;&quot;;
$this-&gt;texto .= &quot;Sexo: &lt;select name=\&quot;sexo\&quot;&gt;&quot;;
($this-&gt;sexo==&quot;M&quot;) ? $this-&gt;texto .= &quot;&lt;option value=\&quot;M\&quot; selected&gt;M&lt;/option&gt;\n&quot; : $this-&gt;texto .= &quot;&lt;option value=\&quot;M\&quot;&gt;M&lt;/option&gt;\n&quot;;
($this-&gt;sexo==&quot;F&quot;) ? $this-&gt;texto .= &quot;&lt;option value=\&quot;F\&quot; selected&gt;F&lt;/option&gt;\n&quot; : $this-&gt;texto .= &quot;&lt;option value=\&quot;F\&quot;&gt;F&lt;/option&gt;\n&quot;;
$this-&gt;texto .= &quot;&lt;/select&gt;\n&lt;br&gt;&quot;;
$this-&gt;texto .= &quot;Apelido: &lt;input type=\&quot;text\&quot; name=\&quot;apelido\&quot; value=\&quot;&quot;.$this-&gt;apelido.&quot;\&quot;&gt;\n&lt;br&gt;&quot;;
$this-&gt;texto .= &quot;&lt;input type=\&quot;submit\&quot; name=\&quot;salva\&quot; value=\&quot;Salvar\&quot;&gt;&quot;;
$this-&gt;setValor($this-&gt;texto);
}

public function getForm(){
if(isset($_POST['salva'])){
$this-&gt;nome=trim($_POST['nome']);
$this-&gt;idade=trim($_POST['idade']);
$this-&gt;sexo=trim($_POST['sexo']);
$this-&gt;apelido=trim($_POST['apelido']);
$data = $this-&gt;getPrintAll();
$this-&gt;setValor($data);
$this-&gt;imprimir();
}
else
{
$this-&gt;texto = &quot;Digite os dados:&lt;br&gt;&lt;form action=\&quot;index.php\&quot; method=\&quot;post\&quot;&gt;&quot;;
$this-&gt;texto .= &quot;Nome: &lt;input type=\&quot;text\&quot; name=\&quot;nome\&quot; value=\&quot;\&quot;&gt;\n&lt;br&gt;&quot;;
$this-&gt;texto .= &quot;Idade: &lt;input type=\&quot;text\&quot; name=\&quot;idade\&quot; value=\&quot;\&quot;&gt;\n&lt;br&gt;&quot;;
$this-&gt;texto .= &quot;Sexo: &lt;select name=\&quot;sexo\&quot;&gt;&quot;;
$this-&gt;texto .= &quot;&lt;option value=\&quot;M\&quot; selected&gt;M&lt;/option&gt;\n&quot;;
$this-&gt;texto .= &quot;&lt;option value=\&quot;F\&quot; selected&gt;F&lt;/option&gt;\n&quot;;
$this-&gt;texto .= &quot;&lt;/select&gt;\n&lt;br&gt;&quot;;
$this-&gt;texto .= &quot;Apelido: &lt;input type=\&quot;text\&quot; name=\&quot;apelido\&quot; value=\&quot;\&quot;&gt;\n&lt;br&gt;&quot;;
$this-&gt;texto .= &quot;&lt;input type=\&quot;submit\&quot; name=\&quot;salva\&quot; value=\&quot;Salvar\&quot;&gt;&quot;;
return $this-&gt;texto;
}
}
public function testaPost($valor){
if(isset($_POST['alterar']))
return $valor;
}

public function getPrintAll(){
($this-&gt;sexo==&quot;M&quot;) ? $t=&quot;Masculino&quot; : $t=&quot;Feminino&quot;;
$this-&gt;texto = &quot;Informações de cadastro:&lt;br&gt;\n&quot;;
$this-&gt;texto .= 'Nome: '.$this-&gt;nome.'&lt;br&gt;'.&quot;\n&quot;;
$this-&gt;texto .= 'Idade: '.$this-&gt;idade.'&lt;br&gt;'.&quot;\n&quot;;
$this-&gt;texto .= 'Sexo: '.$t.'&lt;br&gt;'.&quot;\n&quot;;
$this-&gt;texto .= 'Apelido: '.$this-&gt;apelido.'&lt;br&gt;'.&quot;\n&quot;;
if(isset($_POST['alterar'])){
$this-&gt;nome=trim($_POST['nome']);
$this-&gt;idade=trim($_POST['idade']);
$this-&gt;sexo=trim($_POST['sexo']);
$this-&gt;apelido=trim($_POST['apelido']);
$this-&gt;redefineDados();
}
else
{
$this-&gt;texto .= &quot;&lt;form action=\&quot;index.php\&quot; method=\&quot;post\&quot;&gt;
&lt;input type=\&quot;hidden\&quot; name=\&quot;nome\&quot; value=\&quot;&quot;.$this-&gt;nome.&quot;\&quot;&gt;
&lt;input type=\&quot;hidden\&quot; name=\&quot;idade\&quot; value=\&quot;&quot;.$this-&gt;idade.&quot;\&quot;&gt;
&lt;input type=\&quot;hidden\&quot; name=\&quot;sexo\&quot; value=\&quot;&quot;.$this-&gt;sexo.&quot;\&quot;&gt;
&lt;input type=\&quot;hidden\&quot; name=\&quot;apelido\&quot; value=\&quot;&quot;.$this-&gt;apelido.&quot;\&quot;&gt;
&lt;input type=\&quot;submit\&quot; name=\&quot;alterar\&quot; value=\&quot;Alterar Dados\&quot;&gt;&lt;/form&gt;&quot;;
return $this-&gt;texto;
}
}
}

//como utilizar o objeto...
$form = new Cadastro();
$form-&gt;setValor($form-&gt;getForm());
$form-&gt;testaPost($form-&gt;getPrintAll());
$form-&gt;imprimir();
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.tocadigital.com.br/2012/04/programacao-orientada-a-objetos-poo-heranca-e-abstracao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Função simples para tratamento do link de URL Amigável</title>
		<link>http://www.tocadigital.com.br/2012/03/funcao-simples-para-tratamento-do-link-de-url-amigavel/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=funcao-simples-para-tratamento-do-link-de-url-amigavel</link>
		<comments>http://www.tocadigital.com.br/2012/03/funcao-simples-para-tratamento-do-link-de-url-amigavel/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 18:07:13 +0000</pubDate>
		<dc:creator>Ivan</dc:creator>
				<category><![CDATA[Histórias]]></category>

		<guid isPermaLink="false">http://www.tocadigital.com.br/?p=518</guid>
		<description><![CDATA[Uma forma simples de como retornar sua URL Amigável no seu site&#8230; Para utilizar o link bastaria:]]></description>
			<content:encoded><![CDATA[<p>Uma forma simples de como retornar sua URL Amigável no seu site&#8230;</p>
<pre class="brush: plain; title: ; notranslate">
&lt;?php
function seoURL($url,$seo,$ligado=1){
if($ligado==1)
$link = 'http://'.$_SERVER['HTTP_HOST'].'/'.$seo;
else
$link = 'http://'.$_SERVER['HTTP_HOST'].'/'.$url;

return $link;
}

$id=24;

//imprime a URL em seo
echo seoURL(&quot;index.php?id=$id&amp;titulo=teste&quot;,&quot;categoria/noticias/$id/teste&quot;,1).'&lt;br&gt;';
//imprime a URL sem seo
echo seoURL(&quot;index.php?id=$id&amp;titulo=teste&quot;,&quot;categoria/noticias/$id/teste&quot;,0);
?&gt;
</pre>
<p>Para utilizar o link bastaria:</p>
<pre class="brush: php; title: ; notranslate">
&lt;a href=&quot;&lt;?php echo seoURL(&quot;index.php?id=$id&amp;titulo=teste&quot;,&quot;categoria/noticias/$id/teste&quot;,1);?&gt;&quot;&gt;Link da notícia 24&lt;/a&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.tocadigital.com.br/2012/03/funcao-simples-para-tratamento-do-link-de-url-amigavel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como utilizar as funções: substr() e explode()</title>
		<link>http://www.tocadigital.com.br/2012/03/como-utilizar-as-funcoes-substr-e-explode/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=como-utilizar-as-funcoes-substr-e-explode</link>
		<comments>http://www.tocadigital.com.br/2012/03/como-utilizar-as-funcoes-substr-e-explode/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 16:12:05 +0000</pubDate>
		<dc:creator>Ivan</dc:creator>
				<category><![CDATA[Dicas e Códigos]]></category>

		<guid isPermaLink="false">http://www.tocadigital.com.br/?p=510</guid>
		<description><![CDATA[Se você já teve que suprimir algum detalhe da informação que é exibida na tela, provavelmente já deve ter tido problemas no tratamento de como resumir um texto, ou recortar determinados caracteres da mensagem, por este motivo, coloco aqui alguns exemplos básicos para que vc consiga entender como funciona a função substr(): Outra função que]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Se você já teve que suprimir algum detalhe da informação que é exibida na tela, provavelmente já deve ter tido problemas no tratamento de como resumir um texto, ou recortar determinados caracteres da mensagem, por este motivo, coloco aqui alguns exemplos básicos para que vc consiga entender como funciona a função substr():</p>
<pre class="brush: plain; title: ; notranslate">
&lt;?php
$variavel='1texto de exemplo2';
echo 'Variável original: '.$variavel.'&lt;br&gt;';
echo '1º caso: '.substr($variavel,0,-1).' (remove o último caracter)&lt;br&gt;'; // remove o último caracter
echo '2º caso: '.substr($variavel,1).' (remove o primeiro caracter)&lt;br&gt;'; // remove o primeiro caracter
echo '3º caso: '.substr($variavel,1,-1).' (remove o primeiro e último caracter)&lt;br&gt;'; // remove o primeiro e último caracter
echo '4º caso: '.substr($variavel,-1,1).' ou '.substr($variavel,-1).' (imprimie o ultimo caracter)&lt;br&gt;'; // imprimie o ultimo caracter
echo '5º caso: '.substr($variavel,0,1).' (imprimie o primeiro caracter)'; // imprimie o primeiro caracter
?&gt;
</pre>
<p>Outra função que ajuda bastante o tratamento de um texto, é o explode(), é de grande utilidade quando queremos separar valores ou quebrar parâmetros&#8230;<br />
O interessante desta função está no tratamento das partes que são enviadas para uma variável que armazena uma coleção de dados, ou melhor dizendo,uma matriz.<br />
Mas afinal, o que estou dizendo? Bom é bem simples, uma matriz é representada por uma lista de valores ordenados ou não. Por exemplo:<br />
matriz = café,leite,açúcar<br />
neste caso, temos uma matriz com 3 valores, sendo: posição 0: café, posição 1: leite, posição 2: açucar. Ou seja, na ordem que você vê na sua tela, a partir do 0, é contado e indexado os valores entre vírgulas&#8230;.</p>
<p>Desta forma, se você pretende imprimir os valores da sua matriz, vc chama a matriz e define a posição que vc quer exibir dela da seguinte forma: matriz[0];</p>
<p>Agora vamos entender como você pode utilizar a função explode():<br />
Esta função permite quebrar uma string a partir de um caracter escolhido e armazenar os valores quebrados dentro de uma matriz.<br />
Sendo assim, teremos duas formas de fazer a explosão:<br />
1ª forma (listando os valores), é utilizado quando se tem pré-definido a quantidade de itens:</p>
<pre class="brush: plain; title: ; notranslate">
&lt;?php
$variavel = &quot;café,açúcar,leite&quot;;

//explodimos os itens da variavel pela vírgula
list($cafe,$acucar,$leite) = explode(&quot;,&quot;,$variavel);

//imprimimos nossos itens armazenados em variáveis:
echo $cafe.'&lt;br&gt;'.$acucar.'&lt;br&gt;'.$leite;
?&gt;
</pre>
<p>2ª forma (loop dos valores indeterminados), é utilizado quando &#8220;não&#8221; se sabe quantos registros irei trazer da minha lista:</p>
<pre class="brush: plain; title: ; notranslate">
&lt;?php
$variavel = &quot;café,açúcar,leite&quot;;
//explodimos os itens da variavel pela vírgula
$valores = explode(&quot;,&quot;,$variavel);

//aqui eu conto quantos valores existem no meu array(matriz).
$total_itens = count($valores);

//aqui imprimo os valores utilizando um laço em loop (for). Observe que neste caso utilizei uma variavel apenas: &quot;$valores&quot; e imprimi a posição sequencial em um laço (for):
for($x=0; $x&lt;$total_itens; $x++){
echo $valores[$x].'&lt;br&gt;';
}
?&gt;
</pre>
<p>a saída na tela em âmbos os casos será:</p>
<p>café<br />
açúcar<br />
leite</p>
<p>Espero que esta informação seja útil em suas aplicações, pois pra mim ela vem sendo bem utilizada.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tocadigital.com.br/2012/03/como-utilizar-as-funcoes-substr-e-explode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>URL Amigável de forma transparente e fácil de fazer</title>
		<link>http://www.tocadigital.com.br/2012/02/url-amigavel-de-forma-transparente-e-facil-de-fazer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=url-amigavel-de-forma-transparente-e-facil-de-fazer</link>
		<comments>http://www.tocadigital.com.br/2012/02/url-amigavel-de-forma-transparente-e-facil-de-fazer/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 18:48:43 +0000</pubDate>
		<dc:creator>Ivan</dc:creator>
				<category><![CDATA[Histórias]]></category>

		<guid isPermaLink="false">http://www.tocadigital.com.br/?p=503</guid>
		<description><![CDATA[1º &#8211; crie o arquivo .htaccess com as regras e jogue ele dentro da pasta do seu site: Agora crie o arquivo index.php, no caso eu criei uma pasta &#8220;teste&#8221; no meu localhost e defini a variável $diretorio = &#8216;teste&#8217;: Pronto agora é só habilitar o &#8220;mod_rewrite&#8221; no PHP, rodar a página e clicar no]]></description>
			<content:encoded><![CDATA[<p>1º &#8211; crie o arquivo .htaccess com as regras e jogue ele dentro da pasta do seu site:</p>
<pre class="brush: plain; title: ; notranslate">
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|(.*)\.swf|uploadify|application|system|assets|robots\.txt)

RewriteRule ^artigos/([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/(.*)\/?$ index.php?id=$1&amp;dia=$2&amp;mes=$3&amp;ano=$4&amp;titulo=$5
</pre>
<p>Agora crie o arquivo index.php, no caso eu criei uma pasta &#8220;teste&#8221; no meu localhost e defini a variável $diretorio = &#8216;teste&#8217;:</p>
<pre class="brush: plain; title: ; notranslate">
&lt;?php
// defina aqui o diretório do seu site
$diretorio = 'teste';

function urlHost($url,$titulo){
global $diretorio;
//criamos uma função que irá tratar sua URL, conforma a data da URL amigável

list($pagina,$query)=explode('?',$url);

list($p0,$p1,$p2,$p3) = explode('&amp;',$query);

list($p_0,$r_0) = explode('=',$p0);
list($p_1,$r_1) = explode('=',$p1);
list($p_2,$r_2) = explode('=',$p2);
list($p_3,$r_3) = explode('=',$p3);
$url_saida = 'http://'.$_SERVER['HTTP_HOST'].'/'.$diretorio.'/artigos/'.$r_0.'/'.$r_1.'/'.$r_2.'/'.$r_3.'/'.$titulo;

return $url_saida;
}
?&gt;

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot; /&gt;
&lt;title&gt;Teste de URL Amigável Simples&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;

&lt;?php

// aqui passamos as variáveis da URL amigável
$id='50';
$a = '21';
$b = '08';
$c = '2012';

// aqui vc poderia chamar os dados do seu banco, existe uma função do wordpress que permite que vc faça um título dinamicamente e amigável.

?&gt;
&lt;a href=&quot;&lt;?php echo urlHost(&quot;index.php?id=&quot;.$id.&quot;&amp;dia=&quot;.$a.&quot;&amp;mes=&quot;.$b.&quot;&amp;ano=&quot;.$c,&quot;titulo-da-sua-url&quot;); ?&gt;&quot;&gt;teste de URL Amigável&lt;/a&gt;

&lt;?php
//aqui colocamos apenas uma condição para que o conteúdo que iremos apresentar seja de acordo com a data...
if(isset($_GET['dia']) &amp;&amp; isset($_GET['mes']) &amp;&amp; isset($_GET['ano'])){
echo '&lt;br&gt;Você acabou de executar uma URL Amigável para a data: '.$_GET['dia'].'/'.$_GET['mes'].'/'.$_GET['ano'].' da matéria de ID: '.$id.'!';
}
?&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Pronto agora é só habilitar o &#8220;mod_rewrite&#8221; no PHP, rodar a página e clicar no link que ele estará abrindo de forma amigável&#8230;</p>
<p><a href="http://www.tocadigital.com.br/2011/06/como-fazer-urls-amigaveis-com-modulo-de-reescrita-para-o-seu-site/">&gt;&gt; Clique aqui para leia mais sobre URL Amigável </a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tocadigital.com.br/2012/02/url-amigavel-de-forma-transparente-e-facil-de-fazer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Por que não contratar a revenda da Locaweb</title>
		<link>http://www.tocadigital.com.br/2012/02/por-que-nao-contratar-a-revenda-da-locaweb/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=por-que-nao-contratar-a-revenda-da-locaweb</link>
		<comments>http://www.tocadigital.com.br/2012/02/por-que-nao-contratar-a-revenda-da-locaweb/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 15:27:50 +0000</pubDate>
		<dc:creator>Ivan</dc:creator>
				<category><![CDATA[Artigos]]></category>

		<guid isPermaLink="false">http://www.tocadigital.com.br/?p=497</guid>
		<description><![CDATA[Uma cliente minha está questionando que o servidor não está conseguindo enviar emails para copiaspinheiros@copiaspinheiros.com.brEstá retornando esta mensagem, mas o email existe e consigo enviar pelo meu Gmail&#8230;Não pode enviar a mensagem: &#8220;550 5.1.1 User unknown; rejecting&#8221; IVAN FERRER IP: 189.33.81.51 2 14/02/2012 12:47:28 Status modificado de Novo para Finalizado pela Locaweb Olá Ivan,Este problema]]></description>
			<content:encoded><![CDATA[<table style="width: 100%;" border="0">
<tbody>
<tr bgcolor="#E1FFE1">
<td width="60%">Uma cliente minha está questionando que o servidor não está conseguindo enviar emails para copiaspinheiros@copiaspinheiros.com.brEstá retornando esta mensagem, mas o email existe e consigo enviar pelo meu Gmail&#8230;Não pode enviar a mensagem: &#8220;550 5.1.1 User unknown; rejecting&#8221;</td>
<td width="20%">IVAN FERRER<br />
IP: 189.33.81.51</td>
</tr>
<tr bgcolor="#E1E1FF">
<td width="4%">
<div align="center"><span>2</span></div>
</td>
<td width="16%">14/02/2012 12:47:28</td>
<td width="60%"><span style="color: #999999; font-family: Verdana,Arial,Helvetica,sans-serif;">Status modificado de Novo para Finalizado pela Locaweb<br />
</span>Olá Ivan,Este problema ocorre, pois o domínio copiaspinheiros.com.br está inserido no Painel Plesk e com o serviço de e-mail ativo. Como os e-mails são direcionados por dns para outra empresa é necessário que você o desative no Plesk. Faça o seguinte:- Acesse o Painel Plesk e clique sobre o domínio copiaspinheiros.com.br<br />
- Vá em &#8220;E-mail&#8221; e clique em &#8220;Desabilitar&#8221;.Espero ter ajudado,</td>
<td width="20%">Leandro Lopes</td>
</tr>
<tr bgcolor="#E1FFE1">
<td width="4%">
<div align="center"><span>3</span></div>
</td>
<td width="16%">14/02/2012 12:52:32</td>
<td width="60%"><span style="color: #999999; font-family: Verdana,Arial,Helvetica,sans-serif;">Status modificado de Finalizado pela Locaweb para Novo<br />
</span>Não ajudou em nada.Este domínio copiaspinheiros.com.br é de um fornecedor, eu não tenho acesso a este servidor e eu nunca iria desativar um email por que o sistema de vcs está dando pau, vc ta doido?</td>
<td width="20%">IVAN FERRER<br />
IP: 189.33.81.51</td>
</tr>
<tr bgcolor="#E1FFE1">
<td width="4%">
<div align="center"><span>4</span></div>
</td>
<td width="16%">14/02/2012 12:56:57</td>
<td width="60%">Esse copiaspinheiros.com.br nao está no nosso plano de revenda, acho que vc não entendeu, nós não estamos conseguindo enviar email para este cliente&#8230; ele não existe em nossa revenda.</td>
<td width="20%">IVAN FERRER<br />
IP: 189.33.81.51</td>
</tr>
<tr bgcolor="#E1FFE1">
<td width="4%">
<div align="center"><span>5</span></div>
</td>
<td width="16%">14/02/2012 13:09:44</td>
<td width="60%"><span style="color: #999999; font-family: Verdana,Arial,Helvetica,sans-serif;">Título modificado de problema de email: urgente para problema de email: urgente (ainda nao resolvido)<br />
</span></td>
<td width="20%">IVAN FERRER<br />
IP: 189.33.81.51</td>
</tr>
<tr bgcolor="#E1FFE1">
<td width="4%">
<div align="center"><span>6</span></div>
</td>
<td width="16%">14/02/2012 13:21:11</td>
<td width="60%">Não temos esse domínio na Painel Plesk, verifique nossa revenda vc mesmo.Dados do domínio:<br />
Domínio: copiaspinheiros.com.br<br />
Servidor DNS: ns1135.dns.dyn.com<br />
Servidor DNS: ns2153.dns.dyn.com<br />
Servidor DNS: ns3184.dns.dyn.com<br />
Servidor DNS: ns4170.dns.dyn.com</td>
<td width="20%">IVAN FERRER<br />
IP: 189.33.81.51</td>
</tr>
</tbody>
</table>
<p>Simples o serviço de atendimento é muito ruim, lento e não funciona&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tocadigital.com.br/2012/02/por-que-nao-contratar-a-revenda-da-locaweb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como conquistar clientes sem sair no prejuízo e sem prejudicá-lo</title>
		<link>http://www.tocadigital.com.br/2011/07/como-conquistar-clientes-sem-sair-no-prejuizo-e-sem-prejudica-lo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=como-conquistar-clientes-sem-sair-no-prejuizo-e-sem-prejudica-lo</link>
		<comments>http://www.tocadigital.com.br/2011/07/como-conquistar-clientes-sem-sair-no-prejuizo-e-sem-prejudica-lo/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 02:09:41 +0000</pubDate>
		<dc:creator>Ivan</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[cliente]]></category>
		<category><![CDATA[elaborar projetos]]></category>
		<category><![CDATA[projetos]]></category>
		<category><![CDATA[venda]]></category>

		<guid isPermaLink="false">http://www.tocadigital.com.br/?p=482</guid>
		<description><![CDATA[Esta é uma questão bem delicada para se tratar que envolve vários aspectos. Poderia citar e explicar diversos deles, no entanto, seria melhor escrever um livro sobre isso. Entretanto, eu não estou disposto a me dedicar tanto a isso, meu objetivo aqui não é me aprofundar no assunto, mas abordar somente aquilo que envolve a]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignleft size-full wp-image-486" style="margin-left: 0px; margin-right: 8px;" title="Bons Negócios" src="http://www.tocadigital.com.br/wp-content/uploads/2011/07/aperto-de-mao-01.jpg" alt="" width="181" height="140" />Esta é uma questão bem delicada para se tratar que envolve vários aspectos. Poderia citar e explicar diversos deles, no entanto, seria melhor escrever um livro sobre isso. Entretanto, eu não estou disposto a me dedicar tanto a isso, meu objetivo aqui não é me aprofundar no assunto, mas abordar somente aquilo que envolve a questão interpessoal, excluindo desta forma todos os conceitos de projetos, sistemas e elaborações científicas ou abastratas decorrentes da análise de mercado ou referente à qualidade do produto que será vendido para seu cliente. Meu foco é direcionado neste momento para o cliente, o indivíduo que deseja obter seu produto, ou não. Aquele que tem pouco conhecimento do assunto, mas que tem diversas maneiras de pensar e de visualizar aquilo que ele quer.</p>
<p style="text-align: justify;"><span style="font-family: trebuchet ms,geneva; font-size: medium;"><strong>1º problema</strong></span><br />
Isso mesmo, se tivéssemos que construir um sistema orientado a objetos e colocar o objeto &#8220;cliente&#8221; poderia sugerir que seus atributos seriam: &#8220;indivíduo abstrato&#8221;, &#8220;não declarado&#8221;, &#8220;imprevisível&#8221; e definir várias heranças, ligadas a vários pacotes de dados volumosos, que não teriam fim&#8230;&#8221; e esse sistema nunca teria fim, pois é justamente isso que seu cliente quer ou espera de nós, algo complexo mas bem elaborado, para que ele consiga usufruir de diversas formas e consiga valer seu investimento.</p>
<p style="text-align: justify;"><span style="font-size: medium;"><strong><span style="font-family: trebuchet ms,geneva;">2º problema</span></strong></span><br />
O cliente não sabe que corrigir sempre é um problema, mas sabe que custa mais, e pode sair caro. Na visão dele, tudo pode ser resolvido pagando mais. Mas nós sabemos que a coisa não é assim tão simples, ainda mais quando o prazo não bate com a necessidade do cliente.</p>
<p style="text-align: justify;"><span style="font-family: trebuchet ms,geneva;"><strong><span style="font-size: medium;">3º problema</span></strong></span><br />
O cliente sempre tem razão? Será mesmo, no meu entendimento, o cliente tem uma idéia, nos temos a solução baseada nesta idéia, mas as limitações de um sistema ou daquilo que é possível fazer acaba tendo mais razão do que ambos os lados. Por isso, não adianta querer colorir aquilo que não existe. O cliente não sabe disso e muitas vezes ocorre de estar dentro do pacote aquilo que foi prometido para ele, e aí como resolver quando é uma coisa impossível de se realizar. É evidente que o cliente vai discutir e bater o pé.</p>
<p style="text-align: justify;">Pois é, mas não tem porque se desesperar nestas questões, pois para tudo isso existe uma solução, só na morte que não conseguimos dar um jeito&#8230;</p>
<p style="text-align: justify;">No 1º problema a solução de resolver é simples, basta construir um desenho do projeto, apresentar para o cliente, ressaltando aquilo que vai ter e aquilo que não vai ter no escopo. Assim fica fácil dele compreender que não existe além daquilo que está no papel.</p>
<p style="text-align: justify;">O 2º problema, é resolvido quando, logo no início do projeto, é esclarecido para o cliente que existe uma certa limitação no caso de alterações futuras do sistema ou no escopo. Salientando que essas mudanças podem ser um problema, pois algumas podem ser feitas e outras não, e isso vai ficar sob critério das limitações do sistema.</p>
<p style="text-align: justify;">Para o 3º problema, é fundamental que exista uma alternativa para apresentar ao cliente, e pode ser desde uma solução externa ao projeto, como um serviço terceirizado que atenda ao requisto. Mas se realmente for impossível de se fazer, deve se esclarecer que houve uma falha no escopo e de que pode ser corrigido apresentando uma alternativa que seja próxima do ideal. Ou ainda oferecer um desconto no orçamento, de forma que se obtenha polidez do cliente. Mas se mesmo assim, ainda for um empasse, recorra a última solução, faça exatamente aquilo que ele quer&#8230; mesmo que não funcione, ou que seja inseguro, até mesmo que seja fake. Mas não deixe de incluir no contrato sua isensão da responsabilidade de futuros problemas decorrentes desta opção, que foi justamente a perna quebrada do sistema, e que justamente não houve outra alternativa para resolver o problema, e fim de papo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tocadigital.com.br/2011/07/como-conquistar-clientes-sem-sair-no-prejuizo-e-sem-prejudica-lo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conheça o Windows 8</title>
		<link>http://www.tocadigital.com.br/2011/07/conheca-o-windows-8/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=conheca-o-windows-8</link>
		<comments>http://www.tocadigital.com.br/2011/07/conheca-o-windows-8/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 15:03:03 +0000</pubDate>
		<dc:creator>Ivan</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[w8]]></category>
		<category><![CDATA[win height]]></category>
		<category><![CDATA[win7]]></category>
		<category><![CDATA[win8]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[windows height]]></category>

		<guid isPermaLink="false">http://www.tocadigital.com.br/?p=474</guid>
		<description><![CDATA[Se você já se habituou com o touch do Windows 7, esqueça tudo, a nova versão, o Windows 8 está completamente diferente, além de vir com uma interface voltada para Tablets e Notebooks, está com uma característica mais simplicista, e terá uma flexibilidade muito melhor para seus dedos. O windows ainda está em desenvolvimento e]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Se você já se habituou com o touch do Windows 7, esqueça tudo, a nova versão, o Windows 8 está completamente diferente, além de vir com uma interface voltada para Tablets e Notebooks, está com uma característica mais simplicista, e terá uma flexibilidade muito melhor para seus dedos. O windows ainda está em desenvolvimento e há rumores de que estará pronto entre agosto e setembro, confira abaixo alguns dos recursos:</p>
<p style="text-align: center;"><iframe src="http://www.youtube.com/embed/p92QfWOw88I" frameborder="0" height="349" width="560"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tocadigital.com.br/2011/07/conheca-o-windows-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como criar programas para Windows (desktop)</title>
		<link>http://www.tocadigital.com.br/2011/07/como-criar-programas-para-windows-desktop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=como-criar-programas-para-windows-desktop</link>
		<comments>http://www.tocadigital.com.br/2011/07/como-criar-programas-para-windows-desktop/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 14:30:31 +0000</pubDate>
		<dc:creator>Ivan</dc:creator>
				<category><![CDATA[Dicas e Códigos]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Criar programas]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[linguagem C]]></category>
		<category><![CDATA[plataforma desktop]]></category>
		<category><![CDATA[programa desktop]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.tocadigital.com.br/?p=467</guid>
		<description><![CDATA[Para começar a desenvolver programas, é necessário antes de tudo decidir qual linguagem se deve trabalhar. Uma das mais recomendadas no mercado hoje em dia e a linguagem JAVA. Entretanto iremos apresentar um pequeno exemplo de uma calculadora simples construída através do programa DEV-C++, que pode ser baixado gratuitamente.]]></description>
			<content:encoded><![CDATA[<p>Para começar a desenvolver programas, é necessário antes de tudo decidir qual linguagem se deve trabalhar. Uma das mais recomendadas no mercado hoje em dia e a linguagem JAVA. Entretanto iremos apresentar um pequeno exemplo de uma calculadora simples construída através do programa <a title="Programa DEV-C++" href="http://www.baixaki.com.br/site/dwnld37865.htm" target="_blank">DEV-C++</a>, que pode ser baixado gratuitamente.</p>
<pre class="brush: cpp; title: ; notranslate">

#include &lt;windows.h&gt;
#include &lt;stdlib.h&gt;

LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain (HINSTANCE hThisInstance,
 HINSTANCE hPrevInstance,
 LPSTR lpszArgument,
 int nFunsterStil)
{
 HWND hwnd;
 MSG messages;
 WNDCLASSEX wincl;

 wincl.hInstance = hThisInstance;
 wincl.lpszClassName = &quot;WindowsApp&quot;;
 wincl.lpfnWndProc = WindowProcedure;
 wincl.style = CS_DBLCLKS;
 wincl.cbSize = sizeof (WNDCLASSEX);

 wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
 wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
 wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
 wincl.lpszMenuName = NULL;
 wincl.cbClsExtra = 0;
 wincl.cbWndExtra = 0;
 wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

 if (!RegisterClassEx (&amp;wincl))
 return 0;

 hwnd = CreateWindowEx (
 0,
 &quot;WindowsApp&quot;,
 &quot;Calculadora © Por Toca Digital&quot;,
 WS_OVERLAPPEDWINDOW,
 350,
 250,
 550,
 100,
 HWND_DESKTOP,
 NULL,
 hThisInstance,
 NULL
 );

 ShowWindow (hwnd, nFunsterStil);

 while (GetMessage (&amp;messages, NULL, 0, 0))
 {
 TranslateMessage(&amp;messages);
 DispatchMessage(&amp;messages);
 }

 return messages.wParam;
}

#define ID_BUTTONmais 1001
#define ID_BUTTONmenos 1002
#define ID_BUTTONvezes 1003
#define ID_BUTTONdividir 1004
#define ID_BUTTONurl 1005
HINSTANCE g_inst;
HWND EditNum1,EditNum2,EditTotal,ButtonMais,ButtonMenos,ButtonVezes,ButtonDividir,ButtonURL;

void DesenharObjectos(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
 EditNum1 = CreateWindowEx (
 WS_EX_CLIENTEDGE,
 //valor inicial (esquerda): 0
 &quot;EDIT&quot;,
 &quot;0&quot;,
 WS_VISIBLE|WS_CHILD|WS_BORDER|ES_RIGHT ,
 30, 30, 50, 20,
 hwnd,
 NULL,
 g_inst,
 NULL
 );

 EditNum2 = CreateWindowEx (
 //valor inicial (direita): 0
 WS_EX_CLIENTEDGE,&quot;EDIT&quot;, &quot;0&quot;,
 WS_VISIBLE|WS_CHILD|WS_BORDER,
 160, 30, 50, 20,
 hwnd, NULL, g_inst, NULL );

 EditTotal = CreateWindowEx (
 WS_EX_CLIENTEDGE,&quot;EDIT&quot;, &quot;&quot;,
 WS_VISIBLE|WS_CHILD|WS_BORDER,
 220, 30, 50, 20,
 hwnd, NULL, g_inst, NULL );

 ButtonMais = CreateWindowEx (
 0,
 &quot;BUTTON&quot;,
 &quot;+&quot;,
 WS_VISIBLE|WS_CHILD,
 80, 30, 20, 20,
 hwnd,
 (HMENU)ID_BUTTONmais,
 g_inst,
 NULL
 );

 ButtonMenos = CreateWindowEx (
 0, &quot;BUTTON&quot;, &quot;-&quot;,
 WS_VISIBLE|WS_CHILD,
 100, 30, 20, 20,
 hwnd, (HMENU)ID_BUTTONmenos, g_inst, NULL);

 ButtonVezes = CreateWindowEx (
 0, &quot;BUTTON&quot;, &quot;*&quot;,
 WS_VISIBLE|WS_CHILD,
 120, 30, 20, 20,
 hwnd, (HMENU)ID_BUTTONvezes, g_inst, NULL);

 ButtonDividir = CreateWindowEx (
 0, &quot;BUTTON&quot;, &quot;/&quot;,
 WS_VISIBLE|WS_CHILD,
 140, 30, 20, 20,
 hwnd, (HMENU)ID_BUTTONdividir, g_inst, NULL);

 CreateWindowEx (
 0,
 &quot;STATIC&quot;,
 &quot;=&quot;,
 WS_VISIBLE|WS_CHILD,
 212, 31, 5, 20,
 hwnd,
 NULL,
 g_inst,
 NULL
 );

 ButtonURL = CreateWindowEx (
 0,
 &quot;BUTTON&quot;,
 &quot;www.tocadigital.com.br&quot;,
 WS_VISIBLE|WS_CHILD,
 272, 30, 230, 20,
 hwnd,
 (HMENU)ID_BUTTONurl,
 g_inst,
 NULL
 );

 SendMessage((HWND) EditNum1,
 (UINT) WM_SETFONT,
 (WPARAM) GetStockObject(DEFAULT_GUI_FONT),
 (LPARAM) lParam
 );

 SendMessage((HWND) EditNum2,(UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
 SendMessage((HWND) EditTotal,(UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);

 SendMessage(
 (HWND) ButtonMais,
 (UINT) WM_SETFONT,
 (WPARAM) GetStockObject(DEFAULT_GUI_FONT),
 (LPARAM) lParam
 );

 SendMessage((HWND) ButtonMenos,(UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
 SendMessage((HWND) ButtonVezes,(UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
 SendMessage((HWND) ButtonDividir,(UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
}
void abreURL(){
char szPath[] = &quot;http://www.tocadigital.com.br&quot;;
HINSTANCE hRet = ShellExecute(
HWND_DESKTOP, //Parent window
&quot;open&quot;, //Operation to perform
szPath, //Path to program
NULL, //Parameters
NULL, //Default directory
SW_SHOW); //How to open
}

char s_valor1[20] = &quot;0&quot;, s_valor2[20] = &quot;0&quot;, s_total[20] = &quot;0&quot;;
int valor1, valor2, total;

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
 switch (message)
 {
 case WM_CREATE:
 DesenharObjectos(hwnd,message,wParam,lParam);
 break;
 case WM_COMMAND:

 if ((HIWORD(wParam) == BN_CLICKED))
 {

 SendMessage(
 (HWND) EditNum1,
 (UINT) EM_GETLINE,
 (WPARAM) 1,
 (LPARAM) &amp;s_valor1
 );

 SendMessage((HWND)EditNum2,(UINT)EM_GETLINE,(WPARAM)1,(LPARAM) &amp;s_valor2);

 valor1 = atoi(s_valor1);
 valor2 = atoi(s_valor2);

 switch (LOWORD(wParam))
 {
 case ID_BUTTONmais:
 total = valor1+valor2;
 break;
 case ID_BUTTONmenos:
 total = valor1-valor2;
 break;
 case ID_BUTTONvezes:
 total = valor1*valor2;
 break;
 case ID_BUTTONdividir:
 total = valor1 / valor2;
 break;
 case ID_BUTTONurl:
 abreURL();
 break;
 }

 itoa (total,s_total,10);

 SendMessage(
 (HWND) EditTotal,
 (UINT) WM_SETTEXT,
 (WPARAM) 0,
 (LPARAM) &amp;s_total
 );

 }
 break;
 case WM_DESTROY:
 PostQuitMessage (0);
 break;
 default:
 return DefWindowProc (hwnd, message, wParam, lParam);
 }
 return 0;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.tocadigital.com.br/2011/07/como-criar-programas-para-windows-desktop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>20 motivos para abandonar o Internet Explorer</title>
		<link>http://www.tocadigital.com.br/2011/07/20-motivos-para-abandonar-o-internet-explorer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=20-motivos-para-abandonar-o-internet-explorer</link>
		<comments>http://www.tocadigital.com.br/2011/07/20-motivos-para-abandonar-o-internet-explorer/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 19:32:18 +0000</pubDate>
		<dc:creator>Ivan</dc:creator>
				<category><![CDATA[Artigos]]></category>

		<guid isPermaLink="false">http://www.tocadigital.com.br/?p=441</guid>
		<description><![CDATA[Como a maioria já sabe, o Internet Explorer veio junto com o Windows e acabou sendo o navegador mais utilizado pelos usuários até então. Mas isso está mudando, justamente por que o IE está deixando de acompanhar o progresso dos demais navegadores e por questões comerciais, também estará proibido de vir agregado às versões posteriores]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignleft size-full wp-image-445" title="IE é Lixo" src="http://www.tocadigital.com.br/wp-content/uploads/2011/07/ielixo.png" alt="IE é Lixo" width="259" height="353" />Como a maioria já sabe, o Internet Explorer veio junto com o Windows e acabou sendo o navegador mais utilizado pelos usuários até então. Mas isso está mudando, justamente por que o IE está deixando de acompanhar o progresso dos demais navegadores e por questões comerciais, também estará proibido de vir agregado às versões posteriores do Windows. Se você é programador, provavelmente já deve estar habituado com o Google Analytics e já deve ter notado que existe uma crescente diferença do uso do IE em comparação com outros navegadores como o Firefox e o Google Chrome, isso vem mudando de alguns meses para cá&#8230; O IE está perdendo seu status no ranking. De fato, o Internet Explorer ficou pior, e está cada vez mais cheio de defeitos. O grande problema de do IE é que ele quer ser exclusivo e segue uma linha independente, não respeita a normalização W3C, isso faz dele o que é hoje, um navegador cheio de defeitos e mal elaborado, praticamente o vilão para nós programadores, que temos que recorrer aos hacks, e nos virar por aí para consertar suas falhas. A maioria dos defeitos está relacionada à forma com que ele faz a leitura dos scripts. Além é claro, da leitura das folhas de estilos, estar muito a baixo das espectativas dos usuários. Por esse e tantos outros motivos, decidi manifestar pelo menos 20 motivos para jogá-lo para escanteio:</p>
<p style="text-align: justify;">1º &#8211; (versão anteriores ao IE8) Não são compatíveis com o css: border-radius, fica dependendo de um arquivo chamado border-radius.htc que a maioria dos servidores não lêem ou não vem cofigurado o mime-type text/x-component.</p>
<p style="text-align: justify;">2º &#8211; As medidas de margin e padding não seguem uma formatação padronizada para a W3C e nem seguem a mesma linha entre suas versões (IE6,IE7,IE8,IE9) &#8211; todos são diferentes no comportamento&#8230;</p>
<p style="text-align: justify;">3º &#8211; Frequentemente dá erro de JavaScript, por questões de dificuldade de leitura quando há excesso de parâmetros e de leituras dos códigos.</p>
<p style="text-align: justify;">4º &#8211; É o mais lerdo na leitura das páginas</p>
<p style="text-align: justify;">5º &#8211; O download é muito lento, a versão do IE9 (apesar de vir com um gerenciador de download, continua sendo a mais lenta, e agora piorou ainda mais, perdeu a barra de progresso&#8230;)</p>
<p style="text-align: justify;">6º &#8211; Quando o Javascript dá um erro ele para de ler o restante dos javascripts e faz com que o restante &#8220;sem erro&#8221; fique dando erro, já o firefox despreza a falha e continua aceitando os scripts que estão corretos na sequência.</p>
<p style="text-align: justify;">7º &#8211; As fontes são mais estouradas do que o normal, fugindo totalmente do padrão W3C.</p>
<p style="text-align: justify;">8º &#8211; Não aceita variável javascript sem declarar&#8230;</p>
<p style="text-align: justify;">9º &#8211; Não carrega CSS via ajax, somente se colocar dentro do body&#8230; e tem comportamento instável&#8230;(ou seja, cada vez abre de um jeito).</p>
<p style="text-align: justify;">10º &#8211; Não permite ajuste manual do textarea dos formulários</p>
<p style="text-align: justify;">11º &#8211; A janela de alerta não oferece a opção de remoção.</p>
<p style="text-align: justify;">12º &#8211; Class e ID tem comportamentos completamente diferentes no IE quando recebem o mesmo parâmetro, enquanto nos demais navegadores o comportamento é igual.</p>
<p style="text-align: justify;">13º &#8211; Os parâmetros de CSS: (padding e margin) são menores que nos outros navegadores.</p>
<p style="text-align: justify;">15º &#8211; É o único que modifica a cor de linha da tabela por parametrização de tabela, os demais seguem a parametrização por CSS.</p>
<p style="text-align: justify;">16º &#8211; Tem tendências desalinhadas em listas (ul, li, ol&#8230;)</p>
<p style="text-align: justify;">17º &#8211; É o mais inseguro dos navegadores, frequentemente atacado por vírus.</p>
<p style="text-align: justify;">18º &#8211; Só roda no windows e as versões IE7, IE8 e IE9 não se instalam em versões anteriores do windows XP.</p>
<p style="text-align: justify;">19º &#8211; A maioria dos sites não são carregados com 100% de seus recursos no IE.</p>
<p style="text-align: justify;">20º &#8211; Não aceita uso de classe ou ID na caixa de listagem no &#8216;&lt;option&gt;opção&lt;/option&gt;&#8217; e não exibe o texto completo no lista (somente a versão 9 corrigiu o problema)</p>
<p style="text-align: justify;">E para finalizar, devo deixar claro que &#8220;por mais que digam que o IE9 é o único que está capacitado para HTML5, isso não é verdade, o Google Chrome já está muito acima disso, e já vem com muito mais frameworks como as ferramentas &#8220;canvas&#8221;, entre outras. Os atuais navegadores como o Firefox também já estarão se adequando com sua nova versão Firefox 5.0, que acaba de chegar no mercado, assim como a HTML5 que vem caminhando para um novo patamar de evolução da Internet, em breve teremos muito mais dos atuais navegadores, o que não poderemos esperar dessa versão 9 cheio de bugs e falhas. Aguardem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tocadigital.com.br/2011/07/20-motivos-para-abandonar-o-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ele foi deportado por causa do Twitter</title>
		<link>http://www.tocadigital.com.br/2011/06/ele-foi-deportado-por-causa-do-twitter/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ele-foi-deportado-por-causa-do-twitter</link>
		<comments>http://www.tocadigital.com.br/2011/06/ele-foi-deportado-por-causa-do-twitter/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 19:37:01 +0000</pubDate>
		<dc:creator>Ivan</dc:creator>
				<category><![CDATA[Notícias]]></category>

		<guid isPermaLink="false">http://www.tocadigital.com.br/?p=422</guid>
		<description><![CDATA[&#160; Nunca foi a intenção de Alberto Azevedo, 28, fazer um “bate e volta” para a Austrália, país localizado do outro lado do mundo, a cerca de 13 mil km. Mas foi o que aconteceu com o paulistano após ser deportado de Sidney por um motivo um tanto incomum: de acordo com a imigração australiana,]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">&nbsp;</p>
<div id="attachment_449" class="wp-caption alignleft" style="width: 301px"><img class="size-full wp-image-449" title="Alberto Azevedo" src="http://www.tocadigital.com.br/wp-content/uploads/2011/06/size_590_bebeto-les-garfs.jpg" alt="" width="291" height="194" /><p class="wp-caption-text">Alberto Azevedo, 28 anos</p></div>
<p style="text-align: justify;">Nunca foi a intenção de Alberto Azevedo, 28, fazer um “bate e  volta” para a Austrália, país localizado do outro lado do mundo, a cerca  de 13 mil km. Mas foi o que aconteceu com o paulistano após ser  deportado de Sidney por um motivo um tanto incomum: de acordo com a  imigração australiana, as mensagens postadas no Twitter e no Facebook do  rapaz não condiziam com as informações de seu visto de turista. Acabou  voltando para casa sem ver um canguru sequer.</p>
<p style="text-align: justify;">Bebeto Le Garfs, como é conhecido pelos amigos e clientes do albergue  que mantem em São Paulo, aterrissou no aeroporto Internacional de  Sidney na última terça-feira (5), mas em um primeiro momento foi  impedido de entrar no país por ter esquecido a carteirinha que atestava  sua vacinação contra Febre Amarela. O fato, porém, levou Bebeto a um  impasse ainda maior quando a imigração passou a fazer perguntas e  realizou uma busca em seus perfis de redes sociais.</p>
<p style="text-align: justify;">Um dos tuítes do rapaz, que também trabalha extraoficialmente como  DJ, indicava que ele iria tocar em uma festa. Escrito em inglês, o texto  dizia: “I just got my first gig in Sidney!” (“acabei de conseguir meu  primeiro ‘bico’ em Sidney). Após vasculhar seu perfil virtual, a  imigração fez perguntas sobre trabalho remunerado na Austrália, algo que  seu visto não permitia. Bebeto afirmou que participaria mesmo de uma  festa como DJ, a convite de um amigo australiano, mas, segundo ele, não  sabia que receberia por isso.</p>
<p style="text-align: justify;">“Em nenhum momento tratamos de grana. Não faço isso pela grana. Se  por acaso rolasse algo, eu provavelmente gastaria em bebidas do próprio  local. Mas não era essa minha intenção. Aliás, minha viagem era  puramente turística. Ia passar por várias cidades e encontrar alguns  amigos. Por ser DJ, não me recusaria a tocar em algumas festas se fosse  chamado, queria tocar meu som pros gringos e me divertir junto com  eles”.</p>
<p style="text-align: justify;">O caso complicou ainda mais, relatou o brasileiro, quando os  australianos pediram seu telefone celular. Nele, localizaram o número de  telefone do amigo que o havia convidado para tocar na Austrália. Ao  atender o telefone, contou Bebeto, o rapaz teria confirmado a história  da festa e disse que poderia pagar até 50 dólares australianos, ou cerca  de R$ 82, por hora de discotecagem (algo que o brasileiro classificou  como “mal entendido”, “brecha”).</p>
<p style="text-align: justify;"><strong>Senha</strong><br />
Em uma tentativa de convencer os australianos de que realmente não  sabia do dinheiro, Bebeto disse ter oferecido a senha de seu perfil no  Facebook para demonstrar que a negociação (feita integralmente na rede  social) não envolvia nenhuma quantia em dinheiro. Segundo o paulistano, o  Facebook reconheceu que o acesso provinha de um local nunca antes  visitado e não autorizou o login por motivos de segurança.</p>
<div style="text-align: justify;">
<div>
<div id="twittDep01" class="wp-caption alignleft" style="width: 310px"><img class=" " title="Documento que cancela visto de turista de Alberto" src="http://t.i.uol.com.br/tecnologia/2011/04/11/brasileiro-diz-ter-sido-deportado-da-australia-por-conta-de-informacao-postada-no-twitter-1302562493498_300x250.jpg" alt="Documento que cancela visto de turista de Alberto" width="300" height="250" /><p class="wp-caption-text">Documento que cancela visto de turista de Alberto</p></div>
</div>
</div>
<div style="text-align: justify;">
<p>“Eu queria que eles vissem o histórico. Se eles quisessem que eu  desbloqueasse o Facebook, eu teria desbloqueado. Pretendia resolver a  situação, mas aparentemente eles não quiseram mais perder tempo comigo e  não quiseram checar”, afirma Bebeto.</p>
<p>Resultado: depois de uma série de entrevistas, Alberto Azevedo, que  saiu de sua casa em São Paulo na manhã do dia 4  de abril e só retornou  62 horas depois, no dia 6, perdeu o visto de turista para entrar na  Austrália e amargou um prejuízo de R$ 2.000, o preço da passagem. Antes  de ser deportado, ele passou a noite no centro de detenção com pessoas  de outras nacionalidades, onde – como faz questão de dizer – foi muito  bem tratado.</p>
</div>
<p style="text-align: justify;">Procurada, a embaixada da Austrália no Brasil disse que está averiguando o caso, mas ainda não se pronunciou oficialmente.</p>
<div style="text-align: justify;">
<div>
<div id="twittDep02" class="wp-caption alignleft" style="width: 290px"><img class=" " title="Tuíte em que Alberto comemora festa em Sidney" src="http://t.i.uol.com.br/tecnologia/2011/04/11/brasileiro-diz-ter-sido-deportado-da-australia-por-conta-de-informacao-postada-no-twitter-1302562786586_280x95.jpg" alt="Tuíte em que Alberto comemora festa em Sidney" width="280" height="95" /><p class="wp-caption-text">Twitt em que Alberto comemora festa em Sidney</p></div>
</div>
</div>
<p style="text-align: justify;">“Em nenhum momento senti que houve preconceito. Acho que houve um  exagero da parte deles e uma negligência em entender o que eu estava  tentando explicar. Mas aprendi a lição: vou deixar meu Twitter pessoal  sempre privado e levar todos os documentos necessários da próxima vez.”</p>
<p style="text-align: justify;">&nbsp;</p>
<p style="text-align: justify;"><span style="font-size: x-small;">Fonte: UOL Tecnologia</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tocadigital.com.br/2011/06/ele-foi-deportado-por-causa-do-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

