Author Archives: Renato Groffe

C# 7.0

C# 7.0: novos Expression-bodied Members


Uma das novidades trazidas pelo C# 6.0 foi a possibilidade de implementar propriedades somente leitura e funções por meio de expressões lambda. Este recurso ficou conhecido como Expression-bodied Members, tendo sido abordado anteriormente em outro artigo deste blog. O C# 7.0 expandiu as possibilidades de uso dos Expression-bodied Members, permitindo o uso de expressões lambda em construtores, finalizers e propriedades que aceitem a atribuição de valores (neste caso com as seções get e set presentes). No exemplo a seguir é possível observar a implementação da classe CargaDados, com um construtor e um finalizer: Já a próxima listagem traz o...
Continuar Lendo »
C# 5.0

Dicas sobre .NET: Classes Sealed


A noção de herança representa um dos tópicos mais conhecidos dentro da Orientação a Objetos. Dando grande ênfase à questão do reaproveitamento de código, este conceito permite a implementação de variações de uma classe a partir da redefinição de alguns de seus comportamentos básicos (ou mesmo todos). Outra possibilidade também seria estender as capacidades de um tipo, adicionando a este último novas funcionalidades que não foram previstas na classe original. No caso específico da plataforma .NET, qualquer classe pode a princípio ser herdada. Embora esta capacidade seja uma característica desejável, existem situações em que surgirá a necessidade de se...
Continuar Lendo »
Bibliotecas e Ferramentas

Dicas sobre .NET: convertendo JSON para XML (e vice-versa)


Figurando entre os padrões mais comuns para o intercâmbio de informações, os formatos XML e JSON constituem presença praticamente certa ao se considerar a comunicação entre diferentes aplicações por meio de Web Services. Tal popularidade se deve, sem sombra de dúvidas, ao suporte que as principais plataformas de desenvolvimento da atualidade oferecem a estas especificações. Nota-se inclusive que há no mercado uma maior preferência pelo padrão JSON, dada sua simplicidade e o menor volume de dados trafegado ao se escolher esta opção. Apesar de tudo isso, o formato XML continua a ser bastante utilizado em soluções corporativas. Levando em...
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 »
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 »
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 »
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 »
C# 7.0

Novidades do C# 7 – Local Functions


Neste terceiro post da série sobre novidades do C# 7 serão apresentadas as Local Functions. Se tiver interesse em saber mais sobre as postagens anteriores consulte os links: http://netcoders.com.br/csharp-7-pattern-matching/ http://netcoders.com.br/csharp7-binary-literals-digit-separators/ http://netcoders.com.br/csharp7-ref-returns/ Configurando o uso do C# 7 no Visual Studio “15” Para os exemplos descritos neste artigo foram criados dois projetos a partir do template “Console Application” do Preview 2 do Visual Studio “15”, com os mesmos utilizando a versão 4.6.1 do .NET Framework. O download do novo Visual Studio pode ser realizado por meio do seguinte link: https://www.visualstudio.com/en-us/news/releasenotes/vs15/vs15-relnotes Para configurar o uso do C# 7 acesse a seção...
Continuar Lendo »
C# 7.0

Novidades do C# 7 – Ref Returns


Neste terceiro post da série sobre novidades do C# 7 será apresentado em detalhes um recurso chamado Ref Returns. Caso queira acompanhar as postagens anteriores consulte os links: Novidades do C# 7 – Pattern Matching Novidades do C# 7 – Binary Literals e Digit Separators Configurando o uso do C# 7 no Visual Studio “15” Para o exemplo descrito neste artigo foi utilizado um projeto baseado no template “Console Application” do Preview 2 do Visual Studio “15”, além da versão 4.6.1 do .NET Framework. O download do novo Visual Studio pode ser realizado por meio do seguinte link: https://www.visualstudio.com/en-us/news/releasenotes/vs15/vs15-relnotes...
Continuar Lendo »
ASP.NET 5

Utilizando o ASP.NET Core RC2 no Visual Studio 2015


No início desta semana (segunda-feira, dia 16/05/2016) a Microsoft disponibilizou o Release Candidate 2 (RC2) do ASP.NET Core 1.0. Trata-se da última atualização desta plataforma Web antes do lançamento da versão RTM, a qual está prevista para o final de Junho/2016. Dentre as principais novidades trazidas pelo Release Candidate 2 estão: O .NET CLI, utilitário de linha de comando que substitui ferramentas como dnvm, dnx e dnu; Um projeto baseado no ASP.NET Core passa a ser agora uma Console Application. O método Main na classe Program ficou responsável por carregar as configurações, além de iniciar a execução da aplicação...
Continuar Lendo »