これ便利さがちょっと伝わりづらいんですが、rvmで普段使いのruby(default)用にruby-1.9.2-p290@defaultとか作って指定しておくと@globalが空なので混ざらなくて良いって話。新環境作るたびに$ gem install bundler
する必要あるけど。みんなやってることかも?
I released dm-validations-i18n version 0.3.3 gem.
This version start to support Russian (ru) locale.
WordPressで複数カラムでorder byしたかったんで調べたんですが、WordPressではSQLの代わりにWP_Queryってのがあって記法が独特。
SQL:
SELECT * FROM foo ORDER BY name ASC, id DESC
WP_Query:
orderby=name id&order=ASC DESC
SQL Injectionが多発したので別記法を強制したいんだと推測しますが、プレースホルダでもORMでもなく、何故別の文字列ベースの記法になったのかはワカラナイ。
メーリングリストの方に投稿したので興味がある方がいらっしゃればメーリングリストに参加してもらえると嬉しいです!
RubyKaigi2011行ってきました。
Rubyコアの話はAfter Rails時代に後乗りしてきた僕にとっては耳が痛いというか、大変な苦労をされて作ってるのをタダ乗りしてる感じで申し訳無いなーと。
また、RubyKaigiに合わせて無理矢理ベータテスト開始した、怖話.jpのカードを@machidaさんに作ってもらって配ったりしました。カードを受け取ってくださった方々ありがとうございます。
!RubyKaigiではfluxflexのお話を聞かせていただいて、Lokkaがワンクリックインストール可能になっててテンションが上がったり。
Lokkaを使ってるという方やこれから使おうと思ってると声をかけていただいて嬉しかったです。CRubyに貢献できない分、僕はRubyで出来たオープンソースアプリという形で頑張らねばなあとやる気が湧きました。
一番ビックリしたのは2日目の懇親会後にサンシャイン60の下で@holman(Zach Holman)に会ったことです。
Automating Inefficiencies on Vimeo
VAGRANCEPTION on Vimeo酔っ払って「駅どっちだ?」とかうろうろしてたら同じ状態の外人がいて、よく見たら生@holmanでした。
「うおっ、Zack Holmanだ!」
とか素で言ってしまいました。
boom gemが好きだとか日本で広めようとしてるとか言ってたら、
「You are wrong.」
とか言いつつ写真撮ってくれました。いやーびっくりした。
こういうの書きたい。
// unk.js
$('#unk').click(function(){
alert('unk')
})
けどcoffeeでは、
# unk.coffee
$('#unk').click ->
alert 'unk'
,
キモイー。何かあるのかな?
Paperclipで画像サイズの最後に使うコレ
has_attached_file :foo, :style => {:thumb => '100x80>'}
いつも意味忘れてググるけどImageMagickのオプションなので下記に書いてある。
Resize or Scaling -- IM v6 Examples
- Ignore Aspect Ratio ('!')
- Only Shrink Larger ('>')
- Only Enlarge Smaller ('<')
- Fill Given Area ('^')
- Percentage Resize ('%')
- Pixel Area Limit ('@')
- Cropping ('#')
こちらでご指摘を貰ってはじめて知ったんですが、
<a href="//example.com">foo</a>
こういう風に書けるのね・・・。
RFC 2396にちゃんと書いてあるらしい。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
こう書けるのは嬉しいなー。
最初からlisp環境には"あきらめが鬼なっていた"vimmerだがclojure環境はスゴイ揃ってる。
EvalToplevel
<LocalLeader>et
カーソルがあるとこのトップレベルのS式をreplに送る。
EvalFile
<LocalLeader>ef
ファイル全体をreplに送る。
EvalBlock
<LocalLeader>eb
VISUALモードで選択した部分をreplに送る。
EvalLine
<LocalLeader>el
カーソルのある行をreplに送る。
EvalParagraph
<LocalLeader>ep
カーソルのあるカッコ内をreplに送る。
RequireFile
<LocalLeader>rf
ファイルを:reloadフラグを付けて読み込む。
RequireFileAll
<LocalLeader>rF
ファイルを:reload-allフラグを付けて読み込む。
RunTests
<LocalLeader>rt
ファイルを:reloadフラグを付けて読み込んで、clojure.contrib.test-isのrun-testsでテスト実行する。
MacroExpand
<LocalLeader>me
カーソルのある一番内側のマクロを展開する。
MacroExpand1
<LocalLeader>m1
MacroExpandと同じだけどmacroexpand-1を使う。(一回だけ展開する奴)
DocLookupWord
<LocalLeader>lw
カーソルのあるとこのwordのdocを探して表示する。
DocLookupInteractive
<LocalLeader>li
プロンプトに任意の文字を入れてdocを探して表示する。
FindDoc
<LocalLeader>fd
入力したパターンを元にdocを探して表示する。(find-doc)
JavadocLookupWord
<LocalLeader>jw
カーソルのあるとこのwordのjavadocを外部ブラウザで開く。
JavadocLookupInteractive
<LocalLeader>ji
プロンプトに任意の文字を入れてjavadocを探して外部ブラウザで表示する。
SourceLookupWord
<LocalLeader>sw
カーソルのあるとこのwordのソースを表示する。ソースはCLASSPATHが通ってる必要がある。
SourceLookupInteractive
<LocalLeader>si
プロンプトに任意の文字を入れてソースを探して表示する。ソースはCLASSPATHが通ってる必要がある。
GotoSourceWord
<LocalLeader>gw
カーソルのある場所のwordのソースに飛ぶ。ソースはPATHが通ってる必要がある。CLOJURE_SOURCE_DIRS環境変数でPATHに追加しておく。
GotoSourceInteractive
<LocalLeader>gi
プロンプトに任意の文字を入れてソースに飛ぶ。ソースはPATHが通ってる必要がある。CLOJURE_SOURCE_DIRS環境変数でPATHに追加しておく。
MetaLookupWord
<LocalLeader>mw
カーソルのある場所のwordのメタデータを表示する。
MetaLookupInteractive
<LocalLeader>mi
プロンプトに任意の文字を入れてメタデータを表示する。
StartRepl
<LocalLeader>sr
新しいバッファに新しいreplをスタートする。同時に複数のreplがあるかも。
StartLocalRepl
<LocalLeader>sR
新しいバッファに新しいreplをスタートする。現在のバッファのnamespaceで初期化される。
AddToLispWords
<LocalLeader>aw
カーソルのある場所のwordをバッファのlispwordsオプションに追加する。これはフォームのインデントに使われる。