Ruby

Ruby での Test::Unit や MiniTest::Unit を使った複数のファイルのテスト

Perl で複数のテストを実行する場合は prove コマンドがあるけれど、Ruby の場合はどうするのがいいんだろうなー。 と思って調べてみました。『Rubyベストプラクティス -プロフェッショナルによるコードとテクニック』 によると、Rake::TestTask を使うのが…

WEBrick の ProcHandler で DELETE メソッドや PUT メソッドを扱えるようにする

WEBrick で HTTP サーバーを作ってリクエストを WEBrick::HTTPServlet::ProcHandler オブジェクトで処理する、ということをしていたのですが、DELETE メソッドを投げると 405 エラーが返ってきてしまうという問題に直面しました。 レスポンスボディは以下の…

WEBrick サーバー (Ruby による web サーバー) を安全に停止する方法とデーモン化する方法

Ruby には、WEBrick という HTTP サーバーのフレームワークが標準添付ライブラリとして同梱されています。 Ruby on Rails などにも使われているようです。で、私も web アプリケーションの開発に WEBrick を使ってみようと思ったのですが、WEBrick サーバー…

Ruby におけるバイナリ文字列に対する正規表現マッチング

Ruby 1.9 系において、バイナリ文字列 (ASCII-8BIT の String オブジェクト) に対する正規表現マッチングをさせる方法について記します。 Ruby 1.9 系において URL デコードを行う際などに役に立ちます。 正規表現リテラルの n オプション 正規表現リテラル…

Ruby においてメソッドがどこで定義されているのかを調べる方法

ruby-talk の 381425 で 「どのメソッドが呼び出されているのか調べる方法を知りたい」 という内容の質問がありました。 私も知らなかったのですが、Method オブジェクトを使えば簡単に知ることができるそうです。というわけで、メソッドがどこで定義されて…

Twitter のアイコン画像 (プロフィール画像) を取得する Ruby スクリプト

Twitter のユーザー名 (screen_name) を指定して複数人のプロフィール画像をダウンロードする必要があったので、Ruby でスクリプトを書きました。 特に面白くもないですが置いておきます。 プロフィール画像を取得するための Twitter API プロフィール画像を…

Ruby にて文字と Unicode コードポイントの相互変換を行う

Unicode のコードポイントを指定して文字を得たり、逆にある文字のコードポイントを調べたり、ということをする機会は結構多いと思います。 が、Ruby でそれをやる方法をぐぐってもあまり上位に情報が出てこないなー、と思ったので簡単にまとめておきます。 …

『Ruby ベストプラクティス ―― プロフェッショナルによるコードとテクニック』 Gregory Brown 著, 高橋 征義 監訳, 笹井 崇司 訳

Rubyベストプラクティス -プロフェッショナルによるコードとテクニック作者: Gregory Brown,高橋征義,笹井崇司出版社/メーカー: オライリージャパン発売日: 2010/03/26メディア: 大型本購入: 9人 クリック: 307回この商品を含むブログ (47件) を見るこれまで…

Ubuntu に RVM をインストールして Ruby のバージョン管理を行う

Ruby には多くの実装があります。 リファレンス実装 (CRuby) としては Ruby 1.8 系 (MRI) と 1.9 系 (YARV) の 2 つが現役で使われていますし、Java で書かれた実装である JRuby や .Net で動く IronRuby などの別実装もあります。 最近では Rubinius が注目…

『プログラミング言語 Ruby』 まつもと ゆきひろ, David Flanagan 著, 卜部 昌平 監訳, 長尾 高弘 訳

