This domain may be for sale!
■ [ruby] Rubyのテスト環境大戦争 おまいらは本当にテストが好きだな!というわけで、Rubyのテスト関係のライブラリを並べてみた。 テストフレームワーク Test::Unit Ruby標準添付のユニットテスト用フレームワーク。 RSpec DSLを使う、「BDD」という概念を流行らしたユニットテスト用フレームワーク。 Cucumber 自然言語を使って、ブラックボックステストを記述する。RSpecの「Stories」と呼ばれていた機能が独立した。 あとはShouldaとかbaconとかいろいろありますけども。 モック・スタブライブラリ モック=あるオブジェクトに期待したメッセージが飛ぶかどうかテストするためのオブジェクト、 スタブ=ネットワークが絡むとか、実際のオブジェクトが使えない場合に使う偽オブジェクト。 と思ってるんですけどどうなんですかね(more: モックとスタブの違い
Amazonの商品はAPIを介して簡単に取得できますが, 取得した情報はキャッシュ目的以外でローカルに格納してはいけない, などの制約がある. なのでどんな風に書けばいいかメモ. あと毎回APIを介していては遅くなるのでmemcachedを使う(キャッシュ目的なのでOKなはず). まずAmazonのAPIに簡潔にアクセスできるRubyGemsを入れる. $ sudo gem install amazon-ecs次にRailsのconfigの中身を書き換えておく. # config/environment.rb config.gem 'amazon-ecs', :lib => 'amazon/ecs' # config/initializers/amazon_ecs.rb Amazon::Ecs.options = { :aWS_access_key_id => 'APIを使うために必要なア
先日Railsの画面にQRコードを表示するサンプルはつくったんだけど、いかんせん出力がHTML+CSSなので汎用性に欠ける。 QRの画像データを出力する物で使いやすいのはないかな、と探してみたんだけど見当たらなかったのでRMagickで作ってみた。 例によって作成した時点の環境は以下の通り。 Ruby 1.8.7 P160 rqrcode 0.3.2 rmagick 2.9.2 ImageMagick @6.4.4-3_0+q16 (MacのPortインストール) 以下が作成したモジュール require "rubygems" require "rqrcode" require "rmagick" module QRImage include Magick def create_qr(str,opt={}) # コード作成用定数 opt[:size] ||= 4 opt[:level] |
毎週月曜の革新的ネットサービスという授業でTAをやっている。学生のかわいいFBIみたいな人にRubyって書くの楽でいいですねと言われたので、Rubyを使い始めて1年の俺がよく使うモジュールについてメモを書いておく。 役立てて欲しい。 大抵はgemでインストールできるか、標準で入っている。 使い方はこのblogの中を検索するなどしてほしい(右上からできる) あとはRubyは文字列や配列、Hashを扱う機能が充実していて良い。 open-uri requireするだけで open("http://example").read などでwebページをファイルと同じように開ける 標準で入ってる kconv requireするだけで "こんにちは".toutf8 や toeuc などで文字コード変換できる 標準 mecab 日本語の品詞を判定、分かち書き activerecord かんたんなSQLのラ
Ruby on Railsでの開発もラクラク! - RubyMineとは RubyMineはJetBrains社が提供する、Rubyアプリケーションの開発に特化したIDEだ。2008年11月27日(ロシア時間)にRubyMine build 500のパブリックプレビュー版が公開された。以後バージョンアップを重ね、去る4月9日(米国時間)に満を持してRubyMine1.0となった。 主な機能は次のとおり(RubyMine Overviewより抜粋)。 Intelligent Editor: コード補完、コードスニペット・自動リファクタリング Project Navigation: 幅広くプロジェクトを見渡せ、1クリックでジャンプ Error-Free Coding: オンザフライでのコード解析・型推論 Web Development: Ruby on Railsに特化した編集機能 そのほか、
2009/05/12 米新聞社大手のニューヨーク・タイムズは5月11日、Rubyによる大規模分散処理のツールキット「Map/Reduce Toolkit」(MRToolkit)をGPLv3の下にオープンソースで公開したと発表した。MRToolkitは、すでに稼働しているクラスタ上のHadoopと合わせて使うことでRubyで容易にMap/Reduce処理を記述することができる一種のラッパー。処理自体はHadoopが行う。すでにHadoopを使っているユーザーであれば、中小規模のプロジェクトに対して、すぐにMRToolkitを適用可能としている。 デフォルトで有用なMap、Reduceの処理モジュールが含まれていて、数行のRubyスクリプトを書くだけで、例えば膨大なApacheのログからIPアドレス別の閲覧履歴をまとめるといった処理が可能という。独自にMapやReduceの処理を定義することも
フルスタックがウリのRails。そこまで必要ないよ。と、ERBでゴリゴリ。メンドクセー。やっぱ、Railsで。などと、陽はまたのぼりくりかえしてーゆく。RubyのWebフレームワークは他にもあるけど。。軽くていいんだ。PHPを使いたくないだけなんだ。 そんな悩ましさを解消してくれるフレームワークを発見してしまいました。「Sinatra」でございます。こいつは、軽そうだ。 Sinatra サイトのトップページに書かれているコード。これが、サクサク感をかもし出してくれています。 require 'rubygems' require 'sinatra' get '/hi' do "Hello World!" end 説明読まなくても解るよ、これ。 日本語の解説スライドがあります。よく解る解説ー。 公式サイトのREADMEを読めば、だいたいOK。 Sinatra: README パラメータを取得し
以前作った、横浜市立図書館の予約/貸し出し情報を取得可能なサービスのREST化を進めています。 フレームワークとしては、sinatraを採用。 localhostで実験中ですが将来的にはGoogle App Engineで公開予定。 いま悩ましいのは図書館のIDとパスワードの扱い。 httpsにしてGETパラメータで渡そうと思ったけど、sinatraでのGETパラメータのハンドルの仕方がわからない。 仕方ないので、ID、パスワードをURLのに含める形で実験中 #!/usr/bin/env ruby -Ku require 'rubygems' require 'sinatra' require 'rexml/document' require 'YokohamaLibrary' get '/yokohama/*/*/borrowedlist.xml' do id = params["spl
rails APPNAME -m http://gist.github.com/103256.txtいろいろまとめてプラギン化した上で、アプリケーションテンプレートもご用意致しました。瀧内さんとこ参考にRailsをjarにまとめてあるのでファイル数制限も余裕で回避。あれこれ結構がんばった。 GAE/Jのアカウントが手に入ったみんなはコレ使って遠慮なくGoogleクラウドでRailsすればいいと思う。手に入ってない人も今のうちに開発サーバーで動かしとけば、5月末のGoogle I/Oできっと一般公開されるよ。 てことで以下手順。 必要なライブラリを入れる GAE/JのSDKとJRubyとRailsとWarblerは流石に事前に必要。この辺参考にどうぞ。すでにこれらが入ってる人はもちろん飛ばしてよし。 一応参考までに自分では試さずに書くけど、多分こんな感じ。 $ svn co http://s
はじめに 第7回はRails以外のWebフレームワークの簡単な紹介と、SinatraでHello Worldアプリケーションを動かすところまでを解説しました。今回はSinatraで実際のアプリケーションを作り、SequelとHamlという2つのライブラリを紹介します。 Sinatraの特徴は、CGIスクリプトのようにファイル一つからアプリケーションが書ける気軽さです。CGIスクリプトといえば、代表的なものは何と言っても掲示板(BBS)です。そこで、今回はSinatraで掲示板アプリを作ってみました。ソースコードが少し長めなので、githubにて全文を公開しています。適宜参照しながら読み進めて下さい。ファイル構成は以下のようになっています。 start.rb アプリケーションの本体。 model/comment.rb 掲示板の書き込みを表すモデルの定義。 view/index.haml トッ
Schemeのシェルがありますが、こちらについては後述。WindowsにはPowerShellという.NETなシェルがあります。今回は、Rubyのシェル「rush」です。これも以前からたくさんのブクマがついていてい、いまさら感でいっぱいですが。 No such app 「UNIXのコマンドラインと同じことがすべて行えるirb」だそうな。 トップページに載っている例を2つほど。 普通は、こう。 find myproj -name \*.rb | xargs grep '^\s*class' | wc -l rushだと、こう。 myproj['**/*.rb'].search(/^\s*class/).lines.size 普通は、こう。 kill `ps aux | grep mongrel_rails | grep -v grep | cut -c 10-20` rushだと、こう。 p
マイミクシィ最新日記のタイトル一覧を取得するため、[Ruby]mixiにログインするプログラムのMixiクラスに以下のメソッドを追加した。 def getNewDiaryTitles() http = Net::HTTP.start('mixi.jp') response = http.get('/new_friend_diary.pl', 'Cookie' => @cookie) body = response.body.toutf8 titles = Array.new body.scan(/<a href="view_diary.pl\?id=(\d+)&owner_id=(\d+)">([^<]+)<\/a>/){|id, owner_id, title| titles << title } return titles end 使い方は以下の通り mixi = Mixi.new m
¡¡Ruby ¤Ç Amazon Web Service(AWS) ¤ò»È¤¦¤¿¤á¤Î¥á¥â¤Ç¤¹¡£ ¡¡2008/03/28¤Ë¤Á¤ç¤Ã¤È½¤Àµ¡Ê¸Å¤¤¾ðÊó¤òÀ°Íý¤·¤¿¤Î¤È¡¢¡Ö¤Û¤·¤¤Êª¥ê¥¹¥È¡×¤Î¼èÆÀ¤Î¤·¤«¤¿¤òÄɵ¡Ë ¡¡ Æ°µ¡ ¡¡Ruby ¤Ç Amazon¤Î¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢¤¹¤Ç¤ËRuby/Amazon¤È¤¤¤¦¥é¥¤¥Ö¥é¥ê¤¬¤¢¤Ã¤Æ´Êñ¤Ë°·¤¨¤ë¤ó¤Ç¤¹¤¬¡¢¥é¥¤¥Ö¥é¥ê¤Ê¤·¤Ç¤â´Êñ¤ËÆ°¤¯¤â¤Î¤ò¼«Ê¬¤Çºî¤í¤¦¤È»×¤¤¤Þ¤·¤¿¡£ ¡¡¤·¤«¤·¡¢¤Ê¤¼¤«°Õ³°¤È¥Í¥Ã¥È¤Ë¾ðÊó¤¬Íî¤Á¤Æ¤¤¤Ê¤¤¤ó¤Ç¤¹¤è¤Í¡£Amazon¤ÎWeb Servic
http://rubyforge.org/projects/nicovideo/ 昨日の記事で書いていたRubyforgeへの登録の件が完了したので、gemコマンドでインストールできるようになりました。 # gem install nicovideo初めてのRubyforgeへの登録なのでなんとなく嬉しいですが、しっかりメンテナンスもしていかないといけないですね。 ※ソースコードはCodereposで公開しています。 更新履歴 2009/05/01 version 0.1.8 マイリスト追加機能の追加(nicovideo gemにマイリスト登録機能を追加した。 - YaSuYuKiの日記(nicovideo出張所) - ニコニコ部) & 動作しなくなっていたメソッドの修正 2008/10/09 version 0.1.7 ベースタイトルを夏→秋 への修正 2008/07/23 versio
織田信長 ぼちぼち、元気にやっています。少し薬にも慣れた...んかなぁ。相変わらず食べられないけど。朝、指がこわばって文字なんて入力できなかったけど、それはほぼなくなった。関節もどこも痛くない。薬効いてきたんやろな。 で、ブログを書こうと言う気がまた起きてきた。 …
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く