by Fujiy
6. fevereiro 2010 12:41
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.
by Fujiy
27. janeiro 2010 10:56
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.
by Fujiy
19. janeiro 2010 09:54
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
by Fujiy
13. janeiro 2010 09:41
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();
....
by Fujiy
13. janeiro 2010 07:47
Estou lendo o livro "O Melhor do JavaScript" depois que ouvi falar dele num podcast sobre linguagens dinâmicas do .Net Architects. O livro é pequeno, cerca de 160 páginas, mas da uma boa noção sobre JavaScript, e melhor sobre como usá-lo bem.
JavaScript apesar de ser poderoso, tem muitas "armadilhas" e problemas na linguagem (quem nunca usou == achando que estava fazendo um ===?). No ECMAScript 5 muitos problema são resolvidos com a opção "use strict", mas enquanto isso, cabe a nós definir suas melhores características e usá-las.
O autor, Douglas Crockford, que é desenvolvedor no Yahoo, considerado "O especialista" em JavaScript pela comunidade de desenvolvimento e também quem manter o formato JSON, mostra o melhor do JavaScript e só cita as partes ruins para podemos evitá-las.
Você pode achar o livro no Submarino

by Fujiy
18. dezembro 2009 08:10
Já está disponível o RC do ASP.NET MVC 2 no seguinte link: ASP.NET MVC 2 RC
As novidades são em maioria nas validações do lado cliente.
Já vou atualizar, eu estava usando o Beta, mas parece que não teve quase nenhum breaking change entre eles.
Outra novidade que vi no blog do ScottGu é que teremos um RC público do Visual Studio 2010 em fevereiro, eles estão fazendo diversas otimizações para deixar a IDE mais rápida. Assim esperam um retorno dos usuários e talvez o lançamento final, previsto pra março, atrase algumas semanas, para ter mais tempo de enviarmos os feedbacks.
by Fujiy
6. novembro 2009 20:47
Depois de pedir sugestões sobre o nome do projeto, Jon Skeet iniciou um novo projeto open source. É um "port" do Joda Time, uma biblioteca para manipular data e hora no Java.
Segundo ele, o foco não será apenas no código, mas em administrar o projeto e fazer as escolhas corretas.
Alguns exemplos:
Qual versão do .Net surportar? 2.0? 3.5? 4.0? Silverlight? etc...
Será possível compilar uma versão usando recursos do .Net 4.0 e mesmo assim facialmente criar uma versão pro 3.5?
Quais ferramentas para documentar, testar, mocks deve ser usada?
Entre outras...
Já existe o site do projeto, Noda Time e o grupo no google, pretendo acompanhar e até contribuir, é uma boa chance pra aprender mais sobre como gerenciar um projeto, além de como desenvolver um código de alta qualidade.
by Fujiy
22. outubro 2009 08:01
Segunda-feira, 19, o VS2010 foi disponibilizado aos assinantes do MSDN, o ontem para o grande público.
Para fazer o download basta ir para esta página: Visual Studio 2010. Encontrei o link em um blog da Microsoft, pois o site oficial do VS2010 apenas disponibiliza um web installer. O que não me agrada muito.
by Fujiy
1. outubro 2009 06:40
Mais dois meses e já temos o Preview 2 do ASP.NET MVC 2. Algumas das novidades deste Preview:
- Validação Client-Side - Agora também é possível ter validação baseada nos metadados das propriedades, graças ao jQuery validation library que agora também vem no pacote.
- Areas - Agora você pode criar Areas sem precisar ter um projeto separado para cada uma.
Download
Notas
Roadmap
O download está disponível apenas pro Visual Studio 2008 SP1, quem quiser usar no VS 2010 deve esperar o Beta 2,que já virá com o MVC 2 Preview 2, assim como o RTM virá com o MVC 2 RTM
by Fujiy
25. setembro 2009 00:10
Considerando o seguinte código, qual será o resultado?
class Program
{
static void Main()
{
Derived c = new Derived();
c.Metodo(1);
}
}
public class Base
{
public void Metodo(int a)
{
Console.WriteLine("Int32 / " + a.GetType());
}
}
public class Derived:Base
{
public void Metodo(object a)
{
Console.WriteLine("Object / " + a.GetType());
}
}