<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><!-- generator="wordpress/2.2" --><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">

<channel>
	<title>BitCodes</title>
	<link>http://bitcodes.hrangel.com.br</link>
	<description>Códigos, dicas e artigos em geral relacionados a programação</description>
	<pubDate>Sun, 04 May 2008 18:55:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/BitCodes" type="application/rss+xml" /><item>
		<title>Unificando</title>
		<link>http://bitcodes.hrangel.com.br/index.php/unificando/</link>
		<comments>http://bitcodes.hrangel.com.br/index.php/unificando/#comments</comments>
		<pubDate>Sun, 04 May 2008 18:55:46 +0000</pubDate>
		<dc:creator>Rangel</dc:creator>
		
	<dc:subject>programação</dc:subject>
		<guid isPermaLink="false">http://bitcodes.hrangel.com.br/index.php/unificando/</guid>
		<description><![CDATA[Galera,
Exportei todo o BitCodes para o Rangel Avulso , em 1 semana vou desativar de vez esse blog e ficarei s&#243; com o principal mesmo.
Para quem assina ou visita basta apontar browser ou o agregador para www.hrangel.com.br
Mas para quem gosta do conte&#250;do daqui, n&#227;o precisa se preucupar, continuarei escrevendo sobre o assunto numa frequ&#234;ncia maior [...]]]></description>
			<content:encoded><![CDATA[<p>Galera,</p>
<p>Exportei todo o BitCodes para o <a href="http://www.hrangel.com.br" target="_blank">Rangel Avulso</a> , em 1 semana vou desativar de vez esse blog e ficarei s&oacute; com o principal mesmo.</p>
<p>Para quem assina ou visita basta apontar browser ou o agregador para www.hrangel.com.br</p>
<p>Mas para quem gosta do conte&uacute;do daqui, n&atilde;o precisa se preucupar, continuarei escrevendo sobre o assunto numa frequ&ecirc;ncia maior (assim espero).</p>
<p>Abra&ccedil;os a todos</p>
<p class="akst_link"><a href="http://bitcodes.hrangel.com.br/?p=18&amp;akst_action=share-this"  title="Evie por email, adicione ao del.icio.us, etc." id="akst_link_18" class="akst_share_link">Compartilhe</a>
</p><br /><hr /><br />]]></content:encoded>
			<wfw:commentRss>http://bitcodes.hrangel.com.br/index.php/unificando/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Instalando PHP + MySQL no IIS7 do Vista</title>
		<link>http://bitcodes.hrangel.com.br/index.php/instalando-php-mysql-no-iis7-do-vista/</link>
		<comments>http://bitcodes.hrangel.com.br/index.php/instalando-php-mysql-no-iis7-do-vista/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 12:30:13 +0000</pubDate>
		<dc:creator>Rangel</dc:creator>
		
	<dc:subject>mysql</dc:subject>
	<dc:subject>php</dc:subject>
	<dc:subject>iis7</dc:subject>
	<dc:subject>windows</dc:subject>
		<guid isPermaLink="false">http://bitcodes.hrangel.com.br/index.php/instalando-php-mysql-no-iis7-do-vista/</guid>
		<description><![CDATA[Tive que formatar meu notebook h&#225; pouco tempo atr&#225;s e por isso precisei reinstalar esse pacote b&#225;sico que qualquer desenvolvedor no windows utiliza.
Para a instala&#231;&#227;o utilizei:
IIS7 - Se voc&#234; n&#227;o tiver instale pelo: Program and Features &#62;  Turn Windows features on or off &#62; IIS7
PHP - A &#250;ltima vers&#227;o em ZIP.
MySQL -  A [...]]]></description>
			<content:encoded><![CDATA[<p>Tive que formatar meu notebook h&aacute; pouco tempo atr&aacute;s e por isso precisei reinstalar esse pacote b&aacute;sico que qualquer desenvolvedor no windows utiliza.</p>
<p>Para a instala&ccedil;&atilde;o utilizei:</p>
<p>IIS7 - Se voc&ecirc; n&atilde;o tiver instale pelo: Program and Features &gt;  Turn Windows features on or off &gt; IIS7</p>
<p><a href="http://www.php.net/" title="PHP" target="_blank">PHP</a> - A &uacute;ltima vers&atilde;o em <a href="http://www.php.net/downloads.php" title="PHP Downloads Area" target="_blank">ZIP</a>.</p>
<p><a href="http://mysql.com/" title="MySQL" target="_blank">MySQL</a> -  A &uacute;ltima vers&atilde;o do <a href="http://dev.mysql.com/downloads/mysql/5.0.html#downloads" title="MySQL Community Server">Community Server</a>, a vers&atilde;o Essentials &eacute; suficiente.</p>
<p><strong>Primeiro Passo - PHP</strong></p>
<p>Extrai o PHP para a pasta que quiser (no meu caso utilizei C:\Program Files\PHP\).<br />
Em seguida, para instalar o PHP no IIS7 basta baixar o BAT feito pelo <a href="http://blogs.msdn.com/david.wang/default.aspx" title="David Wang Blog" target="_blank">David Wang</a> <a href="http://blogs.msdn.com/david.wang/archive/2006/06/21/HOWTO_Install_and_Run_PHP_on_IIS7_Part_2.aspx" title="BAT File To Install PHP on IIS7" target="_blank">nesse artigo</a>. Eu fiz algumas altera&ccedil;&otilde;es para que o BAT j&aacute; copie o PHP.INI para a pasta Windows.<br />
Basta baixar o <a href="http://bitcodes.hrangel.com.br/wp-content/uploads/2008/04/phpinstall.zip" title="Bat para Instalar PHP no IIS7 do Vista">arquivo BAT zipado</a>.</p>
<p><strong>Segundo Passo - MySQL</strong></p>
<ol>
<li>Fa&ccedil;a a instala&ccedil;&atilde;o do MySQL normal utilizando o setup</li>
<li>Em seguida voc&ecirc; deve copiar o arquivo libmysql.dll (que pode ser encontrado na pasta de instala&ccedil;&atilde;o do PHP) para a pasta C:\Windows\System32</li>
<li>Edite arquivo PHP.INI (que est&aacute; na pasta C:\Windows\)</li>
<li>Encontre a linha que cont&eacute;m <strong>extension_dir = “./”</strong>, altere o valor para a pasta de extensions do seu PHP (no meu caso ficaria extension_dir = &#8220;C:\Program Files\PHP\ext&#8221;) e retire o coment&aacute;rio (basta remover o &#8216;;&#8217; que vem antes do texto caso tenha algum)</li>
<li>Encontre a linha que cont&eacute;m <strong>extension=php_mysql.dll</strong> e retire o comet&aacute;rio  (basta remover o &#8216;;&#8217; que vem antes do texto caso tenha algum)</li>
<li>Salve o Arquivo</li>
</ol>
<p>Para finalizar basta reiniciar seu IIS e testar abrindo via browser (dentro do servidor) qualquer arquivo que contenha o c&oacute;digo &lt;?php phpinfo();?&gt;, l&aacute; deve mostrar que a extens&atilde;o do PHP foi instalado com sucesso.</p>
<p>Espero que ajude algu&eacute;m.</p>
<p>Qualqu&eacute;r d&uacute;vida ou coment&aacute;rio &eacute; s&oacute; deixar ai embaixo!</p>
<p class="akst_link"><a href="http://bitcodes.hrangel.com.br/?p=17&amp;akst_action=share-this"  title="Evie por email, adicione ao del.icio.us, etc." id="akst_link_17" class="akst_share_link">Compartilhe</a>
</p><br /><hr /><br />]]></content:encoded>
			<wfw:commentRss>http://bitcodes.hrangel.com.br/index.php/instalando-php-mysql-no-iis7-do-vista/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Acessibilidade em .NET #1 - Preenchendo o Alt de um asp:Hyperlink</title>
		<link>http://bitcodes.hrangel.com.br/index.php/acessibilidade-em-net-1-preenchendo-o-alt-de-um-asphyperlink/</link>
		<comments>http://bitcodes.hrangel.com.br/index.php/acessibilidade-em-net-1-preenchendo-o-alt-de-um-asphyperlink/#comments</comments>
		<pubDate>Wed, 28 Nov 2007 09:56:00 +0000</pubDate>
		<dc:creator>Rangel</dc:creator>
		
	<dc:subject>.NET</dc:subject>
	<dc:subject>acessibilidade</dc:subject>
	<dc:subject>c#</dc:subject>
		<guid isPermaLink="false">http://bitcodes.hrangel.com.br/index.php/acessibilidade-em-net-1-preenchendo-o-alt-de-um-asphyperlink/</guid>
		<description><![CDATA[Come&#231;ando uma s&#233;rie de posts r&#225;pidos sobre como utilizar ASP.NET e manter seu site correto de acordo com os padr&#245;es de acessibilidade do WCAG, hoje vou mostrar como fazer com que um asp:Hyperlink (que usa imagem) mostrar o atributo AlternateText - mais conhecido como alt pra quem trabalha com HTML.
O asp:Hyperlink &#233; ideal para quando [...]]]></description>
			<content:encoded><![CDATA[<p>Come&ccedil;ando uma s&eacute;rie de posts r&aacute;pidos sobre como utilizar <strong>ASP.NET</strong> e manter seu site correto de acordo com os padr&otilde;es de <strong>acessibilidade</strong> do <a href="http://www.w3.org/TR/WAI-WEBCONTENT/" title="WCAG 1.0" target="_blank">WCAG</a>, hoje vou mostrar como fazer com que um <strong>asp:Hyperlink</strong> (que usa imagem) mostrar o atributo <strong>AlternateText</strong> - mais conhecido como alt pra quem trabalha com HTML.</p>
<p>O <strong>asp:Hyperlink</strong> &eacute; ideal para quando queremos fazer um link simples para outra p&aacute;gina que n&atilde;o exige a&ccedil;&atilde;o em code-behind (Server-Side) mas que esse link seja din&acirc;mico, pois &eacute; mais f&aacute;cil trabalhar com os componentes (webcontrols) j&aacute; criados.</p>
<p>Para isso o Hyperlink conta com um atributo chamado <strong>NavigateUrl</strong>, que, como o pr&oacute;prio nome diz, &eacute; onde voc&ecirc; deve preencher a URL alvo do seu Link, seja programaticamente ou fixo no pr&oacute;prio ASPX.</p>
<p>Agora vem o X da quest&atilde;o caso voc&ecirc; queira fazer um link usando imagem (sem ter a&ccedil;&atilde;o server side) &eacute; s&oacute; preencher o atributo <strong>ImageUrl</strong> com o endere&ccedil;o da imagem, e para que o <strong>alt</strong> da imagem (que vai ser retornado para o browser) venha preenchido basta setar o valor desejado no atributo Text do <strong>asp:Hyperlink</strong>.</p>
<p>Tranquilo n&atilde;o?</p>
<p>Preenchendo isso al&eacute;m de seguir os padr&otilde;es da <strong>W3C</strong> o seu site ainda fica mais acess&iacute;vel, <strike>ou seja, mais visitas para ele e mais chances de clicks do adsense</strike>, h&aacute; ainda muitas outras formas de melhorarmos a <strong>acessibilidade</strong> com <strong>ASP.NET</strong>, vou tentar escrever pelo menos uma por dia.</p>
<p>Enquanto isso leiam os textos do <a href="http://brunotorres.net/" target="_blank" title="BrunoTorres Blog">BrunoTorres</a> e do grupo <a href="http://acessodigital.net/" title="Grupo AcessoDigital, website com artigos e informa&ccedil;&otilde;es sobre acessibilidade" target="_blank">AcessoDigital</a>, ambos tem informa&ccedil;&otilde;es valiosas sobre acessibilidade, e se sobrar um tempinho d&ecirc;em um pulo no <a href="http://www.hrangel.com.br" title="Rangel Avulso Blog">meu outro blog de id&eacute;ias Avulsas</a>.</p>
<p><strong>[UPDATE]</strong>Outro site muito legal para acessar &eacute; o <a href="http://www.bengalalegal.com/" title="Bengala Legal" target="_blank">BengalaLegal do MAQ</a>.<strong>[/UPDATE]</strong></p>
<p>At&eacute;!</p>
<p>0100100001010010</p>
<p class="akst_link"><a href="http://bitcodes.hrangel.com.br/?p=16&amp;akst_action=share-this"  title="Evie por email, adicione ao del.icio.us, etc." id="akst_link_16" class="akst_share_link">Compartilhe</a>
</p><br /><hr /><br />]]></content:encoded>
			<wfw:commentRss>http://bitcodes.hrangel.com.br/index.php/acessibilidade-em-net-1-preenchendo-o-alt-de-um-asphyperlink/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Reduzindo o ViewState</title>
		<link>http://bitcodes.hrangel.com.br/index.php/reduzindo-o-viewstate/</link>
		<comments>http://bitcodes.hrangel.com.br/index.php/reduzindo-o-viewstate/#comments</comments>
		<pubDate>Fri, 03 Aug 2007 10:38:52 +0000</pubDate>
		<dc:creator>Rangel</dc:creator>
		
	<dc:subject>c#</dc:subject>
	<dc:subject>programação</dc:subject><dc:subject>development</dc:subject><dc:subject>optimization</dc:subject><dc:subject>programming</dc:subject><dc:subject>ViewState</dc:subject><dc:subject>webdevelopment</dc:subject>
		<guid isPermaLink="false">http://bitcodes.hrangel.com.br/index.php/reduzindo-o-viewstate/</guid>
		<description><![CDATA[N&#227;o sou muito f&#227; de tecnologias Microsoft, mas acho que o .NET tem l&#225; suas vantagens, uma delas pode ser o ViewState, se voc&#234; est&#225; se perguntando por que o &#8220;pode ser&#8221; &#233; bem simples, quando seu ViewState sai do controle pode ter certeza, que seus clientes ou usu&#225;rios v&#227;o come&#231;ar a reclamar de lentid&#227;o
1 [...]]]></description>
			<content:encoded><![CDATA[<p>N&atilde;o sou muito f&atilde; de tecnologias Microsoft, mas acho que o .NET tem l&aacute; suas vantagens, uma delas pode ser o ViewState, se voc&ecirc; est&aacute; se perguntando por que o &#8220;pode ser&#8221; &eacute; bem simples, quando seu <strong>ViewState</strong> sai do controle pode ter certeza, que seus clientes ou usu&aacute;rios v&atilde;o come&ccedil;ar a reclamar de lentid&atilde;o</p>
<p>1 - O que &eacute; <strong>ViewState</strong></p>
<p>ViewState &eacute; a tecnologia utilizada pelo .NET da Microsoft  para facilitar a vida dos desenvolvedores, a funcionalidade b&aacute;sica dele &eacute; manter dados (ou configura&ccedil;&otilde;es) da p&aacute;gina entre postbacks (reload), como textos din&acirc;micos que s&atilde;o alterados de acordo com alguma a&ccedil;&atilde;o na p&aacute;gina, ou linhas de um grid que mudam a formata&ccedil;&atilde;o dependendo dos dados que s&acirc;o inseridos nela.</p>
<p>2 - Como &eacute; na pr&aacute;tica (se voc&ecirc; n&atilde;o estiver interessado na implementa&ccedil;&atilde;o v&aacute; para o item 3)</p>
<p>O .NET cria (ou renderiza) em sua p&aacute;gina algumas fun&ccedil;&otilde;es JavaScript e alguns componentes escondidos (input hidden do html), em um deles &eacute; feita a m&aacute;gica do ViewState onde os dados s&acirc;o encriptados e formam uma grande String, quando sua p&aacute;gina efetua um PostBack, o .NET decripta esses dados e recarrega suas configura&ccedil;&otilde;es nos devidos locais.</p>
<p>3 - Me mostre o problema</p>
<p>O problema &eacute; quando come&ccedil;camos a usar o <strong>ViewState </strong>demais guardando objetos (sim voc&ecirc; pode guardar, desde que sejam Serializable) , ou at&eacute; informa&ccedil;&atilde;o demais, j&aacute; vi gente guardar a mesma lista que tinha em uma tabela l&aacute;.  O ViewState come&ccedil;a a ficar grande demais e derrubando a performance da p&aacute;gina (localmente tudo parece perfeito - em 99% dos casos).</p>
<p>4 - Como resolver e <strong>reduzir </strong>o <strong>ViewState</strong></p>
<p>A&iacute; v&atilde;o algumas dicas que aprendi durante o percurso de <strong>ViewState</strong>&#8217;s gigantes (p&aacute;ginas de at&eacute; 1,5 MB)</p>
<p><strong>Coloque no HTML o que &eacute; fixo</strong><br />
Tente deixar o m&aacute;ximo de configura&ccedil;&otilde;es fixas na p&aacute;gina (HTML), Labels, TextBox, Combos que tiverem valores fixos adicione os mesmos direto na p&aacute;gina, adiciona-los programaticamente vai s&oacute; lhe trazer problemas j&aacute; que o ViewState aumentar&aacute; sem necessidade, configura&ccedil;&otilde;es como tamanho, maxlength, cor, ou seja, tudo que n&atilde;o for vari&aacute;vel coloque na pr&oacute;pria p&aacute;gina e importante sete o <strong>EnableViewState</strong> desse componente como <strong>false</strong>.</p>
<p><strong>N&atilde;o para objetos sim para IDs</strong><br />
Troque os objetos (se vierem de algum banco de dados) que voc&ecirc; guarda por ID&#8217;s (algum tipo de c&oacute;digo de identifica&ccedil;&atilde;o) e recarrege eles atrav&eacute;s do banco quando seus dados originais forem necess&aacute;rios.</p>
<p><strong>Se for necess&aacute;rio mesmo use String<br />
</strong>Se for realmente necess&aacute;rio usar o <strong>ViewState </strong>procure pelo menos salvar sempre <strong>String</strong>s, o porque disso &eacute; que o ViewState (na verdade a classe que faz o Encoding) dos objetos no ViewState &eacute; feita para Strings, por exemplo, salvar um array de n&uacute;meros &eacute; muito melhor (e menor) feito se eles forem em String do que em int.</p>
<p>Essas s&atilde;o as dicas b&aacute;sicas, achei boas refr&ecirc;ncias para melhorar diverseos componentes, um deles ( e o que faz muita  diferen&ccedil;a) &eacute; o <a href="http://www.codeproject.com/aspnet/DataGridViewState.asp" title="DataGrid's ViewState optimization" target="_blank">Datagrid que voc&ecirc; encontrar&aacute; boas informa&ccedil;&otilde;es (em ingl&ecirc;s) no CodeProject</a>.</p>
<p>Saiba Mais (<strong>recomendo</strong>)<a href="http://www.codeproject.com/aspnet/hmvsiooc.asp" title="Help! My ViewState Is Out Of Control" target="_blank">:<br />
Help! My ViewState Is Out Of Control</a><br />
<a href="http://www.codeproject.com/aspnet/DataGridViewState.asp" title="DataGrid's ViewState optimization" target="_blank">DataGrid&#8217;s ViewState optimization</a></p>
<p>Qualquer d&uacute;vida pode me perguntar que estamos ai pra isso!</p>
<p>At&eacute;!</p>
<p>0100100001010010</p>
<p class="akst_link"><a href="http://bitcodes.hrangel.com.br/?p=15&amp;akst_action=share-this"  title="Evie por email, adicione ao del.icio.us, etc." id="akst_link_15" class="akst_share_link">Compartilhe</a>
</p><br /><hr /><br />]]></content:encoded>
			<wfw:commentRss>http://bitcodes.hrangel.com.br/index.php/reduzindo-o-viewstate/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Assembly Strong Naming, Assinando sua DLL</title>
		<link>http://bitcodes.hrangel.com.br/index.php/assembly-strong-naming-assinando-sua-dll/</link>
		<comments>http://bitcodes.hrangel.com.br/index.php/assembly-strong-naming-assinando-sua-dll/#comments</comments>
		<pubDate>Tue, 31 Jul 2007 21:59:00 +0000</pubDate>
		<dc:creator>Rangel</dc:creator>
		
	<dc:subject>c#</dc:subject>
	<dc:subject>programação</dc:subject>
		<guid isPermaLink="false">http://bitcodes.hrangel.com.br/index.php/assembly-strong-naming-assinando-sua-dll/</guid>
		<description><![CDATA[Assinar  uma DLL &#233; bem simples, e como todo bom programador vou direto ao ponto.
No VS 2003
1 - Crie um arquivo com uma key usando o sn.exe via linha de comando, por exemplo:
A - Iniciar &#62; Executar &#62; cmd
B - Acesse a pasta PastadoVS2003\SDK\v1.1\Bin
C -Execute:
sn -k MinhaKey.snk
Pronto, arquivo criado chamando MinhaKey.snk na mesma pasta
2 [...]]]></description>
			<content:encoded><![CDATA[<p>Assinar  uma DLL &eacute; bem simples, e como todo bom programador vou direto ao ponto.</p>
<p><strong>No VS 2003</strong></p>
<p>1 - Crie um arquivo com uma key usando o <span alt="Local: PastadoVS2003/" style="cursor: crosshair">sn.exe</span> via linha de comando, por exemplo:<br />
A - Iniciar &gt; Executar &gt; cmd<br />
B - Acesse a pasta PastadoVS2003\SDK\v1.1\Bin<br />
C -Execute:<br />
<code class="prettyprint">sn -k MinhaKey.snk</code></p>
<p>Pronto, arquivo criado chamando MinhaKey.snk na mesma pasta</p>
<p>2 - Agora copie para onde voc&ecirc; quiser (eu copio normalmente para a raiz do Projeto)</p>
<p>3 - Fa&ccedil;a o Link para o Assembly.cs ou Assembly.vb, exemplo (em c# pois trabalho com ela) adicionado essas linhas no final do arquivo (se j&aacute; existirem substitua, claro):<code class="prettyprint"><br />
[assembly: AssemblyDelaySign(true)]<br />
[assembly: AssemblyKeyFile("..\\..\\MinhaKey.snk")]<br />
</code><br />
Estou usando o &#8220;..\\..\\&#8221; pois o compilador sempre vai verificar a refer&ecirc;ncia a partir do diret&oacute;rio de compila&ccedil;&atilde;o. que no meu caso &eacute; bin/Release.</p>
<p><strong>No VS 2005</strong></p>
<p>1 - Clique com o bot&atilde;o direito no Projeto e depois em Properties<br />
2 - V&aacute; at&eacute; a aba Signing<br />
3 - Selecione &#8220;Sign the assembly&#8221; e se voc&ecirc; n&atilde;o tiver um arquivo .snk (veja passo 1 do VS2003) basta selecionar a op&ccedil;&atilde;o New</p>
<p>Basicamente &eacute; isso, se voc&ecirc; tiver mais algumas d&uacute;vidas deixe coment&aacute;rios ou entre em contato via email.<br />
Outras refer&ecirc;ncias mais complicadas mas mais detalhadas:<br />
<a href="http://www.ondotnet.com/pub/a/dotnet/2003/04/28/strongnaming.html" title="The Secrets of Strong Naming" target="_blank">The Secrets of Strong Naming</a></p>
<p>At&eacute;!</p>
<p>0100100001010010</p>
<p class="akst_link"><a href="http://bitcodes.hrangel.com.br/?p=14&amp;akst_action=share-this"  title="Evie por email, adicione ao del.icio.us, etc." id="akst_link_14" class="akst_share_link">Compartilhe</a>
</p><br /><hr /><br />]]></content:encoded>
			<wfw:commentRss>http://bitcodes.hrangel.com.br/index.php/assembly-strong-naming-assinando-sua-dll/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Developer Apps #1 - Notepad++</title>
		<link>http://bitcodes.hrangel.com.br/index.php/developer-apps-1-notepad/</link>
		<comments>http://bitcodes.hrangel.com.br/index.php/developer-apps-1-notepad/#comments</comments>
		<pubDate>Tue, 12 Jun 2007 01:15:49 +0000</pubDate>
		<dc:creator>Rangel</dc:creator>
		
	<dc:subject>programação</dc:subject>
	<dc:subject>Outros</dc:subject>
		<guid isPermaLink="false">http://bitcodes.hrangel.com.br/index.php/developer-apps-1-notepad/</guid>
		<description><![CDATA[Para aqueles desenvolvedores que est&#227;o cansados de abrir seus arquivos com c&#243;digo-fonte e n&#227;o querem ter que esperar abrir na sua IDE que demora pra carregar habitual (para casos que precisamos vizualizar o arquivo apensar para tirar um d&#250;vida ou confirmar se um c&#243;digo se encontra l&#225;), eis a resposta: Notepad++
Como o pr&#243;prio nome j&#225; [...]]]></description>
			<content:encoded><![CDATA[<p>Para aqueles desenvolvedores que est&atilde;o cansados de abrir seus arquivos com c&oacute;digo-fonte e n&atilde;o querem ter que esperar abrir na sua IDE <strike>que demora pra carregar</strike> habitual (para casos que precisamos vizualizar o arquivo apensar para tirar um d&uacute;vida ou confirmar se um c&oacute;digo se encontra l&aacute;), eis a resposta: <a href="http://notepad-plus.sourceforge.net/" title="Notepad++" target="_blank">Notepad++</a></p>
<p>Como o pr&oacute;prio nome j&aacute; diz &eacute; um Notepad Turbinado.  Traz al&eacute;m das fun&ccedil;&otilde;es b&aacute;sicas de um editor de texto <strong>leve</strong> e eficiente, fun&ccedil;&otilde;es excelentes para desenvolvedores de maneira geral, mas ainda mais para desenvolvedores Web (leia php, asp, html ou css) que n&atilde;o precisam recompilar c&oacute;digos.</p>
<p>O programa conta com funcionalidades como auto-complete de fun&ccedil;&otilde;es para diversas linguages (na verdade para a maioria que eu conhe&ccedil;o), fun&ccedil;&otilde;es de auto identa&ccedil;&atilde;o al&eacute;m de dar a possibilidade de highlight do c&oacute;digo por cores, tudo isso em uma interface limpa e de f&aacute;cil personaliza&ccedil;&atilde;o.</p>
<p>O programa j&aacute; conta com uma s&eacute;rie de plugins (muitos deles j&aacute; est&atilde;o por padr&atilde;o na vers&atilde;o do programa), e aparentemente &eacute; f&aacute;cil para criar novos (para aqueles que tem conhecimento em C).</p>
<p>Para melhorar ainda mais o download &eacute; free por se tratar de um projeto Open Source, muito aconselhado como editor r&aacute;pido da grande maioria de arquivos de texto das in&uacute;meras linguagens que conhecemos, para os <strike>programadores</strike> desenvolvedores de sistema que necessitam sempre daquela altera&ccedil;&atilde;o r&aacute;pida e de &uacute;ltima hora com o sistema j&aacute; publicado.</p>
<p>O download pode ser feito <a href="http://notepad-plus.sourceforge.net/uk/download.php" title="Notepad++ Download" target="_blank">aqui</a> e para aqueles que quiserem ver algumas imagens antes de fazer downloads acesse <a href="http://notepad-plus.sourceforge.net/uk/screenshots.php" title="Notepad++ Screenshots" target="_blank">a p&aacute;gina de screenshots</a>.</p>
<p>Muito aconselh&aacute;vel, n&atilde;o consigo parar de usar.</p>
<p class="akst_link"><a href="http://bitcodes.hrangel.com.br/?p=13&amp;akst_action=share-this"  title="Evie por email, adicione ao del.icio.us, etc." id="akst_link_13" class="akst_share_link">Compartilhe</a>
</p><br /><hr /><br />]]></content:encoded>
			<wfw:commentRss>http://bitcodes.hrangel.com.br/index.php/developer-apps-1-notepad/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Calendário Cross-Browser em JavaScript</title>
		<link>http://bitcodes.hrangel.com.br/index.php/calendario-cross-browser-em-javascript/</link>
		<comments>http://bitcodes.hrangel.com.br/index.php/calendario-cross-browser-em-javascript/#comments</comments>
		<pubDate>Wed, 17 Jan 2007 14:42:46 +0000</pubDate>
		<dc:creator>Rangel</dc:creator>
		
	<dc:subject>javascript</dc:subject>
		<guid isPermaLink="false">http://bitcodes.hrangel.com.br/index.php/calendario-cross-browser-em-javascript/</guid>
		<description><![CDATA[Post r&#225;pido sobre um link muito interessante que eu achei e j&#225; usei hoje:
Uma excelente library com um calend&#225;rio para campos text em que voc&#234; quer preencher com data formatada, al&#233;m de ser um calend&#225;rio super bem feito ele tamb&#233;m preenche campos select se for preciso.
Eu testei ele em um dos meus projeto e &#233; [...]]]></description>
			<content:encoded><![CDATA[<p>Post r&aacute;pido sobre um link muito interessante que eu achei e j&aacute; usei hoje:</p>
<p>Uma excelente library com <a target="_blank" title="Calend&aacute;rio" href="http://www.dhtmlgoodies.com/scripts/js_calendar/js_calendar.html">um calend&aacute;rio para campos text</a> em que voc&ecirc; quer preencher com data formatada, al&eacute;m de ser um calend&aacute;rio super bem feito ele tamb&eacute;m preenche campos select se for preciso.</p>
<p>Eu testei ele em um dos meus projeto e &eacute; muito f&aacute;cil de usar basta adicionar uma fun&ccedil;&atilde;o passando qual o(s) campos de data e por &uacute;ltimo qual o item chamando a fun&ccedil;&atilde;o (&#8221;this&#8221;).</p>
<p>Bem f&aacute;cil, bonito e o mais importante, <strong>compat&iacute;vel</strong> com qualquer browser (leia Firefox e IE que foi onde eu testei).</p>
<p>Produzido por Alf Magne Kalleland (n&atilde;o achei sua p&aacute;gina) e encontrado no <a target="_blank" title="Hot Scripts - JS Calendar" href="http://www.hotscripts.com/Detailed/53909.html">HotScripts</a>.</p>
<p>Espero que ajude.</p>
<p>Abra&ccedil;os</p>
<p class="akst_link"><a href="http://bitcodes.hrangel.com.br/?p=11&amp;akst_action=share-this"  title="Evie por email, adicione ao del.icio.us, etc." id="akst_link_11" class="akst_share_link">Compartilhe</a>
</p><br /><hr /><br />]]></content:encoded>
			<wfw:commentRss>http://bitcodes.hrangel.com.br/index.php/calendario-cross-browser-em-javascript/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Substituto da Session</title>
		<link>http://bitcodes.hrangel.com.br/index.php/substituto-da-session/</link>
		<comments>http://bitcodes.hrangel.com.br/index.php/substituto-da-session/#comments</comments>
		<pubDate>Tue, 16 Jan 2007 15:26:36 +0000</pubDate>
		<dc:creator>Rangel</dc:creator>
		
	<dc:subject>c#</dc:subject>
	<dc:subject>java</dc:subject>
	<dc:subject>programação</dc:subject>
		<guid isPermaLink="false">http://bitcodes.hrangel.com.br/index.php/substituto-da-session/</guid>
		<description><![CDATA[Bom, ai vai uma dica r&#225;pida e que muita gente j&#225; deve conhecer, mas como eu j&#225; vi em muitos lugares esse tipo de erro ent&#227;o vou falar:
O uso da session n&#227;o pode ser indiscriminado, as vari&#225;veis guardadas na sess&#227;o ficam salvas no servidor, assim como as de contexto da aplica&#231;&#227;o, logo se voc&#234; guardar [...]]]></description>
			<content:encoded><![CDATA[<p>Bom, ai vai uma dica r&aacute;pida e que muita gente j&aacute; deve conhecer, mas como eu j&aacute; vi em muitos lugares esse tipo de erro ent&atilde;o vou falar:</p>
<p>O uso da session n&atilde;o pode ser indiscriminado, as vari&aacute;veis guardadas na sess&atilde;o ficam salvas no servidor, assim como as de contexto da aplica&ccedil;&atilde;o, logo se voc&ecirc; guardar muita coisa em ambos vai acabar com a mem&oacute;ria do servidor.</p>
<p>Um jeito de diminuir bem o uso dela &eacute; ao inv&eacute;s de salvar vari&aacute;veis na session que voc&ecirc; quer utilizar entre p&aacute;ginas ou entre PostBacks (Reloads para quem mexe com java) &eacute; salvar o conte&uacute;do de alguma maneira na p&aacute;gina.</p>
<p>No C# voc&ecirc; pode usar o ViewState para guardar essas vari&aacute;veis desse jeito voc&ecirc; poder&aacute; resgatar objetos mesmo ap&oacute;s o PostBack (lembre-se que todas as vari&aacute;veis devem ser Serializable), no Java voc&ecirc; pode fazer a mesma coisa utilizando de hiddens no HTML (pelo menos &eacute; como eu fa&ccedil;o), entretanto voc&ecirc; continua n&atilde;o podendo mandar de uma p&aacute;gina para outra, para isso voc&ecirc; pode (tanto em Java como em C#) mandar um par&acirc;metro via Get (na Query String da URL) ou via Post.</p>
<p>Em um dos pr&oacute;ximos posts vou mostrar como enviar par&acirc;metros para outra p&aacute;gina via Post.</p>
<p>Abs</p>
<p class="akst_link"><a href="http://bitcodes.hrangel.com.br/?p=10&amp;akst_action=share-this"  title="Evie por email, adicione ao del.icio.us, etc." id="akst_link_10" class="akst_share_link">Compartilhe</a>
</p><br /><hr /><br />]]></content:encoded>
			<wfw:commentRss>http://bitcodes.hrangel.com.br/index.php/substituto-da-session/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Scroll da página com JavaScript</title>
		<link>http://bitcodes.hrangel.com.br/index.php/scroll-da-pagina-com-javascript/</link>
		<comments>http://bitcodes.hrangel.com.br/index.php/scroll-da-pagina-com-javascript/#comments</comments>
		<pubDate>Fri, 12 Jan 2007 15:50:25 +0000</pubDate>
		<dc:creator>Rangel</dc:creator>
		
	<dc:subject>Outros</dc:subject>
		<guid isPermaLink="false">http://bitcodes.hrangel.com.br/index.php/scroll-da-pagina-com-javascript/</guid>
		<description><![CDATA[Bom, post r&#225;pido e simples, dica usada recentemente para fazer um scroll da p&#225;gina at&#233; um certo elemento, segue c&#243;digo da funcion criada para isso:
 function scrollPage(sID)
{
var objElement = document.getElementById(sID);
if (objElement != null)
{
objElement.scrollIntoView();
}
} 
Espero que possa ajudar!  Abs
Compartilhe
]]></description>
			<content:encoded><![CDATA[<p>Bom, post r&aacute;pido e simples, dica usada recentemente para fazer um scroll da p&aacute;gina at&eacute; um certo elemento, segue c&oacute;digo da funcion criada para isso:</p>
<p><code class="prettyprint"> function scrollPage(sID)<br />
{<br />
var objElement = document.getElementById(sID);<br />
if (objElement != null)<br />
{<br />
objElement.scrollIntoView();<br />
}<br />
} </code></p>
<p>Espero que possa ajudar!  Abs</p>
<p class="akst_link"><a href="http://bitcodes.hrangel.com.br/?p=9&amp;akst_action=share-this"  title="Evie por email, adicione ao del.icio.us, etc." id="akst_link_9" class="akst_share_link">Compartilhe</a>
</p><br /><hr /><br />]]></content:encoded>
			<wfw:commentRss>http://bitcodes.hrangel.com.br/index.php/scroll-da-pagina-com-javascript/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tutorial: Eclipse + Processing</title>
		<link>http://bitcodes.hrangel.com.br/index.php/tutorial-eclipse-processing/</link>
		<comments>http://bitcodes.hrangel.com.br/index.php/tutorial-eclipse-processing/#comments</comments>
		<pubDate>Tue, 02 Jan 2007 22:03:31 +0000</pubDate>
		<dc:creator>Rangel</dc:creator>
		
	<dc:subject>visual</dc:subject>
	<dc:subject>processing</dc:subject>
	<dc:subject>java</dc:subject>
	<dc:subject>programação</dc:subject>
		<guid isPermaLink="false">http://bitcodes.hrangel.com.br/index.php/tutorial-eclipse-processing/</guid>
		<description><![CDATA[Bom, aqui vai um pequeno, r&#225;pido e indolor tutorial para aqueles que conheceram e gostaram do Processing e querem programa-lo usando o Eclipse.  Eu achei essa forma nesse site gringo (por sinal l&#225; tem uma explica&#231;&#227;o melhor, em ingles claro) faz um tempo, me ajudou muito pois o Eclipse &#233;, na minha opni&#227;o, a [...]]]></description>
			<content:encoded><![CDATA[<p>Bom, aqui vai um pequeno, r&aacute;pido e indolor tutorial para aqueles que conheceram e gostaram do <a title="Processing" target="_blank" href="http://www.processing.org">Processing</a> e querem programa-lo usando o <a title="Eclipse" target="_blank" href="http://www.eclipse.org/">Eclipse</a>.  Eu achei essa forma <a href="http://proce55ing.net/discourse/yabb/YaBB.cgi?board=general;action=display;num=1072722668;">nesse site gringo</a> (por sinal l&aacute; tem uma explica&ccedil;&atilde;o melhor, em ingles claro) faz um tempo, me ajudou muito pois o Eclipse &eacute;, na minha opni&atilde;o, a melhor IDE para programar em Java.  Vamos l&aacute;:</p>
<p>1 - Baixe o Eclipse</p>
<p>2 - Baixe o Processing</p>
<p>3 - Criando um projeto Processing no Eclipse</p>
<ul>
<li>Abra o eclipse</li>
<li>Clique em File > New > Project</li>
<li>Selecione &#8220;Java Project&#8221;</li>
<li>Siga os passos para criar o projeto em si</li>
<li>N&atilde;o esque&ccedil;a de configurar a pasta de arquivos fonte (.java) em um local diferente da pasta de arquivos compilados (.class)</li>
<li>No novo projeto, crie dois arquivos na raiz: <a href="http://bitcodes.hrangel.com.br/wp-content/uploads/2007/01/build.properties">build.properties</a> e <a href="http://bitcodes.hrangel.com.br/wp-content/uploads/2007/01/build.xml">build.xml</a></li>
</ul>
<p>4 - Adicione o arquivo core.jar nas libraries do projeto<br />
Encontra-se dentro da sua pasta do processing na pasta lib)</p>
<p>5 - Configurando <a href="http://bitcodes.hrangel.com.br/wp-content/uploads/2007/01/build.properties">build.properties</a>:<br />
Nesse arquivo voc&ecirc; faz algumas configura&ccedil;&otilde;s b&aacute;sicas, coloca o nome do Projeto e as dimens&otilde;es do applet</p>
<p>6 - Configurando <a href="http://bitcodes.hrangel.com.br/wp-content/uploads/2007/01/build.xml">build.xml</a>:<br />
Aqui &eacute; o cora&ccedil;&atilde;o do builder de Jar, a &uacute;nica altera&ccedil;&atilde;o que voc&ecirc; deve fazer nesse arquivo &eacute; alterar o nome do Projeto e a descri&ccedil;&atilde;o nas primeiras linhas e adicionar as Jars que voc&ecirc; usa nas libraries do projeto, usando esse formato e a partir da linha 51 do arquivo. Segue um exemplo:<br />
<code class="prettyprint">&lt;unjar dest="${build}" xsrc="${lib}/gs_applet.jar" mce_src="${lib}/gs_applet.jar" /&gt;</code></p>
<p>7 - Agora basta come&ccedil;ar a programar uma classe derivada de <span style="font-style: italic">PApplet</span> (tem que importar o pacote <span style="font-style: italic">processing.core.*</span>) e na hora que voc&ecirc; quiser criar o arquivo Jar basta clicar com o bot&atilde;o direito do Mouse sobre o build.xml e selecionar Run As > Ant Build</p>
<p>Pronto seu jar j&aacute; est&aacute; pronto para usar em qualquer p&aacute;gina da Web</p>
<p>Algumas dicas: se voc&ecirc; quiser adicionar arquivos no projeto basta criar uma pasta data dentro do projeto e adicionar os arquivos desejados, e s&oacute; para lembrar classe do applet deve ter o mesmo nome do jar (n&atilde;o preciso falar que voc&ecirc; precisa derivar os m&eacute;todos b&aacute;sicos do processing para que tudo seja executado corretamente)<br />
Espero ter ajudado alguma alma perdida!</p>
<p>Abra&ccedil;os</p>
<p class="akst_link"><a href="http://bitcodes.hrangel.com.br/?p=8&amp;akst_action=share-this"  title="Evie por email, adicione ao del.icio.us, etc." id="akst_link_8" class="akst_share_link">Compartilhe</a>
</p><br /><hr /><br />]]></content:encoded>
			<wfw:commentRss>http://bitcodes.hrangel.com.br/index.php/tutorial-eclipse-processing/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
