Course
Ruby
Topics in Ruby.
85 Topics
6 Quizzes
8h 30min Est. Time
Curriculum
1
Open Classes & Monkey Patching
Open Classes & Monkey Patching
2
method_missing & respond_to_missing?
method_missing & respond_to_missing?
3
define_method & Dynamic Definition
define_method & Dynamic Definition
4
Class Evaluation (class_eval, instance_eval)
Class Evaluation (class_eval, instance_eval)
5
Constant Lookup & Const_missing
Constant Lookup & Const_missing
6
Hook Methods (inherited, included, extended)
Hook Methods (inherited, included, extended)
7
DSL Building with instance_eval & block context
DSL Building with instance_eval & block context
8
Binding & eval Context Manipulation
Binding & eval Context Manipulation
9
Block, Proc, Lambda Differences
Block, Proc, Lambda Differences
10
Closures & Binding Capture
Closures & Binding Capture
11
Symbol#to_proc & & Operator
Symbol#to_proc & & Operator
12
Block Scope & Local Variables
Block Scope & Local Variables
13
Currying with Procs
Currying with Procs
14
Enumerable with Blocks
Enumerable with Blocks
15
Block-Local Variables (Block Arguments)
Block-Local Variables (Block Arguments)
16
Module Include vs Prepend vs Extend
Module Include vs Prepend vs Extend
17
Module nesting & self
Module nesting & self
18
Method Resolution Order (MRO)
Method Resolution Order (MRO)
19
Concern Pattern (ActiveSupport)
Concern Pattern (ActiveSupport)
20
Namespace as Module
Namespace as Module
21
Module#ancestors & Lookup Path
Module#ancestors & Lookup Path
22
Autoloading with Zeitwerk
Autoloading with Zeitwerk
23
Refinement Scope & Activation
Refinement Scope & Activation
24
Refine vs Monkey Patch
Refine vs Monkey Patch
25
Refinement Inheritance
Refinement Inheritance
26
using Method & Scope Control
using Method & Scope Control
27
Refining Core Classes Safely
Refining Core Classes Safely
28
Refinement & method_missing
Refinement & method_missing
29
Refinement Limitations
Refinement Limitations
30
GC Generations (RGenGC)
GC Generations (RGenGC)
31
Mark & Sweep Phases
Mark & Sweep Phases
32
Write Barriers
Write Barriers
33
ObjectSpace & T_MASK
ObjectSpace & T_MASK
34
Memory Leak Detection (objspace)
Memory Leak Detection (objspace)
35
GC Tuning Parameters
GC Tuning Parameters
36
Reference Counted Objects (T_DATA, T_FILE)
Reference Counted Objects (T_DATA, T_FILE)
37
Thread Basics & GVL
Thread Basics & GVL
38
Mutex & ConditionVariable
Mutex & ConditionVariable
39
Fiber & Cooperative Scheduling
Fiber & Cooperative Scheduling
40
Ractor (Ruby 3.0+)
Ractor (Ruby 3.0+)
41
Ractor Message Passing (send, receive)
Ractor Message Passing (send, receive)
42
Shareable vs Unshareable Values
Shareable vs Unshareable Values
43
Concurrent Ruby (ThreadPool, Future)
Concurrent Ruby (ThreadPool, Future)
44
Ruby C API (VALUE, rb_define_method)
Ruby C API (VALUE, rb_define_method)
45
Creating Extension with extconf.rb
Creating Extension with extconf.rb
46
Memory Management in C (GC guards)
Memory Management in C (GC guards)
47
Exception Handling in C Extensions
Exception Handling in C Extensions
48
Ruby Data Types & TypedData
Ruby Data Types & TypedData
49
Inline C with Rice
Inline C with Rice
50
FFI with fiddle
FFI with fiddle
51
RSpec DSL (describe, context, it)
RSpec DSL (describe, context, it)
52
RSpec Mocks (allow, expect, receive)
RSpec Mocks (allow, expect, receive)
53
Minitest Spec & Assert
Minitest Spec & Assert
54
Factory Bot & Fixtures
Factory Bot & Fixtures
55
Capybara Integration
Capybara Integration
56
VCR for HTTP Record/Replay
VCR for HTTP Record/Replay
57
Property Testing (rantly)
Property Testing (rantly)
58
DSL via instance_eval
DSL via instance_eval
59
DSL via block-passing & yield
DSL via block-passing & yield
60
Rake & Thor DSL
Rake & Thor DSL
61
Config DSL Pattern
Config DSL Pattern
62
Builder DSL with method_missing
Builder DSL with method_missing
63
Matcher DSL (RSpec)
Matcher DSL (RSpec)
64
Internal vs External DSLs
Internal vs External DSLs
65
Profiling with stackprof & ruby-prof
Profiling with stackprof & ruby-prof
66
JIT Compilation (YJIT, MJIT)
JIT Compilation (YJIT, MJIT)
67
Allocation Profiling
Allocation Profiling
68
GC Tuning for Throughput
GC Tuning for Throughput
69
C Extension Hot Paths
C Extension Hot Paths
70
Memory Instrumentation
Memory Instrumentation
71
Fiber vs Thread Performance
Fiber vs Thread Performance
72
Case Pattern Matching (Ruby 3.0)
Case Pattern Matching (Ruby 3.0)
73
Array Pattern (in [a, *rest])
Array Pattern (in [a, *rest])
74
Hash Pattern (in {key: value})
Hash Pattern (in {key: value})
75
Find Pattern (in [*, pattern, *])
Find Pattern (in [*, pattern, *])
76
Value & Variable Patterns
Value & Variable Patterns
77
Pattern Matching Guards (if)
Pattern Matching Guards (if)
78
Deconstruct & Deconstruct Keys
Deconstruct & Deconstruct Keys
79
taint & Trust Levels
taint & Trust Levels
80
$SAFE Levels (deprecated)
$SAFE Levels (deprecated)
81
Command Injection Prevention
Command Injection Prevention
82
SQL Injection Prevention (Sanitize)
SQL Injection Prevention (Sanitize)
83
Rails Security (CSRF, XSS, Session)
Rails Security (CSRF, XSS, Session)
84
Brakeman Static Analysis
Brakeman Static Analysis
85
Serialization & YAML.load Risks
Serialization & YAML.load Risks
Quizzes
Ruby Basics
5 questions
Ruby Core Concepts
5 questions
Ruby Intermediate
5 questions
Ruby Advanced
5 questions
Ruby Expert
5 questions
Ruby Mastery
5 questions