Value Types, Stack, Heap e confusões

9/30/2010 8:49:00 PM By Felipe Pessoto

Um dos blogs que leio e com certeza é o que considero mais importante é o do Eric Lippert, inclusive traduzi uma série de artigos sobre variância e postei aqui no blog. Ele faz parte do time que desenvolve o compilador do C# e no post mais recente ele voltou a falar sobre Value Types e a confusão que normalmente ocorre, inclusive em muitos livros. Achei importe falar sobre o assunto também para o público brasileiro.

Primeiramente vamos recapitular, o que são Value Types?
...
Não, não são objetos que ficam na Stack(Pilha)! Os dois principais motivos para essa afirmação estar errada são: nem sempre os Value Types ficam na Stack; e não é essa a semântica dos Value Types.
Value Types são copiados por valor e ponto. Essa é a definição, senão ele se chamaria Stack Types certo?

Read more...

C# 4.0 in a Nutshell

9/30/2010 9:32:00 AM By Felipe Pessoto

Recentemente terminei de ler o C# 4.0 in a Nutshell. O livro é um pouco grande, 1056 páginas e da uma boa visão sobre C# e .NET Framework sem entrar em áreas específicas como ASP.NET, WPF ou Entity Framework.

É ótimo para ter conhecimento de alguns detalhes do .NET, destacando os capítulos sobre Threads e Parallel Framework, onde o autor explica os comportamentos que devemos estar atentos quando programar usando Multi-Threading, que hoje é uma grande tendência e um dos principais focos na nova versão do Framework. Além disso cobre os principais assuntos como XML, LINQ, I/O, Generics, Networking, Reflection, etc e claro Dynamic que é a maior novidade do C# 4.0.

Uma ótima ideia foi os ícones que o autor adicionou para encontrar mais facilmente os pontos importantes sempre que cita alguma dica ou onde devemos tomar cuidado: 

Recomendo o livro pra todos que quiserem se manter atualizados ou estão iniciando. O livro vai desde os fundamentos do .NET até níveis mais avançados e recentes como Parallel Framework.

Para comprar você pode  achar o livro no Amazon: C# in a Nutshell

Forçando o WWW na url com Url Rewriting

9/21/2010 10:21:00 PM By Felipe Pessoto

Uma dica para padronizar as urls do seu site, que hoje são muito importantes por causa do SEO.

Para forçar sempre o WWW, basta adicionar a rule no system.webServer -> rules:

<rule name="Add WWW prefix" >
<match url="(.*)" ignoreCase="true" />
<conditions>
<add input="{HTTP_HOST}" pattern="^domain\.com" />
</conditions>
<action type="Redirect" url="http://www.domain.com/{R:1}"
redirectType="Permanent" />
</rule>

ou caso prefira sempre remover o WWW

<rule name="Remove WWW prefix" >
<match url="(.*)" ignoreCase="true" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.domain\.com" />
</conditions>
<action type="Redirect" url="http://domain.com/{R:1}"
redirectType="Permanent" />
</rule>