トップレベルのスコープの束縛が入っている組み込み定数。
irbの中でirbを使う(ネストする)ことができる。このとき、コンテキストは引数に渡したオブジェクトのコンテキストに変わる。 ruby-1.9.2-p180 :001 > s = "hoge" => "hoge" ruby-1.9.2-p180 :002 > irb s ruby-1.9.2-p180 :002 > reverse => "egoh"
普通にダブルクォートで複数行の文字列を扱うことが出来る。普通複数行にまたがる文字列を使いたいときはヒアドキュメントを使う。 puts "hoge fuga" 実行結果 hoge fuga
rvm wrapperは指定した ruby と gemset でrubyを実行できるコマンドを生成する。passengerとかで使われてる。 rvm wrapper 1.9.2@hoge fuga とすると、1.9.2 で gemset hoge の状態で実行できるコマンドが生成される ./rvm/bin/fuga_ruby ./rvm/bin/fuga_irb…
一つだけかと思ってた>< javascript_include_tag "common.javascript", "/elsewhere/cools" # => <script type="text/javascript" src="/javascripts/common.javascript"></script> <script type="text/javascript" src="/elsewhere/cools.js"></script>
loadの第二引数にtrueを指定すると、第一引数で指定したファイルの実行時に無名モジュールを作成して定数の衝突を避ける。 requireの違い require は同じファイルは一度だけしかロードしませんが、 load は無条件にロードします。また、require は拡張子 .rb…
define-key global-map global-set-key global-set-keyは単にdefind-keyをラップしているとのこと。この二つに大きな差はないらしい。何がグローバルセットキー`の違いは`と`を定義キーのグローバルマップは、`Emacsで
3ヶ月前にsudo-ext.elがうまくいかない><というエントリを書いたら、id:rubikitch さん、id:handlename さんからアドバイスをいただきました。ありがとうございます!!!Macでsudo-ext.elを使う場合 - handlename::blog sudo-ext.elがうまく動作しない場…
Railsはかゆいところに手が届くなー。メモ truncate(text, *args) textが:lengthで指定した文字数より大きかった場合に、:lengthで指定した文字になるまで切り詰めて、:omission(デフォルトは"...")を末尾に付ける。これどうせバイト単位で日本語だとうまく…
シナリオアウトライン 検証シナリオのおおよその流れ(アウトライン)自体は同じまま、複数のデータの組み合わせをテストするための機能。 "シナリオ"を"シナリオアウトライン"に変更する "bob"とか"alice"のようなデータ類を""のように<>を使った文字列に変更…
log配下の*.logのサイズを0にするrakeコマンド rake log:clear
Railscasts - Testing JavaScript with Jasmineを見て。jsのユニットテスト環境 jasmineについて。基本的にRspecライクな書き方でjavascriptのユニットテストを実行することができる。すごく使えそう!!! rake jasmine でサーバ立ち上げてアクセスするとテ…
基礎は終わったのかも。主にシナリオをリファクタリングするテクニックについて。 背景 背景を使うと、各シナリオで共通の箇所を一箇所にまとめることに出来る。これってフィーチャ内の全てのシナリオで共通なのかな?→共通のようだ 複数のステップを呼び出…
seeds.rbはmigrationにデータを変更するコードを書くのをやめよう!という思想が入ってるらしいけど、データの初期化はともかく、運用途中でデータを変更するのは結構めんどそう。マスタデータ変更系でもseeds.rb使った方が良いんだろうかRails 2.3.4で追加…
やさしいEmacs-Lisp講座の第三章に出てくる関数をざっとまとめたメモ。 移動境界の検査 bobp ポイントがバッファ先頭にあればt,なければnilを返す eobp ポイントがバッファ末尾にあればt,なければnilを返す bolp ポイントが行頭にあればt,なければnilを返す …
Rails3.0.6ではauto_linkの脆弱性が修正されたらしい。auto_linkは文字列中にあるURLやメールアドレスにaタグ付けて返すメソッド。あんまり使わないから忘れがちなんだけどこの際覚えよう。 post_body = "Welcome to my new blog at http://www.myblog.com/.…
textやstringのカラムに空文字代入して保存したときにnilになるのか空文字になるのかよくわかってなかった。空文字代入のときは空文字が保存されるみたいね。integerや datetime は空文字代入したら nil になる(当たり前だけど)。
メモ Enumerable#cycle object.to_a.cycle と同じ Enumerable#drop オブジェクトの最初の n 個を捨てた配列を返す。非破壊的。Enumerable#firstと対をなすメソッド ary = [1, 2, 3] ary.drop(2) #=> [3] ary #=> [1, 2, 3] Enumerable#drop_while ブロック内…
ずーっとつながらなくて諦めていたのだけれど、今日ローカルのDNSを使うように設定(127.0.0.1)していたのを削除してみたらつながった。 追記 firefoxだと認証ページへ遷移しない。chromeだといけた
ASCIIcasts - “Episode 259 - Decent Exposure”を読んで。decent_exposureという、コントローラでインスタンス変数に値をセットする部分を簡単にするgemについての記事。 def show @article = Article.find(params[:id]) end のような、コントローラ中に書く…
アクセスが許可されていないメモリ上の位置、もしくは許可されていない方法でメモリ上の位置にアクセスしようとするときに起こる 参考 セグメンテーション違反 - Wikipedia
キーバリューストア LIST, Set(重複のない集合), SORTED SET(ソート済みの集合), HASH(連想配列)が扱える. 基本はインメモリだけどディスクでも使える。ただしいまのところディスク使うと不安定 参考 ニコニコ生放送に見る Redis 活用ノウハウ:第1回 インメ…
rubygems.orgに接続せずに、vendor/cacheを使うオプション
なんかこんがらがるのでメモ 正規表現中で参照したい場合は\1,\2,\3... 正規表現後で参照したい場合は$1, $2, $3...
resizeだけ指定したいときは文字列だけでいい has_attached_file :avatar, :style => {:large => "640x640>"} 拡張子を指定しないといけないときは配列 has_attached_file :avatar, :style => {:large => ["640x640>", "jpg"]} ハッシュでもいい。ハッシュだ…
メモ options size 画像の幅と高さ pseudo-image formats canvas 前はxcで指定していたらしい?sizeやdepthで指定した画像を作る。canvas:red や canvas:#FF0000といった形で色を指定する。指定しないとwhiteになる。sizeを指定しないと1ピクセルの画像にな…
忘れないためにメモ jQuery.fn.map() - maeshimaの日記 jQuery.fn.end() - maeshimaの日記 jQuery.extend - maeshimaの日記
git describe --contains 渡されたコミットを含むタグを使ってコミットに名前を付けるコマンド describe --contains を何のために使うのか、も知っておくと良いですね。「あの機能が入ったこのコミットは、どのリリースに入っているのかな」つまり「どのリリ…
ドキュメントの意訳。has_attached_fileはクラスにファイル用の属性を追加する。通常はどこかに置いてあるファイルか、もしくはユーザがアップロードしたファイル。その属性はPaperclip::Attachementオブジェクトを返す。これによってファイルをモデルの普通…
datetime形式のパラメータは params[:hoge][:date(1i)], params[:hoge][:date(2i)], params[:hoge][:date(3i)] のように分かれてくる。このパラメータをmass assignmentでdatetime形式のカラムの属性に代入すると、railsが気を利かせて解釈してくれてDateTim…