Ruby Aprenda a programar na linguagem mais divertida
Lucas Souza
Conteúdo
O mercado das linguagens de programação está cada vez mais pulverizado e as linguagens, que antes eram mainstream, hoje dividem a atenção dos desenvolvedores com outras alternativas. Uma delas é o Ruby, poderosa linguagem criada para satisfazer o desejo de possibilitar a criação de código bonito e elegante.
Muitos desenvolvedores já a adotaram e recomendam. Agora é a sua vez! Comece a aprender desde já!
Sumário
- 1 Uma introdução prática à linguagem Ruby
- 1.1 Quando? Onde? Por quê?
- 1.2 Instalação
- 1.3 Tudo pronto... mãos à massa: inferência de tipos
- 1.4 Tipagem forte e dinâmica
- 1.5 Uma linguagem interpretada e com classes abertas
- 1.6 Onde eu usaria Ruby?
- 2 Seu primeiro passo no Ruby: convenções e as diferentes estruturas primitivas
- 2.1 Mais tipos no Ruby
- 2.2 Comente seu código
- 2.3 O trabalho com números
- 2.4 Representação de textos com as Strings
- 2.5 Estruturas de controle
- 2.6 Entenda o valor nulo
- 2.7 Substitua o "if not" por "unless"
- 2.8 Iterações simples com for, while, until
- 2.9 As outras formas de declarar Strings
- 2.10 Próximos passos
- 3 O começo da nossa aplicação
- 3.1 A definição da classe Livro
- 3.2 Crie a estrutura do projeto
- 3.3 Defina os atributos de instância
- 3.4 Sobrescrevendo o método to_s
- 3.5 Alteração e leitura de atributos
- 3.6 Atributos nem tão privados assim
- 3.7 Grandes poderes, grandes responsabilidades
- 4 Estruturas de dados
- 4.1 Trabalhe com Arrays
- 4.2 Guardando nossos livros
- 4.3 Percorrendo meu array
- 4.4 Como separar os livros por categoria: trabalhe com Hash
- 4.5 Indo mais a fundo: Hashes no Ruby 1.9
- 4.6 Indo mais a fundo: o operador ||=
- 4.7 Indo mais a fundo: o tipo Set
- 4.8 Próximos passos
- 5 Ruby e a programação funcional
- 5.1 O que é programação funcional
- 5.2 Funções puras
- 5.3 Comandos que retornam valores
- 5.4 Funções de alta ordem: higher-order functions
- 5.5 Crie seu próprio código que usa um bloco de código
- 5.6 Explorando a API Enumerable
- 5.7 Para saber mais: outras maneiras de criar blocos
- 5.8 Para saber mais: currying
- 5.9 Para saber mais: closure
- 5.10 Próximos passos
- 6 Explorando API File
- 6.1 Um pouco da classe File
- 6.2 Serialização de objetos
- 6.3 Salvando objetos em arquivos
- 6.4 Recuperando objetos salvos
- 6.5 Próximos passos
- 7 Compartilhando comportamentos: herança, módulos e mixins
- 7.1 Herança: compartilhando comportamentos com classes
- 7.2 Herança e variáveis de instância
- 7.3 Os custos no uso da herança
- 7.4 Módulos
- 7.5 Indo mais a fundo: constant Lookup de dentro para fora
- 7.6 Duck Typing: o polimorfismo aplicado no Ruby
- 7.7 Herança ou mixing? Qual devo usar?
- 8 Metaprogramação e seus segredos
- 8.1 Entenda o self e method calling
- 8.2 O impacto do self na definição de classes
- 8.3 Singleton Class e a ordem da busca de métodos
- 8.4 Indo mais a fundo: acessando a singleton class
- 8.5 Metaprogramação e as definições de uma classe
- 8.6 Criando um framework para persistir objetos em arquivos
- 8.7 Gerenciando exceções e erros
- 8.8 A exclusão de dados implementada com metaprogramação
- 8.9 Method lookup e method missing
- 8.10 Utilizando expressões regulares nas buscas
- 8.11 Próximos passos
- 9 As bibliotecas no universo Ruby
- 9.1 Como manusear suas gems com o Rubygems
- 9.2 Gerenciando várias versões de uma gem
- 9.3 Gerencie dependências com o Bundler
- 9.4 Criando e distribuindo gems
- 9.5 Distribuição da biblioteca
- 9.6 Próximos passos
- 10 Criando tasks usando rake
- 10.1 Parâmetros na rake task
- 10.2 Tasks com pré-requisitos
- 10.3 Próximos passos
- 11 RVM (Ruby Version Manager)
- 11.1 Instalação
- 11.2 Instalando diferentes Rubies
- 11.3 Organize suas gems utilizando gemsets
- 11.4 Troque automaticamente de gemsets com .rvmrc
- 11.5 Próximos passos
- 12 Ruby 2.0
- 12.1 Evitando monkey patches com refinements
- 12.2 Named parameters
- 12.3 Utilize prepend em vez de include
- 12.4 Utilizando lazy load no módulo Enumerable
- 12.5 Encoding UTF-8
- 12.6 Próximos passos
- 13 Apêndice: concorrência e paralelismo
- 13.1 Threads
- 13.2 Múltiplos processos
- 13.3 Fibers
- 13.4 O design pattern Reactor
- 13.5 Conclusão
Autor

Lucas Souza
Lucas Souza é formado em Engenharia da Computação pela Universidade de Ribeirão Preto. Iniciou sua carreira participando de projetos da própria universidade, utilizando PHP e ASP. Começou a programar em Java no ano de 2006, no qual utilizou várias tecnologias, como GWT, SWT e Prevayler. Passou 2 anos pela Caelum, onde foi instrutor, desenvolvedor e editor chefe do InfoQ Brasil, além de ter se encantado pela linguagem Ruby. Também atuou por 2 anos na equipe responsável pela construção e implantação do novo CMS do portal r7.com, escrito em sua maioria utilizando Ruby e Rails. Atualmente, é um dos líderes da equipe de desenvolvimento de um marketplace de serviços, o famoso GetNinjas (http://www.getninjas.com.br), onde trabalha com Ruby e Rails. É apaixonado por testes e boas práticas que visam melhorar o design do código e colabora com projetos open source (http://www.github.com/lucasas) Está no Twitter como @lucasas.
Dados do produto
- Número de páginas:
- 293
- ISBN:
- 978-85-66250-24-4
- Data publicação:
- 10/2012