Ruby29 phases · 114 topics
Progress
0 / 114
Foundations
▸
Open Classes & Monkey Patching
▸
method_missing & respond_to_missing?
▸
define_method & Dynamic Definition
Core Concepts
▸
Class Evaluation (class_eval, instance_eval)
▸
Constant Lookup & Const_missing
▸
Hook Methods (inherited, included, extended)
Intermediate Skills
▸
DSL Building with instance_eval & block context
▸
Binding & eval Context Manipulation
▸
Block, Proc, Lambda Differences
Advanced Topics
▸
Closures & Binding Capture
▸
Symbol#to_proc & & Operator
▸
Block Scope & Local Variables
Expert Level
▸
Currying with Procs
▸
Enumerable with Blocks
▸
Block-Local Variables (Block Arguments)
Mastery
▸
Module Include vs Prepend vs Extend
▸
Module nesting & self
▸
Method Resolution Order (MRO)
Ecosystem
▸
Concern Pattern (ActiveSupport)
▸
Namespace as Module
▸
Module#ancestors & Lookup Path
Architecture
▸
Autoloading with Zeitwerk
▸
Refinement Scope & Activation
▸
Refine vs Monkey Patch
Optimization
▸
Refinement Inheritance
▸
using Method & Scope Control
▸
Refining Core Classes Safely
Deployment
▸
Refinement & method_missing
▸
Refinement Limitations
▸
GC Generations (RGenGC)
Phase 11
▸
Mark & Sweep Phases
▸
Write Barriers
▸
ObjectSpace & T_MASK
Phase 12
▸
Memory Leak Detection (objspace)
▸
GC Tuning Parameters
▸
Reference Counted Objects (T_DATA, T_FILE)
Phase 13
▸
Thread Basics & GVL
▸
Mutex & ConditionVariable
▸
Fiber & Cooperative Scheduling
Phase 14
▸
Ractor (Ruby 3.0+)
▸
Ractor Message Passing (send, receive)
▸
Shareable vs Unshareable Values
Phase 15
▸
Concurrent Ruby (ThreadPool, Future)
▸
Ruby C API (VALUE, rb_define_method)
▸
Creating Extension with extconf.rb
Phase 16
▸
Memory Management in C (GC guards)
▸
Exception Handling in C Extensions
▸
Ruby Data Types & TypedData
Phase 17
▸
Inline C with Rice
▸
FFI with fiddle
▸
RSpec DSL (describe, context, it)
Phase 18
▸
RSpec Mocks (allow, expect, receive)
▸
Minitest Spec & Assert
▸
Factory Bot & Fixtures
Phase 19
▸
Capybara Integration
▸
VCR for HTTP Record/Replay
▸
Property Testing (rantly)
Phase 20
▸
DSL via instance_eval
▸
DSL via block-passing & yield
▸
Rake & Thor DSL
Phase 21
▸
Config DSL Pattern
▸
Builder DSL with method_missing
▸
Matcher DSL (RSpec)
Phase 22
▸
Internal vs External DSLs
▸
Profiling with stackprof & ruby-prof
▸
JIT Compilation (YJIT, MJIT)
Phase 23
▸
Allocation Profiling
▸
GC Tuning for Throughput
▸
C Extension Hot Paths
Phase 24
▸
Memory Instrumentation
▸
Fiber vs Thread Performance
▸
Case Pattern Matching (Ruby 3.0)
Phase 25
▸
Array Pattern (in [a, *rest])
▸
Hash Pattern (in {key: value})
▸
Find Pattern (in [*, pattern, *])
Phase 26
▸
Value & Variable Patterns
▸
Pattern Matching Guards (if)
▸
Deconstruct & Deconstruct Keys
Phase 27
▸
taint & Trust Levels
▸
$SAFE Levels (deprecated)
▸
Command Injection Prevention
Phase 28
▸
SQL Injection Prevention (Sanitize)
▸
Rails Security (CSRF, XSS, Session)
▸
Brakeman Static Analysis
Phase 29
▸
Serialization & YAML.load Risks
Ruby RoadmapRuby
Space mark complete
·
Esc close
·
Drag pan
·
Wheel zoom