<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2portuguesefull.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss version="2.0"><channel><title>LeoCaseiro Blog</title><link>http://www.leocaseiro.com</link><description>Programação e Desenvolvimento Web, com PHP, MySQL, JavaScript, jQuery, SEO e muito mais</description><language>en</language><generator>http://wordpress.org/?v=2.6.5</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/leocaseiro" type="application/rss+xml" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">2401635</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.feedburner.com</feedburner:feedburnerHostname><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fleocaseiro" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/leocaseiro" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fleocaseiro" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fleocaseiro" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><item><title>Ajude desabrigados de Santa Catarina</title><link>http://www.leocaseiro.com/ajude-desabrigados-de-santa-catarina.html</link><category>Assuntos Gerais</category><category>solidariedade</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Leo Caseiro</dc:creator><pubDate>Mon, 01 Dec 2008 14:46:57 -0600</pubDate><guid isPermaLink="false">http://www.leocaseiro.com/?p=249</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Lendo meus feeds, encontrei a maravilhosa atitude solidária do <a title="Blog sobre como ganhar Dinheiro sendo blogueiro" href="http://www.fique-rico.com/" target="_blank">Fique-Rico</a>.<br />
Um blog que ensina os blogueiros a ganharem dinheiro, e agora <a title="Ajude Santa Catarina postando um comentário" href="http://www.fique-rico.com/2008/12/01/o-seu-comentario-vale-010eur-para-as-vitimas-das-enchentes-de-santa-catarina-brasil/" target="_blank">está movendo uma ação para ajudar os desabrigados de Santa Catarina</a>.</p>
<p>Você já se imaginou nesta situação?</p>
<div class="wp-caption alignnone" style="width: 504px"><img title="Desabrigados em Santa Catarina" src="http://oglobo.globo.com/blogs/arquivos_upload/2008/11/129_2319-floripachuva.jpg" alt="Desabrigados em Santa Catarina" width="494" height="315" /><p class="wp-caption-text">Desabrigados em Santa Catarina</p></div>
<p>Imagine um dia voltando para sua casa do seu trabalho e você não encontra sua casa.<br />
Você não tem mais sua TV, seu computador, seu SOM, seu Telefone (ninguém irá mais te contatar&#8230;Ha! você tem celular? E cadê o seu carregador agora?), não tem mais nenhuma roupa, nenhum tênis. Não tem mais nada!<br />
Você perdeu todos os seus documentos, cartas, perdeu todos os móveis da sua casa. E ainda por cima, assim como todo brasileiro já estava endividado, está sem condições psicológicas nenhuma de ir trabalhar e pagar as suas contas ou comprar algum produto novo.<br />
Fora que você não tem mais onde dormir, ou seja, está completamente inabilitado de fazer qualquer coisa.</p>
<p>Então deixe de dar presentes de Natal para quem não perdeu nada e faça uma caridade! Principalmente agora que você receberá seu 13o.</p>
<p>Sim, estou fazendo minhas doações. Estou <span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;">endividado</span>, mas quando me imaginei nessas situações, meu coração falou mais alto e a minha solidariedade me comoveu.<br />
<strong><br />
Além de fazer sua doação, <a title="Ajude Santa Catarina postando um comentário" href="http://www.fique-rico.com/2008/12/01/o-seu-comentario-vale-010eur-para-as-vitimas-das-enchentes-de-santa-catarina-brasil/" target="_blank">faça um comentário (no mínimo de 2 linhas) no Fique-Rico até o dia 8/12 e ajude com 0,10Euros</a>.</strong></p>
<p>Pesquisando um pouco no <a title="Busca no Google para ajudar desabrigados em Santa Catarina" href="http://www.google.com/search?q=como+ajudar+desabrigados+santa+catarina" target="_blank">Google</a>, encontrei também algumas coisas que posso ajudar ainda mais. E assim farei.</p>
<p>Então, se você quer ajudar, manda ver, se você não quer, nunca mais leia meu BLOG!</p>
<ul>
<li><a title="Veja o que doar" href="http://www.desastre.sc.gov.br/index.php?option=com_content&amp;view=article&amp;id=9:o-que-doar-alimentos&amp;catid=13:doacoes&amp;Itemid=2" target="_blank">Veja o que doar</a></li>
<li><a title="Informações para quem quer doar" href="http://www.desastre.sc.gov.br/index.php?option=com_content&amp;view=category&amp;id=13&amp;Itemid=2" target="_blank">Doações para o Desastre de Santa Catarina</a></li>
<li><a title="Ajude Santa Catarina" href="http://www.voluntariosonline.org.br/pt-br/eventos/visualizar/121" target="_blank"> Saiba como ajudar de forma correta as famílias desabrigadas de Santa Catarina</a></li>
<li><a title="Blogueiro, ajude Santa Catarina" href="http://voluntariosonline.org.br/pt-br/oportunidades/visualizar/280" target="_blank"> Blogueiro Divulgador<br />
</a></li>
<li><a href="http://www.google.com/intl/pt-BR/chuvas-nov08.html" title="Página do Google com excelentes Informações">*Página do Google com excelentes Informações</a></li>
</ul>
<blockquote><p><strong>Alguns Resumos encontrados nos links acima:</strong><br />
(&#8230;)Se você mora em Santa Catarina pode doar em qualquer unidade do Senac/SC, CIEE/SC, OAB/SC, e Defesa Civil de todas as cidades catarinenses. Mas preste atenção nas orientações da Defesa Civil em relação a essas doações.</p>
<p>Se você mora em outro estado, pode ajudar também. Encaminhe doações para a Defesa Civil de seu estado ou para o Exército. Confira os locais de coleta que estão sendo atualizados pelo Google Maps. (&#8230;)</p>
<p>(&#8230;)A Defesa Civil de Santa Catarina disponibilizou um número de discagem gratuita  para os interessados em fazer doação por depósito bancário . Por meio do <em>0800 48 2020</em> será possível obter todas informações sobre Bancos e contas bancárias abertas para esse fim.(&#8230;)</p></blockquote>
<p>*Update em 02/12/2008 às 10h57</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/leocaseiro?a=6ij0o"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=6ij0o" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=PVTNO"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=PVTNO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=520SO"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=520SO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=Viyro"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=Viyro" border="0"></img></a>
</div>]]></content:encoded><description>Lendo meus feeds, encontrei a maravilhosa atitude solidária do Fique-Rico.
Um blog que ensina os blogueiros a ganharem dinheiro, e agora está movendo uma ação para ajudar os desabrigados de Santa Catarina.
Você já se imaginou nesta situação?
Imagine um dia voltando para sua casa do seu trabalho e você não encontra sua casa.
Você não tem mais sua [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.leocaseiro.com/ajude-desabrigados-de-santa-catarina.html/feed</wfw:commentRss></item><item><title>Como chamar um Javascript externo dentro de um js ou &lt;script&gt;</title><link>http://www.leocaseiro.com/como-chamar-um-javascript-externo-dentro-de-um-js-ou-script.html</link><category>Tutorial</category><category>javascript</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Leo Caseiro</dc:creator><pubDate>Fri, 28 Nov 2008 14:20:30 -0600</pubDate><guid isPermaLink="false">http://www.leocaseiro.com/?p=240</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Eu sempre tentei fazer uma chamada de um arquivo Java Script externo dentro de outro. E sempre tive problemas.</p>
<p>Estava fazendo manutenção em um código, quando me deparei com o código do <a title="Google Analytics" rel="external" href="http://www.google.com/analytics/pt-BR/index.html">analytics</a>. E percebi que o Google faz isso a décadas.</p>
<p>Se você, como eu, ainda não sabe(sabia) como fazer isso, veja:</p>
<pre class="syntax-highlight:javascript">
&lt;script type=&quot;text/javascript&quot;&gt;
     document.write(unescape(&quot;%3Cscript src=&#039;nomedoarquivo.js&#039; type=&#039;text/javascript&#039;%3E%3C/script%3E&quot;)); &lt;/script&gt;
</pre>
<p>É simples e funcional. Nunca mais eu farei algo concatenando strings com strings, como:</p>
<pre class="syntax-highlight:javascript">
&lt;script type=&quot;text/javascript&quot;&gt;
    document.write(&#039;&lt;SCR&#039;+ &#039;IPT type=&quot;text/javascript&quot; SRC=&quot;arquivo.js&quot;&gt;&lt;\/SCRIPT&gt;&#039;);
&lt;/script&gt;
</pre>
<p>Fui super contente avisar meu colega de trabalho pelo MSN, o <a title="Pedro Rogerio do Pinceladas da Web" rel="external" href="http://www.pinceladasdaweb.com.br/blog/">Pedro Rogério</a> que me mostrou uma outra forma. É um pouco mais complexa, utiliza o createElement por DOM. E pode funcionar melhor para scripts dinâmicos.</p>
<pre class="syntax-highlight:javascript">
&lt;script type=&quot;text/javascript&quot;&gt;
function include(file_path){
     var j = document.createElement(&quot;script&quot;);
     j.type = &quot;text/javascript&quot;;
     j.src = file_path;
     document.body.appendChild(j);
}

//incluindo um arquivo com a função include()
include(&quot;arquivo.js&quot;);

function include_once(file_path) {
    var sc = document.getElementsByTagName(&quot;script&quot;);
    for (var x in sc)
    if (sc[x].src != null &amp;amp;amp;amp;&amp;amp;amp;amp; sc[x].src.indexOf(file_path) != -1) return;
    include(file_path);
}
//incluindo um arquivo com a função include_once()
include_once(&quot;arquivo.js&quot;);
&lt;/script&gt;
</pre>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/leocaseiro?a=INb7n"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=INb7n" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=SzgTN"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=SzgTN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=1Ro3N"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=1Ro3N" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=i81xn"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=i81xn" border="0"></img></a>
</div>]]></content:encoded><description>Eu sempre tentei fazer uma chamada de um arquivo Java Script externo dentro de outro. E sempre tive problemas.
Estava fazendo manutenção em um código, quando me deparei com o código do analytics. E percebi que o Google faz isso a décadas.
Se você, como eu, ainda não sabe(sabia) como fazer isso, veja:

&amp;#60;script type=&amp;#34;text/javascript&amp;#34;&amp;#62;
     document.write(unescape(&amp;#34;%3Cscript src=&amp;#039;nomedoarquivo.js&amp;#039; [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.leocaseiro.com/como-chamar-um-javascript-externo-dentro-de-um-js-ou-script.html/feed</wfw:commentRss></item><item><title>Atualização do Wordpress para 2.6.5</title><link>http://www.leocaseiro.com/atualizacao-do-wordpress-para-265.html</link><category>Novidades</category><category>desenvolvimento</category><category>wordpress</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Leo Caseiro</dc:creator><pubDate>Wed, 26 Nov 2008 05:37:41 -0600</pubDate><guid isPermaLink="false">http://www.leocaseiro.com/?p=232</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Hoje, logo que liguei minha máquina apareceu um aviso do meu <a title="Plugin Wordpress Helper para Firefox" href="https://addons.mozilla.org/pt-BR/firefox/addon/4835" target="_blank">plugin Wordpress Helper</a> para Firefox , dizendo que existia uma versão nova do Wordpress.<br />
Fui correndo para ver se já era a versão 2.7, mas no fim, vi que era apenas a versão atualizada do 2.6.5</p>
<p>Fiquei descontente, mas logo <a title="Informações sobre a falha de segurança e os BUGs do WP 2.6.5" href="http://www.wordpress-br.com/wp/geral/wordpress-265-pt_br" target="_blank">descobri</a> que era uma atualização de segurança e da correção de 3 BUGs.</p>
<p>Está dado a dica!</p>
<p>Atualizem seus BLOGs</p>
<p><a title="Versão mais recente do Wordpress em Português do Brasil" href="http://br.wordpress.org/releases/#latest" target="_blank">Download do Wordpress</a> já em português do Brasil</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/leocaseiro?a=akRpn"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=akRpn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=yptmN"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=yptmN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=eiAtN"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=eiAtN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=TaNQn"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=TaNQn" border="0"></img></a>
</div>]]></content:encoded><description>Hoje, logo que liguei minha máquina apareceu um aviso do meu plugin Wordpress Helper para Firefox , dizendo que existia uma versão nova do Wordpress.
Fui correndo para ver se já era a versão 2.7, mas no fim, vi que era apenas a versão atualizada do 2.6.5
Fiquei descontente, mas logo descobri que era uma atualização de [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.leocaseiro.com/atualizacao-do-wordpress-para-265.html/feed</wfw:commentRss></item><item><title>Porque os programadores precisam virar noites para entregar no prazo</title><link>http://www.leocaseiro.com/porque-os-programadores-precisam-virar-noites-para-entregar-no-prazo.html</link><category>Assuntos Gerais</category><category>agência</category><category>gestão</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Leo Caseiro</dc:creator><pubDate>Tue, 18 Nov 2008 06:45:40 -0600</pubDate><guid isPermaLink="false">http://www.leocaseiro.com/?p=148</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Quantas vezes te pediram para entregar um JOB para amanhã de manhã? Aí você olha o relógio e observa que há exatamente 10 minutos é o seu horário de ir embora. Logo no dia que você precisa dormir um pouco para se recompor de uma semana tensa.</p>
<p>Mas por que isso acontece?<br />
Por que sempre recebemos todo o material para trabalhar um dia antes do prazo?</p>
<p>O cliente entra em contato com a área de atendimento da agência, super acelerado, porque o prazo está curto e solicita uma criação. O diretor de arte estava num <i>brain storm</i> com sua equipe em um outro projeto, enquanto o profissional de atendimento liga e chama atenção no messenger. Isso, obviamente acaba de &#8220;estragar&#8221; o JOB que estavam discutindo, e no próprio telefone, o D.A. decide o que será feito nessa nova peça.</p>
<p>Então é aquela correria para entregar uma criação de qualidade e eficiência para satisfazer o cliente fiel à agência.</p>
<p>O D.A. liga para o profissional de arquitetura de informação, que liga para o programador(o mesmo já elimina diversas pirações do D.A. que jamais podem ser programadas neste curto prazo). Enfim, a criação envia uma peça para aprovação para o cliente.</p>
<p>O cliente, após ligar para o atendimento insistentemente recebe por email a peça que deverá ser aprovada antes da integração. No corpo do email, é estipulado um prazo(levando em consideração os JOBs que estão em andamento Hoje).</p>
<p>Somente um dia antes do prazo, o cliente retorna a ligação(aproximadamente uns 20 dias depois do email enviado por nós que deveria ser aprovado na hora. Afinal o cliente estava aflito) e informa que foi aprovado e devemos entregar amanhã, pois a campanha estará rolando depois de amanhã.</p>
<p>E agora, você programador, que está fechando todos os softwares, desligando a máquina e respondendo seus últimos emails do dia, recebe um alerta no messenger do seu chefe dizendo:<br />
- Lembra daquele JOB que era pra amanhã? Então, o cliente aprovou!</p>
<p>(antes de responder, você olha para o relógio e percebe que faltam 3 minutos para ir embora e escreve)</p>
<p>- Eu to indo embora!</p>
<p>(aí seu chefe, que é também seu parceiro te implora para quebrar mais essa)</p>
<p>Não sei se vocês já passaram alguma vez por isso. Mas comigo já rolou muitas vezes!</p>
<p>E eu pergunto de quem é culpa? É do cliente? da agência? ou do atendimento?<br />
Na minha opinião, o atendimento poderia informar ao cliente que não entregaríamos o JOB porque estamos apertados&#8230;mas daí o cliente liga pra outra agência e entrega no prazo.</p>
<p>E o que acontece? Perdemos mais um cliente para outra agência?</p>
<p>Difícil, né?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/leocaseiro?a=26Dvn"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=26Dvn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=h8isN"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=h8isN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=b7oKN"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=b7oKN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=X0D4n"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=X0D4n" border="0"></img></a>
</div>]]></content:encoded><description>Quantas vezes te pediram para entregar um JOB para amanhã de manhã? Aí você olha o relógio e observa que há exatamente 10 minutos é o seu horário de ir embora. Logo no dia que você precisa dormir um pouco para se recompor de uma semana tensa.
Mas por que isso acontece?
Por que sempre recebemos todo [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.leocaseiro.com/porque-os-programadores-precisam-virar-noites-para-entregar-no-prazo.html/feed</wfw:commentRss></item><item><title>Programador Web precisa estudar mais do que Médico</title><link>http://www.leocaseiro.com/programador-web-precisa-estudar-mais-do-que-medico.html</link><category>Assuntos Gerais</category><category>agência</category><category>css</category><category>desenvolvimento</category><category>php</category><category>seo</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Leo Caseiro</dc:creator><pubDate>Wed, 12 Nov 2008 14:31:54 -0600</pubDate><guid isPermaLink="false">http://www.leocaseiro.com/?p=218</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Ainda me lembro de quando estava na 7ª ou 8ª série. Eu queria ser médico, acreditam? Sim. Adorava Biologia e Genética. Sonhava em ter um Dr. Antes do meu nome, mas desisti porque achei que teria que estudar muito.</p>
<p>Burro eu! Escolhi fazer um Curso Técnico em Informática, (só porque <a title="Sobre LeoCaseiro" rel="external" href="http://leocaseiro.com/sobre/">mexo em computadores</a> desde pivete. Sempre eu que arrumava o PC da família, de amigos, etc) e desde então, nunca mais parei de estudar.<br />
Será que um médico precisa estudar tanto quanto um programador Web?<br />
Acredito até que nesta área precisamos estudar mais do que um programador de Softwares.</p>
<p>Por quê?<br />
Trabalho quase que 24h no computador. E se não estou focado em algum projeto, estou lendo algum post, algum PDF ou pesquisando algo no Google. Isso se não estiver no ônibus ou metrô lendo uma Revista(recomendo a <a title="Revista W, ideal para desenvolvedor Web" rel="external" href="http://www.revistaw.com.br/">Revista W</a>) ou um livro da área.</p>
<p>Precisamos aprender sobre padrões web, acessibilidade, compatibilidade entre tecnologias(<i>cross-browsers</i>), otimização para <i>crawlers</i> e <i>robots</i>, desempenho de Servidores, compatibilidade de versões do Apache ou IIS, Design Patterns, conhecer diversos CMS´s, estudar Frameworks, desenvolver algoritmos “mágicos”, etc.</p>
<p>E o pior de tudo isso, é que somos de T.I., mas trabalhamos em agências. Ou seja, precisamos fazer um <a title="Deus como programador em uma agência" rel="external" href="http://www.leocaseiro.com/deus-como-programador-agencia-publicidade.html">milagre</a> para entregarmos o Job em dia.</p>
<p>Você possui algum certificado de uma linguagem como o da <a rel="external" title="Certificado PHP5 Zend" href="http://www.zend.com/en/services/certification/php-5-certification/">Zend PHP</a> ou da <a title="Certificados .NET" rel="external" href="http://www.microsoft.com/brasil/certifique/certificacao/mcsd/faqnet.aspx">Microsoft .NET</a>?</p>
<p>Tentei fazer algumas <a rel="external" title="Um dos simuladores da Zend Certification" href="http://www.blueshoes.org/en/developer/syntax_exam/">simulações</a> e descobri que preciso evoluir muito para tirar um certificado. Isso porque já participei de muitos desenvolvimentos de sites/sistemas e afins.</p>
<p>É, leitor, quanto mais eu leio, mas eu descubro que preciso ler mais! </p>
<p>Afinal, nossa área cresce a cada dia. As tecnologias não param de aparecer, e novas técnicas são implantadas. Se você para de se atualizar, perde para um mercado tão competitivo.</p>
<p>E você? Acha que um médico precisa estudar mais do que nós desenvolvedores?</p>
<p>Eu posso estar exagerando, mas se você é preguiçoso(como eu era), não vire médico e nem programador! Ou será mais um desempregado&#8230;rsrs</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/leocaseiro?a=q59Jn"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=q59Jn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=8tCGN"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=8tCGN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=O6g7N"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=O6g7N" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=RfOGn"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=RfOGn" border="0"></img></a>
</div>]]></content:encoded><description>Ainda me lembro de quando estava na 7ª ou 8ª série. Eu queria ser médico, acreditam? Sim. Adorava Biologia e Genética. Sonhava em ter um Dr. Antes do meu nome, mas desisti porque achei que teria que estudar muito.
Burro eu! Escolhi fazer um Curso Técnico em Informática, (só porque mexo em computadores desde pivete. Sempre [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.leocaseiro.com/programador-web-precisa-estudar-mais-do-que-medico.html/feed</wfw:commentRss></item><item><title>Solução em Javascript para Imagens inexistentes no servidor</title><link>http://www.leocaseiro.com/solucao-em-javascript-para-imagem-inexistente-no-servidor.html</link><category>Tutorial</category><category>javascript</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Leo Caseiro</dc:creator><pubDate>Thu, 06 Nov 2008 06:00:25 -0600</pubDate><guid isPermaLink="false">http://www.leocaseiro.com/?p=189</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Saiba como utilizar o <strong>evento onerror do JavaScript</strong> para substituir falhas de imagem(<em>&lt;img&gt;</em>) ou até janela(window).</p>
<ul> Com certeza você já passou por algum deste problemas:  </p>
<li>O seu site precisava de uma imagem e ela não estava mais lá.</li>
<li>A imagem não foi carregou corretamente e nem Deus sabe o motivo.</li>
<li>O seu script de UpLoad deu problema e corrompeu o arquivo antes de subir para o seu</li>
<li>servidor.</li>
<li>O nome da imagem está errado no seu banco de dados</li>
</ul>
<p>Comigo foi assim, estava criando uma galeria de vídeos que devia exibir um screenshot(na agência chamamos de <em>frame</em>), mas acontece que tínhamos alguns vídeos que ainda não possuíam o screenshot. E tendo todos os dados necessários para serem exibidos no site, menos o screenshot, deveriam ser listados na HOME.</p>
<p>O que fazer neste caso?<br />
Criar um código php do tipo <strong>if file_exists()</strong>?<br />
Conheço uma opção melhor e nativa do JavaScript.</p>
<p><strong>Evento OnError</strong></p>
<p>Como funciona o evento OnError?<br />
Funciona ao contrário do evento OnLoad que é a resposta de uma imagem (ou uma janela) que foi carregada com sucesso(ta aí o nome OnLoad = Carregou com Sucesso)</p>
<p>Assim que o browser interpretar um erro de carregamento de uma imagem(também pode ser utilizado em um window, como uma PopUp), ele executa o método OnError.</p>
<p>Como e onde utilizar o método OnError?</p>
<pre class="syntax-highlight:javascript">
&lt;img src=&quot;imagem-nao-existe.gif&quot; onerror=&quot;this.onerror=null; this.src=&#039;thumb-video-default.jpg&#039;&quot; /&gt;
</pre>
<p><a title="Exemplo do evento OnError funcionando" rel="external" href="http://exemplos.leocaseiro.com/imagem-inexistente-no-servidor.html">Exemplo do evento OnError em funcionamento</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/leocaseiro?a=lxQJn"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=lxQJn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=aRFkN"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=aRFkN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=qR1zN"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=qR1zN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=Pp7Jn"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=Pp7Jn" border="0"></img></a>
</div>]]></content:encoded><description>Saiba como utilizar o evento onerror do JavaScript para substituir falhas de imagem(&amp;#60;img&amp;#62;) ou até janela(window).
 Com certeza você já passou por algum deste problemas:  
O seu site precisava de uma imagem e ela não estava mais lá.
A imagem não foi carregou corretamente e nem Deus sabe o motivo.
O seu script de UpLoad deu problema e [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.leocaseiro.com/solucao-em-javascript-para-imagem-inexistente-no-servidor.html/feed</wfw:commentRss></item><item><title>Função que ordena arrays Randomicamente em JavaScript, como o shuffle() do PHP</title><link>http://www.leocaseiro.com/funcao-que-ordena-arrays-randomicamente-em-javascript-como-o-shuffle-do-php.html</link><category>Tutorial</category><category>array</category><category>função</category><category>javascript</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Leo Caseiro</dc:creator><pubDate>Wed, 05 Nov 2008 07:35:49 -0600</pubDate><guid isPermaLink="false">http://www.leocaseiro.com/?p=173</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<blockquote><p>Este post foi atualizado, pois eu encontrei que existem diversos algoritmos para esta função chamado shuffle()</p>
<p>De qualquer maneira, ainda acredito que este seja o melhor e menor algoritmo.</p>
<p>Então, se quiserem, o melhor nome para esta função é shuffle()<br />
Pois no php, existe esta função nativa e funciona da mesma maneira!
</p></blockquote>
<p>Procurei algo como <strong>random()</strong> ou <strong>array_rand()</strong> que fosse nativa do <strong>JavaScript</strong>, porém não encontrei. Mas, <a title="Link de referência da função randOrd()" href="http://javascript.about.com/library/blsort2.htm" rel="external">econtrei</a> uma função interessante, que funciona muito bem:</p>
<pre class="syntax-highlight:javascript">
function randOrd() {
    return (Math.round(Math.random())-0.5);
}
</pre>
<p>Caso tenhamos um array como no modelo:</p>
<pre class="syntax-highlight:javascript">
var nome = Array();
nome[0] = &quot;Carlos&quot;;
nome[1] = &quot;João&quot;;
nome[2] = &quot;Leo&quot;;
nome[3] = &quot;Maria&quot;;
nome[4] = &quot;Silvia&quot;;
</pre>
<p>Perceba que os valores de nosso array está em ordem alfabética.<br />
Utilizamos então a função randOrd() em nosso array:</p>
<pre class="syntax-highlight:javascript">
nome.sort(randOrd);
</pre>
<p>Ao imprimir os array, eles estarão desordenados.</p>
<p>Uma maneira de exibí-los é utilizando um for:</p>
<pre class="syntax-highlight:javascript">
totalNomes = nome.sizeOf;
for (i=0; i&lt;totalNomes; i++) {
    document.write(&#039;&lt;br /&gt; Este é o array[&#039;+i+&#039;]: &#039;+nome[i]);
}
</pre>
<p>Este exemplo poderá mostrar:</p>
<p>Este é o array[0]: Maria<br />
Este é o array[1]: João<br />
Este é o array[2]: Leo<br />
Este é o array[3]: Carlos<br />
Este é o array[4]: Silvia</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/leocaseiro?a=nJaLn"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=nJaLn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=O9VpN"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=O9VpN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=pkNNN"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=pkNNN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=s4IEn"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=s4IEn" border="0"></img></a>
</div>]]></content:encoded><description>Este post foi atualizado, pois eu encontrei que existem diversos algoritmos para esta função chamado shuffle()
De qualquer maneira, ainda acredito que este seja o melhor e menor algoritmo.
Então, se quiserem, o melhor nome para esta função é shuffle()
Pois no php, existe esta função nativa e funciona da mesma maneira!

Procurei algo como random() ou array_rand() que [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.leocaseiro.com/funcao-que-ordena-arrays-randomicamente-em-javascript-como-o-shuffle-do-php.html/feed</wfw:commentRss></item><item><title>Qual arquivo da biblioteca jQuery devo utilizar?</title><link>http://www.leocaseiro.com/qual-arquivo-da-biblioteca-jquery-devo-utilizar.html</link><category>Tutorial</category><category>framework</category><category>javascript</category><category>jquery</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Leo Caseiro</dc:creator><pubDate>Tue, 04 Nov 2008 06:06:51 -0600</pubDate><guid isPermaLink="false">http://www.leocaseiro.com/?p=133</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Já utilizo a biblioteca do <strong>Framework em JavaScript <a title="Site do Framework em JavaScript jQuery" rel="external" href="http://jquery.com/">jQuery</a></strong> ha algum tempo. Sempre utilizei o arquivo compactado(Packed), por achar que carregaria mais rápido, afinal é o menor(<i>30.3KB</i>). Mas, o <a title="Artigo do Maujor com introdução ao jQuery" href="http://www.maujor.com/blog/2008/10/22/introducao-a-biblioteca-jquery/" rel="external">dinossauro do CSS(Maujor) explica</a> que por ser um arquivo compactado, demora para ser interpretado. E ainda por cima, ele não fica armazenado em cache.</p>
<p>A partir de hoje, sempre utilizarei o arquivo Minified(<i>54.5KB</i>), que tem o menor peso, o melhor desempenho e ainda é armazenado em cache.</p>
<p>Para quem não sabe, o <a title="Conheça o Maujor" rel="external" href="http://www.maujor.com/blog/sobre/">MAUJOR</a> é um excelente professor e autor. Depois de lançar os livros sobre <a title="Livro sobre CSS do Maujor" rel="external" href="http://www.livrocss.com.br/">CSS</a> e <a title="Livro sobre HTML do Maujor" rel="external" href="http://www.livrohtml.com.br/">XHTML</a>, ele vai lançar um livro sobre jQuery(<a title="Sumário do Livro sobre jQuery do Maujor" href="http://www.livrojquery.com.br/sumario.html" rel="external">leia o sumário do livro</a>). Que com certeza eu irei adquirir. Quem ainda não leu os 2 livros e trabalha com web está perdendo e muito.<br />
E não esqueça, ao usar jQuery, utilize o arquivo minified.</p>
<p>Atualmente, o Framework em JavaScript está na sua versão 1.2.6<br />
Download do arquivo <a title="Download do arquivo jquery-1.2.6.min.js" href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.6.min.js" rel="external">jquery-1.2.6.min.js</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/leocaseiro?a=k2Lln"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=k2Lln" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=7WS1N"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=7WS1N" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=4qyUN"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=4qyUN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=EJFgn"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=EJFgn" border="0"></img></a>
</div>]]></content:encoded><description>Já utilizo a biblioteca do Framework em JavaScript jQuery ha algum tempo. Sempre utilizei o arquivo compactado(Packed), por achar que carregaria mais rápido, afinal é o menor(30.3KB). Mas, o dinossauro do CSS(Maujor) explica que por ser um arquivo compactado, demora para ser interpretado. E ainda por cima, ele não fica armazenado em cache.
A partir de [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.leocaseiro.com/qual-arquivo-da-biblioteca-jquery-devo-utilizar.html/feed</wfw:commentRss></item><item><title>Trocando o $this do php4 por self no php5</title><link>http://www.leocaseiro.com/trocando-o-this-do-php4-por-self-no-php5.html</link><category>Tutorial</category><category>desenvolvimento</category><category>oop</category><category>php</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Leo Caseiro</dc:creator><pubDate>Wed, 29 Oct 2008 11:13:16 -0500</pubDate><guid isPermaLink="false">http://www.leocaseiro.com/?p=150</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Estava criando uma classe em um servidor de um cliente.<br />
Como sempre, utilizo métodos ou atributos de uma mesma classe chamando por <strong>$this</strong>. E tive o mesmo problema que o <a rel="external" href="http://tiagofloriano.com.br/blog/?p=194">Tiago Floriano</a>.<br />
Eu estava desatualizado na linguagem e tive um problema de sintaxes.</p>
<p>Mesmo sendo tudo php, o php5 melhorou sua performance e desempenho, principalmente com questões de OOP. Com isso, algumas sintaxes foram re-estruturadas.</p>
<p>Por isso, o meu código estava aparecendo o seguinte erro: <strong><i>Fatal error: Using $this when not in object context in</i></strong></p>
<p>Depois de muito pesquisar no <a href="http://www.google.com.br" rel="external">pai dos burros</a>, encontrei a <a rel="external" href="http://www.arquivodecodigos.net/arquivo/tutoriais/php/geral/poo1/usando_metodos_estaticos.php">solução</a>. Descobri que trocando o <strong>$this->nomeDoMetodo() </strong> por <strong>self::nomeDoMetodo()</strong> funcionaria no php5.</p>
<p>Mas para mim, não basta ter apenas a solução. Portanto pesquisei mais sobre php5 e sua &#8220;nova&#8221; estrutura de Classes. Que é Composta por Encapsulamento(Public, Protected e Private), Constantes de Classe, Interfaces e Propriedades Estáticas(que é o caso do $this), o Design Pattern Singleton que é muito interessante e outros conceitos que pretendo abordar logo mais.</p>
<p>Se você é tão curioso quanto eu, ou apenas gosta de atualizar-se, leia este <a rel="external" href="http://www.fop.unicamp.br/informatica/index.php?option=com_docman&#038;task=doc_view&#038;gid=3&#038;Itemid=36">material completo em PDF</a> que absorve bastante sobre OOP(Programação Orientada a Objetos) em PHP5.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/leocaseiro?a=Y08Pn"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=Y08Pn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=GZ7BN"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=GZ7BN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=evBTN"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=evBTN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=crnin"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=crnin" border="0"></img></a>
</div>]]></content:encoded><description>Estava criando uma classe em um servidor de um cliente.
Como sempre, utilizo métodos ou atributos de uma mesma classe chamando por $this. E tive o mesmo problema que o Tiago Floriano.
Eu estava desatualizado na linguagem e tive um problema de sintaxes.
Mesmo sendo tudo php, o php5 melhorou sua performance e desempenho, principalmente com questões de [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.leocaseiro.com/trocando-o-this-do-php4-por-self-no-php5.html/feed</wfw:commentRss></item><item><title>Formatar moedas ou números decimais com a função number_format() do PHP</title><link>http://www.leocaseiro.com/formatar-moedas-ou-numeros-decimais-com-a-funcao-number_format-do-php.html</link><category>Tutorial</category><category>função</category><category>php</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Leo Caseiro</dc:creator><pubDate>Fri, 24 Oct 2008 13:50:44 -0500</pubDate><guid isPermaLink="false">http://www.leocaseiro.com/?p=135</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>A <strong>função number_format() do PHP</strong>, além de <strong>trocar ponto(.) por vírgula(,)</strong>, também serve para definir quantas <strong>casas decimais</strong> teremos no valor.</p>
<p>
O número que é em Inglês <i>999.9</i> fica <i>999,90</i> no formato moeda brasileiro.<br />
Além disso, podemos definir se irá exibir algum caracter a cada grupo de milhar(de mil em mil)</p>
<p><strong><i>string number_format ( float $number, int $decimals, string $dec_point, string $thousands_sep )</i></strong></p>
<p>podemos definir por:<br />
<strong><i>valor texto number_format($valor_decimal, $casas_decimais,$caracter_definicao_decimal, $caracter_definicao_milhar)</i></strong></p>
<p>
Por exemplo, se quisermos que o número <i>1000</i> fique como <i>1.000</i>, utilizamos a função desta maneira:</p>
<pre class="syntax-highlight:php">
$valor = 1000;
echo number_format($valor,0,&quot;,&quot;,&quot;.&quot;);
</pre>
<p>
Agora se quisermos que o valor 1,000.9(em formato inglês) tenha o formato 1.000,90(brasileiro), utilize:</p>
<pre class="syntax-highlight:php">
$valor = 1,000.9;
echo number_format($valor,2,&quot;,&quot;,&quot;.&quot;);
</pre>
<p>
Se não quiser que tenha o ponto(.) entre as casas de milhar, deixe com o última parâmetro vazio:</p>
<pre class="syntax-highlight:php">
$valor = 1000.9;
echo number_format($valor,2,&quot;,&quot;,&quot;&quot;);
</pre>
<p>
Existe uma maneira <del datetime="2008-10-24T18:46:06+00:00">gambiarra</del> para formatar número que eu não aconselho a utilizar. Seria algo do tipo: </p>
<pre class="syntax-highlight:php">
$valor = 100.9
echo str_replace(&quot;.&quot;,&quot;,&quot;,$valor);
</pre>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/leocaseiro?a=VEW3n"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=VEW3n" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=6uwwN"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=6uwwN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=JIV4N"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=JIV4N" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/leocaseiro?a=TKztn"><img src="http://feeds.feedburner.com/~f/leocaseiro?i=TKztn" border="0"></img></a>
</div>]]></content:encoded><description>A função number_format() do PHP, além de trocar ponto(.) por vírgula(,), também serve para definir quantas casas decimais teremos no valor.

O número que é em Inglês 999.9 fica 999,90 no formato moeda brasileiro.
Além disso, podemos definir se irá exibir algum caracter a cada grupo de milhar(de mil em mil)
string number_format ( float $number, int $decimals, [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.leocaseiro.com/formatar-moedas-ou-numeros-decimais-com-a-funcao-number_format-do-php.html/feed</wfw:commentRss></item></channel></rss>
