tips

multital で development.log を色つきで表示

% multitail -cT ansi development.log /var/log/mail.logterminalcode に ansi を指定すればいい

バッドノウハウ:Railsで他のアプリケーションとセッションを共有するために

Rails ではセッションにモデルのインスタンスをぶち込んだりできるのですが,例えば複数のアプリケーションでログイン情報を共有するためにセッションを使ったりすると,モデルのクラス定義が存在しないとエラーになってしまいます. アプリA -> User, Blog,…

Railsのscript/consoleで便利な技(?)

まあ知らなかっただけなのですが....今日のRails勉強会で知った便利な技のログを. 変更の再ロード >> reload! なんだこれだけでよかったのかorz.ずっと再起動してたよ.... consoleにログをだす >> ActiveRecord::Base.logger = Logger.new($stderr)…

回転・拡大縮小行列

mod_rewriteでQUERY_STRINGを受け渡すには

RewriteRuleでQUERY_STRINGを受け渡すとは,例えば, /bbs.php?thread=2342&style=tree&page=1を /bbs/tree/2342&page=1としたい場合には, RewriteCond %{QUERY_STRING} ^thread=(\d+)&style=(.+)&page=(\d+)$ RewriteRule ^/bbs.php$ /bbs/$2/$1&page=$3 […

h(html_escape)はmodelでは使えないので

h()はhtml_escape()のaliasで,html_escape()はvendor/rails/actionpack/lib/action_view/base.rbにあると言うことなので,modelで使う方法を模索して頓挫.仕方ないので,methodをmodelのprivate methodとして実装しました.こんな感じ. # for sanitize de…

jpmobile & rails 1.2.4以降だとtransit_sidがエラーになる

jpmobileの機能である,session_idをurlに負荷する方法がデフォルトで禁止されるようになったそうな.なので,該当controllerに session :cookie_only => false を追加する必要がある.

setIntervalでinterval=0にするとIEで止まる

これってそういうもんなんだろうか.Firefox/Opera/Safari on Windowsでは問題なかったんでハマりました.

Weak references are not implemented in the version of perl at...の対処方法

Scalar::Utilのバージョンによって出るっぽいエラーらしいので,以下のように再インストール sudo rm -f `perldoc -l Scalar::Util` sudo cpan cpan>install Scalar::Util

method/attributeがObjectに存在するかどうか確認するには

Object#respond_to?メソッドを使う class Hoge @foo attr_accessor :foo end a = Hoge.new a.respond_to?("foo") #=> true a.respond_to?("bar") #=> false

オブジェクトのコピー

cloneやdupだとshallow copyなので,deep copyするには a = "a" b = Marshal.load(Marshal.dump(a)) としなくてはいかん.つまり, shadow copy 参照.ポインタのような感じ? deep copy 複製.メモリ内のデータを異なる番地へコピーして,その番地の参照を…

Apache2 + FastCGI環境を構築する

構築メモ.ターゲットはFC6 or FC7.以下を参考にしました.pools.jp | Apache2.2+fastcgiで Ruby on Rails ダウンロードとインストール FastCGI Developer's Kit/mod_fastcgiのダウンロード FastCGI Developer's Kit http://www.fastcgi.com/dist/fcgi-2.4…

ActionMailerでサーバの設定方法

ActionMailer::Base.smtp_settings = { :address => 'smtp server', :port => 25, :user_name => 'username', :password => 'password', :authentication => :plain }

Objectのattributesの中身を変更する別の方法

配列で一気に attributes を変更したい場合などに book = Book.new book_atts = book.instance_variable_get(:@attributes) book_atts.each do |ba| book_atts[ba[0]] = array[ba[0]] end book.instance_variable_set(:@attributes, book_atts)

TeraStation/LinkStationで名前の最後に -EM がつくと復旧モード

ファームウェアの更新で元に戻る.

cacheを削除するには

rake tmp:cache:clear 更新されなくて悩んだorz.

Windows VistaでIPv6を無効にする方法

IPv4/IPv6 の有効化/無効化自宅ではWindows Vista機を使ってるんだけど,ちょっと接続が多くなると切れる.切れるというか,無線LANの自体が消える.そして有効にできなくなり,再起動しかなくなる状態.いろいろ試すがなかなか解決法がないので,ひとまずIP…

setTimeoutなどで引数を渡す方法

window.setTimeout( function(arg){ alert(arg); }, i * 1000, argument ); setTimeout/setIntervalの第3引数に渡したい値(argument)を入れて,関数の部分を書き換える.が,これだとIEで問題があるかもしれないので, (function(arg){ arg.timerID = window…

.screenrc

プチ修正. caption always "$LOGNAME@%H %{= wb} %-w%{=bu dr}%n %t%{-}%+w %= %{=b wk} [%l] %{=b wb}%y/%m/%d(%D) %{=b wm}%c"

emacsのカスタマイズ

選択範囲の反転と対応する括弧のハイライト (show-paren-mode t) ; 対応する括弧を光らせる。 (transient-mark-mode t) ; 選択部分のハイライト

GNU Screenを使ってみる

そのまま中断できるってのがいいね.作業中のままにできるし.これで例えばVMWareを再起動しても・・・・,って言うんならもっと良いんだがどうなんだろうか.とりあえず,設定記録.基本的にいろんなところのを引用してちょっと改良した感じ.もうちょっと…

dabbrev-expand

;; dabbrev (setq abbrev-file-name "~/.abbrev_defs") (setq save-abbrevs t) (quietly-read-abbrev-file) (global-set-key "\C-x'" 'just-one-space) (global-set-key "\M- " 'expand-abbrev) (global-set-key "\M-/" 'dabbrev-expand) (eval-after-load "…

Windows VistaでBeepを無効に

http://d.hatena.ne.jp/bron84/20070706/1183720010いや,すごい煩わしかったのよね.ボリュームコントロールで制御できないし,デバイスマネージャからBeepを無効にしても消えなかったし,どうしようかと思ってた.消えてすっきり.

Emacsのindent

if の } で先頭に空白がはいるのはなんでかと探っていたら,どうも Emacsデフォルトの indent だと判明. http://unq.s261.xrea.com/blog/2007/06/gnu.php 以下を設定して対処完了.気持ち悪かったんだよな. (setq-default tab-width 4) (setq c-default-st…