【rails】delayed_job
・概要
簡単に重い処理を非同期に設定してくれる
collectiveのリポジトリのほうが開発がお盛んとのこと
・目的
ActiveMailerのmail()で返ってくるMessageインスタンスのdeliverメソッドがうんこみたいに遅いのでそれを非同期にしたい
・使い方
Gemfileにdelayed_job_active_recordを追加
rails g migration delayed_job:active_record
rake db:migrate
Hoge.method
ならHoge.delay.methodにするだけでおk
Hoge.fuga.deliverは
Hoge.delay.fuga
ここだけ特殊.
delayが勝手にdeliverもやってくれるらしい
・数々のエラー
とりあえずdelayを指定したメソッド内で自作moduleのメソッドを読んだらエラーがでる.
application.rbに自作moduleのパスは通しているのに?
エラー内容について普通に考える(最初に考えろ)
ようはdelayメソッド内ではutil_moduleが通っていないのが原因っていう単純なや〜つだろってことで、う〜ん,まあ違う方法でパスとおしゃいいんしょ。
掲示板とか公式ドキュメントを読むと,
config/initializers/custom.rbにincludeなりrequireなり書けばWorkerは認識しますとのこと
それに従うことでエラーは消えた
custom.rbにはutil_module.rbが通っているので単純に
include MyModule
だけでおk
・deliverが恐ろしく遅いのでこれ自体をもうデフォルトで非同期にしたいのだけど,やり方がわからん〜
公式に書かれているhandle_asynchronouslyがうまく動かんし疲れたしってか疲れた
ってことでとりあえずはHoge.delay.hugaMethodの形で使うことにする
日本語でかいちくり〜
Vimを導入その2
1. Unite.vim
emacsで言うanything
参考 : http://blog.sanojimaru.com/post/18534401804/unite-vim
2. Vimproc
説明はここ
http://vim-users.jp/2010/02/hack124/
まだ必要ないのでとりあえずあとまわし
3.インデント周り
とりあえず
Ruby PHP Python JavaScript HTML c
のインデント設定
4. ...の前に再ビルド
・+clipboard, +rubyとかにしたい
・make, configureについてはここ↓
http://www.itmedia.co.jp/help/tips/linux/l0302.html
・とおもったらできていた....
$ vim --version | grep ruby (clipboard)
おまけ
Vimのコマンド集. 特に10とかは今後覚えていく
Vimを導入
とりあえずVimをいれないと話は始まらない。
1.とりあえず検索
=> macvimkaoriyaが一番目にヒット
・同「macvimkaoriya mac 初心者」
=> 初心者にもおすすめであることを知る
・guiやけど設定でコンソールからも使える
・日本語化されている
・拡張もやりやすそう?
・拡張はNeoBundle がよい?[1]
・Emacs に対応する便利機能 もあるという雰囲気を感じる[2]
2.macvim-kaoriyaの導入
最新版をdownload
http://code.google.com/p/macvim-kaoriya/downloads/list
3.kaoriyaを指すように .bashrcを設定 ついでに日本語化
~/.bashrcにaliasの設定を追加。
言語を日本語に,vimをデフォルトからmacVim-kaoriyaに変更
alias vi='env_LANG=ja_JP.UTF-8 /Applications/MacVim.app/Contents/MacOS/Vim
alias vim='env_LANG=ja_JP.UTF-8 /Applications/MacVim.app/Contents/MacOS/Vim
4..vimrcの設定 ( カラースキーマの設定 )
とりあえずまとまってるページ[3]
syntax on " これでカラーリングされる
colorscheme elflord " カラースキームの設定
デフォルトで入ってるカラースキームリスト => http://nanasi.jp/colorscheme/default_install.html
[4]の2つ(黒)は確かに見やすい
参考にしたディレクトリ構成は[5]
ここまででとりあえずは使えるレベルにはなる。
5.NeoBundleInstall
最近公開された
すごさは[7]
インストールは[8]参考
6.for rails
rails.vim(http://qiita.com/items/57e726312ffe47592867)
http://qiita.com/items/57e726312ffe47592867
これかなりまとまってるhttp://qiita.com/items/ab2ad83ddbaf2f6ce7fb
http://d.hatena.ne.jp/u16s/20111117/1321561015
vimproc (http://qiita.com/items/e98da5e2708425d833c5)
57 NeoBundle 'Shougo/neobundle.vim'
58 NeoBundle 'Shougo/neocomplcache'
59 NeoBundle 'Shougo/unite.vim'
60 NeoBundle 'Shougo/vimproc'
61 if has('mac')
62 let g:vimproc_dll_path = $VIMRUNTIME . '/autoload/vimproc_mac.so'
63 elseif has('win32')
64 let g:vimproc_dll_path = $HOME . '.vim/bundle/vimproc/autoload/vimproc_win32.dll'
65 elseif has('win64')
66 let g:vimproc_dll_path = $HOME . '.vim/bundle/vimproc/autoload/vimproc_win64.dll'
67 endif
68
69 " for rails
71 NeoBundle 'tpope/vim-rails'
72 NeoBundle 'The-NERD-tree'
73 NeoBundle 'The-NERD-Commenter'
74 NeoBundle 'dbext.vim'
75 NeoBundle 'minibufexpl.vim'
今日はここまで
あとは入力保管,バッファ管理機能を強化
Refference
1. Code Link:“Vim初心者によるVim導入記録(インストール編)”, (08/2012).
2. Slow Dance:“EmacsからVimへ移行しました”, (09-06/2009).
3. “Vim の使い方”
4. Input*Output:“自分が今まで使ってきたVimのカラースキーマの紹介”, (12-15/2012).
5. 名無しのvim使い:“vimエディタ・スターターマニュアル #7 (ホームディレクトリのファイル構成)”
6. Curiosity Drives Me:“今年こそ始める!何度も挫折した人のためのモダンVim再入門”,(01/09/2012).
7. Shougo: “NeoBundle.vimについて+おまけ”, SlideShare, (11-04/2012).
8. takahiro_jinnoの日記: “vundleからneobundleに乗り換える”, (01-19/2012).
おまけ
rmのalias設定
http://d.hatena.ne.jp/yagiey/20100918/1284841276
疑問点
・zeshとbashの違い
・BSD(Bercley Software Distribusion)ってなんぞ => wikiで見る。疑問単語が増幅
・sudo chown -R $USER /usr/local
感想
参考文献かくの面倒なのでもっと簡単にしよう