Conhecendo Ruby
Conhecendo Ruby
Sobre o Livro
Esse ebook é a evolução do famoso tutorial de Ruby lançado em 2006, que gerou o primeiro livro de Ruby no Brasil. Aqui você tem todas as informações atualizadas do livro e mais muita coisa nova, que vão desde aumento no conteúdo do livro como o que foi sendo alterado desde as versões 1.8.x de Ruby, com algumas dicas sobre Ruby 2.0.
Table of Contents
- Sobre esse livro
-
Ruby
- O que é Ruby?
-
Instalando Ruby
- Ubuntu
- OSX
- RVM
- Instalando um interpretador Ruby
-
Básico da linguagem
- Tipagem dinâmica
- Tipagem forte
-
Tipos básicos
- Fixnums
- Bignums
- Ponto flutuante
- Racionais
- Booleanos
- Nulos
- Strings
- Substrings
- Concatenando Strings
- Encoding
- Váriaveis são referências na memória
- Congelando objetos
-
Alguns métodos e truques com Strings
-
- Símbolos
-
Expressões regulares
- Grupos
- Grupos nomeados
- Caracteres acentuados
- Arrays
- Duck Typing
- Ranges
- Hashes
- Blocos de código
- Conversões de tipos
- Conversões de bases
-
Tratamento de exceções
- Disparando exceções
- Descobrindo a exceção anterior
- Criando nossas próprias exceções
- Comparando exceções
- Utilizando catch e throw
-
Estruturas de controle
-
Condicionais
- if
- unless
- case
-
Loops
- while
- for
- until
-
Condicionais
- Operadores lógicos
- Procs e lambdas
-
Iteradores
- Selecionando elementos
- Selecionando os elementos que não atendem uma condição
- Processando e alterando os elementos
- Detectando condição em todos os elementos
- Detectando se algum elemento atende uma condição
- Detectar e retornar o primeiro elemento que atende uma condição
- Detectando os valores máximo e mínimo
- Acumulando os elementos
- Dividir a coleção em dois Arrays obedecendo uma condição
- Percorrendo os elementos com os índices
- Ordenando uma coleção
- Combinando elementos
- Percorrendo valores para cima e para baixo
- Filtrando com o grep
- Inspecionando no encadeamento de métodos
-
Métodos
- Retornando valores
- Enviando valores
- Enviando e processando blocos e Procs
- Valores são transmitidos por referência
- Interceptando exceções direto no método
-
- Métodos destrutivos e predicados
-
Classes e objetos
- Classes abertas
- Navegação segura
- Aliases
- Inserindo e removendo métodos
- Metaclasses
-
Variáveis de classe
- Interfaces fluentes
- Variáveis de instância de classe
- Herança
- Duplicando de modo raso e profundo
- Brincando com métodos dinâmicos e hooks
- Manipulando métodos que se parecem com operadores
- Executando blocos em instâncias de objetos
- Closures
-
Módulos
-
Mixins
- Módulos estendendo a si mesmos!
- Namespaces
- TracePoint
-
Mixins
- Instalando pacotes novos através do RubyGems
- Threads
- Fibers
- Continuations
- Processos em paralelo
- Benchmarks
-
Entrada e saída
- Arquivos
- Arquivos Zip
- XML
- XSLT
- JSON
- YAML
- TCP
- UDP
- SMTP
- FTP
- POP3
- HTTP
- HTTPS
- SSH
-
Processos do sistema operacional
- Backticks
- System
- Exec
- IO.popen
- Open3
-
XML-RPC
- Python
- PHP
- Java
-
JRuby
- Utilizando classes do Java de dentro do Ruby
- Usando classes do Ruby dentro do Java
-
Banco de dados
- Abrindo a conexão
- Consultas que não retornam dados
- Atualizando um registro
- Apagando um registro
- Consultas que retornam dados
- Comandos preparados
- Metadados
- ActiveRecord
- Escrevendo extensões para Ruby, em C
-
Utilizando bibliotecas externas
- Escrevendo o código em C da lib
- Utilizando a lib compartilhada
-
Garbage collector
- Isso não é um livro de C mas …
- Isso ainda não é um livro de C, mas …
- Pequeno detalhe: nem toda String usa malloc/free
-
Unit testing
- Modernizando os testes
- Randomizando os testes
-
Testando com specs
- Benchmarks
- Mocks
- Stubs
- Expectations
- Testes automáticos
-
Criando Gems
- Criando a gem
- Testando a gem
- Construindo a gem
- Publicando a gem
- Extraindo uma gem
-
Assinando uma gem
- Criando um certificado
- Adaptando a gem para usar o certificado
- Construindo e publicando a gem assinada
- Utilizando a gem assinada
-
Rake
- Definindo uma tarefa
- Namespaces
- Tarefas dependentes
- Executando tarefas em outros programas
- Arquivos diferentes
- Tarefas com nomes de arquivo
- Tarefas com listas de arquivos
- Regras
- Estendendo
- Gerando documentação
-
Desafios
- Desafio 1
- Desafio 2
- Desafio 3
- Desafio 4
- Desafio 5
- Desafio 6
- Desafio 7
- Notes
Authors have earned$10,247,280writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.
Aprenda sobre como escrever na Leanpub
A garantia Leanpub incondicional, sem riscos, de 100% de satisfação
Durante 45 dias da data de compra você pode solicitar o reembolso total de qualquer compra Leanpub, em dois cliques. Nós processamos os reembolsos manualmente, então eles podem demorar alguns dias para aparecer. Veja os termos completos.
Atualizações grauitas. Sem DRM.
Se você compra um livro da Leanpub, você recebe atualizações gratuitas enquanto o autor atualizar o livro! Muitos autores utilizam a Leanpub para publicar os seus livros em andamento, enquanto eles estão os escrevendo. Todos os leitores recebem atualizações gratuitas, não importa quando ou por quanto eles compraram o livro (até mesmo de graça).
A maioria dos livros Leanpub estão disponíveis em PDF (para computadores), EPUB (para telefones e tablets) e MOBI (para Kindle). Os formatos que um livro inclui são exibidos no top direito dessa página.
Por último, livros Leapub não têm nenhuma proteção anti-cópias DRM sem sentido, então você pode facilmente lê-los em qualquer dispositivo suportado.
Aprenda mais sobre os formatos de ebook da Leanpub e aonde lê-los
Top Books
500 QUIZ MMG COMMENTATI
ALS Medicina Generale500 Quiz degli ULTIMI Concorsi di Medicina Generale (2014/2016/2017/2018/2019)
Riassunti e suddivisi per area con Griglia risposte vuota e Griglia risposte esatte Ministeriale
Commentati con link alla fonte per approfondimento e ausilio allo studio
C++20
Rainer GrimmC++20 is the next big C++ standard after C++11. As C++11 did it, C++20 changes the way we program modern C++. This change is, in particular, due to the big four of C++20: ranges, coroutines, concepts, and modules.
Functional Design and Architecture
Alexander GraninSoftware Design in Functional Programming, Design Patterns and Practices, Methodologies and Application Architectures. How to build real software in Haskell with less efforts and low risks. The first complete source of knowledge.
Atomic Kotlin
Bruce Eckel and Svetlana IsakovaFor both beginning and experienced programmers! From the author of the multi-award-winning Thinking in C++ and Thinking in Java together with a member of the Kotlin language team comes a book that breaks the concepts into small, easy-to-digest "atoms," along with exercises supported by hints and solutions directly inside IntelliJ IDEA!
R Programming for Data Science
Roger D. PengThis book brings the fundamentals of R programming to you, using the same material developed as part of the industry-leading Johns Hopkins Data Science Specialization. The skills taught in this book will lay the foundation for you to begin your journey learning data science. Printed copies of this book are available through Lulu.
Ansible for DevOps
Jeff GeerlingAnsible is a simple, but powerful, server and configuration management tool. Learn to use Ansible effectively, whether you manage one server—or thousands.
Algebra-Driven Design
Sandy MaguireA how-to field guide on building leak-free abstractions and algebraically designing real-world applications.
Thinking with Types
Sandy MaguireThis book aims to be the comprehensive manual for type-level programming. It's about getting you from here to there---from a competent Haskell programmer to one who convinces the compiler to do their work for them.
C++ Best Practices
Jason TurnerLevel up your C++, get the tools working for you, eliminate common problems, and move on to more exciting things!
Stratospheric
Tom Hombergs, Björn Wilmsmann, and Philip RiecksFrom Zero to Production with Spring Boot and AWS. All you need to know to get a Spring Boot application into production with AWS. No previous AWS knowledge required.
Top Bundles
- #1
Software Architecture for Developers: Volumes 1 & 2 - Technical leadership and communication
2 Books
"Software Architecture for Developers" is a practical and pragmatic guide to modern, lightweight software architecture, specifically aimed at developers. You'll learn:The essence of software architecture.Why the software architecture role should include coding, coaching and collaboration.The things that you really need to think about before... - #4
Cloud Architect: Transform Technology and Organization
2 Books
Architects don't just recite product names and features. They understand the options, decisions, and trade-offs behind them. They earn credibility and maintain authenticity by connecting the penthouse with the engine room. Get two essential books that redefine the role of the software and IT architect at one low price:37 Things One Architect... - #6
Linux Administration Complet
4 Books
Ce lot comprend les quatre volumes du Guide Linux Administration :Linux Administration, Volume 1, Administration fondamentale : Guide pratique de préparation aux examens de certification LPIC 1, Linux Essentials, RHCSA et LFCS. Administration fondamentale. Introduction à Linux. Le Shell. Traitement du texte. Arborescence de fichiers. Sécurité... - #7
The Python Craftsman
3 Books
The Python Craftsman series comprises The Python Apprentice, The Python Journeyman, and The Python Master. The first book is primarily suitable for for programmers with some experience of programming in another language. If you don't have any experience with programming this book may be a bit daunting. You'll be learning not just a programming... - #10
All the Books of The Medical Futurist
6 Books
We put together the most popular books from The Medical Futurist to provide a clear picture about the major trends shaping the future of medicine and healthcare. Digital health technologies, artificial intelligence, the future of 20 medical specialties, big pharma, data privacy, digital health investments and how technology giants such as Amazon...