Tag archives for C#

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 »
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 »
Arquitetura

Cache Distribuído & Session State com Redis NoSQL Server


Fala Galera, Hoje irei postar sobre como podendo integrar o Redis NoSQL para ser utilizado como cache distribuído em nossas aplicações ASP.NET. O Redis é um banco de dados NoSQL de alta performance, in-memory, data estruturado e aceita diversos tipo como hashs, strings, lists, sets e ordered sets e muito mais. As vantagens de se usar o Redis são: Simples de Configurar Fácil de Usar Alta performance Configurando o Redis no Azure Para configurar o Redis no Azure, vamos entrar no painel de controle do Azure portal.azure.com e crie um novo serviço do Redis conforme figura abaixo: Com o serviço...
Continuar Lendo »
Arquitetura

Criando Web.Config Seguros com ProtectedConfigurationProvider


Hoje irei demostrar como podemos criar arquivos de configuração criptografado para as nossas aplicações ASP.NET. Isso é muito importante dado que quando colocamos uma aplicação em produção não pensamos em proteger dados sensíveis deste arquivo, como uma conexão com o banco de dados por exemplo. Essa técnica visa proteger nosso Web.Config dado que nosso servidor é passível de ataque pelo simples de estar na Internet. Lembre-se a Internet é terra de ninguém então toda a preocupação com segurança é sempre válida. Caso nosso servidor seja invadido, o hacker terá que quebrar a criptografia do nosso Web.Config para saber o acesso ao banco...
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 »
Arquitetura

Entenda o que é Data Parallelism & Task Parallelism.


Fala Galera, Hoje vamos abordar dois conceitos muitos utilizados na plataforma .NET,  a programação em paralelo e em tarefas. Task Parallel Library (TPL) é a biblioteca responsável por podermos usar os conceitos deTask e de Parallel no .NET Essa biblioteca contém um conjunto de API’s (Application Programming Interfaces) para simplificar o processo de adicionar paralelismo e concorrência em uma aplicação. O que é Task Parallel Library Como foi dito, a TPL é uma biblioteca que contém um conjunto de APIs públicas e essasAPIs estão localizados no namespace System.Threading e System.Threading.Tasks. E como funciona a TPL? Para se executar uma programação Paralela ou em Tarefas...
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 »
12