Perfectly Awesome
Posts by Date
Posts by Topic
Posts by Title
About
Ruby, Rails, Jekyll, Sinatra, RubyGems resources
active record
active storage
api clients
api-only apps
assets (JS, images, CSS)
associations
autoloading & constants
background jobs
caching
callbacks
code design
concurrency, parallelism
configuration
configuration - routing
controllers
css
data models
datasets
db options
db queries
db schema migrations
db seeds
debugging
deployment - devops
documentation
ecommerce, payments
email
generators & templates
graphics, pdfs, images
internationalization
javascript
logging
markup
metaprogramming
modules
monitoring
ocr
optimization
pdfs
publishing
rack middleware
rails CLI
rails v6
rails v7
rails websockets (active cable)
revision control
ruby language
ruby language extensions
rubygems
scaffolds
search engines
security
testing
tutorials & resources
validations
views (HTML forms)
views (HTML helpers)
views (layouts & rendering)
visualization
web servers
active record
Active Record query tricks
Active Record without Models
Bit Masks
Create
Creating
Default Values
Delete
Enumerations
Index Assistants
Lists/Sortables
Named Scopes
Naming
Naming Overrides
Nested Records
Pagination
Read
Schemas
Sharding
Soft Delete
Tagging
Update
User Stamping
Value Cleanup
Versioning
acts_as_tree
active storage
Attaching
CarrierWave
Direct Uploads
Downloading
Linking
Other Cloud Svcs
Paperclip
Previewing
Removing
Setup
System Tests
Transforming Images
api clients
Bitly
Gibbon (Mailchimp)
Koala (Facebook)
LinkedIn
Octokit (GitHub)
Tweetstream
Twitter
Vacuum (Amazon Product Advertising)
api-only apps
Change
Controller Modules
Middleware
New
Rails for JSON APIs
assets (JS, images, CSS)
Adding Assets to Gems
Cache Storage
Customization
Fingerprinting
Pipeline Usage
PreProcessing Gems
While in Development
While in Production
associations
Eager Loading & N+1 Queries
HABTM
Polymorphic Associations
Purpose
belongs_to
belongs_to vs has_one
detailed reference
has_many
has_many :through
has_one
has_one :through
polymorphics
self-joins
single-table inheritance
tips
autoloading & constants
Autoload Algorithms
Autoloading Availability
Constant Reloading
Constants
Gotchas
Load Paths
Module#autoload
Vocabulary
require_dependency
background jobs
Action Mailer
Callbacks
Creating
Daemons
Exceptions
Foreman
Global ID
Internationalization
Queues
Running
Scheduling
Sidekiq, Resque, etc
Testing
caching
Action
Caching in Devt
Conditional GET
Dependencies
Fragment
Keys
Low Level
Page
Russian Doll
SQL Caching
Shared Partial
Storage Configuration
callbacks
Callback Classes
Conditional
Halting
Registration
Relational
Running
Skipping
Std Callbacks
Transaction Callbacks
code design
Metaprogramming in Ruby
Rails Patterns & Antipatterns
concurrency, parallelism
Concurrent-Ruby, EventMachine
configuration
Code Before Rails
Component Configs
Config Mgmt (Dotenv)
Customization
Database Pooling
Environment Settings
Evented File System Monitor
Gems (Bundler)
Initialization Events
Initializer Files
Locations
SEO Indexing
configuration - routing
Custom Resource Routes
Listing & Testing
Overview
Resource Routing
Resourceful Routes
Subdomains
controllers
Cookies
Filters
Forcing HTTPS
HTTP Authentication
Log Filters
Methods
Naming
Overview
Parameters
Request Forgery Protection
Requests & Responses
Rescue (404,500)
Sessions
Streaming
XML & JSON
css
Bootstrap, Semantic UI
Font Face Servers
Sass
data models
Attributes
Callbacks
Conversions
Dirty
Lint Tests
Models
Naming & Routing
Secure Password
Serialization
Translation
Validations
datasets
Fake data generator
db options
Amazon Dynamo
CSV Parsers
Connection Pooling
CouchDB
DB Adapters
Data Migrations
MongoDB
MongoDB installation
Mysql2
Postgres
Rails ActiveRecord
Redis
Sqlite3
Standalone Migrations
db queries
calculations
conditions
dynamic finders
eager loading
enums
existence
explain
find with sql
find-or-build
get (multiple objects)
get (single object)
grouping
having
join tables
limit, offset
method chains
null relations
ordering
overriding conditions
read-only records
record locking
scopes
specific fields
db schema migrations
Changing Existing Migrations
Creating
Formats
Referential Integrity
Running
Schema Dumps
Seed Data
db seeds
custom seed files
debugging
Byebug
Logging
Memory Leaks
Plugins
View Helpers
web-console
deployment - devops
AWS
Backup
Capistrano
Chef
Continuous Integration with CircleCI
Fog
Gtk2, glib2
Heroku
Heroku alternatives?
Puppet
Railyard
Travis CI
Vagrant
documentation
Rdoc
ecommerce, payments
ActiveMerchant, Stripe
Spree
email
ActionMailer configuration
Async Email
Callbacks
Configuration
Forum Tools
Helpers
Inline CSS
Intercepting
MS Exchange Client
Previews
Processing
Receiving
Sending
Testing
generators & templates
1st Contact
App Templates
Cmnd Line Args
Creating
Custom Templates
Custom Workflows
Fallbacks
Generators
Generators w/ Generators
Lookups
graphics, pdfs, images
Spreadsheets
internationalization
API
Custom Setups
Custom Translations
Localization
Model Content
Overview
Setup
javascript
Coffeescript
Helpers
Minifiers
Packaging
Rails with Svelte
React-Rails
Runtimes
Server-Side
Testing
Turbolinks
Unobtrusive JS
Webpacker
Webpacker in Rails 6
logging
Fluentd, etc
Logstash
markup
Admin UIs
Breadcrumbs
Microformats (Prism,..)
Permalinks
Processors (Redcarpet, Kramdown)
Syntax Highlighters
Table Builders
Template Engines
metaprogramming
metaprogramming
modules
Concerns example
Intro to Concerns
monitoring
40 Monitoring Tools
40 tools (hixonrails)
Airbrake
Better Errors
Bullet
Errbit
New Relic
ocr
OCR Tools
optimization
42 Performance Tips
Memoization
pdfs
PDF Reader
PDFs - Prawn, PDFkit, etc
publishing
Gollum
Jekyll, etc
Octopress, etc
Refinery, etc
rack middleware
Intro to Rack
Middleware Stack
Rack Website
Rails on Rack
intro to rack
rails CLI
Adv Rails Cmnds
CLI Option Parsers
CLI Progress Bars
Custom Rake Tasks
Custom Rake tasks
Pry (IRB alternative)
Rake
Rexe
Thor
bin/rails
rails CLI Basics
rails v6
Rails 6 features
Rails 6 setup
rails v7
Rails 7 release notes
rails websockets (active cable)
Broadcasting
Client-Side
Configuration
Full Stack Examples
Parameters
Pub/Sub
Re-broadcasting
Server-Side
Standalone Servers
Streams
Subscriptions
revision control
Git Tools
GitlabHQ
ruby language
DSLs
DSLs (external)
Programming Ruby (pdf)
basics
blocks - (wrappers?)
blocks - deferred execution
blocks - iteration
blocks, lambdas and procs (pdf)
callables & runnables
callbacks, hooks & introspection
classes
classes & methods
clever algorithms (source - github)
code execution (pdf)
collections
collections
compiling (pdf)
control & dispatching (pdf)
control structures
control structures
dynamic datatypes
enumerables
file i/o
functional programming
garbage collection (pdf)
getting started
hash tables (pdf)
instance variables
jruby & JVM (pdf)
metaprogramming (pdf)
metaprogramming - hooks
metaprogramming - modifying subclasses
metaprogramming - monkey patching
metaprogramming - self-modifying classes
method_missing
method_missing - APIs
method_missing - delegation
modules
modules & mixins
modules & namespaces
object & classes, under the hood (pdf)
object individualization
object lookups (pdf)
objects
objects & equality
objects & methods
operators
regexes
regexes
rubinius (ruby in ruby) (pdf)
ruby Under the Microscope (pdf)
ruby core v3.1.2
ruby implementations (variants)
ruby stdlib v3.1.2
rubygem package building
scalars
self
singletons
specs & testing
strings
symbols
syntax
tokenization & parsing (pdf)
ruby language extensions
All Objects
Arrays
Big Decimals
Classes
Date/Times
Dates
Enumerables
Files
Hashes
How to Load
Integers
Load Errors
Marshals
Modules
Name Errors
Numerics
Ranges
Regexes
Strings
Times
rubygems
how to build your own
ruby toolbox
rubygems dot org
scaffolds
Custom Scaffolds
search engines
ElasticSearch
Postgres search
Searchkick
Sunspot
security
Admin Security
Authentication (Devise, ...)
Authorization (Cancan, ...)
Bcrypt hashing
Best Practices
Brakeman
CSRF
Devise in Depth
Environmental Security
Headers
Injection
Intro to secrets & credentials
Loofah
Redirection & Files
Security best practices
Sessions
Spam Detection
Unsafe Queries
User Mgmt
testing
Background Job Testing
Cucumber
Email Testing
Factory Bot
Faker
Function Testing
Guard
Guard-rspec
Helper Testing
Integration Testing
Intro
Metrics
Minitest
Model Testing
Relish
Resources
Review Tools
Route Testing
Rspec configuration
Rspec ebook (v6)
Selenium
Split
Spring
System Testing
Test DB
Testing for beginners with rspec
Timecop
View Testing
Webmock
rspec tutorial (Hix on Rails)
rspec-matchers
rspec-mocks
ruby toolbox
simplecov
tutorials & resources
Awesome Ruby (GitHub)
Dev.to posts
Gems (Ruby Toolbox)
Getting Started
Hartl Rails Tutorial
Railscasts
validations
Conditional
Custom
Errors
Errors in Views
Helpers
Options
Overview
Strict Validation
views (HTML forms)
Basics
Complex Forms
Custom Forms
Date & Time
External Resources
File Uploads
Model Objects
Option Selectors
Parameter Names
views (HTML helpers)
Asset Tags
Atom Feeds
Benchmark Helper
CSRF Helper
Cache Helper
Capture Helper
Date Helpers
Form Helpers
Form Options
Form Tags
HTML Sanitize Helpers
Layouts
Localized Views
Number Helpers
Partial Layouts
Partials
Templates
View Paths
debug(content)
javascript_tag
text excerpts
views (layouts & rendering)
Asset Tags
Rendering with render_async
content_for
head
nested layouts
partials
redirect_to
render
yield
visualization
Charting
Images
QR Codes
Various
web servers
Passenger
Puma
Thin
Unicorn