Arquivo

Textos com Etiquetas ‘Livros’

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 , , , , , , , , , , , ,

Melhores posts do ano de 2010

31 de dezembro de 2010

[InfoQ] Livro grátis: Moving to Microsoft Visual Studio 2010

4 de novembro de 2010

A Microsoft Press está disponibilizando um livro grátis chamado “Moving to Microsoft Visual Studio 2010″, dos autores Patrice Pelland, Pascal Paré e Ken Haines. O objetivo desse livro é ajudar os desenvolvedores .NET na transição de versões anteriores do Visual Studio para a última versão, o Microsoft Visual Studio 2010.

Veja a notícia completa na InfoQ Brasil:
http://www.infoq.com/br/news/2010/11/livro-moving-visual-studio-2010

Veja também outras notícias e artigos sobre .NET na InfoQ Brasil:
http://www.infoq.com/br/dotnet

.NET, Livros , , ,

Anotações sobre o livro “JavaScript: The Good Parts”

15 de agosto de 2010

Em geral quando eu leio um livro, costumo fazer anotações de trechos interessantes que encontro.

No livro JavaScript: The Good Parts, de Douglas Crockford, encontrei um punhado deles. Eu listo esses trechos aqui, até sendo um forma de eu organizar meu estudo.

Só lembrando que minha intenção não é publicar partes do livro. Na verdade, espero que você, que usa/gosta de JavaScript, se sinta incentivado a ler o livro, o qual gostei muito e recomendo.

Ah, para quem quiser, também há a versão traduzida para português, O Melhor do JavaScript, publicada pela editora Alta Books.

Analisando o JavaScript

O JavaScript se baseia em algumas idéias muito boas, que incluem funções, tipificação fraca e objetos dinâmicos, e umas poucas idéias ruins, como um modelo de programação baseado em variáveis globais.

Se você deseja aprender sobre as partes ruins e como mal utilizá-las, consulte qualquer outro livro sobre JavaScript.

Números

Há um único tipo de número, onde não há um tipo inteiro distinto, diferente de outras linguagens de programação. Então 1 e 1.0 têm o mesmo valor.

Strings

Strings são imutáveis, nunca podem ser alteradas. Concatenando com o operador “+”, uma nova string é criada.

Duas strings que contém os mesmos caracteres na mesma ordem são considerados a mesma string. Por exemplo, o resultado da expressão abaixo é true.

"P" + "r" + "o" + "d" + "i" + "s" === "Prodis" // true
Escopo

Diferente de outras linguagens, os blocos (grupo de comandos entre chaves) não criam um novo escopo. Uma variável declarada dentro de um bloco é visível em qualquer lugar da função que contém esse bloco. Sendo assim, as variáveis não deveriam ser definidas nos blocos, e sim no começo da função.

Valores booleanos

false, null, undefined, string vazia “”, o número 0 e o número NaN são valores falsos. Todos os outros valores são considerados verdadeiro, inclusive true, a string “false” e os demais objetos.

Operador typeof

“number”, “string”, “boolean”, “undefined”, “function” e “object” são valores retornados por typeof. Para o uso de typeof com null ou uma matriz, o retorno é “object”, o que não é certo. Um teste melhor para detectar nulos é simplesmente:

myValue === null
Objetos

Números, strings e booleanos não são objetos, pois são imutáveis. Objetos são grupos mutáveis com índices. Matrizes, funções, expressões regulares e objetos são objetos.

Para criar novos valores de objetos, uma forma conveniente é criar um objeto literal, um par de chaves contendo zero ou mais pares nome/valor. Por exemplo:

var contact = {
  "email" = "pedro@bo.com.br",
  "phone" = "(11) 9999-9999"
}

Todo objeto é ligado a um protótipo de onde ele pode herdar propriedades. Todos os objetos criados de literais são associados a Object.prototype, um objeto que vem como padrão no JavaScript.

Funções

A melhor coisa que JavaScript possui é sua implementação de funções.

Funções são ligadas à Function.prototype, que está ligada à Object.prototype.

Funções podem ser armazenadas em váriaveis, objetos e matrizes. Elas podem ser passadas como parâmetros para funções e serem retornadas por funções. E como são objetos, funções também podem ter métodos.

