Backlogでの
Perlのつかいかた
   山本 竜三




           Fukuoka Perl Workshop #13
                          2009/08/22
自己紹介

山本 竜三
 –   やまもと りゅうぞう
 –   株式会社ヌーラボ所属
 –   dragon3
お題


    Backlogでは
    どんな感じで
Perlを使っているの?
予定
• Backlogってなに?

• 全体の構成

• どんなふうにPerlを使っているか?
Backlogってなに?
•   プロジェクト管理ツール
    –   課題管理
    –   Wiki
    –   Subversion
    –   ファイル共有(WebDAV)
Backlogの構成
Backlogの構成 - メイン
Backlog ≒ Java ?


  メインは
  Javaです
Backlog での Perl利用歴
•   2006年
    –   運用やメンテナンス系をPerlで
•   2007年
    –   徐々にアプリにも拡大
         •   メールでコメント登録
         •   Su...
Backlogの構成
Backlog = Java + Perl ?
•   Java
     –     Webアプリケーション (PC版)
     –     日次メール送信
•   Perl
     –     Webアプリケーション
         ...
携帯版Webアプリ - 構成
•   Backlog::Mobile
•   Catalyst (5.80007)
•   DBIx::Class
•   TT
•   日本&携帯的
     –   HTTP::MobileAgent
   ...
携帯版Webアプリ - Catalyst
•     Moose的実装が便利
use Moose;
override 'uri_for' => sub {
    my ( $c, $arg ) = @_;
    my $uri = supe...
携帯版Webアプリ - 絵文字
•   絵文字のキャリア間変換
    –   変換用のView作成
    –   HTML::Entities::ConvertPictogramMobileJp
•   Backlog独自の絵文字
    ...
携帯版Webアプリ - データアクセス

•   データの参照はDBに直接アクセス
    –   MySQLマスター/スレーブで負荷分散(予定)
•   更新系はPC版WebアプリのAPIを使用
    –   XML-RPCで
    – ...
運用Webアプリ - 構成
•   CGI::Application
•   Class::DBI

… 古くからあるのです
SubversionやWebDAVの認証
•   Backlog::Apache
•   mod_perlハンドラ
    –   PerlAccessHandler
    –   PerlAuthenHandler
    –   Perl...
Subversionフック
•      Backlog::SVN::Hook
•      (pre|post)-hookでキックされる
    #!/bin/sh

    PERL=/usr/bin/perl
    REPOS_PATH...
まとめ と これから
•   Backlogでは結構Perlを使っています
•   実運用での事例として紹介しました

•   これからは”モダン”に使っていきたい
ご清聴
ありがとうございました
Upcoming SlideShare
Loading in...5
×

Backlogでの Perlのつかいかた

1,672

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,672
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Backlogでの Perlのつかいかた

  1. 1. Backlogでの Perlのつかいかた 山本 竜三 Fukuoka Perl Workshop #13 2009/08/22
  2. 2. 自己紹介 山本 竜三 – やまもと りゅうぞう – 株式会社ヌーラボ所属 – dragon3
  3. 3. お題 Backlogでは どんな感じで Perlを使っているの?
  4. 4. 予定 • Backlogってなに? • 全体の構成 • どんなふうにPerlを使っているか?
  5. 5. Backlogってなに? • プロジェクト管理ツール – 課題管理 – Wiki – Subversion – ファイル共有(WebDAV)
  6. 6. Backlogの構成
  7. 7. Backlogの構成 - メイン
  8. 8. Backlog ≒ Java ? メインは Javaです
  9. 9. Backlog での Perl利用歴 • 2006年 – 運用やメンテナンス系をPerlで • 2007年 – 徐々にアプリにも拡大 • メールでコメント登録 • Subversion+WebDAV機能の追加 • 2009年 – 携帯版開発でPerlを採用 • プロトタイプがそのまま...
  10. 10. Backlogの構成
  11. 11. Backlog = Java + Perl ? • Java – Webアプリケーション (PC版) – 日次メール送信 • Perl – Webアプリケーション • 携帯版 • 運用システム – SubversionやWebDAVの認証 • mod_perlハンドラ – Subversionフック • 容量チェックやコミットメール送信 – メールでコメント登録
  12. 12. 携帯版Webアプリ - 構成 • Backlog::Mobile • Catalyst (5.80007) • DBIx::Class • TT • 日本&携帯的 – HTTP::MobileAgent – Net::CIDR::MobileJP – Encode::JP::Mobile – HTML::Entities::ConvertPictogramMobileJp – Lingua::JA::Regular::Unicode
  13. 13. 携帯版Webアプリ - Catalyst • Moose的実装が便利 use Moose; override 'uri_for' => sub { my ( $c, $arg ) = @_; my $uri = super(); if ( $c->stash->{space} ) { $uri->path( '/' . $c->stash->{space}->space_key . $uri->path ); } return $uri; }; Backlog::Mobile
  14. 14. 携帯版Webアプリ - 絵文字 • 絵文字のキャリア間変換 – 変換用のView作成 – HTML::Entities::ConvertPictogramMobileJp • Backlog独自の絵文字 – 単に画像タグへの置換 • PC版Webアプリにも同様の変換を実装
  15. 15. 携帯版Webアプリ - データアクセス • データの参照はDBに直接アクセス – MySQLマスター/スレーブで負荷分散(予定) • 更新系はPC版WebアプリのAPIを使用 – XML-RPCで – WebService::Backlog
  16. 16. 運用Webアプリ - 構成 • CGI::Application • Class::DBI … 古くからあるのです
  17. 17. SubversionやWebDAVの認証 • Backlog::Apache • mod_perlハンドラ – PerlAccessHandler – PerlAuthenHandler – PerlAuthzHandler – 他
  18. 18. Subversionフック • Backlog::SVN::Hook • (pre|post)-hookでキックされる #!/bin/sh PERL=/usr/bin/perl REPOS_PATH="$1" REV="$2" TOTAL_COMMIT_SIZE=`cat "${REPOS_PATH}/db/revs/${REV}" | wc -c` REPOS_PATH="$REPOS_PATH" REV="$REV" COMMIT_SIZE="$TOTAL_COMMIT_SIZE" DSN="dbi:mysql:database=backlog;host=db" $PERL -MBacklog::SVN::Hook -e 'Backlog::SVN::Hook->new->post_commit'
  19. 19. まとめ と これから • Backlogでは結構Perlを使っています • 実運用での事例として紹介しました • これからは”モダン”に使っていきたい
  20. 20. ご清聴 ありがとうございました
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×