<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><!-- generator="wordpress/2.1.3" --><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">

<channel>
	<title>Log da Selva</title>
	<link>http://logdaselva.com</link>
	<description>Porque há vida inteligente na Amazônia.</description>
	<pubDate>Thu, 27 Nov 2008 21:11:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.3</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/LogDaSelva" type="application/rss+xml" /><item>
		<title>Descobrindo o fantástico mundo das páginas dinâmicas (parte 03)</title>
		<link>http://logdaselva.com/descobrindo-o-fantastico-mundo-das-paginas-dinamicas-parte-03/</link>
		<comments>http://logdaselva.com/descobrindo-o-fantastico-mundo-das-paginas-dinamicas-parte-03/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 21:10:11 +0000</pubDate>
		<dc:creator>Tiago Guedes</dc:creator>
		
		<category><![CDATA[Aleatórios]]></category>

		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://logdaselva.com/descobrindo-o-fantastico-mundo-das-paginas-dinamicas-parte-03/</guid>
		<description><![CDATA[Olá meus caros amigos desbravadores do universo da programação. Estamos de volta a nossa querida série e, a propósito, alguém aí curte Iron Maiden? O post de hoje segue com &#8220;The Number of The Beast&#8221; de trilha sonora, muito bom!!
Bem, chega de papo furado né? Vamos ao que realmente nos interessa: PHP!
Vocês gostam de números? [...]]]></description>
			<content:encoded><![CDATA[<p>Olá meus caros amigos desbravadores do universo da programação. Estamos de volta a nossa querida série e, a propósito, alguém aí curte <a target="_black" href="http://www.ironmaiden.com/">Iron Maiden</a>? O post de hoje segue com &#8220;<a href="http://www.youtube.com/watch?v=7mHe6FMs46o">The Number of The Beast</a>&#8221; de trilha sonora, muito bom!!</p>
<p>Bem, chega de papo furado né? Vamos ao que realmente nos interessa: <a href="http://pt.wikipedia.org/wiki/PHP">PHP</a>!</p>
<p>Vocês gostam de números? Eu amo! E nesse post irei mostrar o quão fácil é realizar operações matemáticas no PHP.  </p>
<p>So, let´s rock dudes!</p>
<p>Vamos criar um novo arquivo com o nome de “<strong>operacoes.php</strong>” no diretório “<strong>\wamp\www</strong>”.</p>
<p><strong>operacoes.php</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
</pre></td><td class="code"><pre class="php"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #808080; font-style: italic;">// Vamos declarar duas variáveis (&quot;$a&quot; e &quot;$b&quot;) para receber os valores numéricos.</span>
&nbsp;
<span style="color: #0000ff;">$a</span> = <span style="color: #cc66cc;">1</span>;
<span style="color: #0000ff;">$b</span> = <span style="color: #cc66cc;">3</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Também vamos declarar uma variável para receber os resultados das operações, &quot;$total&quot;.</span>
&nbsp;
<span style="color: #808080; font-style: italic;">// Tudo certinho? Então vamos aos cálculos...</span>
&nbsp;
<span style="color: #808080; font-style: italic;">// Adição</span>
&nbsp;
<span style="color: #0000ff;">$total</span> = <span style="color: #0000ff;">$a</span> + <span style="color: #0000ff;">$b</span>;
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">&quot;Total adição = &quot;</span>.<span style="color: #0000ff;">$total</span>.<span style="color: #ff0000;">&quot;&lt;br /&gt;&quot;</span>; 
&nbsp;
<span style="color: #808080; font-style: italic;">// Note que ele imprime a tag &lt;br /&gt; no HTML pra fazer uma quebra de linha.</span>
&nbsp;
<span style="color: #808080; font-style: italic;">// Subtração</span>
&nbsp;
<span style="color: #0000ff;">$total</span> = <span style="color: #0000ff;">$b</span> - <span style="color: #0000ff;">$a</span>;
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">&quot;Total subtração = &quot;</span>.<span style="color: #0000ff;">$total</span>.<span style="color: #ff0000;">&quot;&lt;br /&gt;&quot;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Multiplicação</span>
&nbsp;
<span style="color: #0000ff;">$total</span> = <span style="color: #0000ff;">$a</span> * <span style="color: #0000ff;">$b</span>;
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">&quot;Total multiplicação = &quot;</span>.<span style="color: #0000ff;">$total</span>.<span style="color: #ff0000;">&quot;&lt;br /&gt;&quot;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Divisão</span>
&nbsp;
<span style="color: #0000ff;">$total</span> = <span style="color: #0000ff;">$a</span> / <span style="color: #0000ff;">$b</span>;
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">&quot;Total divisão = &quot;</span>.<span style="color: #0000ff;">$total</span>.<span style="color: #ff0000;">&quot;&lt;br /&gt;&quot;</span>;  
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>All too easy!<span style="color: #000099; font-weight: bold;">\&quot;</span> - Darth Vader, All Rights Reserved&quot;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>É interessante destacar que no PHP, assim como na maioria das linguagens de programação, primeiro são resolvidos os cálculos de multiplicação e divisão para depois serem resolvidos os de adição e subtração. Como nesse exemplo:  </p>
<p><strong>i. 1 + 1 / 2 * 2</strong>  (o que será que ele vai fazer?)</p>
<p>No exemplo &#8220;i&#8221; ele fará o seguinte: </p>
<p><strong>1º Divisão</strong> - vai primeiro dividir 1 por 2 (meio).<br />
<strong>2º Multiplicação</strong> - multiplica 1/2 por 2, resultando em 1 (um).<br />
<strong>3º Adição</strong> - Soma aquele 1 com o 1 do resultado anterior ficando 2 (dois) como resultado final. Got it?</p>
<p>Simples né? Mas cuidado, já vi muita gente tendo problemas de furo de lógica por causa dessas besteirinhas. <img src='http://logdaselva.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Ah pessoal, vale ressaltar também que em alguns casos teremos que usar parênteses para indicar uma prioridade na hora de resolver uma conta, como no exemplo abaixo:</p>
<p><strong>ii. (1 + 1) / (2 *2)</strong>  </p>
<p>No exemplo &#8220;ii&#8221; ele vai primeiro multiplicar 2 * 2 (quatro), em seguida somará 1 + 1 (dois) e, por fim, fará a divisão de 2 por 4 resultando em 0,5 (meio). </p>
<p>Até agora foi só alegria em? Vamos então passar um desafio! Calma, não vou pedir pra vocês resolverem nenhuma integral nem nada do genêro. Só quero que vocês façam um código que imprima próximo termo da seguinte progressão:</p>
<p><strong>iii. 2, 10, 12, 16, 17, 18, 19&#8230; </strong></p>
<p>Vou dar 5 minutinhos em&#8230;</p>
<p>(5 minutos depois)</p>
<p>E aí conseguiram?</p>
<p>Fácil demais né?! Para aqueles quem ficaram sem saber pra onde ir, aí vai a resposta:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
</pre></td><td class="code"><pre class="php"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #0000ff;">$a1</span> = <span style="color: #ff0000;">&quot;Dois&quot;</span>;
<span style="color: #0000ff;">$a2</span> = <span style="color: #ff0000;">&quot;Dez&quot;</span>;
<span style="color: #0000ff;">$a3</span> = <span style="color: #ff0000;">&quot;Doze&quot;</span>;
<span style="color: #0000ff;">$a4</span> = <span style="color: #ff0000;">&quot;Dezesseis&quot;</span>;
<span style="color: #0000ff;">$a5</span> = <span style="color: #ff0000;">&quot;Dezessete&quot;</span>;
<span style="color: #0000ff;">$a6</span> = <span style="color: #ff0000;">&quot;Dezeoito&quot;</span>;
<span style="color: #0000ff;">$a7</span> = <span style="color: #ff0000;">&quot;Dezenove&quot;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">/* E agora, o que fazer? 
/* Espero que ninguém tenha perdido tempo tentando resolver essa progressão 
/* matemáticamente (rs),
/* seguindo a lógica de que todos os números da progressão começam por &quot;D&quot;, o próximo 
/* número serááá...
/*
/* (som dos tambores)...
/*
*/</span>
&nbsp;
<span style="color: #0000ff;">$a8</span> = <span style="color: #ff0000;">&quot;Duzentos!!!&quot;</span>;
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #0000ff;">$a8</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Por favor, não levem a mal a pegadinha, só queria testar um pouquinho a lógica de vocês xP</p>
<p>Bem pessoal, por hoje é só. Críticas, comentários, palavrões?</p>
<p>Comentem sem medo, ficarei sempre muito grato em respondê-los!</p>
<p>Então vejo vocês em breve nesse mesmo bat-blog, com essa mesma bat-serie, escrita por esse mesmo bat-autor.</p>
<p>Sayonara developers!!</p>
]]></content:encoded>
			<wfw:commentRss>http://logdaselva.com/descobrindo-o-fantastico-mundo-das-paginas-dinamicas-parte-03/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Descobrindo o fantástico mundo das páginas dinâmicas (parte 02)</title>
		<link>http://logdaselva.com/descobrindo-o-fantastico-mundo-das-paginas-dinamicas-parte-02/</link>
		<comments>http://logdaselva.com/descobrindo-o-fantastico-mundo-das-paginas-dinamicas-parte-02/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 16:55:34 +0000</pubDate>
		<dc:creator>Tiago Guedes</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://logdaselva.com/descobrindo-o-fantastico-mundo-das-paginas-dinamicas-parte-02/</guid>
		<description><![CDATA[Bom dia amigos. Hoje, ao contrário da aula entediante de Redes que estou tendo neste momento, falarei sobre algo muito, mas muito interessante mesmo.  Saberemos o que são e como funcionam as variáveis no PHP.
Essas coisinhas incríveis que chamamos de variáveis servem para armazenar qualquer informação. Elas são análogas a um pedaço de papel, [...]]]></description>
			<content:encoded><![CDATA[<p>Bom dia amigos. Hoje, ao contrário da aula entediante de Redes que estou tendo neste momento, falarei sobre algo muito, mas muito interessante mesmo.  Saberemos o que são e como funcionam as variáveis no <a target="_blank" href="http://pt.wikipedia.org/wiki/PHP">PHP</a>.</p>
<p>Essas coisinhas incríveis que chamamos de variáveis servem para armazenar qualquer informação. Elas são análogas a um pedaço de papel, sim, pegue o um pedaço de papel e você terá uma variável em mãos! Nesse papel poderemos escrever qualquer de tipo de conteúdo: um nome (“Tiago”), um número inteiro (“20”), um número decimal (“6,5”), y algunas cositas más muchachos. Mas e agora José, o que faremos com isso?</p>
<p>Ah meus caros amigos, agora é que vem o “<a target="_blank" href="http://pt.wikipedia.org/wiki/%C3%89_o_Tchan!">tchan</a>” da coisa. Doutores, nós podemos colar nossos pedacinhos de papel em qualquer lugar de nossa página. Legal, não? Não?!? Tudo bem, sei que muitos de vocês devem estar se perguntando: “Não seria mais fácil eu escrever “Tiago” direto no código <a target="_blank" href="http://pt.wikipedia.org/wiki/Html">HTML</a> ao invés de usar uma variável para isso?”. Bem, se você é aquele tipo de programador tradicionalista que não gosta muito dessas “coisinhas modernas” e que adora um trabalho braçal, a resposta para esse questionamento é SIM.  Agora imagine que você queira puxar esse mesmo nome de um banco de dado. Você vai precisar ir lá no <a target="_blank" href="http://pt.wikipedia.org/wiki/Mysql">MySql</a>, verificar o valor do nome desejado no banco de dados e alterar o valor no código HTML. Que trabalhão em? Mas isso é só o começo. E se você precisa-se do nome de um usuário em um TOP10 porém seu site tem milhares de usuários, ou seja, seu TOP10 é alterado constantemente, já pensou a trabalheira que daria ter que ficar indo no banco de dados toda hora pra verificar os nomes dos usuários e depois alterar no código HTML? Mas eu, e vocês, como bons programadores preguiçosos, pensariamos: “E se eu pegasse o nome do usuário do banco de dados e jogasse numa variável, então sempre que houver alteração no TOP10 o nome de usuário será mudado automaticamente em nossa página.” Pretty cool, uh?!</p>
<p>Vamos criar  então um arquivo com o nome <strong>variaveis.php</strong> na pasta “<strong>\wamp\www</strong>”.</p>
<p>Bem meus caros, chega de conversa e vamos ao código!</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="php">&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #808080; font-style: italic;">// Uma variável no PHP é sempre iniciada com um “$”, certo?</span>
&nbsp;
<span style="color: #0000ff;">$nome</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Criamos então uma variável com o nome de “nome”, vamos dar algum valor a ela?</span>
&nbsp;
<span style="color: #0000ff;">$nome</span> = <span style="color: #ff0000;">&quot;Arnold Schwarzenegger&quot;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Pronto, agora que já demos um valor a nossa variável é hora de imprimi-la na tela</span>
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #0000ff;">$nome</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Mas que nome difícil esse que está em nossa variável em? Vamos trocá-lo por um outro mais fácil?</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre></td><td class="code"><pre class="php">&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #0000ff;">$nome</span>;
&nbsp;
<span style="color: #0000ff;">$nome</span> = <span style="color: #ff0000;">&quot;Arnold Schwarzenegger&quot;</span>;
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #0000ff;">$nome</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Vamos trocar o valor de nossa variável por um nome mais fácil</span>
&nbsp;
<span style="color: #0000ff;">$nome</span> = <span style="color: #ff0000;">&quot;Tiago&quot;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Feito isso, vamos mandar imprimir na tela &quot;Olá, meu nome agora é Tiago!&quot;</span>
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">&quot;. Olá, meu nome agora é &quot;</span>.<span style="color: #0000ff;">$nome</span>.<span style="color: #ff0000;">&quot;!&quot;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">/* Quando você quizer imprimir o valor de uma variável
/* dentro da string que está sendo enviada para a função &quot;echo&quot;
/* primeiro feche a string utilizando as aspas duplas e utilize o &quot;.&quot;
/* pra indicar que é uma variável.
*/</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Viram só como é possível mudar o valor de uma variável quando bem entendermos? Agora tenho certeza que todos vocês entenderam o porquê do nome &#8220;variável&#8221;, certo?</p>
<p>Tarefa cumprida então é hora de dar tchau.<br />
Vejo vocês no próximo post, grande abraço a todos!</p>
]]></content:encoded>
			<wfw:commentRss>http://logdaselva.com/descobrindo-o-fantastico-mundo-das-paginas-dinamicas-parte-02/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Descobrindo o fantástico mundo das páginas dinâmicas (parte 01)</title>
		<link>http://logdaselva.com/descobrindo-o-fantastico-mundo-das-paginas-dinamicas-parte-01/</link>
		<comments>http://logdaselva.com/descobrindo-o-fantastico-mundo-das-paginas-dinamicas-parte-01/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 02:34:35 +0000</pubDate>
		<dc:creator>Tiago Guedes</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://logdaselva.com/descobrindo-o-fantastico-mundo-das-paginas-dinamicas-parte-01/</guid>
		<description><![CDATA[Olá caríssimos amigos. Depois de um longo período sombrio em nosso querido blog resolvi então tomar as rédeas do mesmo e, desde já, pretendo assumir o compromisso de mantê-lo atualizado semanalmente (pelo menos isso né ?! rs). Pois bem, estou aqui ao som do &#8220;novo&#8221; cd do Guns´n´Roses, Chinese Democracy (que até então está me [...]]]></description>
			<content:encoded><![CDATA[<p>Olá caríssimos amigos. Depois de um longo período sombrio em nosso querido blog resolvi então tomar as rédeas do mesmo e, desde já, pretendo assumir o compromisso de mantê-lo atualizado semanalmente (pelo menos isso né ?! rs). Pois bem, estou aqui ao som do &#8220;novo&#8221; cd do Guns´n´Roses, <a target="_blank" href="http://pt.wikipedia.org/wiki/Chinese_Democracy">Chinese Democracy</a> (que até então está me parecendo um tanto exótico) e para marcar o retorno do <a target="_blank" href="http://logdaselva.com">Log da Selva</a> vamos falar um pouco de <a target="_blank" href="http://pt.wikipedia.org/wiki/PHP">Personal Home Pages</a>, sim, PHP!!</p>
<p>Estarei, através deste post, iniciando uma série de outros posts onde tratarei de PHP estrutural e suas aplicações mais comuns em páginas dinâmicas. A idéia dessa série surgiu com o pedido de ajuda de um amigo para dar seus primeiros passos no PHP. Sei que não só ele como muitas outras pessoas (inclusive eu) tiveram algumas dificuldades para chegar ao seu primeiro &#8220;Hello PHP World&#8221;. Como muitos acabam de perceber, essa série estará voltada àqueles que estão iniciando sua jornada nessa viagem sem volta ao universo da programação de <a target="_blank" href="http://www.intercom.org.br/papers/nacionais/2005/resumos/R0614-1.pdf">páginas dinâmicas</a>.</p>
<p>Como prometido, chega de falatório, é hora de começar!</p>
<p>Primeiramente iremos baixar um software que irá facilitar bastante nossas vidas, o <a target="_blank" href="http://baixaki.ig.com.br/download/wamp5.htm">wamp</a>. Nosso amiguinho wamp fará todo o trabalho sujo: instalar e configurar o servidor <a target="_blank" href="http://pt.wikipedia.org/wiki/Servidor_Apache">Apache</a>, o gerenciador de banco de dados <a target="_blank" href="http://pt.wikipedia.org/wiki/Mysql">MySql</a>, o <a target="_blank" href="http://pt.wikipedia.org/wiki/PhpMyAdmin">PhpMyAdmin</a> e, o PHP. Que mão na roda em? </p>
<p>Certo, tudo instalado, vamos abrir o wamp para que o nosso servidor local fique online (localmente, é claro). Feito isso, abramos nosso navegador web para acessar o endereço &#8220;http://localhost/&#8221;. Se a página do wamp abrir significa que está tudo nos conformes e que já podemos partir para o tão esperado &#8220;Hello PHP World!&#8221;.</p>
<p>Ah, não podemos esquecer que nosso código PHP precisa estar num arquivo .php para que o servidor possa interpretá-lo. Este, por sua vez, precisa estar num diretório dentro de nosso servidor, em nosso caso o diretório, ou pasta, é: &#8220;\wamp\www&#8221;. É lá que nosso servidor vai buscar os arquivos quando digitamos o endereço &#8220;http://localhost/&#8221; no browser.</p>
<p>Abram seus editores ou, se perferirem, o famoso Notepad (Bloco de notas) e salvem o arquivo na pasta &#8220;www&#8221; do wamp com o nome de <strong>hello.php</strong></p>
<p>Agora sim, vamos ao código&#8230;</p>
<p>Ah, para os comentários usarei sempre &#8220;//&#8221; ou &#8220;/* */&#8221;, certo?</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="php"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/* Para indicarmos o início e o fim de um código php 
/* devemos usar as tags &quot;&lt;?php&quot;,  &quot;?&gt;&quot; respectivamente.
*/</span>
&nbsp;
&nbsp;
<span style="color: #000066;">echo</span> <span style="color: #ff0000;">&quot;Hello PHP Word!&quot;</span>; 
&nbsp;
&nbsp;
<span style="color: #808080; font-style: italic;">/* echo é uma função que imprime uma string (cadeia de caracteres) na tela,
/* note que para terminar uma linha de código usaremos sempre o &quot;;&quot;
*/</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Agora é só acessar o endereço: &#8220;<strong>http://localhost/hello.php</strong>&#8221; e Wah-lah!!! Emocionante, não? =]</p>
<p>Tudo funcionou direitinho?</p>
<p>Dúvidas? Sugestões?</p>
<p>Missão cumprida?! </p>
<p>Então até a próxima pessoal!!</p>
]]></content:encoded>
			<wfw:commentRss>http://logdaselva.com/descobrindo-o-fantastico-mundo-das-paginas-dinamicas-parte-01/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mais do que uma trigger</title>
		<link>http://logdaselva.com/mais-do-que-uma-trigger/</link>
		<comments>http://logdaselva.com/mais-do-que-uma-trigger/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 14:17:10 +0000</pubDate>
		<dc:creator>Rodrigo Fournier</dc:creator>
		
		<category><![CDATA[Banco de Dados]]></category>

		<guid isPermaLink="false">http://logdaselva.com/mais-do-que-uma-trigger/</guid>
		<description><![CDATA[Voltando a postar, e tentando mais uma vez dar dica pra galera. Esses dias tive que fazer uma tarefa aqui na empresa bem interessante. Precisava acrescentar ao login do sistema que estamos desenvolvendo, uma funcionalidade de bloqueio para quando o usuário errasse a senha 3 vezes. Até ai muito fácil, e não detalharei a maneira [...]]]></description>
			<content:encoded><![CDATA[<p>Voltando a postar, e tentando mais uma vez dar dica pra galera. Esses dias tive que fazer uma tarefa aqui na empresa bem interessante. Precisava acrescentar ao login do sistema que estamos desenvolvendo, uma funcionalidade de bloqueio para quando o usuário errasse a senha 3 vezes. Até ai muito fácil, e não detalharei a maneira como fiz pois existem várias formas, e não é esse o tema que quero tocar nesse post. O fato é que o cliente pediu que se a pessoa errasse 2 vezes a senha e desistisse do acesso, para que as tentativas de acesso fossem novamente zeradas, precisariam passar 10 dias além da última tentativa.</p>
<p>Mais uma vez, isso poderia ser feito de n maneiras, mas falarei a maneira que me foi mais conveniente e que dependeu apenas do banco de dados para ser concretizada. </p>
<p>Aqui na empresa utilizamos oracle, e a ferramenta de acesso aos dados, que EU utilizo para tal, é o <a href="http://www.toadsoft.com/">TOAD</a> da <a href="http://www.quest.com/">QUEST SOFTWARE</a>. Para quem não o conhece, posso dizer que é uma ferramenta mais indicada parada DBAs, e que muitos aqui preferem o <a href="http://brazil.quest.com/sql-navigator/">SQLNavigator</a> produzido pela mesma empresa (acho eu, rsrsrsrs), mas eu me acostumei a mexer no TOAD e adoro trabalhar com ele.</p>
<p>Agora vamos a solução&#8230;eu criei uma procedure que pegasse todos os usuários que tivessem 1 ou 2 tentativas de acesso no período maior ou igual a 10 dias e os atualizassem, zerando o número de tentativas e a data da última tentativa. Dai, surgiu a dúvida de como fazer para que essa procedure fosse disparada. Uma trigger, que disparasse ao executar qualquer outra coisa??? Bom talvez fosse uma solução boa, mas eu precisava que isso executasse todos os dias sem precisar meter a mão em nada. </p>
<p>Pesquisando pela web e consultando alguns amigos aqui da empresa, cheguei ao tal <a href="http://pt.wikipedia.org/wiki/Job_Control_Language">JOB</a>. O JOB era exatamente do que eu precisava, um processo que fosse executado o dia que eu mandasse na hora que eu quisesse, e o melhor, o TOAD tem ferramenta visual que cria um JOB sem que você precise meter a mão em código SQL, pois ele já gera todo o código. </p>
<p>Talvez isso já seja velho conhecido de alguns, mas tenho certeza que para alguns, como foi pra mim, isso é algo novo e que possa vir a ajudar em algo.</p>
]]></content:encoded>
			<wfw:commentRss>http://logdaselva.com/mais-do-que-uma-trigger/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Chrome vs outros browsers</title>
		<link>http://logdaselva.com/google-chrome-vs-outros-browsers/</link>
		<comments>http://logdaselva.com/google-chrome-vs-outros-browsers/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 13:49:37 +0000</pubDate>
		<dc:creator>Rodrigo Fournier</dc:creator>
		
		<category><![CDATA[Aleatórios]]></category>

		<guid isPermaLink="false">http://logdaselva.com/google-chrome-vs-outros-browsers/</guid>
		<description><![CDATA[Depois de ver vários posts em outros blogs sobre o tal novo navegador do Google, resolvi tentar expressar minha opinião sobre o assunto aqui no logdaselva. Dados e mais dados estão rolando na web sobre o Google Chrome, como:  em seu primeiro dia já ter atingido 4% do mercado, coisa que o firefox demorou [...]]]></description>
			<content:encoded><![CDATA[<p>Depois de ver vários posts em outros blogs sobre o tal novo navegador do Google, resolvi tentar expressar minha opinião sobre o assunto aqui no logdaselva. Dados e mais dados estão rolando na web sobre o <a href="http://www.google.com/chrome">Google Chrome</a>, como:  em seu primeiro dia já ter atingido 4% do mercado, coisa que o firefox demorou para conseguir, em 48 horas, conseguiu o posto de 4º navegador mais usado, e por ai vai&#8230;o fato é que, baixei o Google Chrome por que todos aqui no trabalho fizeram o mesmo, e pra falar a verdade o navegador é muito agradável.<br />
Interface limpa, idéia muito boa de uma página inicial com suas páginas mais acessadas e uma área para os favoritos, velocidade para navegação que até assusta pela vantagem que leva sobre os outros browsers e uma ferramenta para desenvolvedores já nativa dele, no melhor estilo firebug.<br />
Mas, mesmo com todos esses prós, o firefox, na minha opinião, continua a ser o melhor browser da atualidade, por poder contar com inúmeros recursos que não tem comparação com os de nenhum outro. É claro que é bom lembrar, que o Chrome não tem nem uma semana, e que ainda está em versão beta, bom o <a href="http://www.gmail.com">GMail</a> e o <a href="http://www.orkut.com">Orkut</a> estão lá como beta até hoje (começo a achar que seja alguma jogada de marketing do Google, se alguém ai souber de algo sobre isso me corrija).<br />
Só para estender um pouquinho mais o post, vou comentar sobre o famigerado Internet Explorer. Espero que a Microsoft corra muito atrás do prejuízo pra manter a liderança no mercado e para melhorar seu browser, por que se o Google lançar um Sistema Operacional (eu tinha comentado isso com o Hisamu a algum tempo e ele disse que eu era louco de achar que o Google se meteria nesse mercado) que ganhe a mesma aceitação inicial que seu browser, poderemos vivenciar a derrocada de uma das maiores empresas mundiais dos últimos anos. Se cuida tio Bill !!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://logdaselva.com/google-chrome-vs-outros-browsers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Setando data no PreparedStatement</title>
		<link>http://logdaselva.com/setando-data-no-preparedstatement/</link>
		<comments>http://logdaselva.com/setando-data-no-preparedstatement/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 14:28:52 +0000</pubDate>
		<dc:creator>Rodrigo Fournier</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://logdaselva.com/setando-data-no-preparedstatement/</guid>
		<description><![CDATA[Mais um post sobre Java, esse também sobre datas, e mais uma vez sobre algo que me gerou dúvida, que procurei na web e que não vi nada que me agradasse, ou servisse exatamente para o que eu queria, por isso quando acontece esse tipo de coisa, acho que é válido postar dicas aqui pois [...]]]></description>
			<content:encoded><![CDATA[<p>Mais um post sobre Java, esse também sobre datas, e mais uma vez sobre algo que me gerou dúvida, que procurei na web e que não vi nada que me agradasse, ou servisse exatamente para o que eu queria, por isso quando acontece esse tipo de coisa, acho que é válido postar dicas aqui pois pode vir a ser dúvida de outras pessoas também. O projeto que estou escalado, está pra ir pro ar em pouco tempo, e a galera aqui deixou sobre minha tutela substituir algumas partes essências do projeto que estavam usando o objeto Statement para fazer Inserts, Uploads e Delets, pelo PreparedStatement, aliás me pediram isso com certa urgência. Por que da urgência? O PreparedStatement previne a famosa <a href="http://pt.wikipedia.org/wiki/Sql_injection">injeção de SQL</a>, um mal que pode causar diversos problemas para o sistema, não entrarei em detalhes, coisa que o Statement não faz. Feito isso, um problema surgiu. A galera aqui desenvolveu um método para tratar datas diretamente para o Oracle usando o comando <a href="http://www.techonthenet.com/oracle/functions/to_date.php">to_date</a>. o que facilita muito em alguns casos, mas esse método gera uma string, e como pro PreparedStatement basta você colocar um interrogação(?) no lugar que você quer que entre o comando a ser passado para a query, e depois informar o tipo para ele que ele se encarrega do resto, quando era usado o setString para o retorno do método usado, ele colocava tudo entre aspas simples, mais ou menos assim &#8216;to_date(&#8217;26/08/08&#8242;, &#8216;dd/mm/yyyy&#8217;)', isso gerava um erro na hora de executar esse sql, foi ai que fiquei sem saber o que fazer. Depois de muito pesquisar e de consultar alguns amigos do trampo, conseguimos chegar a um denominador comum. Setamos direto no PreparedStatement o tipo data (SetDate), e usamoso new Date passando para este método a data em TimeInMillis. Complicou?? Mostrarei o código.</p>
<p>pstmt.setDate(posicao, new Date(data.getTimeInMillis()));</p>
<p>Esse código passa para o banco a data com o formato correto, e Graças a Deus resolveu meu problema. <img src='http://logdaselva.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://logdaselva.com/setando-data-no-preparedstatement/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IETester</title>
		<link>http://logdaselva.com/ietester/</link>
		<comments>http://logdaselva.com/ietester/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 01:33:18 +0000</pubDate>
		<dc:creator>Tiago Guedes</dc:creator>
		
		<category><![CDATA[Dicas]]></category>

		<category><![CDATA[Utilitários]]></category>

		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://logdaselva.com/ietester/</guid>
		<description><![CDATA[Trago boas novas para aqueles que precisam testar suas páginas no maior &#8220;mal necessário&#8221; dos programadores web, para quem não entendeu ainda, estou me referindo ao Internet Explorer 6 !
Esqueçam o Virtual Pc !! Fuçando na net encontrei um software muito bom que simula várias versões do IE (do 5.5 ao 8 beta), o que [...]]]></description>
			<content:encoded><![CDATA[<p>Trago boas novas para aqueles que precisam testar suas páginas no maior &#8220;mal necessário&#8221; dos programadores web, para quem não entendeu ainda, estou me referindo ao Internet Explorer 6 !</p>
<p>Esqueçam o Virtual Pc !! Fuçando na net encontrei um software muito bom que simula várias versões do IE (do 5.5 ao 8 beta), o que me interessou muito, não deixem de conferir:</p>
<p>IETester, segue o link para download abaixo:</p>
<p><a href="http://baixaki.ig.com.br/download/IETester.htm">http://baixaki.ig.com.br/download/IETester.htm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://logdaselva.com/ietester/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quer burlar os captchas do RapidShare?</title>
		<link>http://logdaselva.com/quer-burlar-os-captchas-do-rapidshare/</link>
		<comments>http://logdaselva.com/quer-burlar-os-captchas-do-rapidshare/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 18:40:43 +0000</pubDate>
		<dc:creator>Luã de Souza</dc:creator>
		
		<category><![CDATA[Descontração]]></category>

		<guid isPermaLink="false">http://logdaselva.com/quer-burlar-os-captchas-do-rapidshare/</guid>
		<description><![CDATA[Vem aí os novos captchas do RapidShare:

Via email 
]]></description>
			<content:encoded><![CDATA[<p>Vem aí os novos captchas do RapidShare:</p>
<p><a href='http://logdaselva.com/wp-content/uploads/2008/08/rapidsharecaptchaskk7.png' title='Captchas RapidShare'><img src='http://logdaselva.com/wp-content/uploads/2008/08/rapidsharecaptchaskk72.png' alt='Captchas RapidShare' /></a></p>
<p>Via email <img src='http://logdaselva.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://logdaselva.com/quer-burlar-os-captchas-do-rapidshare/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Jandira Feghali e o web calote</title>
		<link>http://logdaselva.com/jandira-feghali-e-o-web-calote/</link>
		<comments>http://logdaselva.com/jandira-feghali-e-o-web-calote/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 12:50:32 +0000</pubDate>
		<dc:creator>Luã de Souza</dc:creator>
		
		<category><![CDATA[Aleatórios]]></category>

		<category><![CDATA[Opinião]]></category>

		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://logdaselva.com/jandira-feghali-e-o-web-calote/</guid>
		<description><![CDATA[Pra quem vota no rio, tá aí um bom motivo pra não votar em alguém.

Dar calote em quem faz o site não é legal, viu, dona prefeita? Eu teria feito o mesmo, senão pior.
Via twitter (@pathaddad) e Diário do Rio.
]]></description>
			<content:encoded><![CDATA[<p>Pra quem vota no rio, tá aí um bom motivo pra <strong>não</strong> votar em alguém.</p>
<p><img src='http://logdaselva.com/wp-content/uploads/2008/08/jandira2.jpg' alt='Jandira Caloteira' /></p>
<p>Dar calote em quem faz o site não é legal, viu, <a href="http://www.jandira65.can.br/">dona prefeita</a>? Eu teria feito o mesmo, senão pior.</p>
<p>Via <a href="http://twitter.com/pathaddad/statuses/885136333">twitter</a> (@<a href="http://www.patriciahaddad.com/">pathaddad</a>) e <a href="http://diariodorio.com/coisa-feia-jandira/">Diário do Rio</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://logdaselva.com/jandira-feghali-e-o-web-calote/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fim do PHP 4  - Vai tarde!</title>
		<link>http://logdaselva.com/fim-do-php-4-vai-tarde/</link>
		<comments>http://logdaselva.com/fim-do-php-4-vai-tarde/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 14:15:58 +0000</pubDate>
		<dc:creator>Luã de Souza</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://logdaselva.com/fim-do-php-4-vai-tarde/</guid>
		<description><![CDATA[Hoje saiu o último release do PHP 4, o 4.4.9. De agora em diante só o PHP 5 terá suporte, então, se você usa o PHP 4, considere sobre fazer um upgrade (finalmente).
Gostaria de expressar minha ENORME felicidade com essa notícia, espero que agora abandonem de vez essa versão que é mais velha que eu. [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje saiu o <a href="http://www.php.net/archive/2008.php#id2008-08-07-1">último release do PHP 4</a>, o 4.4.9. De agora em diante só o PHP 5 terá suporte, então, se você usa o PHP 4, considere sobre fazer um upgrade (finalmente).</p>
<p>Gostaria de expressar minha ENORME felicidade com essa notícia, espero que agora abandonem de vez essa versão que é mais velha que eu. Vai tarde, PHP 4.</p>
<p>A propósito, semana passada foi lançada a versão <a href="http://www.php.net/archive/2008.php#id2008-08-01-1">alpha1 do PHP 5.3</a>, que ainda não está pronta para uso em produção.</p>
<p><a href="http://www.gophp5.org/">Go PHP 5 </a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://logdaselva.com/fim-do-php-4-vai-tarde/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
