Skip to content

#código

Modificando um Arquivo Localmente Sem Atualizar o Repositório Git Remoto
Modificando um Arquivo Localmente Sem Atualizar o Repositório Git Remoto

Você já precisou modificar um arquivo localmente sem fazer commit das mudanças para o repositório remoto?

Uma Implementação de Busca Binária
Uma Implementação de Busca Binária

O algoritmo de busca binária pesquisa rapidamente um grande array de números, é frequentemente referido como dividir e conquistar.

Os Benefícios de Usar um Framework de Build
Os Benefícios de Usar um Framework de Build

Integração Contínua (CI) e/ou Entrega Contínua (CD) é a norma em projetos de software atualmente. Existem muitos servidores de build como Azure DevOps, TeamCity…

Ferramentas e Recursos que Uso Comumente para Desenvolver Software
Ferramentas e Recursos que Uso Comumente para Desenvolver Software

Abaixo está uma coleção de ferramentas, bibliotecas e recursos que uso comumente.

NVarchar Vs Varchar
NVarchar Vs Varchar

Cada engenheiro que define uma nova coluna de string decide: Devo usar nvarchar ou devo usar varchar?

Alterando um Valor de Input React a partir de Javascript Vanilla
Alterando um Valor de Input React a partir de Javascript Vanilla

Alterar um valor de input React a partir de Javascript vanilla não é tão simples quanto você pode pensar.

Quando Usar o Atributo FromService
Quando Usar o Atributo FromService

O atributo [FromServices] permite injeção de dependência a nível de método em controladores Asp.Net Core.

C# 8 - Tipos de Referência Anuláveis
C# 8 - Tipos de Referência Anuláveis

A Microsoft está adicionando uma nova funcionalidade ao C# 8 chamada Tipos de Referência Anuláveis. Que à primeira vista é confuso porque todos os tipos de refe…

9 Diretrizes para Criar Nomes Expressivos
9 Diretrizes para Criar Nomes Expressivos

Nomear é subjetivo e situacional, é uma arte, e com a maioria das artes, descobrimos padrões. Aprendi muito através da leitura do código de outros. Neste artigo…

Com ou Sem Chaves?
Com ou Sem Chaves?

Há um debate acalorado sobre declarações únicas e se elas devem ter chaves ou não.

O Entendimento Começa com Nomes Expressivos
O Entendimento Começa com Nomes Expressivos

Entender o código é o primeiro passo para modificá-lo.

Codificando o Molho Secreto
Codificando o Molho Secreto

Codificar o molho secreto é fundamental para escrever aplicações sustentáveis e bem-sucedidas.

Tipos de Coleta de Lixo no .Net Core
Tipos de Coleta de Lixo no .Net Core

O gerenciamento de memória em linguagens modernas é frequentemente uma reflexão tardia. Para todos os efeitos, escrevemos software sem pensar muito sobre memóri…

Você Não É Seu Código
Você Não É Seu Código

Seu código não reflete nem suas crenças, nem sua educação, nem seu caráter.

Os 5 Diferentes Significados do Ponto de Interrogação em C#
Os 5 Diferentes Significados do Ponto de Interrogação em C#

Em C# o ponto de interrogação tem 5 significados a partir do C# 8.

O Comparador de Coleções, Encontrando as Diferenças Entre Duas Coleções
O Comparador de Coleções, Encontrando as Diferenças Entre Duas Coleções

Você já teve que comparar duas coleções e executar alguma lógica baseada em se o item está na coleção de origem, na coleção de comparação ou em ambas? Sim, eu t…

Implementando Cache de Requisição no ASP.Net Core
Implementando Cache de Requisição no ASP.Net Core

Em algum momento no desenvolvimento de uma aplicação, geralmente bem cedo, você percebe que a aplicação está lenta. Após algumas pesquisas, o culpado é recupera…

Executando Await em um Construtor
Executando Await em um Construtor

Se você deve executar código em um construtor. Eu procuraria uma maneira diferente, mas se você deve, aqui está uma maneira.

