Use o código e tenha 10% de desconto!

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

veja mais detalhes

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:
292
ISBN:
978-85-66250-24-4

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter