ruby
Paperclip的なプラグインDragonflyの紹介記事Dragonfly: Image Handling For Championsの意訳です。ところでこのくらいの分量の「海外の記事のざっくりな意訳」ってどれくらい需要あるんでしょうかね?あんまり需要なさそうならこれ系の記事はサブアカに書い…
(※12月の1日から25日まで、日替わりで Ruby の Tips を紹介するイベント、 Ruby Advent Calendar jp: 2009 の 12 日目です。昨日は id:ohac さんでした。明日はうづら(udzura) さんの予定です。)Railsネタをひとつ書きたいと思います。 titleをviewで設定し…
Snow LeopardにRuby Enterprise Editionを入れる手順のメモです。 readlineをインストール どうやらLeopardと同じくSnow Leopardのreadlineにも不具合があるようなのでreadlineをダウンロードします。The GNU Readline Libraryからreadlineをダウンロードし…
8月15日までにamazonのAPIに署名認証をつけないといけなくなったわけですが、皆さんもう対応されましたか?Product Advertising API用のRubygemで有名なのものとしては amazon-ecs ruby-aaws などがあります。僕はamazon-ecsを使っていたのですが、こちらは…
RubyにDOS攻撃の脆弱性が発見されたようです。Riding Rails: DoS Vulnerability in Ruby DoS vulnerability in BigDecimal どんな脆弱性か BigDecimalからFloatに変換する部分に問題があるらしく、下記のように、大きい数値をRubyにパースさせることでDOS攻…
Rubyでオブジェクトをコピーするメソッドには、Object#cloneとObject#dupの二種類があります。それぞれ少しだけ機能が違うようなのですが、参考書によって記述が異なっていて???となったので調べました。 参考書の記述 それぞれの該当部分を引用しますプ…
なんかいろいろ方法があるのでメモ。 equal? 同一のオブジェクトを参照してたらtrue。下記のコードと同じ。 a.object_id == b.object_id == ==で下記のオブジェクトを比較すると、値が等しいかどうかをチェックする。 String Array Hash FixnumとFloatの比較…
今日吉祥寺で行われたMitaka.rb設立総会に参加してきました。やっぱり三鷹周辺の方が多かったですが千葉や埼玉や神奈川(僕ですね)から参加する人もいたりで国際色豊かな感じ?で飲んできました。「吉祥寺でRubyで飲むよー」って言ってすぐに30人集まるってい…
Rails2.3のRack統合でActionController::AbstractRequestがActionController::Requestに統合されたのが原因だった模様。下記のように書き換えて対処。 module OAuth::RequestProxy #:nodoc: all class ActionControllerRequest < OAuth::RequestProxy::Base …
3月はRuby温泉が二つも企画されてます。温泉入ってプログラミングしたい!でもお金ない!無念!Ruby 温泉 2009 March in 滋賀 : ATND Ruby 温泉 March 2009 (仮) : ATND
下記のようにしてインストールした。 ./configure --prefix=/usr/local/ruby19 --program-suffix=19 --enable-pthread --with-readline-dir=/usr/local --enable-shared make make install そしたら./configure時に下記のようなWARNING。--with-readline-dir…
libcurl4-gnutlsをインストールする必要があります。 sudo apt-get install libcurl4-gnutls-dev sudo gem install curb
なにやらRuby1.8.6のNet::HTTPは遅いという噂があります。InfoQ: RubyのNet::HTTPで何が良くないのか?それでは一体どのライブラリが一番速いのでしょうか。調べてみました。 大きいファイルをダウンロード localhost(apache)に置いた10Mのファイルをダウンロ…
先日webrickのソースを少し読んだのですが、daemonを作る部分がよくわかりませんでした。 def Daemon.start exit!(0) if fork Process::setsid exit!(0) if fork Dir::chdir("/") File::umask(0) STDIN.reopen("/dev/null") STDOUT.reopen("/dev/null", "w")…
Rubyのブロックの記述方法にはdo...endと{...}の2種類があります。僕は基本的にRubyコーディング規約を参考にしてRubyコードを書いているのでdo...end派なのですが、Railsのnamed_scopeをこんな風に書いたらエラーがでました named_scope :hoge, lambda do …
以前にも何度かインストールして感心しているんだけど、インストールしたばかりのまっさらなUbuntuに入れたらそのおもてなしのすごさを再確認した。 すごいところ インストールに必要なパッケージを教えてくれた インストール時の文字の色と背景色が変わるの…
最近、Array() というイディオムを教えてもらってので、覚えるために書きました。 Linux の不要サービスを停止するruby スクリプト - Slow Dance ArrayじゃなかったらArrayに変換するようなコードはこれまでこんな風に書いてました。 str_or_ary = str_or_ar…
Rubyのエラー関連をちょっと調べてみたのでメモ。 raiseメソッド 引数の数によって挙動が少し違う。 raise 直前の例外の再発生。直前の例外がない場合はRuntimeError raise message messageをメッセージとするRuntimeErrorを発生 raise error_type, message …
Railsアプリのデバッグをするとき、僕は基本的にはpを使ってます。pだけじゃしんどそうだなーという場合も時々あって、そういう時にはruby-debugを使ってます。でも時々なので使い方をよく忘れます。これは効率悪いですね。というわけでruby-debugの使い方を…
これまでは、ここを参考に URI.escape( str, Regexp.new("[^#{URI::PATTERN::ALNUM}]") ) でやってたけど ERB::Util.url_encode で十分みたいね。 参考 cgi - Rubyリファレンスマニュアル erb - Rubyリファレンスマニュアル
初めてのRuby作者: Yugui出版社/メーカー: オライリージャパン発売日: 2008/06/26メディア: 大型本購入: 27人 クリック: 644回この商品を含むブログ (253件) を見る買う気なかったんだけど、下記の書評みたら欲しくなって注文してしまいました。どうせ買うな…
rubyでwebにアクセスするライブラリが複数あります。 標準のライブラリ open-uri Net::HTTP gemライブラリ mechanize curb(curl) どんなときにどれを使ったらいいんでしょうね?ということで簡単にですがそれぞれの特徴を調べてみました。 open-uri この中で…
rubyのMechanizeを使ってページを取得する際に、%が含まれるURLでバグが出るようです。まさかライブラリがバグってるとは思わず時間を浪費してしまいました・・・ 下記の記事を参考にMechanizeのコードを修正したらうまく動きました。 RubyのMechanizeではパ…
スタッフの方、発表した方、参加した方お疲れさまでした。あと懇親会で話した方々もお疲れさまでした。 土、日と参加してみて、参加者全員のRubyへの溢れんばかりの愛を見せつけられました。まつもとさんが、「もとから良いものに技術者が集まるのではなく、…
楽しみ。たくさん勉強してこようと思います。 日本 Ruby 会議 2008 - FrontPage
なんとなく覚えてるだけだったので、きちんと調べてみました。 private Rubyのprivateはレシーバ形式*1での呼び出しが禁止になるという意味。selfレシーバが省略された形式(関数形式)でのみ呼び出し可能*2になる。関数形式で呼び出せるということは・・・…
いつものようにメモ。 javascriptの場合 String.indexOf("hoge") 戻り値は一致した文字列の先頭の位置。一致するものがない場合は-1。 String.search(/hoge/) 引数がRegExpオブジェクトなだけで他はindexOfと同じ。 rubyの場合 String#index("hoge") 戻り値…
これまであんまり厳格に区別してなかったので。メモ。 instance_of? foo.instance_of? Hoge fooがHogeクラスのインスタンスの時真 fooがHogeクラスのサブクラスのインスタンスのとき真 is_a? foo.is_a? Hoge fooがHogeクラスのインスタンスの時真 fooがHoge…
rubyのリファレンスから引用。!がついているメソッドは破壊的なんだと思ってたけど違うのね。 あくまでも、「『!』が付いているメソッドと付いていないメソッドの両方があるときは、『!』が付いているほうが破壊的」というだけです。「『!』が付いているなら…
昨日予約して今日ゲット。なぜか入場券は店頭購入で懇親会チケットはクレジット決済でした。当日のホテルも予約しとかないとなー日本 Ruby 会議 2008 - FrontPage