Exporterでエクスポートされる関数の挙動を変更する

ひょんなところにこんなモジュールがあRuby。 package Hoge; use strict; use warnings; use base qw/Exporter/; our @EXPORT = qw/hoge/; sub hoge { print "Hoge::hoge called\n"; } 1; このHogeモジュールのhoge関数を呼び出すためにこんなコードを書Chro…

単数形/複数形の変換ルールを独自に定義する

必要に迫られたので探してました. 案の定用意されたメソッドで好き勝手できるようになってました.Rails御用達のActiveSupportの場合. require 'active_support' require 'active_support/inflector' # Railsは自動で取り込んでくれるだろうけど, ActiveSuppo…

Emacsからrakeを呼び出してみた

最近「プログラミングしてないなぁ……」とか思っちゃったので, 試しにTwitterのUser Streamsを使ったプログラムを書こうとしたのですが, ErlangからUser Streamsが使えなかったので*1別のプログラムに逃避した次第です, こんにちは. id:siritoriごめん.で, 何…

ファイルの非同期アップロードを実装してたら, IEでいっぱい怒られたよ

すげー怒られたので, 逆ギレのごとくここにご報告いたします. 気分は先生に怒られた小学生. 「同一ドメインなのにiframeのdocumentを取得出来ませんよ!?」「うっせーなー」 非同期アップロードはform要素のtarget属性を任意のインラインフレームにして実装す…

hetemlにRubyGemsをインストールする

"いざhetemlにRubyGemsをインストールしようとしたら, すんなりとインストールされず, なんてこったい"を2回繰り返してしまったので, 3度目がないようにメモ. RubyGemsのインストール先ディレクトリを作成 当然/usr/localとかには入れられないので, ホーム配…

スパムアカウントの排斥と許容

スパムアカウントの大量虐殺サービスを作っておきながら言うのもなんだが, スパムアカウントに対して攻撃的な人が目につく. それも生半可な攻撃性ではなく, その攻撃性は現実世界で言う殺害に等しいのでは, と思えるほど. 赤の他人, ましてやbotに欲してもい…

Twitterの発言中に現れるハッシュタグを抜き出す関数

