Browsing All Posts filed under »Post«

Brincando com o MongoDB (usando C#)

fevereiro 23, 2012

0

Olá pessoal. Tudo certo!? Esse é um post “just for fun”. A ideia principal é explorar a utilização de MongoDB em aplicações C#. O que é MongoDB?! Usando a definição do site oficial: MongoDB (from "humongous") is a scalable, high-performance, open source NoSQL database. Written in C++! Como aprender MongoDB? MongoDB oferece um shell online… [Leia mais…]

Entendendo a estrutura de uma aplicação WP7

fevereiro 21, 2012

2

Olá pessoal. Tudo certo?! No último post falei sobre como a Microsoft planejou a experiência do usuário para o Windows Phone 7. Nesse post, começo a falar sobre o desenvolvimento de aplicações para a plataforma. Antes de começar Uma das características mais interessantes do Windows Phone 7 é a facilidade relacionada ao desenvolvimento de aplicações… [Leia mais…]

Já é hora de você conhecer (as personas) Anna e Miles!

fevereiro 20, 2012

2

Olá pessoal. Tudo certo?! Este é meu primeiro post (de muitos) falando especificamente sobre o desenvolvimento de aplicações e aprimoramento da experiência do usuário no Windows Phone 7. Nesse primeiro post, pretendo “apresentar” as duas personas, idealizadas pela Microsoft, para orientar o desenvolvimento de toda a experiência do usuário no Windows Phone. Também falo sobre… [Leia mais…]

Monads em C#

fevereiro 14, 2012

3

Olá pessoal. Tudo certo? Monad é uma abstração poderosa que facilita a escrita de soluções elegantes para problemas complexos. É um conceito matemático amplamente utilizado em linguagens funcionais (com destaque para Haskell). Além disso, foi amplamente considerado no design do LINQ. Nesse post, mostro como utilizar essa poderosa abstração em C#. O que é Monad?… [Leia mais…]

Map, Filter e Fold em C#

fevereiro 13, 2012

0

Olá pessoal. Tudo certo?! No paradigma funcional, há três funções, muito comuns, aplicadas a listas e sequências. São elas: Map – uma mesma operação aplicada a todos os elementos de uma lista e/ou sequência; Filter – seleção de elementos de uma lista/sequência, conforme um critério especificado; Fold – “acumulo” de todos os valores de uma… [Leia mais…]

Como Closures funcionam em C#

fevereiro 10, 2012

0

Olá pessoal. Tudo certo?! Uma discussão com o Juan Lopes (@juanplopes) me motivou a escrever este post. Pretendo explicar como Closures são entregues pelo compilador do C#. Uma questão intrigante… Para entender como closures funcionam é melhor examinar um código de exemplo. Observe: Seguindo o caminho de execução:  Main chama a função GetFunc que retorna… [Leia mais…]

Tail Recursion (em C#)

fevereiro 10, 2012

2

Olá pessoal. Tudo certo?! Nesse post, mostro como implementar “Tail Recursions” em C#. Embora o compilador do C# quase não forneça suporte para “Tail Recursion Optimizations”, o JIT em 64 bits fornece. Logo, utilizar técnicas de codificação para “Tail Recursion” pode representar um incremento significativo de performance. Nesse post, além de C#, usaremos um pouco… [Leia mais…]

Tornando o código mais elegante com “Currying” e “Partial Application” (em C#)

fevereiro 9, 2012

3

Olá pessoal. Tudo certo?! Fundamentalmente, programação funcional trata da aplicação de funções e suas combinações para algoritmos mais complexos. Outro dia, mostrei como “combinar” funções usando uma técnica chamada “Combinators” (veja o post). Hoje, mostro como decompor funções complexas usando uma ténica chamada “Currying” para, depois disso, criar composições mais inteligentes através de uma técnica… [Leia mais…]

Conhecendo o Microsoft “Roslyn” CTP – Parte 2 – Verificando o código (Linq To Code)

fevereiro 8, 2012

0

Olá pessoal. Tudo certo?! Nessa série, mostro os fundamentos do projeto Roslyn. Se está chegando agora, considere visitar o primeiro post (acho que vale a pena). Aqui, mostro como gerar e inspecionar uma árvore sintática de códigos em C#. O código que desejamos analisar Para demonstrar as funcionalidades do Roslyn, escrevi um arquivo com um… [Leia mais…]

HTTP Caching e Conditional Get (Last-Modified e ETag) em ASP.net MVC 3

fevereiro 5, 2012

0

Olá pessoal. Tudo certo!? Em um post anterior, mostrei como podemos usar o suporte de caching dos browsers para melhorar o desempenho de nossas aplicações. Naquele momento, mostrei como fazer a implementação “na unha”. Nesse post, mostro como implementar esse benefício utilizando ASP.net MVC 3. As coisas ficam um pouco mais fáceis. Caching simples Considere… [Leia mais…]

Buscando a SIMPLICIDADE

fevereiro 5, 2012

6

Olá pessoal. Tudo certo!? Sempre tive o péssimo hábito de propor soluções complicadas demais, difíceis demais. Tanto para entender, quanto para implementar. Tinha simpatia pelo rebuscado,o (pseudo-)erudito. Sempre fui, não sou (nem quero ser) mais. Recentemente, resolvi iniciar uma jornada particular em busca pela simplicidade. Neste post, compartilho alguns de meus motivos/critérios. O ótimo NÃO… [Leia mais…]

Melhorando o desempenho de aplicações WEB com HTTP Caching e suporte para Conditional Get (usando C#)

fevereiro 3, 2012

1

Olá pessoal. Tudo certo?! Uma das formas de melhorar a performance de aplicações Web é reduzir a quantidade de requests que são realizados para o servidor. Para isso, o sistema de caching dos browsers é um importante aliado. Ele é usado extensamente para armazenamento de recursos estáticos. Nesse post, mostro como suportar caching para recursos… [Leia mais…]

Enterprise Architeture Fundamentals – Foundation for Execution

fevereiro 2, 2012

0

Olá pessoal. Tudo certo!? O sucesso de uma organização, nesse cenário cada vez mais competivo, depende da excelência na execução de processos que colaborem para a execução da estratégia. Para isso, o “negócio” carece de suporte crescente e consistente do TI. Tanto para coordenar a infraestrutura quanto para coordenar a integração e padronização adequada dos… [Leia mais…]

Basic TCP/IP Socket Programming (usando C#)

janeiro 31, 2012

2

Olá pessoal. Tudo certo!? Estamos habituados a usar redes todos os dias. Pode parecer estranho, mas, esse não era o cenário mais comum quando comecei a utilizar computadores. Na medida em que redes de computadores se tornaram mais comuns, também foram ampliadas as opções de frameworks e faciltiadores para programação de redes. O post de… [Leia mais…]

C++ 101 – Parte 12 – Primeiro contato com Classes

janeiro 30, 2012

4

Olá pessoal. tudo certo?! No post anterior dessa série, mostrei como definir structs em C++. Nesse post começo a mostra como definir e utilizar classes (o assunto é amplo para esgotar em um único post). Uma primeira classe Comecemos escrevendo uma versão “classe” de uma struct que definimos no post anterior. Como pode observar, definir… [Leia mais…]

É hora de pensar em Enterprise Architecture

janeiro 29, 2012

2

Olá pessoal. Tudo certo?! Algumas idéias, uma vez aceitas, influenciam radicalmente a forma como percebemos e reagimos ao mundo. Nesse exato momento, estou sendo previlegiado com uma dessas experiências. Na última semana tive a honra e a oportunidade de ouvir Markus Cristen (com blog e perfis no facebook e twitter) falar sobre Enterprise Architecture. Fiquei… [Leia mais…]

Por um mundo com mais POESIA!

janeiro 28, 2012

3

Olá pessoal. Tudo certo?! Dentre todas as coisas que não sei, a que mais sinto falta é escrever poesia. Não estou falando de versos simples, ou de frases de efeito, ou de desabafos bêbados (Esses, eu até tento escrever). Estou falando de poesia de verdade. Peço licença aos amigos, mas vou tomar a liberdade de… [Leia mais…]

Garantindo desacoplamento com Message Endpoints

janeiro 28, 2012

2

Olá pessoal. Tudo certo!? Nesse post, concluo uma relação de “Enterprise Integration Patterns” fundamentais. Se você está chegando agora, deve considerar ver posts anteriores relacionados: Trocando mensagens (entre aplicações) usando MSMQ (com C#) Ganhando Flexibilidade e Escalabilidade com Mensageria e “Pipes and Filters” (usando C#) Encaminhamento condicional de mensagens com Message Router (usando C#) Promovendo… [Leia mais…]

Perseguindo a Inovação

janeiro 28, 2012

8

Olá pessoal. Tudo certo?! Há quem defenda que a inovação é fundamental para a continuidade de qualquer organização. Concordo com isso! Mas, a pergunta que fica é: “Como inovar?!” Há métodos, processos e tudo mais. Entretanto, penso que a adoção destes atrapalhe o começo da jornada. Para mim, a busca pela inovação começa pela formação… [Leia mais…]

Promovendo compatibilidade com Message Translator (usando C#)

janeiro 28, 2012

3

Olá pessoal. Tudo certo?! Outro dia, falamos sobre como aumentar a flexibilidade de nossos sistemas usando “Pipes and Filters”. Também exploramos alternativas para aumentar integração e escalabilidade através de “Message Routers” Nesse post, continuo explorando alternativas arquiteturais de integração (e mensageria) para EIP, através de “Message Translators”. Este pattern também está descrito no excelente livro… [Leia mais…]