Elemar DEV

Tecnologia e desenvolvimento

Resolvendo o problema do Caixeiro Viajante usando algoritmos genéticos

Olá. Tudo certo? Este post é uma releitura, em .NET, desse post. Trata-se de uma implementação simples de um algoritmo genético para encontrar soluções boas para o problema do caixeiro … Continuar lendo

29/10/2014 · Deixe um comentário

Resolvendo o problema do caixeiro viajante usando Simulated Annealing

Olá. Este post é uma releitura, em .NET, desse post. Quero apresentar uma implementação muito simples da metaheurística “Simulated Annealing” para encontrar soluções boas para o problema do caixeiro viajante. Você … Continuar lendo

28/10/2014 · 1 comentário

Tentando superar “Buy now with one-click” com uma “Wish list”

Olá pessoal. Tudo certo? Eu sempre gostei de ler, estudar e aprender. Mas, já há algum tempo, vinha comprando mais livros do que conseguia ler. Também estava perdendo tempo demais … Continuar lendo

25/10/2014 · 1 comentário

A busca (não tão) insana pela dívida técnica e o retorno (sofrido) ao Greenfield!

Olá, Alguns fatos sobre a forma como faço o meu trabalho Em busca da dívida técnica Fato 1 No meu trabalho, desenvolvo soluções com considerável complexidade técnica. Meus algoritmos não … Continuar lendo

23/10/2014 · Deixe um comentário

Static Analysis 101 – Parte 2 – Acoplamento aferente e acoplamento eferente (com NDepend)

Olá. Nesse post, sigo discussão sobre análise estática de código. Aqui, trato de acoplamento aferente e acoplamento eferente. Há algum tempo, Leandro Daniel escreveu um ótimo post conceituando os termos. … Continuar lendo

21/10/2014 · 1 comentário

Quando o contexto (enganoso) torna as decisões arquiteturais (bem) mais difíceis (Teenage Sex Pattern)

Olá, Esse post é resultado de uma “provocação” que encontrei no excelente livro Microsoft .NET – Architecting Applications for the Enterprise (2nd edition). Vou compartilhar com vocês e gostaria de … Continuar lendo

18/10/2014 · 3 Comentários

Static Analysis 101 – Parte 1 – O que é?

Olá pessoal. Tudo certo? Este é o primeiro post da série onde apresento técnicas e ferramentas para análise estática de código. O que é análise estática? Segundo a definição da Wikipedia: … Continuar lendo

16/10/2014 · 9 Comentários

O que há de novo no C# 6 – Parte 9 – nameof operator

Olá. Este é o nono post da série onde apresento as novidades do C# 6. Nesse post, apresento o operador nameof. Nunca gostei de ter que usar “strings mágicas” para representar … Continuar lendo

02/10/2014 · 3 Comentários

O que há de novo no C# 6 – Parte 8 – Expression Bodied Members

Olá. Este é o oitavo post da série onde apresento as novidades do C# 6. Nesse post, apresento Expression Bodied Members. Observe o seguinte código: Reparou Length e Scale? Bacana não? São … Continuar lendo

01/10/2014 · 5 Comentários

O que há de novo no C# 6 – Parte 7 – Dictionary Initializer

Olá. Este é o sétimo post da série onde apresento as novidades do C# 6. Nesse post, apresento um novo formato para inicialização de dicionários. Como é no C# 5 Nunca … Continuar lendo

01/10/2014 · 4 Comentários

O que há de novo no C# 6 – Parte 6 – Exception Filters

Olá. Este é o sexto post da série onde apresento as novidades do C# 6. Nesse post, apresento Exception Filters: Até o C# 5, caso desejássemos implicar alguma condicional para o … Continuar lendo

01/10/2014 · 2 Comentários

O que há de novo no C# 6 – Parte 5 – Null-propagating operator

Olá, Este é o quinto post da série onde apresento as novidades do C# 6. Nesse post, apresento uma das novidades mais bacanas (IMHO) do C#6: Null-propagating operator. Esse código do … Continuar lendo

30/09/2014 · 6 Comentários

O que há de novo no C# 6 – Parte 4 – using static

