Deep Vision Ruby: Kinematics
Deep Vision Ruby: Kinematics
About the Book
Deep Vision Ruby: Kinematics is for those who wish to understand Ruby front to back, inside and out, syntax to implementation. Deep Vision Ruby: Kinematics explores the symbiosis between language and runtime - the impact that design decisions made in one have on the other and vice versa. This is the book the author wishes they had when they were first introduced to Ruby and its community. Implementation details relate to the Canonical MRI (Matz's Ruby Interpreter) version 2.1.0p0.
Once purchased, access to github source code (for the manuscript as well as the code samples) will be granted if desired. Additionally, contributions and corrections may be accepted by pull request with credit given via the contributors listing.
Structure
- Introduction
- Prerequisites
- A Bird's Eye View
- A Short History of The Ruby Language and its Runtimes
- The Ruby Runtime
- The Canvas
- The C Programming Language
- The File System Source Layout
- The Build Pipeline
- Autotools
- Make
- GCC (The GNU Compiler Collection)
- Miniruby
- The Runtime Proper
- Startup
- Booting Up
- Implementing Types
- Initialising The Interpreter Machinery
- Dual Stack Machine
- Keeping Things Tidy
- Execution
- Understanding Ruby Source Code
- Parsing
- Lexical Analysis
- Tokenisation
- Parsing
- Error Handling
- Syntactic Analysis
- Error Handling
- Parse Tree Compilation
- Compilation
- Input Data Structures
- Transformation
- YARV Byte Code
- Optimisation
- Error Handling
- Normal Operation
- Bytecode Execution
- Interrupts
- Signals
- Garbage Collection
- Generational GC
- Input and Output
- Extensions
- The Global Interpreter Lock
- Security and Safety
- Multitasking
- Pre-emption
- Underlying Operating System Interactions
- Interrupts and Signals
- Input and Output Operations
- Storage and Network IO
- Memory Services
- Exceptions to Normal Flow Control
- Shutdown
- Signals
- Clean up
- Hooks and Callbacks
- Colloquialisms and Conventions
- Expanding the Runtime with Ruby Syntax and Functionality
- Declarations
- Truthyness
- Operators
- Functional Operators
- Arithmetic
- Comparison
- Bitwise
- Logical
- Aliases
- Ternary
- Range
- Assignments
- Operators
- Stateful Operators
- Definition Presence Inquiry
- Precedence and disambiguation
- Reserved Words (Keywords)
- Variables
- Sigils
- Composition of Operators into a Declaration
- Colloquialisms and Conventions
- Functions
- Definitions
- Execution Context
- Name scope resolution
- Reflection
- The Call Stack
- Input and Output
- Side Effects
- Applications
- Recursion and Optimisation
- Colloquialisms and Conventions
- Objects and Encapsulated State
- Closures
- Name scope resolution
- References and Values
- Classes
- Organisation
- Instantiation
- Modules
- Namespaces
- Mutation, Dependency and Inheritance
- Hierarchy
- Name scope resolution
- Overriding Functionality
- Operators
- Dynamic Modification
- Mix-ins (extends, prepend and include)
- Refinements
- Defining an API
- By Enforcement
- Public, Protected, and Private
- By Convention
- Documentation
- Nested Classes and Modules
- Colloquialisms and Conventions
- Security and Safety
- Preventing Unwanted Data Modification
- Protecting Against Malicious Input
- Sandboxing
- Behaviours You Might Find Surprising That Matz Does Not
- The Machine: A Language and Runtime Combination
- Ruby Project Organisation
- Namespaces
- In Relationship to the File System
- Library API Structure
- Binaries and Executable Commands
- Tooling
- Packaging
- Dependency Management
- Testing and Specification
- Colloquialisms and Conventions
- Utilities and Documentation
- Rake
- RDoc/YARD
- Ruby-Toolbox
- Execution Trace - A Practical Annotated Example From 'execve' to 'exit(0)'
- Epilogue
- Colophon
Structure Under Active Construction
- Introduction
- A Bird's Eye View
- Ruby Syntax and Functionality
- Declarations
- The Ruby Runtime
- The Canvas
- The Runtime Proper
- Colophon
Completed Structures
This space intentionally left blank
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them