Ruby

DataMapperを使ってみる

DataMapper (Ruby向けO/Rマッパー) 以前使ったことがあるものの、最近のバージョンは触っていないので改めて試してみました。動作環境 Ubuntu 12.10 (32ビット版) Ruby 1.9.3-p392 DataMapper 1.2.0 DataMapperのインストール DataMpper 1.2.0 リリースノー…

(メモ) Google APIを呼び出すためのOAuth 2.0認可処理

まだちゃんと動くところまで行っていませんが、現時点までの作業メモ。目的は、Google Calendar APIを用いたWebアプリ (スケジュール入力支援) をRuby on Railsで作ることです。 Google APIにはRuby用のクライアントライブラリも提供されていることもあり、A…

GCM登録用サーバの製作

前回製作したGCM (Google Cloud Messaing) のサンプルでは、スタンドアロンで動くRubyスクリプトからメッセージを送信していました。本来期待されるべき作りとしては、以下のような機能を持つサーバアプリケーションが必要になります。 GCMサーバからAndroid…

ブラウザから送出されるWebSocketハンドシェイクを取得

WebSocketプロトコルとRubyのTCPServerのお勉強を兼ねて、WebブラウザからWebSocketサーバへの接続時に、ブラウザが送出するハンドシェイクの内容を取得してみます。参考情報: 1.WebSocket仕様解説 実装WebSocketクライアント対応プロトコルバージョン確認…

OAuth認証メモ

過去日記では書いていなかったので、復習を兼ねてRubyのoauthライブラリを使ったOAuth認証+Twitter APIの呼び出しを試してみます。 FacebookやGoogle系のAPIはOAuth 2.0が採用されているようですが、Twitter APIではまだAuth 1.0のみ正式対応なので、今回は…

icalendarでGoogle Calendarのイベント情報を抽出する

Google Calendarに登録したイベント情報を、再利用のために抽出することを考えます。 Google Calendar Data APIを使う方法もあるようですが、ここではiCalendar形式でエクスポートしたカレンダー情報を、Rubyのicalendarライブラリを用いて抽出する方法を取…

GUIツールキットShoesをUbuntuで動かしてみる

このエントリは「Ruby Advent Calendar jp: 2010」の20日目です。前日の記事はkwappa.856さんの「冗談で作ったrubygemsを「Pebbles」モジュールに押し込める」でした。明日はyuunyanさんの予定です。 はじめに RubyでGUIアプリケーションを書くのは比較的マ…

Hello, dRuby

特に利用目的はありませんがdRuby触ってみます。単に1台のマシン上で動かすのでは面白くないので、C RubyとJRubyの間でのプロセス間通信も試してみます。 動作環境 Ubuntu 10.10 (32bit) on VMware Player 3.1.3 on Windows 7 Ruby 1.9.2-p0 (以下CRuby) JRu…

RubotoによるRuby Androidスクリプティング環境

RejectKaigi2010発表資料の文章版です。Android側の実行環境はNexus One, Android 2.2です。 動機 Google Developer Day 2010のDevQuizで出題されていたPac-Manのシミュレータをいろんな人が公開しているのを見て、こんなのがAndroidでさっくりと動かせたら…

Rubyによる実用Androidスクリプティング (RejectKaigi2010発表資料)

8/27(金)-29(日)に開催された日本Ruby会議2010に参加して、せっかくなのでRejectKaigiに急遽エントリーしてしゃべってきました。 大したネタではないですが、発表することに意義があるという精神で。Practical Android scripting with RubyView more present…

Twitterのuser_timelineから新着発言を取得して別サーバにPOST

Twitterに投稿した自分の新着発言を取得して、何らかの処理を行うことを考えます。「はてなブックマークWeb Hook」のように、発言が投稿された時点でTwitter側からこちらの指定したURLを呼び出してくれれば都合が良いですが、そんなものはないので、cronで定…

DevFestクイズ答案: 漢字変換マシン

なんかもうすっかり時期を逸した感じですが、せっかくなので、ほぼas-isで答案晒します。 動作環境 Ruby 1.8.7-p243 RubyGems 1.3.5 Sinatra 0.9.4 WebサーバとしてWebrickを直接使うのと大差ないとは思いますが、一応Sinatraを使っています。 require 'ruby…

メモ: るりまのローカル環境へのインストール

