14/12/2010

Esse blog será desativado

Olá pessoal,

Depois de algum tempo sem postar decidi voltar a ativa, mas não nesse blog. Acabei de colocar no ar um novo blog com um novo dominio. Será a partir dele que postarem semanalmente conteúdo técnico da plataforma .Net.

Acessem waldyrfelix.net/blog

Obrigado a todos.

23/08/2010

[DotNetArchitects] 1º DNA Meeting Partner

Olá pessoal,

Ontem dia 21/08/2010 houve o 1º DNA Meeting Partner que foi um evento criado para marcar o inicio da parceria entre o grupo .Net Architects PE e a TWM Tecnologia.

No evento tivemos uma pequena apresentação sobre o .Net Architects com Felipe Pimentel e em seguida a palestra de Thiago Holder sobre DDD cujo título foi “Software Complexo? Entenda seu domínio e desenhe um modelo”. As apresentações foram muito interessantes, logo após o Sócio-Diretor da TWM, Thiago Brandão falou um pouco sobre a empresa e o porque de está entrando numa parceria com o grupo .Net Architects.

Pois é pessoal, a partir de agora todos os eventos do .Net Architects PE serão realizados na própria TWM, que por sinal tem um espaço muito agradável e é muito bem localizada.

A agenda dos próximos eventos já foi definida e pode ser conferida no site do .Net Architects PE.

Links

09/05/2010

[DotNetArchitects] 1º Coding Dojo do .Net Architects em Recife

Ontem dia 08/05 tivemos nosso primeiro coding dojo do .Net Architects aqui em Recife.

Foi muito interessante e divertido interagir com todos resolvendo um problema em comum. Que diga-se de passagem não foi um problema tão fácil assim: soma com números Romanos.

Para o Coding Dojo usamos Visual Studio 2010, TDD e C#, não conseguimos finalizar o problema mas creio que o objetivo foi atingido com sucesso, que é interagir com outros, aprender enquanto se diverte e colocar em prática os conhecimentos de programação.

Coloquei no SlideShare a apresentação do Coding Dojo:

Espero que gostem, logo em breve faremos outra reunião com Coding Dojo.

[]s

[ASP.NET 4] Compressão do Session

Voltando finalmente a nossa série de posts sobre o novo ASP.NET 4, hoje irei falar sobre compressão na serialização do session.

Em ASP.NET existem basicamente 3 tipos de armazenamento de dados no session, são eles:

  • InProc: Armazena o session na memória do servidor web, essa é a opção default.
  • StateServer: Usa um serviço chamado ASP.NET State Server para armazenar dados do session das aplicações, usado em Web farms ou quando precisamos manter o estado do session mesmo depois de reiniciar a aplicação no IIS.
  • SQLServer: Armazena os dados do session num banco de dados SQL Server, usado para manter o estado de Web farms ou quando precisamos manter o estado do session mesmo depois de reiniciar a aplicação no IIS.

Nos dois últimos tipos, StateServer e SQLServer, é necessário serializar os dados da sessão antes de se armazenar. O que pode aumentar a tráfego e tornar a aplicação lenta quando se tem muitos dados no session.

No ASP.NET 4 há uma maneira de resolver isso, usando compressão desses dados serializados antes de transmiti-lo pra outro server, por exemplo. Para isso basta adicionar o atributo compressionEnabled na configuração do session, mais ou menos assim:

image

Quando a opção compressionEnabled está ativada o .Net Framework 4 automaticamente serializa o session e comprime esses dados usando o algoritmo GZip, usando a classe System.IO.Compression.GZipStream para realizar as operações de compressão e descompressão dos dados.

Claro que habilitando esta opção haverá um gasto maior de CPU, mas não deve ser nada muito dispendioso já que o GZipStream é bastante rápido.

Por hoje é só, espero que tenham gostado :)

[]s

23/04/2010

[DotNetArchitects] Quem não foi pro Community Launch PE perdeu!

Semana passada mas especificamente no sábado dia 17/04 houve o primeiro evento organizado pelo .Net Architects de Recife. O evento foi marcado com a presença de muitos estudantes e profissionais que, apesar da chuva forte, compareceram para prestigiar as palestras sobre diversos assuntos envolvendo tecnologias novas da Microsoft.
Eu como membro ativo e um dos organizadores do evento, tive o prazer de palestrar sobre as novidades do Visual Studio 2010.
E ainda fiz parte da mesa redonda sobre Qualidade de Software, onde Daniel Ferreira (@dfsdaniel), Helio Bentzen (@heliobentzen), Roberto Alves (@jr_robertoalves) e eu (@waldyrfelix) falamos sobre diversos aspectos da qualidade em software.
No geral, tanto as palestras como a discussão na mesa redonda foram de altíssimo nível. Quem foi não se arrependeu e que não foi é trouxa! :P
E pra finalizar este post com chave de ouro seguem as fotos!!! http://picasaweb.google.com.br/dcruzb/CommunityLaunchPEDEV
Próximo post continuo a série sobre ASP.NET 4. Abraço pessoal!

