Elemar DEV

Negócios, tecnologia e desenvolvimento

Implementando “Actor Model” com Akka.net – Parte 2 – Um exemplo muito simples

Olá. No post anterior, falei um pouco sobre alguns conceitos fundamentais para Akka.net. Recomendei dar uma olhada em um exemplo que já implementado. Entretanto, acho fiquei devendo  algo um pouco mais … Continuar lendo

29/05/2015 · Deixe um comentário

Implementando “Actor Model” com Akka.net – Parte 1 – Fundamentos

Olá. Já faz tempo que não escrevo uma série didática de posts aqui no blog. Estou retomando o hábito com essa série sobre Akka.net. Preliminares O que é Akka.net Pegando … Continuar lendo

28/05/2015 · 1 comentário

F# Behind the Scenes – Desvendando o uso de “Discriminated Unions” para representar hierarquias de objetos

Olá. F# é uma linguagem que conquista por sua expressividade. Consideremos o código que segue: Aqui encontramos um exemplo comum de utilização para “Discriminated Unions”. Fazendo um paralelo com C#, … Continuar lendo

13/05/2015 · 1 comentário

F# Behind the Scenes – Implementação ingênua (do compilador) ou Interpretação Ingênua (minha)

Olá pessoal Considere o código que segue em F#. Bonito, não? Quando compilado, o código IL gerado pode ser convertido para algo assim em C# A parte que me deixa … Continuar lendo

11/05/2015 · 4 Comentários

F# Behind the Scenes – O segredo dos módulos e do currying

Olá. Tudo certo? Algumas coisas que F# faz parecem mágica. Concorda? Então, vamos dar uma olhada no que ocorre “behind the scenes” para entender um pouco o que ocorre. Vejamos … Continuar lendo

11/05/2015 · 2 Comentários

