Um dos blogs que eu leio é o blog do Eduardo Miranda. Ele andava meio quieto, mas voltou a postar.

Ele fez um post curto e interessante semana passada sobre o impacto do acoplamento de uma aplicação sobre sua testabilidade chamado “O problema é a testabilidade, não o Banco de Dados!”. Vale a pena ler.

Palavras do Eduardo:

“Faz algum tempo que eu acredito que testabilidade não é uma característica negociável, pois o custo de não tê-la é enorme e, mais dia menos dia, virá morder o seu calcanhar.”

Amém.


Postado na(s) categoria(s) Indicação de conteúdo , Arquitetura pelo giovanni bassi em 26 de agosto de 2008 às 22:38 | Tags: ,

Ninguém avaliou. Dê sua nota!

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Uma das coisas mais diferentes que mostrei na minha palestra do Web Days foi a possibilidade de utilizar expressões, algo que veio de presente com o LINQ, para criar rotas. Por exemplo, para criar esse html:

<form action="/Categories/Update/1" method="post" >

Utilizei o seguinte código:

<% using (Html.Form((CategoriesController ctl) => ctl.Update(this.ViewData.Model.CategoryID)))
       { %>

Estranho, certo? O que está acontecendo? Se você for olhar para a assinatura do método Form (é um método de extensão):

public static IDisposable Form<T>(this HtmlHelper helper, Expression<Action<T>> postAction) where T : Controller;

Vai notar que o segundo parâmetro sendo passado é uma Expression (uma expressão) de uma Action<T>, onde T deve ser um Controller do MVC (o primeiro parâmetro é um parâmetro do método de extensão, ou seja, é um HtmlHelper). E Action é um delegate, certo? Tá… e aí? Aí que o seguinte código, com lambdas, gera um delegate:

  (CategoriesController ctl) => ctl.Update(this.ViewData.Model.CategoryID)

Só que não é um delegate, o esperado, e sim uma Expression de um delegate. Essa Expression é gerada pelo compilador. Pedi ao Reflector para descompilar o código gerado. Dá uma olhada na viagem:

Pois é, aquele pequeno delegate virou esse negócio gigantesco, tudo gerado pelo compilador. Como se diz lá fora, isso é “syntatic sugar” da linguagem, querendo dizer que a linguagem permite uma construção super simples e bonita de uma lambda, mas depois ela vira esse negócio todo depois. Já imaginou fazer isso tudo na mão? Não ia valer a pena...

O resultado é uma expressão, ou seja, uma informação sobre a Lambda passada. Quer dizer mais ou menos o que se lê na lambda, ou seja:

Tendo um determinado controlador do tipo CategoriesController, chame o método Update dele com o valor que estiver no campo CategoryID do modelo.

O MVC pega essa informação e transforma em uma tag form, com a chamada no controlador e ação esperados. Inteligente, não é?

E no fim das contas, a função não é nunca chamada, já que não passamos um delegate, mas uma expressão. Para executar a expressão teríamos que compilá-la, o que até é possível (gera um delegate igual ao que lhe deu origem), mas isso não é feito pelo MVC.

O Renato Guimarães já falou do tema expressions no blog dele, e muito bem (tem até vídeo), então não vou ficar repetindo. Dêem uma olhada no blog dele se vocês quiserem aprofundar no assunto. Além desse vídeo que estou linkando tem outros.

Curtiram? Muita loucura? É… a linguagem está evoluindo… temos que evoluir junto. Já imaginaram o C# 4.0? Vai ser cheio de outras loucuras. Eu até agora só ouvi umas histórias beeeeeem complexas. E o Spec# então? Será que vem? Eu apóio.


Postado na(s) categoria(s) ASP.Net MVC pelo giovanni bassi em 26 de agosto de 2008 às 18:13 | Tags: , ,

3.0 ponto(s). Avaliado por 1 pessoas

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Bem vindo ao Web DaysPessoal, o Web Days, evento que a Devmedia organiza sobre desenvolvimento web para .Net e Java, foi na sexta e sábado passado, e foi um sucesso. Fui o responsável pelo conteúdo de .Net do evento, e isso me colocou bem próximo do evento, dos palestrantes, da organização e dos congressistas. O feedback de todos os pontos de vistas foi muito bom. Já recebi um feedback inicial da Devmedia com relação às avaliações, e as notas já apuradas são ótimas.

Guinther Pauli, Rodrigo, Fernando Cerqueira, Bruno Soninno e Diego NeufertNão pude assistir a todas as palestras, mas as que vi gostei bastante. A palestra do Carlos Hulot sobre O papel de um arquiteto foi excepcional, com indicações de como é a profissão do arquiteto de software, opções de certificação disponíveis, etc. A palestra de Sync Framework do Luciano Moreira também foi muito interessante, mostrando como a Microsoft continua revolucionando o mercado com soluções que facilitam muito o trabalho dos desenvolvedores, que podem focar no negócio, e não na infra-estrutura da aplicação. 

Eu (Giovanni Bassi) apresentando a palestra de ASP.Net MVCAs do Diego Neufert, de Ajax para aplicações de verdade, que eram na mesma hora das minhas (de Routing e MVC), também lotaram e foram muito bem comentadas. O Renato Haddad deu também mais de uma palestra, e todas muito boas e bem comentadas. Em uma das duas palestras que fez, o JALF mostrou o desenvolvimento para XBOX 360, uma das que eu pessoalmente estava aguardando para ver; muito interessante.

Como eu disse, não consegui ver as palestras todas, e nem vou conseguir comentar todas, mas os feedbacks que eu recebi foi de que todas foram muito boas. A de C# 3.0, por exemplo, eu soube que lotou tanto que nem coube todo mundo. As salas estavam disputadas.

Bruno Soninno, Renato Haddad e eu

Uma das coisas que vi que o pessoal mais apreciou foi o fato de ter recebido um DVD de todas as palestras, Java e .Net. Foram, na verdade, 3 DVDs lotados com o conteúdo de todo o evento. Todo mundo vai poder conferir em casa as palestras que não conseguiu assistir porque estava vendo outra (tivemos 6 salas em paralelo), ou relembras as que já viu.

Como eu disse: sucesso total. Ano que vem deve ter mais, ou então teremos outro Web Mobile Tech Week, como ano passado, ou outro evento ainda, vai saber. De qualquer forma, com certeza, os eventos que a Devmedia têm feito tem se colocado entre os melhores do ano para desenvolvimento .Net, pela diversidade das palestras, pela excelente qualidade dos palestrantes e do conteúdo e pela organização, cuidadosa e bem feita.

 

Abaixo vocês vêem uma foto do encerramento do evento: eram 19 horas do sábado, o pessoal estava lá desde as 9 da manhã e continuava totalmente lotado. Como foi logo depois da minha palestra meus pés mal se aguentavam…

Encerramento

Se você foi comente aqui, dê sua opinião sobre o que gostou, o que não gostou, o que poderia ser melhor, o que foi o melhor, enfim, fale!


Postado na(s) categoria(s) Eventos pelo giovanni bassi em 26 de agosto de 2008 às 16:06 | Tags:

Ninguém avaliou. Dê sua nota!

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
novo about do Reflector

Lutz Roeder, o desenvolvedor da ferramenta de desenvolvimento .Net Open Source freeware mais utilizada no mercado (acredito eu), acaba de vender o Reflector para a Red Gate.

O que isso significa? Ainda que a Red Gate diga que nada vai mudar, eu não acredito. Impossível. Os caras compraram a ferramenta para vendê-la de alguma forma. Alguma coisa tem que mudar. Porque a Red Gate compraria uma ferramenta, colocaria desenvolvedores para trabalhar nela, e daria ela de graça? Eu entendo um indivíduo fazendo isso, não uma empresa. Ok, eles dizem que vão ter uma “community version” da ferramenta, mas isso geralmente quer dizer que você recebe a ferramenta pela metade, e se quiser ela completa tem que pagar. Adeus .Net Reflector por inteiro de graça.

Além do mais, o criador da ferramenta, que trabalha para a Microsoft, vai parar de trabalhar na mesma. E isso também é uma grande mudança.

A página de download também mudou. Antes era uma página do Lutz Roeder, que agora direciona para uma página da Red Gate. O novo endereço é: http://reflector.red-gate.com/download.aspx.

Ao lado vocês vêem a nova imagem do “Help About”, já com o nome da Red Gate.


Postado na(s) categoria(s) pelo giovanni bassi em 26 de agosto de 2008 às 06:20 | Tags:

Ninguém avaliou. Dê sua nota!

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Quem é Giovanni Bassi

Giovanni Bassi Sou uma pessoa apaixonada por tecnologia e especificamente por .Net. Sou consultor independente especialista em .Net, focado em arquitetura e melhores práticas. Tenho dezenas de artigos publicados na .Net Magazine, revista da qual sou editor técnico. Ministro palestras e cursos de vez em quando, e quando dá tempo eu respiro um pouco. Mais detalhes nesta página.

Calendário

«  agosto 2008  »
seteququsedo
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567
Ver detalhamento de posts no calendário

Postagens recentes

Comentários recentes

Disclaimer / Aviso
As opiniões colocadas neste blog são minhas e pessoais e não expressam necessariamente as opiniões de meus empregadores, pareceiros e amigos. Da mesma forma, os comentários feitos por leitores do blog não expressam a minha opinião.

© Copyright 2008 .Net Unplugged
Sign in