Rubyリファレンスマニュアル刷新計画 (通称るりま)、普段はWebからオンラインで参照していますが、地下などのオフライン環境で参照できるように、ローカルのPC上にインストールして閲覧環境を構築してみました。 作業環境 Ubuntu Linux 9.10 apache2 (Ubuntu…

DevFestクイズ答案: 暗号通信

回答が締め切られたので解禁と解釈して、Google DevFest 2010 Japanの参加に必要なDevFest Quizへの回答用に作成したコード (を多少整形したもの) を晒してみます。 この記事は「暗号通信」への回答です。ポイントは以下の2点。 String#tr を使って、プレイ…

ruby-openid付属のサンプル実行

ruby-openid (OpenIDのRuby用ライブラリ) のインストールと付属のサンプルを試してみたので、動かすまでの作業をメモっておきます。 動作環境 Mac OS 10.6 (Snow Leopard) Ruby 1.8.7-p248 RubyGems 1.3.5 Ruby on Rails 2.3.5 インストール ruby-openidはRu…

irbの日本語入力問題への対処

最近のMacOSでは最初からRubyが入っている (いつからかは知らない) ものの、irbで日本語が入力できないという問題があるようです。【参考】Mac のruby のirb で日本語入力をできるようにする - LukeSilvia’s diary上記のページではMacPortsからRubyを入れる…

ハッシュを構造体のように使う

この記事は、Ruby Advent Calendar jp: 2009参加記事です。前日はudzuraさんの「Ruby1.8.7、1.9.1、1.9.2preview1を簡単に切り替える@Ubuntu9.10」でした。明日はdan5.yaさんです。 やりたいこと Rubyの構造体 (Struct) では、以下のようにメソッド呼び出し…

Fedora 12上でRuby 1.9.1のビルド

Fedora 12上でRuby 1.9.1-p376のビルドを試みたところ、コンパイルエラーが発生しました。Fedora 12では、OpenSSLのバージョンが従来の0.9.8系から1.0 (beta) に置き換わった影響で、そのままではRubyのビルドに失敗するようです。makeのログから抜粋: make[…

タイムライン系サービス統合の試み (TokyuRuby会議01)

TokyuRuby会議01にて発表してきました。正直言ってありがちな話題とは思いますが、自分にとっては何かを作る&学習する動機になっているのと、参加者にとって何かの役に立つこともあればいいなぁと思います。正しいTwitter-likeサービス間連携の提案View mor…

Rubyにおけるローカル変数のスコープ規則

Rubyにおけるローカル変数のスコープ規則を再確認しました。 仕様については、書籍「Ruby技術社認定試験 公式ガイド」を参考にしています。要注意と思われるのは以下の点です。 メソッド定義の外側で宣言された (=初めて代入された) ローカル変数のスコープ…

Twitter4Rで、フォロー先ユーザの情報取得

Twitterでフォロー情報消失事故発生という噂を聞いたので、自分がフォローしているユーザの情報をバックアップすることを試みました。Ruby用のTwitterクライアントライブラリ「Twitter4R」を使用しています。結果的にはごく簡単に取れたのですが、どうもTwit…

GPS×Twitter4Rでたのしい位置情報ライフ (RejectKaigi2009発表資料)

Ruby会議2009に併設されたRejectKaigiにて、最近のTwitter+iPhoneいじりの成果をちょろっと発表しました。ライトニングトークはとにかくインパクト重要という感があるので、反応は今ひとつかなぁという感じですが、まあ何事も経験ですね。せっかくなので発…

「IT勉強会カレンダー」の新着エントリをTwitterに自動投稿

前回の記事、「IT勉強会カレンダー」から、1日単位でエントリを切り出す をベースに、勉強会情報をTwitterに自動投稿するスクリプトを作ってみました。仕様は若干変更して、「指定した日に開催される勉強会」ではなく「昨日1日間に更新されたエントリの内容…

「IT勉強会カレンダー」から、1日単位でエントリを切り出す

「IT勉強会カレンダー」プログラミング・情報科学関連の勉強会情報を集約する場としては最も網羅性の高いものだと思いますが、情報量が多すぎて、自分の求める情報を探すのが難しいというのも事実です。 # というか、調べるのが面倒で放置しているうちに、「…

はてなブックマークWeb Hookに触ってみる

はてなブックマークTwitter投稿スクリプトをのんびりと製作している間に、こんなの欲しいと思っていた機能がリリースされていました。はてなブックマーク Web Hookとは - はてなキーワードRSSの場合、一定時間ごとにスクリプト側から更新を見に行く必要があ…

bit.ly (短縮URL) API呼び出し (その2)

bit.ly (短縮URL) API呼び出し (その1) - m-kawato@hatena_diarybit.ly APIの様子がつかめてきたので、本題のTwitter投稿のためのURL短縮を試してみます。 ここでは、入力としてメッセージ本文とURLを受け取り、必要に応じてURLを短縮URLに変換した形で本文…

bit.ly (短縮URL) API呼び出し (その1)

Twitter APIを使ったTwitterへの記事投稿では、URLはbit.lyによる短縮URLに自動的に変換されるのですが、入力のステータスメッセージが140字を超えると、bit.lyに通す前に切り詰められてしまい、結果として短縮URLが適用されないようです。 # ちゃんと条件は…

HTTP GETでサーバ側キャッシュ無効化

Ruby標準添付ライブラリRSS::Parserでは、RSS::Parser.parse(url) という形で直接HTTP経由でRSSフィードを読み込むこともできますが、少なくともはてなブックマークのRSSでは、サーバ側キャッシュの影響で、最新のエントリが取得できないケースがあるようで…

はてブエントリのTwitter自動投稿 (その2)

前回作成した、はてなブックマークのRSSフィードを読んで、内容をTwitterに投稿するスクリプトを少し改良して、未投稿エントリのみ投稿するようにしました。今までのあらすじ はてなブックマークRSS取得 Twitter4RによるTwitterへの記事投稿 はてなブックマ…

はてなブックマークエントリのTwitter自動投稿

今までのあらすじ: はてなブックマークRSS取得 Twitter4RによるTwitterへの記事投稿 次は、これらを組み合わせて、はてなブックマークの新着エントリをTwitterに自動投稿することを試してみます。 (要はtwitterfeedと同じような機能を再現したい)現時点では…