Mais conteúdo relacionado
Semelhante a Xircd Yapcasia2008 (20)
Xircd Yapcasia2008
- 2. 自己紹介
● ふしはらかん(伏原幹)
● 株式会社モバイルファクトリー所属
● はてな ID: mikihoshi
● http://d.hatena.ne.jp/mikihoshi/
- 4. あじぇんだ
● IRC 使ってますか
● IRC を便利に使うアプリケーション
● XIRCD について
- 6. IRC の利点
● 歴史がある
● 仕様が枯れてて安定してる
● IRC を便利に使うためのツールが充実
- 7. IRC 上の開発コミュニティ
● irc.freenode.net
● #plagger-ja(plagger), #subtech(?)
● Project 単位やテーマ毎にチャンネルが
● 気軽に参加するべき
● ROM ってるより書き込もう
- 9. LimeChat
● Windows, Mac で使える IRC Client
● 現在も継続的に開発が進んでいる
- 10. tiarra
● IRC Proxy
● 複数の IRC Server に接続して、 1 つの IRC
Server で見られる
● Tiarra に client が join していない間も接続
を維持してロギング等が可能
● いくつもの Plugin がある
- 11. mobirc
● web IRC Client
– 携帯電話からの閲覧に特化している
● Pluggable な構成
● tiarra 等と組み合わせるとより便利に
- 12. IRC の可能性
● どこでも IRC を使っている
– 自宅
– 会社
– 移動中 (mobirc)
● PUSH 型の情報の汎用 Client として使える
- 13. XIRCD について
● Perl で IRC Server を作る
● MooseX::POE
● XIRCD で何が出来るの?
- 14. Perl で IRC を実装する
● POE を使う
● POE::Component::Server::IRC がある
● POE の”お約束”に従う必要が
● 毎回同じようなコードを書くことに
● サーバーがいくつも立つ……
- 15. MooseX::POE
● Moose によって POE program の冗長な部分
が上手く隠匿されているもの
● DSL 的にイベントハンドラを登録できる
- 16. XIRCD
● MooseX::POE ベース
● IRC Server に必要な機能をあらかじめ用意
● Component には最低限の記述を DSL 風に書
けば動作する
● 各 Component は各チャンネルで動作するの
で、サーバは 1 つで済む
- 17. POE::Session->create(
package_states => [
__PACKAGE__, [qw/_start ircd_daemon_public publish
_message/],
],
heap => { ircd => $ircd, config => $config },
);
sub ircd_daemon_public {
my ($kernel, $heap, $user, $channel, $text) = @_[KERNEL,
HEAP, ARG0, ARG1, ARG2];
my $encoding = $heap->{config}{client_encoding};
:
:
- 19. package XIRCD::Component::Time;
use MooseX::POE;
use XIRCD::Component;
with qw(XIRCD::Role);
use DateTime;
event start => sub {
my $date = DateTime->now(time_zone => 'Asia/Tokyo');
publish_message
'time' => $date->strftime(quot;%Y/%m/%d %H:%M:%Squot;);
delay 'start', 10;
};
1;
- 21. これから出来るようになること
● iCal を読み込んで指定日時に表示する
● RSS Feed を読み込んで表示
● TODO を登録・管理できるようにする
● etc...
- 22. join coderepos
● http://codereos.org/share/
● XIRCD も coderepos で開発しています
● Component のコミット、本体のコミットも
大歓迎