Perl

Check*Pad API

百式で有名な有限会社点灯夫が開発・運営しているサービスであるシンプルな目標管理ツール | check*pad.jpをプログラムから操作するAPIを今作っている。まだ出来る事は下記の4操作だけなのですが、切りがいいので、公開します。ちなみに中身のソースコード…

Class::Pluggable

あぁ、とんでもないものを見つけてしまった。http://naoya.g.hatena.ne.jp/naoya/20060504/1146728386俺が、CPANに登録したモジュールと全く同名で、同じような事を実現しているモジュールをid:naoyaさんが作ってた。もちろん、彼の方が洗練されていると思う…

Class::Pluggable

昨日CPANにリンクし忘れたので、念のためリンクしておきます。 Class-Pluggable-0.021 - Simple pluggable class. - metacpan.orgなんか今更ながら、俺なんかがCPANに登録して良かったのか、不安になってたりします。もし、このモジュールに関してコメント頂…

CPANに載ったようだが…

おいらの作ったClass::PluggableモジュールがCPANにアップされた。聞いた話では誰かに評価されてから載ると思ってたから不意をつかれた感じ。まだ、評価っぽいものは無いなぁ。どちらにせよ、もう直したい箇所があるから、直さなくては。

Class::Pluggableモジュール

http://ya-lab.main.jp/perl/module/Class-Pluggable-0.01.tar.gzClass::Pluggableというモジュールを作った。簡単に説明すると、これを継承したクラスは簡単にプラグインによる拡張が出来るようになる、モジュールです。中を見ると超シンプル。もう少しだけ…

CPANTSテスト項目の和訳

http://cpants.dev.zsi.at/CPANTSをご存知だろうか? 俺も最近自作モジュールをCPANに登録したい欲望があっていろいろ調べているうちに見つけたサイトなんだ。何かと言えば、CPANに登録されているモジュールを”あるルール”で評価しているサイトなんだ。「評…

CPANモジュールでも作るか

ほんのちょっとしたモジュールのアイディアがあって、今実装している。作るのはもちろん自分のためなんだけど*1、せっかく作るならCPANに登録しようと思ってきた。作ろうとしてるのは本当に小さなモジュールなんだけど、CPANに登録するとなると、それ相応の…

Perlでプラグインという仕組みを利用するには <2>

さて前回id:ya_ken:20060619:1150725716途中まで説明したCGI::Applicationのプラグインの実装方法の続きを書く。今回のポイントを簡単に言えば「継承したわけではないのに、あるクラスにどうやって関数を追加するか」なんだ。そこで参考になるのが、CGI::App…

Perlでプラグインという仕組みを利用するには <1>

//長くなりそうだから、タイトルに章番号付けてみた。自分でフレームワーク・ライブラリ・モジュールといったものを作ったりすると、それ自体に拡張性を持たせるために『プラグイン』という仕組みを導入したくなる時があると思います。例えば… Apacheのモジ…

Text::Hatena

Text::Hatena - Perl extension for formatting text with Hatena Style. - metacpan.org今個人的に作ってるウェブアプリでText::Hatenaを使おうと思い、勉強してみた(日本戦観戦しながら、、苦笑)。使い方は簡単。非常にありがたいモジュールだと思う。だ…

 日本語を切り詰める

日本語を切り詰める処理(substrみたいな処理)っていうのはいつも面倒な事が付きまとう。2バイト文字をsubstrすると、文字の途中で切ってしまい、文字化けしてしまう。で、まぁ、回避方法は無い訳ではない。まず、普通にsubstrして、最後の文字が2バイト…

超超手抜きORマッピング

全然ORマッピングと呼べるようなものでは無いのだけれど、無いよりはマシ(かもしれない)なやり方。気の利いたモジュールも使えず、時間もかけたくないし、ちょっとしたツール的なものだし、自作で気の利いた事をする気にもなれなかったから、下記のような…