Olá, Este é o quarto post da série onde apresento as novidades do C# 6. Aqui, apresento um recurso muito interessante: fazer “using” de classes para poder evocar membros estáticos … Continuar lendo

30/09/2014 · 4 Comentários

O que há de novo no C# 6 – Parte 3 – Relação entre Explicit Constructors e Primary Constructors

Olá. Tudo certo? Este é o terceiro post da série onde apresento as novidades do C# 6. Aqui, apresento a relação entre explicit constructors (tradicionais) e primary constructors (novidade no … Continuar lendo

30/09/2014 · Deixe um comentário

(WITHDRAWN) O que há de novo no C# 6 – Parte 2 – Primary Construtors

Olá. Tudo certo?! UPDATE: A Microsoft parece ter desistido de implementar essa funcionalidade nessa versão do C# Bem-vindo ao segundo post da série onde apresento as novidades do C# 6 … Continuar lendo

29/09/2014 · 13 Comentários

O que há de novo no C# 6 – Parte 1 – Auto-property initializers

Olá. Tudo certo? Este é apenas o primeiro post da série em que apresento o que há de novo no C# 6. Para testar cada uma das novidades que relaciono, … Continuar lendo

29/09/2014 · 4 Comentários

Encapsulando APIs de nível mais baixo

Olá. Tudo certo? As vezes, precisamos utilizar APIs de nível mais baixo do que aquele que estamos utilizando na aplicação. O que fazer? Isolar ao máximo essa API do restante … Continuar lendo

22/09/2014 · Deixe um comentário

Potencial de paralelismo: Sequencial, “Por tarefa” e “Por dados”

Olá. Tudo certo?! Identificar o potencial de paralelismo de nossos códigos pode nos ajudar a escrever programas mais rápidos e que aproveitam melhor o hardware que temos a disposição. Existem, … Continuar lendo

20/09/2014 · Deixe um comentário

Tente outra vez … (Retry Pattern)

Olá. Tudo certo?! O que fazemos (ou deveríamos fazer) quando, devido a condições circunstanciais, geralmente relacionadas a um instante de execução, vemos nossas aplicações falharem em completar uma tarefa? Tentamos outra vez! Para isso, … Continuar lendo

28/08/2014 · 2 Comentários

Service Health Checking (e Health Monitoring Endpoint Pattern)

Olá pessoal. Tudo bem?! No último post, tratei do “Circuit breaker pattern”, cujo a implementação consiste em uma espécie de proxy que “blinda” recursos externos evitando requisições em momentos de instabilidade e/ou recuperação. … Continuar lendo

26/08/2014 · 2 Comentários

Circuit Breaker Pattern

Olá pessoal. Tudo certo?! Nesse post, falo de um pattern que melhora a estabilidade percebida de nossas aplicações. Trata-se do “Circuit Breaker Pattern”. Ele indica uma forma de tratar instabilidades … Continuar lendo

22/08/2014 · 5 Comentários

Regras! Regras! Regras! – Exemplo trivial de “Business Rule Engine” [Revisado e sem reflection]

Olá pessoal, Esse post é uma revisão do anterior. Graças ao feedback do meu amigo @juanplopes, percebi que o reflection acabou adicionando um bocado de complexidade de implementação. Segue versão … Continuar lendo

06/08/2014 · 6 Comentários

Regras! Regras! Regras! – Exemplo trivial de “Business Rule Engine”

