The Ruby Object Model and Metaprogramming Screencasts – Episodes 1 – 3
By admin • Jul 7th, 2008 • Category: UncategorizedThe Ruby Object Model and Metaprogramming Screencasts – Episodes 1 – 3

http://pragprog.com/screencasts/v-dtrubyom/the-ruby-object-model-and-metaprogramming
Metaprogramming lets you program more expressively. This makes your code easier to write and easier to maintain and extend. Learn both the hows and whys of metaprogramming Ruby from Dave Thomas, one of the most experienced Ruby programmers in the western world.
Initially, metaprogramming Ruby can seem really difficult. There are all these unfamiliar terms: singletons, self, metaclasses, and so on. And things never seem to work quite right the first time—Hmm… maybe it’ll work if I change class_eval to instance_eval…
Well, the good news is that it really isn’t that complex. You just have to understand the underlying model, and everything falls into place. Dave Thomas has been digging into that model for the last ten years, and has a fresh (and simple) way of looking at it. Now you’ll be able to see why metaprogramming works, and how to do it for yourself.
It doesn’t matter if you’ve been programming Ruby for a month or for five years. We bet that you’ll learn plenty new in each of these episodes, as Dave digs into both the how and the why of the Ruby object model and metaprogramming.
The Ruby Object Model and Metaprogramming – screencasts – Episode 1: Objects and Classes
English | 29:19:40 min | 800×600 | PAL (25fps) | MOV/OGG/M4V | Audio:AAC, mono 44,100 kHz | 17.06 MB/24.77 MB/26.11 MB
- Episode 1: Objects and Classes
Just what is a Ruby object, and how can Ruby move you away from class-oriented development and back to object-oriented development? Learn about:
- the internals of objects,
- how classes really aren’t anything special,
- what self does, and the two ways it can get changed
- the method call mantra: “one to the right, then up,”
- singleton methods and ghost classes,
- why class methods don’t exist,
- how classes get their names,
- how the concept of the current class interacts with def
———————————————————————————————————-
The Ruby Object Model and Metaprogramming – screencasts – Episode 2: Sharing Behavior: Prototypes, Inheritance and Mixins
English | 39:33:10 min | 800×600 | PAL (25fps) | MOV/OGG/M4V | Audio:AAC, mono 44,100 kHz | 22.11 MB/42.37 MB/37.81 MB
- Episode 2: Sharing Behavior
One of the primary goals of good design is to put the right behavior in the right place without duplication. We’ll see three ways Ruby excels at this:
- Using prototype-based programming, where you can create hierarchies of objects with controlled sharing of both state and behavior, and without a class definition in sight.
- using inheritance (but you can only watch this section after you’ve watched the included Public Safety announcement on why inheritance is normally a bad idea). We’ll also look at what happens when you do class << object (and why it’s nothing whatsoever to do with inheritance).
- using modules and mixins, the sweet spot of Ruby programming. How to using include and extend, and how to create modules that mix in both instance and class methods.
Episodes one and two are the foundation for the rest of the screencast.
—————————————————————————————————————–
The Ruby Object Model and Metaprogramming – screencasts – Episode 3: Dynamic Code: Blocks, Bindings, and define_method
English | 31:26:77 min | 800×600 | PAL (25fps) | MOV/OGG/M4V | Audio: AAC, mono 44,100 kHz | 18.58 MB / 29.67 MB / 30.45 MB
- Episode 3: Dynamic Code
Metaprogramming is sometimes defined as “writing code that writes code.” Here we’ll see just how to do that in Ruby.
- Blocks and the two kinds of block-objects
- How bindings capture execution context
- How blocks can act as closures, and why that’s vital to metaprogramming
- Writing methods that define other methods using nested defs
- Using define_method
- Writing your own accessor methods
Free download Links
The Ruby Object Model and Metaprogramming – screencasts – Episode 1: Objects and Classes
English | 29:19:40 min | 800×600 | PAL (25fps) | MOV/OGG/M4V | Audio:AAC, mono 44,100 kHz | 17.06 MB/24.77 MB/26.11 MB
MOV Format
OGG Format
M4V Format
http://rapidshare.com/files/125407047/Episode_1_metapro_mov.rar
http://rapidshare.com/files/125404846/Episode_1_metapro_ogg.rar
http://rapidshare.com/files/125406093/Episode_1_metapro_m4v.rar
The Ruby Object Model and Metaprogramming – screencasts – Episode 2: Sharing Behavior: Prototypes, Inheritance and Mixins
English | 39:33:10 min | 800×600 | PAL (25fps) | MOV/OGG/M4V | Audio:AAC, mono 44,100 kHz | 22.11 MB/42.37 MB/37.81 MB
MOV Format
OGG Format
M4V Format
http://rapidshare.com/files/125414458/Episode_2_metapro_mov.rar
http://rapidshare.com/files/125412605/Episode_2_metapro_ogg.rar
http://rapidshare.com/files/125413771/Episode_2_metapro_m4v.rar
The Ruby Object Model and Metaprogramming – screencasts – Episode 3: Dynamic Code: Blocks, Bindings, and define_method
English | 31:26:77 min | 800×600 | PAL (25fps) | MOV/OGG/M4V | Audio: AAC, mono 44,100 kHz | 18.58 MB / 29.67 MB / 30.45 MB
MOV Format
OGG Format
M4V Format
http://rapidshare.com/files/125476982/Episode_3_metapro_mov.rar
http://rapidshare.com/files/125475675/Episode_3_metapro_ogg.rar
http://rapidshare.com/files/125476530/Episode_3_metapro_m4v.rar
Random Posts
Leave a Reply
You must be logged in to post a comment.


