<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>LeoCaseiro Blog</title><description>Programação e Desenvolvimento Web, com PHP, MySQL, JavaScript, jQuery, SEO e muito mais</description><link>https://leocaseiro.com.br/</link><generator>GatsbyJS</generator><lastBuildDate>Tue, 14 Apr 2020 02:50:32 GMT</lastBuildDate><xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item><title><![CDATA[Faça a pergunta correta!]]></title><description><![CDATA[A pergunta correta é a chave para a sua solução! Sempre que fizer a pergunta correta, solucionará o seu problema mais rápido e com muito…]]></description><link>https://leocaseiro.com.br/faca-a-pergunta-correta/</link><guid isPermaLink="false">https://leocaseiro.com.br/faca-a-pergunta-correta/</guid><pubDate>Tue, 01 Apr 2014 13:29:10 GMT</pubDate><content:encoded>&lt;p&gt;A pergunta correta é a chave para a sua solução!&lt;/p&gt;
&lt;p&gt;Sempre que fizer a pergunta correta, solucionará o seu problema mais rápido e com muito mais eficiência.&lt;/p&gt;
&lt;p&gt;Já faz algum tempo que sou voluntário no &lt;a href="http://br.forums.wordpress.org/%E2%80%8E" title="Fórum Brasileiro do WordPress" target="_self" rel="nofollow"&gt;Fórum Brasileiro do WordPress&lt;/a&gt; e vejo muitas perguntas sem o menos sentido. Eu, como voluntário, passo despercebido por perguntas vazias ou sem o menor senso de direção. Prejudicando o usuário questionador intencionalmente.&lt;/p&gt;
&lt;p&gt;Se você vira noite para corrigir bugs gerados por você mesmo ou por alguém do seu time, talvez não seja um problema de conhecimento técnico. Acredito muito na experiência rotineira do dia a dia de um Dev.&lt;/p&gt;
&lt;p&gt;Caso passe muitas horas tentando resolver pequenos problemas de código, bugs gerados acidentalmente ou até mesmo por falta de compatilidade de ambiente homologação/produção, você precisa se re-analisar seu cenário como desenvolvedor.&lt;/p&gt;
&lt;p&gt;A falta de conhecimento técnico nem sempre é o problema ali. Mas sim, a experiência com o idioma. Voltando ao meu post anterior sobre idiomas. O domínio da Língua Inglesa, Portuguesa ou qualquer que seja, faz mais diferença do que o seus anos de estudos em cálculos matemáticas, fluxograma e algoritmos pra regras de negócio.&lt;/p&gt;
&lt;p&gt;Qual o sentido de continuar utilizando o &lt;a href="http://google.com/" title="Google" target="_self" rel="nofollow"&gt;Google&lt;/a&gt; se não encontra suas soluções.&lt;br&gt;
Na minha palestra &lt;a href="http://pt.slideshare.net/leocaseiro/agilize-sua-busca-e-use-rss-seu-favor" title="Palestra Senac 2011 - Agilize sua busca e use RSS a seu favor" target="_self" rel="nofollow"&gt;Agilize sua busca e use RSS a seu favor&lt;/a&gt;, tentei mostrar dicas de como explorar alguns recursos do site de busca mais famoso do mundo.&lt;br&gt;
Utilizando esses recursos de maneira incorreta, o tiro pode sair pela culatra e o seu tempo que é dinheiro pode te dar mais prejuízo que você esperava. Você vai ter um efeito inverso, tendo no seu final de expediente milhares de abas de navegadores abertos com milhares de scripts ou conceitos diferentes para chegarem na sua solução.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;To be ahead!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Tente prever o futuro!&lt;br&gt;
Tenha Foco! Descubra primeiramente qual o seu problema, para só depois reformular a sua pergunta.&lt;/p&gt;
&lt;p&gt;O Google responde tudo, até mesmo se você é inteligente ou não!&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Programador tem que ser fluente (English)]]></title><description><![CDATA[Estudar! Estudar e estudar. Está parecendo que vou re-escrever aquele post de Programador que precisa estudar todo dia, toda hora. Acredite…]]></description><link>https://leocaseiro.com.br/programador-fluente-em-ingles/</link><guid isPermaLink="false">https://leocaseiro.com.br/programador-fluente-em-ingles/</guid><pubDate>Tue, 18 Mar 2014 16:51:49 GMT</pubDate><content:encoded>&lt;p&gt;Estudar! Estudar e estudar. Está parecendo que vou re-escrever aquele post de &lt;a href="https://leocaseiro.com.br/programador-web-estuda-mais-q-medico/" title="Desenvolvedor Web precisa estudar mais do que Médico" target="_self" rel="nofollow"&gt;Programador que precisa estudar todo dia,&lt;/a&gt; toda hora.&lt;/p&gt;
&lt;p&gt;Acredite!&lt;br&gt;
Uma das melhores escolhas da minha carreira, foi dedicar-me um ano de intercâmbio aqui na Austrália para ficar fluente em inglês. Parei de programar e só foquei no idioma.&lt;/p&gt;
&lt;p&gt;Depois de tanto tempo perdendo tempo tentando traduzir documentação por tradutores simultâneos. Fazendo perguntas mirabolantes que nunca se quer foram respondidas em fóruns de conteúdo português. Tanta pergunta que só foi respondida depois de muito tempo...&lt;/p&gt;
&lt;p&gt;Você aí! Que continua resistindo nesta escolha de encontrar tudo no nosso idioma. Acha que evoluir numa tecnologia, num aprendizado de uma nova metodologia, ou até mesmo de uma nova linguagem sem dominar Inglês é fácil? E corrigir um bug com &lt;strong&gt;&lt;em&gt;Log Error?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Faça um teste:&lt;br&gt;
Pesquise sobre qualquer bug. Mas traduza a sua pergunta(&lt;code&gt;pt_br =&gt; en&lt;/code&gt;), e veja quantas respostas são úteis após &lt;strong&gt;&lt;em&gt;a click on the search button&lt;/em&gt;&lt;/strong&gt;.&lt;br&gt;
Depois de fazer a pergunta e encontrar a resposta. Faça a mesma em Português e clique no botão buscar.&lt;/p&gt;
&lt;p&gt;Ta vendo? Só tem porcaria! (espero)&lt;br&gt;
Quando tem solução, é de alguém que sabia inglês e copiou e colou do &lt;a href="http://stackoverflow.com/" title="Stack Overflow" target="_self" rel="nofollow"&gt;stackoverflow&lt;/a&gt;.&lt;br&gt;
Ali sim tem todas as repostas. Ou nas documentações dos Frameworks, Linguagens e Bibliotecas.&lt;/p&gt;
&lt;p&gt;Confira ao seu redor, os programadores bons que você conhece. Palestrantes de grandes eventos. Seus seguidores do &lt;a href="https://github.com/leocaseiro/" title="leocaseiro (Leo Caseiro) on Github" target="_self" rel="nofollow"&gt;Github&lt;/a&gt; e suas conexões do &lt;a href="http://www.linkedin.com/in/leocaseiro" title="Leonardo Adorno Caseiro  | LinkedIn" target="_self" rel="nofollow"&gt;LinkedIn&lt;/a&gt;. Quais desses possuem bons cargos e grandes salários e não dominam o idioma?&lt;/p&gt;
&lt;p&gt;Use o &lt;a href="http://google.com/" title="Google" target="_self" rel="nofollow"&gt;google.com&lt;/a&gt;. O &lt;a href="http://google.com.br/" title="Google Brasil" target="_self" rel="nofollow"&gt;google.com.br&lt;/a&gt; "não funciona" para &lt;strong&gt;&lt;em&gt;source code&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Toda linguagem famosa que tem uma &lt;strong&gt;&lt;em&gt;Library&lt;/em&gt;&lt;/strong&gt;, que por sua vez, possui uma excelente &lt;strong&gt;&lt;em&gt;Documentation&lt;/em&gt;&lt;/strong&gt;. Sabemos que versões novas são lançadas todos os dias...&lt;br&gt;
E documentação vem só após lançamento de versão. Quanto tempo você vai esperar por uma tradução de qualidade? Pra que esperar se você pode ir na fonte e tirar vantagem do seu competidor? Ou você acha que o emprego da moda não é programar &lt;strong&gt;&lt;em&gt;Apps for Android and iPhone&lt;/em&gt;&lt;/strong&gt;?&lt;/p&gt;
&lt;p&gt;Eu fiz essa escolha!&lt;br&gt;
Parei de programar durante 2013 inteiro e com certeza não me arrependo.&lt;/p&gt;
&lt;p&gt;Ta certo que eu devia ter feito em 2011/2012, né? Quanta coisa nova ta rolando por aí e eu to correndo pra me atualizar...&lt;br&gt;
Acho que nunca foi tanta coisa em tão pouco tempo! Ou eu que estava muito antenado?&lt;/p&gt;
&lt;p&gt;Enfim. Perdi toda essa re-estruturação de &lt;strong&gt;&lt;em&gt;Front-End coding&lt;/em&gt;&lt;/strong&gt;. É &lt;a href="http://angularjs.org/" title="AngularJS — Superheroic JavaScript MVW Framework" target="_self" rel="nofollow"&gt;AngularJS&lt;/a&gt;, &lt;a href="http://getbootstrap.com/" title="Boostrap" target="_self" rel="nofollow"&gt;Bootstrap&lt;/a&gt;, &lt;a href="http://www.initializr.com/" title="Initializr - Start an HTML5 Boilerplate project in 15 seconds!" target="_self" rel="nofollow"&gt;Initialirz&lt;/a&gt; com &lt;a href="http://html5boilerplate.com/" title="HTML5 Boilerplate: The web&amp;#x27;s most popular front-end template" target="_self" rel="nofollow"&gt;Boilerplate&lt;/a&gt;, e o tão poderosos &lt;a href="http://gruntjs.com/" title="Grunt: The JavaScript Task Runner" target="_self" rel="nofollow"&gt;GruntJS&lt;/a&gt;, etc etc etc. Sem falar nessa loucura de &lt;a href="http://en.wikipedia.org/wiki/Mobile_application_software" title="Mobile Apps" target="_self" rel="nofollow"&gt;&lt;em&gt;Mobile Apps&lt;/em&gt;&lt;/a&gt; que ta pegando até mais que Web.&lt;/p&gt;
&lt;p&gt;É! Perdi tudo isso! Agora, eu to lendo a documentação na base. De qualquer coisa, estou fazendo os cursos dos renomados websites &lt;a href="http://www.lynda.com/" title="Video tutorials Lynda" target="_self" rel="nofollow"&gt;Lynda.com&lt;/a&gt; e &lt;a href="https://www.coursera.org/" title="Coursera" target="_self" rel="nofollow"&gt;Coursera&lt;/a&gt;.&lt;br&gt;
O que acelerou e muito o meu processo de voltar à ativa com muita qualidade e maturidade no meu código.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;É galera, to meio enferrujado no Português e acabei deixando o post sem muita conclusão. Mas siga o meu conselho! Aprenda inglês. Se não quiser focar 1 ano e parar no dev, faça um curso extensivo nas suas férias. Assista palestras de international developers. Vale muito a pena.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;PS: Google Translate é bom pra estudante de ensino fundamental. Profissional tem que se virar!&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Inserir iframe num Post WordPress com shortcode]]></title><description><![CDATA[Adicione o seguinte código no seu arquivo functions.php  Para usar, basta seguir o exemplo abaixo e inserir no seu post:  Referência…]]></description><link>https://leocaseiro.com.br/inserir-iframe-num-post-wordpress-com-shortcode/</link><guid isPermaLink="false">https://leocaseiro.com.br/inserir-iframe-num-post-wordpress-com-shortcode/</guid><pubDate>Fri, 02 Dec 2011 19:16:16 GMT</pubDate><content:encoded>&lt;p&gt;Adicione o seguinte código no seu arquivo functions.php&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token keyword"&gt;function&lt;/span&gt; &lt;span class="token function"&gt;iframe_shortcode&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token variable"&gt;$atts&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token variable"&gt;$content&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token constant"&gt;null&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
  &lt;span class="token function"&gt;extract&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token function"&gt;shortcode_atts&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token keyword"&gt;array&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;
    &lt;span class="token single-quoted-string string"&gt;'url'&lt;/span&gt;   &lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;''&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
    &lt;span class="token single-quoted-string string"&gt;'scrolling'&lt;/span&gt;     &lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;'no'&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
    &lt;span class="token single-quoted-string string"&gt;'width'&lt;/span&gt;     &lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;'100%'&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
    &lt;span class="token single-quoted-string string"&gt;'height'&lt;/span&gt;    &lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;'500'&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
    &lt;span class="token single-quoted-string string"&gt;'frameborder'&lt;/span&gt;   &lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;'0'&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
    &lt;span class="token single-quoted-string string"&gt;'marginheight'&lt;/span&gt;  &lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;'0'&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
    &lt;span class="token single-quoted-string string"&gt;'style'&lt;/span&gt;  &lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;'border:0'&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token variable"&gt;$atts&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;

  &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token keyword"&gt;empty&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token variable"&gt;$url&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token keyword"&gt;return&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;''&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;

  &lt;span class="token keyword"&gt;return&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;'&amp;lt;iframe class="shortcode" src="'&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token variable"&gt;$url&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'" scrolling="'&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token variable"&gt;$scrolling&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'" width="'&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token variable"&gt;$width&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'" height="'&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token variable"&gt;$height&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'" style="'&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token variable"&gt;$style&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'" frameborder="'&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token variable"&gt;$frameborder&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'" marginheight="'&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token variable"&gt;$marginheight&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'"&gt;'&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token variable"&gt;$content&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'&amp;lt;/iframe&gt;'&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;

