<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Eliel de Paula &#187; Programação</title>
	<atom:link href="http://elieldepaula.com.br/blog/category/tecnologia/programacao/feed/" rel="self" type="application/rss+xml" />
	<link>http://elieldepaula.com.br/blog</link>
	<description>Programando ou tocando por aí...</description>
	<lastBuildDate>Thu, 10 Jun 2010 17:20:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP &#8211; 15 Anos</title>
		<link>http://elieldepaula.com.br/blog/2010/06/php-15-anos/</link>
		<comments>http://elieldepaula.com.br/blog/2010/06/php-15-anos/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 14:05:05 +0000</pubDate>
		<dc:creator>Eliel de Paula</dc:creator>
				<category><![CDATA[Dia-a-dia]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[aniversário]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Rasmus Lerdorf]]></category>

		<guid isPermaLink="false">http://elieldepaula.com.br/blog/?p=356</guid>
		<description><![CDATA[



Image via Wikipedia



Parece que foi ontem, mas a quinze anos atrás Rasmus Lerdorf anunciava o PHP 1.0 em uma lista de discussões. Nesse período a internet mudou drásticamente e o PHP acompanhou tornando-se a linguagem de programação mais popular e completa da internet.
Ainda me lembro de quando dei meus primeiros passos na linguagem, aprendendo comandos [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img zemanta-action-dragged" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://en.wikipedia.org/wiki/File:PHP-logo.svg"><img title="The PHP logo displaying the Handel Gothic font." src="http://upload.wikimedia.org/wikipedia/en/thumb/2/27/PHP-logo.svg/300px-PHP-logo.svg.png" alt="The PHP logo displaying the Handel Gothic font." width="300" height="159" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image via <a href="http://en.wikipedia.org/wiki/File:PHP-logo.svg">Wikipedia</a></dd>
</dl>
</div>
</div>
<p>Parece que foi ontem, mas a quinze anos atrás Rasmus Lerdorf anunciava o PHP 1.0 em uma <a rel="nofollow" href="http://groups.google.com/group/comp.infosystems.www.authoring.cgi/msg/cc7d43454d64d133?dmode=source&amp;hl=en&amp;pli=1" target="_blank">lista de discussões</a>. Nesse período a internet mudou drásticamente e o PHP acompanhou tornando-se a linguagem de programação mais popular e completa da internet.</p>
<p>Ainda me lembro de quando dei meus primeiros passos na linguagem, aprendendo comandos básicos e apanhando para conectar-se com o banco de dados, mas hoje, o PHP não é mais só &#8220;um conjunto de ferramentas para algumas funções CGI&#8221;, é uma aaas linguagens mais respeitadas da internet, e porque não dizer a melhor?</p>
<p>De qualquer forma, Parabéns meu velho amigo PHP de tantas madrugadas em claro!</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/f37990a3-4e89-48e2-a32e-0ea8f1e8b63d/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=f37990a3-4e89-48e2-a32e-0ea8f1e8b63d" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
 <span class="post2pdf_span" style="border: 1px solid gray; width: 160px; text-align: left; "><a href="http://elieldepaula.com.br/blog/wp-content/plugins/post2pdf/generate.php?post=d" rel="nofollow"><img src="http://elieldepaula.com.br/blog/wp-content/plugins/post2pdf/icon/pdf.png" width="16px" height="16px" />convert this post to pdf.</a></span>]]></content:encoded>
			<wfw:commentRss>http://elieldepaula.com.br/blog/2010/06/php-15-anos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FTP com PHP</title>
		<link>http://elieldepaula.com.br/blog/2010/03/ftp-com-php/</link>
		<comments>http://elieldepaula.com.br/blog/2010/03/ftp-com-php/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 22:33:40 +0000</pubDate>
		<dc:creator>Eliel de Paula</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sincronismo]]></category>

		<guid isPermaLink="false">http://elieldepaula.com.br/blog/?p=321</guid>
		<description><![CDATA[Recentemente precisei desenvolver um sistema de sincronismo para uma aplicação móvel que tenho trabalhado. Como o sistema é on-line, o lance foi usar o PHP mesmo que impera soberano na internet.
No meu caso eu precisava sincronizar duas pastas e o banco de dados. Só para entender, nas tabelas do banco de dados estão informações diversas [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente precisei desenvolver um sistema de sincronismo para uma aplicação móvel que tenho trabalhado. Como o sistema é on-line, o lance foi usar o PHP mesmo que impera soberano na internet.</p>
<p>No meu caso eu precisava sincronizar duas pastas e o banco de dados. Só para entender, nas tabelas do banco de dados estão informações diversas e dentre elas os caminhos para as imagens e animações contidas nas pastas.</p>
<p>Neste artigo estarei falando da atualização das pastas e deixando a parte do banco de dados para um outro post.<span id="more-321"></span></p>
<p>Depois de pensar um pouco nas possibilidades que tinha para atualizar as pastas, acabei optando por fazê-lo via FTP utilizando o PHP que é relativamente fácil, porém não é muito falado. Então tentarei mostrar aqui de forma simplificada os 4 métodos mais usados (acredito eu) em manipulação do FTP.</p>
<p>1- Conexão<br />
<code><br />
function ConFTP() {<br />
$con	=	ftp_connect("ftp.seusite.com", "porta"); // Efetua a conexão.<br />
if(!$con) {<br />
echo date("d/m/y h:i:s") . "&gt; Erro na conexão.<br />
";<br />
} else {<br />
echo date("d/m/y h:i:s") . "&gt; Conectado com sucesso.<br />
";<br />
ftp_login($con,"usuario",'senha"); // Efetua o login.<br />
ftp_pasv($con,false); // Define se é modo passivo ou ativo.<br />
echo date("d/m/y h:i:s") . "&gt; Login aceito para &lt;Nome do usuário&gt;.<br />
";<br />
echo date("d/m/y h:i:s") . "&gt; Diretório atual: ".ftp_pwd($con)."<br />
";<br />
}<br />
return $con;<br />
}<br />
</code><br />
2- Desconexão<br />
<code><br />
function OutFTP($tmFtp) {<br />
if(ftp_quit($tmFtp)) {<br />
echo date("d/m/y h:i:s") . "&gt; Desconectado com sucesso.<br />
";<br />
return true;<br />
} else {<br />
echo date("d/m/y h:i:s") . "&gt; Erro ao desconectar.<br />
";<br />
return false;<br />
}<br />
}<br />
</code><br />
3- Baixar arquivo<br />
<code><br />
/**<br />
* Efetua o download de um arquivo FTP<br />
* @param Link ftp $tmFtp<br />
* @param Arquivo local $loFile -&gt; Caminho do arquivo local.<br />
* @param Arquivo on-line $onFile -&gt; Caminho do arquivo on-line<br />
*/<br />
function Down($tmFtp, $loFile, $onFile) {<br />
if(!ftp_get($tmFtp, $loFile, $onFile, FTP_BINARY)) {<br />
echo date("d/m/y h:i:s") . "&gt; Erro ao tentar o dowload de : ".$onFile."<br />
";<br />
return false;<br />
} else {<br />
echo date("d/m/y h:i:s") . "&gt; Download com sucesso de : ".$onFile."<br />
";<br />
return true;<br />
}</code></p>
<p>}</p>
<p>Utilização:<br />
<code><br />
$ftp = ConFtp();<br />
if($ftp) {<br />
Down($ftp, "../caminho/do/arquivo/local/arquivo.txt", "/www/caminho/do/arquivo/online/arquivo.txt"); // Faz o download do arquivo.txt para o caminho especificado.<br />
}<br />
</code></p>
<p>É isso aí, espero que seja útil.</p>
 <span class="post2pdf_span" style="border: 1px solid gray; width: 160px; text-align: left; "><a href="http://elieldepaula.com.br/blog/wp-content/plugins/post2pdf/generate.php?post=A" rel="nofollow"><img src="http://elieldepaula.com.br/blog/wp-content/plugins/post2pdf/icon/pdf.png" width="16px" height="16px" />convert this post to pdf.</a></span>]]></content:encoded>
			<wfw:commentRss>http://elieldepaula.com.br/blog/2010/03/ftp-com-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nomenclaturas</title>
		<link>http://elieldepaula.com.br/blog/2009/06/nomenclaturas/</link>
		<comments>http://elieldepaula.com.br/blog/2009/06/nomenclaturas/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 12:43:26 +0000</pubDate>
		<dc:creator>Eliel de Paula</dc:creator>
				<category><![CDATA[Dia-a-dia]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[nomenclatura]]></category>
		<category><![CDATA[nomes]]></category>

		<guid isPermaLink="false">http://elieldepaula.com.br/blog/?p=290</guid>
		<description><![CDATA[Olá! Hoje eu falarei sobre nomenclaturas, uma dica que me ajuda muito no dia-a-dia de programação.
Uma nomenclatura bem organizada e consistente pode salvar nossa pele quando um projeto toma grandes proporções.
Os problemas mais sérios são os nomes usados nos bancos de dados, coisas como ter um campo com o mesmo nome em várias tabelas, e [...]]]></description>
			<content:encoded><![CDATA[<p>Olá! Hoje eu falarei sobre nomenclaturas, uma dica que me ajuda muito no dia-a-dia de programação.</p>
<p>Uma nomenclatura bem organizada e consistente pode salvar nossa pele quando um projeto toma grandes proporções.</p>
<p>Os problemas mais sérios são os nomes usados nos bancos de dados, coisas como ter um campo com o mesmo nome em várias tabelas, e falta de padrão nos nomes das tabelas e seus registros.<span id="more-290"></span></p>
<p><strong>Erros que não devemos cometer</strong></p>
<p>Evitar usar os famosos ‘ID’, ‘NUMREG’ ou outro termo qualquer como chave primária de suas tabelas, menos que seu sistema possua apenas uma tabela, o que é muito improvável. Na hora de criar um relacionamento seu banco de dados pode explodir.</p>
<p>Evite usar tudo com letras maiúsculas, se você trabalha em um ambiente Linux ou derivado já sabe que tudo é “<em>Case Sensitive</em>”, então o minúsculo ou a ordem da primeira letra maiúscula seguida das minúsculas são a melhor opção.</p>
<p><strong>De programador para programador</strong></p>
<p>Vamos tomar como exemplo uma base de dados que contenham 3 tabelas, uma de clientes, uma de vendas e uma de produtos. Os nomes das tabelas sempre começariam com o prefixo ‘<em>tb</em>’ seguido pelo nome, que ficariam tbClientes, tbVendas e tbProdutos.</p>
<p><a href="http://elieldepaula.com.br/blog/wp-content/uploads/2009/06/nomenclaturas-1.png"><img class="aligncenter size-medium wp-image-291" title="nomenclaturas-1" src="http://elieldepaula.com.br/blog/wp-content/uploads/2009/06/nomenclaturas-1-300x226.png" alt="nomenclaturas-1" width="300" height="226" /></a></p>
<p>Ó que coisa simples&#8230; mas isso ajuda muito quando você tem que trabalhar no código de sua aplicação, afinal quando você ler tbClientes já sabe que se trata da tabela de clientes, caso contrario, se fosse somente CLIENTES poderia gerar dúvidas pois poderia ser uma variável, uma constante ou qualquer outra coisa menos a tabela&#8230;</p>
<p>Em seguida vem o padrão da estrutura interna das tabelas que é outro ponto que devemos sempre tomar muito cuidado. Eu uso como padrão da chave primaria da tabela o prefixo ‘cod’ seguido do nome da tabela, no caso da tabela de clientes seria codCliente.</p>
<p>Os demais campos seguiriam um padrão de prefixos de acordo com a tabela, colocando prefixos de no máximo 3 caracteres, a tabela de clientes poderia ficar assim:</p>
<p><a href="http://elieldepaula.com.br/blog/wp-content/uploads/2009/06/nomenclaturas-2.png"><img class="aligncenter size-medium wp-image-292" title="nomenclaturas-2" src="http://elieldepaula.com.br/blog/wp-content/uploads/2009/06/nomenclaturas-2-300x227.png" alt="nomenclaturas-2" width="300" height="227" /></a></p>
<p><strong>Nomenclaturas de arquivos</strong></p>
<p>Uma boa nomenclatura para os arquivos sempre ajuda na localização e na orientação dentro de suas aplicações. Em geral, quando o programa é grande e trabalhamos muito nele, sabemos com certa facilidade sobre o que procuramos, mas depois que se passa um certo tempo sem colocar a mão naquele sistema, ou mesmo quando já está enorme com muitos arquivos e você com serviço saindo pelo “<em>ladrão</em>”, uma hora a cabeça falha e você fica doido procurando determinado arquivo.</p>
<p><strong>De programador para programador</strong></p>
<p>Em geral, em meus projetos eu uso prefixos nos arquivos de acordo com sua funcionalidades dentro do sistema. Veja um exemplo de como ficaria a árvore de arquivos de um sistema web:</p>
<p><a href="http://elieldepaula.com.br/blog/wp-content/uploads/2009/06/nomenclaturas-3.png"><img class="aligncenter size-medium wp-image-293" title="nomenclaturas-3" src="http://elieldepaula.com.br/blog/wp-content/uploads/2009/06/nomenclaturas-3-223x300.png" alt="nomenclaturas-3" width="223" height="300" /></a></p>
<p>Na pasta Arquivos eu guardo todos os arquivos relativos ao projeto, como rascunhos, anotações e fontes de imagens criadas para o projeto, na pasta home geralmente fica apenas um aruivo, o index. A pasta inc já diz, fica guardando os arquivos que serão incluídos ou usados pelo index que fica na pasta home, a pasta img armazena toas as imagens do projeto.</p>
<p>Os arquivos de inclusão que ficam armazenados na pasta inc também recebem um prefixo com o nome da pasta, por exemplo, inc.Clientes.php.</p>
<p>Essas são dicas simples mas que ao longo do tempo podem fazer a diferença na organização do seu trabalho e que com certeza vão refletir em desempenho, agilidade devido ao fluxo de dados e até com usabilidade devido a organização. (Fluxo de dados e usabilidade que são assuntos para post’s futuros.)</p>
<p>Muitos programadores, por alguma razão, não fazem a documentação de seus programas, como diagramas de classe, UML, modelagens em geral. A maioria faz de cabeça ou rascunham em um pedaço de papel.</p>
<p>Em geral isso não é errado, desde que o programa funcione <img src='http://elieldepaula.com.br/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Mas qualquer anotação em um pedaço de guardanapo pode ser considerado como uma modelagem, mesmo que informal.</p>
<p>Eu confesso que para projetos pequenos eu não faço toda a documentação, mas faço um pequeno esboço do programa (mesmo que em papel) um esboço do banco de dados e seus relacionamentos e diagramas de casos de uso (resumidos) também são muito bons para se organizar as idéias na hora de colocar tudo em funcionamento.</p>
<p>Espero que seja de utilidade para todos pois pra mim isso sempre fez a diferença em meus projetos depois que eu comecei a colocar em pratica. Sucesso a todos!</p>
<p>Eliel de Paula – Analista de sistemas<br />
Elieldepaula[arroba]gmail.com</p>
 <span class="post2pdf_span" style="border: 1px solid gray; width: 160px; text-align: left; "><a href="http://elieldepaula.com.br/blog/wp-content/plugins/post2pdf/generate.php?post="" rel="nofollow"><img src="http://elieldepaula.com.br/blog/wp-content/plugins/post2pdf/icon/pdf.png" width="16px" height="16px" />convert this post to pdf.</a></span>]]></content:encoded>
			<wfw:commentRss>http://elieldepaula.com.br/blog/2009/06/nomenclaturas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