Quando uma função é chamada e os parâmetros não coincidem, não há erro em tempo de execução. Se os valores informados excederem a quantidade de parâmetros, os valores excedentes são ignorados. Se o inverso acontecer, undefined será atribuído aos valores faltantes.

Uma função sempre retorna um valor. Se um valor não for fornecido no comando return, então undefined é retornado.

Ao invés de escopo de bloco, JavaScript possui escopo de função. Todos os parâmetros e variáveis definidos em uma função não são visíveis fora dela. É recomendável declarar todas as variáveis utilizadas em uma função no início do corpo da função, diferente de outras linguagens onde as variáveis geralmente são declaradas logo antes de sua utilização.

Partes péssimas e ruins

A dependência de variáveis globais é a pior parte do JavaScript, pois uma dessas variáveis pode ser alterada em qualquer parte do código e em qualquer momento, algo que pode complicar muito o comportamento de um programa.

O operador “+” é utilizado tanto para concatenar strings, quanto para somar números. Se você quer usá-lo para somar, precisa se certificar que os dois operandos são números. Caso contrário, esses operandos serão convertidos em strings. Veja o exemplo abaixo:

10 + 15 // 25
10 + "15" // "1015"

O valor NaN (not a number) é um tanto incoerente. O typeof não distingue entre números e NaN:

typeof(NaN) // "number"

E NaN não é igual a ele mesmo:

NaN === NaN // false
NaN !== NaN // true

No JavaScript, há dois grupos de operadores de igualdade:

  • Os bons: === e !==
  • E os maus: == e !=

Os bons funcionam como esperado: se dois operando tiverem o mesmo valor e forem do mesmo tipo, === retorna true e !== retorna false. Já os maus funcionam bem quando os operando são do mesmo tipo, mas quando eles são de tipos diferentes, eles tentam fazer coerção de tipo e coisas estranhas podem acontecer:

"" == "0" // false
0 == ""   // true
0 == "0"  // true

false == "false" // false
false == "0"     // true

false == undefined // false
false == null     // false
null == undefined  // true

" \t\r\n " == 0 // true

O melhor é sempre usar o grupo de bons operados de igualdade: === e !==.

JavaScript, Livros , ,

Livros técnicos em inglês X Livros técnicos em português

3 de abril de 2010

Não quero criar mais uma polêmica sobre a qualidade dos livros técnicos em português, escassez de publicações originais, traduções problemáticas, dificuldade dos leitores em ler livros em inglês, etc. Diversas opiniões e discussões como essa e essa existem aos montes. Somente quero relatar minhas experiências relacionadas a esse assunto e dar minha singela opinião a respeito.

Quando comecei a programar em 2000, sempre procurava material de estudo em português, seja na Internet ou um livros. O mesmo acontecia quando estava na faculdade e emprestava livros de sua biblioteca. Aliás, em geral eu sempre estava com algum livro emprestado de lá.

Em torno de um ano depois, eu precisava fazer o TCC da pós-graduação e somente havia encontrado material em inglês sobre o assunto que meu grupo escolheu. Isso me obrigou a traduzir uma série de artigos e documentações, o que não foi nada fácil. Mas isso melhorou muito meu “vocabulário técnico” e passei a dar mais atenção em material em inglês, principalmente documentação de referência de linguagens e plataformas.

Ficou claro para mim que era inevitável conhecer inglês para ser um bom desenvolvedor.