&lt;span class="token function"&gt;add_shortcode&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'iframe'&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'iframe_shortcode'&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br&gt;
Para usar, basta seguir o exemplo abaixo e inserir no seu post:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token punctuation"&gt;[&lt;/span&gt;iframe url&lt;span class="token double-quoted-string string"&gt;"https://leocaseiro.com.br/"&lt;/span&gt; width&lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token double-quoted-string string"&gt;"500"&lt;/span&gt; height&lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token double-quoted-string string"&gt;"300"&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br&gt;
Referência &lt;a href="http://www.graphicbeacon.com/web-design-development/embed-an-iframe-into-a-post-or-page-without-using-a-plugin/" target="_self" rel="nofollow"&gt;graphicbeacon.com&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Não deixar Homolog aparecer no Google]]></title><description><![CDATA[Muitos sites que eu desenvolvo precisam de um servidor de Homolog em um domínio/sudomínio. Assim, o cliente pode testar de qualquer lugar…]]></description><link>https://leocaseiro.com.br/nao-deixar-homolog-aparecer-no-google/</link><guid isPermaLink="false">https://leocaseiro.com.br/nao-deixar-homolog-aparecer-no-google/</guid><pubDate>Sun, 18 Sep 2011 11:30:02 GMT</pubDate><content:encoded>&lt;p&gt;Muitos sites que eu desenvolvo precisam de um servidor de Homolog em um domínio/sudomínio. Assim, o cliente pode testar de qualquer lugar que tenha internet.&lt;/p&gt;
&lt;p&gt;Mas já aconteceu comigo(com você provavelmente também) algumas vezes do cliente buscar seu site no Google, e não encontrar o site dele no topo(até porque está em Homolog). Mas...como meus sites são bem customizados para posicionamentos em sites de busca(SEO), o site de Homolog (normalmente &lt;code&gt;http://nomedocliente.leocaseiro.com.br&lt;/code&gt;) aparecerem no Google.&lt;/p&gt;
&lt;p&gt;É isso mesmo! Imagina o cliente encontrar o site que ainda está desenvolvendo. Pior...e se o cliente(usuário) do cliente encontrar o site em Homolog? É um problema que pode até entrar em ação jurídica.&lt;/p&gt;
&lt;p&gt;E a razão deste post é exatamente essa. Previnir que isso aconteça.&lt;/p&gt;
&lt;p&gt;Saiba então, como restringir o seu site em desenvolvimento(homologação) dos resultados de busca do Google.&lt;/p&gt;
&lt;p&gt;Para isso, iremos utilizar o &lt;strong&gt;Robots.txt&lt;/strong&gt; e uma restrição por Senha do Domínio, via &lt;strong&gt;.htaccess&lt;/strong&gt; e &lt;strong&gt;.htpasswd&lt;/strong&gt; conhecida como "Htaccess Authentication", em português, "Autentição por Htaccess".&lt;/p&gt;
&lt;h3&gt;Robots.txt&lt;/h3&gt;
&lt;p&gt;Para ninguém encontrar o Hooolog no Google(Yahoo, Bing, Ask, etc), basta utilizar um arquivo muito conhecido pelos Analistas SEO. Com o Robots.txt, você pode bloquear os sites de busca de seguirem(nofollow) o seu site. Ou seja, que ele não fuçe navegue entre os links e aumente seu Banco de Dados e assim, não Indexar(noindex) os links do seu ambiente de homologação.&lt;/p&gt;
&lt;p&gt;Salve como &lt;em&gt;robost.txt&lt;/em&gt; e deixe este arquivo na raiz(&lt;em&gt;public, www, httpdocs, etc&lt;/em&gt;) do Servidor:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="text"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-text line-numbers"&gt;&lt;code class="language-text"&gt;User-agent: *
Disallow: /&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;Para conhecer mais sobre os Robots.txt, acesse o site &lt;a href="http://www.robotstxt.org/robotstxt.html" target="_self" rel="nofollow"&gt;www.robotstxt.org&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;Htaccess Authentication&lt;/h3&gt;
&lt;p&gt;Mesmo que o site não esteja no Google, pode acontecer de algum usuário encontrar seu site de Homologação. Seja por um teste de Share de Twitter/Facebook que o analista de QA faz(twitter sem querer), ou de qualquer maneira que acidentalmente chegue à algum usuário.&lt;br&gt;
Por isso, recomendo que você bloqueie o acesso por usuário e senha. E a melhor maneira e a mais fácil é pelos arquivos &lt;strong&gt;.htaccess&lt;/strong&gt; e &lt;strong&gt;.htpasswd&lt;/strong&gt; &lt;br&gt;
&lt;br&gt;
Adicione a descrição abaixo no seu arquivo &lt;em&gt;.htaccess&lt;/em&gt;(geralmente no topo dele), mas altere o &lt;code&gt;/path/to/.htpasswd&lt;/code&gt; para o &lt;a href="http://www.htaccesstools.com/articles/full-path-to-file-using-php/" target="_self" rel="nofollow"&gt;path&lt;/a&gt; específico do seu ambiente.&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="text"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-text line-numbers"&gt;&lt;code class="language-text"&gt;AuthType Basic
AuthName &amp;quot;Acesso restrito&amp;quot;
AuthUserFile /path/to/.htpasswd
Require valid-user&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;Para descobrir o seu path via PHP, basta dar um &lt;code&gt;&amp;#x3C;?php echo dirname(__FILE__);?&gt;&lt;/code&gt;.
Para facilitar, existe uma Ferramenta do tipo Wizzard que pode gerar esses arquivos pra você.
Acesse o site &lt;a href="http://www.htaccesstools.com/htaccess-authentication/" target="_self" rel="nofollow"&gt;htaccesstools&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Não basta colocar uma restrição se você não souber a senha, certo?&lt;br&gt;
&lt;br&gt;
Então abaixo, vou lhe mostrar um exemplo de um &lt;em&gt;.htpasswd&lt;/em&gt; gerado com &lt;strong&gt;admin&lt;/strong&gt; e senha &lt;strong&gt;1q2w3e4r&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="text"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-text line-numbers"&gt;&lt;code class="language-text"&gt;admin:$apr1$Gy3X0...$nmRbOnEabkNmH87lfZz2u/&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;Como você ter percebido, é um tipo de hash bem diferente. Para gerá-lo, acesse o site htaccesstools e utilize o &lt;a href="http://www.htaccesstools.com/htpasswd-generator/" target="_self" rel="nofollow"&gt;Htpasswd Generator&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Espero que ajude. Qualquer dúvida comenta ae!&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Liberar acesso externo no PHP para AJAX (crossdomain)]]></title><description><![CDATA[Estou num projeto onde utilizo o PHP para gerar alguns JSON e HTMLs que devem ser acessados de outro domínio. Como eu queria acessar por…]]></description><link>https://leocaseiro.com.br/acesso-externo-php-ajax-crodomain/</link><guid isPermaLink="false">https://leocaseiro.com.br/acesso-externo-php-ajax-crodomain/</guid><pubDate>Thu, 15 Sep 2011 15:25:53 GMT</pubDate><content:encoded>&lt;p&gt;Estou num projeto onde utilizo o PHP para gerar alguns JSON e HTMLs que devem ser acessados de outro domínio.&lt;/p&gt;
&lt;p&gt;Como eu queria acessar por AJAX usando o jQuery, eu precisava liberar o acesso externo com PHP. Afinal um domínio não consegue acessar outro por AJAX sem ter uma liberação.&lt;/p&gt;
&lt;p&gt;Achei que a liberação seria muito difícil. Que eu precisaria habilitar por htaccess ou alguma coisa assim.&lt;/p&gt;
&lt;p&gt;Mas é muito fácil!&lt;/p&gt;
&lt;p&gt;Basta você utilizar o header do php, conforme o exemplo abaixo&lt;/p&gt;
&lt;p&gt;Neste exemplo, libero o acesso somente para um domínio específico:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token function"&gt;header&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'Access-Control-Allow-Origin: http://dominio.com.br'&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Neste exemplo, libero o acesso para qualquer domínio&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token function"&gt;header&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'Access-Control-Allow-Origin: \*'&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;E pronto! Basta acessar a url usando o método $.ajax, $.load, $.get do jQuery ou carregar o ajax da maneira que precisar.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Caso você queira utilizar em ASP.NET ou qualquer outra linguagem, este site deve lhe ajudar &lt;a href="http://enable-cors.org/" target="_self" rel="nofollow"&gt;http://enable-cors.org/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Se você tiver uma maneira mais fácil(duvido) comenta ae. Se não der certo, comenta aí também que a gente tenta ajudar!&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Funções úteis para WordPress no functions.php]]></title><description><![CDATA[Ultimamente tenho feito muitos trabalhos(sites) utilizando o WordPress. E na maioria deles, sempre que utilizo a WP_Query ou até quero…]]></description><link>https://leocaseiro.com.br/funcoes-uteis-para-wordpress/</link><guid isPermaLink="false">https://leocaseiro.com.br/funcoes-uteis-para-wordpress/</guid><pubDate>Wed, 27 Jul 2011 19:41:02 GMT</pubDate><content:encoded>&lt;p&gt;Ultimamente tenho feito muitos trabalhos(sites) utilizando o &lt;a href="http://wordpress.org/" target="_self" rel="nofollow"&gt;WordPress&lt;/a&gt;. E na maioria deles, sempre que utilizo a &lt;a href="http://codex.wordpress.org/Class_Reference/WP_Query" target="_self" rel="nofollow"&gt;WP_Query&lt;/a&gt; ou até quero programar em PHP mesmo, preciso criar ou utilizar uma função no functions.php.&lt;/p&gt;
&lt;p&gt;Mas o que percebi, é que sempre utilizo 3 funções. E resolvi compartilhar, pois se servem pra mim, podem servir para vocês que também trabalham com WordPress.&lt;/p&gt;
&lt;p&gt;As funções servem para habilitar o menu do WordPress, retornar o id pelo permalink(post_name) e utilizar variáveis $_GET com WordPress.&lt;/p&gt;
&lt;br&gt;
&lt;h4&gt;Habilitar Administração de Menus pelo Admin do WordPress no &lt;em&gt;functions.php&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;Quase todos os sites que eu faço, eu habilito os Menus do próprio WordPress. Assim os redatores podem alterar os Menus e seus links&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token comment"&gt;/**
 * Basta inserir esse código no functions.php que já vai aparecer a opção Menu no Admin
 */&lt;/span&gt;
&lt;span class="token function"&gt;add_theme_support&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'menus'&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;h4&gt;Como retornar o id de um post pelo permalink(slug)?&lt;/h4&gt;
&lt;p&gt;Na minha opinião, essa função já devia ser nativa do WordPress, mas enquanto não sai, usem essa aí:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token keyword"&gt;function&lt;/span&gt; &lt;span class="token function"&gt;get_id_by_post_name&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token variable"&gt;$post_name&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    &lt;span class="token keyword"&gt;global&lt;/span&gt; &lt;span class="token variable"&gt;$wpdb&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token variable"&gt;$id&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token variable"&gt;$wpdb&lt;/span&gt;&lt;span class="token operator"&gt;-&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt;&lt;span class="token function"&gt;get_var&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token variable"&gt;$wpdb&lt;/span&gt;&lt;span class="token operator"&gt;-&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt;&lt;span class="token function"&gt;prepare&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token double-quoted-string string"&gt;"SELECT ID FROM &lt;span class="token interpolation"&gt;&lt;span class="token variable"&gt;$wpdb&lt;/span&gt;&lt;span class="token operator"&gt;-&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt;&lt;span class="token property"&gt;posts&lt;/span&gt;&lt;/span&gt; WHERE post_name = '%s'"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token variable"&gt;$post_name&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token keyword"&gt;return&lt;/span&gt; &lt;span class="token variable"&gt;$id&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Para saber mais sobre os Menus Personalizados do WordPress, acesse a documentação do &lt;a href="http://codex.wordpress.org/Function_Reference/wp_nav_menu" target="_self" rel="nofollow"&gt;wp_nav_menu()&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h4&gt;Como utilizar variáveis $_GET no WordPress?&lt;/h4&gt;
&lt;p&gt;O WordPress não deixa trabalharmos com variáveis GET por padrão, mas basta adicionar um filtro na função query_vars com o nome da sua variável e você vai conseguir:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token function"&gt;add_filter&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'query_vars'&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;'customquery_vars'&lt;/span&gt; &lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;function&lt;/span&gt; &lt;span class="token function"&gt;customquery_vars&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt; &lt;span class="token variable"&gt;$qvars&lt;/span&gt; &lt;span class="token punctuation"&gt;)&lt;/span&gt;
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    &lt;span class="token variable"&gt;$qvars&lt;/span&gt;&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;'variavel'&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; &lt;span class="token comment"&gt;//Exemplo: http://url.com.br/?variavel=&lt;/span&gt;
    &lt;span class="token keyword"&gt;return&lt;/span&gt; &lt;span class="token variable"&gt;$qvars&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
Para utilizar no php, utilize conforme o exemplo abaixo:
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token keyword"&gt;global&lt;/span&gt; &lt;span class="token variable"&gt;$wp_query&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;echo&lt;/span&gt; &lt;span class="token variable"&gt;$wp_query&lt;/span&gt;&lt;span class="token operator"&gt;-&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt;&lt;span class="token property"&gt;query_vars&lt;/span&gt;&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'variavel'&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;Se você também costuma utilizar algumas funções no WordPress e o seu functions.php sempre inicia do mesmo jeito, comenta aí que eu atualizo aqui!&lt;/p&gt;
&lt;/blockquote&gt;</content:encoded></item><item><title><![CDATA[Capturando informações do Flickr, Yotube e etc com oEmbed]]></title><description><![CDATA[Estava procurando como inserir videos do Youtube e fotos do Flickr no WordPress e acabei me deparando com um Projeto muito bom, o oEmbed…]]></description><link>https://leocaseiro.com.br/img-flickr-embed-youtube-oembed/</link><guid isPermaLink="false">https://leocaseiro.com.br/img-flickr-embed-youtube-oembed/</guid><pubDate>Tue, 21 Sep 2010 21:50:56 GMT</pubDate><content:encoded>&lt;p&gt;Estava procurando como inserir videos do Youtube e fotos do Flickr no WordPress e acabei me deparando com um Projeto muito bom, o &lt;a href="http://www.oembed.com/" target="_self" rel="nofollow"&gt;&lt;strong&gt;oEmbed&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Descobri lendo uma matéria sobre &lt;a href="http://meiobit.com/69943/coloque-videos-youtube-wordpress-sem-plugins/" target="_self" rel="nofollow"&gt;videos do WordPress&lt;/a&gt; que à partir da versão WordPress 2.9, a equipe do &lt;a href="http://ma.tt/" target="_self" rel="nofollow"&gt;Matt Mullenweg&lt;/a&gt;, a &lt;a href="http://automattic.com/" target="_self" rel="nofollow"&gt;Automattic&lt;/a&gt; introduziu o &lt;a href="http://www.oembed.com/" target="_self" rel="nofollow"&gt;&lt;strong&gt;oEmbed&lt;/strong&gt;&lt;/a&gt; no WordPress. Foi por isso que me interessei e pesquisei sobre ele.&lt;/p&gt;
&lt;p&gt;É simples, ele utiliza as URLs dos melhores serviços de Web2.0, como o Flickr, Vimeo, Youtube, entre outros e retorna um XML ou um JSON para utilizarmos em um EMBED, IMG ou o que seja necessário em seu projeto.&lt;/p&gt;
&lt;h3&gt;Flickr&lt;/h3&gt;
&lt;p&gt;No exemplo do Flickr, utilizei uma &lt;a href="http://www.flickr.com/photos/mbottan/3418061959/" target="_self" rel="nofollow"&gt;foto do Flickr&lt;/a&gt; da blogueira &lt;a href="http://substantivolatil.com/" target="_self" rel="nofollow"&gt;Miriam Bottan&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Percebam que a URL abaixo retorna um XML:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="text"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-text line-numbers"&gt;&lt;code class="language-text"&gt;http://www.flickr.com/services/oembed/?url=http://www.flickr.com/photos/mbottan/3418061959/&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="gatsby-highlight" data-language="text"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-text line-numbers"&gt;&lt;code class="language-text"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;
&amp;lt;oembed&amp;gt;
&amp;lt;version&amp;gt;1.0&amp;lt;/version&amp;gt;
&amp;lt;type&amp;gt;photo&amp;lt;/type&amp;gt;
&amp;lt;author_url&amp;gt;http://www.flickr.com/photos/mbottan/&amp;lt;/author_url&amp;gt;
&amp;lt;cache_age&amp;gt;3600&amp;lt;/cache_age&amp;gt;
&amp;lt;provider_name&amp;gt;Flickr&amp;lt;/provider_name&amp;gt;
&amp;lt;provider_url&amp;gt;http://www.flickr.com/&amp;lt;/provider_url&amp;gt;
&amp;lt;title&amp;gt;Mirian Bottan&amp;lt;/title&amp;gt;
&amp;lt;author_name&amp;gt;Mirian Bottan&amp;lt;/author_name&amp;gt;
&amp;lt;width&amp;gt;333&amp;lt;/width&amp;gt;
&amp;lt;height&amp;gt;500&amp;lt;/height&amp;gt;
&amp;lt;url&amp;gt;http://farm4.static.flickr.com/3622/3418061959_759d05812d.jpg&amp;lt;/url&amp;gt;
&amp;lt;/oembed&amp;gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ou seja, capturamos facilmente a URL da foto e inserimos num elemento img, fora as outras informações que ele retorna no XML.
&lt;br&gt;
&lt;br&gt;
Podemos usar o JSON para Ajax também, desta maneira:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="text"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-text line-numbers"&gt;&lt;code class="language-text"&gt;http://www.flickr.com/services/oembed/?url=http://www.flickr.com/photos/mbottan/3418061959/&amp;amp;format=json&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;&lt;span class="token punctuation"&gt;{&lt;/span&gt;
  &lt;span class="token string"&gt;"author_name"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"Mirian Bottan"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"author_url"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"http://www.flickr.com/photos/mbottan/"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"cache_age"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token number"&gt;3600&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"height"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"500"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"provider_name"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"Flickr"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"provider_url"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"http://www.flickr.com/"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"title"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"Mirian Bottan"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"type"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"photo"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"url"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"http://farm4.static.flickr.com/3622/3418061959_759d05812d.jpg"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"version"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"1.0"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"width"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"333"&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Existem diversos parâmetros para utilizarmos a ferramenta que podem ser encontrados na documentação do &lt;a href="http://www.oembed.com/" target="_self" rel="nofollow"&gt;Site Oficial&lt;/a&gt;.
&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;Youtube&lt;/h3&gt;
&lt;p&gt;Para Youtube, o exemplo foi um video que eu legendei sobre &lt;a href="http://www.youtube.com/watch?v=cm_u2QHwpRk" target="_self" rel="nofollow"&gt;Como segurar uma palheta&lt;/a&gt; do &lt;a href="http://www.justinguitar.com/" target="_self" rel="nofollow"&gt;Justin Guitar&lt;/a&gt;:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="text"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-text line-numbers"&gt;&lt;code class="language-text"&gt;http://www.youtube.com/oembed/?url=http://www.youtube.com/watch?v=cm_u2QHwpRk&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;&lt;span class="token punctuation"&gt;{&lt;/span&gt;
  &lt;span class="token string"&gt;"author_name"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"leobok4"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"author_url"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"http://www.youtube.com/user/leobok4"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"height"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token number"&gt;295&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"html"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"&amp;lt;object width=\"480\" height=\"295\"&gt;&amp;lt;param name=\"movie\" value=\"http://www.youtube.com/v/cm_u2QHwpRk?fs=1\"&gt;&amp;lt;/param&gt;&amp;lt;param name=\"allowFullScreen\" value=\"true\"&gt;&amp;lt;/param&gt;&amp;lt;param name=\"allowscriptaccess\" value=\"always\"&gt;&amp;lt;/param&gt;&amp;lt;/object&gt;"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"provider_name"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"YouTube"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"provider_url"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"http://www.youtube.com/"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"thumbnail_height"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token number"&gt;360&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"thumbnail_url"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"http://i4.ytimg.com/vi/cm_u2QHwpRk/hqdefault.jpg"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"thumbnail_width"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token number"&gt;480&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"title"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"BC-101 Aula Sobre Como Segurar uma Palheta - Aula de Viol\u00e3o - Justin Guitar"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"type"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"video"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"version"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"1.0"&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  &lt;span class="token string"&gt;"width"&lt;/span&gt;&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token number"&gt;480&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;p&gt;O retorno padrão da API no Youtube é em formato &lt;strong&gt;JSON&lt;/strong&gt;, mas podemos retornar em &lt;strong&gt;XML&lt;/strong&gt; se quisermos, basta adicionarmos o parâmetro &lt;strong&gt;format&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="text"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-text line-numbers"&gt;&lt;code class="language-text"&gt;http://www.youtube.com/oembed/?url=http://www.youtube.com/watch?v=cm_u2QHwpRk&amp;amp;format=xml&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="gatsby-highlight" data-language="text"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-text line-numbers"&gt;&lt;code class="language-text"&gt;&amp;lt;oembed&amp;gt;
&amp;lt;provider_url&amp;gt;http://www.youtube.com/&amp;lt;/provider_url&amp;gt;
&amp;lt;title&amp;gt;BC-101 Aula Sobre Como Segurar uma Palheta - Aula de ViolÃ£o - Justin Guitar&amp;lt;/title&amp;gt;
&amp;lt;html&amp;gt;&amp;lt;object width=&amp;quot;480&amp;quot; height=&amp;quot;295&amp;quot;&amp;gt;&amp;lt;param name=&amp;quot;movie&amp;quot; value=&amp;quot;http://www.youtube.com/v/cm_u2QHwpRk?fs=1&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;param name=&amp;quot;allowFullScreen&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;param name=&amp;quot;allowscriptaccess&amp;quot; value=&amp;quot;always&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/object&amp;gt;&amp;lt;/html&amp;gt;
&amp;lt;author_name&amp;gt;leobok4&amp;lt;/author_name&amp;gt;
&amp;lt;height&amp;gt;295&amp;lt;/height&amp;gt;
&amp;lt;thumbnail_width&amp;gt;480&amp;lt;/thumbnail_width&amp;gt;
&amp;lt;width&amp;gt;480&amp;lt;/width&amp;gt;
&amp;lt;version&amp;gt;1.0&amp;lt;/version&amp;gt;
&amp;lt;author_url&amp;gt;http://www.youtube.com/user/leobok4&amp;lt;/author_url&amp;gt;
&amp;lt;provider_name&amp;gt;YouTube&amp;lt;/provider_name&amp;gt;
&amp;lt;thumbnail_url&amp;gt;http://i4.ytimg.com/vi/cm_u2QHwpRk/hqdefault.jpg&amp;lt;/thumbnail_url&amp;gt;
&amp;lt;type&amp;gt;video&amp;lt;/type&amp;gt;
&amp;lt;thumbnail_height&amp;gt;360&amp;lt;/thumbnail_height&amp;gt;
&amp;lt;/oembed&amp;gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;</content:encoded></item><item><title><![CDATA[Classe StringToSlug Versão PHP Server Side]]></title><description><![CDATA[A Classe StringToSlug transforma qualquer String em formato Slug. Transformando os caracteres em letras minúsculas, fazendo uma troca…]]></description><link>https://leocaseiro.com.br/classe-stringtoslug-php/</link><guid isPermaLink="false">https://leocaseiro.com.br/classe-stringtoslug-php/</guid><pubDate>Sun, 25 Jul 2010 14:19:33 GMT</pubDate><content:encoded>&lt;p&gt;A Classe StringToSlug transforma qualquer String em formato Slug. Transformando os caracteres em letras minúsculas, fazendo uma troca/replace de caracteres com acentuação em caracteres não acentuados. E transformando espaços em hífens.&lt;/p&gt;
&lt;blockquote&gt;
&lt;h4&gt;Link para o GitHub&lt;/h4&gt;
&lt;p&gt;&lt;small&gt;Migrado para o GitHub em 28/07/2010 por &lt;a href="http://twitter.com/samirbraga/" target="_self" rel="nofollow"&gt;Samir Braga&lt;/a&gt;&lt;/small&gt;&lt;br&gt;
&lt;a href="http://github.com/samir/StringToSlug" target="_self" rel="nofollow"&gt;StringToSlug PHP&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Existem diversos algoritmos que transformam String em Slugs(permalinks). Mas à maioria com expressões regulares e que retiram qualquer caractere acentuado na língua Portuguesa. Funcionam muito bem no idioma Inglês, mas não resolve para o nosso idioma(Português do Brasil).&lt;/p&gt;
&lt;p&gt;Foi por isso que o &lt;a href="http://twitter.com/samirbraga" target="_self" rel="nofollow"&gt;Samir Braga&lt;/a&gt; criou uma Classe com um algoritmo semelhante à do &lt;a href="https://leocaseiro.com.br/jquery-plugin-string-to-slug" target="_self" rel="nofollow"&gt;jQuery Plugin StringToSlug&lt;/a&gt; feita em PHP. &lt;br&gt;
O Samir à chamou de Permalink. Mas como percebi que na Web o termo SLUG é bem conhecido e utilizado. Deixo com este nome para facilitar quem procura este algoritmo.&lt;/p&gt;
&lt;p&gt;Para quem não sabe o que é um SLUG. É simplesmente uma string transformada em letras minúsculas e sem acentuação. Assim transformamos títulos de artigos em URL amigáveis. Melhorando usabilidade e SEO.&lt;/p&gt;
&lt;p&gt;Caso tenham alguma dúvida/crítica/sugestão deixem nos comentários que farei o possível para responder. Ou outros usuários podem ajudar nas respostas.&lt;/p&gt;
&lt;h3&gt;Os exemplos de como utilizar a classe StringToSlug estão no link:&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://github.com/samir/StringToSlug/blob/master/example.php" target="_self" rel="nofollow"&gt;http://github.com/samir/StringToSlug/blob/master/example.php&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[jQuery Plugin stringToSlug]]></title><description><![CDATA[O plugin jQuery stringToSlug serve para criar URL AMIGÁVEIS (SLUG), conhecidas como permalinks. Download no GitHub (migrado para o GitHub em…]]></description><link>https://leocaseiro.com.br/jquery-plugin-string-to-slug/</link><guid isPermaLink="false">https://leocaseiro.com.br/jquery-plugin-string-to-slug/</guid><pubDate>Thu, 17 Sep 2009 17:47:28 GMT</pubDate><content:encoded>&lt;p&gt;O plugin &lt;strong&gt;jQuery stringToSlug&lt;/strong&gt; serve para criar &lt;a href="https://leocaseiro.com.br/permalinks-wordpress/" target="_self" rel="nofollow"&gt;URL AMIGÁVEIS (SLUG)&lt;/a&gt;, conhecidas como &lt;a href="https://leocaseiro.com.br/permalinks-wordpress/" target="_self" rel="nofollow"&gt;permalinks&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;h4&gt;Download no GitHub (migrado para o GitHub em 26/07/2011)&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Acesse pelo link &lt;a href="http://leocaseiro.github.io/jQuery-Plugin-stringToSlug/" title="Usaje jQuery Plugin StringToSlug" target="_self" rel="nofollow"&gt;http://leocaseiro.github.io/jQuery-Plugin-stringToSlug/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/leocaseiro/jQuery-Plugin-stringToSlug/archive/1.3.zip" title="Download jQuery stringToSlug Plugin" target="_self" rel="nofollow"&gt;jquery.stringToSlug.js 1.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/leocaseiro/jQuery-Plugin-stringToSlug" title="jQuery stringToSlug Plugin no github" target="_self" rel="nofollow"&gt;jQuery stringToSlug Plugin no GitHub para quem quiser contribuir&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;Depois de muito pesquisar um &lt;strong&gt;Plugin em jQuery&lt;/strong&gt; que fizesse isso, encontrei muitos que funcionam para outros idiomas. Mas somente para idiomas que não possuem acentuação.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;JQUERY SLUG PLUGIN (PT-BR Special Chars Replaces)&lt;/em&gt;&lt;br&gt;
&lt;em&gt;JQUERY SIMPLESLUG (PT-BR Special Chars Replaces)&lt;/em&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;Por isso, fiz questão de estudar as melhores features dos 2 plugins, e obviamente, que funcionasse em&lt;/span&gt; Português do Brasil&lt;/strong&gt; [&lt;strong&gt;PT-BR&lt;/strong&gt;].&lt;/p&gt;
&lt;blockquote&gt;
&lt;h4&gt;&lt;a href="http://leocaseiro.github.io/jQuery-Plugin-stringToSlug/" target="_self" rel="nofollow"&gt;Demo&lt;/a&gt;&lt;/h4&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;p&gt;Abaixo, segue a documentação em Inglês, pois pretendo disponibilizar no site da jQuery.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h4&gt;Default Usage:&lt;/h4&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;&lt;span class="token comment"&gt;/**
* Default Events: Blur, KeyUp e KeyDown:
* Default Get Put: #permalink
* Default Space Replacement: - (hiphen)
*/&lt;/span&gt;
&lt;span class="token function"&gt;$&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;document&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;ready&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt; &lt;span class="token keyword"&gt;function&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
  &lt;span class="token function"&gt;$&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"#string"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;stringToSlug&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;h4&gt;The values Default at Plugin Usage:&lt;/h4&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;&lt;span class="token function"&gt;$&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;document&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;ready&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt; &lt;span class="token keyword"&gt;function&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
  &lt;span class="token function"&gt;$&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"#title"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;stringToSlug&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    setEvents&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;'keyup keydown blur'&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
    getPut&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;'#permalink'&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;
    space&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;'-'&lt;/span&gt;
  &lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;h4&gt;Other(s) Event(s) Usage:&lt;/h4&gt;
&lt;p&gt;Para alterar os eventos, devemos inserir 1 ou mais eventos, separados por epaço:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;&lt;span class="token function"&gt;$&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;document&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;ready&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt; &lt;span class="token keyword"&gt;function&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
  &lt;span class="token comment"&gt;//Only Event Blur&lt;/span&gt;
  &lt;span class="token function"&gt;$&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"#only-blur-event"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;stringToSlug&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    setEvents&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"blur"&lt;/span&gt;
  &lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;

  &lt;span class="token comment"&gt;//2 Events or More&lt;/span&gt;
  &lt;span class="token comment"&gt;//This sample, Usage Events: KeyUp and KeyDown&lt;/span&gt;
  &lt;span class="token function"&gt;$&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"#keyup-and-keydown-events"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;stringToSlug&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    setEvents&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"keyup keydown"&lt;/span&gt;
  &lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;h4&gt;Other Get Put Preview Usage:&lt;/h4&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;&lt;span class="token function"&gt;$&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;document&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;ready&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt; &lt;span class="token keyword"&gt;function&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
  &lt;span class="token comment"&gt;//Previem in all texarea&lt;/span&gt;
  &lt;span class="token function"&gt;$&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"input[name=string]"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;stringToSlug&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    getPut&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"textarea"&lt;/span&gt;
  &lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;

  &lt;span class="token comment"&gt;//Preview in all elements preview class&lt;/span&gt;
  &lt;span class="token function"&gt;$&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"#input[name=string]"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;stringToSlug&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    getPut&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;".class"&lt;/span&gt;
  &lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;h4&gt;Replace dash by other char Usage:&lt;/h4&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;&lt;span class="token function"&gt;$&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;document&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;ready&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt; &lt;span class="token keyword"&gt;function&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
  &lt;span class="token comment"&gt;//Replace by underscore&lt;/span&gt;
  &lt;span class="token function"&gt;$&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"#input[name=string]"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;stringToSlug&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    space&lt;span class="token operator"&gt;:&lt;/span&gt; &lt;span class="token string"&gt;"_"&lt;/span&gt;
  &lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;p&gt;Dúvidas e/ou sugestões, favor informar nos comentários. &lt;br&gt;
Melhorias na documentação são bem vindas.&lt;/p&gt;
&lt;br&gt;
&lt;blockquote&gt;
&lt;p&gt;Se este plugin é útil para você, por favor dê um feedback votando no site do jQuery:
&lt;a href="http://plugins.jquery.com/project/stringToSlug" title="jQuery Plugin strinToSlug" target="_self" rel="nofollow"&gt;http://plugins.jquery.com/project/stringToSlug&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;blockquote&gt;
&lt;h4&gt;Versão Server Side em PHP&lt;/h4&gt;
&lt;p&gt;&lt;small&gt;atualizado em 25 de Julho de 2010&lt;/small&gt; &lt;br&gt;
Para visualizar e efetuar o download da Classe em PHP que faz o mesmo que este plugin, acesse o link da &lt;a href="https://leocaseiro.com.br/classe-stringtoslug-php" target="_self" rel="nofollow"&gt;Classe StringToSlug PHP&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</content:encoded></item><item><title><![CDATA[Problemas ao contar caracteres com strlen do PHP]]></title><description><![CDATA[Problema Estava validando uma string que tinha valor máximo de caracteres com a função strlen() do php. Acontece que a função strlen…]]></description><link>https://leocaseiro.com.br/erro-ao-contar-caracteres-com-strlen/</link><guid isPermaLink="false">https://leocaseiro.com.br/erro-ao-contar-caracteres-com-strlen/</guid><pubDate>Thu, 10 Sep 2009 17:22:15 GMT</pubDate><content:encoded>&lt;h4&gt;Problema&lt;/h4&gt;
&lt;p&gt;Estava validando uma string que tinha valor máximo de caracteres com a função &lt;strong&gt;strlen()&lt;/strong&gt; do php.&lt;/p&gt;
&lt;p&gt;Acontece que a função &lt;em&gt;strlen()&lt;/em&gt; funciona muito bem para encoding &lt;strong&gt;iso-8859-1&lt;/strong&gt; ou quando a &lt;strong&gt;string não tem acentuação&lt;/strong&gt;. Ou seja, &lt;strong&gt;quando a string tem um caracter acentuado&lt;/strong&gt; a função retorna um &lt;strong&gt;strlen maior&lt;/strong&gt; do que realmente deveria.&lt;/p&gt;
&lt;p&gt;Para isso, devemos utilizar a função &lt;strong&gt;mb_strlen()&lt;/strong&gt; que possui um &lt;strong&gt;segundo parâmetro&lt;/strong&gt;, &lt;em&gt;onde definimos qual o &lt;strong&gt;encoding utilizado&lt;/strong&gt;&lt;/em&gt;.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h4&gt;Solução&lt;/h4&gt;
&lt;p&gt;Como sempre utilizo encoding &lt;strong&gt;utf8&lt;/strong&gt; nos sites que desenvolvo, tanto no php/MySQL quanto no html, precisei trocar o strlen pelo &lt;strong&gt;mb_strlen():&lt;/strong&gt;&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token function"&gt;mb_strlen&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token variable"&gt;$string_utf8&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;'utf8'&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;p&gt;Para mais informações sobre a função &lt;strong&gt;mb_stren()&lt;/strong&gt; acesse: &lt;br&gt;
&lt;a href="http://us3.php.net/manual/en/function.mb-strlen.php" target="_self" rel="nofollow"&gt;http://us3.php.net/manual/en/function.mb-strlen.php&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Tudo sobre utilizar Permalinks no WordPress]]></title><description><![CDATA[Acompanho muitos feeds de Blogs e a maioria deles é em WordPress. Percebo que alguns blogueiros, por não conhecerem a simplicidade de…]]></description><link>https://leocaseiro.com.br/permalinks-wordpress/</link><guid isPermaLink="false">https://leocaseiro.com.br/permalinks-wordpress/</guid><pubDate>Wed, 20 May 2009 00:46:48 GMT</pubDate><content:encoded>&lt;p&gt;Acompanho muitos feeds de Blogs e a maioria deles é em WordPress.&lt;br&gt;
Percebo que alguns blogueiros, por não conhecerem a simplicidade de utilizarem esta função no WordPress, não utilizam URL Amigáveis.&lt;/p&gt;
&lt;p&gt;Para quem ainda não conhece, &lt;strong&gt;URL Amigáveis&lt;/strong&gt; são aquelas URLs fáceis de serem decoradas. Onde deixamos de utilizar aquelas variáveis via GET que deixam a URL confusa e poluída. Ainda por cima dificulta a indexação do Google.&lt;/p&gt;
&lt;p&gt;Se você precisa de um motivo para alterar os Links Permanentes do seu WordPress, saiba que seus leitores poderão facilmente decorar as URLs de seus posts ou de suas categorias e até mesmo dos seus ficheiros de arquivos antigos.&lt;br&gt;
Além de possuir influência em SEO, uma vez que o Google e os demais buscadores pode indexar as URLs em maior relevância separadas por diretórios(URL amigáveis) ao invés de parâmetros enviados via GET.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Agora vou ensinar como trocar sua URL de:&lt;br&gt;
&lt;code&gt;http://www.meusite.com.br/?p=123&lt;/code&gt;&lt;br&gt;
para&lt;br&gt;
&lt;code&gt;http://www.meusite.com.br/nome-do-meu-post&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;No Tutorial, estou utilizando a &lt;strong&gt;versão 2.7 do WordPress&lt;/strong&gt;, mas seguindo minhas orientações você conseguirá alterar em &lt;strong&gt;qualquer versão do WordPress&lt;/strong&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Antes de mais nada, você precisa habilitar o MOD REWRITE do APACHE. Mas a maioria dos servidores de hospedagem já habilitam essa opção por padrão. Aconselho a utilização de servidores LINUX para o seu WordPress com Apache2.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Após estar Logado em seu wp-admin, clique em Configurações(em algumas traduções você irá clicar em Opções).&lt;/p&gt;
&lt;p&gt;&lt;a href="/img/permalinks-wordpress/menu-configuracoes-wordpress1.jpg" title="Menu de configurações do WordPress"&gt;&lt;img src="/img/permalinks-wordpress/menu-configuracoes-wordpress1.jpg" alt="Menu Configurações do WordPress 2.7" title="Menu de configurações do WordPress"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/img/permalinks-wordpress/links-permanentes-menu-configuracoes-wp.jpg" title="Links Permanentes no Menu Configurações do WordPress"&gt;&lt;img src="/img/permalinks-wordpress/links-permanentes-menu-configuracoes-wp.jpg" alt="Escolha Links Permanentes no menu Configurações" title="Links Permanentes no Menu Configurações do WordPress"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Perceba que o padrão é a opção: &lt;code&gt;http://www.meusite.com.br/?p=123&lt;/code&gt;:&lt;br&gt;
&lt;a href="/img/permalinks-wordpress/permalinks-wp-configuracoes.jpg" title="Links Permanentes - Padrão ?p=123"&gt;&lt;img src="/img/permalinks-wordpress/permalinks-wp-configuracoes.jpg" alt="Links Permanentes - Padrão ?p=123" title="Links Permanentes - Padrão ?p=123"&gt;&lt;/a&gt;\&lt;/p&gt;
&lt;p&gt;Você pode escolher a opção &lt;strong&gt;Mês e nome&lt;/strong&gt; ou &lt;strong&gt;Dia e nome&lt;/strong&gt;, ideais para blogs de notícias, em que a data é importante. E útil deixá-la na própria URL. Assim, o usuário poderá identificar se o post é antigo ou atual.&lt;br&gt;
&lt;a href="/img/permalinks-wordpress/permalink-mes-nome-wordpress.jpg" title="Permalink Mês e Nome pelo WordPress"&gt;&lt;img src="/img/permalinks-wordpress/permalink-mes-nome-wordpress.jpg" alt="Permalink Mês e Nome pelo WordPress" title="Permalink Mês e Nome pelo WordPress"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Perceba, que ao selecionar as opções você pode alterar a Estrutura Personalizada.&lt;br&gt;
&lt;a href="/img/permalinks-wordpress/permalinks-excluir-ano-mes.jpg" title="Permalinks Personalizados no WordPress"&gt;&lt;img src="/img/permalinks-wordpress/permalinks-excluir-ano-mes.jpg" alt="Permalinks Personalizados no WordPress" title="Permalinks Personalizados no WordPress"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A &lt;strong&gt;minha recomendação é deixar apenas &lt;em&gt;/%postname%/&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;a href="/img/permalinks-wordpress/permalink-ideal-wordpress.jpg" title="Permalink recomendado para o WordPress"&gt;&lt;img src="/img/permalinks-wordpress/permalink-ideal-wordpress.jpg" alt="Permalink recomendado para o WordPress" title="Permalink recomendado para o WordPress"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Antigamente, quando utilizava o domínio &lt;em&gt;.com&lt;/em&gt;, deixei os permalinks com &lt;em&gt;.html&lt;/em&gt;. Mas com o tempo percebi que atrapalha a leitura e também dificulta a memorização.&lt;br&gt;
Não pense que a indexação do Google para SEO é melhor com &lt;em&gt;.html&lt;/em&gt; que não é verdade. &lt;br&gt;
&lt;a href="/img/permalinks-wordpress/permalink-html-wordpress.jpg" title="Permalinks com .html no WordPress"&gt;&lt;img src="/img/permalinks-wordpress/permalink-html-wordpress.jpg" alt="Permalinks com .html no WordPress" title="Permalinks com .html no WordPress"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Você também pode incluir o nome da &lt;strong&gt;categoria na URL do post&lt;/strong&gt;. Muito útil para blogs que possuem muitos assuntos. Imagine que você tenha uma seção de esportes e outra de música.&lt;br&gt;
E queira fazer um post sobre o Roberto Carlos(cantor ou jogador?)&lt;br&gt;
Não seria interessante as URLs:&lt;br&gt;
&lt;code&gt;http://www.meusite.com.br/esportes/roberto-carlos/&lt;/code&gt;&lt;br&gt;
e&lt;br&gt;
&lt;code&gt;http://www.meusite.com.br/musica/roberto-carlos/&lt;/code&gt;&lt;br&gt;
Para isso, basta inserir, a variável &lt;strong&gt;%category%&lt;/strong&gt; antes da barra do seu &lt;strong&gt;/%postname%/&lt;/strong&gt;, conforme o meu exemplo:&lt;br&gt;
&lt;a href="/img/permalinks-wordpress/permalink-categoria-nome-post-wp.jpg" title="Permalinks com a Categoria e Nome do Post no WordPress"&gt;&lt;img src="/img/permalinks-wordpress/permalink-categoria-nome-post-wp.jpg" alt="Permalinks com a Categoria e Nome do Post no WordPress" title="Permalinks com a Categoria e Nome do Post no WordPress"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Se quiser customizar sua URL com o nome do autor do post, utilize &lt;strong&gt;%author%&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Mais customizações pela Documentação do WordPress sobre &lt;a href="http://codex.wordpress.org/Using_Permalinks" title="Usando Permalinks do WordPress" target="_self" rel="nofollow"&gt;Using Permalinks&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #800000;"&gt;Muitos blogueiros alteram o nome de suas URLs e acabam se esquecendo de “traduzir” &lt;strong&gt;o category&lt;/strong&gt;(valor padrão para categorias) &lt;strong&gt;para categoria&lt;/strong&gt;. O local para esta tarefa é em &lt;strong&gt;Base da categoria&lt;/strong&gt;.&lt;br&gt;
&lt;a href="/img/permalinks-wordpress/permalink-categorias-wordpress.jpg" title="Permalink da Base de Categorias no WordPress"&gt;&lt;img src="/img/permalinks-wordpress/permalink-categorias-wordpress.jpg" alt="Permalink da Base de Categorias no WordPress" title="Permalink da Base de Categorias no WordPress"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Em alguns servidores, será necessário incluirmos um arquivo &lt;strong&gt;.htaccess&lt;/strong&gt;. &lt;br&gt;
O próprio WordPress costuma nos informar e ainda disponibiliza uma caixa de texto com conteúdo deste arquivo.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Deixarei abaixo o &lt;strong&gt;conteúdo do arquivo .htaccess do WordPress&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="text"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-text line-numbers"&gt;&lt;code class="language-text"&gt;&amp;lt;IfModule mod_rewrite.c&amp;gt;
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
&amp;lt;/IfModule&amp;gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
Caso tenha alguma dúvida, poste nos comentários.
&lt;blockquote&gt;
&lt;p&gt;Aproveito para pedir desculpas sobre minha ausência. Estou envolvido em 3 projetos grandes e como sempre o prazo é curto. Saibam que nem estou lendo meus feeds. &lt;br&gt;
Mas em breve, postarei mais informações sobre WordPress e o Zend Framework. O qual tenho me &lt;a href="https://leocaseiro.com.br/programador-web-estuda-mais-q-medico/" title="Programador Web precisa estudar mais do que Médico" target="_self" rel="nofollow"&gt;dedicado muito tempo&lt;/a&gt;. &lt;br&gt;
&lt;br&gt;
Também deixarei dicas e tutoriais de tudo que aprendi no &lt;a href="http://www.marketingdebusca.com.br/curso-seo/" title="Curso SEO" target="_self" rel="nofollow"&gt;Curso SEO&lt;/a&gt; do professor Paulo do &lt;a href="http://www.marketingdebusca.com.br/" title="Marketing de Busca" target="_self" rel="nofollow"&gt;Marketing de Busca&lt;/a&gt;, e também autor do livro &lt;a href="http://livroseo.com" title="Link permanente Livro SEO Otimização de Sites" target="_self" rel="nofollow"&gt;Livro SEO Otimização de Sites&lt;/a&gt;(li e recomendo) e em breve deixarei informações e algumas dicas para otimização de sites.&lt;/p&gt;
&lt;/blockquote&gt;</content:encoded></item><item><title><![CDATA[Pegadinhas 1º de Abril]]></title><description><![CDATA[Hoje é 1º de Abril, e as pegadinhas já surgiram no dia da Mentira de 2009. Este blog está um pouco desatualizado. Mas não, não é mentira que…]]></description><link>https://leocaseiro.com.br/pegadinhas-1-abril/</link><guid isPermaLink="false">https://leocaseiro.com.br/pegadinhas-1-abril/</guid><pubDate>Wed, 01 Apr 2009 19:55:51 GMT</pubDate><content:encoded>&lt;p&gt;Hoje é 1º de Abril, e as pegadinhas já surgiram no dia da Mentira de 2009.&lt;/p&gt;
&lt;p&gt;Este blog está um pouco desatualizado. Mas não, não é mentira que eu postei ...rsrs&lt;/p&gt;
&lt;p&gt;Fiquei me divertindo com as pegadinhas e vou divulgar aos leitores do Blog.&lt;/p&gt;
&lt;h4&gt;Youtube de cabeça pra baixo&lt;/h4&gt;
&lt;p&gt;O Youtube está virado de cabeça pra baixo.&lt;br&gt;
Para ver esta pegadinha basta adicionar o parâmetro &lt;em&gt;&amp;#x26;flip=1&lt;/em&gt; após a URL do video que você quer brincar.&lt;br&gt;
Veja &lt;a href="http://www.youtube.com/watch?v=BfGSeD_fumQ&amp;#x26;flip=1" title="Youtube dia da mentira" target="_self" rel="nofollow"&gt;http://www.youtube.com/watch?v=BfGSeD_fumQ&amp;#x26;flip=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Perceba que ele exibe um box com a mensagem: "&lt;a href="http://www.youtube.com/t/new_viewing_experience" title="Dicas para visualizar o novo layout " target="_self" rel="nofollow"&gt;Dicas para visualizar o novo layout&lt;/a&gt;"&lt;br&gt;
Ele vai te ensinar quais as melhores maneiras de visualizar o site no 1º de Abril. (não vou estragar a piada)&lt;/p&gt;
&lt;h4&gt;Pegadinha do Chrome 3D&lt;/h4&gt;
&lt;p&gt;Além do Youtube, o Google "está lançando" o &lt;a href="http://www.google.com/intl/en/landing/chrome/cadie/" title="Chrome 3D" target="_self" rel="nofollow"&gt;Chrome 3D&lt;/a&gt; produzido pelo &lt;a href="http://www.google.com/intl/en/landing/cadie/index.html" title="CADIE" target="_self" rel="nofollow"&gt;CADIE&lt;/a&gt;(Cognitive Autoheuristic Distributed-Intelligence Entity) que utiliza estereoscopia pra simular uma tela 3D. (precisa do óculos vermelho/azul para funcionar).&lt;br&gt;
Um site pra quem quer saber mais sobre o estereoscopia é o &lt;a href="http://www.fatorz.com.br/" title="FATORz" target="_self" rel="nofollow"&gt;Fator Z&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Pegadinha Gmail Autopilot&lt;/h4&gt;
&lt;p&gt;O GMAIL por sua vez está com o piloto &lt;a href="http://mail.google.com/mail/help/autopilot/index.html" title="Gmail Autopilot" target="_self" rel="nofollow"&gt;Gmail Autopilot&lt;/a&gt; também produzido pelo &lt;a href="http://www.google.com/intl/en/landing/cadie/index.html" title="CADIE" target="_self" rel="nofollow"&gt;CADIE&lt;/a&gt;.&lt;br&gt;
Este piloto automático ficará(ia) respondendo seus emails automaticamente.&lt;br&gt;
(seria muito bom para aqueles que não conseguem ler e responder todos os emails)&lt;/p&gt;
&lt;p&gt;Alguém podia criar o postador de blogs para os &lt;a href="http://www.leocaseiro.com.br/desculpas-ausencia-twitter-leocaseiro" title="Ausente do Blog, presente no Twitter e estudando ZF" target="_self" rel="nofollow"&gt;blogueiros ocupados&lt;/a&gt; que nem eu. rsrs&lt;/p&gt;
&lt;h4&gt;Pegadinha Save IE6&lt;/h4&gt;
&lt;p&gt;A melhor pegadinha de todas, com certeza é a "campanha para Salvar o IE6". Sim, o &lt;a href="http://www.saveie6.com/" title="Save IE6" target="_self" rel="nofollow"&gt;Save IE6&lt;/a&gt; é um site divulgando uma campanha que pretende salvar o pior browser que já foi "inventado".
Todos nós, desenvolvedores web odiamos este browser. E a campanha é uma sátira com comparações entre o IE6 e outros navegadores, também tem uma sessão com listas do porque é bom usar IE6.
Algo como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Em 2003 era o mais utilizado;&lt;/li&gt;
&lt;li&gt;Não possui BUGs&lt;/li&gt;
&lt;li&gt;Interface limpa&lt;/li&gt;
&lt;li&gt;Altamente seguro(constantemente atualizado) -&gt; essa deve ser a pior&lt;/li&gt;
&lt;li&gt;O primeiro a utilizar o AJAX&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;...e por aí vai.&lt;/p&gt;
&lt;p&gt;Tentei fazer o &lt;a href="http://saveie6.com/download1.php" title="Pegadinha Download IE6 now" target="_self" rel="nofollow"&gt;download sugerido pelo site&lt;/a&gt;, mas qualquer que seja sua resposta das 12 perguntas, o site nunca informará que você pode utilizar o IE6.&lt;/p&gt;
&lt;p&gt;E você? Tem mais alguma pegadinha de 1º de abril?
Posta nos comments ae!&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Ausente do Blog, presente no Twitter e estudando ZF]]></title><description><![CDATA[Este post é para os leitores assíduos deste blog(como se fossem muitos rsrs). Mas serve para quem gostaria de uma opinião sobre Framework…]]></description><link>https://leocaseiro.com.br/desculpas-ausencia-twitter-leocaseiro/</link><guid isPermaLink="false">https://leocaseiro.com.br/desculpas-ausencia-twitter-leocaseiro/</guid><pubDate>Wed, 18 Feb 2009 12:44:54 GMT</pubDate><content:encoded>&lt;p&gt;Este post é para os leitores assíduos deste blog(como se fossem muitos rsrs). Mas serve para quem gostaria de uma opinião sobre Framework PHP.&lt;/p&gt;
&lt;p&gt;Gostaria de agradecer a todos que participam das discussões deste humilde Blog. Principalmente ao &lt;a href="http://feliperibeiro.com/" target="_self" rel="nofollow"&gt;Felipe Ribeiro&lt;/a&gt; e ao &lt;a href="http://montegasppa.blogspot.com/" target="_self" rel="nofollow"&gt;Rodrigo Cacilhas&lt;/a&gt; pelos excelentes comentários e argumentações no &lt;a href="https://leocaseiro.com.br/linguagem-influencia-mais-q-desenvolvedor" target="_self" rel="nofollow"&gt;A Linguagem influencia mais que o desenvolvedor&lt;/a&gt;? Que é de longe o post mais visitado do Blog.&lt;/p&gt;
&lt;p&gt;Peço desculpas para todos os leitores de feed e a todos que esperam por novo conteúdo.&lt;/p&gt;
&lt;p&gt;Neste ano de 2009, venho &lt;a href="https://leocaseiro.com.br/programador-web-estuda-mais-q-medico" target="_self" rel="nofollow"&gt;estudando muita programação&lt;/a&gt; e derivados, além de estar participando de vários projetos contínuos na &lt;a href="http://www.mediadev.com.br/" target="_self" rel="nofollow"&gt;MediaDev&lt;/a&gt;. Estudei diversos CMS para Ecommerces: O &lt;a href="http://www.oscommerce.com/" target="_self" rel="nofollow"&gt;OsCommerce&lt;/a&gt; que virou &lt;a href="http://www.zencart.com/" target="_self" rel="nofollow"&gt;Zen Cart&lt;/a&gt;, o &lt;a href="http://www.prestashop.com/" target="_self" rel="nofollow"&gt;PrestaShop&lt;/a&gt; e o excepcional &lt;a href="http://www.magentocommerce.com/" target="_self" rel="nofollow"&gt;Magento&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;E com a dificuldade de otimização na maioria deles, juntando com a incompatibilidade do Servidor para a utilização do Magento. &lt;a href="http://wellrocha.com.br/" target="_self" rel="nofollow"&gt;Well Rocha&lt;/a&gt; e eu concluímos que o melhor era utilizar um FrameWork.&lt;br&gt;
Após &lt;a href="https://leocaseiro.com.br/programador-web-estuda-mais-q-medico" target="_self" rel="nofollow"&gt;estudarmos muito sobre o assunto&lt;/a&gt; e depois de ficarmos maravilhados com a modularidade do Magento, decidimos que ao invés de utilizarmos o &lt;a href="http://codeigniter.com/" target="_self" rel="nofollow"&gt;CodeIgniter&lt;/a&gt; ou o &lt;a href="http://cakephp.org/" target="_self" rel="nofollow"&gt;CakePHP&lt;/a&gt;, o &lt;a href="http://zendframework.com/" target="_self" rel="nofollow"&gt;Zend Framework&lt;/a&gt; era o mais apropriado. Eu até &lt;a href="http://https://leocaseiro.com.br/linguagem-influencia-mais-q-desenvolvedor" target="_self" rel="nofollow"&gt;comentei no post anterior&lt;/a&gt; que estava pensando em estudá-lo.&lt;/p&gt;
&lt;p&gt;Por ser da &lt;a href="http://www.zend.com/" target="_self" rel="nofollow"&gt;Zend&lt;/a&gt; que desenvolve o &lt;a href="http://www.php.net/" target="_self" rel="nofollow"&gt;PHP&lt;/a&gt; e ser feito todo em PHP5, com uma comunidade que está crescendo no Mundo e no Brasil. É modular, são feitos testes unitários antes de atualizarem uma nova versão, é altamente expansível e milhares de outros motivos. Além do @hilios do &lt;a href="http://www.helloweb.blog.br/" target="_self" rel="nofollow"&gt;Hello Web&lt;/a&gt; que nos ensinou muita coisa e nos motivou a utilizá-lo, apostamos todas as fichas nele. E como esperado, estamos concluindo nosso primeiro sistema em ZF.&lt;br&gt;
Em breve, desejo postar um passo a passo para quem está iniciando no ZF. Enquanto isso, siga-me no Twitter que eu comento diversos componentes dele. &lt;a href="http://twitter.com/leocaseiro" target="_self" rel="nofollow"&gt;@leocaseiro&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Além de estar envolvido neste Ecommerce e &lt;a href="https://leocaseiro.com.br/nao-cobre-como-sobrinhos-p-construir-sites" target="_self" rel="nofollow"&gt;outros projetos por fora&lt;/a&gt;(em WordPress e PHP com OOP), concluí o &lt;a href="http://www.marketingdebusca.com.br/curso-seo/" target="_self" rel="nofollow"&gt;Curso SEO&lt;/a&gt; do &lt;a href="http://www.marketingdebusca.com.br/" target="_self" rel="nofollow"&gt;Marketing de Busca&lt;/a&gt; no início de Janeiro deste ano de 2009 e aprendi muito sobre o assunto. O Paulo é didático e paciente. Perguntei tudo o que podia sobre o assunto e pretendo montar uns artigos em breve.&lt;/p&gt;
&lt;p&gt;Estive presente também no 1o Encontro do &lt;a href="http://phpsp.org.br/" target="_self" rel="nofollow"&gt;PHP-SP&lt;/a&gt;. Presenciei uma palestra com 4 ZCEs(&lt;a href="http://www.augustopascutti.com/" target="_self" rel="nofollow"&gt;Augusto Pascutti&lt;/a&gt;, &lt;a href="http://duodraco.wordpress.com/" target="_self" rel="nofollow"&gt;Duodraco&lt;/a&gt;, &lt;a href="http://ivanrosolen.com/" target="_self" rel="nofollow"&gt;Ivan Rosolen&lt;/a&gt; e &lt;a href="http://www.rafaeldohms.com.br/" target="_self" rel="nofollow"&gt;Rafael Dohms&lt;/a&gt;) focada na prova de Certificação da Zend voltada ao PHP e uma aula com o &lt;a href="http://www.manjaphp.com.br/" target="_self" rel="nofollow"&gt;Edgar da Silva&lt;/a&gt; sobre o Zend FrameWork.&lt;/p&gt;
&lt;p&gt;Olha uma foto ae(sou o de laranja, pra quem não sabe...rsrs)&lt;br&gt;
&lt;a href="http://www.flickr.com/photos/joseluizcoe/3261843948/sizes/h/" title="Primeiro Encontro PHP-SP" target="_self" rel="nofollow"&gt;&lt;img src="/img/desculpas-ausencia-twitter-leocaseiro/encontro-php-sp-2009.jpg" alt="Primeiro Encontro PHP-SP" title="Primeiro Encontro PHP-SP"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Bom, como podem perceber estou &lt;a href="https://leocaseiro.com.br/programador-web-estuda-mais-q-medico" target="_self" rel="nofollow"&gt;estudando bastante&lt;/a&gt; e trabalhando muito. Os 2 em paralelo e com isso é complicado montar artigos de qualidade.
Se quiser, me acompanhe no twitter que eu estou sempre por lá. Geralmente posto métodos e funções do ZF ou assuntos gerais da área. Raramente posto coisas inúteis, como muitos twitters rsrs...&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Siga-me: &lt;a href="http://twitter.com/leocaseiro" target="_self" rel="nofollow"&gt;@leocaseiro&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</content:encoded></item><item><title><![CDATA[Atualize seu navegador, Script do Imasters]]></title><description><![CDATA[Meu colega de trabalho, Pedro Rogério, acabou de me mostrar a última twittada do Imasters.  O Pedro postou no Pinceladas da Web que o…]]></description><link>https://leocaseiro.com.br/atualize-navegador-script-imasters/</link><guid isPermaLink="false">https://leocaseiro.com.br/atualize-navegador-script-imasters/</guid><pubDate>Wed, 07 Jan 2009 15:00:13 GMT</pubDate><content:encoded>&lt;p&gt;Meu colega de trabalho, &lt;a href="http://www.pinceladasdaweb.com.br/blog/" title="Blog Pinceladas da Web" target="_self" rel="nofollow"&gt;Pedro Rogério&lt;/a&gt;, acabou de me mostrar a última &lt;a href="http://twitter.com/iMasters/status/1101851752" title="Twittada do Imasters sobre a Campanha de atualização de Browsers" target="_self" rel="nofollow"&gt;twittada do Imasters&lt;/a&gt;. &lt;br&gt;
O &lt;a href="http://www.pinceladasdaweb.com.br/blog/2009/01/05/2009-o-ano-em-que-o-ie6-faleceu/" title="Post: 2009, o ano em que o IE6 faleceu" target="_self" rel="nofollow"&gt;Pedro postou no Pinceladas da Web&lt;/a&gt; que o navegador IE6 está causando discórdia e desconforto desde 2001. Segundo a Astrologia, o ano 2009 determina o fim do uso do IE6. Espero que esteja certo.&lt;/p&gt;
&lt;p&gt;A divulgação feita pelo Imasters no Twitter mostra que a equipe criou um widget feito em javascript. Este script insere uma barra no topo do site(sem danificar o Layout, óbvio). A barra, conforme a imagem ilustrativa abaixo, exibe um link para todas as versões mais atualizadas dos navegadores.&lt;/p&gt;
&lt;p&gt;&lt;a href="/img/atualize-navegador-script-imasters/atualize-navegador-campanha-imasters1.gif" title="Imagem da Barra do Imasters: Atualize seu navegador"&gt;&lt;img src="/img/atualize-navegador-script-imasters/atualize-navegador-campanha-imasters1.gif" alt="Imagem da Barra do Imasters: Atualize seu navegador" title="Imagem da Barra do Imasters: Atualize seu navegador"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;O Imasters fez a parte deles! Agora vamos fazer a nossa. Você que é desenvolvedor coloque este script em todo site que construir. Assim, ajudaremos com o diminuição de usuários que utilizam browsers antigos, principalmente o IE6.&lt;/p&gt;
&lt;p&gt;Estou também fazendo a minha parte de divulgar essa campanha. Aqui na agência tentaremos inserir este script em todos os sites que construímos. Quem sabe, todos os nossos usuários não irão atualizar os seus navegadores?&lt;/p&gt;
&lt;p&gt;Divulgue essa campanha que é simples e inovadora. O Imasters mostrou mais uma vez, que uma brilhante idéia pode revolucionar o mundo.&lt;/p&gt;
&lt;p&gt;E coloca logo no seu site, eu mesmo já coloquei. Tente acessar o LeoCaseiro.com pelo IE6.&lt;/p&gt;
&lt;p&gt;O script para inserir a barra no site é:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;&lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt;script src&lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token string"&gt;"http://imasters.uol.com.br/crossbrowser/fonte.js"&lt;/span&gt; type&lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token string"&gt;"text/javascript"&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt;&lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt;&lt;span class="token operator"&gt;/&lt;/span&gt;script&lt;span class="token operator"&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;</content:encoded></item><item><title><![CDATA[A Linguagem influencia mais que o desenvolvedor?]]></title><description><![CDATA[Um colega de trabalhado, Felipe Campos, me enviou uma excelente apresentação que fala sobre a força do PHP. Há uns dias atrás, o mesmo…]]></description><link>https://leocaseiro.com.br/linguagem-influencia-mais-q-desenvolvedor/</link><guid isPermaLink="false">https://leocaseiro.com.br/linguagem-influencia-mais-q-desenvolvedor/</guid><pubDate>Fri, 19 Dec 2008 15:48:28 GMT</pubDate><content:encoded>&lt;p&gt;Um colega de trabalhado, Felipe Campos, me enviou uma excelente apresentação que fala sobre a força do PHP.&lt;/p&gt;
&lt;p&gt;Há uns dias atrás, o mesmo colega enviou o link de um post do José Milagre do Portal Imasters que causou um debate sobre a &lt;a href="http://blog.imasters.uol.com.br/josemilagre/2008/12/11/responda-se-puder-aspnet-ou-php/" title="Responda se puder: ASP ou PHP?" target="_self" rel="nofollow"&gt;escolha entre PHP ou .NET&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Alguns programadores preconceituosos dizem que o PHP serve para trabalar com &lt;a href="http://desciclo.pedia.ws/wiki/POG" title="Programação Orientada a Gambiarra" target="_self" rel="nofollow"&gt;POG&lt;/a&gt;. Mas, você que programa em PHP se considera um moleque? Ou um programador que só faz gambiarras?&lt;/p&gt;
&lt;p&gt;Eu não!&lt;br&gt;
Sempre modelo minhas &lt;a href="http://pt.wikipedia.org/wiki/UML" title="external" target="_self" rel="nofollow"&gt;UMLs&lt;/a&gt;, estou migrando agora para &lt;a href="http://pt.wikipedia.org/wiki/MVC" title="Model View Controller" target="_self" rel="nofollow"&gt;MVC&lt;/a&gt; com a ajuda dos FrameWorks(comecei pelo &lt;a href="http://www.codeigniter.com.br/manual/" title="Manual do CodeIgniter traduzido para o Português" target="_self" rel="nofollow"&gt;CodeIgniter&lt;/a&gt;, mas estou querendo trabalhar com o &lt;a href="http://framework.zend.com/" title="Site Oficial do ZendFramework" target="_self" rel="nofollow"&gt;ZendFramework&lt;/a&gt;).&lt;br&gt;
E vão me dizer que é uma linguagem ruim, que só funciona com gambiarras ou é coisa de moleque?&lt;/p&gt;
&lt;p&gt;Saiba que um dos portais de mais acesso no mundo é feito em PHP, o famoso compartilhador de vídeos &lt;a href="http://br.youtube.com/" title="YouTube" target="_self" rel="nofollow"&gt;YouTube&lt;/a&gt;.&lt;br&gt;
O &lt;a href="http://g1.globo.com/" title="G1, portal de notícias da Globo" target="_self" rel="nofollow"&gt;G1, portal de notícias da Rede Globo&lt;/a&gt;, com um dos melhores conteúdos na rede utiliza &lt;a href="http://br.wordpress.org/" title="Site Oficial do WordPress do Brasil" target="_self" rel="nofollow"&gt;WordPress&lt;/a&gt;, um CMS também em PHP, em muitos blogs(senão todos).&lt;br&gt;
O mesmo CMS é utilizado no site do &lt;a href="http://www.cultura.gov.br/" title="Ministério da Cultura" target="_self" rel="nofollow"&gt;Ministério da Cultura&lt;/a&gt;.&lt;br&gt;
E milhares de outras ferramentas pela rede são criadas com o PHP.&lt;/p&gt;
&lt;p&gt;O Felipe faz uma brincadeira com um print do ORKUT(feito em .NET) que exibe um erro.&lt;/p&gt;
&lt;p&gt;Outro dia, recebi um email-marketing do maior e-commerce brasileiro, o Submarino e nele possuia um link que exibia erros absurdos em .net(até hoje &lt;a href="http://www.submarino.com.br/meusubmarino/?&amp;#x26;franq=124945" title="Link do Submarino com erro de .NET" target="_self" rel="nofollow"&gt;este link possui falhas&lt;/a&gt;, confira). A falha é tão grande que deixa à mostra o endereço completo de algumas DLLs.&lt;br&gt;
Imagine quantas pessoas não encontraram este erro? O Mailing deles deve ser enorme e desde que recebi este email(dia 8/12) está com esta falha.&lt;/p&gt;
&lt;p&gt;Eu não acredito que seja um problema da linguagem, mas sim do desenvolvedor.&lt;/p&gt;
&lt;p&gt;O que eu quero mostrar nesse post é que a ferramenta em si pode ser construída em qualquer linguagem. Se temos um desenvolvedor que conhece a fundo e sabe o poder da linguagem, ele vai construir excelentes ferramentas.&lt;/p&gt;
&lt;p&gt;A minha linguagem predileta e que tenho mais domínio é o PHP. Infelizmente pseudo-desenvolvedores queimaram a linguagem e o mercado se desvalorizou. O .NET cresceu e o &lt;a href="http://www.rubyonrails.org/" title="Ruby on Rails" target="_self" rel="nofollow"&gt;RoR(Ruby on Rails)&lt;/a&gt; está na moda.&lt;/p&gt;
&lt;p&gt;Ambos são FrameWorks e não apenas linguagens de programação.&lt;br&gt;
O .NET tem a vantagem de exportar uma DLL compilada, mas as 3 linguagens são poderosas.&lt;/p&gt;
&lt;p&gt;Os FrameWorks com o Design Patterns MVC estão cada vez mais na moda. Eu já estou migrando.&lt;br&gt;
E você? Já utiliza um FrameWork?&lt;/p&gt;
&lt;p&gt;Você tem preconceitos com alguma linguagem de Programação? Qual? Por quê?&lt;/p&gt;
&lt;p&gt;Dê uma olhada na apresentação de uma palestra do &lt;a href="https://twitter.com/felipernb" title="Felipe Ribeiro" target="_self" rel="nofollow"&gt;Felipe Ribeiro&lt;/a&gt; e deixe sua opinião nos comentários.&lt;/p&gt;
&lt;iframe src="//www.slideshare.net/slideshow/embed_code/key/3OaEwzTtKaIkbX" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen&gt; &lt;/iframe&gt; &lt;div style="margin-bottom:5px"&gt; &lt;strong&gt; &lt;a href="//www.slideshare.net/vagner4work/php-no-coisa-de-moleque" title="PHP não é coisa de moleque" target="_blank"&gt;PHP não é coisa de moleque&lt;/a&gt; &lt;/strong&gt; por &lt;strong&gt;&lt;a href="https://twitter.com/felipernb" target="_blank" rel="noopener noreferrer"&gt;Felipe Ribeiro&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;</content:encoded></item><item><title><![CDATA[Você cobra como sobrinhos para construir um site?]]></title><description><![CDATA[Encontrei um vídeo com excelente abordagem sobre orçamentos de uma homepage. A palestra do professor da Infset é mais focada em Webdesigners…]]></description><link>https://leocaseiro.com.br/nao-cobre-como-sobrinhos-p-construir-sites/</link><guid isPermaLink="false">https://leocaseiro.com.br/nao-cobre-como-sobrinhos-p-construir-sites/</guid><pubDate>Mon, 15 Dec 2008 00:20:45 GMT</pubDate><content:encoded>&lt;p&gt;Encontrei um vídeo com excelente abordagem sobre &lt;strong&gt;orçamentos de uma homepage&lt;/strong&gt;. A palestra do professor da &lt;a href="http://www.infnet.edu.br" title="Site oficial do Institulo Infset" target="_self" rel="nofollow"&gt;Infset&lt;/a&gt; é mais focada em Webdesigners, mas acredito que todos que trabalham na área já se depararam num momento desses.&lt;/p&gt;
&lt;p&gt;O também freelancer, &lt;strong&gt;Sandro Reiller&lt;/strong&gt;, discute situações de primeiro contato com o cliente. O foco principal é aquela pergunta conhecida:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;"Quanto você cobra por um site? Ele é simples, tem apenas alguns links, umas fotos e a história da empresa, uma animação básica em Flash. Coisa bem simples!"&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Assim como meu ex-professor de faculdade, &lt;a href="http://www.mavu.com.br/" title="Portifólio do meu ex-professor Rodrigo Mavu" target="_self" rel="nofollow"&gt;Rodrigo Mavu&lt;/a&gt;, Sandro comenta que os pseudo-designers(os sobrinhos) acabam com o mercado.&lt;/p&gt;
&lt;p&gt;Alguns exemplos de como se portar nas reuniões de seus clientes são citados na palestra. Uma situação que eu até dei muita risada, foi a resposta do Sandro para um dentista que lhe solicitou um orçamento de um site simples:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;"Quanto você cobra para cuidar da minha boca? Ela tem aproximadamente 32 dentes e uma língua normal. É uma boca simples."&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;O foco desta etapa da palestra é mobilizar o cliente e impressioná-lo, criando uma situação que todo o designer e programador passa. Ele explica que não existe uma tabela. cada caso é um caso.&lt;/p&gt;
&lt;p&gt;Esses e outros casos são expostos na palestra. Se você estiver interessado e disposto a assistir o video completo, confira na seção &lt;a href="http://www.infnet.edu.br/promo/infnetnews/ed09/videos.html" title="Assista os vídeos das palestras da Infnet" target="_self" rel="nofollow"&gt;video do site da Infnet&lt;/a&gt;. O video possui a média de duas horas de duração. Com certeza não é nenhum tempo perdido. Aproveite suas horas vagas e saiba quanto cobrar pela sua prestação de serviço.
Aproveite, depois de assistir o vídeo, opinando nos comentários.&lt;/p&gt;
&lt;p&gt;Fonte: &lt;a href="http://www.mateussouza.web44.net/" title="Blog do Mateus Souza" target="_self" rel="nofollow"&gt;Mateus Souza&lt;/a&gt; - &lt;a href="http://www.mateussouza.web44.net/tudo/quanto-cobrar-por-um-site" title="Fonte sobre quanto cobrar por um site" target="_self" rel="nofollow"&gt;Quanto cobrar por um site?&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Obs: Em Dezembro do ano passado(2007), a INFO disponibilizou uma &lt;a href="http://info.abril.com.br/carreira/salarios.shl" title="Tabela de salários nas áreas de TI" target="_self" rel="nofollow"&gt;tabela de salários&lt;/a&gt; para as carreiras da nossa área.&lt;/p&gt;
&lt;/blockquote&gt;</content:encoded></item><item><title><![CDATA[Manual do PHP na própria Máquina em Português do Brasil (PT-BR)]]></title><description><![CDATA[Estava desenvolvendo uma classe aqui na minha máquina local e esqueci o nome de uma função. Eu entraria no site do php ou procuraria no pai…]]></description><link>https://leocaseiro.com.br/manual-php-propria-maquina-pt-br/</link><guid isPermaLink="false">https://leocaseiro.com.br/manual-php-propria-maquina-pt-br/</guid><pubDate>Thu, 11 Dec 2008 12:00:36 GMT</pubDate><content:encoded>&lt;p&gt;Estava desenvolvendo uma classe aqui na minha máquina local e esqueci o nome de uma função. Eu entraria no &lt;a href="http://www.php.net/manual/pt_BR/index.php" title="Manual do PHP OnLine" target="_self" rel="nofollow"&gt;site do php&lt;/a&gt; ou procuraria no &lt;a href="http://google.com.br" title="Buscador Google" target="_self" rel="nofollow"&gt;pai dos burros&lt;/a&gt;, mas estava sem internet(percebi o quanto sou dependente de um &lt;a href="http://google.com.br" title="Buscador Google" target="_self" rel="nofollow"&gt;site de buscas&lt;/a&gt; e da web).&lt;/p&gt;
&lt;p&gt;Aí eu te pergunto se você(assim como eu) se encaixa em algum dessas opções&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Você não conhece todas as funções do PHP&lt;/li&gt;
&lt;li&gt;Você não lembra todos os nomes das funções ou as confude(afinal, errar é humano)&lt;/li&gt;
&lt;li&gt;Você conhece uma função, mas não sabe se existe alguma semelhante ou que sirva melhor para seu algoritmo&lt;/li&gt;
&lt;li&gt;Você deixa a página do php como inicial do seu navegador&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;É, acredito que se algum dia você desenvolveu, ou se ainda programa em PHP, se encaixa em um dos perfis acima.&lt;/p&gt;
&lt;p&gt;Não dependa mais da web e faça o &lt;a href="http://www.php.net/distributions/manual/php_manual_pt_BR.chm" title="Link para o download do arquivo de ajuda do PHP em Português do Brasil (PT-BR)" target="_self" rel="nofollow"&gt;download do arquivo de ajuda do manual do PHP&lt;/a&gt; em Português do Brasil.&lt;/p&gt;
&lt;p&gt;Caso você queira o arquivo em outro idioma clique no link abaixo:
&lt;a href="http://www.php.net/distributions/manual/php_manual_pt_BR.chm" title="Link para a lista de arquivos de ajuda do PHP em todos os idiomas" target="_self" rel="nofollow"&gt;http://www.php.net/distributions/manual/php_manual_pt_BR.chm&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Atenção: Caso o seu arquivo não abrir ou exibir algo como "A página não pode ser exibida", então clique com o botão direito do mouse e clique em Desbloquear.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="/img/manual-php-propria-maquina-pt-br/desbloquear-arquivo-ajuda1.jpg" title="Desbloqueando o Arquivo de Ajuda do PHP"&gt;&lt;img src="/img/manual-php-propria-maquina-pt-br/desbloquear-arquivo-ajuda1.jpg" alt="Desbloqueando o Arquivo de Ajuda do PHP" title="Desbloqueando o Arquivo de Ajuda do PHP"&gt;&lt;/a&gt;&lt;br&gt;
&lt;small&gt;Desbloqueando o Arquivo de Ajuda&lt;/small&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/img/manual-php-propria-maquina-pt-br/desbloquear-arquivo-ajuda-passo21.jpg" title="Arquivo de Ajuda do PHP desbloqueado"&gt;&lt;img src="/img/manual-php-propria-maquina-pt-br/desbloquear-arquivo-ajuda-passo21.jpg" alt="Arquivo de Ajuda do PHP desbloqueado" title="Arquivo de Ajuda do PHP desbloqueado"&gt;&lt;/a&gt;&lt;br&gt;
&lt;small&gt;Arquivo de Ajuda do PHP desbloqueado&lt;/small&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Obs: algumas funções ou referências ainda não foram 100% traduzidas.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Abaixo deixo algumas dicas de como utilizar este manual como arquivo ajuda.&lt;/p&gt;
&lt;p&gt;Temos o Sumario que é praticamente a copia do site na web.&lt;/p&gt;
&lt;p&gt;&lt;a href="/img/manual-php-propria-maquina-pt-br/ajuda-php-sumario-indice1.jpg" title="Sumário da Ajuda do PHP"&gt;&lt;img src="/img/manual-php-propria-maquina-pt-br/ajuda-php-sumario-indice1.jpg" alt="Sumário da Ajuda do PHP" title="Sumário da Ajuda do PHP"&gt;&lt;/a&gt;&lt;br&gt;
&lt;small&gt;Sumário da Ajuda do PHP&lt;/small&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/img/manual-php-propria-maquina-pt-br/ajuda-php-sumario-navegando-conteudo1.jpg" title="Navegando pelo Conteúdo do Sumário da Ajuda do PHP"&gt;&lt;img src="/img/manual-php-propria-maquina-pt-br/ajuda-php-sumario-navegando-conteudo1.jpg" alt="Navegando pelo Conteúdo do Sumário da Ajuda do PHP" title="Navegando pelo Conteúdo do Sumário da Ajuda do PHP"&gt;&lt;/a&gt;&lt;br&gt;
&lt;small&gt;Navegando pelo Conteúdo da Ajuda do PHP&lt;/small&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Quando abrimos a ABA Índice, podemos utilizar como um auto-completar de todas as funções do PHP. É ótimo para lembrarmos o "resto" do nome daquela função.&lt;br&gt;
&lt;a href="/img/manual-php-propria-maquina-pt-br/ajuda-php-indice-auto-completar1.jpg" title="Auto-Completar na Aba Índice pela Ajuda do PHP"&gt;&lt;img src="/img/manual-php-propria-maquina-pt-br/ajuda-php-indice-auto-completar1.jpg" alt="Auto-Completar na Aba Índice pela Ajuda do PHP" title="Auto-Completar na Aba Índice pela Ajuda do PHP"&gt;&lt;/a&gt;&lt;br&gt;
&lt;small&gt;Auto-Completar na Aba Índice pela Ajuda do PHP&lt;/small&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Algo que não poderia faltar é um sistema de Busca. Serve para quando não conseguir encontrar nada pelo Auto-completar. Este eu recomendo até utilizar antes do Google.&lt;br&gt;
&lt;a href="/img/manual-php-propria-maquina-pt-br/ajuda-php-resultados-pesquisa1.jpg" title="Resultados da pesquisa feita na Ajuda do PHP"&gt;&lt;img src="/img/manual-php-propria-maquina-pt-br/ajuda-php-resultados-pesquisa1.jpg" alt="Resultados da pesquisa feita na Ajuda do PHP" title="Resultados da pesquisa feita na Ajuda do PHP"&gt;&lt;/a&gt;&lt;br&gt;
&lt;small&gt;Resultados da pesquisa feita na Ajuda do PHP&lt;/small&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;E para finalizar, guarde as "páginas" mais utilizadas nos Favoritos. É bem no estilo Web2.0. Caso você queira guardar a página que está sendo visualizada. abra a aba Favoritos e clique lá embaixo à esquerda em Adicionar. Antes de adicionar você pode até alterar o nome que será exibido na sua lista. O mesmo poderá ser alterado ou excluído mais tarde.&lt;br&gt;
&lt;a href="/img/manual-php-propria-maquina-pt-br/ajuda-php-favoritos1.jpg" title="Favoritos ou Bookmarks da Ajuda do PHP"&gt;&lt;img src="/img/manual-php-propria-maquina-pt-br/ajuda-php-favoritos1.jpg" alt="Favoritos ou Bookmarks da Ajuda do PHP" title="Favoritos ou Bookmarks da Ajuda do PHP"&gt;&lt;/a&gt;&lt;br&gt;
&lt;small&gt;Favoritos ou Bookmarks da Ajuda do PHP&lt;/small&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Saiba que o conteúdo é excelente para novatos(pois tem desde a história do PHP) até aos mais avançados(possui toda a documentação da linguagem).&lt;br&gt;
Acreditem, descobri até que possui uma função chamada &lt;code&gt;dotnet_load();&lt;/code&gt;, provavelmente o PHP roda até script em .NET.&lt;/p&gt;
&lt;/blockquote&gt;</content:encoded></item><item><title><![CDATA[Golpe para roubar senhas do Banco Real pelos Links Patrocinados do Google]]></title><description><![CDATA[Não é mentira! Acredite se quiser. E caso não acredite em mim! Faça o teste pelo Google. Após digitar "Banco Real" na busca do Google…]]></description><link>https://leocaseiro.com.br/golpe-banco-real-links-patrocinados/</link><guid isPermaLink="false">https://leocaseiro.com.br/golpe-banco-real-links-patrocinados/</guid><pubDate>Tue, 09 Dec 2008 22:21:30 GMT</pubDate><content:encoded>&lt;p&gt;Não é mentira! Acredite se quiser. E caso não acredite em mim! Faça o teste pelo Google.&lt;/p&gt;
&lt;p&gt;Após digitar "Banco Real" na busca do Google, encontrei um plagio do Internet Banking do Banco Real que aparece em Links Patrocinados. &lt;del&gt;Eles devem ter aproveitado que o Banco Real não o fez&lt;/del&gt;, não tinha feito(O Banco Real utiliza os Links Patrocinados desde a divulgação deste post), e então &lt;del&gt;aparecem&lt;/del&gt; apareciam sempre em primeiro. Como devem saber, randomicamente o Google exibe o Link Patrocinado embaixo do campo de busca. Para usuários comuns, interpretam como sendo o primeiro resultado. Ou seja, acreditam fielmente que é o Site Oficial.&lt;br&gt;
&lt;a href="/img/golpe-banco-real-links-patrocinados/links-patronicados-golpe-banco-real1.jpg" title="Falso site do Banco Real aparece nos Links Patrocinados"&gt;&lt;img src="/img/golpe-banco-real-links-patrocinados/links-patronicados-golpe-banco-real1.jpg" alt="Falso site do Banco Real aparece nos Links Patrocinados" title="Falso site do Banco Real aparece nos Links Patrocinados"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Estou chocado com o GOLPE que percebi de imediato!&lt;/p&gt;
&lt;p&gt;Acredito que 98% dos leitores seriam capazes de identificar este Golpe. Mas por gentileza, avisem aos seus colegas que são usuários comuns. Até mesmo, algum usuário com pressa e desatento poderia cair numa armadilha dessas.&lt;/p&gt;
&lt;p&gt;É impressionante a qualidade do Golpe.&lt;/p&gt;
&lt;p&gt;Um usuário comum ou até um desatento não perceberia em momento algum que passa de um site corrupto.
Os marginais desenvolveram um site que possui o Layout idêntico ao Site Oficial e utilizam os Links patrocinados do Google para aparecerem até mesmo antes do Site Oficial.&lt;/p&gt;
&lt;p&gt;A home é idêntica ao site oficial. Como fiquei impressionado, segui por todos os campos para analisar o Golpe.&lt;br&gt;
&lt;a href="/img/golpe-banco-real-links-patrocinados/golpe-banco-real-home1.jpg" title="Home do plágio do Banco Real para Golpe"&gt;&lt;img src="/img/golpe-banco-real-links-patrocinados/golpe-banco-real-home1.jpg" alt="Home do plágio do Banco Real para Golpe" title="Home do plágio do Banco Real para Golpe"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Após digitar os dados na Home, temos um teclado virtual idêntico ao site oficial do Banco Real. Testei utilizar o teclado, e não funcionou. O desenvolvedor sabia mesmo o que estava fazendo.&lt;br&gt;
&lt;a href="/img/golpe-banco-real-links-patrocinados/taclado-falso-do-golpe-do-banco-real1.jpg" title="Falso teclado para o Golpe do Banco Real"&gt;&lt;img src="/img/golpe-banco-real-links-patrocinados/taclado-falso-do-golpe-do-banco-real1.jpg" alt="Falso teclado para o Golpe do Banco Real" title="Falso teclado para o Golpe do Banco Real"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A partir daí, eles já sabem a sua senha. E podem visualizar toda a sua conta. Mas com apenas estes dados, os marginais não podem. Portanto, eles redirecionam para uma janela(que não existe no Site Oficial) e solicitam o seu CPF e sua senha. Percebam que a senha solicitada é a do Disque Real.&lt;br&gt;
&lt;a href="/img/golpe-banco-real-links-patrocinados/digite-o-cpf-golpe-do-banco-real1.jpg" title="Digite o CPF e senha do Disque Real para o Golpe do Banco Real"&gt;&lt;img src="/img/golpe-banco-real-links-patrocinados/digite-o-cpf-golpe-do-banco-real1.jpg" alt="Digite o CPF e senha do Disque Real para o Golpe do Banco Real" title="Digite o CPF e senha do Disque Real para o Golpe do Banco Real"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Após digitar os dados, eles exibem uma janela de erro. O impressionante, é que a semelhança dessa janela de erro com alguns alertas do site oficial são imperceptíveis até mesmo para quem utiliza esse serviço diariamente.&lt;br&gt;
&lt;a href="/img/golpe-banco-real-links-patrocinados/golpe-de-erro-do-site-falso-banco-real1.jpg" title="Golpe de erro do site falso do Banco Real"&gt;&lt;img src="/img/golpe-banco-real-links-patrocinados/golpe-de-erro-do-site-falso-banco-real1.jpg" alt="Screenshot do Golpe de erro do site falso do Banco Real" title="Golpe de erro do site falso do Banco Real"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Com o seu CPF eles podem, pelo próprio Google, descobrir todos os seus dados e aplicarem vários Golpes. Principalmente pelo Disque Real, que é extremamente seguro, porém se você não divulgar a sua senha. Em algumas movimentações, o atendente solicita alguns dados pessoais para comprovação. Dados que os marginais podem descobrir facilmente pelo Google.&lt;/p&gt;
&lt;p&gt;Percebam que em momento algum, o site possui a chave de segurança, conseguindo com o https!&lt;/p&gt;
&lt;p&gt;Por favor, divulguem isso para todos que vocês conheçam!&lt;/p&gt;
&lt;p&gt;Obviamente, não é um email mentiroso! Eu mesmo fiz esses screenshots e essas marcações! Caso não acredite, teste você mesmo!&lt;/p&gt;
&lt;p&gt;Obs: Não vá digitar os seus dados corretamente e depois me xingar, né? rsrs&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Uma dica para você dificultar cair num golpe desses. Sempre que for acessar sua conta do banco, preencha a senha pela primeira vez incorretamente. Se for realmente seu banco, irá informar um erro de usuário. Aí você pode confiar um pouco mais para digitar novamente. Só não vai errar 3 vezes e bloquear a senha, né?&lt;/p&gt;
&lt;/blockquote&gt;</content:encoded></item><item><title><![CDATA[Ajude desabrigados de Santa Catarina]]></title><description><![CDATA[Lendo meus feeds, encontrei a maravilhosa atitude solidária do Fique-Rico.  Um blog que ensina os blogueiros a ganharem dinheiro, e agora…]]></description><link>https://leocaseiro.com.br/ajude-desabrigados-sc/</link><guid isPermaLink="false">https://leocaseiro.com.br/ajude-desabrigados-sc/</guid><pubDate>Mon, 01 Dec 2008 20:46:57 GMT</pubDate><content:encoded>&lt;p&gt;Lendo meus feeds, encontrei a maravilhosa atitude solidária do &lt;a href="http://www.fique-rico.com/" title="Blog sobre como ganhar Dinheiro sendo blogueiro" target="_self" rel="nofollow"&gt;Fique-Rico&lt;/a&gt;. &lt;br&gt;
Um blog que ensina os blogueiros a ganharem dinheiro, e agora &lt;a href="http://www.fique-rico.com/2008/12/01/o-seu-comentario-vale-010eur-para-as-vitimas-das-enchentes-de-santa-catarina-brasil/" title="Ajude Santa Catarina postando um comentário" target="_self" rel="nofollow"&gt;está movendo uma ação para ajudar os desabrigados de Santa Catarina&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Você já se imaginou nesta situação?&lt;/p&gt;
&lt;p&gt;&lt;a href="/img/ajude-desabrigados-sc/129_2319-floripachuva.jpg" title="Desabrigados em Santa Catarina"&gt;&lt;img src="/img/ajude-desabrigados-sc/129_2319-floripachuva.jpg" alt="Desabrigados em Santa Catarina" title="Desabrigados em Santa Catarina"&gt;&lt;/a&gt;&lt;br&gt;
&lt;small&gt;Desabrigados em Santa Catarina&lt;/small&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Imagine um dia voltando para sua casa do seu trabalho e você não encontra sua casa.&lt;br&gt;
Você não tem mais sua TV, seu computador, seu SOM, seu Telefone (ninguém irá mais te contatar...Ha! você tem celular? E cadê o seu carregador agora?), não tem mais nenhuma roupa, nenhum tênis. Não tem mais nada!&lt;br&gt;
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.&lt;br&gt;
Fora que você não tem mais onde dormir, ou seja, está completamente inabilitado de fazer qualquer coisa.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Sim, estou fazendo minhas doações. Estou endividado, mas quando me imaginei nessas situações, meu coração falou mais alto e a minha solidariedade me comoveu.&lt;/p&gt;
&lt;p&gt;Pesquisando um pouco no &lt;a href="http://www.google.com/search?q=como+ajudar+desabrigados+santa+catarina" title="Busca no Google para ajudar desabrigados em Santa Catarina" target="_self" rel="nofollow"&gt;Google&lt;/a&gt;, encontrei também algumas coisas que posso ajudar ainda mais. E assim farei.&lt;/p&gt;
&lt;p&gt;Então, se você quer ajudar, manda ver, se você não quer, nunca mais leia meu BLOG!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.desastre.sc.gov.br/index.php?option=com_content&amp;#x26;view=article&amp;#x26;id=9:o-que-doar-alimentos&amp;#x26;catid=13:doacoes&amp;#x26;Itemid=2" title="Veja o que doar" target="_self" rel="nofollow"&gt;Veja o que doar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.desastre.sc.gov.br/index.php?option=com_content&amp;#x26;view=category&amp;#x26;id=13&amp;#x26;Itemid=2" title="Informações para quem quer doar" target="_self" rel="nofollow"&gt;Doações para o Desastre de Santa Catarina&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.voluntariosonline.org.br/pt-br/eventos/visualizar/121" title="Ajude Santa Catarina" target="_self" rel="nofollow"&gt;Saiba como ajudar de forma correta as famílias desabrigadas de Santa Catarina&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://voluntariosonline.org.br/pt-br/oportunidades/visualizar/280" title="Blogueiro, ajude Santa Catarina" target="_self" rel="nofollow"&gt;Blogueiro Divulgador
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.google.com/intl/pt-BR/chuvas-nov08.html" title="Página do Google com excelentes Informações" target="_self" rel="nofollow"&gt;*Página do Google com excelentes Informações&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alguns Resumos encontrados nos links acima:&lt;/strong&gt;&lt;br&gt;
(...)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.&lt;/p&gt;
&lt;p&gt;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. (...)&lt;/p&gt;
&lt;p&gt;(...)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 &lt;em&gt;0800 48 2020&lt;/em&gt; será possível obter todas informações sobre Bancos e contas bancárias abertas para esse fim.(...)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Atualizado em 02/12/2008 às 10h57&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[Como chamar um Javascript externo dentro de um js tipo include]]></title><description><![CDATA[Eu sempre tentei fazer uma chamada de um arquivo Java Script externo dentro de outro. E sempre tive problemas. Estava fazendo manutenção em…]]></description><link>https://leocaseiro.com.br/includes-js/</link><guid isPermaLink="false">https://leocaseiro.com.br/includes-js/</guid><pubDate>Fri, 28 Nov 2008 20:20:30 GMT</pubDate><content:encoded>&lt;p&gt;Eu sempre tentei fazer uma chamada de um arquivo Java Script externo dentro de outro. E sempre tive problemas.&lt;/p&gt;
&lt;p&gt;Estava fazendo manutenção em um código, quando me deparei com o código do &lt;a href="http://www.google.com/analytics/pt-BR/index.html" title="Google Analytics" target="_self" rel="nofollow"&gt;analytics&lt;/a&gt;. E percebi que o Google faz isso a décadas.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Se você, como eu, ainda não sabe(sabia) como fazer isso, veja:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;&lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt;script type&lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token string"&gt;"text/javascript"&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt;
  document&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;write&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token function"&gt;unescape&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"%3Cscript src='nomedoarquivo.js' type='text/javascript'%3E%3C/script%3E"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt;&lt;span class="token operator"&gt;/&lt;/span&gt;script&lt;span class="token operator"&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;p&gt;É simples e funcional. Nunca mais eu farei algo concatenando strings com strings, como:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;&lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt;script type&lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token string"&gt;"text/javascript"&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt;
  document&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;write&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;'&amp;lt;scr '&lt;/span&gt;&lt;span class="token operator"&gt;+&lt;/span&gt; &lt;span class="token string"&gt;'IPT type="text/javascript" SRC="arquivo.js"&gt;&amp;lt; /SCRIPT&gt;'&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt;&lt;span class="token operator"&gt;/&lt;/span&gt;scr&lt;span class="token operator"&gt;&gt;&lt;/span&gt;&lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt;&lt;span class="token operator"&gt;/&lt;/span&gt;script&lt;span class="token operator"&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;p&gt;Fui super contente avisar meu colega de trabalho pelo MSN, o &lt;a href="http://www.pinceladasdaweb.com.br/blog/" title="Pedro Rogerio do Pinceladas da Web" target="_self" rel="nofollow"&gt;Pedro Rogério&lt;/a&gt; que me mostrou uma outra forma. É um pouco mais complexa, utiliza o createElement por DOM. E pode funcionar melhor para scripts dinâmicos.&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;&lt;span class="token keyword"&gt;function&lt;/span&gt; &lt;span class="token function"&gt;include&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token parameter"&gt;file_path&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
  &lt;span class="token comment"&gt;/**
   * criando um elemento script:
   * &amp;lt;/script&gt;&amp;lt;script&gt;&amp;lt;/script&gt;
   */&lt;/span&gt;
  &lt;span class="token keyword"&gt;var&lt;/span&gt; j &lt;span class="token operator"&gt;=&lt;/span&gt; document&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;createElement&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"script"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;

  &lt;span class="token comment"&gt;/**
   * informando o type como text/javacript:
   * &amp;lt;script type="text/javascript"&gt;&amp;lt;/script&gt;
   */&lt;/span&gt;
  j&lt;span class="token punctuation"&gt;.&lt;/span&gt;type &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token string"&gt;"text/javascript"&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;

  &lt;span class="token comment"&gt;/**
   * Inserindo um src com o valor do parâmetro file_path:
   * &amp;lt;script type="javascript" src="+file_path+"&gt;&amp;lt;/script&gt;
   */&lt;/span&gt;
  j&lt;span class="token punctuation"&gt;.&lt;/span&gt;src &lt;span class="token operator"&gt;=&lt;/span&gt; file_path&lt;span class="token punctuation"&gt;;&lt;/span&gt;

  &lt;span class="token comment"&gt;/**
   * Inserindo o seu elemento(no caso o j) como filho(child) do BODY:
   * &amp;lt;html&gt;&amp;lt;body&gt;&amp;lt;script type="javascript" src="+file_path+"&gt;&amp;lt;/script&gt;&amp;lt;/body&gt;&amp;lt;/html&gt;
   */&lt;/span&gt;
  document&lt;span class="token punctuation"&gt;.&lt;/span&gt;body&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;appendChild&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;j&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;

