Useful Links
Computer Science
Programming
By Language
Ruby Programming Language
1. Introduction to Ruby
2. Ruby Syntax and Basic Concepts
3. Control Flow and Logic
4. Collections and Data Structures
5. Methods, Blocks, Procs, and Lambdas
6. Object-Oriented Programming (OOP) in Ruby
7. Advanced Ruby Concepts
8. The Ruby Ecosystem
9. Introduction to Ruby on Rails
Advanced Ruby Concepts
Metaprogramming
The send Method
Dynamic Method Calls
Method Name as String/Symbol
Bypassing Visibility
define_method
Dynamic Method Definition
Block-Based Methods
Closure Capture
method_missing
Missing Method Handler
Dynamic Method Creation
Proxy Objects
eval Family of Methods
eval
String Code Execution
Binding Context
Security Concerns
instance_eval
Object Context Evaluation
Block Execution
class_eval
Class Context Evaluation
Module Modification
Introspection and Reflection
respond_to?
Method Availability
Visibility Checking
methods
Method Listing
Inherited Methods
instance_variables
Variable Inspection
Object State
ancestors
Inheritance Chain
Module Inclusion Order
Class and Module Hooks
inherited
included
extended
const_missing
Eigenclass Manipulation
Singleton Class Access
Class Method Definition
Error Handling and Exceptions
The Exception Class Hierarchy
Exception
StandardError
RuntimeError
SystemExit
Interrupt
begin, rescue, else, ensure
Exception Handling Structure
Multiple rescue Clauses
else Clause Usage
ensure Clause Cleanup
Raising Exceptions (raise)
raise with Message
raise with Exception Class
Re-raising Exceptions
Rescuing Specific Exceptions
Exception Type Matching
Multiple Exception Types
Exception Variable Capture
Creating Custom Exception Classes
Inheriting from StandardError
Custom Exception Attributes
Exception Hierarchies
Retrying Operations
retry Keyword
Retry Limits
Exponential Backoff
Ensuring Cleanup
Resource Management
File Handling
Connection Cleanup
File I/O
Reading from Files
File.open and File.read
File Modes
Reading Line by Line
Reading with Blocks
Writing to Files
File.write and File.puts
File Creation
Appending to Files
Binary Mode
File and Directory Manipulation
File.exist?
File.size and File.mtime
File.rename and File.delete
Dir Class for Directories
Directory Traversal
Pathname Class
File Permissions and Attributes
File.chmod
File.stat
File Ownership
Temporary Files
Tempfile Class
Automatic Cleanup
Regular Expressions (Regex)
Creating Regex Patterns
Literal Syntax
Regex.new
Pattern Compilation
Regex Syntax and Modifiers
Character Classes
Quantifiers
Anchors
Groups and Captures
Modifiers (i, m, x)
Matching and Searching Strings
match Method
=~ Operator
scan Method
The MatchData Object
Capture Groups
Match Position
Pre and Post Match
Substitution and Scanning
gsub and sub
Block-Based Replacement
Global Matching
Named Captures
Named Groups
Accessing Named Captures
Concurrency and Parallelism
Threads
Creating Threads
Thread.new
Thread Lifecycle
Thread States
Thread Safety
Shared State Issues
Mutexes for Thread Safety
Mutex Class
Synchronization
Critical Sections
Deadlock Prevention
Fibers
Creating and Using Fibers
Fiber.yield
Fiber vs. Thread
Cooperative Multitasking
The Global Interpreter Lock (GIL)
Implications for Concurrency
Thread Switching
I/O Operations
Thread Pools
Worker Threads
Task Queues
Atomic Operations
Thread-Safe Operations
Race Conditions
Previous
6. Object-Oriented Programming (OOP) in Ruby
Go to top
Next
8. The Ruby Ecosystem