@kyanny's blog

理想主義のない現実主義は無意味である。現実主義のない理想主義は無血液である - ロマン・ロラン フランス思想家

「したらば掲示板ビューア for Mobile Safari」作ってます

「したらば掲示板ビューア for Mobile Safari」というのを作ってます。

ソースはここ GitHub - kyanny/jbbs-proxy: jbbs-proxy - したらば掲示板ビューア for Mobile Safari

デモサイト (落ちてたらゴメンネ) http://kyanny.dyndns.org:9886/

一年前に iPhone 買った頃からしたらば掲示板を快適に読みたいなーと思っていて、 BB2C は対応しない方針みたいだし自分でアプリ作ろうかと iPhone 開発の本を買ったりしたけどなかなかやり出せなかった。そうこうしてるうちに iPhone OS も SDK もバージョン 3 になり開発には Snow Leopard が必須になってしまっていて、この前の週末に Xcode を立ち上げたときに気がついてガックリきたので Perl でウェブアプリケーションを書くことにした。

したらば掲示板の API をたたいて都度スレッド一覧とかレスとかをとってきて iui 使って表示しなおしてるだけです。デモサイトは海外の VPS に置いてあるので 3G 回線だとかなり遅くてあんまり使い物にならんかもしれない。あと不特定多数のひとからたくさんアクセスされることもあんまり想定してない。デモサイトはあくまでデモなので、知らないうちに落ちてるかもしれない。本気で使いたいひとは自宅サーバをたてるんだ!

せっかくだし Plack/PSGI なモノを使おうと思って WAF とか少し調べかけたけど、最近できたやつはいろいろありすぎて差がわかんなかったので、比較検討するのが面倒で使わなかった。じゃあなんで Tatsumaki 使ってんだよという話ですが、 AnyEvent とか Coro とかそういうのを使ってみたかった。なんか API へのリクエストを頻繁に(っていうかアクセスあるごとに)飛ばすから並列?非同期?通信できるといいのかなって。でもちょっと調べてスクリプト真似て書いたくらいじゃ意味わかんなくて、最初から組み込まれてる Tatsumaki をわけもわからず使いました。正規表現で簡易なディスパッチャかけるのも最初から入ってたり、サンプル .psgi もいろいろあったりして、なんだかんだでとっつきやすかった。

使ってみたいという奇特な方は、 git clone git://github.com/kyanny/jbbs-proxy.git して plackup -p 9886 jbbs-proxy.psgi でどうぞ。 Tatsumaki が必要なので cpan -i Tatsumaki などしてください (cpanm 使ってないあたり、乗り遅れてますね) local::lib 使ったら root は不要だけど、常時起動しなきゃ意味ないプログラムなのでさくらのレンタルサーバでは動かせません。本気で使いたいひとは VPS を借りるんだ!

アンカーリンク (>>1 みたいなの) の扱いとナビゲーションをもう少し親切にしなきゃなーと思ってます。あとスレッドを読むときに前後のレスも読みたいのと、一ページに表示するレスの数を変更したい(プルダウンメニューで選びたい)。そのくらいできたら自分が欲しい機能はだいたい実装できるはずなのでそこで終わりの予定です。書き込みはできないの?と思った方、できません。今のところできるようにするつもりもありません。本気で書き込みたいひとは fork するんだ!ていうかふつうに Safari でしたらば掲示板にはアクセスできるので、そっちで書いてね。

ああそういえばライセンスとか書いてなかった。 Artistic License です。もろもろ README とか POD とか書かないと。そのうち書きます。

まだ全然完成度低くて、普段だったら「もっとちゃんとできあがってから公開しよう」と思ってたところだけど、さっき感想を書いた「小さなチーム、大きな仕事」に「最初から完璧を目指さず、不完全でいいからはじめてしまって改良していくのが大切」みたいなことが書いてあって、そうだよなー いきなり最初から 100% を目指すのはばかげてるし不完全なものを出したって別に恥じることもないんだよな(仕事じゃないし)、と思ってたところだったのでブログに書きました。ご意見歓迎します。パッチと pull request はもっと歓迎します。あと添削も(ちょっとこわいけど)歓迎です。どうぞよろしく。