タグ

ブックマーク / shibason.hatenadiary.org (6)

  • Twitter Streaming APIをRubyで試してみる - しばそんノート

    Streaming APIとは TwitterのStreaming APIをご存知でしょうか。 Twitter API Wiki / Streaming API Documentation 2009年4月頃から試験的に公開されているAPIなので、ご存知な方も多いと思います。2009年8月現在でまだαテスト中ですが、これを利用すると、push型でリアルタイムに情報を受け取ることができます。 TwitterAPIは基的にpull型なので、クライアントが能動的にリクエストを発行しなければ情報を受け取ることができません。しかし、1時間あたりのリクエスト回数、1リクエストあたりの最大データ数など、APIには様々な制限がかけられていますので、例えばリアルタイム性の必要なプログラムや、大量のtweetsが必要な統計プログラムなどの用途で通常のAPIを利用するのは厳しいものがあります。 そのような時は

    Twitter Streaming APIをRubyで試してみる - しばそんノート
  • OAuthコンシューマの仕組みと実装 〜 Ruby編 - しばそんノート

    前置き 前回の記事でOAuthを使ってTwitter APIにアクセスすることができるようになりましたが、ruby-oauthは内部でNet::HTTPを呼び出しているため、そのままではGoogle App Engine for Java上のJRuby(以下JRuby for GAE/J)で利用できません。 「JRuby for GAE/JでもNet::HTTPが使えるようになる」というrb-gae-supportと組み合わせればOKなのかもしれませんが*1、OAuthの仕様自体はシンプルなものですし、せっかくなので勉強がてら自分で実装してみることにします。 車輪の再発明おいしいです!*2 ちなみにタイトルにRuby編と付いていますが、他の言語編を作成する予定は特にありません。 OAuthの仕様 実装の前にOAuthの仕様や、そもそもの成り立ちについて調べました。既にわかりやすいまとめ記事

    OAuthコンシューマの仕組みと実装 〜 Ruby編 - しばそんノート
    iR3
    iR3 2010/10/23
  • GAE/JRubyで開発サーバを使わずに単体テストする方法 - しばそんノート

    前置き Google App Engine for JRuby(以下GAE/JRuby)*1で開発をするにあたって不便に感じるものの一つに、単体テストのし難さがありました。 開発サーバ(dev_appserver)って起動するまでに結構時間がかかるので*2、少し修正を加えるたびに開発サーバを立ち上げ直すのも地味にストレスが溜まるんですよね…。そもそもサーブレットの中で単体テストを書くという行為自体が非効率的だと言わざるを得ません。 そんなわけで、なんとか開発サーバに頼らずに単体テストを行う方法がないものかと思っていたら…。 普通にGAEの公式ドキュメント中に解説がありました。初めからちゃんと読んでおけって話ですね…。 ローカル サービスの実装でのユニットのテスト - Google App Engine - Google Code どうやらGAE/Jの提供する各サービスの肩代わりをしてくれる

    GAE/JRubyで開発サーバを使わずに単体テストする方法 - しばそんノート
  • appengine-jrubyで簡単GAE/JRuby開発 - しばそんノート

    少し前のエントリで、GAE/JRuby上でRackアプリを動かす手順を書きました。 Google App Engine上でRubyアプリを動かす手順 - しばそんノート このときの手順は、Java SDKをインストールして、GAE SDKをダウンロードして、jruby-complete.jarをコンパイルして…と、やや煩雑なものでした。この当時はおそらくこれが一般的な手法だったのではないかと思います。 しかし、今や時代は変わりました。今GAE/JRubyでRackアプリを作るのに必要な作業は、たったひとつのgemのインストールだけです。 GettingStarted - appengine-jruby - Getting Started with JRuby on Google App Engine - Project Hosting on Google Code 有志によってGAE/JR

    appengine-jrubyで簡単GAE/JRuby開発 - しばそんノート
    iR3
    iR3 2010/03/12
  • Google App Engine/JRubyでTwitterの自動フォロー返し - しばそんノート

    先日Google App EngineのSDKが1.2.6にバージョンアップし、アプリケーションがメールを受信できるようになりました。 Google App Engine Blog: App Engine SDK 1.2.6 Released with Incoming Email, App Deletion, and more! Twitterの自動フォロー返しを実現するには、おおまかに分けて フォロー通知のメールを受信したタイミングでプログラムを呼び出す 定期的にメールサーバにフォロー通知メールを確認しに行く 定期的にfollowingとfollowersの差分をチェックする という3パターンがあると思います。 GAEのメール受信機能を使えば、この中の1番が手軽に実現できそうです。 ということで、ごく簡単な自動フォロー返しの仕組みをGAE/JRubyで作ってみました。 下準備 GAE/

    Google App Engine/JRubyでTwitterの自動フォロー返し - しばそんノート
  • SequelのTipsのようなもの - しばそんノート

    Rubyにおける軽量なデータベースツールキットとして、なかなかお手軽なSequelですが、実際に使うにあたっていくつか悩んだポイントがあったので、備忘録としてその解決法をメモしておきます。 なお、この記事はRuby 1.9.1p378とSequel 3.8.0の組み合わせを対象として書いています。 モデルの定義前にDB接続をしたくない SequelにもActiveRecordパターンに基づいたモデルの仕組みが用意されていますが、「モデルを定義した時点でデータベースへの接続が存在していなければならない」という制約があります。 つまり、 require 'sequel' Sequel.connect('sqlite://test.db') class User < Sequel::Model; end p User.all は動きますが、 require 'sequel' class User

    SequelのTipsのようなもの - しばそんノート
    iR3
    iR3 2010/03/12
  • 1