with a hat tip to Sublime Text 2 Shortcuts
⌘; | autocomplete |
⌘⌥B | instant replay |
⌘⌥E | search across all tabs |
-- View Current Lock | |
SELECT c.relname, l.mode, l.granted, l.pid FROM pg_locks as l JOIN pg_class as c on c.oid = l.relation; | |
-- UTF-8 text search by index | |
create index on <table> (<column> text_pattern_ops); | |
-- Generate nodes path | |
create table <table> as select i, format('/%s/%s/', (random() * 10), (random() * 10)) from generate_series(1,100000); | |
-- Create extension |
with a hat tip to Sublime Text 2 Shortcuts
⌘; | autocomplete |
⌘⌥B | instant replay |
⌘⌥E | search across all tabs |
When installing passenger, Nginx, Ruby and Rails on Ubuntu 12.04 (without RVM/without rbenv): | |
First: installing Ruby (without RVM): | |
sudo apt-get update | |
sudo apt-get install ruby1.9.1 ruby1.9.1-dev \ | |
rubygems1.9.1 irb1.9.1 ri1.9.1 rdoc1.9.1 \ | |
build-essential libopenssl-ruby1.9.1 libssl-dev zlib1g-dev | |
You could have postgre installed on localhost with password (or without user or password seted after instalation) but if we are developing we really don't need password, so configuring postgre server without password for all your rails project is usefull.
In researching topics for RailsCasts I often read code in Rails and other gems. This is a great exercise to do. Not only will you pick up some coding tips, but it can help you better understand what makes code readable.
A common practice to organize code in gems is to divide it into modules. When this is done extensively I find it becomes very difficult to read. Before I explain further, a quick detour on instance_eval
.
You can find instance_eval
used in many DSLs: from routes to state machines. Here's an example from Thinking Sphinx.
class Article < ActiveRecord::Base
# bundle exec rake cache:clear | |
namespace :cache do | |
desc "Clear Rails.cache" | |
task :clear do | |
Object.const_set "RAILS_CACHE", ActiveSupport::Cache.lookup_store(Rails.configuration.cache_store) | |
Rails.cache.clear | |
puts "Successfully cleared Rails.cache!" | |
end | |
end |
Follow the instructions here: The Hitchhiker's Guide to Riding a | |
Mountain Lion http://j.mp/Qm5UJD, including installing XQuartz. | |
After installing XQuartz set the correct path to the X11 library to | |
install Ruby 1.8.7-p358 with rbenv: | |
export CPPFLAGS=-I/opt/X11/include | |
then let the compiler know where gcc-4.2 is: |
If you are using vagrant, you probably-statistically are using git. Make sure you have its binary folder on your path, because that path contains 'ssh.exe'.
Now, modify C:\vagrant\vagrant\embedded\lib\ruby\gems\1.9.1\gems\vagrant-1.0.3\lib\vagrant\ssh.rb
to comment out the faulty Windows check and add a real SSH check:
# if Util::Platform.windows?
# raise Errors::SSHUnavailableWindows, :host => ssh_info[:host],
# :port => ssh_info[:port],
# :username => ssh_info[:username],
# :key_path => ssh_info[:private_key_path]
# place this in lib/fakeout.rb | |
require 'ffaker' | |
module Fakeout | |
class Builder | |
FAKEABLE = %w(User Product) | |
attr_accessor :report |
This guide enables you to install (ruby-build) and use (rbenv) multiple versions of ruby, isolate project gems (gemsets and/or bundler), and automatically use appropriate combinations of rubies and gems.
# Ensure system is in ship-shape.
aptitude install git zsh libssl-dev zlib1g-dev libreadline-dev libyaml-dev