SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
XIRCD で加速する IRC ライフ




     ふしはらかん ( 株式会社モバイルファクトリー )
自己紹介

●   ふしはらかん(伏原幹)
●   株式会社モバイルファクトリー所属
●   はてな ID: mikihoshi
●   http://d.hatena.ne.jp/mikihoshi/
自己紹介の続き

●   id:precuredaisuki
あじぇんだ

●   IRC 使ってますか
●   IRC を便利に使うアプリケーション
●   XIRCD について
IRC 使ってますか

●   IRC の利点
●   IRC 上の開発コミュニティ
IRC の利点

●   歴史がある
●   仕様が枯れてて安定してる
●   IRC を便利に使うためのツールが充実
IRC 上の開発コミュニティ

●   irc.freenode.net
●   #plagger-ja(plagger), #subtech(?)
●   Project 単位やテーマ毎にチャンネルが
●   気軽に参加するべき
●   ROM ってるより書き込もう
IRC を便利に使うためのツール

●   LimeChat
●   tiarra
●   mobirc
●   etc ...
LimeChat

●   Windows, Mac で使える IRC Client
●   現在も継続的に開発が進んでいる
tiarra

●   IRC Proxy
●   複数の IRC Server に接続して、 1 つの IRC
    Server で見られる
●   Tiarra に client が join していない間も接続
    を維持してロギング等が可能
●   いくつもの Plugin がある
mobirc

●   web IRC Client
     – 携帯電話からの閲覧に特化している
●   Pluggable な構成
●   tiarra 等と組み合わせるとより便利に
IRC の可能性

●   どこでも IRC を使っている
    – 自宅

    – 会社
    – 移動中 (mobirc)




●   PUSH 型の情報の汎用 Client として使える
XIRCD について

●   Perl で IRC Server を作る
●   MooseX::POE
●   XIRCD で何が出来るの?
Perl で IRC を実装する

●   POE を使う
●   POE::Component::Server::IRC がある
●   POE の”お約束”に従う必要が
●   毎回同じようなコードを書くことに
●   サーバーがいくつも立つ……
MooseX::POE

●   Moose によって POE program の冗長な部分
    が上手く隠匿されているもの
●   DSL 的にイベントハンドラを登録できる
XIRCD

●   MooseX::POE ベース
●   IRC Server に必要な機能をあらかじめ用意
●   Component には最低限の記述を DSL 風に書
    けば動作する
●   各 Component は各チャンネルで動作するの
    で、サーバは 1 つで済む
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};
 :
 :