&lt;span class="token comment"&gt;/**
 * incluindo um arquivo com a função include()
 */&lt;/span&gt;
&lt;span class="token function"&gt;include&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"arquivo.js"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;

&lt;span class="token keyword"&gt;function&lt;/span&gt; &lt;span class="token function"&gt;include_once&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token parameter"&gt;file_path&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
  &lt;span class="token keyword"&gt;var&lt;/span&gt; sc &lt;span class="token operator"&gt;=&lt;/span&gt; document&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;getElementsByTagName&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"script"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
  &lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token keyword"&gt;var&lt;/span&gt; x &lt;span class="token keyword"&gt;in&lt;/span&gt; sc&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;sc&lt;span class="token punctuation"&gt;[&lt;/span&gt;x&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;src &lt;span class="token operator"&gt;!=&lt;/span&gt; &lt;span class="token keyword"&gt;null&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
      sc&lt;span class="token punctuation"&gt;[&lt;/span&gt;x&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;src&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;indexOf&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;file_path&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token operator"&gt;!=&lt;/span&gt; &lt;span class="token operator"&gt;-&lt;/span&gt;&lt;span class="token number"&gt;1&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token keyword"&gt;return&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;
    &lt;span class="token function"&gt;include&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;file_path&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
  &lt;span class="token punctuation"&gt;}&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;

