<?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"
	>

<channel>
	<title>Douglas Cunha</title>
	<atom:link href="http://douglascunha.com/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://douglascunha.com/blog</link>
	<description>Tecnologia, programação e coisas aleatórias</description>
	<pubDate>Sun, 07 Feb 2010 17:15:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>C#: por que tem um &#8220;@&#8221; antes da string?</title>
		<link>http://douglascunha.com/blog/2010/02/c-por-que-tem-um-antes-da-string/</link>
		<comments>http://douglascunha.com/blog/2010/02/c-por-que-tem-um-antes-da-string/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 17:15:34 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[Programação]]></category>

		<category><![CDATA[Linguagens de programação]]></category>

		<category><![CDATA[Manipulação de string]]></category>

		<guid isPermaLink="false">http://douglascunha.com/blog/?p=334</guid>
		<description><![CDATA[Quando você está aprendendo uma linguagem nova, tem coisas que você vê em códigos de exemplo e não sabe sequer como perguntar que raios é aquilo, de tão fora do comum. Isso ocorreu comigo quando eu vi uma arroba antes de uma string. Que raios é isso?
Em strings
Um uso do sinal @ antes da string [...]]]></description>
			<content:encoded><![CDATA[<p>Quando você está aprendendo uma linguagem nova, tem coisas que você vê em códigos de exemplo e não sabe sequer como perguntar que raios é aquilo, de tão fora do comum. Isso ocorreu comigo quando eu vi uma arroba antes de uma string. Que raios é isso?<span id="more-334"></span></p>
<h3>Em strings</h3>
<p>Um uso do sinal <strong>@</strong> antes da string é fazer com que sequüências de escape não sejam usadas naquela string. Por exemplo, quando você escreve um caminho de diretórios, faz assim:</p>
<p><code>string path = "C:\\Windows\\System32";</code></p>
<p>Usando a arroba, você não precisaria duplicar as barras, poderia fazer assim:</p>
<p><code>string path = @"C:\Windows\System";</code></p>
<p>No entanto, dessa forma não é possível representar caracteres especiais na string, como &#8220;<strong>\n</strong>&#8221; e &#8220;<strong>\r</strong>&#8220;.</p>
<p>A linguagem Python usa uma sintaxe semelhante para informar que uma string é Unicode, prefixando a string com a letra &#8220;u&#8221;.</p>
<h3>Em variáveis</h3>
<p>Além das strings, é possível usar <strong>@</strong> prefixando variáveis também. Obviamente, seu significado muda.</p>
<p>Há palavras reservadas na lingugagem. Quando uma palavra é reservada, não é possível criar identificadores (variáveis, classes, métodos&#8230;) com seu nome. O código abaixo causaria erro:</p>
<p><code>bool new = true;</code></p>
<p><strong>new</strong> é uma palavra reservada. O compilador não entenderia como uma variável, e sim como o operador <strong>new</strong>, para instanciar novos objetos e causaria erro. Mas fazendo:</p>
<p><code>bool @new = true</code></p>
<p>o compilador é forçado a entender a palavra <strong>new</strong> no código como o nome de um identificador. No entanto, não aconselho essa prática, pois além de necessitar do uso de <strong>@</strong> sempre que a variável for usada você pode causar erros difíceis de identificar nos momentos em que esquecer de colocar a <strong>@</strong>.<br />
<h3>Posts relacionados</h3>
<ul class="related_post">
<li><a href="http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-tipos-enumerados/" title="C# para programadores Delphi - Tipos enumerados">C# para programadores Delphi - Tipos enumerados</a></li>
<li><a href="http://douglascunha.com/blog/2010/02/c-declarando-enumeracoes/" title="C# - Declarando enumerações">C# - Declarando enumerações</a></li>
<li><a href="http://douglascunha.com/blog/2009/11/delphi-como-dar-foco-no-proximo-controle-da-tela/" title="Delphi - Como dar foco no próximo controle da tela">Delphi - Como dar foco no próximo controle da tela</a></li>
<li><a href="http://douglascunha.com/blog/2009/08/sinais-de-que-voce-e-um-programador-ruim/" title="Sinais de que você é um programador ruim">Sinais de que você é um programador ruim</a></li>
<li><a href="http://douglascunha.com/blog/2009/05/ruby-em-exemplos/" title="Ruby em exemplos">Ruby em exemplos</a></li>
<li><a href="http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-namespaces/" title="C# para programadores Delphi - Namespaces">C# para programadores Delphi - Namespaces</a></li>
<li><a href="http://douglascunha.com/blog/2009/10/manipulacao-de-imagens-usando-imagemagick/" title="Manipulação de imagens usando ImageMagick">Manipulação de imagens usando ImageMagick</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/cancelando-eventos-em-javascript/" title="Cancelando eventos em JavaScript">Cancelando eventos em JavaScript</a></li>
<li><a href="http://douglascunha.com/blog/2009/03/compartilhando-a-conexao-a-internet-usando-linux/" title="Compartilhando a conexão à internet usando Linux">Compartilhando a conexão à internet usando Linux</a></li>
<li><a href="http://douglascunha.com/blog/2009/01/php-nao-e-coisa-de-moleque/" title="PHP não é (mais) coisa de moleque">PHP não é (mais) coisa de moleque</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglascunha.com/blog/2010/02/c-por-que-tem-um-antes-da-string/feed/</wfw:commentRss>
		</item>
		<item>
		<title>C# - Declarando enumerações</title>
		<link>http://douglascunha.com/blog/2010/02/c-declarando-enumeracoes/</link>
		<comments>http://douglascunha.com/blog/2010/02/c-declarando-enumeracoes/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 01:51:31 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[Programação]]></category>

		<category><![CDATA[Linguagens de programação]]></category>

		<guid isPermaLink="false">http://douglascunha.com/blog/?p=331</guid>
		<description><![CDATA[Há algum tempo publiquei um post comparando as formas de usar elementos de uma enumeração em Delphi e em C#. Mas esqueci de mencionar como um tipo enumerado é declarado usando C#, apenas mostrei como usar os já existentes.

É bastante semelhante à declaração de uma classe.
Exemplo:
public enum Frutas {
Banana,
Laranja,
Abacaxi
}
Primeiro vem o indicador de visibilidade do [...]]]></description>
			<content:encoded><![CDATA[<p>Há algum tempo publiquei um post comparando as formas de usar elementos de uma enumeração em Delphi e em <strong>C#</strong>. Mas esqueci de mencionar como um tipo enumerado é declarado usando C#, apenas mostrei como usar os já existentes.</p>
<p><span id="more-331"></span></p>
<p>É bastante semelhante à declaração de uma classe.</p>
<p>Exemplo:</p>
<p><code>public enum Frutas {<br />
Banana,<br />
Laranja,<br />
Abacaxi<br />
}</code></p>
<p>Primeiro vem o indicador de visibilidade do tipo (no caso, public), depois a palavra-chave <strong>enum</strong> e o nome do tipo. Como mencionado no outro post, o nome do tipo é usado para acessar os itens, diferentemente do uso em Delphi.</p>
<p>É possível também especificar valores inteiros explícitos para cada item da enumercação:</p>
<p><code>public enum Frutas {<br />
Banana = 1,<br />
Laranja = 2,<br />
Abacaxi = 3<br />
}</code><br />
<h3>Posts relacionados</h3>
<ul class="related_post">
<li><a href="http://douglascunha.com/blog/2010/02/c-por-que-tem-um-antes-da-string/" title="C#: por que tem um &#8220;@&#8221; antes da string?">C#: por que tem um &#8220;@&#8221; antes da string?</a></li>
<li><a href="http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-tipos-enumerados/" title="C# para programadores Delphi - Tipos enumerados">C# para programadores Delphi - Tipos enumerados</a></li>
<li><a href="http://douglascunha.com/blog/2009/11/delphi-como-dar-foco-no-proximo-controle-da-tela/" title="Delphi - Como dar foco no próximo controle da tela">Delphi - Como dar foco no próximo controle da tela</a></li>
<li><a href="http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-namespaces/" title="C# para programadores Delphi - Namespaces">C# para programadores Delphi - Namespaces</a></li>
<li><a href="http://douglascunha.com/blog/2009/08/sinais-de-que-voce-e-um-programador-ruim/" title="Sinais de que você é um programador ruim">Sinais de que você é um programador ruim</a></li>
<li><a href="http://douglascunha.com/blog/2009/05/ruby-em-exemplos/" title="Ruby em exemplos">Ruby em exemplos</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglascunha.com/blog/2010/02/c-declarando-enumeracoes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>C# para programadores Delphi - Forms (VCL vs. Windows.Forms)</title>
		<link>http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-forms-vcl-vs-windowsforms/</link>
		<comments>http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-forms-vcl-vs-windowsforms/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 17:54:11 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://douglascunha.com/blog/?p=327</guid>
		<description><![CDATA[Há no site da Embarcadero um artigo comparando os formulários do Delphi com os formulários do C#Builder, um outro produto da empresa, baseado na linguagem C# e no .NET Framework.
Mesmo sendo a princípio uma comparação das duas ferramentas, a discussão acaba ficando focada nas diferenças entre os forms, que são de duas bibliotecas de classes [...]]]></description>
			<content:encoded><![CDATA[<p>Há no site da Embarcadero um artigo comparando os formulários do Delphi com os formulários do C#Builder, um outro produto da empresa, baseado na linguagem C# e no .NET Framework.</p>
<p>Mesmo sendo a princípio uma comparação das duas ferramentas, a discussão acaba ficando focada nas diferenças entre os forms, que são de duas bibliotecas de classes diferentes (VCL para o Delphi, Windows.Forms para o C#Builder). Recomendo a leitura para programadores Delphi que estejam começando no .NET ou querendo começar. O artigo passa longe de esgotar o assunto, mas comparações usam seu conhecimento anterior para &#8220;alavancar&#8221; o aprendizado, e esse pode servir como bom ponto de partida.</p>
<p>A abordagem usada não é específica da ferramenta da Embarcadero. Ela foca no framework, e portanto pode ser aplicada usando C#Builder, MS Visual Studio ou qualquer outra ferramenta de desenvolvimento com suporte a Windows.Forms.</p>
<p>Link para o artigo: <a title="Comparing and contrasting C#Builder and Delphi forms" href="http://edn.embarcadero.com/en/article/30288">Comparing and contrasting C#Builder and Delphi forms</a><br />
<h3>Leia também</h3>
<ul class="related_post">
<li><a href="http://douglascunha.com/blog/2008/11/atualizacao-no-script-de-cotacoes-da-bovespa/" title="Atualização no script de cotações da BOVESPA">Atualização no script de cotações da BOVESPA</a></li>
<li><a href="http://douglascunha.com/blog/2008/10/php-passando-arrays-no-formulario/" title="PHP: passando arrays de valores no formulário">PHP: passando arrays de valores no formulário</a></li>
<li><a href="http://douglascunha.com/blog/2008/10/nova-secao-links-uteis/" title="Nova seção: links úteis">Nova seção: links úteis</a></li>
<li><a href="http://douglascunha.com/blog/2009/02/filmes-o-bom-o-mau-e-o-feio/" title="Filmes - O bom, o Mau e o Feio">Filmes - O bom, o Mau e o Feio</a></li>
<li><a href="http://douglascunha.com/blog/2009/02/exit-quebrando-fluxo-cabeca/" title="Exit: quebrando o fluxo e a cabeça">Exit: quebrando o fluxo e a cabeça</a></li>
<li><a href="http://douglascunha.com/blog/2009/05/ruby-em-exemplos/" title="Ruby em exemplos">Ruby em exemplos</a></li>
<li><a href="http://douglascunha.com/blog/2008/10/php-mb_detect_encoding-detectar-unicode/" title="Detectando strings unicode com a função mb_detect_encoding">Detectando strings unicode com a função mb_detect_encoding</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/debian-passa-a-suportar-o-kernel-freebsd/" title="Debian passa a suportar o kernel FreeBSD">Debian passa a suportar o kernel FreeBSD</a></li>
<li><a href="http://douglascunha.com/blog/2008/10/scp-copia-segura-de-arquivos/" title="SCP - cópia segura de arquivos">SCP - cópia segura de arquivos</a></li>
<li><a href="http://douglascunha.com/blog/2008/09/a-web-nao-e-so-o-browser/" title="A web não é só o browser">A web não é só o browser</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-forms-vcl-vs-windowsforms/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Delphi - Como dar foco no próximo controle da tela</title>
		<link>http://douglascunha.com/blog/2009/11/delphi-como-dar-foco-no-proximo-controle-da-tela/</link>
		<comments>http://douglascunha.com/blog/2009/11/delphi-como-dar-foco-no-proximo-controle-da-tela/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 02:54:07 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
		
		<category><![CDATA[Delphi]]></category>

		<category><![CDATA[Programação]]></category>

		<category><![CDATA[Interface]]></category>

		<category><![CDATA[Linguagens de programação]]></category>

		<guid isPermaLink="false">http://douglascunha.com/blog/?p=325</guid>
		<description><![CDATA[Como setar o foco no próximo controle no TabOrder no Delphi.]]></description>
			<content:encoded><![CDATA[<p>Em Delphi é muito fácil dar foco a um controle. Você simplesmente checa se o controle pode receber foco usando a propriedade <strong>CanFocus</strong> e se puder, usa o método <strong>SetFocus</strong> do controle. E a verificação da propriedade <strong>CanFocus</strong>, embora seja bastante negligenciada, evita a bem conhecida exceção &#8220;<em>Cannot focus a disabled or invisible window</em>&#8220;.</p>
<p><span id="more-325"></span>Um recurso relativamente simples e não muito comum é mudar o foco para o próximo controle, simulando o que ocorreria se o usuário pressionasse a tecla <em>Tab</em>. Alguns casos em que se quer fazer isso:</p>
<ul>
<li>Fazer com que o <em>Enter</em> atue como <em>Tab</em> (comum em sistemas antigos ou com usuários acostumados a sistemas <em>Clipper</em> e <em>COBOL</em>)</li>
<li>Evitar que o foco de teclado passe por determinados controles que não possuam a propriedade <strong>TabStop</strong></li>
</ul>
<p>Isso é feito simplesmente chamando o método <strong>SelectNext</strong> do formulário. Por exemplo:</p>
<p><code>Self.SelectNext(Self.ActiveControl, true, true);</code></p>
<p>O primeiro parâmetro informa o controle ativo.</p>
<p>O segundo parâmetro (com valor <em>true</em>) informa que a procura pelo próximo controle é feita &#8220;para frente&#8221;. Para fazer na ordem inversa, é só passar <em>false</em> e então o controle anterior no <em>TabOrder</em> será selecionado.</p>
<p>O terceiro parâmetro, se verdadeiro, informa ao método que a propriedade <strong>TabStop</strong> deve ser respeitada, ou seja, o controle só será considerado se tiver <em>TabStop = true</em>.<br />
<h3>Posts relacionados</h3>
<ul class="related_post">
<li><a href="http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-tipos-enumerados/" title="C# para programadores Delphi - Tipos enumerados">C# para programadores Delphi - Tipos enumerados</a></li>
<li><a href="http://douglascunha.com/blog/2010/02/c-por-que-tem-um-antes-da-string/" title="C#: por que tem um &#8220;@&#8221; antes da string?">C#: por que tem um &#8220;@&#8221; antes da string?</a></li>
<li><a href="http://douglascunha.com/blog/2009/08/sinais-de-que-voce-e-um-programador-ruim/" title="Sinais de que você é um programador ruim">Sinais de que você é um programador ruim</a></li>
<li><a href="http://douglascunha.com/blog/2009/05/ruby-em-exemplos/" title="Ruby em exemplos">Ruby em exemplos</a></li>
<li><a href="http://douglascunha.com/blog/2010/02/c-declarando-enumeracoes/" title="C# - Declarando enumerações">C# - Declarando enumerações</a></li>
<li><a href="http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-namespaces/" title="C# para programadores Delphi - Namespaces">C# para programadores Delphi - Namespaces</a></li>
<li><a href="http://douglascunha.com/blog/2009/10/manipulacao-de-imagens-usando-imagemagick/" title="Manipulação de imagens usando ImageMagick">Manipulação de imagens usando ImageMagick</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/cancelando-eventos-em-javascript/" title="Cancelando eventos em JavaScript">Cancelando eventos em JavaScript</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/eventos-como-escolher-o-evento-certo/" title="Eventos - como escolher o evento certo?">Eventos - como escolher o evento certo?</a></li>
<li><a href="http://douglascunha.com/blog/2009/03/compartilhando-a-conexao-a-internet-usando-linux/" title="Compartilhando a conexão à internet usando Linux">Compartilhando a conexão à internet usando Linux</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglascunha.com/blog/2009/11/delphi-como-dar-foco-no-proximo-controle-da-tela/feed/</wfw:commentRss>
		</item>
		<item>
		<title>C# para programadores Delphi - Namespaces</title>
		<link>http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-namespaces/</link>
		<comments>http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-namespaces/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 00:41:47 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[Programação]]></category>

		<category><![CDATA[ao]]></category>

		<category><![CDATA[ao a Objetos]]></category>

		<category><![CDATA[Delphi]]></category>

		<category><![CDATA[Linguagens de programac]]></category>

		<category><![CDATA[Orientac]]></category>

		<category><![CDATA[Programac]]></category>

		<guid isPermaLink="false">http://douglascunha.com/blog/?p=315</guid>
		<description><![CDATA[A grosso modo, podemos dizer que um namespace e apenas um nome usado para agrupar classes ou outros namespaces. DSessa forma, as classes passam a ter, digamos, &#8220;nome e sobrenome&#8221;. Ao inves de termos apenas o nome da classe, temos um agrupamentos de classes por proposito, tornando a estrutura de classes mais organizada e intuitiva.
Namespaces [...]]]></description>
			<content:encoded><![CDATA[<p>A grosso modo, podemos dizer que um namespace e apenas um nome usado para agrupar classes ou outros namespaces. DSessa forma, as classes passam a ter, digamos, &#8220;nome e sobrenome&#8221;. Ao inves de termos apenas o nome da classe, temos um agrupamentos de classes por proposito, tornando a estrutura de classes mais organizada e intuitiva.</p>
<p><span id="more-315"></span>Namespaces evitam conflito entre nomes de classes, tanto entre suas proprias classes quanto entre suas classes e classes do .NET Framework ou de bibliotecas de terceiros. Mesmo que existam duas ou mais classes com o mesmo nome, desde que elas estejam em namespaces diferentes nao ha problema algum. Uma abordagem comum para evitar esse problema e utilizar prefixos nas classes de um determinado grupo de classes. Por exemplo, a DevExpress utiliza os prefixos &#8220;cx&#8221; e &#8220;dx&#8221; nos nomes das classes de sua biblioteca para Delphi (TcxGrid, por exemplo).</p>
<p>Um namespace e criado utilizando a palavra chave &#8220;namespace&#8221; seguida de seu nome, e entao as classes sao criadas dentro do bloco de codigo delimitado para o namespace.</p>
<p><code>namespace MyLibrary<br />
{<br />
class MyClass<br />
{<br />
public static void Main()<br />
{<br />
System.Console.WriteLine("Hello World!");<br />
}<br />
}<br />
}</code></p>
<p>Namespaces tambem podem ser aninhados, criando estruturas hierarquicas. Isso permite criar namespaces mais gerais, que contem namespaces mais especificos, ate chegar ao nivel das classes, bem especializadas. Existem duas formas de faze-lo:</p>
<p><code>// Aninhando as declarac,oes<br />
namespace Outer<br />
{<br />
namespace Inner<br />
{<br />
class MyClass<br />
{<br />
// codigo da classe aqui<br />
}<br />
}<br />
}// Declarac,oes separadas, especificando o nome completo<br />
namespace Outer<br />
{<br />
// Classes aqui<br />
}</p>
<p>namespace Outer.Inner<br />
{<br />
// Classes aqui<br />
}</p>
<p></code></p>
<h3>A palavra chave &#8220;using&#8221;</h3>
<p>A palavra chave &#8220;using&#8221; serve como um atalho, evitando que voce tenha que digitar nome completo de uma classe ou um namespace. Por exemplo, para chamar o metodo WriteLine da classe System.Console, normalmente se utiliza:</p>
<p><code>System.Console.WriteLine("Hello");</code></p>
<p>Com a palavra chave using, fica mais simples, principalmente se houverem muitas chamadas:</p>
<p><code>using System; // Dispensa ter que explicitar o namespace System.<br />
Console.WriteLine("Hello!");</code></p>
<p>A palavra chave using tambem pode ser usada para criar aliases para nomes de classes longos, nao necessariamente apenas omitir seu caminho. Por exemplo:</p>
<p><code>using theClass = Outer.Inner.MyClass;<br />
theClass.method();</code></p>
<h3>Recursos</h3>
<p>Como bonus, coloco aqui links para diagramas que listam os principais namespaces e nomes de classes do .NET Framework, recurso muito util principalmente para quem esta comec,ando (como eu), e ainda nao sabe bem nem o que tem que se aprender.</p>
<p><a title="Classes e namespaces do Windows Forms" href="http://www.neuromedia.ch/ressources/Windows_Forms_Classes_X0849461pst_a_OL.pdf">PDF com principais namespaces e classes do Windows.Forms</a></p>
<p><a title="Namespaces e classes do .NET Framework 3.5" href="http://download.microsoft.com/download/4/a/3/4a3c7c55-84ab-4588-84a4-f96424a7d82d/NET_35_Namespaces_Poster_JAN08.pdf">PDF com os principais namespaces e classes do .NET Framework 3.5</a></p>
<div id="attachment_317" class="wp-caption alignleft" style="width: 160px"><a href="http://douglascunha.com/shop/product/a/10304/5493418/Livro-Programao-Aplicada-com-Microsoft-NET-Framework"><img class="size-thumbnail wp-image-317" title="Programac,ao Aplicada com Microsoft .NET Framework" src="http://douglascunha.com/blog/wp-content/uploads/2009/11/programacao-aplicada-net-framework-150x150.gif" alt="Programac,ao Aplicada com Microsoft .NET Framework" width="150" height="150" /></a><p class="wp-caption-text">Programac,ao Aplicada com Microsoft .NET Framework</p></div>
<div id="attachment_318" class="wp-caption alignleft" style="width: 160px"><a href="http://douglascunha.com/shop/product/a/10304/3884510/Livro-ASP-NET-utilizando-C-De-programador-para-programador"><img class="size-thumbnail wp-image-318" title="ASP. NET utilizando C# - De programador para programador" src="http://douglascunha.com/blog/wp-content/uploads/2009/11/aspnet-utilizando-c-150x150.gif" alt="ASP. NET utilizando C# - De programador para programador" width="150" height="150" /></a><p class="wp-caption-text">ASP. NET utilizando C# - De programador para programador</p></div>
<p><div id="attachment_319" class="wp-caption alignleft" style="width: 136px"><a href="http://douglascunha.com/shop/product/a/10304/770399/Livro-C-Para-Programadores-De-Java"><img class="size-thumbnail wp-image-319" title="C# Para Programadores De Java" src="http://douglascunha.com/blog/wp-content/uploads/2009/11/c-para-programadores-java-126x150.jpg" alt="C# Para Programadores De Java - Brian Bagnall" width="126" height="150" /></a><p class="wp-caption-text">C# Para Programadores De Java - Brian Bagnall</p></div><br />
<h3>Posts relacionados</h3>
<ul class="related_post">
<li><a href="http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-tipos-enumerados/" title="C# para programadores Delphi - Tipos enumerados">C# para programadores Delphi - Tipos enumerados</a></li>
<li><a href="http://douglascunha.com/blog/2010/02/c-por-que-tem-um-antes-da-string/" title="C#: por que tem um &#8220;@&#8221; antes da string?">C#: por que tem um &#8220;@&#8221; antes da string?</a></li>
<li><a href="http://douglascunha.com/blog/2010/02/c-declarando-enumeracoes/" title="C# - Declarando enumerações">C# - Declarando enumerações</a></li>
<li><a href="http://douglascunha.com/blog/2009/11/delphi-como-dar-foco-no-proximo-controle-da-tela/" title="Delphi - Como dar foco no próximo controle da tela">Delphi - Como dar foco no próximo controle da tela</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/eventos-como-escolher-o-evento-certo/" title="Eventos - como escolher o evento certo?">Eventos - como escolher o evento certo?</a></li>
<li><a href="http://douglascunha.com/blog/2009/02/exit-quebrando-fluxo-cabeca/" title="Exit: quebrando o fluxo e a cabeça">Exit: quebrando o fluxo e a cabeça</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-namespaces/feed/</wfw:commentRss>
		</item>
		<item>
		<title>C# para programadores Delphi - Tipos enumerados</title>
		<link>http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-tipos-enumerados/</link>
		<comments>http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-tipos-enumerados/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 01:50:49 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
		
		<category><![CDATA[C#]]></category>

		<category><![CDATA[Programação]]></category>

		<category><![CDATA[Delphi]]></category>

		<category><![CDATA[Linguagens de programação]]></category>

		<guid isPermaLink="false">http://douglascunha.com/blog/?p=306</guid>
		<description><![CDATA[Estou me aventurando pelo mundo do C#. Sim, desenvolvendo em plataforma Microsoft, quem diria..
A experiência acumulada como programador em Delphi e outras linguagens muitas vezes ajuda, pois já tenho mais ou menos uma idéia de como fazer a maioria das coisas. Ou pelo menos uma idéia de como procurar a resposta. Mas isso é mais [...]]]></description>
			<content:encoded><![CDATA[<p>Estou me aventurando pelo mundo do C#. Sim, desenvolvendo em plataforma Microsoft, quem diria..</p>
<p>A experiência acumulada como programador em Delphi e outras linguagens muitas vezes ajuda, pois já tenho mais ou menos uma idéia de como fazer a maioria das coisas. Ou pelo menos uma idéia de como procurar a resposta. Mas isso é mais difícil quando alguma característica muda drasticamente de uma linguagem para outra.</p>
<p><span id="more-306"></span></p>
<p>O que eu pretendo fazer a partir de agora é documentar aqui as características que encontrar no C# que eu julgar que vale a pena comparar com o correspondente em Delphi, tanto por ser semelhante, quanto por ser diferente (e me ter tomado mais tempo do que deveria). Sim, às vezes já saber fazer de um outro jeito nos faz meio &#8220;viciados&#8221;, e demoramos mais a achar a solução do que se não soubéssemos de forma alguma.</p>
<p>Mas vamos ao primeiro assunto.</p>
<h3>Tipos enumerados</h3>
<p>O primeiro item que me chamou atenção foram os tipos enumerados. Embora não pareça ter muita importância, tipos enumerados são usados para todos os lados, principalmente como parâmetros de entrada de métodos que podem se comportar de mais de uma forma. Então, saber utilizá-los vai sim adiantar o aprendizado.</p>
<p>Os tipos enumerados do Delphi não têm exatamente a mesma estrutura no .NET Framework. Os itens de um tipo enumerado são usados no Delphi como se fossem um conjunto de constantes, acessadas diretamente e internamente representam um valor inteiro. Como são acessadas diretamente, alguns programadores várias constantes mais comuns por anos sem sequer saber o que é um tipo enumerado.</p>
<p><strong>Exemplo:</strong><br />
<code><em>{ Declaração do tipo; internamente os valores equivalem a 0, 1 e 2 }</em><br />
TFruta = (fBanana, fMaca, fManga)<br />
&#8230;<br />
var fruta = TFruta;  <em>// Variável do tipo TFruta</em><br />
begin<br />
fruta := fBanana;  <em>// Atribuição do valor do tipo TFruta à variável </em><br />
&#8230;<br />
end;</code></p>
<p>Em C# a coisa é um pouco mais &#8220;OO-like&#8221;. Os tipos enumerados não são simplesmente um tipo, são uma classe, com seus membros sendo os valores possíveis. Então por exemplo, um tipo enumerado Fruta semelhante ao descrito acima, seria acessado assim:</p>
<p><code><em>/* Declaração da variável e atribuição do valor */</em><br />
Fruta fruta = Fruta.Banana;</code></p>
<p>Os valores são acessados usando &lt;NOME DA CLASSE&gt;.&lt;ITEM DESEJADO&gt;. Dessa forma, além de definir de forma clara qual o domínio daquela constante, definindo as constantes dessa forma evita o conflito de nomes, ou seja, tipos enumerados diferentes contendo constantes com o mesmo nome, significando coisas diferentes.</p>
<div id="attachment_307" class="wp-caption alignleft" style="width: 160px"><a href="http://douglascunha.com/shop/product/a/10304/1432256/Livro-Aprenda-a-Programar-Em-C-C-e-C"><img class="size-thumbnail wp-image-307" title="Aprenda A Programar Em C, C++ E C# - 2ª Edição - Rosângela Hickson" src="http://douglascunha.com/blog/wp-content/uploads/2009/11/aprenda-programar-c-c-c-150x150.gif" alt="Aprenda A Programar Em C, C++ E C# - 2ª Edição - Rosângela Hickson" width="150" height="150" /></a><p class="wp-caption-text">Aprenda A Programar Em C, C++ E C# - 2ª Edição - Rosângela Hickson</p></div>
<div id="attachment_308" class="wp-caption alignleft" style="width: 160px"><a href="http://douglascunha.com/shop/product/a/10304/19000541/Livro-C-2008-Para-Leigos"><img class="size-thumbnail wp-image-308" title="C# 2008 Para Leigos" src="http://douglascunha.com/blog/wp-content/uploads/2009/11/c-para-leigos-150x150.gif" alt="C# 2008 Para Leigos" width="150" height="150" /></a><p class="wp-caption-text">C# 2008 Para Leigos</p></div>
<div id="attachment_309" class="wp-caption alignleft" style="width: 160px"><a href="http://douglascunha.com/shop/product/a/10304/3906315/Livro-C-como-programar"><img class="size-thumbnail wp-image-309" title="C# como programar - Harvey M. Deitel" src="http://douglascunha.com/blog/wp-content/uploads/2009/11/c-como-programar-150x150.gif" alt="C# como programar - Harvey M. Deitel" width="150" height="150" /></a><p class="wp-caption-text">C# como programar - Harvey M. Deitel</p></div>
<p><br style="clear:both; float:none;" /><br />
<h3>Posts relacionados</h3>
<ul class="related_post">
<li><a href="http://douglascunha.com/blog/2010/02/c-por-que-tem-um-antes-da-string/" title="C#: por que tem um &#8220;@&#8221; antes da string?">C#: por que tem um &#8220;@&#8221; antes da string?</a></li>
<li><a href="http://douglascunha.com/blog/2009/11/delphi-como-dar-foco-no-proximo-controle-da-tela/" title="Delphi - Como dar foco no próximo controle da tela">Delphi - Como dar foco no próximo controle da tela</a></li>
<li><a href="http://douglascunha.com/blog/2010/02/c-declarando-enumeracoes/" title="C# - Declarando enumerações">C# - Declarando enumerações</a></li>
<li><a href="http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-namespaces/" title="C# para programadores Delphi - Namespaces">C# para programadores Delphi - Namespaces</a></li>
<li><a href="http://douglascunha.com/blog/2009/08/sinais-de-que-voce-e-um-programador-ruim/" title="Sinais de que você é um programador ruim">Sinais de que você é um programador ruim</a></li>
<li><a href="http://douglascunha.com/blog/2009/05/ruby-em-exemplos/" title="Ruby em exemplos">Ruby em exemplos</a></li>
<li><a href="http://douglascunha.com/blog/2009/10/manipulacao-de-imagens-usando-imagemagick/" title="Manipulação de imagens usando ImageMagick">Manipulação de imagens usando ImageMagick</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/cancelando-eventos-em-javascript/" title="Cancelando eventos em JavaScript">Cancelando eventos em JavaScript</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/eventos-como-escolher-o-evento-certo/" title="Eventos - como escolher o evento certo?">Eventos - como escolher o evento certo?</a></li>
<li><a href="http://douglascunha.com/blog/2009/03/compartilhando-a-conexao-a-internet-usando-linux/" title="Compartilhando a conexão à internet usando Linux">Compartilhando a conexão à internet usando Linux</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-tipos-enumerados/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Manipulação de imagens usando ImageMagick</title>
		<link>http://douglascunha.com/blog/2009/10/manipulacao-de-imagens-usando-imagemagick/</link>
		<comments>http://douglascunha.com/blog/2009/10/manipulacao-de-imagens-usando-imagemagick/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 17:20:11 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
		
		<category><![CDATA[Programação]]></category>

		<category><![CDATA[ImageMagick]]></category>

		<category><![CDATA[Manipulação de imagens]]></category>

		<category><![CDATA[Perl]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://douglascunha.com/blog/?p=301</guid>
		<description><![CDATA[ImageMagick é o nome de uma bibliloteca open source para manipulação de imagens. Essa biblioteca possui vários recursos para manipulação de imagens, e é compatível com várias linguagens de programação (como Perl, PHP, Ruby e C), se tornando uma boa opção para manipular imagens em seus programas. Ela utiliza uma licensa própria, semelhante à licensa [...]]]></description>
			<content:encoded><![CDATA[<p>ImageMagick é o nome de uma bibliloteca open source para manipulação de imagens. Essa biblioteca possui vários recursos para manipulação de imagens, e é compatível com várias linguagens de programação (como Perl, PHP, Ruby e C), se tornando uma boa opção para manipular imagens em seus programas. Ela utiliza uma licensa própria, semelhante à licensa BSD.</p>
<p>Além de váris linguagens de programação, ela também dá suporte a vários sistemas operacionais Unix-like e também em Windows. Não tenho certeza disso, mas é provável que ela seja acessível no Windows a partir de qualque linguagem que faça chamadas a funções de uma DLL (por exemplo, Delphi).</p>
<p><span id="more-301"></span></p>
<p>A biblioteca dá suporte a mais de 100 formatos de imagens diferentes e possui vários efeitos. Embora a grande vantagem da biblioteca seja sua API para uso em programas, ela é distribuída junto com um editor de linha de comando, bastante útil para montagem de scripts shell. E é disso que vou falar hoje. As APIs para programação ficarão para um post futuro.</p>
<h3>Utilizando o editor de linha de comando</h3>
<p>O comando usado para manipular imagens é o comando convert. Utilizando parâmetros podemos informar arquivo de entrada, arquivo de saída e também os efeitos a serem aplicados. É possível aplicar mais de um efeito em uma mesma execução, apenas adicionando mais parâmetros.</p>
<p>Para mais detalhes, ver a manpage do comando convert (execute man convert na linha de comando, em sistemas Unix-like) ou veja a página <a title="Guia de uso das ferramentas da ImageMagick" href="http://www.imagemagick.org/Usage/">http://www.imagemagick.org/Usage/</a>.</p>
<h4>Exemplos de uso</h4>
<p><em>Converter para escalas de cinza</em><br />
<code>$ convert -colorspace gray entrada.jpg saida.jpg</code></p>
<p><em>Alterar brilho para 80% do brilho original</em><br />
<code>$ convert -modulate 80 entrada.jpg saida.jpg</code><br />
<small>O parâmetro modulate requer o brilho em números percentuais, por isso 80.</small></p>
<p><em>Alterar o contraste em 20%</em><br />
<code>$convert -sigmoidal-contrast 120</code><br />
<small>Da mesma forma que o brilho, o contraste é informado em percentual. Como queremos aumentar, informamos um percentual maior que 100.</small></p>
<h3>Processamento em lote</h3>
<p>É possível fazer algum processamento em lote com outra ferramente – mogrify.</p>
<p><strong>CUIDADO</strong>: essa ferramente normalmente altera a imagem informada, ao invés de criar uma nova. Então ao experimentar, faça uma cópia de sua imagem e use a cópia, para não correr o risco de perder a imagem original.<br />
<em>Converter todas as imagens PNG do diretório para JPG</em><br />
<code>mogrify -format jpg  *.png</code></p>
<p><em>Gerar thumbnails de todas as imagens do diretório em um subdiretório “thumbnails” </em><br />
<code>mogrify  -path thumbnails -thumbnail 100x100  *</code><br />
O comando leva em conta que o diretório já existe</p>
<h3>Finalizando</h3>
<p>Essa foi só uma breve apresentação da biblioteca e suas ferramentas. Com certeza isso não explora um mínimo do que a biblioteca ImageMagick é capaz. Recomendo a leitura da página <a title="Guia de uso das ferramentas da ImageMagick" href="http://www.imagemagick.org/Usage/">http://www.imagemagick.org/Usage/</a>, que possui muitos outros exemplos, inclusive de manipulações muito mais complexas.</p>
<p>Futuramente, falarei da utilização do PerlMagick, o módulo Perl para uso da ImageMagick.</p>
<div id="attachment_303" class="wp-caption alignleft" style="width: 135px"><a href="http://douglascunha.com/shop/product/a/10304/439509/Livro-Perl-Como-Programar"><img class="size-thumbnail wp-image-303" title="Perl Como Programar + Cd Rom" src="http://douglascunha.com/blog/wp-content/uploads/2009/10/perl-como-programar-125x150.jpg" alt="Perl Como Programar + Cd Rom" width="125" height="150" /></a><p class="wp-caption-text">Perl Como Programar + Cd Rom</p></div>
<div id="attachment_304" class="wp-caption alignleft" style="width: 160px"><a href="http://douglascunha.com/shop/product/a/10304/768012/Livro-Perl-Guia-De-Consulta-Rapida"><img class="size-thumbnail wp-image-304" title="Perl - Guia De Consulta Rápida" src="http://douglascunha.com/blog/wp-content/uploads/2009/10/perl-guia-consulta-rapida-150x150.gif" alt="Perl - Guia De Consulta Rápida" width="150" height="150" /></a><p class="wp-caption-text">Perl - Guia De Consulta Rápida</p></div>
<div id="attachment_302" class="wp-caption alignleft" style="width: 160px"><a href="http://douglascunha.com/shop/product/a/10304/2541798/Livro-101-Dicas-Adobe-Photoshop"><img class="size-thumbnail wp-image-302" title="101 Dicas Adobe Photoshop" src="http://douglascunha.com/blog/wp-content/uploads/2009/10/101-dicas-photoshop-150x150.gif" alt="101 Dicas Adobe Photoshop" width="150" height="150" /></a><p class="wp-caption-text">101 Dicas Adobe Photoshop</p></div>
<p><br style="clear: both; float: none;" /><br />
<h3>Posts relacionados</h3>
<ul class="related_post">
<li><a href="http://douglascunha.com/blog/2010/02/c-por-que-tem-um-antes-da-string/" title="C#: por que tem um &#8220;@&#8221; antes da string?">C#: por que tem um &#8220;@&#8221; antes da string?</a></li>
<li><a href="http://douglascunha.com/blog/2009/11/delphi-como-dar-foco-no-proximo-controle-da-tela/" title="Delphi - Como dar foco no próximo controle da tela">Delphi - Como dar foco no próximo controle da tela</a></li>
<li><a href="http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-tipos-enumerados/" title="C# para programadores Delphi - Tipos enumerados">C# para programadores Delphi - Tipos enumerados</a></li>
<li><a href="http://douglascunha.com/blog/2009/08/sinais-de-que-voce-e-um-programador-ruim/" title="Sinais de que você é um programador ruim">Sinais de que você é um programador ruim</a></li>
<li><a href="http://douglascunha.com/blog/2009/05/ruby-em-exemplos/" title="Ruby em exemplos">Ruby em exemplos</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/cancelando-eventos-em-javascript/" title="Cancelando eventos em JavaScript">Cancelando eventos em JavaScript</a></li>
<li><a href="http://douglascunha.com/blog/2009/03/compartilhando-a-conexao-a-internet-usando-linux/" title="Compartilhando a conexão à internet usando Linux">Compartilhando a conexão à internet usando Linux</a></li>
<li><a href="http://douglascunha.com/blog/2009/01/php-nao-e-coisa-de-moleque/" title="PHP não é (mais) coisa de moleque">PHP não é (mais) coisa de moleque</a></li>
<li><a href="http://douglascunha.com/blog/2009/01/como-redirecionar-a-saida-de-erro-stderr-para-stdout-ou-arquivo/" title="Como redirecionar a saída de erro (stderr) para stdout ou arquivo">Como redirecionar a saída de erro (stderr) para stdout ou arquivo</a></li>
<li><a href="http://douglascunha.com/blog/2009/01/usando-hard-links/" title="Usando hard links">Usando hard links</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglascunha.com/blog/2009/10/manipulacao-de-imagens-usando-imagemagick/feed/</wfw:commentRss>
		</item>
		<item>
		<title>101 coisas para ver na internet brasileira</title>
		<link>http://douglascunha.com/blog/2009/09/101-coisas-para-ver-na-internet-brasileira/</link>
		<comments>http://douglascunha.com/blog/2009/09/101-coisas-para-ver-na-internet-brasileira/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 18:43:14 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
		
		<category><![CDATA[Porcarias]]></category>

		<guid isPermaLink="false">http://douglascunha.com/blog/?p=293</guid>
		<description><![CDATA[Alexandre Harth, em um momento que certamente não tinha coisa melhor para fazer, registrou um domínio e criou um site listando as 101 coisas que você deveria ter visto na internet brasileira. Bem, deve ter sido assim um dia, porque agora é a lista de 101 (+55) coisas.

Naturalmente não é uma lista de novidades, e [...]]]></description>
			<content:encoded><![CDATA[<p>Alexandre Harth, em um momento que certamente não tinha coisa melhor para fazer, registrou um domínio e criou um site listando as <a href="http://vocedeveriatervisto.com/">101 coisas que você deveria ter visto na internet brasileira</a>. Bem, deve ter sido assim um dia, porque agora é a lista de 101 (+55) coisas.</p>
<p><span id="more-293"></span></p>
<p>Naturalmente não é uma lista de novidades, e sim uma lista de coisas que em algum ponto dos últimos anos gerou algum hype considerável no país. Entre eles o video do Jeremias muito louco, dança do quadrado e outras pérolas.</p>
<p>Provavelmente, como eu, você já viu muita coisa da lista. Mas a lista é extensa, então, novamente assim como eu, você também não deve ter visto muita coisa. Vale a pena pelo menos dar uma passada pelos nomes e ver os que mais chamarem a atenção. Ou até rever alguns&#8230;</p>
<p>Endereço: <a href="http://vocedeveriatervisto.com/">http://vocedeveriatervisto.com/</a></p>
<div id="attachment_294" class="wp-caption alignleft" style="width: 140px"><a href="http://douglascunha.com/shop/product/a/10304/531601/Livro-As-100-Melhores-Ideias-Para-Ganhar-Dinheiro-Na-Internet"><img class="size-thumbnail wp-image-294" title="As 100 Melhores Ideias Para Ganhar Dinheiro Na Internet - Ros Jay" src="http://douglascunha.com/blog/wp-content/uploads/2009/09/100-ideias-ganhar-dinheiro-internet.gif" alt="As 100 Melhores Ideias Para Ganhar Dinheiro Na Internet - Ros Jay" width="130" height="138" /></a><p class="wp-caption-text">As 100 Melhores Ideias Para Ganhar Dinheiro Na Internet - Ros Jay</p></div>
<div id="attachment_295" class="wp-caption alignleft" style="width: 131px"><a href="http://douglascunha.com/shop/product/a/10304/277221/Guia-Internet-De-Conectividade"><img class="size-thumbnail wp-image-295" title="Guia Internet De Conectividade - Cyclades Brasil" src="http://douglascunha.com/blog/wp-content/uploads/2009/09/guia-conectividade-internet-121x150.jpg" alt="Guia Internet De Conectividade - Cyclades Brasil" width="121" height="150" /></a><p class="wp-caption-text">Guia Internet De Conectividade - Cyclades Brasil</p></div>
<div id="attachment_296" class="wp-caption alignleft" style="width: 160px"><a href="http://douglascunha.com/shop/product/a/10304/2467927/Livro-As-melhores-piadas-que-circulam-na-Internet-20"><img class="size-thumbnail wp-image-296" title="As melhores piadas que circulam na Internet 2.0 - Luiz Aviz" src="http://douglascunha.com/blog/wp-content/uploads/2009/09/melhores-piadas-internet-150x150.gif" alt="As melhores piadas que circulam na Internet 2.0 - Luiz Aviz" width="150" height="150" /></a><p class="wp-caption-text">As melhores piadas que circulam na Internet 2.0 - Luiz Aviz</p></div>
<p><br style="clear:both;float:none" /><br />
<h3>Leia também</h3>
<ul class="related_post">
<li><a href="http://douglascunha.com/blog/2009/01/quem-manda-no-meu-navegador-sou-eu-sera/" title="Quem manda no meu navegador sou eu (será?)">Quem manda no meu navegador sou eu (será?)</a></li>
<li><a href="http://douglascunha.com/blog/2009/05/ruby-em-exemplos/" title="Ruby em exemplos">Ruby em exemplos</a></li>
<li><a href="http://douglascunha.com/blog/2009/05/ntldr-is-missing-falta-ntldr-como-resolver/" title="NTLDR is missing / Falta NTLDR - como resolver?">NTLDR is missing / Falta NTLDR - como resolver?</a></li>
<li><a href="http://douglascunha.com/blog/2008/11/atualizacao-no-script-de-cotacoes-da-bovespa/" title="Atualização no script de cotações da BOVESPA">Atualização no script de cotações da BOVESPA</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/pesquisadores-desenvolvem-um-robo-com-cerebro-biologico/" title="Pesquisadores desenvolvem um robô com cérebro biológico">Pesquisadores desenvolvem um robô com cérebro biológico</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/eventos-como-escolher-o-evento-certo/" title="Eventos - como escolher o evento certo?">Eventos - como escolher o evento certo?</a></li>
<li><a href="http://douglascunha.com/blog/2008/09/wordpress-como-retirar-as-palavras-blog-archive-do-titulo/" title="Wordpress: Como retirar as palavras &#8220;Blog Archive&#8221; do título">Wordpress: Como retirar as palavras &#8220;Blog Archive&#8221; do título</a></li>
<li><a href="http://douglascunha.com/blog/2008/10/php-passando-arrays-no-formulario/" title="PHP: passando arrays de valores no formulário">PHP: passando arrays de valores no formulário</a></li>
<li><a href="http://douglascunha.com/blog/2009/03/lista-de-plugins-do-wordpress/" title="Lista de plugins do WordPress">Lista de plugins do WordPress</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/variacao-percentual-como-estrategia-de-marketing/" title="Variação percentual como estratégia de marketing">Variação percentual como estratégia de marketing</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglascunha.com/blog/2009/09/101-coisas-para-ver-na-internet-brasileira/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Netbook ou notebook?</title>
		<link>http://douglascunha.com/blog/2009/09/netbook-ou-notebook/</link>
		<comments>http://douglascunha.com/blog/2009/09/netbook-ou-notebook/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 03:05:30 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
		
		<category><![CDATA[Tecnologia móvel]]></category>

		<category><![CDATA[Celular]]></category>

		<category><![CDATA[Netbooks]]></category>

		<category><![CDATA[Notebooks]]></category>

		<category><![CDATA[PC]]></category>

		<category><![CDATA[Tecnologia]]></category>

		<category><![CDATA[Telefonia móvel]]></category>

		<guid isPermaLink="false">http://douglascunha.com/blog/?p=287</guid>
		<description><![CDATA[Saiu no Efetividade.net na semana passada o artigo &#8220;Comprar netbook ou notebook?&#8220;, que tem por objetivo esclarecer em que situações é melhor comprar um notebook convencional e em que situações um netbook é mais vantajoso. Ele leva em consideração principalmente o tipo de uso que será feito da máquina, já que cada um tem suas [...]]]></description>
			<content:encoded><![CDATA[<p>Saiu no <a href="http://www.efetividade.net">Efetividade.net</a> na semana passada o artigo &#8220;<strong>Comprar netbook ou notebook?</strong>&#8220;, que tem por objetivo esclarecer em que situações é melhor comprar um notebook convencional e em que situações um <a title="Netbooks" href="http://douglascunha.com/shop/dept/a/4130/7/1/Notebooks">netbook</a> é mais vantajoso. Ele leva em consideração principalmente o tipo de uso que será feito da máquina, já que cada um tem suas vantagens e também suas desvantagens, nenhum deles sendo a solução mágica para todos os problemas.<span id="more-287"></span></p>
<p>Basicamente, se você precisa de mais poder de processamento, autonomia de bateria ou fazer uso de mídias óticas, um <a title="Notebooks" href="http://douglascunha.com/shop/dept/a/4130/7/1/Notebooks">notebook</a> tende a ser melhor. Por outro lado, se tamanho e peso reduzidos forem um diferencial, mesmo abdicando de um maior poder de processamento e recursos como leitor de DVD, o netbook é a escolha.</p>
<p>Os netbooks têm se tornado cada vez mais populares hoje em dia, com cada vez mais serviços migrando para a internet, necessitando portanto de computadores menos poderosos para serem usados. O autor cita ainda alternativas para casos, em que sequer um netbook poderia ser necessário. Para necessidades básicas de navegação e comunicação por e-mail, por exemplo ele sugere o uso de smartphones, MIDs (Mobile Internet Devices), como o Nokia N800 e até mesmo <a title="Jogos e consoles de videogame" href="http://douglascunha.com/shop/dept/a/13006/Games">videogames</a> portáteis, como <a title="Sony PSP" href="http://douglascunha.com/shop/product/a/13006/18933705/Console-PSP-3000-Core">PSP</a> e <a title="Nintendo DS Lite" href="http://douglascunha.com/shop/product/a/13006/17642674/Console-Nintendo-DS-Lite">Nintendo DS</a>.</p>
<p>Leia o artigo original em <a href="http://www.efetividade.net/2009/09/09/comprar-netbook-ou-notebook/">http://www.efetividade.net/2009/09/09/comprar-netbook-ou-notebook/</a></p>
<div id="attachment_289" class="wp-caption alignleft" style="width: 160px"><a href="http://douglascunha.com/shop/product/a/13006/17653419/Console-Nintendo-DS-Lite"><img class="size-thumbnail wp-image-289" title="Console Nintendo DS Lite" src="http://douglascunha.com/blog/wp-content/uploads/2009/09/nintendo-ds-lite-150x150.gif" alt="Console Nintendo DS Lite" width="150" height="150" /></a><p class="wp-caption-text">Console Nintendo DS Lite</p></div>
<div id="attachment_290" class="wp-caption alignleft" style="width: 160px"><a href="http://douglascunha.com/shop/product/a/13006/18933705/Console-PSP-3000-Core"><img class="size-thumbnail wp-image-290" title="Console PSP 3000 Core" src="http://douglascunha.com/blog/wp-content/uploads/2009/09/psp-3000-core-150x150.gif" alt="Console PSP 3000 Core" width="150" height="150" /></a><p class="wp-caption-text">Console PSP 3000 Core</p></div>
<div id="attachment_291" class="wp-caption alignleft" style="width: 160px"><a href="http://douglascunha.com/shop/product/a/4137/18958338/Nokia-N95-GSM-Desbloqueado-Oi-Wi-Fi-c-Tecnologia-3G-GPS-Cmera-50MP-c-zoom-20x-e-Flash-Filmadora-MP3-Player-Microsoft-Office-Rdio-FM-Bluetooth-20-Fone-Cabo-de-Dados-USB-e-Carto-1GB"><img class="size-thumbnail wp-image-291" title="Nokia N95 - GSM - Desbloqueado Oi" src="http://douglascunha.com/blog/wp-content/uploads/2009/09/nokia-n95-desbloqueado-150x150.gif" alt="Nokia N95 - GSM - Desbloqueado Oi" width="150" height="150" /></a><p class="wp-caption-text">Nokia N95 - GSM - Desbloqueado Oi</p></div>
<p><br style="clear:both;float:none;" /><br />
<h3>Posts relacionados</h3>
<ul class="related_post">
<li><a href="http://douglascunha.com/blog/2009/03/aprendendo-python/" title="Aprendendo Python">Aprendendo Python</a></li>
<li><a href="http://douglascunha.com/blog/2009/01/saiba-a-que-operadora-o-celular-pertence-pelo-numero/" title="Saiba a que operadora o celular pertence pelo número">Saiba a que operadora o celular pertence pelo número</a></li>
<li><a href="http://douglascunha.com/blog/2009/08/sinais-de-que-voce-e-um-programador-ruim/" title="Sinais de que você é um programador ruim">Sinais de que você é um programador ruim</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/operadoras-pedem-desoneracao-tributaria-para-impulsionar-a-banda-larga/" title="Operadoras pedem desoneração tributária para impulsionar a Banda Larga">Operadoras pedem desoneração tributária para impulsionar a Banda Larga</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/anatel-regulamenta-sistemas-de-banda-larga-pela-rede-eletrica/" title="Anatel regulamenta sistemas de banda larga pela rede elétrica">Anatel regulamenta sistemas de banda larga pela rede elétrica</a></li>
<li><a href="http://douglascunha.com/blog/2009/01/a-ressurreicao-do-mp4/" title="A ressurreição do MP4">A ressurreição do MP4</a></li>
<li><a href="http://douglascunha.com/blog/2009/01/php-nao-e-coisa-de-moleque/" title="PHP não é (mais) coisa de moleque">PHP não é (mais) coisa de moleque</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglascunha.com/blog/2009/09/netbook-ou-notebook/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sinais de que você é um programador ruim</title>
		<link>http://douglascunha.com/blog/2009/08/sinais-de-que-voce-e-um-programador-ruim/</link>
		<comments>http://douglascunha.com/blog/2009/08/sinais-de-que-voce-e-um-programador-ruim/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 02:23:52 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
		
		<category><![CDATA[Programação]]></category>

		<category><![CDATA[Linguagens de programação]]></category>

		<category><![CDATA[Orientação a Objetos]]></category>

		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://douglascunha.com/blog/?p=282</guid>
		<description><![CDATA[Um amigo meu postou no Twitter um artigo que eu achei muito interessante, citando deficiências comuns a programadores ruins, sintomas e passos para resolver. O artigo é longo, mas realmente vale a leitura, mesmo que vocẽ não seja um programador ruim.
O artigo é em inglês. Mas se você tem problema com isso, provavelmente não é [...]]]></description>
			<content:encoded><![CDATA[<p>Um amigo meu postou no Twitter um artigo que eu achei muito interessante, citando deficiências comuns a programadores ruins, sintomas e passos para resolver. O artigo é longo, mas realmente vale a leitura, mesmo que vocẽ não seja um programador ruim.</p>
<p>O artigo é em inglês. Mas se você tem problema com isso, provavelmente não é um programador.</p>
<p>Artigo: <a href="http://sites.google.com/site/yacoset/Home/signs-that-you-re-a-bad-programmer">Signs that you&#8217;re a bad programmer</a></p>
<p><span id="more-282"></span></p>
<div id="attachment_283" class="wp-caption alignleft" style="width: 160px"><a href="http://douglascunha.com/shop/product/a/10304/1774108/Livro-Aprenda-Programao-Orientada-a-Objeto-em-21-Dias"><img class="size-thumbnail wp-image-283" title="Aprenda Programação Orientada a Objeto em 21 Dias" src="http://douglascunha.com/blog/wp-content/uploads/2009/08/programacao-oo-21-dias-150x150.gif" alt="Aprenda Programação Orientada a Objeto em 21 Dias - Anthony Sintes" width="150" height="150" /></a><p class="wp-caption-text">Aprenda Programação Orientada a Objeto em 21 Dias - Anthony Sintes</p></div>
<div id="attachment_284" class="wp-caption alignleft" style="width: 160px"><a href="http://douglascunha.com/shop/product/a/10304/5493418/Livro-Programao-Aplicada-com-Microsoft-NET-Framework"><img class="size-thumbnail wp-image-284" title="Programação Aplicada com Microsoft .NET Framework" src="http://douglascunha.com/blog/wp-content/uploads/2009/08/microsoft-dotnet-framework-150x150.gif" alt="Programação Aplicada com Microsoft .NET Framework" width="150" height="150" /></a><p class="wp-caption-text">Programação Aplicada com Microsoft .NET Framework</p></div>
<div id="attachment_285" class="wp-caption alignleft" style="width: 160px"><a href="http://douglascunha.com/shop/product/a/10304/770371/Livro-Padres-de-projeto"><img class="size-thumbnail wp-image-285" title="Padrões de projeto" src="http://douglascunha.com/blog/wp-content/uploads/2009/08/padroes-projeto-150x150.gif" alt="Padrões de projeto - Erich Gamma" width="150" height="150" /></a><p class="wp-caption-text">Padrões de projeto - Erich Gamma</p></div>
<p><br style="clear:both;float:none;" /><br />
<h3>Posts relacionados</h3>
<ul class="related_post">
<li><a href="http://douglascunha.com/blog/2010/02/c-por-que-tem-um-antes-da-string/" title="C#: por que tem um &#8220;@&#8221; antes da string?">C#: por que tem um &#8220;@&#8221; antes da string?</a></li>
<li><a href="http://douglascunha.com/blog/2009/11/delphi-como-dar-foco-no-proximo-controle-da-tela/" title="Delphi - Como dar foco no próximo controle da tela">Delphi - Como dar foco no próximo controle da tela</a></li>
<li><a href="http://douglascunha.com/blog/2009/11/c-para-programadores-delphi-tipos-enumerados/" title="C# para programadores Delphi - Tipos enumerados">C# para programadores Delphi - Tipos enumerados</a></li>
<li><a href="http://douglascunha.com/blog/2009/05/ruby-em-exemplos/" title="Ruby em exemplos">Ruby em exemplos</a></li>
<li><a href="http://douglascunha.com/blog/2009/01/php-nao-e-coisa-de-moleque/" title="PHP não é (mais) coisa de moleque">PHP não é (mais) coisa de moleque</a></li>
<li><a href="http://douglascunha.com/blog/2010/02/c-declarando-enumeracoes/" title="C# - Declarando enumerações">C# - Declarando enumerações</a></li>
<li><a href="http://douglascunha.com/blog/2009/10/manipulacao-de-imagens-usando-imagemagick/" title="Manipulação de imagens usando ImageMagick">Manipulação de imagens usando ImageMagick</a></li>
<li><a href="http://douglascunha.com/blog/2009/09/netbook-ou-notebook/" title="Netbook ou notebook?">Netbook ou notebook?</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/cancelando-eventos-em-javascript/" title="Cancelando eventos em JavaScript">Cancelando eventos em JavaScript</a></li>
<li><a href="http://douglascunha.com/blog/2009/04/operadoras-pedem-desoneracao-tributaria-para-impulsionar-a-banda-larga/" title="Operadoras pedem desoneração tributária para impulsionar a Banda Larga">Operadoras pedem desoneração tributária para impulsionar a Banda Larga</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglascunha.com/blog/2009/08/sinais-de-que-voce-e-um-programador-ruim/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
