Your SlideShare is downloading. ×
0
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Xircd Yapcasia2008
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Xircd Yapcasia2008

2,948

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,948
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. XIRCD で加速する IRC ライフ ふしはらかん ( 株式会社モバイルファクトリー )
  • 2. 自己紹介 ● ふしはらかん(伏原幹) ● 株式会社モバイルファクトリー所属 ● はてな ID: mikihoshi ● http://d.hatena.ne.jp/mikihoshi/
  • 3. 自己紹介の続き ● id:precuredaisuki
  • 4. あじぇんだ ● IRC 使ってますか ● IRC を便利に使うアプリケーション ● XIRCD について
  • 5. IRC 使ってますか ● IRC の利点 ● IRC 上の開発コミュニティ
  • 6. IRC の利点 ● 歴史がある ● 仕様が枯れてて安定してる ● IRC を便利に使うためのツールが充実
  • 7. IRC 上の開発コミュニティ ● irc.freenode.net ● #plagger-ja(plagger), #subtech(?) ● Project 単位やテーマ毎にチャンネルが ● 気軽に参加するべき ● ROM ってるより書き込もう
  • 8. IRC を便利に使うためのツール ● LimeChat ● tiarra ● mobirc ● etc ...
  • 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};  :  :
  • 18. event ircd_daemon_public => sub { my ($user, $channel, $text) = get_args; my $encoding = $self->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;
  • 20. XIRCD に今出来ること ● Twitter IRC Gateway ● Wassr IRC Gateway
  • 21. これから出来るようになること ● iCal を読み込んで指定日時に表示する ● RSS Feed を読み込んで表示 ● TODO を登録・管理できるようにする ● etc...
  • 22. join coderepos ● http://codereos.org/share/ ● XIRCD も coderepos で開発しています ● Component のコミット、本体のコミットも 大歓迎
  • 23. ご清聴ありがとうございました

×