Solução alternativa para 'Template parse errors;' no Angular
Solução alternativa para 'Template parse errors;' no Angular

Este foi um dos problemas mais frustrantes com Angular 2/4/+. Não é um problema com Angular 2/4/+ em si, mas com como o webpack empacota os arquivos HTML de apo…

Examinando o Caso das Declarações Switch
Examinando o Caso das Declarações Switch

Por quase 50 anos, a declaração switch (também conhecida como declaração case) tem sido uma parte integral da programação. Nos últimos anos, no entanto, alguns…

4 Práticas para Reduzir Sua Taxa de Defeitos
4 Práticas para Reduzir Sua Taxa de Defeitos

Escrever software é uma batalha entre complexidade e simplicidade. Encontrar o equilíbrio entre os dois é difícil. O trade-off é entre métodos longos e não mant…

Fragmentação de Índices no SQL Azure, Quem Diria!
Fragmentação de Índices no SQL Azure, Quem Diria!

Estou no meu projeto há mais de um ano e ele cresceu significativamente como aplicação e em dados durante o ano. Tem sido recursos novos sem parar. Raramente vo…

Provando um Conceito e Fazendo o Código Crescer
Provando um Conceito e Fazendo o Código Crescer

Em uma conversa recente, um amigo mencionou que ele cria provas de conceito e depois as descarta após testar sua viabilidade. Eu já fiz o mesmo no passado. Dest…

Protegendo AngularJS com Claims
Protegendo AngularJS com Claims

Em algum momento uma aplicação precisa de autorização. Isso significa que diferentes níveis de acesso se comportam de forma diferente em um site (ou qualquer co…

3 Razões Pelas Quais as Revisões de Código São Importantes
3 Razões Pelas Quais as Revisões de Código São Importantes

Uma ótima revisão de código desafiará suas suposições e lhe dará feedback construtivo. Para mim, as revisões de código são uma parte essencial do crescimento co…

5 Passos para Programar Pensando no Próximo Desenvolvedor
5 Passos para Programar Pensando no Próximo Desenvolvedor

A maioria de nós provavelmente não pensa no desenvolvedor que irá manter nosso código. Até recentemente, eu também não o considerava. Nunca escrevi código obscu…

Implementando Criptografia Transparente com Listeners (Interceptors) do NHibernate
Implementando Criptografia Transparente com Listeners (Interceptors) do NHibernate

Você já precisou criptografar dados no banco de dados? Neste post, vou explorar como usar Listeners do nHibernate para criptografar e descriptografar dados que…

Chamando Stored Procedures com Code First
Chamando Stored Procedures com Code First

Uma das fraquezas do Entity Framework 6 Code First é a falta de suporte para chamar nativamente construtos de banco de dados (views, stored procedures… etc). Pa…

Parâmetros SQL condicionais com nHibernate
Parâmetros SQL condicionais com nHibernate

O problema é que o `CreateSqlQuery` do nHibernate precisa de uma string sql completa para ser criado, mas você não pode criar uma string até ter avaliado os par…

Solução para Limite Máximo de Processamento de Relatórios Atingido no Crystal Reports 13
Solução para Limite Máximo de Processamento de Relatórios Atingido no Crystal Reports 13

Na versão Visual Studio 2012 do Crystal Reports 13 existe um limite que restringe relatórios simultâneos, incluindo sub-relatórios, a 75 relatórios por máquina.…

Considerações ao Lançar Exceções
Considerações ao Lançar Exceções

Há uma filosofia subjacente neste sistema de que nulos são ruins. Na maioria dos casos onde um nulo pode ser gerado, uma exceção é lançada. No início eu não via…

Criando um Tipo Genérico em Tempo de Execução
Criando um Tipo Genérico em Tempo de Execução

Para usar um tipo em tempo de execução com um contêiner IOC como StructureMap para encontrar uma implementação genérica, crie o tipo genérico usando `MakeGeneri…