<?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>Diego Plentz &#187; php</title>
	<atom:link href="http://plentz.org/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://plentz.org</link>
	<description>plentiful thoughts from my empty head</description>
	<lastBuildDate>Sat, 03 Jul 2010 06:17:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Code contest #1</title>
		<link>http://plentz.org/2006/03/29/code-contest-1/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=code-contest-1</link>
		<comments>http://plentz.org/2006/03/29/code-contest-1/#comments</comments>
		<pubDate>Thu, 30 Mar 2006 02:07:41 +0000</pubDate>
		<dc:creator>Diego Plentz</dc:creator>
				<category><![CDATA[Unsorted]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[vb]]></category>

		<guid isPermaLink="false">http://plentz.org/2006/03/29/code-contest-1-google-im-feeling-lucky/</guid>
		<description><![CDATA[Google I&#8217;m Feeling Lucky: fazer uma requisição para http://www.google.com.br, pesquisando pelo nome da linguagem(java,ruby,&#8230;). Exibir como retorno o endereço, título e descrição do primeiro resultado encontrado. Ruby (meu): require 'open-uri' open('http://www.google.com.br/search?q=ruby').read =~ %r{class=l href="(.*?)"&#62;(.*?)&#60;/a.*?j&#62;&#60;font.*?&#62;(.*?)&#60;br&#62;&#60;}m puts ($2 + "\n" + $1 + "\n" + $3 + "\n").gsub(/&#60;.*?\&#62;/, '') Java (do Giuliano, bastante melhorada depois pelo Urubatan): [...]]]></description>
			<content:encoded><![CDATA[<p>Google I&#8217;m Feeling Lucky: fazer uma requisição para <a href="http://www.google.com.br">http://www.google.com.br</a>, pesquisando pelo nome da linguagem(java,ruby,&#8230;). Exibir como retorno o endereço, título e descrição do primeiro resultado encontrado.</p>
<p>Ruby (meu):</p>
<pre>require 'open-uri'
open('http://www.google.com.br/search?q=ruby').read =~ %r{class=l href="(.*?)"&gt;(.*?)&lt;/a.*?j&gt;&lt;font.*?&gt;(.*?)&lt;br&gt;&lt;}m
puts ($2 + "\n" + $1 + "\n" + $3 + "\n").gsub(/&lt;.*?\&gt;/, '')</pre>
<p>Java (do Giuliano, bastante melhorada depois pelo <a href="http://www.urubatan.com.br/">Urubatan</a>):</p>
<pre>
import java.net.URL;
import java.net.URLConnection;
import java.util.Scanner;

public class HTTPSample {
       public static void main(String[] args) throws Exception {
               URLConnection con = new URL("http://www.google.com/search?q=java").openConnection();
               con.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7");
               Scanner sc = new Scanner(con.getInputStream());
               System.out.println(sc.findWithinHorizon("&lt;a&gt;.*?&lt;/a&gt;", 0).replaceAll("&lt;a&gt;(.*?)&lt;/a&gt;", "$2=$1").replaceAll("", ""));
       }
}</pre>
<p>PHP (do <a href="http://charles.pilger.com.br/">Pilger</a>, com ajuste do <a href="http://fmeyer.org/">Fernando</a>):</p>
<pre>&lt;?php
  $html = implode('', file('http://www.google.com.br/search?q=php'));
  preg_match_all("|class=l href=\"(.*?)\"&gt;(.*?)&lt;/a.*?j&gt;&lt;font.*?&gt;(.*?)&lt;br&gt;&lt;|", $html, $out, PREG_SET_ORDER);
  echo $out[0][1]." ".$out[0][2]." ".$out[0][3];
?&gt;</pre>
<p>Python (do Salviato):</p>
<pre> import urllib
 import re

 class AppURLopener(urllib.FancyURLopener):
   version = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1"

 urllib._urlopener = AppURLopener()

 html = urllib.urlopen('http://www.google.com.br/search?q=python').read()
 out = re.search('class=l href="(.*?)"&gt;(.*?)&lt;/a.*?j&gt;&lt;font.*?&gt;(.*?)&lt;br&gt;&lt;', html, re.DOTALL)
 print re.sub('&lt;.*?&gt;', '', (out.group(1) + '\n' + out.group(2) + '\n' + out.group(3)))</pre>
<p>TCl/TK (do Salviato):</p>
<pre> package require http
 http::config -useragent {Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1}
 set html [http::data [http::geturl {http://www.google.com.br/search?q=tcl}]]
 set out [regexp -inline {class=l href="(.*?)">(.*?)<font .*?>(.*?)< } $html]
 puts [regsub -all {<.*?>} [concat "[lindex $out 1]\n[lindex $out 2]\n[lindex $out 3]"] "" ]</font></pre>
<p>VB (do Giuliano):</p>
<pre>   Dim http As New WinHttp.WinHttpRequest
   Dim re As New RegExp, matcher As Match
   Dim texto As String
   http.Open "GET", "http://www.google.com.br/search?q=java", False
   http.SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7"
   http.Send
   texto = http.ResponseText
   re.Pattern = "class=l href=""(.*?)""&gt;(.*?)&lt;/a.*?j&gt;&lt;font.*?&gt;(.*?)&lt;br&gt;&lt;"
   re.Global = True
   re.IgnoreCase = True
   re.MultiLine = True
   For Each matcher In re.Execute(texto)
       Dim strSaida: strSaida = ""
       strSaida = matcher.SubMatches(0) + vbCrLf + matcher.SubMatches(1) + vbCrLf + matcher.SubMatches(2)
       MsgBox strSaida
       Exit For
    Next</pre>
<p>Coldfusion (do <a href="http://vardump.com/">Kenji</a>)</p>
<pre>
&lt;cfhttp url="http://www.google.com.br/search?q=coldfusion+mx"&gt;
&lt;cfset tmp = REFindNoCase('class=l href="(.*?)"&gt;(.*?)&lt;/a.*?j&gt;&lt;font.*?&gt;(.*?)&lt;br&gt;&lt;', cfhttp.filecontent,1,true)&gt;
&lt;cfoutput&gt;#mid(cfhttp.filecontent,tmp.pos[2],tmp.len[2])# #mid(cfhttp.filecontent,tmp.pos[3],tmp.len[3])# #mid(cfhttp.filecontent,tmp.pos[4],tmp.len[4])#&lt;/cfoutput&gt;
</pre>
<div class="acc_license"><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" alt="by-nc-nd" /></a></div><!--<rdf:RDF xmlns="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Work rdf:about=""><license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/3.0/" /></Work><License rdf:about="http://creativecommons.org/licenses/by-nc-nd/3.0/"><requires rdf:resource="http://creativecommons.org/ns#Attribution" /><permits rdf:resource="http://creativecommons.org/ns#Reproduction" /><permits rdf:resource="http://creativecommons.org/ns#Distribution" /><prohibits rdf:resource="http://creativecommons.org/ns#CommercialUse" /><requires rdf:resource="http://creativecommons.org/ns#Notice" /></License></rdf:RDF>--><img src="http://plentz.org/wordpress/?ak_action=api_record_view&id=134&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://plentz.org/2006/03/29/code-contest-1/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Webserver em 15 minutos</title>
		<link>http://plentz.org/2005/11/10/webserver-em-15-minutos/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=webserver-em-15-minutos</link>
		<comments>http://plentz.org/2005/11/10/webserver-em-15-minutos/#comments</comments>
		<pubDate>Thu, 10 Nov 2005 04:28:57 +0000</pubDate>
		<dc:creator>Diego Plentz</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[util]]></category>

		<guid isPermaLink="false">http://plentz.org/?p=117</guid>
		<description><![CDATA[A idéia desse how-to é facilitar a vida de quem quer criar um ambiente de desenvolvimento bem estruturado e sem ter que perder dias pra fazer isso. Você não precisa necessariamente instalar tudo que é descrito abaixo, mas note que alguns são pré-requisitos para outros itens. Com certeza esta não é a única forma de [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://flickr.com/photos/persona/37201953/" title="Cisco"><img src="http://farm1.static.flickr.com/24/37201953_0ab41125fd_m.jpg" alt="Cisco" height="160" width="240" style="border: 2px solid rgb(0, 0, 0);float: right; margin-left: 10px; margin-bottom: 10px;" /></a></p>
<p>A idéia desse how-to é facilitar a vida de quem quer criar um ambiente de desenvolvimento bem estruturado e sem ter que perder dias pra fazer isso. Você não precisa necessariamente instalar tudo que é descrito abaixo, mas note que alguns são pré-requisitos para outros itens.</p>
<p>Com certeza esta não é a única forma de integrar essa parafernalha toda, mas foi a melhor forma que eu achei (e consegui fazer funcionar). Se alguém tiver alguma sugestão/comentário, <a href="mailto: diego@this_site">drop me a line.</a></p>
<p>Muitos ao ler vão se perguntar, &#8220;mas por que ele usou o Apache ao invés de colocar somente o Tomcat?&#8221;, já que o Tomcat acompanha um webserver build-in. Bom, levando em conta que é infinitamente mais simples integrar isso tudo com o Apache ao invés do Tomcat(e existir muito mais documentação para isso), existem alguns outros motivos para isso, como (dependendo do caso) melhor performance, a utilização dos modules, como o mod_rewrite, mod_proxy, etc.</p>
<p>Uma observação importante antes de começar, não faça como eu quando estava começando a fazer meus testes, <strong>não</strong> coloque ponto-e-vírgula depois das variáveis de sistema *_home.</p>
<p>No início de cada &#8220;sessão&#8221; eu fiz uma listagem das variáveis de sistema que devem ser criadas para o funcionamento correto de cada instalação. <strong>Antes</strong> de iniciar cada instalação, crie <em>todas</em> as variáveis indicadas. Para criar elas (supondo que você está no Windows XP), clique com o botão direito em &#8220;Meu Computador&#8221; -> Propriedades -> Avançado -> Variáveis de sistema -> Clique em &#8220;Nova&#8221; -> Coloque o nome e valor que estão indicados e clique em Ok. No Windows XP elas são válidas a partir do momento que você criou, mas se você está com um prompt de comando aberto será necessário reiniciá-lo.</p>
<p>Cuidado: muitas aplicações precisam estar na variável PATH do Windows para funcionar corretamente, então quando você ver PATH, é para <em>adicionar</em> o caminho à sua PATH e não substituir o conteúdo da variável.</p>
<h3><a href="http://httpd.apache.org/" name="apache">Apache HTTP Server</a></h3>
<p>Arquivos:</p>
<ul>
<li><a href="http://linorg.usp.br/apache/httpd/binaries/win32/apache_2.2.13-win32-x86-no_ssl.msi">apache_2.2.13-win32-x86-no_ssl.msi</a></li>
</ul>
<p>- Antes de fazer qualquer outra coisa, verifique se você já não possui algum processo rodando na porta 80. Para isso, entre no console (run&#8230; &#8220;cmd&#8221;) e digite:</p>
<p><code>netstat -aon | find /i "listening" |find /i ":80"</code></p>
<p>Se encontrar algo, sua porta 80 está sendo usada. Pegue o ID encontrado, entre no task manager (ctrl+alt+del) -> processes -> view -> marque o check que diz PID e localize na lista o ID encontrado.</p>
<p>Dica: se você utiliza <a href="http://skype.com">Skype</a>, você precisa desabilitar <a href="http://www.google.com.br/search?q=skype+port+80">o uso da porta 80 por ele</a>, para poder utilizar corretamente o Apache. Para resolver isso, entre no Skype em Tools -> Options&#8230; -> Connection -> Desmarque a caixa &#8220;Use port 80 and 443 as alternatives for incomming connections&#8221;.</p>
<p>- Crie a pasta c:\dev\workspace\</p>
<p>- Entre no instalador: Next -> Marque &#8220;Accept&#8230;&#8221; -> Next -> Next -> Preencha com seus dados(não precisam ser dados reais) -> Next -> Marque &#8220;Custom&#8230;&#8221; -> Next -> Clique em &#8220;Change&#8230;&#8221; e digite &#8220;c:\dev&#8221;(ele coloca automaticamente dentro da pasta c:\dev\apache2\) -> Ok -> Next -> Install(espere instalar) -> Finish.</p>
<p>- Abra o arquivo c:\dev\apache2\conf\httpd.conf (recomendo criar um atalho pra ele enquanto você está configurando seu ambiente, você vai usá-lo bastante. E claro, a partir de agora, sempre que eu falar em http.conf você já sabe do que eu estou falando) e altere a linha que diz DocumentRoot para:</p>
<p><code># faz com que o apache tome como diretório raiz c:\dev\workspace<br />
DocumentRoot "c:/dev/workspace"</code></p>
<p>e altere a linha que diz</p>
<p><code>&lt;Directory "c:/dev/Apache2/htdocs"&gt;</code></p>
<p>para</p>
<p><code>&lt;Directory "c:/dev/workspace"&gt;</code></p>
<p>- Restarte o Apache clicando no ícone que foi criado no seu system tray e em seguida restart.</p>
<p>- Para testar, abra o seu <a href="http://getfirefox.com">browser favorito</a> e entre em <a href="http://localhost">http://localhost</a>. Você deve ver uma listagem do diretório c:\dev\workspace.</p>
<h3><a href="http://java.sun.com/" name="java">Java</a> + <a href="http://tomcat.apache.org/" name="tomcat">Tomcat</a></h3>
<p>Variáveis de sistema:</p>
<p><code>JAVA_HOME c:\dev\java\jdk<br />
CATALINA_HOME c:\dev\tomcat<br />
CLASSPATH .;%JAVA_HOME%;<br />
PATH %JAVA_HOME%\bin;</code></p>
<p>Arquivos:</p>
<ul>
<li><a href="http://java.sun.com/javase/downloads/index.jsp#jdk">jdk-6u16-windows-i586.exe</a></li>
<li><a href="http://ftp.unicamp.br/pub/apache/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.exe">apache-tomcat-6.0.20.exe</a></li>
<li><a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/mod_jk-1.2.28-httpd-2.2.3.so">mod_jk-1.2.28-httpd-2.2.3.so</a></li>
</ul>
<p>- Entre no instalador do Java: Marque &#8220;Accept&#8230;&#8221; -> Next -> Clique em &#8220;Change&#8230;&#8221; e digite &#8220;c:\dev\java\jdk&#8221; -> Ok -> Next -> Aguarde ele instalar o JDK -> Clique em &#8220;Change&#8230;&#8221; (agora é a pasta de instalação da JRE) e digite &#8220;c:\dev\java\jre&#8221; -> Ok -> Next -> Next -> Finish.</p>
<p>- Agora entre no instalador do Tomcat: Next -> I Agree -> Selecione a instalação &#8220;Full&#8221; -> Next -> Digite o seguinte endereço &#8220;c:\dev\tomcat&#8221; -> Next -> Next -> Install -> Aguarde a instalação -> Desmarque a opção &#8220;Show readme&#8221; -> Finish.</p>
<p>- Coloque o arquivo mod_jk-1.2.28-httpd-2.2.3.so dentro de c:\apache2\modules\ e mude o nome do arquivo para mod_jk.so.<a href="#p1" name="a1">[1]</a></p>
<p>- Para manter mais organizado vamos colocar as configurações do tomcat em um arquivo à parte. Adicione a linha à seguir no final do http.conf:</p>
<p><code>Include conf/tomcat.conf</code></p>
<p>- Agora crie um o tomcat.conf em C:\dev\apache2\conf com o seguinte conteúdo <a href="#p2" name="a2">[2]</a></p>
<p><code># carrega o connector<br />
LoadModule jk_module modules/mod_jk.so<br />
# faz com que o Apache também reconheça arquivos index.jsp como arquivo default para diretórios<br />
DirectoryIndex index.jsp<br />
# seta configurações de log<br />
JkLogFile c:/dev/apache2/logs/mod_jk.log<br />
JkLogLevel info<br />
# aqui você monta os contextos do Tomcat, você deve fazer isso para as aplicações que você criar.<br />
# Formato: JkMount URL_PREFIX WORKER_NAME<br />
# Onde:<br />
# URL_PREFIX é o caminho que vai ser acessado via browser. Ex: teste para http://localhost/<strong>teste</strong><br />
# WORKER_NAME no nosso exemplo sempre será ajp13<br />
JkMount /jsp-examples/* ajp13<br />
JkMount /servlets-examples/* ajp13<br />
JkMount /tomcat-docs/* ajp13</code></p>
<p>- Mova as três pastas C:\dev\tomcat\webapps\jsp-examples, C:\dev\tomcat\webapps\servlets-examples, c:\dev\tomcat\webapps\tomcat-docs para dentro de c:\dev\workspace</p>
<p>- Edite o arquivo c:\tomcat\conf\server.xml e procure por uma linha que diz</p>
<p><code>      &lt;Host name="localhost" appBase="webapps"<br />
       unpackWARs="true" autoDeploy="true"<br />
       xmlValidation="false" xmlNamespaceAware="false"&gt;</code></p>
<p>e altere para (copie junto a tag DefaultContext)</p>
<p><code>&lt;Host name="localhost" appBase="c:/dev/workspace"<br />
       unpackWARs="true" autoDeploy="true"<br />
       xmlValidation="false" xmlNamespaceAware="false"&gt;<br />
	  &lt;DefaultContext reloadable="true" /&gt;</code></p>
<p>- Feito isso, reinicie o Apache e depois o Tomcat.</p>
<p>- Para testar, entre em http://localhost/jsp-examples/ e http://localhost/servlets-examples/ e você deve ver os exemplos que acompanham o Tomcat (execute alguns exemplos para ter certeza que está tudo ok).</p>
<h3>Links relacionados:</h3>
<ul>
<li><a href="http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html">Tomcat Clustering/Session Replication HOW-TO</a></li>
</ul>
<h3><a href="http://www.php.net/" name="php">PHP</a></h3>
<p>Variáveis de sistema:<br />
<code>PHP_HOME c:\dev\php</code></p>
<p>Arquivos:</p>
<ul>
<li><a href="http://windows.php.net/downloads/releases/php-5.3.0-Win32-VC9-x86.zip">php-5.3.0-Win32-VC9-x86.zip</a></li>
</ul>
<p>- Descompacte o conteúdo do arquivo em c:\dev\php</p>
<p>- Entre em c:\dev\php\ e renomeie o arquivo &#8220;php.ini-recommended&#8221; para &#8220;php.ini&#8221;(mas se você quer algo mais próximo do que irá encontrar em um ambiente de produção, recomendo usar o &#8220;php.ini-dist&#8221; no lugar do &#8220;php.ini-recommended&#8221;).</p>
<p>- Abra o arquivo e procure pelas seguintes linhas alterando seu valor:</p>
<p><code>include_path = ".;c:\dev\php\includes"<br />
doc_root = "c:\dev\workspace"<br />
extension_dir = "c:\dev\php\ext"<br />
display_errors = On</code></p>
<p>- Para manter mais organizado vamos colocar as configurações do PHP em um arquivo à parte. Adicione a linha à seguir no final do http.conf:</p>
<p><code>Include conf/php.conf</code></p>
<p>- Agora crie o php.conf em C:\dev\apache2\conf com o seguinte conteúdo:</p>
<p><code># carrega o módulo do php<br />
LoadModule php5_module "c:/dev/php/php5apache2.dll"<br />
# adiciona o content type para os arquivos php<br />
AddType application/x-httpd-php .php<br />
# seta o home do php<br />
PHPIniDir "c:/dev/php"<br />
# faz com que o Apache também reconheça arquivos index.php como arquivo default para diretórios<br />
DirectoryIndex index.php</code></p>
<p>- Reinicie o Apache</p>
<p>- Para testar, entre em c:\dev\workspace e crie um arquivo phpinfo.php com o  conteúdo abaixo e acesse <a href="http://localhost/phpinfo.php">http://localhost/phpinfo.php</a></p>
<p><code>&lt;? php phpinfo () ;?&gt;</code></p>
<p>OBS: Se você deseja utilizar MySQL com o PHP, você deve utilizar a lib php_mysqli.dll <a href="#p3" name="a3">[3]</a>. Seguem as alterações que você deve fazer no seu php.ini:</p>
<p><code>extension=php_mysqli.dll<br />
mysqli.default_host = localhost<br />
mysqli.default_user = root</code></p>
<h3>Links relacionados:</h3>
<ul>
<li><a href="http://www.zend.com/php5/articles/php5-mysqli.php">Using ext/mysqli: Part I &#8211; Overview and Prepared Statements</a></li>
<li><a href="http://www.zend.com/php5/articles/php5-mysqli2.php">Using ext/mysqli: Part II &#8211; Extending mysqli</a></li>
</ul>
<h3><a href="http://www.mysql.com/" name="mysql">MySQL</a></h3>
<p>Variáveis de sistema:</p>
<p><code>MYSQL_HOME c:\dev\mysql<br />
PATH %MYSQL_HOME%\bin;</code></p>
<p>Arquivos:</p>
<ul>
<li><a href="http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-essential-5.1.38-win32.msi/from/http://mysql.cce.usp.br/">mysql-essential-5.1.38-win32.msi</a></li>
<li><a href="http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-gui-tools-5.0-r17-win32.msi/from/http://linorg.usp.br/mysql">mysql-gui-tools-5.0-r17-win32.msi</a></li>
</ul>
<p>- Entre no instalador: Next -> Marque &#8220;Custom&#8221; -> Next -> Clique em &#8220;Change&#8230;&#8221; e digite &#8220;c:\dev\mysql&#8221; -> Ok -> Next -> Install(espere instalar) -> Marque &#8220;Skip Sign-Up&#8221; -> Next -> Finish.</p>
<p>- O Instance Configuration Wizard será executado, continue a configuração: Next -> Next -> Next -> Next -> Next -> Next -> Next -> Selecione &#8220;Best Support For Multilingualism&#8221; -> Next -> Next -> Desmarque &#8220;Modify Settings&#8221; -> Next -> Execute -> Finish.</p>
<p>- Próximo passo é instalar o MySQL GUI Tools: Next -> Marque &#8220;I accept&#8230;&#8221; -> Next -> Clique em &#8220;Change&#8230;&#8221; e digite &#8220;c:\dev\mysql\tools&#8221; -> Ok -> Next -> Next -> Install -> Finish.</p>
<h3>Links relacionados:</h3>
<ul>
<li><a href="http://www.informit.com/articles/printerfriendly.asp?p=410743&#038;rl=1">An Overview of MySQL Query Browser&#8217;s Features and Capabilities</a></li>
</ul>
<p><a href="#a1" name="p1">[1]</a> O connector <a href="http://jakarta.apache.org/tomcat/connectors-doc/news/20041100.html#20041115.1">mod_jk2 foi descontinuado</a> por desinteresse dos desenvolvedores e também pelos usuários, já que era mais difícil de configurar. Mas se você quer mesmo, ou precisa, utilizar o mod_jk2, <a href="http://www.perfectreign.com/modules/articles/article.php?id=1">este tutorial</a> pode ajudar muito.</p>
<p><a href="#a2" name="p2">[2]</a> <a href="http://www.inf.ufsc.br/~leandro/apache-tomcat.html">Alguns tutoriais</a> fazem uso de um arquivo workers.properties para setar algumas configuraçãoes do connector, mas como o objetivo deste tutorial é apenas montar um ambiente rápido e prático para desenvolvimento, não utilizaremos esta abordagem.</p>
<p><a href="#a3" name="p3">[3]</a> Existe também o <a href="http://www.php.net/manual/en/ref.mysql.php">php_mysql.dll</a>, mas como o <a href="http://www.php.net/manual/en/ref.mysqli.php">php_mysqli.dll</a> (o &#8220;i&#8221; é de improved) é mais recente e melhor, utilize ele. Alguns tutoriais consideram a utilização dos dois, mas particularmente não vejo nenhum problema em usar somente o php_mysqli. Uma vantagem (se é que pode ser chamada de vantagem) é que com php_mysqli.dll você não precisa setar a porta default (3306).<br />
Mas cuidado, se você já possui uma aplicação e quer continuar o seu desenvolvimento, é recomendado dar uma boa verificada no código, já que existem incompatibilidades entre as libs.</p>
<blockquote><p>Be careful when porting from ext/mysql to ext/mysqli. The following functions return NULL when no more data is available in the result set (ext/mysql&#8217;s functions return FALSE): mysqli_fetch_row(); mysqli_fetch_array(); mysqli_fetch_assoc();</p></blockquote>
<div class="acc_license"><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" alt="by-nc-nd" /></a></div><!--<rdf:RDF xmlns="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Work rdf:about=""><license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/3.0/" /></Work><License rdf:about="http://creativecommons.org/licenses/by-nc-nd/3.0/"><requires rdf:resource="http://creativecommons.org/ns#Attribution" /><permits rdf:resource="http://creativecommons.org/ns#Reproduction" /><permits rdf:resource="http://creativecommons.org/ns#Distribution" /><prohibits rdf:resource="http://creativecommons.org/ns#CommercialUse" /><requires rdf:resource="http://creativecommons.org/ns#Notice" /></License></rdf:RDF>--><img src="http://plentz.org/wordpress/?ak_action=api_record_view&id=117&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://plentz.org/2005/11/10/webserver-em-15-minutos/feed/</wfw:commentRss>
		<slash:comments>47</slash:comments>
		</item>
		<item>
		<title>Eclipsed</title>
		<link>http://plentz.org/2005/02/27/eclipsed/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=eclipsed</link>
		<comments>http://plentz.org/2005/02/27/eclipsed/#comments</comments>
		<pubDate>Sun, 30 Oct 2005 00:11:53 +0000</pubDate>
		<dc:creator>Diego Plentz</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://plentz.org/wordpress/?p=106</guid>
		<description><![CDATA[Logo que comecei a programar, conheci o Dreamweaver. Achei ótimo clicar e arrastar componentes pra cá e pra lá, colocar formatação, tudo muito prático. Felizmente, as pessoas evoluem. Aos poucos começei a entender melhor o que acontecia por baixo dos panos, e entender também o significado daquela monstruiosidade de tags que eram criadas. Conforme fui [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://flickr.com/photos/mark_k_nj/523623785/" title="Total Eclipse Of The Contrast"><img src="http://farm1.static.flickr.com/245/523623785_48da573b9b_m.jpg" alt="Total Eclipse Of The Contrast" height="167" width="240" style="border: 2px solid rgb(0, 0, 0);float: right; margin-left: 10px; margin-bottom: 10px;"/></a></p>
<p>Logo que comecei a programar, conheci o <a href="http://www.macromedia.com/software/dreamweaver/">Dreamweaver</a>. Achei ótimo clicar e arrastar componentes pra cá e pra lá, colocar formatação, tudo muito prático. Felizmente, as pessoas evoluem. Aos poucos começei a entender melhor o que acontecia por baixo dos panos, e entender também o significado daquela monstruiosidade de tags que eram criadas. Conforme fui evoluindo, mais cresceu meu desafeto com ele, devido ao código porcalhão que ele gera. A facilidade de ver as alterações <em>on-the-fly</em> continuava lá, mas já começava a fazer tudo no braço.</p>
<p>A partir dai, cada vez mais busquei editores que facilitassem minha vida, não visualmente, mas que permitissem gerar um código elegante com maior velocidade e facilidade.</p>
<p>Experimentei de tudo, <a href="http://www.scintilla.org/">Scite</a> (recomendação do <a href="http://www.jonasgalvez.com/">Jonas</a>), <a href="http://www.crimsoneditor.com/">Crimson Editor</a>, <a href="http://www.ultraedit.com/">UltraEdit</a>, <a href="http://www.adobe.com/products/dreamweaver/">Dreamweaver</a>, entre muitos outros, mas sempre sentia falta de algo, fosse um <em>code completion</em> decente ou um syntax highlighter pra alguma linguagem. E ficar trocando de editor pra cada tipo de arquivo que for editar, além de ser improdutivo (você acaba não sabendo usar nenhum bem), obriga você a ter mais que um editor no computador &#8211; e pior, ficar alternando entre eles.</p>
<p>Felizmente, chegou ao meu conhecimento um editor que estava ganhando espaço &#8211; e fazendo bastante sucesso: o <a href="http://www.eclipse.org">Eclipse</a>. No começo, não me chamou a atenção, parecia ser mais um editor com uma interface legal e com um code complete aguçado. Pesquisando um pouco mais sobre ele, descobri que sabendo usá-lo corretamente &#8211; e por completo, pode fazer chover. Tirando proveito da plataforma super extensível dele, com alguns plugins ele pode ser tornar um ambiente de trabalho muito produtivo.</p>
<p>Antes de partir para os plugins, vou dar algumas dicas referentes ao funcionamento e utilização dele como um todo. Para começar, entre no site do <a href="http://www.eclipse.org">Eclipse</a>, e <a href="http://download.eclipse.org/eclipse/downloads/">faça o download dele</a>, selecionando conforme o seu sistema operacional. Feito isto, recomendo que descompacte ele em alguma pasta de fácil acesso (algo como c:\dev\eclipse\). Abra ele e use por um tempo, crie um projeto, alguns arquivos, altere as opções, salve, edite, bagunce mesmo &#8211; mas lembre-se, sempre tenha uma cópia do arquivo de instalação dele para um eventual “acidente&#8221;.</p>
<h3>Atalhos do editor</h3>
<p>* alguns funcionam somente no editor Java</p>
<ul>
<li>&lt;Ctrl&gt; + &lt;Space&gt; &#8211; Abre o code completion. Lembre-se, anote, marque na sua testa, control-espaço é seu amigo;</li>
<li>&lt;Ctrl&gt; + &lt;Shift&gt; + &lt;r&gt; &#8211; Open Resource. Abre uma janela para abrir qualquer arquivo (xml, properties, jsp, etc);</li>
<li>&lt;Ctrl&gt; + &lt;Shift&gt; + &lt;t&gt; &#8211; Open Type. Abre uma janela para pesquisa das classes disponíveis;</li>
<li>&lt;Ctrl&gt; + &lt;/&gt; &#8211; (des)Comenta bloco de código;</li>
<li>&lt;Alt&gt; + (&lt;up&gt; ou &lt;down&gt;) &#8211; Move bloco de código;</li>
<li>&lt;Shift&gt; + &lt;Enter&gt; &#8211; Insere linhas em branco abaixo da atual;</li>
<li>&lt;Ctrl&gt; + &lt;Shift&gt; + &lt;Enter&gt; &#8211; Insere linhas em branco acima da atual.</li>
<li>&lt;Ctrl&gt; + &lt;d&gt; &#8211; Remove linha atual;</li>
<li>&lt;Ctrl&gt; + &lt;1&gt; &#8211; Exibe possíveis soluções para um problema que ele encontrou no seu código;</li>
<li>&lt;Ctrl&gt; + &lt;Shift&gt; + &lt;o&gt; &#8211; Ajusta seus imports(no caso do Java ao menos);</li>
<li>&lt;Ctrl&gt; + &lt;Shift&gt; + &lt;f&gt; &#8211; Formata o código conforme configuração de padrão definida;</li>
<li>&lt;Ctrl&gt; + &lt;m&gt; &#8211; Altera entre maximizada/default para uma view, muito útil quando se está trabalhando com arquivo com muito código;</li>
<li>&lt;Ctrl&gt; + &lt;h&gt; &#8211; Busca por referências do elemento(método,atributo&#8230;) que o cursor está posicionado sobre, em todo projeto;</li>
<li>&lt;Ctrl&gt; + &lt;i&gt; &#8211; Corrige identação de um pedaço de código;</li>
<li>&lt;Ctrl&gt; + &lt;3&gt; &#8211; Quick Access&#8230; quase um <a href="http://www.blacktree.com/projects/quicksilver.html">Quicksilver</a> para o Eclipse;</li>
<li>&lt;Ctrl&gt; + &lt;3&gt; &#8211; Quick Outline&#8230; exibe a lista de métodos/atributos da classe. Se pressionado 2 vezes, exibe também das classes mães;</li>
</ul>
<h3>Eclipse Plugins</h3>
<p>Bom, depois de toda essa ladainha, vamos ao que interessa, os plugins. O Eclipse conta com uma estrutura muito boa no quesito extensibilidade &#8211; mesmo sua API sendo criticada por alguns. Pode-se adicionar features para praticamente qualquer propósito nele. A instalação de plugins é muito fácil e pode ser feita de duas maneiras:</p>
<ul>
<li>Via update site – abra o Eclipse, vá em “Help&#8221;, “Software Updates&#8230;&#8221;, “Find and Instal…&#8221; Na tela que abre, selecione a segunda opção e de next. Clique agora em “New Remote Site&#8230;&#8221;. No campo “Name&#8221; coloque o nome do plugin que será instalado, e no campo URL coloque o endereço do update site(quando existir um). Clique agora no íncone de “+&#8221; ao lado do nome do plugin e selecione o “pacote&#8221; que você deseja instalar. Clique em “Next&#8221;. Selecione a versão do plugin, dê “Next&#8221;, aceite os termos do plugin e vá em “Finish&#8221;. Ele vai baixar automaticamente os arquivos necessários e provavelmente vai pedir para você restartar o Eclipse.</li>
<li>Via download – entre no site do desenvolvedor do plugin, baixe o arquivo contendo o plugin e descompacte ele. Normalmente, os pluguins vem com uma ou duas pastas dentro: &#8220;plugins&#8221; e &#8220;features&#8221;. Coloque os arquivos nas suas devidas pastas e entre novamente no Eclipse.</li>
</ul>
<p>Procurei deixar os plugins com funcionalidades semelhantes próximos para facilitar a localização. O nome do plugin é também um link para o site do desenvolvedor/projeto, ficando ao seu lado o link para download ou update site, seguido de uma pequena descrição.</p>
<p><strong><a href="http://eclipse.org/webtools/">Eclipse Web Tools Plataform (WTP)</a></strong> &#8211; <a href="http://download.eclipse.org/webtools/downloads/">Download</a><br />
Provavelmente quem já usa o Eclipse à mais tempo deve conhecer o <a href="http://www.objectlearn.com/">Lomboz</a>. O WebTools na verdade é uma &#8220;continuação&#8221; do projeto <a href="http://www.objectlearn.com/">Lomboz</a>, mas agora como sub-projeto da Eclipse Foundation. Vem com editores para JSP, HTML, Javascript, CSS, SQL, XML, DTD, XSD e WSDL.</p>
<p><strong><a href="http://run-jetty-run.googlecode.com/">Run Jetty Run</a></strong> &#8211; <a href="http://run-jetty-run.googlecode.com/svn/trunk/updatesite">Update site</a><br />
Uma forma decente e simples de usar o <a href="http://www.eclipse.org/jetty/">Jetty</a> para desenvolvimento, já que o connector atual disponível pro WTP é uma piada de mal gosto.</p>
<p><strong><a href="http://www.aptana.com/">Aptana</a></strong> &#8211; <a href="http://update.aptana.com/update/">Update site</a><br />
Excelente plugin para coding e debug <a href="http://www.aptana.com/rails">Ruby + Rails (antigo RadRails)</a>, <a href="http://www.aptana.com/python">Python+Jython(antigo PyDev)</a>, <a href="http://www.aptana.com/jaxer">JavaScript/Ajax (Jaxer)</a>, <a href="http://www.aptana.com/php">PHP</a>, xHTML/RHTML e CSS, além de <a href="http://www.aptana.com/air">Adobe Air</a> e <a href="http://www.aptana.com/iphone">iPhone</a>. Seu <a href="http://www.aptana.tv/">site conta com diversos <em>screencasts</em></a> demonstrando a <a href="http://www.aptana.com/docs/">utilização do plugin</a>.</p>
<p><strong><a href="http://tools.hibernate.org">Hibernate Tools</a></strong> &#8211; <a href="http://download.jboss.org/jbosside/updates/development">Update site</a><br />
Auxilia o desenvolvedor que utiliza Hibernate na sua aplicação, facilitando <a href="http://www.hibernate.org/hib_docs/tools/viewlets/hbmxml_editing.htm">a edição dos hbm.xmls</a> (com syntax highlighting, <em>code-completion</em>), <a href="http://www.hibernate.org/hib_docs/tools/viewlets/entity_model_zoom_and_print.htm">permite navegação e impressão do <em>entity model</em></a>, <a href="http://www.hibernate.org/hib_docs/tools/viewlets/custom_reverse_engineering.htm">engenharia reversa e geração de código</a>,  <a href="http://www.hibernate.org/hib_docs/tools/viewlets/java_hql_editing_and_validation.htm"><em>code completion</em> para HQL/JPA-QL queries diretamente no editor Java</a>, editor para testes para <a href="http://www.hibernate.org/hib_docs/tools/viewlets/edit_and_run_criteria.htm"><em>Criteria queries</em></a> e <a href="http://www.hibernate.org/hib_docs/tools/viewlets/edit_and_run_hql.htm">HQL/JPA-QL queries</a>. A criação do <a href="http://www.hibernate.org/hib_docs/tools/viewlets/create_console_configuration_jpa.htm"><em>console configuration</em></a> para você poder utilizar o plugin também é mostrada no site.</p>
<p><strong><a href="http://springide.org/">Spring IDE</a></strong> &#8211; <a href="http://springide.org/updatesite">Update site</a><br />
Interface gráfica para trabalhar com arquivos de configuração do <a href="http://www.springframework.com/">Spring Framework</a>. Conta com diversas <a href="http://springide.org/project/wiki/SpringideFeatures">features</a> como <a href="http://springide.org/project/wiki/BeansXmlEditor">editor para os arquivos de configuração dos beans</a>, <a href="http://springide.org/project/wiki/BeansConfigValidator">validação dos arquivos de configuração</a>, etc.</p>
<p><strong><a href="http://www.eclipse.org/pdt/">Eclipse PDT</a></strong> &#8211; <a href="http://download.eclipse.org/tools/pdt/updates/2.0/releases/">Update site</a><br />
Plugin oficial da Eclipse Foundation para quem desenvolve PHP. <a href="http://www.zend.com/en/community/pdt">Inicialmente criado</a> pela Zend (empresa de dois grandes contribuidores do PHP).</p>
<p><strong><a href="http://www.phpeclipse.de/">PHPEclipse</a></strong> &#8211; <a href="http://update.phpeclipse.net/update/stable/1.2.x">Update site</a><br />
Pra quem desenvolve PHP, este plugin é uma legítima <a href="http://phpeclipse.de/tiki-browse_gallery.php?galleryId=1">mão na roda</a>. O code assist dele é ótimo, tendo praticamente todas (se não todas) as funções nativas. Possui integração com <a href="http://www.mysql.com/">MySQL</a> e com o <a href="http://httpd.apache.org/">Apache</a>. No seu site explica como instalar o <a href="http://dd.cron.ru/dbg/downloads.php">debbuger</a> e o pacotão <a href="http://www.apachefriends.org/en/xampp.html">WAMPP</a>. No <a href="http://www.plog4u.org/index.php/Using_PHPEclipse">Wiki do site Plog4u</a> existe um ótimo tutorial para este plugin.</p>
<p><strong><a href="http://groovy.codehaus.org/Eclipse+Plugin">Groovy Eclipse Plugin</a></strong> &#8211; <a href="http://dist.codehaus.org/groovy/distributions/update/">Update site</a><br />
Plugin para suporte à Groovy desenvolvido pelo pessoal da <a href="http://codehaus.org/">Codehaus</a>.</p>
<p><strong><a href="http://www.epic-ide.org/">EPIC &#8211; Eclipse Perl Integration</a></strong> &#8211; <a href="http://e-p-i-c.sf.net/updates">Update site</a><br />
Plugin bem completo para <a href="http://www.perl.com/">Perl</a>, vem com o mesmo tester de regular expressions do <a href="http://rubyeclipse.sourceforge.net/">Ruby Development Tools</a>(o código foi cedido por eles). Pra quem ainda usa Perl <a href="http://e-p-i-c.sourceforge.net/main.html#Features">é uma boa pedida</a>.</p>
<p><strong><a href="http://www.cfeclipse.org/">CFEclipse</a></strong> &#8211; <a href="http://www.cfeclipse.org/update">Update site</a><br />
Possui <a href="http://cfeclipse.tigris.org/images/winbeta.jpg">syntax<br />
 highlighting</a>, code insight, content outline e auxilia a encontrar problemas no código. Substitui perfeitamente qualquer editor proprietário da <a href="htttp://www.macromedia.com/">Macromedia</a> como o HomeSite, Dreamweaver e o próprio ColdFusion. Talvez o pessoal do <a href="http://www.cfgigolo.com/">CFGigolô</a> conheça.</p>
<p><strong><a href="http://www.eclipse.org/cdt/">C/C++ Development Tools</a></strong> &#8211; <a href="http://download.eclipse.org/tools/cdt/releases/eclipse3.1">Update site</a><br />
Adiciona funcionalidades para desenvolvimento em C/C++ ao Eclipse.</p>
<p><strong><a href="http://www.eclipse.org/subversive/">Subversive</a></strong> &#8211; <a href="http://download.eclipse.org/technology/subversive/0.7/update-site/">Update site</a> / <a href="http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/">Connectors update site</a><br />
Oferece suporte ao <a href="http://subversion.tigris.org/">Subversion</a> de forma similar ao suporte à CVS que já vem integrado com o Eclipse. Conta com diversas <a href="http://www.polarion.org/index.php?page=features&#038;project=subversive">features</a> legais, além de ter uma <a href="http://www.polarion.org/index.php?page=screenshots&#038;project=subversive">interface</a> simples de usar.</p>
<p><strong><a href="http://eclipseme.org/">EclipseME</a></strong> &#8211; <a href="http://eclipseme.org/updates/">Update site</a><br />
Plugin para auxiliar no desenvolvimento de MIDlets <a href="http://java.sun.com/javame/">J2ME</a>, permitindo que o desenvolvedor se preocupe mais com o desenvolvimento da aplicação do que com requisitos específicos da plataforma J2ME.</p>
<p><strong><a href="http://quantum.sourceforge.net/">QuantumDB</a></strong> &#8211; <a href="http://quantum.sourceforge.net/update-site/">Update site</a><br />
Quantum é um plugin para acesso à banco de dados, através de um driver JDBC padrão. Sua interface mostra tabelas, views e sequences em <a href="http://quantum.sourceforge.net/perspective.html">formato de árvore</a> (como a maioria) e possui também um SQL editor com <a href="http://quantum.sourceforge.net/editor.html">syntax highlighting</a>.</p>
<p><strong><a href="http://www.azzurri.jp/en/clay">Clay Database Modeling</a></strong> &#8211; <a href="http://www.azzurri.jp/en/clay/download.html">Download</a><br />
O Clay é um plugin que ajuda no design de um banco de dados. Ele possui <a href="http://www.azzurri.jp/en/software/clay/screenshots.jsp">algumas features bem interessantes</a>, como: <a href="http://www.azzurri.jp/en/software/clay/images/clay_eclipse_1.png">interface super intuitiva</a>, <a href="http://www.azzurri.jp/en/software/clay/images/wiz_reverse_connection_list.png">engenharia</a> <a href="http://www.azzurri.jp/en/software/clay/images/wiz_reverse_tables.png">reversa</a> e <a href="http://www.azzurri.jp/en/software/clay/images/dialog_edit_fk_cols.png">editores gráficos</a>.</p>
<p><strong><a href="http://andrei.gmxhome.de/anyedit/">AnyEdit tools</a></strong> &#8211; <a href="http://andrei.gmxhome.de/eclipse/">Update site</a><br />
Adicionar algumas funções para facilitar o desenvolvimento, como conversão caracteres para entidades HTML, maiúscula/minúscula, espaços/tabulações, <a href="http://plentz.org/2005/09/17/remove-trailing-spaces/">remover espaços no final das linhas</a>.</p>
<p><strong><a href="http://www.eclipse.org/tptp/">TPTP Testing Tools</a></strong> &#8211; <a href="http://eclipse.org/tptp/updates/site.xml">Update site</a><br />
Como o nome sugere, o TPTP é um pacote de ferramentas voltadas para ciclos de testes, que se extende de testes manuais à testes para aplicações web. Possui integração com o JUnit.</p>
<p><strong><a href="http://pmd.sourceforge.net/">PMD</a></strong> &#8211; <a href="http://pmd.sourceforge.net/eclipse/">Update site</a><br />
Acredito que o PMD seja o plugin de verificação/análise de bugs e estilo de código <a href="http://www-128.ibm.com/developerworks/java/library/j-pmd/">mais usado na atualidade</a>. Possui uma série de verificações legais como busca por blocos vazios de try/catch/finally/switch, variáveis não usadas, entre outras. Dica de amigo: mantenha ele longe do seu analista se você não conhece o código à fundo.</p>
<p><strong><a href="http://eclipse-cs.sourceforge.net">Eclipse-CS</a></strong> &#8211; <a href="http://eclipse-cs.sourceforge.net/update">Update site</a><br />
O plugin integra o já famoso code analyzer <a href="http://checkstyle.sourceforge.net/">Checkstyle</a>, ferramenta para ajudar você a garantir que seu código Java adere à alguns padrões de codificação. O Checkstyle faz isso inspencionando seus códigos fontes e apontando os itens que foram selecionados no conjunto de regras disponíveis. Além disso, você pode usar o Checkstyle diretamente da linha de comando, ou como parte do seu nt build.</p>
<p><strong><a href="http://findbugs.sourceforge.net">Find Bugs</a></strong> &#8211; <a href="http://findbugs.cs.umd.edu/eclipse">Update site</a><br />
Ferramenta que ajuda à detectar bugs em potencial para códigos Java.</p>
<h3>Outras distribuições do Eclipse</h3>
<ul>
<li><a href="http://www.aptana.com/studio">Aptana Studio</a></li>
<li><a href="http://www.jboss.org/tools/">JBoss Tools</a></li>
<li><a href="http://www.myeclipseide.com/">MyEclipse</a></li>
<li><a href="http://www.ibm.com/software/rational/eclipse/">IBM Rational software</a></li>
<li><a href="http://www.bea.com/framework.jsp?CNT=index.htm&#038;FP=/content/products/workshop/">BEA Workshop Studio</a></li>
<li><a href="http://www.easyeclipse.org/">EasyEclipse</a></li>
<li><a href="http://www.exadel.com/">Exadel Studio</a></li>
<li><a href="http://www.yoxos.com/">Yoxos</a></li>
<li><a href="http://www.eclipsedownload.com/">Omondo UML</a></li>
</ul>
<h3>Dicas</h3>
<ul>
<li>Se você instalar dois ou mais plugins que possuam editor’s para o mesmo tipo de arquivo (ex: DBEdit e DBExplorer, para *.sql), você pode facilmente editar o default entrando em “Window” &gt;&gt; “Preferences” &gt;&gt; “Workbench” &gt;&gt; “File Associatons”. Selecione o tipo de arquivo que você deseja alterar o padrão e logo abaixo irá aparecer os editor’s disponíveis. Marque o desejado e clique em “Dafault”.</li>
<li>Uma coisa que quem está começando não sabe, é que o Eclipse não usa o CLASSPATH do sistema. Então para adicionar libs / classes / projetos, você precisa fazer isso diretamente na IDE. Clique com o botão direito do mouse no nome projeto, entre em Properties -&gt; Java Build Path -&gt; Libraries. Feito isso, entre em “Add class folder” para adicionar um diretório com .class, e “add jars / add external jars” para adicionar jars.</li>
<li>Quando você instalar um plugin, pode ser que o Eclipse não reconheca automaticamente, então você deve usar o parâmetro <em>-clean</em> (&#8220;C:\eclipse\eclipse.exe -clean&#8221; por exemplo). Utilizando este parâmetro, você estará forçando o Eclipse a reconstruir o repositório no qual ele armazena todos os plugin.xml&#8217;s (ele faz isso como uma forma de tornar o load inicial mais rápido).</li>
<li>Além do <em>-clean</em>, o Eclipse oferece uma <a href="http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html">série de outros parâmetros</a> que podem ser utilizados na sua inicialização, que podem inclusive aumentar sua performance.</li>
</ul>
<h3>Links relacionados</h3>
<ul>
<li><a href="http://www.ubuntugeek.com/how-to-install-and-setup-eclipse-with-suns-java.html">How to Install and setup Eclipse with Sun’s Java &#8211; Ubuntu</a></li>
<li><a href="http://www-106.ibm.com/developerworks/library/os-ecref/">Refactoring for everyone</a></li>
<li><a href="http://www-106.ibm.com/developerworks/library/os-ecov/">Getting started with the Eclipse Platform</a></li>
<li><a href="http://www-106.ibm.com/developerworks/library/os-ecvisual/">Build GUIs with the Eclipse Visual Editor project</a></li>
<li><a href="http://www.devx.com/opensource/Article/21562/0">Extending Eclipse with Helpful Views</a></li>
<li><a href="http://www.eclipsecon.org/tutorials.php">EclipseCON Tutorials</a></li>
<li><a href="https://eclipse-tutorial.dev.java.net/visual-tutorials/part1.html">Java Code Templates</a></li>
<li><a href="http://www-106.ibm.com/developerworks/opensource/library/os-ecspy1/">Tune Eclipse’s startup performance, Part 1</a> &amp; <a href="http://www-106.ibm.com/developerworks/opensource/library/os-ecspy2/">Part 2</a></li>
<li><a href="http://www-128.ibm.com/developerworks/library/os-eclplgndep/">Finding unresolved Plug-in dependencies in Eclipse</a></li>
</ul>
<div class="acc_license"><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" alt="by-nc-nd" /></a></div><!--<rdf:RDF xmlns="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Work rdf:about=""><license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/3.0/" /></Work><License rdf:about="http://creativecommons.org/licenses/by-nc-nd/3.0/"><requires rdf:resource="http://creativecommons.org/ns#Attribution" /><permits rdf:resource="http://creativecommons.org/ns#Reproduction" /><permits rdf:resource="http://creativecommons.org/ns#Distribution" /><prohibits rdf:resource="http://creativecommons.org/ns#CommercialUse" /><requires rdf:resource="http://creativecommons.org/ns#Notice" /></License></rdf:RDF>--><img src="http://plentz.org/wordpress/?ak_action=api_record_view&id=106&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://plentz.org/2005/02/27/eclipsed/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>