Twitter側がどのようなカタチをハッシュタグと認識するのかよくわからないけど, とりあえず書いてみた. ちなみにめんどくさいので正規表現とかは使ってません.使い方は: $ erl 1> twitter_status:hashtags("ほげほげ #banana_#mango#highschool"). ["banana…

ぼくたちとブリトニーの70日戦争

今日もTwitterで元気よくさえずっているたっくんですこんにちは.元気は元気なんですが, 最近何か物足りないんですよ. ……そう, ブリトニーが来ない. あんなに疎んでいたのにいざ来ないとなるとこんなに寂しいなんて…… なにこれ恋?そんなワケはないんですが, …

シェルライクなTwitterクライアントをざっくり作ってみた

昨日Twitterでシェルっぽい感じのTwitterクライアントあったらおもしろくない? とか言っていて, なんか楽しそうだったのでざっくり作ってみました.使い方はこんな感じ. $ ruby twsh.rb -u your_twitter_id -p password twsh% echo "はろー twsh.rb" twsh% ls…

名前空間つきのモジュールを使う

いつからこうなっているか知らないんですけど, Erlangって名前空間があるらしいです. -module(ffhh.followers.director). こんな感じでモジュールを任意の名前空間に属させるコトができます. アンダースコアで長ったらしい名前をつけなくてもいいワケですね!…

新しいふぇらほい forefrontの構造

単なる走り書きです.(やべぇ, 透過しっぱなしだ)灰色の四角形は全部モジュールで, 太めの字はモジュール名, その下に書かれた小さな字は使用しているビヘイビアの名前です(存在しないのはビヘイビアを使っていない). 水色で囲われたところはsupervision tree…

Twitter Streaming APIをErlangから使ってみる

TwitterさんはたくさんAPIを公開しており, 開発者からしたら頭が下がる想いですが, その中でもちょっと特殊なStreaming API.Twitter API Wiki / Streaming API DocumentationPublic Timeline上を流れるつぶやきを次々と受け取るAPIですね. 種類があるのでと…

Twitterにまつわるいろいろな制限について

こんにちは! みなさん今日もTwitterで元気につぶやいていますか!? さえずっていますか!?ところでよく聞く"規制"ってあるじゃないですか. なんかあまりにヒマだったのでちょっと調べてみたのです. そしたらこんなページが.Twitter Support :: Following and U…

Twitterのしつこいフェ○アイコンを自動でブロックするサービスを作ったよ

こちらでーす.ふぇらふぇらほいほい名前に関してはいろいろありますが, とりあえずBritney Fuckedのせいにしておいてください. あ, ごめんなさいすみません, あ, あ. 悪ふざけです.使い方はOAuthの方で許可していただければそれだけでOKです. 詳しいコトはふ…

くるくる回して入力するUIを作ってみた

とある範囲の値を入力してもらいたいけど, テキストボックスじゃ自由度高すぎるし, 範囲が微妙に広いからコンボボックスじゃ選ぶのめんどいなー*1.そんなコトを考えているときに「こんなのどうよ?」と思って作ってみた. とりあえずこんな風になった このペー…

とりあえずRackのミドルウェアとして実装すればいいんじゃない?

最近Rackの上にごくごく簡単なフレームワークをSinatraも使わず組んでいるんですが, ミドルウェアが便利で, 仕組みもごくごく単純でステキだなぁとか思っているからとりあえずメモしておこうと思って久しぶりにブログを書こうとふにゃらららら.仕組みから言…

Rubyで実践 OAuth in Twitter

というコトで前回のエントリに引き続き, OAuthです. 今度はコードを書き, OAuthを用いてTwitterのユーザータイムラインを取得してみようと思います.コードはGitHubの方に置いてみました. 初めてのGitHubわくわくです.OAuth examplesちなみにターミナルから起…

OAuthを知る

どうやらOAuthというモノがあるらしい. 仕組みを考えだしたのはTwitterの中の人だとか.そのOAuthについて理解を深めるために, 粛々とつづってみる. 間違っていたら突っ込んでいただけると嬉しいです. OAuthの目的 OAuthは認証と認可を目的とする. OpenIDは認…

RailsでAmazonの商品を, 署名認証に対応した上で扱う

今朝こんなメールがきました. 【重要】Product Advertising API (旧 AmazonアソシエイトWebサービス)の署名認証に関するお知らせ 内容をサラッと言うと: うちが調べてみたところ, おたくのAWSAccessKeyIDから送られてくるリクエストに電子署名がついていな…

"この世で最も役に立たない関数"をRubyのメソッドで

寝つけないところにこのエントリ. defを使う方法でやってみた. def pointless puts "Turing off myself = #{method :pointless}" undef :pointless end pointless pointless Rubyにもundefがあるなんて初めて知ったぜ. 追記: Pythonでも書いてみた vars = va…

RailsでAmazonの商品を扱う

Amazonの商品はAPIを介して簡単に取得できますが, 取得した情報はキャッシュ目的以外でローカルに格納してはいけない, などの制約がある. なのでどんな風に書けばいいかメモ. あと毎回APIを介していては遅くなるのでmemcachedを使う(キャッシュ目的なのでOK…

actionscript-modeのロード時にエラー

久しぶりにActionScriptでなんか書こうと思ったら, Emacsで*.asファイルを開いても, シンタックスハイライトされない! *Messages*を読むと: Loading /Users/takkkun/elisp/actionscript-mode.el (source)... File mode specification error: (void-function …

before_filterでfalse返しているのにアクションが実行されるコトがある

以前ちょろーっと読んだ本には「before_filterに指定したブロックやメソッドが評価された結果, falseを返した場合, フィルターのチェインはそこで終わるよ!」って書いてあった(と思う).それを信じてやってみたら, なんとチェインが終わらない(そのままアクシ…

should xxxのxxxはMatcher

なるほどー. matches?メソッドを備えたMatcherなるモノを渡せばいいんだなー.

RSpec + Railsで遊んでいたら

OpenIDと同じく前々からやってみたかったBDD. つーコトでRailsのテストをRSpecで試しに書いていたんですが, どうやらレスポンスのステータスコードの判定がRSpecっぽくできないっぽい. describe HogeController, 'のfugaアクションは' do it '直接アクセスし…

RailsでOpenIDを使うときにハマったところ

前々から興味のあったOpenIDをRails上で試そうとしたところ, ちょいちょい動かなかったりしたのでそのメモメモ.とりあえず導入. OpenIDを使うためのRubyGemsとRailsのプラグインを入れる. $ sudo gem install ruby-openid $ script/plugin install open_id_a…

Tabsを用いてタブを切り替えたときに, 入力フィールドにフォーカスさせる

こういうケースが多い気がする*1のでメモ. <ul id="tabs"> <li><a href="#foo">Foo</a></li> <li><a href="#bar">Bar</a></li> </ul> <div id="foo"> <input type="text" /> </div> <div id="bar"> <input type="text" /> </div> $('#tabs').tabs({ select: function(event, ui) { $(ui.panel).find(':input:first').focus(); } }); tabsselec…

jQuery UIのSortableとTabsを併用したときに発生するおかしなのをなんとかする

さっきjQueryを使っていたら少しおかしな症状が出ました. どうやらjQuery UIのSortableとTabsを併用したときに出るっぽい. たとえば下記のコードでタブレイアウトにして, なおかつそのタブを並べ替え可能にする. <ul id="tabs"></ul> $('#tabs').tabs().sortable(); 上記のでは…

file_columnを使ってアップロードされたファイルを削除すると, marshal_dumpがどうとか言われる

Railsでファイルをアップロードする際によく使われているfile_columnプラグイン. 便利なんですが, とある条件でいやーなエラーが発生するみたいです.その条件は"file_columnを使ったモデルをセッションに格納"し, その状態で"アップロードしたファイルを削除…

form_forでフォームを書く

久しぶりにRailsを触るぜ!いやー, とある時期にRailsは触っていたけども, 最近めっきり触っていないので, Railsの進化にとまどっている次第です. なんせ触っていたのはバージョン1.2.3のだしね. 今はもう2.2.2…… とまどうのは仕方ないけど, ちょいと使ってみ…