event ircd_daemon_public => sub {
  my ($user, $channel, $text) = get_args;
  my $encoding = $self->client_encoding;
 :
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;
XIRCD に今出来ること

●   Twitter IRC Gateway
●   Wassr IRC Gateway
これから出来るようになること

●   iCal を読み込んで指定日時に表示する
●   RSS Feed を読み込んで表示
●   TODO を登録・管理できるようにする
●   etc...
join coderepos

●   http://codereos.org/share/
●   XIRCD も coderepos で開発しています
●   Component のコミット、本体のコミットも
    大歓迎
ご清聴ありがとうございました

Mais conteúdo relacionado

Mais procurados (8)

スケールするiPhone/Smart Phoneビジネス
スケールするiPhone/Smart PhoneビジネススケールするiPhone/Smart Phoneビジネス
スケールするiPhone/Smart Phoneビジネス
 
مقدمة عن أندرويد
مقدمة عن أندرويدمقدمة عن أندرويد
مقدمة عن أندرويد
 
Ubuntu Firefox オススメ・アドオン
Ubuntu Firefox オススメ・アドオンUbuntu Firefox オススメ・アドオン
Ubuntu Firefox オススメ・アドオン
 
Catalogue eng
Catalogue engCatalogue eng
Catalogue eng
 
網路、設計、使用者經驗
網路、設計、使用者經驗網路、設計、使用者經驗
網路、設計、使用者經驗
 
Silent Running Side E Appendix
Silent Running Side E AppendixSilent Running Side E Appendix
Silent Running Side E Appendix
 
Gpl 과 Ccl
Gpl 과  CclGpl 과  Ccl
Gpl 과 Ccl
 
Ar10 pa-004
Ar10 pa-004Ar10 pa-004
Ar10 pa-004
 

Semelhante a Xircd Yapcasia2008

Peeling The Onion For Ipdc Forum09 Mix Ver1
Peeling The Onion For Ipdc Forum09 Mix Ver1Peeling The Onion For Ipdc Forum09 Mix Ver1
Peeling The Onion For Ipdc Forum09 Mix Ver1
hutuworm
 
Open Source Type Pad Mobile
Open Source Type Pad MobileOpen Source Type Pad Mobile
Open Source Type Pad Mobile
Hiroshi Sakai
 
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
devsumi2009
 
20090323 Phpstudy
20090323 Phpstudy20090323 Phpstudy
20090323 Phpstudy
Yusuke Ando
 
20090313 Cakephpstudy
20090313 Cakephpstudy20090313 Cakephpstudy
20090313 Cakephpstudy
Yusuke Ando
 
Linux Commands
Linux CommandsLinux Commands
Linux Commands
iwata
 
тупицын Ec2 Rootconf2009
тупицын Ec2 Rootconf2009тупицын Ec2 Rootconf2009
тупицын Ec2 Rootconf2009
Liudmila Li
 

Semelhante a Xircd Yapcasia2008 (20)

P2P Bug Tracking with SD
P2P Bug Tracking with SDP2P Bug Tracking with SD
P2P Bug Tracking with SD
 
Peeling The Onion For Ipdc Forum09 Mix Ver1
Peeling The Onion For Ipdc Forum09 Mix Ver1Peeling The Onion For Ipdc Forum09 Mix Ver1
Peeling The Onion For Ipdc Forum09 Mix Ver1
 
What Can Compilers Do for Us?
What Can Compilers Do for Us?What Can Compilers Do for Us?
What Can Compilers Do for Us?
 
Open Source Type Pad Mobile
Open Source Type Pad MobileOpen Source Type Pad Mobile
Open Source Type Pad Mobile
 
May POE
May POEMay POE
May POE
 
俄语GOST标准,技术规范,法律,法规,中文英语,目录编号RG 3705
俄语GOST标准,技术规范,法律,法规,中文英语,目录编号RG 3705俄语GOST标准,技术规范,法律,法规,中文英语,目录编号RG 3705
俄语GOST标准,技术规范,法律,法规,中文英语,目录编号RG 3705
 
Webken 03: Project Design for Optimaizing User Experience
Webken 03: Project Design for Optimaizing User ExperienceWebken 03: Project Design for Optimaizing User Experience
Webken 03: Project Design for Optimaizing User Experience
 
20081123-web2.0class
20081123-web2.0class20081123-web2.0class
20081123-web2.0class
 
Implementing SSH in Java
Implementing SSH in JavaImplementing SSH in Java
Implementing SSH in Java
 
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
 
20090323 Phpstudy
20090323 Phpstudy20090323 Phpstudy
20090323 Phpstudy
 
20090313 Cakephpstudy
20090313 Cakephpstudy20090313 Cakephpstudy
20090313 Cakephpstudy
 
20210119 OCIJP#14 オラクル大橋資料
20210119 OCIJP#14 オラクル大橋資料20210119 OCIJP#14 オラクル大橋資料
20210119 OCIJP#14 オラクル大橋資料
 
20090410 Gree Opentech Presentation (opening)
20090410 Gree Opentech Presentation (opening)20090410 Gree Opentech Presentation (opening)
20090410 Gree Opentech Presentation (opening)
 
Why CouchDB
Why CouchDBWhy CouchDB
Why CouchDB
 
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
 
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
 
Ribbit
RibbitRibbit
Ribbit
 
Linux Commands
Linux CommandsLinux Commands
Linux Commands
 
тупицын Ec2 Rootconf2009
тупицын Ec2 Rootconf2009тупицын Ec2 Rootconf2009
тупицын Ec2 Rootconf2009
 

Mais de kan (7)

自己紹介
自己紹介自己紹介
自己紹介
 
目指せ、テストカバレッジ100%
目指せ、テストカバレッジ100%目指せ、テストカバレッジ100%
目指せ、テストカバレッジ100%
 
Perlで「変なもの」を作ってみた
Perlで「変なもの」を作ってみたPerlで「変なもの」を作ってみた
Perlで「変なもの」を作ってみた
 
炊込みご飯の話
炊込みご飯の話炊込みご飯の話
炊込みご飯の話
 
Prettyfs
PrettyfsPrettyfs
Prettyfs
 
イントラの中のWiki
イントラの中のWikiイントラの中のWiki
イントラの中のWiki
 
MogileFSの利用と高速化
MogileFSの利用と高速化MogileFSの利用と高速化
MogileFSの利用と高速化
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 

Xircd Yapcasia2008

  • 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 のコミット、本体のコミットも 大歓迎