Olá pessoal. Tudo certo?! Nesse post, falo de “rules engines”. Se o conceito é novo para você, recomendo a leitura desse post do Martin Fowler (bem básico, mas didático o … Continuar lendo

06/08/2014 · 1 comentário

Como obter os “bytes” de um tipo primitivo (double, por exemplo)

Olá pessoal. Tudo certo? Quase todo mundo que programa com C# sabe que um double ocupa 8 bytes de memória. Certo?! Mas, como, a partir de um valor, podemos saber … Continuar lendo

16/06/2014 · 3 Comentários

Uma “outra” abordagem para blindar “entidades”…

Olá pessoal. Tudo certo? Há tempos atrás eu propus uma solução “inventiva” e considera, por muitos, complexa para “blindar” entidades. Hoje, apresento outra abordagem, bem mais simples, que não é, … Continuar lendo

02/06/2014 · 2 Comentários

Aplicativos que fazem diferença: Moves e Audible

Olá pessoal. Tudo certo? Diferente do que faço normalmente, hoje quero compartilhar com vocês dois aplicativos que estão incrementando minha rotina: Moves (Facebook) e Audible (Amazon) MOVES Genial! Segundo o … Continuar lendo

29/04/2014 · 3 Comentários

Weak Event Patterns – Parte 3 – Especialização de WeakEventManager (WPF)

Olá pessoal. Tudo certo?! Esse é o terceiro post da série onde explico como implementar “weak events” em .Net. Recapitulando, Weak Events são um “afrouxamento” na relação entre Senders e … Continuar lendo

28/04/2014 · Deixe um comentário

Weak Event Patterns – Parte 2 – Generic Event Wrapper

Olá pessoal. Tudo certo? No post anterior, apresentei uma alternativa para “aliviar” o acoplamento entre objetos que “disparam” eventos e aqueles que “escutam” eventos. Entretanto, a abordagem que eu disponibilizei … Continuar lendo

25/04/2014 · Deixe um comentário

Weak Event Patterns – Parte 1 – Event Wrapper

Olá pessoal. Tudo certo? Eventos são uma abstração extremamente inteligente e poderosa. A sintaxe oferecida pelo C# para suporte de eventos é bela e simples de entender. Entretanto, tem algumas … Continuar lendo

25/04/2014 · Deixe um comentário

E o void voltou…

Olá amigos, Estou muito feliz em anunciar que o Void Podcast está retomando, aos poucos, suas atividades. Ouça e comente o último episódio se deseja que retomemos o projeto. Em … Continuar lendo

22/04/2014 · 2 Comentários

C++/CX – Parte 9 – Exceptions

Olá pessoal. Tudo certo? Este é o nono post da série onde estamos explorando C++/CX – o conjunto de extensões da Microsoft, no C++, para o desenvolvimento de aplicações modernas. O … Continuar lendo

07/04/2014 · Deixe um comentário

Descobrindo Owin e Katana – Parte 8 – Lendo o “Response Body”

Olá pessoal. Tudo certo? Este é o oitavo post da série onde “descobrimos” Owin e Katana. Hoje, mostro como ler o response body. O problema Considere o seguinte código de exemplo. Responda … Continuar lendo

07/04/2014 · 1 comentário

C++/CX – Parte 8 – Delegates

Este é o oitavo post da série onde estamos explorando C++/CX – o conjunto de extensões da Microsoft, no C++, para o desenvolvimento de aplicações modernas. Os temas desse post … Continuar lendo

07/04/2014 · Deixe um comentário

C++/CX – Parte 7 – Propriedades e Enums

Este é o sétimo post da série onde estamos explorando C++/CX – o conjunto de extensões da Microsoft, no C++, para o desenvolvimento de aplicações modernas. Os temas desse post … Continuar lendo

07/04/2014 · Deixe um comentário

C++/CX – Parte 6 – Interfaces

Olá. Tudo certo? Este é o sexto post da série onde estamos explorando C++/CX – o conjunto de extensões da Microsoft, no C++, para o desenvolvimento de aplicações modernas. Básico … Continuar lendo

07/04/2014 · Deixe um comentário

Descobrindo Owin e Katana – Parte 7 – Lendo o Request Body em múltiplos Middlewares

Olá pessoal. Tudo certo? Este é o sétimo post da série onde “descobrimos” Owin e Katana. Hoje, mostro como acessar o request body em vários Middlewares. O Problema Considere que … Continuar lendo

05/04/2014 · Deixe um comentário

C++/CX – Parte 5 – Herança

Olá pessoal. Tudo certo? Este é o quinto post da série onde estamos explorando C++/CX – o conjunto de extensões da Microsoft, no C++, para o desenvolvimento de aplicações modernas. … Continuar lendo

05/04/2014 · Deixe um comentário

Descobrindo Owin e Katana – Parte 6 – Cara, cadê o meu header?

Olá pessoal. Tudo certo? Esse é o sexto post da série onde “descobrimos” o que é Owin e o que é Katana. O que já temos: Primeiros passos Criando um … Continuar lendo

04/04/2014 · Deixe um comentário

C++/CX -Parte 4 – Utilização de tipos padrões

Olá pessoal. Tudo certo? Nesse momento, já sabemos um bocado sobre como criar ref classes. Nesse post, vamos dar uma olhada sobre como utilizar (mesclar, na verdade) tipos padrões do … Continuar lendo

04/04/2014 · Deixe um comentário

Descobrindo Owin e Katana – Parte 5 – Escrevendo Middleware em uma classe separada

Olá pessoal. Tudo certo? Esse é o quinto post da série em que estamos “descobrindo” OWIN e Katana – tecnologias da Microsoft para desenvolvimento de módulos Web que pretende aliviar … Continuar lendo

03/04/2014 · 1 comentário

Descobrindo Owin e Katana – Parte 4 – Suporte para encadeamento de Middlewares

Olá. Tudo certo? Continuamos nossa jornada de descoberta para Owin e Katana. Nesse post, mostro como encadear a execução de Middlewares. Perceba, até aqui, estávamos levantando servidores com apenas um … Continuar lendo

03/04/2014 · 2 Comentários

C++/CX – Parte 3 – ref class/struct vs value class/struct

Olá pessoal. Tudo certo? Esse é o terceiro post da série onde apresento as modificações feitas no C++ para suportar o desenvolvimento de aplicações modernas. No primeiro post, tratei dos … Continuar lendo

03/04/2014 · Deixe um comentário

Descobrindo Owin e Katana – Parte 3 – Facilitando o desenvolvimento do Middleware

Olá. Tudo certo? Esse é o terceiro post da série onde “descobrimos” OWIN e o Katana. Se está chegando agora, talvez deva considerar dar uma olhada no primeiro e no … Continuar lendo

02/04/2014 · 2 Comentários

C++/CX – Parte 2 – Classes e Estruturas

Olá pessoal. Tudo certo? No post anterior, comecei a apresentar os fundamentos básicos de C++/CX. Nesse post, apresento como definir tipos de referência e de valor em C++/CX. Ideia básica … Continuar lendo

02/04/2014 · 1 comentário

Fibonacci na velocidade da luz (Binet’s formula)

Olá pessoal. Tudo certo? Esse post é só para descontrair mesmo! Quem nunca implementou um algoritmo recursivo para determinar o valor de um elemento da sequencia de Fibonacci? E a … Continuar lendo

01/04/2014 · 3 Comentários

Descobrindo Owin e Katana – Parte 2 – Criando um Host personalizado

Olá. Tudo certo? No post anterior, comecei a tratar de OWIN e Katana – Projetos que objetivam reduzir o acoplamento de módulos Web com o IIS. Usamos o host fornecido … Continuar lendo

01/04/2014 · 4 Comentários

Descobrindo Owin e Katana – Parte 1 – Primeiros passos

Olá pessoal. Tudo certo?! Esse é o primeiro post de uma série onde pretendo explicar fundamentos dos projetos OWIN e Katana. O que é OWIN? Pegando a definição do site … Continuar lendo

01/04/2014 · 5 Comentários

C++/CX – Parte 1 – Fundamentos

Olá pessoal. Tudo certo? Nessa série, apresento os fundamentos de C++/CX – a extensão da Microsoft, na linguagem C++, para o desenvolvimento de aplicações modernas. Tentarei manter os posts pequenos … Continuar lendo

01/04/2014 · 2 Comentários

Fui assaltado!

Olá amigos, Não tenho escrito tanto aqui no blog, mas, com o tempo, pretendo retomar o ritmo. Minha vida mudou um bocado nos últimos tempos. Alguns episódios positivos, outros nem … Continuar lendo

31/03/2014 · 4 Comentários

Entendendo GetHashCode

Olá. Tudo certo? Outro dia vi alguém sugerir o uso de GetHashCode para identificar um objeto. Essa não é uma boa ideia e no post de hoje pretendo explicar o … Continuar lendo

12/03/2014 · 1 comentário

Estatísticas

  • 677,732 hits