Mesmo estudando inglês, nessa época, se houvesse um livro em inglês com tradução em português, eu sempre dava preferência para os livros em português, por esse motivos:

  • Eram mais baratos: o frete e o preço do dólar encarecia os livros importados;
  • Eram mais acessíveis, pois eu os encontrava em qualquer boa livraria sem ter que encomendá-los;
  • Eu os lia mais rápido comparados com livros em inglês;
  • Livros em formato digital não me atendiam, pois grande parte do meu tempo de leitura se dava em viagens de ônibus e/ou metrô;
  • Eu não prezava a qualidade (ou ainda não tinha noção da má qualidade de algumas traduções.

Minha carreira foi evoluindo e com isso a necessidade de se atualizar e de adquirir novos conhecimentos cada vez mais rápido. Não dava para esperar um ou dois anos para alguma editora nacional decidir traduzir um livro. Novamente a necessidade me ajudou, passando a não dar mais preferência para os livros em português.

Lendo livros em inglês e comparando-os com suas versões traduzidas, notei que a maior parte dos livros em português pecam demais em qualidade. São muitos erros, traduções absurdas, traduções ao pé da letra, trechos que não são traduzidos e por aí vai. Eu posso contar nos dedos quantos livros traduzidos que eu li que realmente eram fiéis às suas versões originais.

Atualmente, além de preferir os livros em inglês, também dou preferência para as versões digitais, como em formato PDF. Tenho a possibilidade de lê-los em meu notebook, principalmente nas viagens de ônibus fretado que faço todos os dias. Além disso, considero como uma pequenina contribuição para o meio ambiente.

Com o hábito, você vai aprimorando sua leitura em inglês a cada dia, o que aos poucos vai ser tornando algo natural. No começo pode ser difícil, eu sei, já passei por isso. Mas se você pretende ser mais do que um desenvolvedor medíocre, é um passo inevitável.

Se você ainda não tem a segurança de ler um livro técnico em inglês e precisa estudar sobre um determinado assunto agora, leia a versão em português (se existir uma). Não há nenhum pecado nisso. Mas se esforce para conseguir ler em inglês logo. Estude, invista na sua carreira. Se precisar de uma motivação a mais, leia esse artigo do Fabio Akita.

Caso você seja fluente em inglês ou não tem nenhum problema em ler livros em inglês, é claro que você vai esquecer os livros em português, a não ser que seja uma produção original e não uma tradução. Mas também ajude e incentive seu companheiro de trabalho ou estudo à prática da leitura em inglês, ao invés de discriminá-lo por estar lendo um livro em português ou por ter dificuldades de ler em inglês, algo que eu já vi muito acontecer. Afinal, assim como você, ninguém já nasceu sabendo.

Livros ,

Use a cabeça! Aprenda Rails

16 de novembro de 2009

Nova página com livros que eu já li

23 de setembro de 2009

Criei uma nova página mostrando os livros que eu já li.

Nessa página estou utilizando um widget de uma ferramenta muito legal chamada Shelfari, que funciona como uma “prateleira virtual”.

Lá é possível cadastrar os livros que você já leu, pretende ler ou que está lendo atualmente. Além disso, você pode cadastrar amigos e divulgar seus livros através de um endereço personalizado, como o meu: http://www.shelfari.com/prodis.

Fique à vontade para tirar dúvidas referentes aos livros que estão na minha lista, basta deixar um comentário aqui no blog.

Clique aqui para visitar minha nova página de livros.

Livros ,

Livro Head First Rails em português

24 de julho de 2009

Use a Cabeça Rails - Dawn GriffithsEstá previsto para 15/08/2009 o lançamento do livro Use a Cabeça Rails, pela editora Alta Books, que promete mostrar de uma maneira divertida como utilizar os recursos do Ruby on Rails, um framework para desenvolvimento ágil de aplicações Web baseado em Ruby, que aumenta a velocidade e a produtividade do desenvolvimento de suas aplicações sem comprometer a qualidade do código.

O livro original, Head First Rails de David Griffiths, publicado pela editora O’Reilly, faz parte da série Head First, que traz um formato diferente de transmitir conhecimento. Segundo os criadores da série, Kathy Sierra e Bert Bates, a abordagem consiste em apresentar a informação para o cérebro de forma amigável e interessante, usando exemplos do cotidiano, o que faz com que a aprendizagem seja mais fácil e prazerosa. O cérebro é estimulado a aprender. O truque é fazer com que seu cérebro defina qual informação é realmente importante.

Tendo como base pesquisas de neurobiologia, ciência cognitiva e teoria do aprendizado, os livros da série Head First têm um visual rico, recheados de ilustrações inteligentes, projetados na forma como seu cérebro funciona; não se tratando de uma abordagem pesada que faz com que você caia no sono profundamente.

A Alta Books já publicou várias traduções dos livros dessa série, com o nome de Use a Cabeça.

Através do Submarino, você pode cadastrar seu e-mail nesse endereço para ser avisado quando o livro estiver disponível para venda, pois o mesmo já aparece no catálogo.

O livro Use a Cabeça Rails, que tem como preço inicial R$ 76,41, é uma ótima opção para quem quer aprender ou está começando a mexer com Ruby on Rails.

Livros, Ruby , , , , ,

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 , , ,