Archives for Desenvolvimento

ASP.NET Core

Validando dados com Fluent Validation


Fala galera, beleza? Vou apresentar uma maneira bem sucinta de validar os dados de modo server-side no ASP.NET Core usando o Fluent Validation. Para quem não conhece o Fluent Validation, trata se de uma excelente biblioteca disponível no .NET Framework para realizar validação de classes usadas como View Models, Commands (conceito do CQRS), DTOs ou até mesmo entidades de domínio. A validação ocorre usando o que o próprio framework define como Fluent Interface que nada mais é que construir as regras de validação com métodos encadeados e expressões lambdas, modo que todo desenvolvedor .NET já é acostumado a trabalhar. No caso do...
Continuar Lendo »
C# 5.0

Dicas sobre .NET: consultas LINQ em objetos compostos


Muitas consultas LINQ envolvem apenas a seleção de propriedades no conjunto de objetos que se está manipulando. Este procedimento costuma se assemelhar ao uso da cláusula SELECT em uma tabela relacional convencional. Embora a prática citada seja a mais comum em aplicações .NET, há casos nos quais objetos contam com propriedades que também são coleções. E eis que surge a necessidade de se retornar os valores dos objetos-filhos. Como proceder nestes casos? Ainda assim será possível o uso de uma consulta LINQ nestes cenários. Para exemplificar isto serão utilizadas duas classes (Cidade e Estado), cuja implementação está na próxima...
Continuar Lendo »
ASP.NET WEB API 2

Swagger – Documente seu ASP.NET Web API Rest


Fala Galera, Hoje meu post irá falar sobre como podemos documentar nossas API REST. Documentar nunca foi e nunca será uma tarefa das mais legais geralmente é monótono, cansativo e trabalhoso. Documentação tende-se a se perder a longo do tempo e facilmente ficar desatualizado. E ai que surgiu o Swagger, ele é um framework que automatiza a documentação, com ele você pode descrever, consumir e visualizar sua API REST. O interessante do Swagger é que ele mantém sua documentação sempre sincronizada tanto no lado cliente quanto no lado servidor já que ele está integrado diretamente ao código. Swagger é um Framework multi...
Continuar Lendo »
Desenvolvimento

Dicas sobre .NET: utilizando a classe Stopwatch


Determinar o tempo de processamento de uma tarefa é uma necessidade bastante comum em projetos de software. Este tipo de procedimento costuma estar associado à implementação de logs de monitoramento ou, mesmo, à geração de feedback reportando o andamento de uma atividade. Muitos desenvolvedores costumam registrar o horário de início e término em casos como este, calculando ao final o tempo decorrido na execução de um conjunto de instruções. Embora se trate de uma prática válida e adotada por muitas aplicações, a plataforma .NET conta com um recurso que simplifica esta tarefa: a classe Stopwatch, que integra o namespace...
Continuar Lendo »
Arquitetura

Message Broker com RabbitMQ


Fala Galera, Hoje venho falar sobre como podemos desacoplar nossa aplicação, distribuindo o processamento de alguns serviços e ganhando escalabilidade. Esse paradigma em computação é conhecida como Computação Distribuída. Um dos conceito da computação distribuída é a troca de mensagem com a utilização de Filas. E neste post estarei demonstrando como usar uma topologia de fila com o RabbitMQ O que é RabbitMQ Message Broker? RabbitMQ é uma serviço de Message Broker, open source multiplataforma que foi desenvolvido em ERLANG, totalmente suportados por diversas linguagens de programação, fácil de usar, confiável, com administração nativa e failover. Instalação Para essa demostração, irei utilizar o...
Continuar Lendo »
Desenvolvimento

JS Unit Testing – Utilizando Chutzpah Test Runner com Jasmine JS no Visual Studio


Hoje irei falar sobre como podemos executar testes unitários de javascript dentro do Visual Studio. Fazer testes unitários em javascript está se tornando uma prática cada vez mais comum já que nossos projetos existem infinidades de funções javascript para tornar a experiência do usuário cada vez mais rica. Existem diversos frameworks de testes unitários em javascript como Jasmine JS, QUnit JS, Unit Js e etc. Neste exemplo iremos usar o Jasmine JS e estaremos fazendo uma integração com o Chutzpah Test Runner que é uma ferramenta para integrar nosso testes unitários javascript no Test Explorer do Visual Studio, muito legal...
Continuar Lendo »
ASP.NET 5

Js Advice – Analisador de código JavaScript


Neste post, vou falar do Js Advice! É uma extensão do Visual Studio 2015 que analisa código JavaScript, verificando possíveis erros e sugerindo melhorias, enquanto o código é escrito. Introdução Fala pessoal! Tudo bem? Hoje vim falar do Js Advice! Uma ferramenta que analisa o código JavaScript e aconselha possíveis melhorias ou correções, durante o desenvolvimento! E, antes de mostrar as funcionalidades, falar um pouco do motivo de cria-la. Motivação Sempre achei interessante e produtivo ter alguma ferramenta auxiliando no desenvolvimento. Como vim do mundo .Net, o ferramental é muito forte! Mas, para JavaScript nunca teve muitas ferramentas! Então, achei que...
Continuar Lendo »
Desenvolvimento

Testes de performance com ApacheBench


Avaliar aspectos envolvendo questões de performance é uma tarefa de fundamental importância em sistemas Web. Os resultados destas verificações servirão de base para que melhorias sejam conduzidas dentro de um projeto, sempre buscando garantir a operação das aplicações em níveis aceitáveis diante de situações de uso mais intensivo. O ApacheBench (ab) é uma solução gratuita que pode auxiliar na realização de testes de performance em aplicações Web. Um dos componentes do Apache HTTP Server, este utilitário de linha de comando pode ser empregado em cenários simulando múltiplos usuários concorrentes. Para utilizar o ApacheBench no Windows será necessário, primeiramente, obter...
Continuar Lendo »
ASP.NET MVC 5

Padronizando as Respostas JSON no ASP.NET MVC


Hoje irei mostrar como podemos padronizar as resposta JSON do nossos Controllers no ASP.NET MVC. Isso é bem útil para a criação de um padrão de respostas JSON em nossos Controllers e facilitar as comunicações AJAX. Veja só o seguinte código: Qual o problema do código acima ? A princípio nenhum mas tem um detalhe em um projeto de grande escala nós desenvolvemos diversas Actions provavelmente dezenas, centenas ou milhares e com um número grande de developers por equipe, correto ? Será que todas as equipes seguirão esse modelo de resposta ? Não está muito fácil de se quebrar...
Continuar Lendo »
Desenvolvimento

Novidades do Visual Studio “15”: abertura de pastas


O desenvolvimento de aplicações .NET no Visual Studio está baseado no conceito de soluções, com um arquivo principal referenciando um ou mais projetos. Esta organização vem desde as primeiras versões do .NET Framework, atendendo de maneira satisfatória às mais variadas necessidades. Recentemente o Visual Studio passou a suportar também outras alternativas de desenvolvimento como Node.js e Python. Aplicações construídas a partir destas plataformas não contam com uma Solution, característica esta típica de projetos .NET. Levando em consideração tal fato, a Microsoft incluiu no Visual Studio “15” a possibilidade de se abrir qualquer pasta a partir da própria IDE (algo...
Continuar Lendo »
12