Arquivo

Textos com Etiquetas ‘Arquitetura’

.NET Architects Day 2011

26 de maio de 2011

Nos dias 3 e 4 de junho vai o rolar o .NET Architects Day 2011, uma conferência nacional sem fins lucrativos focada em arquitetura de software na plataforma .NET.

O evento é organizado pelo grupo de discussão sobre arquitetura de software .NET Architects e contará com a presença de palestrantes como Alexandre Porcelli, Fabio Akita, Giovanni Bassi, Gleicon Moraes, Otavio Pecego, Waldemir Cambiucci, entre outros.

Mas o que um desenvolvedor que trabalha o dia inteiro com Ruby on Rails irá fazer em um evento de .NET?

Antes de mais nada, “abra sua mente”. Não seja radical em suas opiniões, por mais que você não goste da Microsoft, do Windows ou do Internet Explorer.

O foco do evento é sobre arquitetura de software e não exclusivamente .NET. Tenho certeza que nenhum palestrante irá mostrar como usar o Visual Studio para “arrastar e soltar”.

Por exemplo, a palestra de Alexandre Porcelli e Gleicon Moraes, “A importância dos dados em sua arquitetura… uma visão muito além do SQL Server”, discutirá sobre noSQL e opções ao modelo da dados relacional. Já o Fabio Akita estará palestrando sobre o uso de Ruby além do Rails e traçando um paralelo com a plataforma .NET.

Para ver a programação completa do evento, use o link abaixo:
http://dnad.dotnetarchitects.net/dnad/2011/programacao/

.NET, Arquitetura, Eventos , , ,

2010 em livros

5 de janeiro de 2011

Estou a “plagiando” uma idéia de Phillip Calçado que fez um post em seu blog mostrando os livros lidos no ano de 2010, com um pequeno comentário sobre cada um.

Com certeza minha lista é muito mais modesta e curta, mas a idéia de compartilhar conhecimento é a mesma.

Esse post também serve para me alertar a ler mais, mesmo com toda a correria de trabalho, família, estudo e prática de esportes, gostaria de ter lido mais que 7 livros durante 2010.

Os livros são apresentados na ordem que foram lidos:

Clean Code: A Handbook of Agile Software Craftsmanship

Clean Code: A Handbook of Agile Software Craftsmanship

Robert C. Martin
Prentice Hall
August 2008

Muito bom

Todo programador deveria ler. Uncle Bob nos concede um pouco de sua vasta experiência em desenvolvimento de software, mostrando como deixar seu código mais enxuto, legível e simples. Esse livro serviu de inspiração para várias palestras e apresentações por aí sobre como escrever código de melhor qualidade.

The RSpec Book: Behaviour-Driven Development with RSpec, Cucumber, and Friends

The RSpec Book: Behaviour-Driven Development with RSpec, Cucumber, and Friends

David Chelimsky, Dave Astels, Zach Dennis, Aslak Hellesøy, Bryan Helmkamp, Dan North
The Pragmatic Programmers
December 2010

Ótimo

Essencial para quem quer aprender RSpec. Explica como seria o ciclo ideal de BDD. Também traz exemplos práticos de utilização de RSpec e Cucumber com Ruby e Ruby on Rails.

JavaScript: The Good Parts

JavaScript: The Good Parts

Douglas Crockford
O’Reilly
May 2008

Muito bom

Quem curte JavaScript irá gostar bastante. Fiz anotações sobre esse livro nesse post.

Design Patterns in Ruby

Design Patterns in Ruby

Russ Olsen
Addison-Wesley Professional
December 2007

Bom

Traz uma boa parte dos design patterns apresentados pela GoF utilizando Ruby. O que eu achei mais interessante foi a abordagem utilizada pelo autor: dado um design pattern, o mesmo é implementado de uma maneira clássica e depois reimplementado usando os recursos que o Ruby oferece, como por exemplo, metaprogramação, tornando alguns patterns totalmente diferentes de sua implementação original.

Professional ASP.NET MVC 2

Professional ASP.NET MVC 2

Jon Galloway, Scott Hanselman, Phil Haack, Scott Guthrie, Rob Conery
Wrox
June 2010

Muito bom

Sempre gostei da séria Professional da Wrox e esse livro mantém a linha de qualidade. Logo no primeiro capítulo tem um passo a passo da construção de uma pequena, mas completa, aplicação ASP.NET MVC 2. Os demais capítulos cobrem os demais recursos do framework. Só pelos autores já vale a leitura.

ASP.NET MVC 2 in Action

ASP.NET MVC 2 in Action

Jeffrey Palermo, Ben Scheirman, Jimmy Bogard, Eric Hexter, Matthew Hinze
Manning
June 2010

Regular

Talvez se eu não tivesse lido o livro da Wrox antes teria classificado melhor este. Em algumas vezes os autores focam demais no uso de ferramentas extras, auxiliares ao desenvolvimento de aplicações ASP.NET MVC 2. Isso é bom para quando você já tem conhecimento e/ou vivência do framework.

Test-Drive ASP.NET MVC

Test-Drive ASP.NET MVC