Primeiros passos com “Actor Model” (usando F# e Akka.net)

Olá. Tudo certo? Como você já deve ter percebido, pelos últimos posts, comecei a estudar “Actor Model”. Para ter algo “prático”, escrevi um primeiro programa, bem simples, em Scala. Depois … Continuar lendo

07/04/2015 · 4 Comentários

Primeiros passos com “Actor Model” (usando C# e Akka.net)

Olá pessoal. Tudo certo? Ontem comecei meus estudos sobre “Actor Model”. Comecei usando Scala e sua biblioteca padrão. Depois, enriqueci o modelo mostrando uma implementação usando Scala com o framework … Continuar lendo

07/04/2015 · 2 Comentários

Primeiros passos com “Actor Model” (usando Scala + Akka)

Olá pessoal, Esta é uma releitura de meu post anterior (por favor, veja o texto do post anterior para entender os conceitos). Antes, havia feito minha implementação usando a biblioteca padrão … Continuar lendo

06/04/2015 · 2 Comentários

Primeiros passos com “Actor Model” (usando Scala)

Olá pessoal. Tudo certo? Este post é uma das “heranças” do QCon São Paulo. Ele apresenta o início dos meus estudos sobre “Actors Model”. Deverei retornar ao assunto, com alguma frequência, … Continuar lendo

06/04/2015 · 3 Comentários

Sobre o projeto “Enquadrando Ideias”

Olá. Tudo certo? Se me acompanha nas redes sociais, viu que iniciei a divulgar um novo blog: “Enquadrando Ideias” Do que trata Os temas discutidos no blog serão: Gestão e Liderança … Continuar lendo

01/04/2015 · 1 comentário

Escrevendo testes de unidade com F#

Olá pessoal. Tudo certo? Semana passada ajudei a organizar e palestrei no QCON. Do evento, trouxe como “tema de casa” a tarefa de voltar a estudar algumas tecnologias. Dentre elas, … Continuar lendo

30/03/2015 · 2 Comentários

Sobre Desenvolvimento Poliglota

Olá pessoal. Tudo certo? Estou participando, mais uma vez, do QCON. Acho este evento fantástico por me proporcionar a oportunidade de ter contato com diversas tecnologias, sempre com grandes autoridades. … Continuar lendo

25/03/2015 · 7 Comentários

Spheres! com TypeScript

Olá. Como no post anterior, estou pegando um exemplo antigo, originalmente em JavaScript, e reescrevendo em TypeScript. Spheres! Let’s code! Adorando TypeScript! Era isso.

23/12/2014 · Deixe um comentário

Jornada nas Estrelas (Starfield) com TypeScript

Olá amigos. Há algum tempo, escrevi um pequeno “Starfield” em Javascript puro. Hoje, refaço esse exemplo usando TypeScript. Por que TypeScript? Adoro JavaScript. Considero JS extremamente poderosa e sei de … Continuar lendo

23/12/2014 · 2 Comentários

Como ‘foreach’ é resolvido pelo compilador C#

Olá. Tudo certo? Considere esse código: ele é escrito pelo compilador assim: Que tem correspondência exata para: Repare que não há qualquer relação com as interfaces IEnumerable, IEnumerable, IEnumerator e … Continuar lendo

12/12/2014 · 5 Comentários

Como o switch é resolvido pelo compilador do C#

Olá. Nesse post pretendo apresentar algumas informações sobre como o compilador do C# resolve o switch. O que eu vou apresentar é baseado em interpretações do código IL gerado pelo compilador. … Continuar lendo

12/12/2014 · 4 Comentários

O que eu aprendi colaborando com um projeto Open Source

Olá. O projeto CodeCracker tem pouco mais de um mês. Entretanto, parece ter mais. Ele me proporcionou muito aprendizado. Neste post, pretendo compartilhar algumas das coisas que aprendi. Pessoas motivadas … Continuar lendo

11/12/2014 · 4 Comentários

Entendendo a compilação do C# (csc.exe e JIT)

Olá pessoal. Em tempos de Roslyn, nunca é demais voltar a discutir o processo de compilação do .NET. Nesse post, apresento um exemplo inspirado em uma apresentação de um engenheiro … Continuar lendo

10/12/2014 · 2 Comentários

Considere métodos de criação “ReplaceXXXX” e “WithXXXX” em objetos somente leitura

Olá. Tudo certo? De uns tempos para cá, certamente influenciado pelo paradigma funcional, venho adotando com grande frequência objetos somente leitura. Um exemplo de objeto somente leitura (em tempo, todo … Continuar lendo

09/12/2014 · 1 comentário

CodeCracker – Parte 8 – Make a variable const whenever it’s possible

Tudo certo, pessoal? Nesse post, apresento a implementação do issue #79 do CodeCracker. A ideia é converter toda variável em constante quando for possível. Analyzing Abaixo, a implementação para identificar … Continuar lendo

01/12/2014 · Deixe um comentário

CodeCracker – Parte 7 – Suggest switch if you have 3 or more nested if / else statements

Olá. Tudo certo? No post de hoje apresento a implementação de mais um analyzer e codefix desenvolvido para o projeto CodeCracker: Suggest switch if you have 3 or more nested … Continuar lendo

25/11/2014 · Deixe um comentário

Multiplicação divertida (em C#)

Olá. Tudo certo? Como multiplicar dois números positivos sem usar o operador de multiplicação? A abordagem mais simples, ao meu ver seria: Entretanto, essa abordagem está longe de ser eficiente. … Continuar lendo

24/11/2014 · 2 Comentários

Pensando produtos inteligentes e conectados (IoT) e a competição

Olá. Tudo certo? É pouco provável que você ainda não tenha ouvido falar em Internet das Coisas. De qualquer forma, é muito interessante pensar no impacto nos negócios que esta … Continuar lendo

24/11/2014 · Deixe um comentário

CodeCracker – Parte 6 – On Linq clauses move predicate from Where to First, Single, etc when applicable

Olá. Tudo certo? No post de hoje apresento a implementação de mais um analyzer e codefix desenvolvido para o projeto CodeCracker: On Linq clauses move predicate from Where to First, … Continuar lendo

20/11/2014 · Deixe um comentário

CodeCracker – Parte 5 – Always use ‘var’

Olá. Tudo certo? Agora que já cobri os fundamentos para que você possa entender e colaborar com o projeto CodeCracker, vou começar a mostrar algumas implementações que estamos fazendo. Começo … Continuar lendo

19/11/2014 · 1 comentário

CodeCracker – Parte 4 – Depurando e Testando

Olá. Tudo certo? Se você já baixou o Visual Studio 2014 Preview, instalou as extensões recomendadas no site do Roslyn e clonou o repositório do CodeCracker, então, já está pronto … Continuar lendo

17/11/2014 · 1 comentário

CodeCracker – Parte 3 – “Arrumando” o código (CodeFix)

Olá. Tudo certo? Na parte anterior, mostrei como “detectar” código que pode ser melhorado através de Diagnostic Analyzers. Agora, vou mostrar como escrever o “CodeFix” para o código detectado. O … Continuar lendo

15/11/2014 · Deixe um comentário

CodeCracker – Parte 2 – Construindo um Analyzer

Olá. Tudo certo? Nesse post, apresento uma breve introdução ao desenvolvimento de “Diagnostic Analyzers” usando Roslyn. O que é um Roslyn Diagnostic Analyzer? Um code analyzer é um “artefato” que … Continuar lendo

15/11/2014 · 4 Comentários

CodeCracker – Parte 1 – O que é? Como colaborar?

Olá. Tudo certo? Bem-vindos ao CodeCracker. Uma ferramenta open source, iniciada por brasileiros, que melhora a experiência de codificação no Visual Studio 2015 (ainda em preview, já disponível para download). … Continuar lendo

15/11/2014 · 3 Comentários

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 · 2 Comentários

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 · 2 Comentários

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 · 3 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

Estatísticas

  • 767,405 hits