![Amazon.co.jp: Ruby逆引きハンドブック: るびきち: 本](https://cdn-ak-scissors.b.st-hatena.com/image/square/69d558484be118b719ccea34571a192b92c66213/height=288;version=1;width=512/https%3A%2F%2Fm.media-amazon.com%2Fimages%2FI%2F51uvpoG%2BCYL._SL500_.jpg)
概要 prelink は共有ライブラリのリンク情報を取り出し、それを実行ファイルに格納します。文字通り事前にリンクを行ないます。それによってプログラムの起動時間を短縮することができます。 prelink の効果を測定する - bk ブログ Gentoo Linux Prelinkガイド ほかの環境では調べていませんが、 CentOS 4.7 の環境ではその prelink が ruby 1.9.1 のバイナリ /usr/bin/ruby を破壊してしまうようです。 症状 prelink は知らないうちに自動的に行われるようです。 ruby をインストールしたあと、しばらくは正常に動作していて、突然 $ /usr/bin/ruby /usr/bin/ruby: failed to allocate memory (NoMemoryError) などと言い出します。 /usr/bin/r
サボっていた早朝ジョギング@駒沢公園を再開して2週間たち、やっと抜かれる数より抜く数の方が増えてきたmikioです。今回は、PerlやRubyのハッシュの代用としてTokyo Cabinetを使うことでメモリ使用量を激減させられることを説明します。 抽象データベースAPI Tokyo Cabinetには抽象データベースという機構があり、先日、そのPerlとRubyのバインディングをリリースしました。それを使うと、各種言語のハッシュとほぼ同じような共通したインターフェイスで、以下のデータ構造を利用することができます。 オンメモリハッシュ:各種言語に標準のハッシュと同じく、メモリ上でkey/valueの関係を表現する。 オンメモリツリー:メモリ上の二分探索木としてkey/valueの関係を表現する。 ファイルハッシュ:いわゆるDBMとして、ファイル上でkey/valueの関係を表現する。 ファ
WADLとは、RESTに適合したWebサービス仕様記述構文である。クライアントコードを作成するRuby用ライブラリーは http://www.crummy.com/software/wadl.rb から入手可能である。 例えば、以下のような内容のWADLファイルがあるとする。 <?xml version="1.0"?> <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://research.sun.com/wadl wadl.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ln="urn:loinc:ln" xmlns="http://research.sun.com/wadl/2006/10"
やはりテストの話題になって stubとmockの違いを1行で! 今のテストフレームワークのお薦めは? RRが熱いよ!(英語ぽく書くのが目的じゃない、rubyぽいdslが必要なんだ!) mock で should_receive でガチガチにサブオブジェクトに介入してくる人って何なの! duck type の考え方からしても、何をやるかは相手に任せるベッキー mock は探針であるべきだ stub しか使わないよね ごめん、俺、最近は実データ派に戻ってきたんだ(Fixtureラブ) Fixture はシナリオ別に使い分けるのが面倒じゃない? そこで FactoryGirl ですよ 何が嬉しいの? テストデータを ruby コードで動的に書きたいときがある それって、もし fixture を簡単に切り替えられる機能があれば不要じゃね? 動的なら YAML でゴリゴリ書く方法もあるし 切り替え、
Beta Book よくわからなくなったら Eratta をチェックしようhttp://pragprog.com/titles/achbd/errata Important Information for Beta Readers RSpec の開発者が書いてるから、本に載ってることはまだリリースされていない最新の機能。 注: 下のページを参照すると本に書かれている機能はすでに RSpec 等の最新版に取り込まれているようだ。http://wiki.github.com/dchelimsky/rspec/code-for-the-rspec-book-beta Introduction Test Driven Development は多くの開発者にとってむずかしいことがわかった。Dave Astels は有名な記事 "A New Look at Test Driven Developme
● [テスト] should change に見る UnitTest と RSpec の違い Yugui さんに Proc#should change が便利だと教わった。 Spec::Matchers::Change Spec::Matchers::Change を使うと、一連のコード(proc)実行時に変化したこと(仕様)を簡単に記述することができる。 should change(receiver, message, &block) should change(receiver, message, &block).by(value) should change(receiver, message, &block).from(old).to(new) should_not change(receiver, message, &block)
WebJourney用に新しく開発したCouchDB用のデータマッパー"CouchResource"ですが、ちゃんと公開しないとガラパゴスになりそうなので、RubyGem として利用できるようにしよう、と決心をして作業を始めました。 github のアカウントは作成済みである github でリポジトリを作る方法は知っている RubyGem の作り方は知らない 上記スペックの人間が、jewelerというgemの存在を知り、試用してみたら、[これはべんり]だったので記録しておきます。 続きを読む http://gems.github.com/ より。 gemspec のバージョンがあがったらgemをリビルドするよ! とあるので、gemspec の push とリリースはほぼ同じ作業と思った方がよいようだ。ということで release タスクというのがあるわけですね。
このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込みです。
_ IOU設計パターン というわけで(昨日の続き)、DDJJ 1996年10月号の『非同期設計パターン』だが、.NET Frameworkではそれらしきものが採用されているものの、そんなに広く使われているわけでもなさそうだ。 IOUパターンは、非同期IOを同期IOモデルのように、オブジェクトの利用者に見せかけるためのパターンで、非同期IOの結果をまるで同期IOのように、呼び出し側に返す。しかし、同期IOではなく、すぐに返す。 そのため、呼び出し側はお話にならないエラーはすぐに検出できる(これは同期IOでも同様。たとえばクローズ済みIOに対してメソッドを呼んだ場合)。 そうではない、たぶん、実行されるであろうIOについても、すぐに戻る。ただし、結果として返されるオブジェクトは、同期IOの場合と異なり、IOUオブジェクトだ。このオブジェクトは、筆者のAllan Vermeulenによって以下の
ついに発売されたスト4のコンシューマ機版をやりたくてしょうがないけど筐体を買ってもらえないので、駅前のゲーム屋のディスプレー前で垂涎するばかりのmikioです。今回は連載の最終回で、各種スクリプト言語を使ってお手軽にテーブルデータベースを操作する方法について説明します。 TokyoCabinet::TDB まずは、TCのPerlバインディングとRubyバインディングの最新版を入手してください。それぞれテーブルデータベースを扱うための TokyoCabinet::TDB というクラスが加わっています。以下のようなIDLによるガイドラインに準拠したインターフェイスが提供されますので、使い方は言語にかかわらず同じようになるはずです。 module TokyoCabinet { interface TDB { boolean open(in string path, in long omode);
GitHub では、gem パッケージを作成してくれる機能がある。 やり方: GitHub のプロジェクト管理ページから「edit」をクリックし、「RubyGem」のチェックボックスにチェックを入れる。 自分のプロジェクト用の *.gemspec ファイルを commit & push する。このとき、バージョン番号をあえて 0.0.0 にしておくことをお勧めする。 *.gemspec ファイルでバージョン番号を更新して commit & push する。← 重要! 成功すると、しばらくしたあとに http://gems.github.com/list.html に Gem 名が現れる。失敗した場合は自分宛にメッセージが届いているはずなので、それを読む。 それ以外にも GitHub での gem 作成はけっこうハマるポイントがある。ローカルでの gem 作成はまったく問題がなくても、Git
Flog shows you the most torturous code you wrote. The more painful the code, the higher the score. The higher the score, the harder it is to test. Run it against your best stuff. I double-dog dare you. Flog essentially scores an ABC metric: Assignments, Branches, Calls, with particular attention placed on calls. Run flog on all your code. Try this: find lib -name \*.rb | xargs flog Whatever is at
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く