Jonathan McCracken
The Pragmatic Programmers
June 2010

Regular

Eu esperava bem mais desse livro por se tratar de TDD. Havia imaginado vários passos práticos de desenvolvimento orientado a testes no melhor estilo Kent Beck ou Uncle Bob. Para quem já conhece TDD, não irá ver grandes novidades.

Eu uso o Shelfari como prateleira virtual para organizar os livros que li, estou lendo e pretendo ler.
É bem legal e tem vários recursos. Por exemplo, esse endereço lista os livros que li no ano de 2010.

.NET, Arquitetura, JavaScript, Livros, Ruby, TDD , , , , , , , , , , , ,

Jim Webber faz consultoria na Locaweb

5 de maio de 2010

Jim Webber possui uma vasta experiência em arquitetura e desenvolvimento de Web Services. Atualmente está trabalhando na ThoughtWorks de Londres e finalizando seu novo livro REST in Practice: Hypermedia and Systems Architecture, que tem previsão de publicação para setembro desse ano.

Durante toda essa semana, ele está na Locaweb prestando consultoria para as equipes de tecnologia da empresa.

Eu e Jim Webber na Locaweb

Ontem foi a vez da equipe de SaaS, a qual eu faço parte. Mostramos a ele nossos sistemas, arquiteturas, tecnologias, formas de trabalho, desafios, etc. Também falamos dos nossos problemas atuais e, é claro, fizemos um monte de perguntas.

O Jim nos ajudou com algumas dúvidas e nos propos vários soluções e caminhos que podem ser tomados. Ele é um cara bastante extrovertido e simpático. Passamos o dia todo conversando e foi uma experiência muito boa para toda a equipe.

Eu particularmente tive um desafio pessoal, pois apresentei ao Jim o atual projeto de Comércio Eletrônico que estamos desenvolvendo. Foi minha primeira apresentação em inglês e logo para um renomado expectador. Bom, pelo feedback dos meus companheiros de equipe, e do próprio Jim, tudo ocorreu bem.

Arquitetura, Ruby, TDD , , , , , , , , ,

Melhores posts do ano de 2009

8 de janeiro de 2010

Cheeseburgers, Ruby e magia negra

19 de setembro de 2009

Vamos usar um pouco de magia negra do Ruby para encontrar uma alternativa à implementação clássica do Design Pattern Decorator apresentado pela GoF.

Imagem original de MarketFare Foods, Inc.

Imagem original de MarketFare Foods, Inc.

.
Este post é a continuação de dois anteriores:

Se você ainda não os leu, recomendo que o faça para entender o contexto do exemplo onde estamos aplicando o Design Pattern Decorator. O ponto onde paramos no último post foi o meu descontentamento em decorar um objeto Cheeseburger de uma forma não muito intuitiva.

Leia mais…

Arquitetura, Ruby , , , , , ,

Cheeseburgers, Decorators e Ruby

13 de setembro de 2009

No post Cheeseburgers, Decorators e Mocks eu mostrei um exemplo prático de utilização do Design Pattern Decorator, que começa com um design usando herança, desaclopa usando composição e finalmente aplica Decorator. Tudo isso foi feito em .NET com C#. Agora vamos fazer o mesmo exemplo de Decorator Pattern utilizando Ruby. Para entender melhor o contexto do exemplo utilizado, sugiro que você leia antes o post anterior.

Imagem original de MarketFare Foods, Inc.

Imagem original de MarketFare Foods, Inc.

Além de Ruby, utilizarei o RSpec como ferramenta de testes unitários. No final do post há os links para baixar o código completo.

Leia mais…

Arquitetura, Ruby , , , , , , , ,

Cheeseburgers, Decorators e Mocks

29 de julho de 2009

Em São Paulo, eu sempre comi cheeseburgers feitos com pão, hamburguer e queijo. Mas quando eu fui para Itararé, cidade do interior do estado de São Paulo, descobri que eles também colocavam milho no sanduíche.

Para exemplificar, vamos imaginar que o cheeseburger de Ilhéus-BA, venha com molho de pimenta. Só para constar, eu nunca fui para Ilhéus, apesar de ser a cidade natal de meu pai. Então na verdade não tenho a mínima idéia de como seja o cheeseburger de lá.

Imagem original de MarketFare Foods, Inc.

Imagem original de MarketFare Foods, Inc.

Vamos transportar esses três tipos de cheeseburgers para objetos e fazer alguns testes com eles. Usarei como plataforma .NET, linguagem C#, a ferramenta de testes unitários que vem com o Visual Studio 2008 e o Rhino Mocks como framework de criação de mocks.

Leia mais…

.NET, Arquitetura , , , , , , , , , , , , ,

Livro sobre Domain-Driven Design de Eric Evans em português

15 de julho de 2009

Em agosto será lançada a tradução do livro Domain-Driven Design: Tackling Complexity in the Heart of Software de Eric Evans, publicado pela Addison-Wesley. Este é o principal livro, e de leitura obrigatória, para quem quer conhecer e aplicar Domain-Driven Design (DDD).

A versão em português, Domain-Driven Design: Atacando as Complexidades no Coração do Software, será lançado pela editora Alta Books com o preço inicial de R$ 85,41.