&lt;span class="token comment"&gt;/**
 * incluindo um arquivo com a função include_once()
 */&lt;/span&gt;
&lt;span class="token function"&gt;include_once&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"arquivo.js"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;

&lt;span class="token comment"&gt;/**
 * incluindo um arquivo com a função include()
 */&lt;/span&gt;
&lt;span class="token function"&gt;include&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"arquivo.js"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;</content:encoded></item><item><title><![CDATA[Plugin Firefox Atualização do WordPress]]></title><description><![CDATA[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…]]></description><link>https://leocaseiro.com.br/plugin-firefox-atualizacao-wp/</link><guid isPermaLink="false">https://leocaseiro.com.br/plugin-firefox-atualizacao-wp/</guid><pubDate>Wed, 26 Nov 2008 11:37:41 GMT</pubDate><content:encoded>&lt;p&gt;Hoje, logo que liguei minha máquina apareceu um aviso do meu &lt;a href="https://addons.mozilla.org/pt-BR/firefox/addon/4835" title="Plugin WordPress Helper para Firefox" target="_self" rel="nofollow"&gt;plugin WordPress Helper&lt;/a&gt; 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&lt;/p&gt;
&lt;p&gt;Fiquei descontente, mas logo &lt;a href="http://www.wordpress-br.com/wp/geral/wordpress-265-pt_br" title="Informações sobre a falha de segurança e os BUGs do WP 2.6.5" target="_self" rel="nofollow"&gt;descobri&lt;/a&gt; que era uma atualização de segurança e da correção de 3 BUGs.&lt;/p&gt;
&lt;p&gt;Está dado a dica!&lt;/p&gt;
&lt;p&gt;Atualizem seus BLOGs&lt;/p&gt;
&lt;p&gt;&lt;a href="http://br.wordpress.org/releases/#latest" title="Versão mais recente do WordPress em Português do Brasil" target="_self" rel="nofollow"&gt;Download do WordPress&lt;/a&gt; já em português do Brasil&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Porque os programadores precisam virar noites para entregar no prazo]]></title><description><![CDATA[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…]]></description><link>https://leocaseiro.com.br/pq-programadores-viram-noites-prazo/</link><guid isPermaLink="false">https://leocaseiro.com.br/pq-programadores-viram-noites-prazo/</guid><pubDate>Tue, 18 Nov 2008 12:45:40 GMT</pubDate><content:encoded>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Mas por que isso acontece?
Por que sempre recebemos todo o material para trabalhar um dia antes do prazo?&lt;/p&gt;
&lt;p&gt;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 &lt;em&gt;brain storm&lt;/em&gt; com sua equipe em um outro projeto, enquanto o profissional de atendimento liga e chama atenção no messenger. Isso, obviamente acaba de "estragar" o JOB que estavam discutindo, e no próprio telefone, o D.A. decide o que será feito nessa nova peça.&lt;/p&gt;
&lt;p&gt;Então é aquela correria para entregar uma criação de qualidade e eficiência para satisfazer o cliente fiel à agência.&lt;/p&gt;
&lt;p&gt;O D.A.(Diretor de Arte) 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.&lt;/p&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;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ã.&lt;/p&gt;
&lt;p&gt;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:
- Lembra daquele JOB que era pra amanhã? Então, o cliente aprovou!&lt;/p&gt;
&lt;p&gt;(antes de responder, você olha para o relógio e percebe que faltam 3 minutos para ir embora e escreve)&lt;/p&gt;
&lt;p&gt;- Eu to indo embora!&lt;/p&gt;
&lt;p&gt;(aí seu chefe, que é também seu parceiro te implora para quebrar mais essa)&lt;/p&gt;
&lt;p&gt;Não sei se vocês já passaram alguma vez por isso. Mas comigo já rolou muitas vezes!&lt;/p&gt;
&lt;p&gt;E eu pergunto de quem é culpa? É do cliente? da agência? ou do atendimento?
Na minha opinião, o atendimento poderia informar ao cliente que não entregaríamos o JOB porque estamos apertados...mas daí o cliente liga pra outra agência e entrega no prazo.&lt;/p&gt;
&lt;p&gt;E o que acontece? Perdemos mais um cliente para outra agência?&lt;/p&gt;
&lt;p&gt;Difícil, né?&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Desenvolvedor Web precisa estudar mais do que Médico]]></title><description><![CDATA[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…]]></description><link>https://leocaseiro.com.br/programador-web-estuda-mais-q-medico/</link><guid isPermaLink="false">https://leocaseiro.com.br/programador-web-estuda-mais-q-medico/</guid><pubDate>Wed, 12 Nov 2008 20:31:54 GMT</pubDate><content:encoded>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Burro eu! Escolhi fazer um Curso Técnico em Informática, (só porque &lt;a href="https://leocaseiro.com.br/sobre/" title="Sobre LeoCaseiro" target="_self" rel="nofollow"&gt;mexo em computadores&lt;/a&gt; desde pivete. Sempre eu que arrumava o PC da família, de amigos, etc) e desde então, nunca mais parei de estudar.
Será que um médico precisa estudar tanto quanto um programador Web?
Acredito até que nesta área precisamos estudar mais do que um programador de Softwares.&lt;/p&gt;
&lt;p&gt;Por quê?
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 &lt;a href="https://www.europanet.com.br/site/index.php?cat_id=21" title="Revista W, ideal para desenvolvedor Web" target="_self" rel="nofollow"&gt;Revista W&lt;/a&gt;) ou um livro da área.&lt;/p&gt;
&lt;p&gt;Precisamos aprender sobre padrões web, acessibilidade, compatibilidade entre tecnologias(&lt;em&gt;cross-browsers&lt;/em&gt;), otimização para &lt;em&gt;crawlers&lt;/em&gt; e &lt;em&gt;robots&lt;/em&gt;, desempenho de Servidores, compatibilidade de versões do Apache ou IIS, Design Patterns, conhecer diversos CMS´s, estudar Frameworks, desenvolver algoritmos “mágicos”, etc.&lt;/p&gt;
&lt;p&gt;E o pior de tudo isso, é que somos de T.I., mas trabalhamos em agências. Ou seja, precisamos fazer um &lt;a href="https://leocaseiro.com.br/deus-como-programador-agencia-publicidade/" title="Deus como programador em uma agência" target="_self" rel="nofollow"&gt;milagre&lt;/a&gt; para entregarmos o Job em dia.&lt;/p&gt;
&lt;p&gt;Você possui algum certificado de uma linguagem como o da &lt;a href="http://www.zend.com/en/services/certification/php-5-certification/" title="Certificado PHP5 Zend" target="_self" rel="nofollow"&gt;Zend PHP&lt;/a&gt; ou da &lt;a href="http://www.microsoft.com/brasil/certifique/certificacao/mcsd/faqnet.aspx" title="Certificados .NET" target="_self" rel="nofollow"&gt;Microsoft .NET&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;Tentei fazer algumas &lt;a href="http://www.blueshoes.org/en/developer/syntax_exam/" title="Um dos simuladores da Zend Certification" target="_self" rel="nofollow"&gt;simulações&lt;/a&gt; e descobri que preciso evoluir muito para tirar um certificado. Isso porque já participei de muitos desenvolvimentos de sites/sistemas e afins.&lt;/p&gt;
&lt;p&gt;É, leitor, quanto mais eu leio, mas eu descubro que preciso ler mais!&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;E você? Acha que um médico precisa estudar mais do que nós desenvolvedores?&lt;/p&gt;
&lt;p&gt;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...rsrs&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Solução em Javascript para Imagens inexistentes no servidor]]></title><description><![CDATA[Saiba como utilizar o evento onerror do JavaScript para substituir falhas de imagem(<img>) ou até janela(window). Com certeza você já passou…]]></description><link>https://leocaseiro.com.br/evento-onerror-javascript-imagens-inexistentes/</link><guid isPermaLink="false">https://leocaseiro.com.br/evento-onerror-javascript-imagens-inexistentes/</guid><pubDate>Thu, 06 Nov 2008 12:00:25 GMT</pubDate><content:encoded>&lt;p&gt;Saiba como utilizar o &lt;strong&gt;evento onerror do JavaScript&lt;/strong&gt; para substituir falhas de imagem(&lt;code&gt;&amp;#x3C;img&gt;&lt;/code&gt;) ou até janela(&lt;code&gt;window&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Com certeza você já passou por algum deste problemas:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;O seu site precisava de uma imagem e ela não estava mais lá.&lt;/li&gt;
&lt;li&gt;A imagem não foi carregou corretamente e nem Deus sabe o motivo.&lt;/li&gt;
&lt;li&gt;O seu script de UpLoad deu problema e corrompeu o arquivo antes de subir para o seu&lt;/li&gt;
&lt;li&gt;servidor.&lt;/li&gt;
&lt;li&gt;O nome da imagem está errado no seu banco de dados&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Comigo foi assim, estava criando uma galeria de vídeos que devia exibir um screenshot(na agência chamamos de &lt;em&gt;frame&lt;/em&gt;), 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.&lt;/p&gt;
&lt;p&gt;O que fazer neste caso?&lt;br&gt;
Criar um código php do tipo &lt;code&gt;if file_exists()&lt;/code&gt;?&lt;br&gt;
Conheço uma opção melhor e nativa do JavaScript.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Evento OnError&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Como funciona o evento OnError?&lt;br&gt;
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)&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Como e onde utilizar o método OnError?&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;&lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt;img src&lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token string"&gt;"imagem-nao-existe.gif"&lt;/span&gt; onerror&lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token string"&gt;"this.onerror=null; this.src='thumb-video-default.jpg'"&lt;/span&gt; &lt;span class="token operator"&gt;/&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;</content:encoded></item><item><title><![CDATA[Função que ordena arrays Randomicamente em JavaScript, como o shuffle() do PHP]]></title><description><![CDATA[Este post foi atualizado, pois eu encontrei que existem diversos algoritmos para esta função chamado shuffle() De qualquer maneira, ainda…]]></description><link>https://leocaseiro.com.br/shuffle-do-php-no-javascript/</link><guid isPermaLink="false">https://leocaseiro.com.br/shuffle-do-php-no-javascript/</guid><pubDate>Wed, 05 Nov 2008 13:35:49 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;Este post foi atualizado, pois eu encontrei que existem diversos algoritmos para esta função chamado shuffle()&lt;/p&gt;
&lt;p&gt;De qualquer maneira, ainda acredito que este seja o melhor e menor algoritmo.&lt;/p&gt;
&lt;p&gt;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!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Procurei algo como &lt;strong&gt;random()&lt;/strong&gt; ou &lt;strong&gt;array_rand()&lt;/strong&gt; que fosse nativa do &lt;strong&gt;JavaScript&lt;/strong&gt;, porém não encontrei. Mas, &lt;a href="http://javascript.about.com/library/blsort2.htm" title="Link de referência da função randOrd()" target="_self" rel="nofollow"&gt;econtrei&lt;/a&gt; uma função interessante, que funciona muito bem:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;&lt;span class="token keyword"&gt;function&lt;/span&gt; &lt;span class="token function"&gt;randOrd&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    &lt;span class="token keyword"&gt;return&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;Math&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;round&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;Math&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;random&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token operator"&gt;-&lt;/span&gt;&lt;span class="token number"&gt;0.5&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;p&gt;Caso tenhamos um array como no modelo:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;&lt;span class="token keyword"&gt;var&lt;/span&gt; nome &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token function"&gt;Array&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
nome&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token string"&gt;"Carlos"&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
nome&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token number"&gt;1&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token string"&gt;"João"&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
nome&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token number"&gt;2&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token string"&gt;"Leo"&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
nome&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token number"&gt;3&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token string"&gt;"Maria"&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
nome&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token number"&gt;4&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token string"&gt;"Silvia"&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;p&gt;Perceba que os valores de nosso array está em ordem alfabética.
Utilizamos então a função randOrd() em nosso array:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;nome&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;sort&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;randOrd&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ao imprimir os array, eles estarão desordenados.&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;Uma maneira de exibí-los é utilizando um for:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="javascript"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-javascript line-numbers"&gt;&lt;code class="language-javascript"&gt;totalNomes &lt;span class="token operator"&gt;=&lt;/span&gt; nome&lt;span class="token punctuation"&gt;.&lt;/span&gt;sizeOf&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;i&lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i&lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt;totalnomes &lt;span class="token punctuation"&gt;;&lt;/span&gt; i&lt;span class="token operator"&gt;++&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    document&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;write&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;'\ Este é o array['&lt;/span&gt;&lt;span class="token operator"&gt;+&lt;/span&gt;i&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token string"&gt;']: '&lt;/span&gt; &lt;span class="token operator"&gt;+&lt;/span&gt; nome&lt;span class="token punctuation"&gt;[&lt;/span&gt;i&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;p&gt;Este exemplo poderá mostrar:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="text"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-text line-numbers"&gt;&lt;code class="language-text"&gt;Este é o array[0]: Maria
Este é o array[1]: João
Este é o array[2]: Leo
Este é o array[3]: Carlos
Este é o array[4]: Silvia&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;</content:encoded></item><item><title><![CDATA[Qual arquivo da biblioteca jQuery devo utilizar?]]></title><description><![CDATA[Já utilizo a biblioteca do Framework em JavaScript jQuery ha algum tempo. Sempre utilizei o arquivo compactado(Packed), por achar que…]]></description><link>https://leocaseiro.com.br/melhor-arquivo-jquery-para-usar/</link><guid isPermaLink="false">https://leocaseiro.com.br/melhor-arquivo-jquery-para-usar/</guid><pubDate>Tue, 04 Nov 2008 12:06:51 GMT</pubDate><content:encoded>&lt;p&gt;Já utilizo a biblioteca do &lt;strong&gt;Framework em JavaScript &lt;a href="http://jquery.com/" title="Site do Framework em JavaScript jQuery" target="_self" rel="nofollow"&gt;jQuery&lt;/a&gt;&lt;/strong&gt; ha algum tempo. Sempre utilizei o arquivo compactado(Packed), por achar que carregaria mais rápido, afinal é o menor(&lt;em&gt;30.3KB&lt;/em&gt;). Mas, o &lt;a href="http://www.maujor.com/blog/2008/10/22/introducao-a-biblioteca-jquery/" title="Artigo do Maujor com introdução ao jQuery" target="_self" rel="nofollow"&gt;dinossauro do CSS(Maujor) explica&lt;/a&gt; que por ser um arquivo compactado, demora para ser interpretado. E ainda por cima, ele não fica armazenado em cache.&lt;/p&gt;
&lt;p&gt;A partir de hoje, sempre utilizarei o arquivo Minified(&lt;em&gt;54.5KB&lt;/em&gt;), que tem o menor peso, o melhor desempenho e ainda é armazenado em cache.&lt;/p&gt;
&lt;p&gt;Para quem não sabe, o &lt;a href="http://www.maujor.com/blog/sobre/" title="Conheça o Maujor" target="_self" rel="nofollow"&gt;MAUJOR&lt;/a&gt; é um excelente professor e autor. Depois de lançar os livros sobre &lt;a href="http://www.livrocss.com.br/" title="Livro sobre CSS do Maujor" target="_self" rel="nofollow"&gt;CSS&lt;/a&gt; e &lt;a href="http://www.livrohtml.com.br/" title="Livro sobre HTML do Maujor" target="_self" rel="nofollow"&gt;XHTML&lt;/a&gt;, ele vai lançar um livro sobre jQuery(&lt;a href="http://www.livrojquery.com.br/sumario.html" title="Sumário do Livro sobre jQuery do Maujor" target="_self" rel="nofollow"&gt;leia o sumário do livro&lt;/a&gt;). Que com certeza eu irei adquirir. Quem ainda não leu os 2 livros e trabalha com web está perdendo e muito.
E não esqueça, ao usar jQuery, utilize o arquivo minified.&lt;/p&gt;
&lt;p&gt;Atualmente, o Framework em JavaScript está na sua versão 1.2.6
Download do arquivo &lt;a href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.6.min.js" title="Download do arquivo jquery-1.2.6.min.js" target="_self" rel="nofollow"&gt;jquery-1.2.6.min.js&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Trocando o $this do php4 por self no php5]]></title><description><![CDATA[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…]]></description><link>https://leocaseiro.com.br/this-php4-para-self-php5/</link><guid isPermaLink="false">https://leocaseiro.com.br/this-php4-para-self-php5/</guid><pubDate>Wed, 29 Oct 2008 16:13:16 GMT</pubDate><content:encoded>&lt;p&gt;Estava criando uma classe em um servidor de um cliente.
Como sempre, utilizo métodos ou atributos de uma mesma classe chamando por &lt;strong&gt;$this&lt;/strong&gt;. E tive o mesmo problema que o &lt;a href="http://tiagofloriano.com.br/blog/?p=194" target="_self" rel="nofollow"&gt;Tiago Floriano&lt;/a&gt;.
Eu estava desatualizado na linguagem e tive um problema de sintaxes.&lt;/p&gt;
&lt;p&gt;Mesmo sendo tudo php, o php5 melhorou sua performance e desempenho, principalmente com questões de OOP. Com isso, algumas sintaxes foram re-estruturadas.&lt;/p&gt;
&lt;p&gt;Por isso, o meu código estava aparecendo o seguinte erro: &lt;strong&gt;&lt;em&gt;Fatal error: Using $this when not in object context in&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Depois de muito pesquisar no &lt;a href="http://www.google.com.br" target="_self" rel="nofollow"&gt;pai dos burros&lt;/a&gt;, encontrei a &lt;a href="http://www.arquivodecodigos.net/arquivo/tutoriais/php/geral/poo1/usando_metodos_estaticos.php" target="_self" rel="nofollow"&gt;solução&lt;/a&gt;. Descobri que trocando o &lt;strong&gt;$this-&gt;nomeDoMetodo()&lt;/strong&gt; por &lt;strong&gt;self::nomeDoMetodo()&lt;/strong&gt; funcionaria no php5.&lt;/p&gt;
&lt;p&gt;Mas para mim, não basta ter apenas a solução. Portanto pesquisei mais sobre php5 e sua "nova" 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.&lt;/p&gt;
&lt;p&gt;Se você é tão curioso quanto eu, ou apenas gosta de atualizar-se, leia este &lt;a href="http://www.fop.unicamp.br/informatica/index.php?option=com_docman&amp;#x26;task=doc_view&amp;#x26;gid=3&amp;#x26;Itemid=36" target="_self" rel="nofollow"&gt;material completo em PDF&lt;/a&gt; que absorve bastante sobre OOP(Programação Orientada a Objetos) em PHP5.&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Formatar moedas ou números decimais com a função number_format() do PHP]]></title><description><![CDATA[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…]]></description><link>https://leocaseiro.com.br/moedas-decimais-funcao-number_format-php/</link><guid isPermaLink="false">https://leocaseiro.com.br/moedas-decimais-funcao-number_format-php/</guid><pubDate>Fri, 24 Oct 2008 18:50:44 GMT</pubDate><content:encoded>&lt;p&gt;A &lt;strong&gt;função number_format() do PHP&lt;/strong&gt;, além de &lt;strong&gt;trocar ponto(.) por vírgula(,)&lt;/strong&gt;, também serve para definir quantas &lt;strong&gt;casas decimais&lt;/strong&gt; teremos no valor.&lt;/p&gt;
&lt;p&gt;O número que é em Inglês &lt;em&gt;999.9&lt;/em&gt; fica &lt;em&gt;999,90&lt;/em&gt; no formato moeda brasileiro.&lt;br&gt;
Além disso, podemos definir se irá exibir algum caracter a cada grupo de milhar (de mil em mil).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;string number_format ( float $number, int $decimals, string $dec_point, string $thousands_sep )&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;podemos definir por: &lt;br&gt;
&lt;strong&gt;&lt;code&gt;valor texto number_format ( $valor_decimal, $casas_decimais, $caracter_definicao_decimal, $caracter_definicao_milhar )&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Por exemplo, se quisermos que o número &lt;em&gt;1000&lt;/em&gt; fique como &lt;em&gt;1.000&lt;/em&gt;, utilizamos a função desta maneira:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token variable"&gt;$valor&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;1000&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;echo&lt;/span&gt; &lt;span class="token function"&gt;number_format&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token variable"&gt;$valor&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;&lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;&lt;span class="token double-quoted-string string"&gt;","&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;&lt;span class="token double-quoted-string string"&gt;"."&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;p&gt;Agora se quisermos que o valor 1,000.9(em formato inglês) tenha o formato 1.000,90(brasileiro), utilize:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token variable"&gt;$valor&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;1&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;&lt;span class="token number"&gt;000.9&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;echo&lt;/span&gt; &lt;span class="token function"&gt;number_format&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token variable"&gt;$valor&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;&lt;span class="token number"&gt;2&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;&lt;span class="token double-quoted-string string"&gt;","&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;&lt;span class="token double-quoted-string string"&gt;"."&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;p&gt;Se não quiser que tenha o ponto(.) entre as casas de milhar, deixe com o última parâmetro vazio:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token variable"&gt;$valor&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;1000.9&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;echo&lt;/span&gt; &lt;span class="token function"&gt;number_format&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token variable"&gt;$valor&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;&lt;span class="token number"&gt;2&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;&lt;span class="token double-quoted-string string"&gt;","&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;&lt;span class="token double-quoted-string string"&gt;""&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;p&gt;Existe uma maneira gambiarra para formatar número que eu não aconselho a utilizar. Seria algo do tipo:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token variable"&gt;$valor&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;100.9&lt;/span&gt;
&lt;span class="token keyword"&gt;echo&lt;/span&gt; &lt;span class="token function"&gt;str_replace&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token double-quoted-string string"&gt;"."&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;&lt;span class="token double-quoted-string string"&gt;","&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt;&lt;span class="token variable"&gt;$valor&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br&gt;
&lt;blockquote&gt;
&lt;p&gt;Update: Uma maneira de utilizar com números negativos é utilizando &lt;strong&gt;abs()&lt;/strong&gt; e &lt;strong&gt;multiplicar por -1&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token variable"&gt;$valor&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token operator"&gt;-&lt;/span&gt;&lt;span class="token number"&gt;0.54&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt; &lt;span class="token variable"&gt;$valor&lt;/span&gt; &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt; &lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
     &lt;span class="token variable"&gt;$valor&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token function"&gt;abs&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token variable"&gt;$valor&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token variable"&gt;$valor&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token function"&gt;number_format&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token variable"&gt;$valor&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token operator"&gt;*&lt;/span&gt; &lt;span class="token operator"&gt;-&lt;/span&gt;&lt;span class="token number"&gt;1&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt; &lt;span class="token keyword"&gt;else&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    &lt;span class="token variable"&gt;$valor&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token function"&gt;number_format&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token variable"&gt;$valor&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Encontrei aqui: &lt;a href="http://stackoverflow.com/a/6429576/3415716" target="_self" rel="nofollow"&gt;http://stackoverflow.com/a/6429576/3415716&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</content:encoded></item><item><title><![CDATA[Como Instalar WordPress em Português do Brasil (PT-BR)]]></title><description><![CDATA[Para instalar o Wordpess, devemos primeiramente efetuar o download do arquivo mais recente e descompactá-lo em um servidor com PHP e MySQL…]]></description><link>https://leocaseiro.com.br/tutorial-instalar-wordpress/</link><guid isPermaLink="false">https://leocaseiro.com.br/tutorial-instalar-wordpress/</guid><pubDate>Mon, 20 Oct 2008 17:53:52 GMT</pubDate><content:encoded>&lt;p&gt;Para &lt;strong&gt;instalar o Wordpess&lt;/strong&gt;, devemos primeiramente efetuar o &lt;a href="http://br.wordpress.org/releases/#latest" title="Arquivo mais recente do WordPress já traduzido em Português do Brasil" target="_self" rel="nofollow"&gt;download do arquivo mais recente&lt;/a&gt; e descompactá-lo em um servidor com PHP e MySQL, de preferência &lt;a href="http://pt.wikipedia.org/wiki/LAMP" title="Linux, Apache, MySQL e PHP" target="_self" rel="nofollow"&gt;LAMP&lt;/a&gt;.
