タグ NaN days
人気順 5 users 50 users 100 users 500 users 1000 usersテストが失敗したときに再試行できるようにするモジュールを書きました - NaN days - subtech
Selenium を使ったときなどテストの状態が外部に依存しているような場合、状態が確実に変化するのを待つために sleep などしてみているけれどやりたいのはそういうことじゃないんだ! という訳で、テストが失敗したら少しウェイトを入れて再試行するモジュールを書きました。 motemen/Test-Retry ? GitHub 無意味な例ですが、 use Test::More; use Test:... 続きを読む
jQuery のメソッドチェーン呼び出しのコードを簡単に生成できる Perl モジュールを書きました - NaN days - subtech
PhantomJS 1.8 のリリースで まっとうな方法で Perl から PhantomJS の操作ができるようになった おかげで 去年の YAPC::Asia 2012 で発表した Wight はめでたくオワコン化しました……。だけれど Wight のオマケで作っていたモジュールは便利なので、別に分けてみました。 motemen/String-jQuery ? GitHub SYNOPSIS ... 続きを読む
GitHub のリポジトリを管理する小さいツール ghq - NaN days - subtech
GitHub 上の面白そうなコードは手元に clone してから見るのが普通だと思いますがそれをこんな感じに整理してます。 ~/extrepo/@author/project に git clone する(~/extrepo/@motemen/ghq とか) ~/extrepo/project からそこに symlink する(~/extrepo/ghq → ~/extrepo/@motemen/... 続きを読む
みんなで一緒にウェブ上の音楽を聞ける polka というウェブアプリケーションを作りました - NaN days - subtech
昔 Teto というのを作って、これはニコニコ動画の音声をストリーミングして配信する、というようなことをしていたのですが、いかんせん仕組みが複雑で簡単に使える感じじゃないな〜という問題があり、また、オフィスのみんなでひとつのキューを共有しつつ同時に同じ音楽を聞けたらいいな、という要求を、音声の読み込みや再生処理をすべてクライアントサイドで行うことにして実装したのが polka です。 これからは ... 続きを読む
carton bundle を高速化する - NaN days - subtech
carton を使ってるプロジェクトで tarball をリポジトリに同梱している場合、依存モジュールが増えるたびに carton bundle することになるのだけど、モジュールの数が増えてくるとこれがすこぶる遅くなってしまう。なんでかというと (cpanfile や Makefile.PL を元に) 依存関係をチェックしなおしているからで、その結果 tarball 追加するだけのつもりが ca... 続きを読む
Test::Deep で JSON をパーズした結果と比較できる Test::Deep::JSON というのを書きました - NaN days - subtech
https://github.com/motemen/Test-Deep-JSON 適当な hashref があって、その一部が JSON 形式文字列になっているようなとき (HTTP API のテスト時など) に code() でなんとかするのもあらかじめパーズしておくのも面倒なので、こんなときに Test::Deep で使える関数を提供するモジュールを書きました。 SYNOPSIS を見ていた... 続きを読む
コード中から簡単に plackup できるモジュールを書いた - NaN days - subtech
https://github.com/motemen/AnyEvent-plackup 使い方は簡単で、 use AnyEvent::plackup; my $server = plackup(app => \&psgi_app, port => $port); とするだけです。ポートを指定しないと適当に空いているポートが選ばれます。 で、これだけだとただの Twiggy のラッパーなのですが、こ... 続きを読む
Git リポジトリの Web サイト (GitHub とか) を簡単に開けるコマンドを作った - NaN days - subtech
git-browse-remote というコマンドです。 インストール 今回はじめて RubyGems としてシェアさせていただきましたので gem install git-browse-remote でインストールできます。git browse-remote というサブコマンドが使えるようになります。 できること 現在のリポジトリをホストしている Web サイトをブラウザで開きます 正確には g... 続きを読む
Perl から PhantomJS を操作するライブラリを書きました - NaN days - subtech
Perl から PhantomJS を操作する、Wight という名前のライブラリを書きました。PhantomJS は GUI なしのブラウザみたいなやつです。(てきとう) まだ完成とはいい難いですが GitHub にあがってます。 https://github.com/motemen/Wight 使い方 基本的にウェブアプリケーションのテストのためのモジュールになってます。以下を見ればだいたい雰... 続きを読む
Class::Accessor::Lite で作れるアクセサに加えて lazy_build 的なものも作れる Class::Accessor::Lite::Lazy - NaN days - subtech
Perl でクラスを作りたくなったら最近はとりあえず Class::Accessor::Lite を使うことが多いけどよく Moose で言うところの lazy_build (builder) 的なことがしたくなって、いちいち手で書くのもの面倒だし、かといって Mouse に乗り換えよう、という気分にもなれないときのために Class::Accessor::Lite の流儀で lazy acces... 続きを読む
HTTP レスポンスオブジェクトを簡単に作れる Perl モジュールを書きました - NaN days - subtech
app.psgi 1 ファイルだけの簡単な PSGI アプリを書くとき、200 やら 302 やら 501 を返すのにいちいち ArrayRef を書いて返すのが面倒なので、モジュールを書いて簡単にできるようにしてみました。 モジュールを use すると HTTP::Status が提供する定数と同じような名前の関数を定義し、これらの一つ一つがそのステータスコードに対応したレスポンスを生成する関数... 続きを読む
標準入力をブラウザで tail -f できる htmlcat というのを書いた - NaN days - subtech
GNU screen 使っているとはいえ開発中に諸々のログを流しておくのにウィンドウ使うのに慣れてなくて、タブ開きまくるならやっぱりブラウザを使いたいってことで、標準入力をブラウザに出してくれるツールを書きました。 motemen/App-htmlcat - GitHub この htmlcat というスクリプトで、くだらない例ですが % (while :; do; date; sleep 1; d... 続きを読む
YAPC::Asia 2011 に参加してスイーツエリアで話してきました #yapcasia - NaN days - subtech
Teto というツールを作って、自分ではそれなりに便利に使っているのですが、それだけではいかんよなということで、いろいろと作っていく過程で得た知識や作ったモジュールについてまとめて、YAPC::Asia 2011 のスイーツエリアで発表いたしました。聞いてくださった皆さま、ありがとうございます。 スイーツエリアはメイン会場の出入口付近に机が並べられているエリアで、そこのモニタを使っての発表というか... 続きを読む
AutoPagerize の SITEINFO を利用して Web ページを Kindle で読めるようにする - NaN days - subtech
以前書いた Kindlenap (https://github.com/motemen/Kindlenap) に、AutoPagerize の効くページなら自動で次のページを読み込んで一つの HTML ファイルにするオプション機能を追加しました。 例えばファミ通文庫の『平家さんって幽霊じゃね?』を読みたいときは、以下のようにします。 kindlenap.pl --autopagerize --ti... 続きを読む
AquaSKK を使いはじめたあなたが設定すべきたった一つの変換ルールwww - NaN days - subtech
~/Library/Application Support/AquaSKK/zw.rule に euc-jp で zw,w,w,zw,z という内容のファイルを保存し、[環境設定]→[かな規則] から zw.rule にチェックを入れる。(うまく効かない場合は AquaSKK のプロセスを殺すといいらしいです by cho45) こう設定しておくと zw と入力したときに wz (z は未確定) ... 続きを読む
コマンドラインで動く Simplenote クライアントを書いた - NaN days - subtech
テキストを残すのに Simplenote を最近よく使っていて、エディタを立ちあげてその場でメモを書くということをやりたいのでクライアントを書きました。 motemen/App-sn - GitHub sn.pl new でエディタが立ち上がり、開かれたテンポラリファイルに書き込むたびにサーバに内容がアップロードされます。アップロードされると Growl 通知がくる。 sn.pl list でノー... 続きを読む
つまらないツイートだけを表示するユーザースクリプト - NaN days - subtech
ユーザーページを開いたときにその人のつまらないツイートだけを表示する Greasemonkey スクリプトを書きました。具体的に書くと、つまらないツイートとは favstar で見たときに fav も RT もされていないもののことを言います。このように、おもしろツイートが間引きされます。これを利用することで、相手の人となりをある程度知ることができるようになります。情強Make one’s twe... 続きを読む
AnyEvent で DAAP サーバが立てられる AnyEvent::DAAP::Server というのを書きました - NaN days - subtech
DAAP っていうのは iTunes で同じネットワークにいる他人のライブラリの音楽が聞けたりするあれです。CPAN には Net::DAAP::Server というのがすでにあり、かなり古いモジュールにも関わらず今でも使えてありがたいのですが、POE で実装されていて他の AnyEvent で書かれたソフトと連携が取りづらかったので、これと同じこと(+α)をするモジュールを AnyEvent で... 続きを読む
LWP を使う機能のテストに便利なモジュールを書きました (LWPx::Record::DataSection) - NaN days - subtech
ふだんスクレイピングや Web API を叩く機能のテストをするときには実際のレスポンスを __DATA__ 以下に格納し Data::Section::Simple で適当に読み込んで実際の通信を発生させない、という風にしていたのですが、これを毎回やるのも面倒なのでモジュールにしました。こんな風に使います。use Test::More;use LWPx::Record::DataSection;... 続きを読む
PicTumblr をマーケットに上げました - NaN days - subtech
id:nagayama さんにかっけーアイコンを描いていただいて、PitTumblr をマーケットにをアップロードしました。是非ごインストール下さい。https://market.android.com/details?id=net.tokyoenvious.droid.pictumblrそのうち広告でも載せてみたいものです。リポジトリはこちら https://github.com/motemen... 続きを読む