Navegando em Todos os Posts publicados em »dezembro, 2011«

Um bate-papo sobre refactoring

dezembro 30, 2011

0

Olá pessoal. Tudo certo?! Refactoring é um tema extremamente importante. Mesmo assim, nunca tratei diretamente disso aqui no blog. Então, para compensar, que tal ouvir um void inteirinho sobre o tema?! Boa idéia?! Gostou, acesse Void #15 – Adeus Void Velho. Feliz Refactoring Novo! Lá, um bate-papo, em clima de bar, entre o [mestre sábio] Leandro… [Leia mais…]

Melhorando o código com Extension Methods

dezembro 26, 2011

19

Olá pessoal. Tudo certo?! No último post, mostrei como melhorar o “significado” do código através da criação de tipos para ValueTypes. Nesse post, tento demonstrar como melhorar o código através de Extension Methods. O que são Extension Methods Segundo o MSDN: Extension Methods permitem a você “adicionar” métodos para tipos existentes sem criar um novo… [Leia mais…]

Melhorando a semântica com ValueTypes

dezembro 25, 2011

8

Olá pessoal. Tudo certo!? O que você acha estranho nesse código?! Além de um Cpf completamente inválido, temos um tipo primitivo (string) sendo utilizado para representar um dado mais “rico”. Geralmente, a conseqüência mais comum desse tipo de abordagem acaba sendo o surgimento das terríveis classes “util”. Nesse post, mostro minha perspectiva para esse cenário.… [Leia mais…]

Bits, Bytes e Resta um (Peg Solitaire)

dezembro 22, 2011

1

Olá pessoal. Tudo certo!? No post de hoje vamos implementar um “solver” para Resta Um. Para isso, utilizo manipulação intensiva de bits. Trata-se de um post com código “naturalmente” avançado. Entretanto, penso que seja uma boa diversão. O conceito para o código de hoje está baseado no artigo “Depth-first search solves Peg Solitaire (1998)”. Para… [Leia mais…]

Drawing Curves with Lagrange Interpolation (Javascript + HTML5)

dezembro 20, 2011

2

Olá pessoal. Tudo certo?! Nesse post, mostro como desenhar curvas, usando Lagrange Interpolation, usando Javascript. Há um live demo disponível. Também está disponível o código-fonte completo. UPDATE: Também há um live demo mais interativo, que permite ao usuário definir os pontos que pertencem a curva em http://users.cjb.net/livedemoelemarjr/lagrange2.html. Observe:   Mais adiante, vou usar esse método… [Leia mais…]

Algumas palavras sobre essa tal de Estratégia

dezembro 14, 2011

5

Olá pessoal. Tudo certo!? Alguns posts técnicos, outros sobre carreira. Esse é o ritmo que estou tentando manter aqui no blog. Nesse post, desejo tentar discutir sobre um assunto extremamente importante para qualquer profissional (independente do ramo de atuação): a Estratégia. O que é Estratégia? Há diversas definições famosas para estratégia. Entretanto, a que mais… [Leia mais…]

Windows Native Programming – Window Class, Window Object, Message Loop, WndProc

dezembro 14, 2011

0

Olá pessoal. Tudo certo?! No post anterior, comecei a apresentar os fundamentos para desenvolvimento nativo com Windows. Para isso, criei um pequeno utilitário para cópia de arquivos. Nesse post, mostro como é a interface do sistema operacional para o ciclo de vida das janelas. Nosso exemplo O exemplo que apresento é uma espécie de “Hello… [Leia mais…]

Windows Native Programming – Copying Files

dezembro 12, 2011

2

Olá pessoal. Tudo certo?! Uma geração inteira de programadores começou a programar utilizando linguagens que compilam seus programas para ambientes gerenciados. Na prática, isso significa que muitos programadores não sabem (e não sabem que deveriam saber) como funciona a interação, em nível mais baixo, com o Windows. Essa “lacuna” de conhecimento faz com que seja… [Leia mais…]

Quando “comando e controle” são necessários

dezembro 11, 2011

41

Olá pessoal. Tudo certo?! Há alguns dias, estou em um debate interessante (em blog [aqui e na lambda3] e twitter) sobre a importância, ou mesmo a necessidade, de gerentes. Várias opiniões foram apresentadas. Concordo com muitas, discordo de algumas. Neste post, trato de um tema “polêmico” relacionado a este debate: comando e controle. Afinal, ele… [Leia mais…]

TicTacToe, Minimax, Negamax, Alpha-beta pruning, heurística (whatever!)

dezembro 11, 2011

0

Olá pessoal. Tudo certo?! No post anterior, implementamos um jogo da velha (TicTacToe), com opção de jogar contra o computador. Para isso, utilizamos uma algoritmo chamado Minimax (na verdade, uma variação chamada Negamax). No post de hoje, revisito o exemplo para demonstrar alguns aspectos importantes desses algoritmos, bem como uma importante técnica de otimização chamada… [Leia mais…]

TicTacToe (Jogo da Velha) com AI (Minimax) em C#

dezembro 10, 2011

1

Olá pessoal. Tudo certo?! Há algum tempo não uso C# aqui no blog. Hoje, mostro a implementação de um jogo extremamente simples: TicTacToe (nosso jogo da velha). Implementei uma aplicação console, simples, com AI usando Minimax. UPDATE: Código-fonte em: https://github.com/ElemarJR/TicTacToe Como o jogo funciona? Logo de início, o programa apresenta um grid vazio e solicita… [Leia mais…]

Vamos aprender node.js – Parte 2 – Módulos

dezembro 8, 2011

1

Olá pessoal. Tudo certo?! Este é o segundo post de uma série onde pretendo apresentar os fundamentos do desenvolvimento usando node.js. No primeiro post, mostrei como obter, instalar e dar os primeiros passos com essa tecnologia. Em outro post, explorei o potencial do node.js para criação de aplicações de propósito geral (não servidor/serviços web) escrevendo… [Leia mais…]

Fire all the BAD managers

dezembro 6, 2011

15

Olá pessoal. Tudo certo?! Essa é uma resposta para um post do Giovanni Bassi. No post dele, chamado “Fire all the managers” ele defende que “gerentes” são desnecessários. Além disso, defende que eles impedem a “democracia organizacional”. Como discordo dessa posição, apresento alguns de meus argumentos para pensar diferente. Para isso, começo do “início” …… [Leia mais…]

C++ 101 – Parte 10 – Ponteiros para funções

dezembro 4, 2011

1

Olá pessoal. Tudo certo?! Nesse post, entenderemos um pouco mais sobre ponteiros. Especificamente, vamos ver como utilizar ponteiros para funções. Em termos práticos, a utilidade (importante: apenas em primeira impressão. Sem closures associadas) de um “ponteiro para função” é semelhante a delegates do C#. Se está “chegando agora”, considere dar uma olhada nos outros posts… [Leia mais…]

Testes de unidade para Javascript dentro e fora do browser

dezembro 2, 2011

3

Olá pessoal. Tudo certo?! Javascript cresceu muito em importância nos últimos anos. No passado, era percebida como uma linguagem simplificada, para programação “simples” de páginas web. Hoje, é vista como uma linguagem poderosa, rodando tanto no cliente quanto no servidor. Por causa do “crescimento” do Javascript, é natural pensar em alternativas para o desenvolvimento de… [Leia mais…]