12/04/2010

[ASP.NET 4] Mudanças no web.config

Olá pessoal dando continuidade a série sobre ASP.NET 4, vamos falar hoje sobre uma mudança significativa no tamanho do XML dentro do web.config de uma aplicação web.

Desde as primeiras versões do ASP.NET o web.config tem sido incrementado mais e mais para suportar as funcionalidades que iam sendo adicionadas a cada versão. Desta forma ao chegar na versão 3.5 do ASP.NET qualquer aplicação, por mais básica que fosse, ficava com um arquivo de configuração gigantesco.

Na novíssima versão do ASP.NET não precisamos ter tantas linhas de XML na configuração, não precisamos sequer colocar nada dentro do web.config.

Isto acontece porque todas as configurações padrão que foram sendo adicionadas, como integração com IIS 7, suporte a Ajax, roteamento de URL e etc, foram movidos para o arquivo de configuração da máquina, o machine.config.

Imagine só um web.config tão enxuto quanto este:

image

Legal né? Uma grande vantagem dessa nova característica é que torna o desenvolvimento para aplicações ASP.NET um pouco menos dependente do Visual Studio, muito embora acredite que esta não seja lá uma opção muito interessante. :)

Abraço pessoal e até a próxima.

03/04/2010

[ASP.NET 4] Geração de IDs mais eficientes

Oi pessoal.

Estou inaugurando agora, uma série de posts sobre novas features do ASP.NET 4, então vamos lá!

Nas versões anteriores do ASP.NET a questão de geração de IDs era um pouco complicada e porque não dizer tosca. Onde era muito comum códigos lindos como esse:

image

Se tornar uma aberração quando renderizado para HTML assim:

image

O fato é que isso era horrível quando se precisava manipular o componente do client usando, por exemplo, Java Script ou CSS. Além do que aumenta em muito o tamanho da página, pois o programador não tem controle algum sobre o que vai para o browser do usuário.

Mas para a alegria de todos isso mudou com o advento do ASP.NET 4 \o/

Na novíssima versão do ASP.NET existe uma nova propriedade chamada ClientIDMode que foi adicionada a classe Control do namespace System.Web.UI o que significa que qualquer controle agora possui esta nova propriedade.

O ClientIDMode possui 4 valores possíveis, são eles:

  • AutoID – Que equivale a maneira como as versões anteriores já renderizavam o HTML.
  • Static – Força o ASP.NET a manter o mesmo ID do controle server side. Não deve ser usado quando estiver dentro de um controle de repetição, por motivos óbvios de repetição de IDs na página.
  • Predictable – Esta opção foi criada para ser usada com controles de repetição, pois gera um ID concatenando os IDs dos containers, melhorando assim a legibilidade e acesso ao elemento da página.
  • Inherit – Esta já é conhecida. É usada para manter as mesmas configurações herdadas pelos elementos pai. Esta opção é a default.

Vamos então a alguns exemplos, digamos que eu tenha um GridView como este:

image

Observe que coloquei os itens como template para exemplificar como os IDs serão gerados.

Caso na linha 1 esteja setado ClientIDMode="AutoID" o HTML gerado fica bem parecido com o que havia nas versões anteriores, algo como isso:

image

Caso a propriedade esteja assim ClientIDMode="Static", todos os itens iguais dentro do GridView ficarão com o mesmo ID.

image

E por último temos a propriedade assim ClientIDMode="Predictable" onde os IDs gerados serão compostos pelos IDs do elemento pai, o ID do próprio elemento mais o número da linha começando por zero. Segue o exemplo:

 image

Podemos ainda deixar o exemplo mais rico, utilizando uma outra propriedade nova chamada ClientIDRowSuffix que recebe o nome de um dos campos do DataSource. Neste caso vou colocar o ID como sufixo nas linhas geradas, assim ClientIDRowSuffix="ID":

image

Legal né? Ainda podemos ter um controle mais geral sobre como os controles irão renderizar seus ID colocando o ClientIDMode na diretiva @Page da página.

image

Ou ainda usar o famoso Web.config para setar a configuração pro site inteiro.

image

Era isso que eu tinha pra mostrar a vocês, espero que tenham gostado da iniciativa. Aguardem os próximos posts. Obrigado e até a próxima.

[]s

27/03/2010

Palestras e Community Launch PE / Dev

Olá pessoal.

