<?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>Adriano Melo &#187; Desenvolvimento</title>
	<atom:link href="http://adrianomelo.com/blog/categoria/tecnologia/desenvolvimento/feed/" rel="self" type="application/rss+xml" />
	<link>http://adrianomelo.com/blog</link>
	<description>Sobre tecnologia e liberdade</description>
	<lastBuildDate>Mon, 22 Nov 2010 11:45:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Fazendo uma instalação portable de python para linux!</title>
		<link>http://adrianomelo.com/blog/fazendo-uma-instalacao-portable-de-python-para-linux/</link>
		<comments>http://adrianomelo.com/blog/fazendo-uma-instalacao-portable-de-python-para-linux/#comments</comments>
		<pubDate>Sat, 22 May 2010 19:19:36 +0000</pubDate>
		<dc:creator>Adriano Melo</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[numpy]]></category>
		<category><![CDATA[pendrive]]></category>
		<category><![CDATA[portable]]></category>

		<guid isPermaLink="false">http://adrianomelo.com/blog/?p=143</guid>
		<description><![CDATA[Que tal ter a sua instalação de python no pendrive para usá-la em qualquer computador com linux? Esse artigo é uma reação à dificuldade encontrada por alguns alunos do centro de informática em usar softwares que não são instalados por padrão nos computadores do laboratório de graduação do centro e que são necessários para o [...]]]></description>
			<content:encoded><![CDATA[<p>Que tal ter a sua instalação de python no pendrive para usá-la em qualquer computador com linux?</p>
<p>Esse artigo é uma reação à dificuldade encontrada por alguns alunos do centro de informática em usar softwares que não são instalados por padrão nos computadores do laboratório de graduação do centro e que são necessários para o desenvolvimento de projetos ou para estudo.</p>
<p>Vamos lá! A demostração será como fazer isso com python, que é uma linguagem de programação, mas a ideia é que você possa reproduzir esses passos para outros softwares.</p>
<p>Primeiro vamos criar a pasta onde os arquivos serão baixados e instalados. Uma sugestão é colocar no seu pendrive mesmo. Vou referenciar PEN como sendo o nome do dispositivo montado.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># indo para a pasta raiz do pendrive.</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>PEN<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #666666; font-style: italic;"># criando a pasta onde vão ficar os arquivos-fonte dos programas e os binários pós-instalação</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> programas
<span style="color: #666666; font-style: italic;"># movendo para dentro da pasta programas</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> programas</pre></td></tr></table></div>

<p>Agora vamos baixar e descompactar o interpretador python diretamente do site oficial, python.org. Note que a operação de descompactar o arquivo pode demorar um pouco, devido à quantidade de arquivos e a velocidade dos pendrives normalmente não ser alta.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># baixando o python</span>
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.python.org<span style="color: #000000; font-weight: bold;">/</span>ftp<span style="color: #000000; font-weight: bold;">/</span>python<span style="color: #000000; font-weight: bold;">/</span>2.6.5<span style="color: #000000; font-weight: bold;">/</span>Python-2.6.5.tar.bz2
<span style="color: #666666; font-style: italic;"># descompactando os arquivos do interpretador</span>
<span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-xf</span> Python-2.6.5.tar.bz2
<span style="color: #666666; font-style: italic;"># entrando na pasta onde os arquivos foram descompactados</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> Python-2.6.5.tar.bz2</pre></td></tr></table></div>

<p>Vamos agora compilar o código fonte! note o parâmetro <em>&#8211;configure=/media/PEN/programas</em>, está sendo usado para indicar que a instalação do programa deverá ser feita na pasta <em>/media/PEN/programas</em>. Isso é necessário pois a idéia de fazer uma instalação portable é justamente para que você possa fazer isso de qualquer computador e sem precisar privilégios especiais para isso.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Configuração da instalação...</span>
.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--prefix</span>=<span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>PEN<span style="color: #000000; font-weight: bold;">/</span>programas
<span style="color: #666666; font-style: italic;"># Compilando os arquivos...</span>
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #666666; font-style: italic;"># Instalando os arquivos...</span>
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

<p>No último passo da instalação o make retorna um erro. Esse erro é mostrado em sistemas de arquivos fat32, fat16 ou ntfs, onde não é possível criar links. Caso o erro não seja o que está sendo mostrado abaixo então você realmente teve um problema no processo de compilação.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>PEN<span style="color: #000000; font-weight: bold;">/</span>programas<span style="color: #000000; font-weight: bold;">//</span>bin; <span style="color: #c20cb9; font-weight: bold;">ln</span> python2.6 python<span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #c20cb9; font-weight: bold;">ln</span>: criando ligação absoluta <span style="color: #ff0000;">&quot;python&quot;</span> =<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #ff0000;">&quot;python2.6&quot;</span>: Operação não permitida
<span style="color: #c20cb9; font-weight: bold;">make</span>: <span style="color: #000000; font-weight: bold;">**</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>bininstall<span style="color: #7a0874; font-weight: bold;">&#93;</span> Erro <span style="color: #000000;">1</span></pre></td></tr></table></div>

<p>Pronto! com esses passos bem sucedidos você já tem a sua instalação portable de python. Basta agora dizer ao terminal que você usará os binários gerados por essa compilação. Uma das formas de fazer isso é incluindo na variável de ambiente a pasta com os arquivos binários.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># setando a variável de ambiente</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PATH</span>=<span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>PEN<span style="color: #000000; font-weight: bold;">/</span>programas<span style="color: #000000; font-weight: bold;">/</span>bin:<span style="color: #007800;">$PATH</span></pre></td></tr></table></div>

<p>Para verificar se tudo deu certo, digite o comando &#8220;which python2.6&#8243;, a saída deverá ser parecida com a abaixo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>adriano<span style="color: #000000; font-weight: bold;">@</span>adrianomelo bin<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #c20cb9; font-weight: bold;">which</span> python2.6
<span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>ASTM<span style="color: #000000; font-weight: bold;">/</span>programas<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>python2.6
<span style="color: #7a0874; font-weight: bold;">&#91;</span>adriano<span style="color: #000000; font-weight: bold;">@</span>adrianomelo bin<span style="color: #7a0874; font-weight: bold;">&#93;</span>$</pre></td></tr></table></div>

<p>O bom de ter uma instalação portable é que você só precisa configurar a sua instalação uma vez. Para quem usa alguma biblioteca que não vem na instalação padrão de python, é uma mão na roda! Eu vou instalar o pacote <a href="http://numpy.scipy.org">numpy</a> como demonstração.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Mudando de diretório para a pasta /media/PEN/programas</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>PEN<span style="color: #000000; font-weight: bold;">/</span>programas
<span style="color: #666666; font-style: italic;"># baixando numpy</span>
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>downloads.sourceforge.net<span style="color: #000000; font-weight: bold;">/</span>project<span style="color: #000000; font-weight: bold;">/</span>numpy<span style="color: #000000; font-weight: bold;">/</span>NumPy<span style="color: #000000; font-weight: bold;">/</span>1.4.1<span style="color: #000000; font-weight: bold;">/</span>numpy-1.4.1.tar.gz?<span style="color: #007800;">use_mirror</span>=ufpr
<span style="color: #666666; font-style: italic;"># descompactando os arquivos</span>
<span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-xf</span> numpy-1.4.1.tar.gz
<span style="color: #666666; font-style: italic;"># entrando na pasta que acabou de ser descompactada</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> numpy-1.4.1
<span style="color: #666666; font-style: italic;"># compilando a biblioteca</span>
python2.6 setup.py build
<span style="color: #666666; font-style: italic;"># instalando a biblioteca</span>
python2.6 setup.py <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

<img src="http://adrianomelo.com/blog/?ak_action=api_record_view&id=143&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://adrianomelo.com/blog/fazendo-uma-instalacao-portable-de-python-para-linux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Quero ter minha própria sintaxe!</title>
		<link>http://adrianomelo.com/blog/quero-ter-minha-propria-sintaxe/</link>
		<comments>http://adrianomelo.com/blog/quero-ter-minha-propria-sintaxe/#comments</comments>
		<pubDate>Thu, 20 May 2010 05:21:04 +0000</pubDate>
		<dc:creator>Adriano Melo</dc:creator>
				<category><![CDATA[Ciência da Computação]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Teoria e Implementação de Linguagens Computacionais (if688)]]></category>

		<guid isPermaLink="false">http://adrianomelo.com/blog/?p=137</guid>
		<description><![CDATA[Um problema difícil de ser solucionado e que é recorrente para alguns desenvolvedores é de ter um arquivo que atenda a uma sintaxe bem específica em seus projetos de software. O HTML, por exemplo, possui uma sintaxe bem característica que é de ter uma árvore de conceitos encadeados e encapsulados por &#8220;tags&#8221;. Como fazer um [...]]]></description>
			<content:encoded><![CDATA[<p>Um problema difícil de ser solucionado e que é recorrente para alguns desenvolvedores é de ter um arquivo que atenda a uma sintaxe bem específica em seus projetos de software.</p>
<p>O HTML, por exemplo, possui uma sintaxe bem característica que é de ter uma árvore de conceitos encadeados e encapsulados por &#8220;tags&#8221;.</p>
<p>Como fazer um programa ou aplicação que tenha arquivos com uma sintaxe singular e que possa ser complexo em relação às regras, e ainda assim legíveis e organizados?</p>
<p>A resposta, que é o motivo desse post, empresta alguns conceitos de compiladores. As duas primeiras etapas de um projeto de compilador são as análises léxica e sintática. A análise léxica identifica palavras-chave nos dados de entrada, e a análise sintática explora as regras definidas para a sua linguagem utilizando as palavras-chave encontradas na fase anterior.</p>
<p>Se o seu projeto é em C, existem duas ferramentas que são as mais difundidas e utilizadas: o lex para análise léxica e o yacc para análise sintática. Essas duas são as ferramentas mais tradicionais, elas foram reescritas e há versões mais recentes com mais suporte da comunidade e documentação atualizada. São os projetos <a href="http://flex.sourceforge.net/">flex</a> e <a href="http://gnu.org/software/bison/">bison</a>, o primeiro substitui o lex, e o segundo o yacc.</p>
<p>Para a linguagem python existem os projetos <a href="http://www.cosc.canterbury.ac.nz/greg.ewing/python/Plex/">plex</a>, <a href="http://www.antlr.org/">antlr</a>, <a href="http://www.complang.org/ragel/">ragel</a> e <a href="http://nedbatchelder.com/text/python-parsers.html">outros</a>.</p>
<p>Em java você pode usar o <a href="http://www.antlr.org">antlr</a>, <a href="http://jflex.de/">jflex</a>, <a href="http://www.cs.princeton.edu/%7Eappel/modern/java/JLex/">jlex</a>, <a href="http://byaccj.sourceforge.net/">BYACC/J</a>.</p>
<p>Uma lista mais completa de desses tipos de ferramentas pode ser encontrada através do link: <a href="http://en.wikipedia.org/wiki/List_of_parser_generators">http://en.wikipedia.org/wiki/List_of_parser_generators</a></p>
<img src="http://adrianomelo.com/blog/?ak_action=api_record_view&id=137&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://adrianomelo.com/blog/quero-ter-minha-propria-sintaxe/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Vídeo aulas sobre o Zend Framework</title>
		<link>http://adrianomelo.com/blog/video-aulas-sobre-o-zend-framework/</link>
		<comments>http://adrianomelo.com/blog/video-aulas-sobre-o-zend-framework/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 00:52:08 +0000</pubDate>
		<dc:creator>Adriano Melo</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[videos]]></category>
		<category><![CDATA[zend]]></category>
		<category><![CDATA[zendcasts]]></category>
		<category><![CDATA[zendframework]]></category>

		<guid isPermaLink="false">http://adrianomelo.com/blog/?p=123</guid>
		<description><![CDATA[Eu sempre tive vontade de aprender um framework para PHP mas nunca soube como começar. Trabalhando na Wenetus percebi que precisava aumentar a minha produtividade e organização em projetos mais complexos. A estrutura que eu costumo usar é muito flexível para projetos pequenos, como plugins do wordpress ou integração de uma lógica com um template, [...]]]></description>
			<content:encoded><![CDATA[<p>Eu sempre tive vontade de aprender um framework para PHP mas nunca soube como começar.<br />
Trabalhando na <a href="http://wenetus.com" target="_blank">Wenetus</a> percebi que precisava aumentar a minha produtividade e organização em projetos mais complexos.</p>
<p>A estrutura que eu costumo usar é muito flexível para projetos pequenos, como plugins do wordpress ou integração de uma lógica com um template, que é basicamente usar um &#8220;<a href="http://en.wikipedia.org/wiki/Front_Controller_pattern">Front Controller</a>&#8221; e separar o código de dados, do html e da lógica da aplicação, que é o padrão arquitetural <a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller">MVC</a>.</p>
<p>Atualmente estou implementando, como freelancer, um sistema de controle de produção de camisetas online. Um sistema desse porte precisa ser muito bem estruturado e objetivo, daí a importância de usar um framework. Eu escolhi o <a href="http://framework.zend.com">Zend Framework</a> pois é maduro para se usar em empresas e possui vasta documentação.</p>
<p>Eu já aprendi todos os conceito básicos do framework por vídeo aulas, a partir do site <a href="http://www.zendcasts.com">http://www.zendcasts.com</a>. Mas a dica vai só para quem tem o domínio da língua inglesa, todos os vídeos são em inglês e não possuem legenda ou tradução.</p>
<p>Gostei tanto dos &#8220;web casts&#8221; (vídeos) que já baixei todos os disponíveis e assisti quase todos, são mais de 3 GB para baixar!</p>
<p style="text-align: center;"><a href="http://adrianomelo.com/blog/wp-content/uploads/2010/01/zendcast.png"><img class="aligncenter size-medium wp-image-125" title="Pasta com os vídeos do zendcast" src="http://adrianomelo.com/blog/wp-content/uploads/2010/01/zendcast-300x223.png" alt="Pasta com os vídeos do zendcast" width="300" height="223" /></a></p>
<p>Se você sabe inglês e deseja aprender um framework para PHP, a dica está dada!</p>
<img src="http://adrianomelo.com/blog/?ak_action=api_record_view&id=123&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://adrianomelo.com/blog/video-aulas-sobre-o-zend-framework/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Flash CS4 no Ubuntu 9.04</title>
		<link>http://adrianomelo.com/blog/flash-cs4-no-ubuntu-904/</link>
		<comments>http://adrianomelo.com/blog/flash-cs4-no-ubuntu-904/#comments</comments>
		<pubDate>Thu, 14 May 2009 01:31:30 +0000</pubDate>
		<dc:creator>Adriano Melo</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[Desenvolvimento]]></category>

		<guid isPermaLink="false">http://adrianomelo.com/blog/flash-cs4-no-ubuntu-904/</guid>
		<description><![CDATA[O ubuntu 9.04 está muito bom! finalmente eu posso usar dois monitores nativamente. Além de ter um sistema muito rápido, cerca de 3 vezes mais rápido que o windows vista (o outro S.O. que tenho instalado no meu computador). Só essas duas funcionalidades já me fizeram migrar definitivamente para o Linux. Mas como nem tudo [...]]]></description>
			<content:encoded><![CDATA[<p>O ubuntu 9.04 está muito bom! finalmente eu posso usar dois monitores nativamente. Além de ter um sistema muito rápido, cerca de 3 vezes mais rápido que o windows vista (o outro S.O. que tenho instalado no meu computador).</p>
<p>Só essas duas funcionalidades já me fizeram migrar definitivamente para o Linux. Mas como nem tudo são flores, há o problema da portabilidade de softwares que não funcionam no linux. Os dois principais para mim são o Flash CS4 ou CS3 e o Visual Studio 2008. Esses dois programas são essenciais pois o primeiro eu uso para projetos da faculdade e o segundo para um sistema que desenvolvo para uma empresa de pernambuco.</p>
<p>Soluções???? tentei várias!!</p>
<p>Começando pelo wine com o flash CS4, não consegui. Tentei a versão portável e a normal&#8230;.</p>
<p>Tentei em seguida usar o vmware. Esbarrei em um problema crítico: desempenho! O meu computador usa um processador Turion com 1,5GB de memória RAM. Muito pouco para firefox + linux + windows + flash&#8230;</p>
<p>A terceira solução foi usar o rdesktop. Remote Desktop do windows. O único probleminha é que você tem que ter um computador extra para fazer isso&#8230;.</p>
<p>Para quem tiver um computador que tenha windows para usar como uma &#8220;máquina virtual&#8221; no linux você pode usar um comando parecido com esse:</p>
<blockquote><p>rdesktop 192.168.0.1 -u &#8220;Adriano Melo&#8221; -g 1230&#215;920 -x l -r clipboard:CLIPBOARD -a 24</p></blockquote>
<p>O que eu mais gostei nessa solução é que não consome muito os recursos da máquina cliente (linux). Ela meio que balanceia a carga entre os dois computadores, o servidor roda o flash, que consome muita memória, e no cliente você pode usar o firefox, MSN&#8230;</p>
<p>Abaixo segue um printscreen do flash rodando:</p>
<p><a href="http://www.flickr.com/photos/adrianomelo/3529994372/" title="Flash CS4 on Ubuntu 9.04 by Adriano Melo, on Flickr"><img src="http://farm4.static.flickr.com/3326/3529994372_fb2bacfa1d.jpg" alt="Flash CS4 on Ubuntu 9.04" width="351" height="500" /></a></p>
<p class="zemanta-pixie"><img src="http://img.zemanta.com/pixy.gif?x-id=01ab27ae-1998-8a7e-876f-1f41ca1e4aec" class="zemanta-pixie-img" /></p>
<img src="http://adrianomelo.com/blog/?ak_action=api_record_view&id=48&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://adrianomelo.com/blog/flash-cs4-no-ubuntu-904/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[p1] Desenvolvendo com PHP, Como Obter ajuda</title>
		<link>http://adrianomelo.com/blog/p1-desenvolvendo-com-php-como-obter-ajuda/</link>
		<comments>http://adrianomelo.com/blog/p1-desenvolvendo-com-php-como-obter-ajuda/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 16:54:51 +0000</pubDate>
		<dc:creator>Adriano Melo</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://adrianomelo.com/blog/1p-desenvolvendo-com-php-como-obter-ajuda/</guid>
		<description><![CDATA[Primeiro, para aprender a programar em php você tem que ter um bom material de auxilio para lhe guiar e ensinar. Eu sempre leio, ou tento ter, a documentação oficial. No caso do PHP é essa: http://www.php.net/docs.php Em posse desse documento você já tem tudo para dar os passos iniciais. Têm muitas coisas que são [...]]]></description>
			<content:encoded><![CDATA[<p>Primeiro, para aprender a programar em php você tem que ter um bom material de auxilio para lhe guiar e ensinar. Eu sempre leio, ou tento ter, a documentação oficial. No caso do PHP é essa:</p>
<ul>
<li><a href="http://www.php.net/docs.php">http://www.php.net/docs.php</a></li>
</ul>
<p>Em posse desse documento você já tem tudo para dar os passos iniciais. Têm muitas coisas que são avançadas também, mas há ferramentas que você tem que conhecer antes de se aprofundar mais na linguagem.</p>
<p>Outro recurso interessante enquanto estuda é ter a quem perguntar quando tudo estiver dando errado, neste caso uma lista de discussão é muito bem vinda. A mais ativa no brasil é a php-brasil.</p>
<ul>
<li><a href="http://groups.google.com/group/php-brasil?lnk=sg">http://groups.google.com/group/php-brasil?lnk=sg</a></li>
</ul>
<p>Caso nenhum desses dois tenha a sua resposta, ele terá: Gooooooooooooooooooooogle!</p>
<ul>
<li><a href="http://google.com">Google</a></li>
<li><a href="http://www.google.com/search?q=php">Resultados de pesquisa sobre &#8220;php&#8221;<br />
</a></li>
</ul>
<p>E caso o Google não saiba (o que é impossível!!), fala comigo, pois provavelmente o que você está querendo não é algo técnico. (email: adriano @ adrianomelo . com &#8211; sem os espaços).</p>
<img src="http://adrianomelo.com/blog/?ak_action=api_record_view&id=44&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://adrianomelo.com/blog/p1-desenvolvendo-com-php-como-obter-ajuda/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[p0] Desenvolvendo com PHP</title>
		<link>http://adrianomelo.com/blog/p0-desenvolvendo-com-php/</link>
		<comments>http://adrianomelo.com/blog/p0-desenvolvendo-com-php/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 16:54:48 +0000</pubDate>
		<dc:creator>Adriano Melo</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://adrianomelo.com/blog/p0-desenvolvendo-com-php/</guid>
		<description><![CDATA[Devido a necessidade de alguns amigos meus da faculdade estarem precisando aprender PHP, eu vou fazer uma série de posts que terão uma introdução para quem quer aprender a linguagem. Mas estarei supondo que quem vai ler já tem uma boa noção sobre programação. Os assuntos que tentarei fala algo são esses: Onde obter ajuda [...]]]></description>
			<content:encoded><![CDATA[<p>Devido a necessidade de alguns amigos meus da faculdade estarem precisando aprender PHP, eu vou fazer uma série de posts que terão uma introdução para quem quer aprender a linguagem. Mas estarei supondo que quem vai ler já tem uma boa noção sobre programação.</p>
<p>Os assuntos que tentarei fala algo são esses:</p>
<ol>
<li><a href="http://adrianomelo.com/blog/p1-desenvolvendo-com-php-como-obter-ajuda/">Onde obter ajuda (documentação)</a></li>
<li>Conceitos da linguagem
<ol>
<li>PHP + HTML</li>
<li>Sintaxe básica</li>
<li>Comentários</li>
<li>Tipos
<ol>
<li>Booleanos, inteiros, números ponto-flutuante, string, array, objeto, resource.</li>
<li>NULL, pseudo-tipos</li>
</ol>
</li>
<li>Funções</li>
<li>Estrutura de controle</li>
<li>Classes e objetos</li>
<li>Exceções</li>
<li>Referências</li>
</ol>
</li>
<li>Conexão ao MySQL</li>
<li>CakePHP</li>
</ol>
<p>Estarei à disposição de todos que tiverem alguma dúvida através do email adriano @ adrianomelo . com (sem os espaços).</p>
<img src="http://adrianomelo.com/blog/?ak_action=api_record_view&id=43&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://adrianomelo.com/blog/p0-desenvolvendo-com-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PSPad &#8211; um ótimo editor de texto que pode ser instalado direto no pendrive</title>
		<link>http://adrianomelo.com/blog/pspad-um-otimo-editor-de-texto-que-pode-ser-instalado-direto-no-pendrive/</link>
		<comments>http://adrianomelo.com/blog/pspad-um-otimo-editor-de-texto-que-pode-ser-instalado-direto-no-pendrive/#comments</comments>
		<pubDate>Sun, 27 Jan 2008 02:45:50 +0000</pubDate>
		<dc:creator>Adriano Melo</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://adrianomelo.com/blog/pspad-um-otimo-editor-de-texto-que-pode-ser-instalado-direto-no-pendrive/</guid>
		<description><![CDATA[Aqui vai uma dica: Uso um editor para alterar códigos em php, javascript e html chamado PSPad. Vou primeiro listar algumas funcionalidades dele: Suporta muitos tipos de linguagens. Inclusive python, que usa a quebra de linha do unix. &#8220;Code Completation&#8221; &#8211; ao alterar um arquivo CSS, por exemplo, ele mostra as opções de propriedades que [...]]]></description>
			<content:encoded><![CDATA[<p>Aqui vai uma dica: Uso um editor para alterar códigos em php, javascript e html chamado <a href="http://www.pspad.com/">PSPad</a>. Vou primeiro listar algumas funcionalidades dele:</p>
<ul>
<li>Suporta muitos tipos de linguagens. Inclusive python, que usa a quebra de linha do unix.</li>
<li>&#8220;Code Completation&#8221; &#8211; ao alterar um arquivo CSS, por exemplo, ele mostra as opções de propriedades que a linguagem dispõe.</li>
<li>Integra-se muito bem ao sistema. Tendo por padrão um context menu que é muito útil.</li>
<li>Simples de usar e pequeno (de 10 a 20mb)</li>
<li>Desempenho: Leve (utiliza pouca memória) e é muito robusto. Já consegui alterar arquivos de 400mb com ele.</li>
<li>Pode-se criar projetos que salvam as configurações atuais do editor. Você pode, por exemplo, ter dois sites. Criando um projeto para cada um dá para reabrir todos os arquivos que estavam sendo editados na ultima vez que o projeto foi aberto. Dá para definir o encoding padrão, o tipo de quebra de linha, compilador, pasta padrão, servidor&#8230;</li>
<li>Integração com ftp. Apesar de não gostar do pspad trabalhando direto via ftp por que fica travado, isso mesmo, travando quando um arquivo está sendo salvo, é uma funcionalidade muito útil,</li>
<li>Find (and replace) com expressões regulares, e para vários arquivos.</li>
<li>Abas e opção de visualização de mais de um arquivo por vez.</li>
<li>Muito transparente para trabalhar com encodings.</li>
<li>Freeware e só para windows. <img src='http://adrianomelo.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li>
</ul>
<p>Claro, o <a href="http://www.pspad.com/">pspad </a>tem mais propriedades, mas eu acho que as principais são essas.</p>
<p>Te-lo instalado no pendrive é uma mão na rola às vezes. Para instalar é só <a href="http://www.pspad.com/en/download.php">baixar </a>a versão compactada dele (.cab) e extrair direto no pendrive.</p>
<p>Screenshots:</p>
<p><a href="http://www.pspad.com/en/screenshot.htm"><img src="http://www.pspad.com/img/screen/mainfull.png" alt="http://www.pspad.com/img/screen/mainfull.png" height="214" width="286" /></a></p>
<img src="http://adrianomelo.com/blog/?ak_action=api_record_view&id=33&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://adrianomelo.com/blog/pspad-um-otimo-editor-de-texto-que-pode-ser-instalado-direto-no-pendrive/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tem certeza que teu site é seguro?</title>
		<link>http://adrianomelo.com/blog/tem-certeza-que-teu-site-e-seguro/</link>
		<comments>http://adrianomelo.com/blog/tem-certeza-que-teu-site-e-seguro/#comments</comments>
		<pubDate>Wed, 25 Jul 2007 21:42:58 +0000</pubDate>
		<dc:creator>Adriano Melo</dc:creator>
				<category><![CDATA[Segurança]]></category>

		<guid isPermaLink="false">http://adrianomelo.com/blog/tem-certeza-que-teu-site-e-seguro/</guid>
		<description><![CDATA[Chegou essa semana uma encomenda que tinha feito à livraria cultura de recife: Hacking Exposed Web Applications. Hacking a web application is like performing a magic trick. If you know the right techniques and practice you could break into just about any online bank, credit union, stock trader, e-commerce store, or social networking website. Simply [...]]]></description>
			<content:encoded><![CDATA[<p> Chegou essa semana <a href="http://www.livrariacultura.com.br/scripts/cultura/resenha/resenha.asp?nitem=1448414">uma encomenda </a>que tinha feito à <a href="http://www.livrariacultura.com.br">livraria cultura</a> de recife: <a href="http://www.webhackingexposed.com/">Hacking Exposed Web Applications</a>.</p>
<p><a href="http://adrianomelo.com/blog/wp-content/uploads/2007/07/hackting-exposed-web-applications.jpg" title="Hacking Exposed Web Applications"><img src="http://adrianomelo.com/blog/wp-content/uploads/2007/07/hackting-exposed-web-applications.jpg" alt="Hacking Exposed Web Applications" /></a></p>
<blockquote><p>Hacking a web application is like performing a magic trick. If you know          the right techniques and practice you could break into just about any          online bank, credit union, stock trader, e-commerce store, or social networking          website. Simply use a Web browser as your magic wand and as fast as you          can say, &#8220;Open sesame!&#8221; you&#8217;re in. And that&#8217;s exactly what this          book is all about &#8212; industry-leading web application experts revealing          their best-kept web hacking secrets so people can begin defending themselves.          The legendary magician Harry Houdini would be impressed with the techniques          described in these pages. <a href="http://www.webhackingexposed.com/foreword.html">(ver texto completo)</a></p></blockquote>
<p>À medida que for lendo o livro, posto dicas interessantes (se existirem).</p>
<p>(e me desculpem a foto, foi tirada do meu laptop.)</p>
<img src="http://adrianomelo.com/blog/?ak_action=api_record_view&id=8&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://adrianomelo.com/blog/tem-certeza-que-teu-site-e-seguro/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.539 seconds -->

