Skip to content

Instantly share code, notes, and snippets.

@DiveInto
DiveInto / add index.rb
Created March 26, 2012 14:39
how to add index using rails migration
class AddIndexToFavourites < ActiveRecord::Migration
def self.up
add_index :favourites,[:user_id,:sell_info_id],:unique => true
end
def self.down
remove_index :favourites,[:user_id,:sell_info_id]
end
end
@DiveInto
DiveInto / add field.rb
Created March 30, 2012 15:00
add field using rails generate
rails generate migration add_password_to_users encrypted_password:string
class AddPasswordToUsers < ActiveRecord::Migration
def self.up
add_column :users, :encrypted_password, :string
end
def self.down
remove_column :users, :encrypted_password
end
@DiveInto
DiveInto / flash.rb
Created April 4, 2012 09:46
how to use flash to notice
flash[:notice] = "Item successfully saved as your favourite!"
#很奇怪,看官方文档,rails3里应该flash消息应该可以直接用notice(类似: redirect_to :action=>:XXX,:notice => "msg"),但我试了不行,不知为何,所以这儿还是用的老的style,记下备忘。
@DiveInto
DiveInto / condition.rb
Created April 4, 2012 14:55
condition syntax,shows usage of ? :
(req.save == nil)? false:true
@DiveInto
DiveInto / mongoOp.scala
Created April 6, 2012 09:53
mongo ops using scala/java
#TODO
@DiveInto
DiveInto / scope.rb
Created April 15, 2012 16:25
scope rails
class SellInfo < ActiveRecord::Base
belongs_to :book
belongs_to :user
scope :onsale,:conditions => ['deal_status is not "sold"']
scope :saled,:conditions => {:deal_status => "sold"}
end
@DiveInto
DiveInto / where.rb
Created April 15, 2012 16:25
where rails
@unsold = SellInfo.where("user_id = ? and deal_status != 'sold'", current_user.id)
@sold = SellInfo.where("user_id = ? and deal_status = 'sold'")
@DiveInto
DiveInto / condition.rb
Created April 16, 2012 02:53
java lock and it's condition
// Condition and ReentrantLock
class BoundedBuffer {
final Lock lock = new ReentrantLock();
final Condition notFull = lock.newCondition();
final Condition notEmpty = lock.newCondition();
final Object[] items = new Object[100];
int putptr, takeptr, count;
public void put(Object x) throws InterruptedException {
@DiveInto
DiveInto / ruby.rb
Created April 26, 2012 03:29
ruby code style,checkout https://github.com/styleguide/ruby for more
#== Never use for, unless you know exactly why. Most of the time iterators should be used instead. for is implemented in terms of each (so you're adding a level of indirection), but with a twist - for doesn't introduce a new scope (unlike each) and variables defined in its block will be visible outside it.
arr = [1, 2, 3]
# bad
for elem in arr do
puts elem
end
# good
arr.each { |elem| puts elem }
@DiveInto
DiveInto / install-java.sh
Created June 19, 2012 09:52
install sun-java on ubuntu
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:sun-java-community-team/sun-java6
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
$ sudo apt-get remove openjdk-6-jdk --purge -y
$ sudo apt-get autoremove
sudo update-java-alternatives -s java-6-sun