off: Software legado
Por Juliano Oliveira em Julho 1, 2008Estou a um tempo sem postar, culpa do acúmulo de trabalho! Olha eu dando uma “limpada” na mesa e o VBzão aberto lá!!!
Dias melhores virão!
[]´s
Estou a um tempo sem postar, culpa do acúmulo de trabalho! Olha eu dando uma “limpada” na mesa e o VBzão aberto lá!!!
Dias melhores virão!
[]´s
Os últimos dias tenho estudado bastante MVC. O projeto da Microsoft com o ASP.NET MVC que está ficando muito legal está íntimamente ligado com o projeto que vem ditando as regras e tendências no desenvolvimento web: o Ruby on Rails.
Tem sido muito boa a experiência que venho tendo com o Ruby on Rails.
Sobre o Ruby posso dizer que é uma linguagem sensacional de flexibilidade e recursos que impressionam aqueles que trabalham e já estão acostumados com linguagens estáticas como Java, C#, entre outras.
O Rails é quem vem alavancando tudo isso, um framework que deixa o trabalho simples, divertido e agora com a nova versão 2.0, “sexy”. Uma das coisas que mais impressiona na plataforma é a força da comunidade e a força dos brasileiros na comunidade. O Programando em .NET vai a partir de agora também entrar nessa trilha e para começar recomendo a rede social Working with Rails onde eu acabo de me cadastrar e convido a todos a se cadastrarem também. Aos que quiserem me recomendar na rede fica abaixo o atalho:
Apesar de o Programando em .NET essencialmente ser um blog sobre a plataforma Microsoft (até pelo nome do blog) o que sempre tive em mente é divulgar, comentar e explanar assuntos sobre tecnologia e Ruby on Rails “é tecnologia” e tecnologia de primeiríssima qualidade e por isso não pode deixar de estar aqui em nossos posts.
Então, para aqueles que nos acompanham irei postar também assuntos sobre a plataforma.
Segue abaixo algumas recomendações sobre o assunto:
Ruby:
Site oficial
Ruby Core Reference
Rails:
Fabio Akita
Carlos Brando
Tor Norbye
Existem muito, mas muito mais referêrencias pela internet. Como eu disse, a comunidade é muito participativa. Esses que eu recomendei são só alguns sites que eu gosto muito.
[]’s
Com tanta grana no bolso eu também seria feliz assim. Hehe!
[]´s
A equipe do Scott Gu liberou uma nova prévia do ASP.NET MVC. Melhoraram a integração com o Visual Studio e pequenos detalhes do framework que basicamente foram a confirmação dos Refresh Releses da Preview 2.
Download da instalação (arquivo MSI)
Novidades como duas novas classes, a SelectList e a MultiSelectList. Esses são para facilitar no preenchimentos de campos dropdown, ficou bem legal, o código html cada vez mais limpo!
No sistema de URL Routing inclui uma série de melhorias. A partir do SP1 do .NET 3.5 o URL Routing irá suportar também requisições a WebForms, além de requisições MVC. Um novo método IgnoreRounte() que irá facilitar a negação de requisições para nossas regras de roteamento. O MapRoutes() ganhou algumas sobrecargas em que passamos dois, três ou quatro parametros (nome da rota, sintaxe da URL, parametro padrão da URL, Parametro opcional para gerar constraints com expressão regular na URL).
Podemos também nessa nova preview adicionar novos caracteres nas regras de roteament. São eles “-”, “.” e “;”.
Enfim, tá muito loco o framework! Quem quiser conferir um projeto pronto segue a dica do Northwind MVC Sample para download, por Phil Haack.
Fica ae alguns videos do Scott Hanselman.
Introduction to ASP.NET MVC Preview 3
Basic Application Building with ASP.NET MVC Preview 3
Fonte:
ASP.NET MVC Preview 3 Release by Scott Gu
ASP.NET MVC Preview 3 by Scott Hanselman
[]´s
E ae galera, depois de um tempo sem post decidi escrever sobre um recurso bem legal do ASP.NET MVC Framework, um dos novos eventos de ActionFilters que foram liberados na última revisão. São eles:
No exemplo, veremos o poder do evento OnActionExecuting onde antes de qualquer método que definirmos, ser necessário estar logado, nós “testaremos” se o usuário está ou não logado no sistema. O interessante neste recurso é a facilidade para definirmos esta regra aos métodos através de atributos, definidos na declaração dos métodos. Vejam essa classe:
public class RequiresAuthenticationAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(FilterExecutingContext filterContext)
{
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
string redirectOnSuccess = filterContext.HttpContext.Request.Url.AbsolutePath;
string redirectUrl = string.Format("?ReturnaUrl=~{0}", redirectOnSuccess);
string loginUrl = FormsAuthentication.LoginUrl + redirectUrl;
filterContext.HttpContext.Response.Redirect(loginUrl, true);
}
}
}
Basicamente, tá pronto
Só com essa classe bem simples já podemos definir métodos que necessitem que o usuário esteja logado no sistema. Lá na declaração da classe vemos que estamos criando uma classe herdada de ActionFilterAttribute, portanto, estamos criando um novo atributo chamado RequiresAuthentication. O código é bem simples: Se filterContext.HttpContext.User.Identity.IsAuthenticated for falso redireciona para a página de login e de quebra, manda também a página que o pelego tentou acessar para depois de logado redirecionar para ela novamente.
Para termos um código de fácil manutenção, setamos no web.config a rota de redirecionamento (FormsAuthentication.LoginUrl).
<system.web>
<authentication mode="Forms">
<forms loginUrl="/Home.mvc.aspx/Login" />
</authentication>
</system.web>
E pronto, agora qualquer método será facil de implementarmos necessidade de autenticação.
public class HomeController : Controller
{
public void Index()
{
RenderView("Index");
}
[RequiresAuthentication]
public void Post()
{
RenderView("Post");
}
}
Bem legal né, com um simples [RequiresAuthentication] mudamos todo um escopo de um método!
Para autenticar o usuário, crie uma View com um Form pedindo usuário e senha e redirecione para um método de Autenticação, faça o beabá para verificar se usuário e senha estão corretos depois é só autenticar o usuário assim:
public void Autenticar(string usuario, string senha, string RetornaUrl)
{
//TODO: Verifica se esta logado ou não
if(!UsuarioLogado)
{
// O rememberMe é para persistir ou não o Cookie
FormsAuthentication.SetAuthCookie(usuario, rememberMe);
RedirectToAction(RetornaUrl)
}
else
{
TempData["MensagemDeLogin"] = "Login incorreto";
RedirectToAction("Login");
}
}
Até o próximo post!
Fonte: ASP.NET MVC: Securing Your Controller Actions
[]´s
A Microsoft está promovendo um evento Microsoft CEO Summit 2008 para os executivos mostrando as novidades de Redmond.
Entre as inovações está o Microsoft TouchWall:
Com certeza desenvolvido em Silverlight.
[]´s
Fonte: Ramon Durães
Além do hotfix para Visual Studio 2008, neste link você vai encontrar todos os hotfix publicos lançados para Visual Studio e .NET Framework
Visual Studio and .NET Framework Hotfix Public Availability Program
[]´s
Fonte: Ramon Durães
Quarta-feira passada (30/04/08) estive participando no Podcast Digital Paper Web #15 com o tema R.I.A ou Não, onde discutimos tecnologias como Flex, Ajax e Silverlight.
Para quem gosta do assunto ou quer ouvir um podcast divertido está ai a deixa, acesse agora http://digitalpaperweb.com.br/ezine/evento/podcast-15-ria-ou-nao baixe, ouça e comente.
Saiu na Info Exame deste mês uma entrevista do “Rasmus Lerdorf” (lerdorf mesmo), criador do PHP.
Ao ser questionamo sobre o futuro da plataforma .Net ele soltou uma piada!
Com o sucesso de linguagens e frameworks de código aberto, você enxerga algum futuro para plataformas comerciais, como o .NET?
E o banana me solta uma resposta tosca!
NÃO!
Esse vai dormir com a orelha quente durante meses!
Cada uma viu.
Edit: Só para constar, eu gosto muito do PHP, como disse o Tiago no comentário dele, é uma ferramenta legal assim como o C#. E um lembrete, PHP é linguagem de programação e .NET Framework de desenvolvimento, portanto, compare o .NET com o Zend Framework, CakePHP ou qualquer outro não com PHP! Será que o Rasmus condena também a vida do C#?
[]´s
Fonte: Info Exame
O que mudou?
Mudanças no Routing.
Fonte: ASP.NET MVC April CodePlex Source Push
Até a próxima!
[]´s
Pensamentos Recentes