02/11/2010 11:01:00
By Felipe Pessoto
Estou acompanhando os podcasts do .Net Architects e tenho gostado muito dos debates.
Esta semana saiu mais um, sobre Qualidade de Software:
"Neste episódio do .Net Architects Podcast Alexandre Valente, Giovanni Bassi e Denis Ferrari falam sobre qualidade de software, esse episódio nasceu de uma discussão iniciada pelo Alexandre Valente no .Net Architects.
Alguns dos temas abordados foram:
O que é qualidade de software.
Como medir qualidade de Software.
Responsabilidades do gerente de TI.
Treinamento x Qualidade."
Download (13,06MB)
.Net Architects Podcast
02/06/2010 12:41:00
By Felipe Pessoto
Foi lançado um novo release candidate do ASP.NET MVC 2. Esta versão será importante pois traz algumas modificações importantes, principalmente nas validações.
Antes se você recebia um tipo "Comentario" no seu Action Method, o Model Binder do ASP.NET MVC somente validava os campos que vieram no POST, por exemplo um campo obrigatório que viesse vazio. O problema era que um usuário mal intencionado poderia alterar o seu html do lado cliente e fazer um under-post, evitando que a validação pegasse o erro. Este era um comportamento intencional, pois os desenvolvedores do ASP.NET MVC queriam permitir que fossem criadas Views parciais sem a necessidade de se ter outra classe específica para ela.
Alguns desenvolvedores do MVC ainda alertam que mesmo assim o problema não está totalmente resolvido, pois a Validação não é um sistema de segurança, e sim somente para validar. Não vai previnir que o usuário faça por exemplo um over-post, por exemplo mudando a flag do comentario para Aprovado. Por isso a importância de ser usar uma white/black-list em todos os binds, principalmente as white-lists que são mais seguras.
Além disso os Input Helpers fortemente tipados agora suportam indices, algumas melhorias de usabilidade nos validators, o jQuery foi atualizado pro 1.4.1 e foram feitas melhorias de performance.
01/27/2010 10:56:00
By Felipe Pessoto
Recentemente o CodePlex passou a suportar o Mercurial como opção para controle de versão, assim como o GoogleCode também. O Mercurial assim como o Git, é um sistema de controle de versão distribuído, permitindo que os usuários criem clones do seu repositório e possam dar commit nos seu próprio repositório por exemplo.
No blog do CodePlex a Sara Ford da uma explicação para quem nunca usou um controle de versão distribuído.
01/19/2010 09:54:00
By Felipe Pessoto
Foi lançada a versão 1.4 do jQuery e para divulgar o lançamento foi publicado o site jQuery14.com. O site será atualizado diariamente durante 14 dias, com vídeos e artigos sobre as novas funcionalidades. Parece que a nova nersão está bem mais rápida. Para fazer o download, acesse o site oficial jQuery
01/13/2010 09:41:00
By Felipe Pessoto
Os tipos anônimos introduzidos no C# 3.0 para facilitar o uso do LINQ agilizam o desenvolvimento, evitando que tenhamos que declarar uma classe em casos específicos.
Mas esses tipos tem alguma limitações, intencionais, por exemplo, não podemos usar os tipos gerados como retorno ou parâmetro de um método. Até porque os tipos gerados são internal.
O desafio é retornar um tipo anônimo e usá-lo no seu código, sem usar Reflection. Não tem uso prático, já que não é uma boa prática fazer isso, mas serve como exercício.
Para adiantar, vou postar o método que faz o retorno:
public static object RetornaAnonimo()
{
return new {Id = 1, Nome = "João"};
}
Agora resta conseguir usar o tipo numa chamada. Ex.:
var retorno = RetornaAnonimo();
...