Ontem (25/03) e hoje (26/03) palestrei na FIR e na Unicap, as palestras foram sobre Visual Studio 2010 e foram muito bem recebidas. O pessoal ficou bastante empolgado com as novas features do Visual Studio.

A palestra da FIR foi focada em ALM no Visual Studio 2010 e houve antes a palestra de Felipe Pimentel sobre Windows Phone 7.

Já a palestra da Unicap foi mais focada no código e tivemos também a presença de Thiago Holder que falou muito bem sobre DDD (Domain Driven Design). Thiago postou as fotos pra gente no Picasa confiram.

Outra coisa que não posso deixar de comentar aqui, é que nós do grupo .Net Architects de Pernambuco estamos em parceria com a Microsoft montando um evento chamado Community Launch. Este é um evento totalmente realizado pelas comunidades locais de todo o Brasil.

O Community Launch está sendo realizado Brasil a fora com o intuito de mostrar para a comunidade dev e infra todas as novidades da plataforma da Microsoft. E como somos desenvolvedores, o Community Launch que estamos organizando será totalmente focado em desenvolvimento de software.

Para os interessados segue o link do Community Launch PE / Dev, não percam pois essa será uma grande oportunidade de conhecer tecnologias novas e gente nova também…

E para quem quiser acompanhar o que está acontecendo em tempo real sobre o Community Launch PE, fiquei atentos à hashtag #CLPE no Twitter! E se der tempo me sigam também @waldyrfelix :D

Abraço pessoal e até a próxima.

17/03/2010

Semana de grandes novidades

Esta semana está rolando o MIX10 (de 15 a 17/Março) em Las Vegas, evento organizado pela Microsoft com palestras sobre novas tecnologias e anúncios de novos produtos.

Só pra ter ideia do que tá rolando por lá, veja o que foi lançado já:

Silverlight 4 RC: Finalmente o Silverlight 4 saiu do beta e já tem um patch que pode ser baixado aqui http://silverlight.net/getstarted/silverlight-4/

SDK do Windows Phone 7: E confirmando todas as expectativas de desenvolvimento com Silverlight e XNA 4.0 no novo sistema mobile da Microsoft. As ferramentas para começar a desenvolver já estão disponíveis para download no site http://developer.windowsphone.com/

Preview do Internet Explorer 9: Já pode ser baixado no site http://ie.microsoft.com/testdrive/

Expression Blend 4: Lançado e já pode ser baixado http://www.microsoft.com/downloads/details.aspx?FamilyID=6f014e07-0053-4aca-84a7-cd82f9aa989f&displaylang=en

E olha que isso aí foi só um aperitivo, quem ficou com água na boca pode acompanhar ao vivo o resto do evento pelo site oficial http://live.visitmix.com

Ah e essa notícia aqui é de última hora. O Channel 9 disponibilizou um Kit de Treinamento em vídeo sobre o Silverlight 4 http://channel9.msdn.com/learn/courses/Silverlight4/

Pois é amigo, incrível como uma empresa tão grande como a Microsoft tem conseguido entregar produtos de altíssima qualidade tão rapidamente.

Alguma dúvida que Silverlight é o futuro? :D

Abraços e até a próxima

15/03/2010

A 1ª Reunião do .Net Architects em Recife

Olá pessoal!

No último sábado dia 13/03/2010 aconteceu a primeira reunião do .Net Architects em Recife.

Para quem não sabe o .Net Architects é o maior e mais movimentado grupo focado em arquitetura de software do Brasil. O grupo começou em São Paulo e já está no Rio de Janeiro, em Minas Gerais e agora em Recife. A base das discussões giram em torno de melhores práticas de desenvolvimento e arquitetura de software, aplicando tudo isso ao mundo .NET.

A nossa primeira reunião foi muitíssimo interessante, o tema abordado foi TDD (Test Driven Development), o primeiro palestrante foi Felipe Pimentel (@felipe_pimentel) e a reunião aconteceu na FIR (Faculdade Integrada do Recife) que nos apoiou com o espaço físico e equipamentos.

A principio o pessoal estava bastante empolgado com reunião e a discussão foi bem interessante, apontamos nossos pontos de vista e tivemos um conteúdo de alto nível. Para quem ficou de fora desta, não fique triste que faremos outras reuniões (muitas outras espero) e no que depender da força de vontade do grupo, novos temas não irão faltar.

Se você ainda não participa do grupo já tá na hora de entrar nas discussões e ficar de olho na hashtag do twitter #DotNetArchitects tem muita coisa boa por aí.

E essa foi a nossa foto do grupo, olha a cara de satisfação da galera depois da reunião, você vai perder?

DSCN0189

Links do .Net Architects:

Abraço pessoal!