Existem 2 maneiras de configurarmos o Banco de Dados:
Se você for um &lt;a href="#como-instalar-wordpress-modo-inexperiente"&gt;usuário inexperiente, acesse a partir desta parte&lt;/a&gt;.
Se você for um usuários experiente, abra a pasta descompactada do arquivo WordPress e renomeie o arquivo &lt;em&gt;wp-config-sample.php&lt;/em&gt; para &lt;em&gt;wp-config.php&lt;/em&gt;, em seguida altere as seguintes variáveis:&lt;/p&gt;
&lt;div class="gatsby-highlight" data-language="php"&gt;&lt;pre style="counter-reset: linenumber NaN" class="language-php line-numbers"&gt;&lt;code class="language-php"&gt;&lt;span class="token comment"&gt;// ** MySQL settings ** //&lt;/span&gt;
&lt;span class="token function"&gt;define&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'DB_NAME'&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;'digite_aqui_o_banco_de_dados'&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; &lt;span class="token comment"&gt;// O nome do Banco de Dados&lt;/span&gt;
&lt;span class="token function"&gt;define&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'DB_USER'&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;'digite_aqui_seu_usuario'&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; &lt;span class="token comment"&gt;// Seu usuário MySQL&lt;/span&gt;
&lt;span class="token function"&gt;define&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'DB_PASSWORD'&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;'digite_aqui_sua_senha'&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; &lt;span class="token comment"&gt;// ...e senha&lt;/span&gt;
&lt;span class="token function"&gt;define&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token single-quoted-string string"&gt;'DB_HOST'&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token single-quoted-string string"&gt;'localhost'&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; &lt;span class="token comment"&gt;// Provavelmente você não precisará trocar este valor&lt;/span&gt;&lt;/code&gt;&lt;span aria-hidden="true" class="line-numbers-rows" style="white-space: normal; width: auto; left: 0;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Após alterar o arquivo &lt;em&gt;wp-config.php&lt;/em&gt;, envie-o por FTP para a pasta de diretório host. Enfim, digite no browser sua URL e irá aparecer a seguinte janela [&lt;a href="#como-instalar-wordpress-inicio-instalacao" title="ir para o passo 4"&gt;vá para o início da instalação&lt;/a&gt;].&lt;/p&gt;
&lt;br&gt;
&lt;span id="como-instalar-wordpress-modo-inexperiente"&gt;&lt;span&gt;
&lt;p&gt;Existe uma maneira mais simples, que é automática. Basta digitar a sua URL no navegador e então clicar no botão &lt;strong&gt;Criar um Arquivo de Configuração&lt;/strong&gt;:&lt;br&gt;
&lt;a href="/img/tutorial-instalar-wordpress/tutorial-instalacao-wordpress-passo-11.jpg" title="Como instalar WordPress no Servidor - Criar um arquivo de configuração"&gt;&lt;img src="/img/tutorial-instalar-wordpress/tutorial-instalacao-wordpress-passo-11.jpg" alt="Como instalar WordPress no Servidor - Criar um arquivo de configuração" title="Como instalar WordPress no Servidor - Criar um arquivo de configuração"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;Chegando no Passo 2, ele irá solicitar os seguintes dados:&lt;br&gt;
Nome do Banco de Dados&lt;br&gt;
Usuário do Banco de Dados&lt;br&gt;
Senha do Banco de Dados&lt;br&gt;
Servidor do Banco de Dados&lt;br&gt;
Prefixo das Tabelas(este item, serve apenas para quem possui mais de um blog no mesmo Banco)&lt;br&gt;
&lt;a href="/img/tutorial-instalar-wordpress/tutorial-instalacao-wordpress-passo-21.jpg" title="Como instalar WordPress no Servidor - Dados de acesso"&gt;&lt;img src="/img/tutorial-instalar-wordpress/tutorial-instalacao-wordpress-passo-21.jpg" alt="Como instalar WordPress no Servidor - Dados de acesso" title="Como instalar WordPress no Servidor - Dados de acesso"&gt;&lt;/a&gt;&lt;br&gt;
Se você não tiver algum(ns) destes dados, entre em contato com o seu Servidor de Hospedagem.
Se você tiver, clique em &lt;strong&gt;Vamos começar&lt;/strong&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;O Passo 3, é muito simples.&lt;br&gt;
Preencha os dados que foram solicitados conforme o meu modelo:&lt;br&gt;
&lt;a href="/img/tutorial-instalar-wordpress/2008/10/tutorial-instalacao-wordpress-passo-31.jpg" title="Como instalar WordPress no Servidor - Digitando os dados de acesso ao Banco"&gt;&lt;img src="/img/tutorial-instalar-wordpress/tutorial-instalacao-wordpress-passo-31.jpg" alt="Como instalar WordPress no Servidor - Digitando os dados de acesso ao Banco" title="Como instalar WordPress no Servidor - Digitando os dados de acesso ao Banco"&gt;&lt;/a&gt;&lt;br&gt;
Obs: Nem sempre a Senha ficará vazia.&lt;br&gt;
Obs2: Caso tenha dúvidas sobre o último campo, deixe &lt;strong&gt;wp_&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Agora, clique em Enviar&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;Caso apareça a mensagem: &lt;strong&gt;Não é possível selecionar o banco de dados&lt;/strong&gt;
&lt;a href="/img/tutorial-instalar-wordpress/tutorial-instalacao-wordpress-passo-4-erro1.jpg" title="Como instalar WordPress no Servidor - Erro de seleção do Banco de Dados"&gt;&lt;img src="/img/tutorial-instalar-wordpress/tutorial-instalacao-wordpress-passo-4-erro-1.jpg" alt="Como instalar WordPress no Servidor - Erro de seleção do Banco de Dados" title="Como instalar WordPress no Servidor - Erro de seleção do Banco de Dados"&gt;&lt;/a&gt;&lt;br&gt;
Entre em contato com o seu Sevidor de Hospedagem e solicite a criação do seu banco de dados. Ou verifique se você não digitou pela metade. Alguns servidores criam o banco de dados, conforme o seu usuario, exemplo: &lt;strong&gt;leocaseiro_wordpress&lt;/strong&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;No passo 4, o &lt;strong&gt;WordPress criou o arquivo wp-config.php&lt;/strong&gt; corretamente.&lt;br&gt;
&lt;a href="/img/tutorial-instalar-wordpress/tutorial-instalacao-wordpress-passo-51.jpg" title="Como instalar WordPress no Servidor - O arquivo wp-config.php foi criado corretamente"&gt;&lt;img src="/img/tutorial-instalar-wordpress/tutorial-instalacao-wordpress-passo-51.jpg" alt="Como instalar WordPress no Servidor - O arquivo wp-config.php foi criado corretamente" title="Como instalar WordPress no Servidor - O arquivo wp-config.php foi criado corretamente"&gt;&lt;/a&gt;&lt;br&gt;
Portanto clique em &lt;strong&gt;Começar a instalação&lt;/strong&gt; e veja como é simples Instalar o WordPress&lt;br&gt;
&lt;br&gt;
&lt;span id="como-instalar-wordpress-inicio-instalacao"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Agora sim, você pode criar o seu Blog. Fique tranquilo, se você quiser, pode modificar estes dados pelo publicador do WP.&lt;br&gt;
&lt;a href="/img/tutorial-instalar-wordpress/tutorial-instalacao-wordpress-passo-71.jpg" title="Como instalar WordPress no Servidor - Digite o nome do Seu Blog e seu email"&gt;&lt;img src="/img/tutorial-instalar-wordpress/tutorial-instalacao-wordpress-passo-71.jpg" alt="Como instalar WordPress no Servidor - Digite o nome do Seu Blog e seu email" title="Como instalar WordPress no Servidor - Digite o nome do Seu Blog e seu email"&gt;&lt;/a&gt;&lt;br&gt;
Basta digitar o nome do seu blog, o meu é &lt;strong&gt;Leo Caseiro&lt;/strong&gt;\&lt;/p&gt;
&lt;p&gt;Em seguida, preencha com o seu email(é importante digitar corretamente, pois todos os comentários, e até mesmo uma senha nova será enviado para ele)&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Caso você, assim como eu, queira que o seu site seja encontrado pelo Google, Yahoo e outros buscadores deixe marcado esta opção.&lt;/p&gt;
&lt;p&gt;Agora, se você quiser que o seu site não seja encontrado, desmarque-a.&lt;br&gt;
Clique em &lt;strong&gt;Instalar WordPress&lt;/strong&gt; e você será redirecionado para&lt;br&gt;
&lt;a href="/img/tutorial-instalar-wordpress/tutorial-instalacao-wordpress-passo-81.jpg" title="Como instalar WordPress no Servidor - Anote sua senha e altere-a o mais breve possível"&gt;&lt;img src="/img/tutorial-instalar-wordpress/tutorial-instalacao-wordpress-passo-81.jpg" alt="Como instalar WordPress no Servidor - Anote sua senha e altere-a o mais breve possível" title="Como instalar WordPress no Servidor - Anote sua senha e altere-a o mais breve possível"&gt;&lt;/a&gt;&lt;br&gt;
Anote a sua senha, depois clique em Login. E pode começar a postar.&lt;/p&gt;
&lt;p&gt;Agora, digite o endereço URL do seu BLOG e veja como ficou&lt;br&gt;
&lt;a href="/img/tutorial-instalar-wordpress/modelo-blog-wordpress1.jpg" title="Como instalar WordPress no Servidor - Modelo de um Blog criado"&gt;&lt;img src="/img/tutorial-instalar-wordpress/modelo-blog-wordpress1.jpg" alt="Como instalar WordPress no Servidor - Modelo de um Blog criado" title="Como instalar WordPress no Servidor - Modelo de um Blog criado"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Obs:Altere a sua senha o mais breve possível. Assim, você não corre o risco de perdê-la. &lt;br&gt;
Para alterar a senha, leia &lt;a href="https://leocaseiro.com.br/tutorial-alterar-senha-wordpress" title="Como alterar a senha no wordpress" target="_self" rel="nofollow"&gt;Como alterar a senha no wordpress&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Como alterar a senha no wordpress]]></title><description><![CDATA[Para alterar a senha do WordPress, primeiramente precisamos logar. Lembre-se que o seu painel administrativo possui a URL de seu blog…]]></description><link>https://leocaseiro.com.br/tutorial-alterar-senha-wordpress/</link><guid isPermaLink="false">https://leocaseiro.com.br/tutorial-alterar-senha-wordpress/</guid><pubDate>Fri, 10 Oct 2008 16:11:26 GMT</pubDate><content:encoded>&lt;p&gt;Para &lt;strong&gt;alterar a senha do WordPress&lt;/strong&gt;, primeiramente precisamos logar. Lembre-se que o seu painel administrativo possui a URL de seu blog seguida de &lt;strong&gt;/wp-admin&lt;/strong&gt;, exemplo: &lt;code&gt;https://leocaseiro.com.br/wp-admin/&lt;/code&gt;&lt;br&gt;
&lt;a href="/img/tutorial-alterar-senha-wordpress/tutorial-wordpress-area-login1.jpg" title="Área de Login do admin WordPress"&gt;&lt;img src="/img/tutorial-alterar-senha-wordpress/tutorial-wordpress-area-login1.jpg" alt="Área de Login do admin WordPress" title="Área de Login do admin WordPress"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Assim, entramos no painel:&lt;br&gt;
&lt;a href="/img/tutorial-alterar-senha-wordpress/tutorial-wordpress-painel-admin1.jpg" title="Painel administrativo do WordPress"&gt;&lt;img src="/img/tutorial-alterar-senha-wordpress/tutorial-wordpress-painel-admin1.jpg" alt="Painel administrativo do WordPress" title="Painel administrativo do WordPress"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Para alterar a senha, devemos clicar no topo à direita, onde temos o nome do nosso login(no exemplo está o admin) ou então em usuários, um pouco mais abaixo:&lt;br&gt;
&lt;a href="/img/tutorial-alterar-senha-wordpress/tutorial-wordpress-admin-usuarios1.jpg" title="Tela de usuários do admin WordPress"&gt;&lt;img src="/img/tutorial-alterar-senha-wordpress/tutorial-wordpress-admin-usuarios1.jpg" alt="Tela de usuários do admin WordPress" title="Tela de usuários do admin WordPress"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Quando entramos em nosso usuário, devemos descer a barra de rolagem até o fim e então escrevemos a senha que quisermos.&lt;br&gt;
&lt;a href="/img/tutorial-alterar-senha-wordpress/tutorial-wordpress-admin-alterar-senha1.jpg" title="Alterar senha no admin wordpress"&gt;&lt;img src="/img/tutorial-alterar-senha-wordpress/tutorial-wordpress-admin-alterar-senha1.jpg" alt="Alterar senha no admin wordpress" title="Alterar senha no admin wordpress"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;A partir da versão 2.5, o WordPress possui um sistema de verificação de segurança da senha. Caso você digite apenas letras ou apenas números, ele deixa como senha fraca, então se você deixar letras maiúsculas em minúsculas misturadas, vai aumentando a segurança.
Não é obrigatório termos uma senha forte, mas obviamente é mais segura.&lt;/p&gt;
&lt;p&gt;Bom, é só isso. Basta clicar em Atualizar perfil, e pronto.&lt;/p&gt;
&lt;p&gt;Lembrando que nesta janela, podemos alterar qualquer dado do usuário, alterar email, nome, sobrenome, colocar um apelido(nickname) e assim por diante.&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Ferramentas para Gestão e Análise de um Site]]></title><description><![CDATA[Para qualquer empresa e/ou qualquer serviço, não adianta apenas executarmos-as. Precisamos sempre saber quem está utilizando, se está…]]></description><link>https://leocaseiro.com.br/ferramentas-gestao-analise-site/</link><guid isPermaLink="false">https://leocaseiro.com.br/ferramentas-gestao-analise-site/</guid><pubDate>Fri, 03 Oct 2008 12:31:29 GMT</pubDate><content:encoded>&lt;p&gt;Para qualquer empresa e/ou qualquer serviço, não adianta apenas executarmos-as. Precisamos sempre saber quem está utilizando, se está satisfeito, se está descontente com alguma ação. Ou seja, precisamos de análises de relatórios.&lt;/p&gt;
&lt;p&gt;Qual negócio funciona sem análise de dados estatísticos?&lt;/p&gt;
&lt;p&gt;Todos sabemos que a TV utiliza o IBOPE como &lt;em&gt;feedback&lt;/em&gt; de seus telespectadores. Assim como algumas escolas de Inglês fazem pesquisas pelas ruas, entre outras.&lt;/p&gt;
&lt;p&gt;Para gestão de um web-site não é diferente. Todos queremos saber de onde os internautas vêm. Em quais páginas eles estão navegando, ou então se eles estão lendo nosso conteúdo em outra ferramenta que não seja o próprio site (como leitor de feed RSS)&lt;/p&gt;
&lt;p&gt;Abaixo, listarei algumas ferramentas que acho necessário em todo e qualquer site:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.google.com.br/webmasters/" title="Central do webmaster do Google" target="_self" rel="nofollow"&gt;Google Webmasters&lt;/a&gt; &lt;a href="http://www.google.com/support/webmasters/?hl=pt_BR" title="Dúvidas sobre Google Webmasters" target="_self" rel="nofollow"&gt;(?)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.google.com/analytics/pt-BR/index.html" title="Google Analytics" target="_self" rel="nofollow"&gt;Google Analytics&lt;/a&gt; &lt;a href="http://www.google.com/support/googleanalytics/?hl=pt_BR" title="Dúvidas sobre Google Analytics" target="_self" rel="nofollow"&gt;(?)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feedburner.com/fb/a/home?loc=pt_BR" title="FeedBurner" target="_self" rel="nofollow"&gt;FeedBurner&lt;/a&gt; &lt;a href="http://forums.feedburner.com/" title="Suporte FeedBurner em Inglês" target="_self" rel="nofollow"&gt;(?)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Com o &lt;strong&gt;Google Webmasters&lt;/strong&gt;, incluímos todos os dados que o Google necessita para facilitar a indexação nos resultados de busca. Caso o seu domínio for .com, como o meu e seu conteúdo for em pt-br, você informa ao Google e quando o usuário clicar em somente em português ou sites do Brasil, o Google irá buscar em seu site também.
Também temos acesso às palavras-chaves que trazem os usuários para o nosso site.
E quais sites possuem um link para o nosso.&lt;/p&gt;
&lt;p&gt;O &lt;strong&gt;Google Analytics&lt;/strong&gt; fornece gráficos e relatórios detalhados de como os usuários acessaram nosso site e o que fizeram dentro dele.
Se eles estão navegando apenas na página inicial, ou clicando em outros links. Se eles estão acessando pelo Internet Explorer, Firefox, Celular Mobile. E o melhor, quantas visitas você possui por dia, além de saber de onde ela é(Se é de São Paulo, Rio de Janeiro, Amazonas, ou até mesmo se é fora do Brasil).&lt;/p&gt;
&lt;p&gt;Com o &lt;strong&gt;Feedburner&lt;/strong&gt; temos dados de estatísticas semelhantes às do Google Analytics, porém serve para leitores de Feeds RSS. Ou você acredita que todos que lêem seus feeds clicam em seus links?&lt;/p&gt;
&lt;p&gt;Acredito que com essas ferramentas você consegue saber se o seu web-site está ou não trazendo o retorno desejado. E analisando todos estes dados, podemos pensar em como melhorar o nosso negócio.&lt;/p&gt;
&lt;p&gt;Em breve pretendo disponibilizar maiores detalhes sobre as ferramentas.&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Garoto de Programa ou programador]]></title><description><![CDATA[Pra quem trabalha na área de desenvolvimento. É, realmente nossa profissão de programador é complicada! Você trabalha em horários estranhos…]]></description><link>https://leocaseiro.com.br/garoto-de-programa-ou-programador/</link><guid isPermaLink="false">https://leocaseiro.com.br/garoto-de-programa-ou-programador/</guid><pubDate>Wed, 01 Oct 2008 03:45:44 GMT</pubDate><content:encoded>&lt;p&gt;Pra quem trabalha na área de desenvolvimento. É, realmente nossa profissão de programador é complicada!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Você trabalha em horários estranhos (que nem as putas!)&lt;/li&gt;
&lt;li&gt;Te pagam pra fazer o cliente feliz (que nem as putas!)&lt;/li&gt;
&lt;li&gt;Seu trabalho sempre vai além do expediente (que nem as putas!)&lt;/li&gt;
&lt;li&gt;Você é mais produtivo à noite (que nem as putas!)&lt;/li&gt;
&lt;li&gt;Você é recompensado por realizar as idéias mais absurdas do cliente (que nem as putas!)&lt;/li&gt;
&lt;li&gt;Seus amigos se distanciam de você e você só anda com outros iguais a você (que nem as putas!)&lt;/li&gt;
&lt;li&gt;Quando vai ao encontro do cliente, você tem de estar sempre apresentável
(que nem as putas!)&lt;/li&gt;
&lt;li&gt;Mas quando você volta, parece ter saído do inferno (que nem as putas!)&lt;/li&gt;
&lt;li&gt;O cliente quer sempre pagar menos e espera que você faça maravilhas (que nem as putas!)&lt;/li&gt;
&lt;li&gt;Quando te perguntam em que trabalhas, tens dificuldade de explicar (que nem as putas!)&lt;/li&gt;
&lt;li&gt;Se as coisas dão errado, é sempre culpa sua (que nem as putas!)&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;E finalmente todo dia ao acordar você diz:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Está difícil ganhar mais porque a concorrência é grande (que nem as putas!)&lt;/li&gt;
&lt;li&gt;Só conseguimos ganhar mais quando temos algum diferencial (que nem as putas!)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Para finalizar você pensa assim:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NÃO VOU PASSAR O RESTO DA VIDA FAZENDO ISSO (que nem as putas !)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Mais um texto que não conheço o autor. Mas é a pura realidade! Por isso sempre digo que sou garoto de programa. Se alguém tiver alguma idéia para acrescentar, me avise!
Abs&lt;/em&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Deus como programador em uma Agência de Publicidade]]></title><description><![CDATA[De: Atendimento Para: Deus Pedido: Favor criar o mundo. De: Deus Para: Atendimento Briefing incompleto. Solicito informações mais detalhadas…]]></description><link>https://leocaseiro.com.br/deus-como-programador-agencia-publicidade/</link><guid isPermaLink="false">https://leocaseiro.com.br/deus-como-programador-agencia-publicidade/</guid><pubDate>Fri, 26 Sep 2008 15:25:23 GMT</pubDate><content:encoded>&lt;p&gt;De: Atendimento&lt;br&gt;
Para: Deus&lt;br&gt;
Pedido: Favor criar o mundo.&lt;/p&gt;
&lt;p&gt;De: Deus&lt;br&gt;
Para: Atendimento&lt;br&gt;
Briefing incompleto. Solicito informações mais detalhadas.&lt;/p&gt;
&lt;p&gt;De: Atendimento&lt;br&gt;
Para: Deus&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;JOB&lt;br&gt;
O cliente solicitou que o mundo fosse redondo, colorido, que fosse claro durante o dia e escuro pela noite. Pediu muita água nos rios e mares e nenhuma nos desertos. Quer que no verão faça calor e frio no inverno. Quer plantas que cresçam na terra e animais que respirem. Montanhas altas, depressões baixas e planícies planas.&lt;/p&gt;
&lt;p&gt;RESTRIÇÕES&lt;br&gt;
O cliente não quer acontecendo ao mesmo tempo chuva e sol.&lt;/p&gt;
&lt;p&gt;MÍDIA&lt;br&gt;
O cliente pretende fazer uma inserção deste mundo no sistema solar e deixá–lo rodando lá por tempo indeterminado.&lt;/p&gt;
&lt;p&gt;OBRIGATORIEDADES&lt;br&gt;
Nós tentamos tirar essa idéia da cabeça dele, mas não houve jeito, ele bateu o pé: quer colocar gente no mundo.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;De: Deus&lt;br&gt;
Ah, essa não! Como é que eu vou trabalhar desse jeito? Não vai caber! É muita informação para um mundo só. O ideal é fazer um mundo e uma luz para dividir as informações. Além do mais, gente no mundo nós sabemos que não dá certo. Nós podemos deixar as pessoas na lua e para o mundo a gente retoma aquela idéia dos Incas Venusianos.&lt;/p&gt;
&lt;p&gt;De: Atendimento&lt;br&gt;
O Cliente aceita a idéia da lua, mas só para enfeitar, controlar mares, orientar cortes de cabelo e fazer agendas. Todo o resto ele continua querendo ver dentro do mundo, inclusive gente.&lt;/p&gt;
&lt;p&gt;De: Deus&lt;br&gt;
Para: Atendimento&lt;br&gt;
Já estou vendo que esse cliente é do tipo buraco negro!&lt;/p&gt;
&lt;p&gt;De: Atendimento
Para: Deus
Também não é assim. É que ele nunca fez um mundo antes. Ele não tem idéia de como toda essa coisa funciona. A gente peita, mas até um certo limite. Se ele quer pôr gente no mundo, OK. Ele está pagando e acha que o ser humano pode dar certo. Vamos tentar?&lt;/p&gt;
&lt;p&gt;De: Deus&lt;br&gt;
Para: Atendimento
OK. Eu faço o trabalho. Qual é o prazo?&lt;/p&gt;
&lt;p&gt;De: Atendimento&lt;br&gt;
Para: Deus
Ah, graças a Você! Quanto ao prazo, está estourado. Você só tem 7 dias para criar o mundo.&lt;/p&gt;
&lt;p&gt;De: Deus&lt;br&gt;
Impossível! Não dá! Isso aqui não é padaria e a pauta está lotada! Eu preciso de mais prazo. Em sete dias ninguém consegue fazer um mundo decente.&lt;/p&gt;
&lt;p&gt;De: Atendimento&lt;br&gt;
A questão é que se não estiver pronto daqui a uma semana, o cliente vai perder o espaço reservado. Infelizmente, não tem outra alternativa. Estamos com o faturamento de fevereiro em baixa. Deixa para ganhar Grand Prix no Salão com outros trabalhos. Daqui pra frente você pode criar mundos melhores.&lt;/p&gt;
&lt;p&gt;De: Deus&lt;br&gt;
Isso é um absurdo! Um mundo não se cria assim, como quem apaga uma estrela. É um processo delicado, que exige tempo. Ou a Gente faz como tem que ser feito ou esse mundo está perdido.&lt;/p&gt;
&lt;p&gt;De: Atendimento&lt;br&gt;
Você está exagerando. É só um mundo. Coisa pouca. Se fosse um sistema solar, uma galáxia, vá lá. Mas um mundinho destes? É querer gastar energia demais numa poeira cósmica.&lt;/p&gt;
&lt;p&gt;De: Deus&lt;br&gt;
Bem, lavo as minhas mãos. Mas quero deixar registrado aqui o Meu protesto. E é bom que não se esqueça mais pra frente, que se alguma coisa der errado foi porque, desde o princípio, o briefing entrou errado. Até Eu duvido que vá sair alguma coisa boa disso.&lt;/p&gt;
&lt;p&gt;De: Atendimento&lt;br&gt;
Você me livre, vire essa boca pra lá! Se Você quiser, tudo vai dar certo. Aliás estamos tão confiantes que vamos fazer um making off escrito. Tipo um livro contando como tudo começou e etc. E não se preocupe, Você vai ficar com todos os créditos. Não esqueça, hein? Você tem apenas sete dias.&lt;/p&gt;
&lt;p&gt;De: Deus&lt;br&gt;
Olha, pra ser franco, esse cliente não merece coisa melhor. Vou matar esse trabalho rapidinho e tirar da frente. Em seis dias eu crio o mundo e ainda vou ter um dia pra descansar.&lt;/p&gt;
&lt;p&gt;De: Atendimento&lt;br&gt;
Você é quem sabe. Também podemos ir pensando numa campanha de manutenção…&lt;/p&gt;
&lt;p&gt;De: Deus&lt;br&gt;
Nem pensar! Se precisar, depois mando meu filho lá pra dar uma olhada!&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Não sei qual o autor do texto. Apenas recebi por email de um colega de trabalho. Se alguém souber, me informe para eu colocar os créditos!&lt;/em&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Olá, leitor!]]></title><description><![CDATA[Seja bem vindo! Aqui pretendo compartilhar tudo sobre desenvolvimento e design web. Você encontrará informações sobre linguagens de…]]></description><link>https://leocaseiro.com.br/ola-leitor/</link><guid isPermaLink="false">https://leocaseiro.com.br/ola-leitor/</guid><pubDate>Mon, 01 Sep 2008 13:13:08 GMT</pubDate><content:encoded>&lt;p&gt;Seja bem vindo!&lt;/p&gt;
&lt;p&gt;Aqui pretendo compartilhar tudo sobre desenvolvimento e design web.&lt;/p&gt;
&lt;p&gt;Você encontrará informações sobre linguagens de programação, como &lt;a href="http://www.php.net/" target="_self" rel="nofollow"&gt;PHP&lt;/a&gt;, &lt;a href="http://pt.wikipedia.org/wiki/Asp" target="_self" rel="nofollow"&gt;ASP&lt;/a&gt;, &lt;a href="http://pt.wikipedia.org/wiki/JavaScript" target="_self" rel="nofollow"&gt;JavaScript&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Banco de Dados: &lt;a href="http://www.mysql.com/" target="_self" rel="nofollow"&gt;MySQL&lt;/a&gt;, &lt;a href="http://pt.wikipedia.org/wiki/Xml" target="_self" rel="nofollow"&gt;XML&lt;/a&gt;
&lt;a href="http://pt.wikipedia.org/wiki/Framework" target="_self" rel="nofollow"&gt;Frameworks&lt;/a&gt;: &lt;a href="http://jquery.com/" target="_self" rel="nofollow"&gt;jQuery&lt;/a&gt;, &lt;a href="http://www.codeigniter.com.br/manual/" target="_self" rel="nofollow"&gt;CodeIgniter&lt;/a&gt;
&lt;a href="http://pt.wikipedia.org/wiki/Sistema_de_gerenciamento_de_conte%C3%BAdo" target="_self" rel="nofollow"&gt;CMS&lt;/a&gt;: &lt;a href="http://br.wordpress.org" target="_self" rel="nofollow"&gt;WordPress&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Entre outras técnicas e teorias que conheço!&lt;/p&gt;
&lt;p&gt;Abraços,&lt;/p&gt;
&lt;p&gt;&lt;a href="https://leocaseiro.com.br/sobre" target="_self" rel="nofollow"&gt;Leo Caseiro&lt;/a&gt;&lt;/p&gt;</content:encoded></item></channel></rss>