No site da editora aparece que o livro estará disponível a partir de 31/07/2009, mas de acordo com Anderson Camara da Alta Books, a previsão de lançamento é para 10/08/2009.

No Submarino o livro já aparece no catálogo como indisponível. Você pode cadastrar seu e-mail nesse endereço para ser avisado quando o livro estiver disponível para venda.

Uma coisa ruim é que o livro não terá o mesmo formato de capa dura do livro original. De qualquer forma, é uma ótima aquisição para quem trabalha com arquitetura de software e às vezes prefere ter um material de estudo em português.

Arquitetura, Livros , , ,

Programação serena

20 de junho de 2009

Meu pai, que considero um exemplo de pessoa honesta, humilde e de bom caráter, me ensinou que na vida precisamos agir com serenidade. Ele me apresentou a oração da serenidade:

Concedei-me, Senhor, a serenidade necessária para aceitar as coisas que não posso modificar, coragem para modificar aquelas que posso e sabedoria para distinguir umas das outras.

Agora, o que isso tem a ver com desenvolvimento de software?

Imagine um cenário que você precise incluir uma nova funcionalidade em uma aplicação existente. Suponha que o código dessa aplicação não está muito bom, há acoplamentos entre os objetos, pouca cobertura de testes e a arquitetura deixa a desejar. Você precisa incluir a nova funcionalidade, mas não pode aumentar o débito técnico.

Por outro lado, você não irá refazer toda a aplicação de uma forma melhor, pois além de você não ter tempo (e dinheiro) disponível para isso, o sistema hoje atende os requisitos atuais e executa sem problemas.

Nessa situação, você precisa de sabedoria para distinguir o que pode ser modificado neste momento no código existente para melhorá-lo e o que você não irá modificar agora, já que não afeta diretamente a nova funcionalidade.

Você necessita de coragem para modificar o código legado, pagar o débito técnico, criar testes automatizados, refatorar, tornar o código mais claro, reformular o design, diminuir acoplamentos.

Você terá serenidade para aceitar que nem tudo pode ser melhorado agora, pois você tem prazo e orçamento a serem cumpridos. O objetivo neste momento é implementar a nova funcionalidade.

Com serenidade você pode alcançar uma melhoria contínua no seu software.
.
Obs.: Após rascunhar o conteúdo deste post dei uma olhada no meu leitor de feeds e me deparei com o post Parar e Refatorar? da InfoQ Brasil. A discussão sobre o tema é longa, mas a serenidade também se aplica.

Arquitetura , , , ,

.NET Architects Day 2009

13 de junho de 2009

No próximo dia 27 de junho vai rolar o primeiro evento do grupo de discussão sobre arquitetura de software .NET Architects.

Eu infelizmente não vou, pois estarei em outro evento. Mas Luciano Coelho e Rodrigo Ortiz, que trabalham comigo, irão e poderão nos contar tudo que aconteceu.

Algo interessante é que exatamente todos os assuntos que serão abordados, estaremos utilizando em um novo projeto que irá iniciar no segundo semestre.

Veja o conteúdo das palestras:

Programando com prazer com Domain Driven Design (DDD)
Giovanni Bassi
O Domain Driven Design é uma nova abordagem para desenvolvimento de software. Mas não é tão nova assim. Ela reune melhores práticas de OO e traz uma nova visão a velhos conceitos. Entenda nesta palestra a proposta do DDD, e porque ele pode mudar sua maneira de programar.

Utilizando Injeção de Dependência com Unity (Enterprise Library)
Leandro Daniel
Nessa palestra veremos o padrão de Injeção de Dependência como uma alternativa técnica na construção de aplicações plugáveis, onde se deseja manter a flexibilidade para troca de componentes com menor impacto de manutenção, maior reusabilidade e facilidade na aplicação de testes.

ASP.NET MVC: tome seu HTML de volta
Victor Cavalcante
Nessa palestra veremos o que é o ASP.NET MVC e o que ele não é, como ele funciona, diferenças entre ASP.NET MVC e Web Forms, extensibilidade, testabilidade, criação de templates com T4 e jQuery. A intenção desta palestra é dar informações suficientes para que o arquiteto decida utilizar ou não ASP.NET MVC.

ORM - Sendo preguiçoso com NHibernate
Juliano Oliveira
Nessa palestra você verá os principais pontos que fazem dos frameworks de ORM e do NHibernate ferramentas tão importantes nos projetos, desmistificar seus maiores mitos, os principais recursos, ferramentas de análise (NHProof) e verá também como ser produtivo com o NHibernate.

Testes: garantindo que seu código faz o que você quer
Mauricio Aniche
Entenda porque testes automatizados de software são importantes e quais as vantagens que ele traz para a equipe de desenvolvimento. Veja também na prática que criar testes automatizados é simples, rápido e realmente útil.

O valor da inscrição é de R$ 50,00 e o evento terá aproximadamente 9 horas de duração.
Mais informações você pode ter diretamente na página do evento.

.NET, Arquitetura, Eventos, TDD , , , , , , , , , , , ,