タグ

rubyとRubyに関するt9aのブックマーク (390)

  • Plugins - Open Id Authentication - Agile Web Development

    Provides a thin wrapper around the excellent ruby-openid gem from JanRain. Be sure to install that first: gem install ruby-openid To understand what OpenID is about and how it works, it helps to read the documentation for lib/openid/consumer.rb from that gem. Prerequisites OpenID authentication uses the session, so be sure that you haven’t turned that off. It also relies on tmp/openids being prese

    t9a
    t9a 2010/08/11
  • Pusher | HTML5 WebSocket Powered Realtime Messaging Service

    Powering realtime experiences for mobile and webBi-directional hosted APIs that are flexible, scalable and easy to use. We create and maintain complex messaging infrastructure so you can build the realtime features your users need, fast. Bi-directional hosted APIs that are flexible, scalable and easy to use. Get started today and find out what you can build with Pusher

    Pusher | HTML5 WebSocket Powered Realtime Messaging Service
    t9a
    t9a 2010/08/09
  • RailsサーバUnicornを飼いならす! 運用時の便利技 « BPS株式会社 開発ブログ Beyond Perspective Solutions LTD.

    伊藤です。 前回ブログで紹介したRailsサーバUnicornくんを運用し始めて結構時間が経ちました。 サービスを落とさないであるとか、システムの安定性を確保するために、 ちょっとしたユーティリティを作ったり監視ソフトMonitの設定を行ったりしていました。 みなさんのお役に立つかわかりませんが、弊社でUnicornと組み合わせて運用に利用しているツールや設定をブログに掲載してみたいと思います。 もっといいやり方がありましたら、ぜひコメント欄でご紹介頂ければと思います。 ダウンしたら自動的に再起動 これはMonitで行っています。 もちろん同内容の監視ツールGodでも可能だと思いますが、以前設定した経験があって設定が楽そうだったので、Monitでやってみました。(事実楽でした) check process unicorn with pidfile "/path/to/rails/t

    t9a
    t9a 2010/08/03
  • LoveRubyNet Wiki: RubyIteratorPattern

    2004-01-25 21:29:41 +0900 (1713d); rev 2 Ruby のイテレータを典型的なパターンに分類した。 繰り返し型 典型的な実例は Array#each、Hash#each、String#each_byte など。 最もありがちなイテレータの使いかた。 コレクションオブジェクトの各要素について順番にアクセスしていくときに使う。 また、Array#each_index や Integer#upto のように、 必ずしも「要素」でないオブジェクトに対して繰り返すこともある。 [実装例] class SomeCollection1 def each list = @list while list yield list.value list = list.next end end end class SomeCollection2 def each(&block)

    t9a
    t9a 2010/08/03
  • 「=>」の読み方、Rubyでは「hash rocket」、Javaでは「fat arrow」、C++では「goes to」 - Servlet Garden @はてな

    プログラムやコマンドの使い方を言葉で、たとえば電話越しで説明しないといけない状況に陥ったときにハタと困ったんですよ。「これ、どう発音すれば相手はわかってくれるのか‥?」と。プログラムと言えば、{}だの、^だの、なんとも言い表しがたい記号があちこちに散在しています。調べてみたら、こんなブログがありました。英語のネイティブスピーカでもけっこう困っているんですねぇ。 » Coding Horror 冒頭には "I responded with a single line of Ruby to do the same, and a single line of Lisp." "He wrote back: "Underscores, pipes, octothorpes, curly braces -- "、、、"What the heck is an octothorpe?" とあり、笑えます。

    「=>」の読み方、Rubyでは「hash rocket」、Javaでは「fat arrow」、C++では「goes to」 - Servlet Garden @はてな
    t9a
    t9a 2010/08/03
  • gren - 次世代grepを目指したコマンドラインツール - おんがえしの blog

    grenはgrepの置き換えを目指して作ったコマンドラインツールです。 以下のような特徴を持っています。 特徴 基はfind+grep 指定ディレクトリ以下にある全てのファイルの中身を調べます。 gren 検索文字列 [検索するディレクトリ] でOKです。 ユーザーが指定する項目を最小限に バイナリかテキストかをツールが自動で判断します *.rbや*/*.cppのような指定は必要ありません README,README.jaのような特殊な拡張子でも検索対象に含めます .pngや.exeの中身は調べません。 デフォルトで除外ディレクトリが設定されています * *~, .svn, .git, CVS等は探索対象から除外します 便利な検索結果 検索を開始したディレクトリ(Path)、かかった時間(Time)、ファイル数(Files)、ファイルサイズ(Size)、マッチしたファイル数とヒット数(M

    gren - 次世代grepを目指したコマンドラインツール - おんがえしの blog
    t9a
    t9a 2010/08/03
  • Cucumber入門(2) Cucumberの構成

    前回の続き Cucumberは巨大で多くのコンポーネントの集合体です。また構成もいくつか種類があり、試験対象のアプリケーションによって時に構成を変える必要があります。今回はCucumberの構成についてまとめ、選択肢について簡単に解説していきたいと思います。 まずはCucumberの依存関係を覗いてみましょう。アウトラインを把握するだけのためで、構成の選択肢とは関係ありません。 $ gem dependency cucumber --version 0.6.2 --remote Gem cucumber-0.6.2 term-ansicolor (>= 1.0.4, runtime) #標準出力に色をつける treetop (>= 1.4.2, runtime) #Ruby用の構文解析器生成系の一つ polyglot (>= 0.2.9, runtime) builder (>= 2.1.

  • 第3回coffee.rb - acceleration.rb

    20100801 coffeerb 3杯目 今回はcoffeerb初主催! 万葉さんを借りての開催となりました。 毎度のごとくマッタリ系Ruby勉強会 id:t-wada さんのエントリー RSpec の入門とその一歩先へ、第3イテレーション - t-wada の日記(旧) のβテスターという名のリアルタイム写経。 気になったところはすぐ聞ける。 itsのバグの話とか面倒で調べてなかったんだけど id:t-wada さんが共通認識で安心した。 今回はits,haveマッチャがメインの話 第1、2イテレーションにでてることだけでも実現できるけど Rubyらしく、RSpecの機能をフル活用しての第3イテレーション 大事なのは可読性 subject { [1, 2, 3] } it { [1, 2, 3].size.should == 3 } #(1) it { subject.size.sho

    第3回coffee.rb - acceleration.rb
    t9a
    t9a 2010/08/01
    coffee.rb
  • Steak: because Cucumber is for vegetarians!

    Capybara has an RSpec DSL now, allowing you to steak-acceptance testing without Steak. Be sure to read Acceptance testing using Capybara’s new RSpec DSL too. I’m not going to tell you why you should write acceptance (or integration) tests, but you should. I used Cucumber for a while now and I love it, but I think writing my tests in a business-readable domain-specific language and translating them

  • RSpec の入門とその一歩先へ、第3イテレーション - t-wada の日記(旧)

    和田 卓人(@t_wada) 作『RSpec の入門とその一歩先へ、第3イテレーション』はクリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスで提供されています。 大きく時間が開いてしまいました(すみません…)、RSpec 入門の第三イテレーションです。 (第3回 coffee.rb の開催に合わせたライブ更新で書かれましたので、まだ詳細の説明は途中のところもあります。) 第1イテレーション 第2イテレーション 前回終了時点のコードと実行結果 この「RSpec 入門とその一歩先へ」シリーズでは、メッセージフィルタを RSpec を使って開発することで、 RSpec の機能と TDD を同時に学ぶことを狙いとしています。 前回終了時点のコードと実行結果をまず記します。 message_filter.rb class MessageFilter def initialize(*w

    t9a
    t9a 2010/08/01
    coffee.rb 楽しく学べました
  • OpenIDを実装したソースコードを読もう (3/3)- @IT

    OPとして動作するために必要な実装は、RPを実現するのに比べて非常に複雑です。認証情報を管理するだけでなく、多くの処理が必要となります。 今回は、正常系の流れの中でも、SKIP独自の部分を中心に見ていくことで全体像をつかみましょう。 SKIPのOP部分は、masqueradeというRailsで作られたオープンソースのOP実装のソースコードを参考に実装しました。このmasqueradeというアプリケーションは、OpenID ver2.0のプロバイダとしての基機能を備えているもので、そこから必要な部分を切り出しながらSKIPのOP実装は行いました。 OPとしての動作の流れは、前節のSKIPをRPで動作させた場合と同じになります。その流れの中の、例えばmixiが行ったOPの部分を、SKIPで作り込んだと考えてください。 任意のRPで認証を求められた際に、OPであるSKIPにリダイレクトされてき

    t9a
    t9a 2010/08/01
  • Rails 3.0 beta4でDeviseを使ってOpenID認証 - 2010-07-13 - ククログ

    とあるRails 3を使っているたいやき用のCMSでDeviseを使ってOpenID認証をするようにしたので、そのやり方を紹介します。RubyRuby 1.9.2 RC2も出ていますが、今回はRuby 1.9.1を使います。 Deviseとは DeviseはRackベースの認証システムです。バックエンドにWardenを利用しているため、Basic認証やOpenID、OAuthなど認証方法を切り替えることができます。 ただ、以下の説明を読んでみてもらってもわかる通り、動き出すまでにそこそこの作業が必要になります。機能は豊富なので、動き出したらカスタマイズしてアプリケーションの要求に合わせていくことができるでしょう。日語での情報もあまりありませんが、探せばいくつかはあるので、試してみてはいかがでしょうか。 とはいえ、今回はDeviseのデフォルトの認証方法ではなく、OpenIDでのみ認証す

    Rails 3.0 beta4でDeviseを使ってOpenID認証 - 2010-07-13 - ククログ
    t9a
    t9a 2010/08/01
  • http://japan.internet.com/developer/20080627/26.html

  • Ruby + Twitter + OAuth サンプル - みじんこ日記

    セメントドリンク、ブラウン管、吊るされた収納、OMORIカフェ、くり抜き、どや顔の初音ミク パチミラ福岡に出演する縁で博多に行きました。 楽しかったのでその時の写真をアップロードします。 博多駅のハートポスト 手描きのグリッチ カニの丸揚げ(おいしかった) フレッシュセメント という名前の飲み物(おいしかった)ごま+バナナスムージーっぽかった? 泡系…

    Ruby + Twitter + OAuth サンプル - みじんこ日記
    t9a
    t9a 2010/08/01
  • 『メタプログラミングRuby』発売前

    @yukihiro_matz Rubyを「知ってるつもり」の人にお勧めな「Metaprogramming Ruby - Masatomo Nakano Blog: http://bit.ly/ckw1xK -- もうすぐ日語訳が出ます。 @kdmsnr 鋭意作業中デス。 RT @yukihiro_matz: Rubyを「知ってるつもり」の人にお勧めな「Metaprogramming Ruby : http://bit.ly/ckw1xK -- もうすぐ日語訳が出ます。 @kdmsnr 『Metaprogramming Ruby』は著者がRubyKaigi2010で講演します。それまでには翻訳を出せるようにしたいと思います。 → A Metaprogramming Spell Book, Paolo "Nusco" Perrotta

    『メタプログラミングRuby』発売前
    t9a
    t9a 2010/08/01
  • Apache+RailsのPassengerが無事にインスコ出来ましたので、インストール手順を出来るだけわかりやすくエントリーします。 - web新参

    以下のエントリーはPassengerのインストール手順になるので、「RubyRails、Gem、Rake」などのインストール方法については他の方のブログを参考に行ってください。 インストールを行ったディストリビューションはFedoraとCentOSの2つで、DBSqliteを使用する事にします。 結論として当然ですが、問題無くインストール出来ました。Apacheなのでサクサク動きます。 rubyなどのバージョンは同じ(2010/01現在の最新版)です。 基的にオレンジの項目に沿ってインストールを行います。 もし、問題が発生した場合は青の項目を参考にしてください。 それでは、最初に現状把握。 コマンドとバージョンの確認 # ruby -v ruby 1.9.1p376 (2009-12-07 revision 26041) [i686-linux] #rails -v Rails 2.

    Apache+RailsのPassengerが無事にインスコ出来ましたので、インストール手順を出来るだけわかりやすくエントリーします。 - web新参
    t9a
    t9a 2010/08/01
  • RubyでGoogle Waveのロボットを作れるライブラリ作りました - ずっと君のターン

    http://github.com/technohippy/ruby-wave-robot-api 今年のGoogle I/OでGoogle Waveのロボットプロトコルが公開されたので、ちょっと待ってればいろんな言語のライブラリが出てくるのかなーと思ったら全く出てこなくて*1、待ちきれずRuby版を自分で作ってみた。んで、考えて見ればv2対応した自家版ロボットライブラリって初かもしれないので「どやっ」って感じでGooge Waveのフォーラムで公開したらほぼ相手にされなかったから、ションボリしつつここで自分で紹介することにする。 サンプル サンプルコードはいまのところこんな感じ。もうちょっと動いたら糖衣メソッド作って使いやすくするつもり。 require 'rubygems' require 'sinatra' require 'waveapi' robot = Waveapi::Rob

    RubyでGoogle Waveのロボットを作れるライブラリ作りました - ずっと君のターン
  • 業界初のツイッターbot自作マニュアル 「誰でもできるTwitterBotの作り方」 : アキバBlog

    萌え日刀・萌えナチス・萌え源氏物語・萌え体位・萌えSMグッズなどを出してるイーグルパブリシングから、業界初を謳うツイッターbot自作マニュアル「誰でもできるTwitterBotの作り方」【AA】が23日に発売になった。『タイムラインに生きる自分だけの一次元彼女を作る!』、『テンプレで作る最強のBot作成マニュアル』になってる様子。 萌え日刀・萌えナチス・萌え源氏物語・萌え体位・萌えSMグッズなどを出してるイーグルパブリシングから、業界初を謳うツイッターbot自作マニュアル『誰でもできるTwitterBotの作り方』が23日に発売になった。 「誰でもできるTwitterBotの作り方」【AA】は、イーグルパブリシングのブログの7月新刊案内では『業界初!ツイッターbot自作マニュアル!!』・『プログラミングの知識がいっさい無い人でも大丈夫!』を謳い、オビには『日初!!OAuth認

    t9a
    t9a 2010/07/25
  • Imlib2でImageMagickより3倍高速かつ美しいサムネイル画像の生成 - 昼メシ物語

    この記事の概要 Imlib2を使って画像のサムネイルを生成してみたところ、ImageMagickより3倍速かった。 また一般的には、Imlib2の方が画質が悪いとされているが、パラメータを調整することで、十分に美しいサムネイル画像を得ることができた。 はじめに Imlib2は画像処理ライブラリ。mixiの発表資料大規模画像配信とPerl によれば、mixiは高速に高品質なサムネイルを生成するために、ImageMagickでなくImlib2を選んでいる。 上記資料の中では、以下のように説明されている。 速度 Epeg > Imlib2 > Imager >>> ImageMagick 画質 ImageMagick > Imlib2 >>> EpegImlibの画質は多少ImageMagickに劣るが、速度は十分に速い、とのこと。 一方で、404 Not Foundという記事では、ImageM

    t9a
    t9a 2010/07/25
  • WebSocketでブラウザにプッシュ配信する - MessagePack-RPC+Rev-WebSocket - Blog by Sadayuki Furuhashi

    先日、WebSocketのサーバライブラリ Rev-WebSocket をリリースしました。 前回のエントリではブラウザ同士で通信するチャットアプリケーションを紹介しましたが、実際にはTwitterクローラやWebアプリケーションなど、別のプログラムと連携してブラウザにプッシュ配信したくなると思います。 つまり↓このように、任意のプログラムからWebSocketサーバを経由して、ブラウザにデータをプッシュ配信します: プッシュ配信したいアプリケーションと WebSocket サーバの間は MessagePack-RPC で繋ぎます。 Rev-WebSocket と MessagePack-RPC は相性が良く、簡単に統合することができます*1。 アプリケーションから WebSocket サーバを経由してブラウザにデータを配信するコードは、↓このようになります。 require 'rubyg

    WebSocketでブラウザにプッシュ配信する - MessagePack-RPC+Rev-WebSocket - Blog by Sadayuki Furuhashi
    t9a
    t9a 2010/07/22