Back to Course
The Tapastry
0% Complete
0/0 Steps
-
201240 Topics
-
Binary Literals
-
Large Integer Literals
-
Character Literals
-
Barewords
-
Array Literals
-
Forwardable
-
Constructors
-
#fetch as an Assertion
-
Symbol Literals
-
Finding $HOME
-
Method and Message
-
#fetch for Defaults
-
Singleton Objects
-
super
-
Advanced #fetch
-
super in Modules
-
Pay it Forward
-
Subclassing Array
-
Pluggable Selector
-
Struct
-
Domain Model Events
-
Inline Rescue
-
Tempfile
-
Incidental Change
-
OpenStruct
-
FFI Part 1: Proof of the Concept
-
Macros and Modules
-
Macros and Modules, Part 2
-
Redirecting Output
-
Backticks
-
Observer Variations
-
Hash Default Blocks
-
Classes and Constants
-
Struct from Hash
-
Callable
-
Blocks, Procs, and Lambdas
-
Proc and Threequals
-
Caller-Specified Fallback
-
Gem Love Part 1
-
Gradual Stiffening
-
Binary Literals
-
2013124 Topics
-
String#scan
-
Streaming
-
Exclusive Or
-
#one?
-
Hash Default Value
-
Gem Love Part 2
-
FFI Part 2: Smoke Test One
-
Memoize
-
Utility Function
-
Include Namespace Module
-
FFI Part 3: A New Library
-
The End of Mocking
-
Selectively Run Tests
-
FFI Part 4: Test of the Mainloop
-
Runnable Library
-
xmpfilter
-
FFI Part 5: The Mock API
-
ARGF
-
Enumerator
-
Ascend
-
FFI Part 6: PulseFFI Awakens
-
Fiber
-
Gem-Love Part 3
-
Yield or Enumerate
-
FFI Part 7: The Last Refactor
-
Caching an API
-
Moneta
-
Display Builder
-
Gem-Love Part 4
-
Break
-
Break With Value
-
Tail Part 1: Random Access
-
Tail Part 2: Do While
-
Tail Part 3: #rindex
-
Tail Part 4: copy
-
Tail Part 5: Idiom
-
Tail Part 6: Process As Object
-
Tail Part 7: Cooperating Objects
-
Concat
-
Splat Basics
-
Implicit Splat
-
Inline Assignment
-
Custom Splat
-
Splat Group
-
Ignore Arguments
-
Naked Splat
-
Naming Things: Headcount
-
Gem Love Part 5
-
Coincidental Duplication
-
The `class << self` syntax
-
Ruby 2.0: Rebinding Methods
-
Coincidental Duplication Redux
-
Boolean
-
Bang Bang
-
Gem-Love Part 6
-
Gem-Love 7
-
Gem-Love 8
-
Gem-Love Part 9
-
String Subscript Regex
-
Screen Scraping Gateway
-
Intention Revealing Message
-
Gem-Love Part 10
-
Gem-Love Part 11
-
Parsing Time
-
Checking for a Terminal
-
Class Accessors
-
String Subscript Assignment
-
The Trouble With Nil
-
SAX
-
Catch And Throw
-
Symbol Placeholder
-
Special Case
-
Diagnostic Output with p
-
Null Object
-
Diagnostic Output with pp
-
Extract Command Object
-
Client Session Object
-
Even And Odd
-
Intention Revealing Argument
-
Outside-In
-
Testing Blocks
-
Testing Blocks With Rspec
-
Removing Debug Output
-
Elixir
-
And/Or
-
Queue
-
Parallel Fib
-
Enumerable Queue
-
Rake
-
Rake File lists
-
Rake Rules
-
Rake Pathmap
-
Rake File Operations
-
Rake Clean
-
Rake Multitask
-
Dead Thread
-
Mutex
-
Condition Variable
-
Timed Queue
-
Threads are Hard
-
Bounded Queue
-
Infinity
-
Thread Interruptions
-
Bulk Generation
-
Thread Pool
-
Monitor
-
Atomicity
-
Rake Invoke
-
Sum
-
Stats
-
Sleep
-
Progress Bar
-
Testing Sleep
-
Testing Threads
-
Matching Digits
-
Array New with James Edward Gray II
-
Lockstep Testing
-
Constant Lookup Scope
-
Array Set Operations
-
Reduce Redux
-
Thread Local Variable
-
PStore
-
YAML::Store
-
Mapper
-
String#scan
-
2014104 Topics
-
Refactor Tapas::Queue
-
Not Implemented
-
Debugging in Gems
-
Enumerable Internals
-
Caching Gateway
-
Hash Merge
-
puts
-
Registry
-
For
-
Multiple Assignment
-
REPL-Driven Development
-
Dotenv
-
Aliasing
-
Identity Map
-
Sequel
-
Ghost Load
-
Schwartzian Transform
-
Macro
-
Extracting Ghost Load
-
Sequel, Postgres, JSON
-
Two Refactorings
-
Keyword Arguments
-
More Keyword Arguments
-
Fail And Raise
-
Assisted Refactoring
-
Gsub
-
Virtual Proxy
-
Filenames
-
Pathname
-
String Format
-
Advanced String Formats
-
String Templates
-
Decorator
-
Decorator Transparency
-
Regexp Union
-
Quantity
-
Immutable Object
-
Identity And Equality
-
Hash Table
-
Hash Equality
-
Comparable
-
Coercion
-
Conversion Function
-
Lenient Conversions
-
Explicit Conversion
-
Implicit Conversion
-
Protected
-
More Of Same
-
Conversion Protocol
-
Conversion Ratio
-
Grep
-
Tell, Don't Ask
-
Redesign
-
Spaceship Revisited
-
Adamantium
-
Type and Class
-
Def Return Value
-
String Partition
-
Equalizer
-
Surrogate Ordering
-
Unitwise
-
Evil Monkeys
-
Multiline Memoize
-
Reconsidering Regexen
-
Consequences
-
Black Box
-
First
-
Range
-
Flip-Flop
-
Warn
-
Load
-
Wrapped Load
-
Require
-
Gem Require
-
Parameter Default
-
Relative Require
-
Match
-
Logical Require
-
Replace Parameter with Option
-
Drop While
-
Source Directory
-
Values At
-
Multiline Strings
-
Min By
-
Unindent
-
Refinements
-
Email Template
-
Pop
-
Downto
-
Step
-
Httpd
-
Workflow
-
Retry
-
Bitwise Operations with Peter Cooper
-
Redo
-
Regex Capture Groups with Nell Shamrell
-
Next
-
Advanced Next
-
Immutable Enumerators with Tom Stuart
-
Destructuring
-
Method Introspection with Noah Gibbs
-
Pattern Matching
-
Kernel Open with Rob Miller
-
Complex Predicate
-
Refactor Tapas::Queue
-
2015104 Topics
-
TSort with Justin Weiss
-
Referential Transparency
-
Understanding RSpec Matchers with Noel Rappin
-
Complex RSpec Matchers with Noel Rappin
-
Naming Test Data
-
Backreference
-
Antique Shop
-
Fattr
-
Loop
-
Lazy
-
Audited Predicate
-
Itself
-
Splatted Send
-
Advanced Audited Predicate
-
Count
-
Testing Retry
-
Flat Map
-
More Coincidental Duplication
-
Mocking Smells 1
-
Partition
-
Mocking Smells 2
-
Chunk
-
Advanced Chunk
-
Delegate Class
-
Integer Formats
-
Predicate Return Value Part 1
-
Predicate Return Value Part 2
-
Mocking Smells 3
-
Test Spies
-
File Find
-
Instance Spy
-
Safe Proxy Part 1
-
Safe Proxy Part 2
-
Safe Proxy Part 3
-
Exception Test
-
Custom Exception
-
Circuit Breaker
-
Random Samples
-
Command Loop
-
Keyword Sugar
-
Globbing with Chris Strom
-
Randomness
-
Secure Random
-
Mocking Smells 4
-
Temporary Directory
-
Filesystem Testing
-
Random Seed
-
each cons
-
Transpose
-
Expect
-
Log Thread
-
Rerun
-
Smart Collection
-
Benchmark
-
Strip
-
Observed Attribute
-
Benchmark-IPS
-
Differentiation
-
Tracepoint
-
Stack Overflow
-
Transaction Script
-
Rake: Finding Tasks
-
Process Object
-
Notify, Don't Tell
-
Processes Everywhere
-
Rspec Compound Matchers
-
Rule
-
What Changed?
-
Benign Value
-
Error Value
-
Logger
-
Controlling Log Level
-
Hammers And Diapers
-
Example Data
-
Crystal
-
Nil Conversions
-
Optional Logging
-
User
-
Unpaging Facade
-
Divmod
-
Log Formatting
-
Logging Program Name
-
Log Rotation
-
String Justify
-
Trap
-
Advanced Trap
-
Word Wrap
-
Dynamic Word Wrap
-
Object Oriented Programming
-
Rule Table
-
Colored Logs
-
Assumptions
-
Safe Navigation Part 1: Reliable Associations
-
Safe Navigation Part 2: Try, Try Again
-
Safe Navigation Part 3: Everything is Optional
-
Safe Navigation Part 4: Refinements
-
Safe Navigation Part 5: Adapter
-
Hash Invert
-
Logs And Signals
-
Dig
-
Dig Implementation
-
Protocol Complication
-
Hash To Proc
-
Awesome Print
-
TSort with Justin Weiss
-
201688 Topics
-
Immediacy
-
Awesome Print and Rails
-
Named Capture
-
Arrays To Hashes
-
Chunk While
-
Fetch Values
-
Squiggly Heredoc
-
Method Dependencies
-
Integer To String
-
Integer To String, Part 2
-
Break The Circle
-
Loop Golf
-
Error 127
-
Errno
-
Fiddle
-
Inverted Grep
-
Magic Subshell
-
Fiddle Importer
-
Hash Subset
-
Editor Macro
-
Sort Check
-
Consistency
-
Microconcerns
-
Invariant
-
Gem Logging
-
StringIO
-
StringIO Test Fake
-
Primitive Obsession
-
Whole Value
-
Self Save Part 1
-
Self Save Part 2
-
Self Save Part 3
-
Self Save Part 4
-
Last Match
-
Pseudoglobal
-
Leaning Toothpicks
-
Optional Gem
-
Stay Positive
-
Stay Positive 2
-
Autovivification
-
Top Level Constant
-
Subprocesses Part 1: Basics
-
Tabular Struct Refactoring with Sam Livingston-Gray
-
Subprocesses Part 2: Command Input Operator
-
Subprocesses Part 3: Spawn
-
No Comment
-
Subprocesses Part 4: Redirection
-
Rake Custom Task
-
Cache Rot
-
Partial Safe Navigation
-
Subprocesses Part 5: SIGCHLD
-
Rake Regex Rule
-
Subprocesses Part 6: Limits
-
Subprocesses Part 7: Soft Limits
-
Subprocesses Part 8: Environmental Isolation
-
Http.rb
-
Oga
-
Parallel Hierarchy
-
Exceptional Value
-
Uniform Abstraction Level
-
Uniform Abstraction Level Part 2: Blank
-
Scanf
-
Date Math
-
Ruby 2.4 Destructuring Conditional
-
Plural Name
-
Subscript Constructor
-
Method Search
-
Detect Map
-
Pluggable Conversion
-
Decoupled Pluggable Conversion
-
Inherited
-
Block Inherited
-
Excessive Decoupling
-
Just-In-Time Decoupling
-
Pessimize
-
Specific Whole Value
-
Substitutable Whole Value
-
Class Membership
-
Advanced Class Membership
-
Array Function
-
Singleton Class
-
Class Method
-
Ensure
-
Singleton Class Exec
-
Subprocesses Part 9: Exec
-
Dangerous Method
-
Array Product
-
Values
-
Immediacy
-
201747 Topics
-
Compendious Thunks: Intro to Dart
-
Command Pattern Undo
-
Ancestral Behavior
-
Class Variable
-
Line Endings
-
Rack
-
Binary Mode
-
Which
-
Contextual Identity Part 1
-
Contextual Identity Part 2
-
Do the Work
-
Cycle
-
Group By
-
Variable
-
Combination
-
Handle
-
Read and Write
-
Mixin to Object
-
Create and Extend
-
Extract Default to Method
-
Dup and Clone
-
Subprocesses Part 10: Open Pipe
-
Initialize Copy
-
Prototype Pattern
-
At Exit
-
Exit
-
Crash Logger
-
Special Variables Part 1: Process State
-
Special Variables Part 2: I/O
-
Special Variables Part 3: Regex Matching
-
Special Variables Part 4: Speak English!
-
Faker
-
Deep Freeze
-
Deep Dup
-
Query to Command
-
Subprocesses Part 11: Fork
-
Subprocesses Part 12: Fork and Exec
-
Suppress Output
-
Subprocesses Part 13: Detach, Wait, Kill
-
Subprocesses Part 14: Advanced Wait
-
Disposable Object
-
Subprocesses Part 15: Capture
-
Whole Values in Rails with Justin Weiss
-
Functional Mockup
-
RSpec Focus Tests with Erin Dees
-
Logical Matrix with Piotr Szotkowski
-
RSpec Tags
-
Compendious Thunks: Intro to Dart
-
201846 Topics
-
Minimum Viable Method
-
Single File
-
Literal Expectation
-
Value and Identity with Arne Brasseur
-
Guilds with Steve Klabnik
-
TDD is easy! - with Michal Taszycki
-
Table Print with Justin Searls
-
Humane Exceptions with Hiro Asari
-
Supporting Different Service Versions with OO – Emily Stolfo
-
Bundler Tips and Tricks with Andre Arko
-
Distributable Desktop Apps - Jason Clark
-
Cucumber Expressions with Matt Wynne
-
Episode 523: Data Munging Play-by-Play Part 1 with Avdi Grimm
-
Episode 524: Data Munging Play-by-Play Part 2 with Avdi Grimm
-
Asking for help ... - Jim Remsik
-
OpenAPI and Apivore - with Ariel Caplan
-
Refactoring for Interviews - Nickolas Means
-
Pull Request Template - Andy Croll
-
Two Factor Authentication - Frank Rietta
-
Password Authentication with Brandon Dees - Part 1
-
Password Authentication with Brandon Dees – Part 2
-
Rails System Test with Sam Phippen
-
Breaking Down Complex Pull Requests with Claudio Baccigalupo
-
String Cleaning with Avdi
-
Learning from the Wider Developer Community with PJ Hagerty
-
Questioning Metaphors: The Message Myth
-
Better Tests with Mutant
-
Better Code with Mutant
-
Ruby Spelunking
-
Abstraction and Performance - Part 1
-
Abstraction and Performance - Part 2
-
Using Sidekiq Middleware
-
Risk-Oriented Testing
-
Memory Management in C Extensions - Part 1
-
Memory Management in C Extensions - Part 2
-
JSON API in Rails - Part 1
-
JSON API in Rails - Part 2
-
Smaller Objects, Faster Code
-
Github Flow Automation
-
From Math to Code
-
API Design for productivity
-
The TOO HARD Code Smell
-
ActiveRecord Optimizations
-
Getting started with rom-rb
-
Writing changes with rom-rb
-
Building queries with rom-rb
-
Minimum Viable Method
-
201950 Topics
-
yield_self
-
Full Utilization
-
API Exploration
-
Building a REPL
-
Explore and Extend - Part 1
-
Explore and Extend - Part 2
-
Exploratory Refactoring
-
Parameter Destructuring
-
Dynamic Understanding of Dynamic Systems
-
Serverless Ruby with AWS Lambda
-
Polymorphic Attributes in Rails - Part 1
-
Polymorphic Attributes in Rails - Part 2
-
Asynch with Polling
-
Pitch a Plan, not a Promotion
-
Roda - Part 1
-
Roda - Part 2
-
LIKE Injection in SQL
-
Part 1: Patching with Git
-
Part 2: Telling Git Your Intentions
-
Performance Testing - Staying Fast
-
Performance Testing - Scaling with Inputs
-
Aphorism to Empiricism
-
Savon & SOAP APIs
-
Async with Multiplexing
-
Why GraphQL?
-
Async with the Reactor Pattern
-
From Hash to Value Object
-
Presenter Object
-
Don't Use Greater-Than
-
Clarify Test Comparison
-
Keyword Argument Struct
-
Mixed Argument Struct
-
Communicative Assertion
-
Dynamic Inspect
-
Set
-
Presenter and View
-
Test Substitute
-
Bindings and Local Variables
-
Partial Function Application
-
Demystifying the View
-
Git Storytelling - Part 1
-
Git Storytelling - Part 2
-
Git Storytelling - Part 3
-
Module Builder Pattern - Part 1
-
Module Builder Pattern - Part 2
-
Function Composition Operators
-
Extended Regex Syntax
-
StimulusJS
-
Sagas
-
Code Coverage with SimpleCov
-
yield_self
-
202049 Topics
-
Repeatable Devcontainer
-
Composed Regex
-
Trying Stuff in Docker
-
Manipulating Docker Containers
-
Kubernetes: What and When
-
VS Code and Docker
-
Pattern Matching
-
NPM for Dev Dependencies
-
Mistake-Proof API
-
Aggregate Boundaries
-
Function Pipelining in Ruby
-
Understanding OAuth2... with Horses!
-
Eliminating RSpec Boilderplate with Claudio Baccigalupo
-
Serverless Ruby with AWS SAM
-
lsof; or: what process is using my port?!
-
Send Variations
-
Strace
-
ltrace
-
Docker Diff
-
Numbered Parameters
-
Rake Global Tasks
-
Process Substitution
-
Nested Class
-
Where do Private Methods Come From?
-
Testing with Coat Hangers
-
Loops!
-
Sprout Class
-
You Could Have Sed It in Ruby
-
ARGF, That's Some AWK-ward Ruby!
-
I got my flippy-floppies
-
mitmproxy
-
Ruby as a Filter
-
Interpolation over Concatenation
-
Autosplit
-
Unroll Test Loops
-
Line Ending Processing Mode
-
Rake Introspection
-
Console Width
-
Grep, Sort, Uniq
-
Zip
-
Lazy Zip
-
Output Record Separator
-
Input Record Separator
-
Re-Run Just the Tests That Failed
-
Chomp
-
Null-Terminated Record
-
Why Containers for Development?
-
A Quick Dev Container
-
Understanding `npm run` (and why to avoid `npx`!)
-
Repeatable Devcontainer
-
202127 Topics
-
Dockerfile
-
Container Run Layers
-
Caching Files in a Devcontainer
-
Nokogiri
-
Devcontainer Portmapping
-
Furnishing Your Devcontainer
-
Accessorizing Your Devcontainer Shell
-
Devcontainer Shell Shortcut
-
.env for Devcontainers
-
Devcontainer Path
-
Leaky Devcontainer Filesystem Abstractions
-
Devcontainer Unprivileged User
-
README-Driven Development
-
Ship first, then code
-
Share Credentials with a Devcontainer
-
Working Together
-
Binstubs
-
Binstubs and Rails
-
Binstubs and Direnv
-
Distributed Tracing with Honeycomb
-
Direnv and Dotenv
-
Module Prepend
-
Git Hooks for Evil and Good
-
Hash Splat Merge
-
Setter Return
-
Is it defined?
-
Tap
-
Dockerfile
-
20229 Topics
-
20236 Topics
Module 1,
Topic 38
In Progress
Caller-Specified Fallback
Module Progress
0% Complete
Responses