2012年4月27日金曜日

正規表現まとめサイト

http://mukaer.com/archives/2011/05/11/rubyruby_3/

http://engineerflies.blogspot.jp/2010/06/ruby_25.html#basic

ここみれば全部乗ってるね!

2012年4月25日水曜日

joinの2度書きとLEFT関数を使う!

joinを2つ繋げてあるあたり、LEFTを使っているあたりがかなり苦労しました!

JobApply.where(:resume_passed_date =>1.months.ago.to_date..1.days.ago.to_date).joins(:job_offer=>:job_offer_job_types).where('LEFT(job_type_id,3)=?',100)

マイグレーション関連

http://www.rubylife.jp/rails/model/index7.html

ここみればできるお。

サーバー稼働をしらべる。

たまにサーバー(ローカルサーバーを含め)が重くなる時があるので、
その時に何が動いているのかを調べる方法。

root権限になったのち、

 ps aux | grep ruby


不要なものが見つかれば


kill -9 〇〇


ちなみに-9は強制終了のオプションです!

メーラー関連

メーラーではヘルパーを使う際に、 helper 〇〇 と宣言する必要あり!

同じコントローラー内での作業はメソッドを作って使おう!

開発をきれいにする場合のお話。

$$Controllers<$$$$$

def first
%%%%%
end

def second
%%%%%
end


同じコントローラー内に
3行程度の%%%%という同じ作業があるならば
新しくこのコントローラー内にメソッドを作る!


$$Controllers<$$$$$

def first
clean
end

def second
clean
end

private
def  clean
%%%%%
end

でもこれで終わるとまだ3流。

before_filter or after_filter で更にきれいに。
ちなみに
before_filterはそのメソッドに行く前にかかる。
after_filterはメソッド実行後かかる。
→メソッド内の変数も使用可能。

きれいにかきましょう!



2012年4月20日金曜日

サーバーで動いているコンソール等を確認

サーバーに起動しているコンソール等を確認するコマンド

ps

ps aux | grep ruby


kill -9 ○ ←IDをいれる。

2012年4月19日木曜日

validateで複数要素に対してuniquenessをかける

validateって一つのカラムに対してかけれるだけだと思ってたけど、
複数にもできるんですね〜

http://d.hatena.ne.jp/suginoy/20110507/p1

2012年4月18日水曜日

配列をランダムにして、一つ取り出す。

ary=[1,2,3,4,5] # => [1, 2, 3, 4, 5]

#配列からランダムに一つを取得
ary[rand(ary.length)] # => [1~5のいずれか]

#配列をランダムに並び替え(シャッフル)
ary.sort_by{rand} # => [3, 1, 5, 2, 4] #[ruby-list:43811]より

ary.sort_by{rand}.last =>おっけー

2012年4月12日木曜日

繰り返しの脱出next の書き方

繰り返しの脱出(next)

next文は最も内側のループの条件式の直前へ脱出します。例を以下に示します。以下の例では5だけ出力されません。
for i in 1..10 # next はここにジャンプ
  next if i==5
  puts i
end



なるほど〜〜〜〜!!!

2012年4月11日水曜日

Csv.parse()をおこなうと、undifined method 'pos'と表示される。

結論



14
down voteaccepted
I had to do this in Rails 3:
data = params[:dump][:file].read
CSV.parse(data)
params[:dump][:file] is an ActionDispatch object and can't be parsed directly by CSV.parse.


みての通りですね!時間かかったぜorz...

2012年4月10日火曜日

コンソールでメーラーを起動させてみよう!

コンソールを起動。*ちなみにirbと打てばコンソールのようなものが瞬時に起動。

user =  User.find()

user.mail = '自分のメールアドレス'

job = JobOffer.find()

client = job.client

recs = JobOffer.find([配列で指定 *今回は配列を想定しているので。])

UserMailer.メソッド名(引数).deliver

送信完了だぜ!

rubyで変数の存在を調べる

defined?(変数)
=> nil or 'localvariable' or ....

変数を設定していない場合(汎用性のあるものに変数を入れる場合)、エラーが発生する。。
defined?()とする事で、変数を設定していない場合nilがかえってくるのでエラーにならない!

2012年4月9日月曜日

スケジュール、タスク管理

☆緊急性と重要性の2軸で考える!
→緊急性の高いものばかりやっていると...

☆メールは分ける習慣を持とう!

日付の簡単な設定の仕方

date

(from)..(to)
↑日付or引数

 パイプ ||= の使い方

a ||=  ×××

もしaがnull,falseだったら×××を代入する。

ハッシュや配列の入り交じりを解いていく

mysqlでカラムのtypeを変更する。


ALTER TABLE (テーブル名) MODIFY (カラム名) 指定するtype(ex;VARCHAR(1024));


ちなみにrails dbconsoleですぐにmysqlに繋げるね!
show columns from テーブル名;
でテーブル名のカラムのtypeが全部見れるぜ!
         

irbの使い方

irb と打てば、コンソールとほぼ同じ機能がスタート!

a = [1,2,3]
a.include?(3)
=> true!

yes!!

.includeの使い方

h = {"apple"=>150, "banana"=>300, "lemon"=>300}

p h.key?('apple') #=> true
p h.has_key?('orange') #=> false
p h.include?('lemon') #=> true
p h.member?('avocado') #=> false

2012年4月1日日曜日

CentOS +nginx+unicorn 構築

http://d.hatena.ne.jp/spitfire_tree/20110914/1315982763
ほぼ上記のサイトを参考にした。

構築するrailsのバージョンと作ったもので指定しているrails のバージョンの不一致。
gemlistでバージョンを確認し、アンインストール、インストールを行った。

あとは、ユニコーンのunicorn.conf.rbファイルを作る際に、パスが間違っていた。
パスの確認方法は、ターミナルよりpwdで確認できる。

後は、nginx.confを設定する際にもトラブルが発生した。




参考にしたサイト

http://d.hatena.ne.jp/parrot_studio/20110727/1311737955

http://wp.serpere.info/archives/1799

http://d.hatena.ne.jp/spitfire_tree/20110914/1315982763

Lion にrails3を構築する。

参考にしたサイト



陥った落とし穴

前回まではxcodeで保管されていた部分が、少し変更があったようで
ググってもなかなか出ずに、railsをインストールする際に手こずった。