prototype.jsクックブック04 リストの順序をドラッグ&ドロップで変更する

今回はprototype.jsだけではなくscript.aculo.us - web 2.0 javascriptというprototype.jsを使ったリッチなUIを実現するライブラリも使います。ですので、このサンプルを試すときは必要なJavascriptをscript.aculo.usからダウンロードしてください。さぁ、今…

prototype.jsクックブック03 Hello Json!!

というわけで、Perl(CGI) + prototype.jsでのJsonデータの使い方を説明します。まず、Jsonってなに? って人は下記サイトあたりが参考になるかもしれない。http://d.hatena.ne.jp/brazil/20050915/1126709945とりあえず、デモを用意したので、ご覧ください。…

prototype.jsクックブック02 Now Loading...の出し方

非同期で処理を行うようになると必然的に必要になってくるのが、いわゆるプログレスバーのように処理中であることを知らせるUIだと思う(まぁ、軽い処理ならばいらないけど)。そこで、その方法を説明する。ここでのやり方はAjax.Requestの部分とは完全に切…

 その場で編集+登録機能

巷じゃ有名なprototype.jsですが、クックブックという名目でしばらくサンプルコードを作っては掲載してみたいと思います。難易度の高いことを紹介するというよりはもっと具体的に「XXXという機能を実装するにはこうすれば良い」という一例を載せられれば良い…

メールアドレスにマッチする正規表現

メールアドレスに一致する正規表現うわわわわ

トラックバック機能実装

議論へトラックバックする機能を実装した。普通のトラックバックと違うのはDebate::Netでは議論の案に対してトラックバックするということ。例えば、「WindowsとMacのどちらが良いか?」という議論があって「Mac」と「Windows」という選択肢があったとする。…

 トラックバック

先ほどまでトラックバックを実装していたのだけど、どうも苦労したので、苦労した点を書いておく。 文字コードについて はてなから送られてくる日本語は文字コードがUTF-8になっている。最初、何度やっても文字化けしたからjcode.plではなくJcode.pmを使うよ…

 Debate::Net

この前の土日で思いついて作ったサービスです。はてなにユーザアカウントを持っていれば使用出来ます。Debate::Net簡単に何が出来るか紹介しましょう。 議題を登録する(これが議論のテーマになります)。 この議題に対して案を複数個登録します(これは現在…

ロリポップでは「はてな認証」出来た。

昨日の夜にロリポップに登録して最近作ったサービスをのせてみた。以外と問題なくDBのセットアップからCGIを動作させるところまで成功、満足満足。

DBI,DBD::mysqlインストール格闘劇

PerlのDB周り用のモジュールであるDBIやらDBD::mysqlやらをインストールしたのだけど、これが酷く苦労した。Linux (RedHat)にインストールしたのだけど、そもそもDBD::mysqlのコンパイルが出来ない。”感”でコンパイルフラッグを弄ったらコンパイルは出来た…

はてな認証API

はてな認証APIなるものがある。http://auth.hatena.ne.jp/リンク先を読んでもらえば分かるが、平たく言えば「はてなでのアカウントを利用する他のサービスを開発出来る」サービスだ。というわけで、前々から作りたかったサービスの認証部分をこれで行うこと…

PerlかJavaか…

プログラム言語にまつわる宗教戦争ってのはあまり好きではないのだけれど、かといって「どれでも一緒だよ」というのも違うと思う。やっぱりそれぞれ長所・短所があってさらにその上に個々の好き・嫌いが乗っかってくる。好き・嫌いもとても大事なことだけど…

MacOSXでCGI(Perl)

さっそくMacOSXでCGIの動かすための手順をメモしておく。こういうのって最初しかやらないからしばらくすると忘れるんだよね。ともかく、MacOSXにはApache君が最初から入ってるから、設定変更だけでいける。下記、行をそれぞれ見つけ、すべてコメントアウトし…