プログラミング言語 Ruby作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2009/01/26メディア: 大型本購入: 21人 クリック: 356回この商品を含むブログ (129件) を見る『初めてのRuby』 (Yugui …

Ruby の Proc オブジェクトと Method オブジェクトの違い (proc, lambda, ブロック, メソッドについて)

プログラミング言語 Ruby作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2009/01/26メディア: 大型本購入: 21人 クリック: 356回この商品を含むブログ (129件) を見るRuby には、手続きを表すオ…

Ruby でのイテレータを使った繰り返し #2

プログラミング言語 Ruby作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2009/01/26メディア: 大型本購入: 21人 クリック: 356回この商品を含むブログ (129件) を見る前回 (#1) に引き続き、イ…

Ruby でのイテレータを使った繰り返し #1

プログラミング言語 Ruby作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2009/01/26メディア: 大型本購入: 21人 クリック: 356回この商品を含むブログ (129件) を見る『プログラミング言語 Ruby…

Ruby におけるオブジェクトの比較 (同一性, 同値性, 順序など)

プログラミング言語 Ruby作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2009/01/26メディア: 大型本購入: 21人 クリック: 356回この商品を含むブログ (129件) を見る最近 『プログラミング言語…

Ubuntu 9.10 (Karmic Koala) で Ruby + PostgreSQL な環境を構築する (DBI/DBD-Pg 使用)

以前も 似たような記事 を書きましたが、今回は Ruby から PostgreSQL を使用するためのライブラリとして ruby-pg ではなく DBI / DBD-Pg を使う方法 *1 を採ります。 インストールするバージョン等 OS は、タイトルにも書いてあるように Ubuntu 9.10 (Karmi…

さくらインターネットサーバー上で画像処理を行う (Ruby 使用)

さくらインターネットのレンタルサーバー 上で動作する Ruby プログラムで画像処理を行うための方法です。画像処理用のアプリケーションは、元々さくらインターネットのサーバーにインストールされている ImageMagick を使用することにします。 Ruby プログ…

さくらインターネットサーバに Ruby 1.9 をインストール

レンタルサーバとして有名な さくらインターネットサーバ (スタンダードコース) のユーザディレクトリ内に Ruby 1.9 をインストールしたのでその手順を書いておきます。 作業方法 インストール作業はサーバに SSH 接続して行いました。 ローカルマシンは Win…

openssl を require すると LoadError が発生する

Ruby で標準添付ライブラリであるはずの openssl を require すると以下のエラーが発生してしまいました。XXXX.rb:3:in `require': no such file to load -- openssl (LoadError) from XXXX.rb:3:in `' from ./request.cgi:9:in `require' from ./request.cg…

systemu を使用して Ruby から外部コマンドを実行する

pLaTeX を使うときに、TeX コードのエンコーディングは EUC-JP なのに端末の表示エンコーディングは UTF-8 だから、メッセージが文字化けしてしまう! → じゃあ Ruby でコマンド実行してメッセージは文字コード変換して端末に表示すればいいじゃない! と思…

Ubuntu 9.10 / 10.04 で Ruby + PostgreSQL な環境を構築する

CGI としてもよく使われる Ruby と、DBMS として有名な PostgreSQL をインストールし、さらに Ruby から簡単に PostgreSQL を利用するための Ruby ライブラリ ruby-pg (ruby-postgres) をインストールする方法を記したメモです。 Ubuntu 10.04 の場合 (追記)…

Ruby で Twitter の OAuth を使うサンプル

Ruby で OAuth 認証を行うための OAuthSimple というライブラリを公開しました。 よろしければご利用ください。RubyGem: OAuthSimple-0.1.0.pre を公開しました前の記事 において Twitter OAuth 認証の Request Token を取得するサンプルコードを Ruby で書…

Ruby で Twitter OAuth 認証の Request Token を取得するサンプル

最近 OAuth Core 1.0 Revision A を読んで OAuth の勉強をしてるので、Ruby で実際に動くものを作ってみました。 今回は最初なので Request Token を取得するというもの。 OAuth Core 1.0 Revision A の 6.1 節 Obtaining an Unauthorized Request Token の…

Ruby から Twitter API を使用するサンプル (SSL / Basic 認証)

Twitter の Basic 認証のサポートは既に終了しました。 本記事中で参考になるのは一番最後の 「CA 証明書ファイルの取得方法」 ぐらいだと思います。Web 上を探すと Ruby で Twitter API を使用する方法の説明やらサンプルやらが色々ありますが、Basic 認証…

REXML (Ruby 標準添付ライブラリ) のバグ

REXML の XPath の実装状況を調べようとしてちょっと XPath を使ってみたのですが、どうも仕様どおりの動きをしないことがあったのでメモしておきます。#! /usr/bin/ruby1.9 # -*- coding: utf-8 -*-begin STDOUT.set_encoding( "UTF-8", "UTF-8" ) # REXML …

VCDOM ver.0.1.1

こないだ Ruby の勉強をして早速ちょこちょこ使ってるのですが、標準ライブラリに DOM を扱えるものがないということに気づいてちょっと悲しくなりました。 DOM プロセッサの代わりに REXML という XML プロセッサが標準で添付されてはいますが、やはり DOM …

Hash の key の同一性の判定について

Ruby のハッシュ (連想配列) に関して。 ハッシュは以下のように生成することができます。hash = { "key1" => "val1", "key2" => "val2" }そして key を指定して value を得ることができるわけですが、そのときに問題となるのがどうやって key の同一性を判…

Ruby の "Hello, world!"

院試が終わってから Yugui 著 『初めての Ruby』 (ISBN: 978-4-87311-367-8) を読んで Ruby の勉強をしてたんですが、ようやく本日読了しました! そんなわけで Ruby について初心者ながらにちょこちょこ書いてみようと思います。とりあえず今日は標準入出力…