狠狠撸

狠狠撸Share a Scribd company logo
Inside ○○ Tokuhiro Matsuno 2007-01-19(Fri) MF × mixi.
ようこそ ○○さん ○○というサイトの開発についてモチモチと。 マッタリホゲホゲ。 フンスカスカスカ。 あんなことやこんなこと。
○○ とは ○○に○○のっけてもらうアレ このページは政治的な都合により公开时に削除されます。
サーバ構成 cron log 13台。 LB App. App. App. App. Web Web Movie Movie Master Slave
使用ソフトウェア LB(pound) apache1.3 + mod_perl(app.) apach2.0(web) perl 5.8.4 pure-ftpd MySQL 4.1
監視について Watch2 という自社開発のもの。
Watch2 modules. Officer Agent Agent::HTTP Agent::FTP ... Notify Notify::IRC Notify::Mail
監視系構成 サーバー サーバー サーバー サーバー サーバー サーバー サーバー サーバー サーバー サーバー IDC 社内 外形監視サーバ SAKURA 外形監視サーバ 内形監視サーバ
なんで  Nagios  使わないの? 設定おぼえんのめんどい 今設定されてないから。 Watch2  は設定されてるから。 うち独自の監視がやたらあるから。 監視の  check_*  はつかいまわしてもよいかも。
Watch2 捨てたい 使ってるモジュールがダサい。 設定直書きがダサい。 勘弁していただきたい。 Testability  に乏しい 設定ファイルがダサい。 Perl  のコードをモリモリ書いとる
阿修羅 * Plagger ぽいサーバテスティングフレームワーク Nagios  の次、にならないかな fork  してもいいんだけど。 検閲
監視の明日はどっちだ Nagios 使う 阿修羅 * 使う Watch2  を改良する まだわからない。わからない。
使ってるライブラリのはなし どんな  perl  のライブラリ使ってんのよ、みたいな。
使用ライブラリ YAML Path::Class Test::Base List::Util List::MoreUtils URI Jcode Encode XMLRPC::Lite URI::Fetch UNIVERSAL::require Template-Toolkit RPC::XML Params::Validate Net::Google JSON::Syck GD::Image
使用ライブラリ (2) HTTP::MobileAgent GD::SecurityImage GD::Graph FindBin Cache::Memcached DateTime Data::Vlistor::Callback HTML::TokeParser
DBIC 使ってます。 CDBI 使ってたサイト -> DBIC に。
DBIC になってよかったこと JOIN を適切に扱える 割と複雑な  SQL  でも扱える SQL  を書くこともできるけど、 DBIC  で書いた方が便利こちゃん 接続先を変えたりできるようになった CDBI  がおかしいねん 必ず呼ぶ子テーブルは  prefetch  で  JOIN  できる もう  CDBI  なんて使えない
CDBI to DBIC  の移行方法 インスタンスメソッドを移植 ほほコピペでいけるw トリガーを移植 ちょっとがんばる クラスメソッドは徐々に移植させていけばおk
CDBI  を捨てる CDBI  を使用したプログラミングはバッドノウハウの塊。 コネクションがクラス変数にはいってる わけわからん unko 死ねばいいのに イテレータがうんこ メモリ喰いまくる unko 死ねばいいのに
社内の IRC のはなしとか モチモチと。
IRC  と  Issue Tracking System  の連携 社内 IRC #○○ で会話 直接話しかけられたらダマレコノヤロウと言う EggPlan  という独自の  Issue Tracking System 割と使いやすくなってきてる 公開したい やるぞ!システム
IRC  と  Issue Tracking System  の連携 (2) 15:30 <takumi>  松野さんマイページのバナーとってくださいー 15:31 <tokuhirom>  ふむー 15:31 <tokuhirom>  ふむー 15:31 <tokuhirom>  ふむー 15:31 <tokuhirom>  まぁ、とってやらんこともない。 15:31 <tokuhirom>  やるぞ !! 15:31 <EggPlan-Bot> http://egg-plan.iiiiiiinnnnt/5253
IRC  と  Issue Tracking System  の連携 (2) 過去10行の IRC ログを ITS に簡単登録。 IRC で会話することにより、ログが完全にのこる 言った言わない問題の回避
OS のこと Debian  3.0 Sarge(stable)  つかってる。 安定しまくってる。 aptitude  で管理楽ちん どうしても新しいの使いたければ自分でコンパイルしてる 管理が楽。 ちょっとソフトのバージョン古いときがあるけど。 新し物好きのは○なには向いてない
モジュール選定基準 – 誰が作ったか × ○ 検閲
モジュール選定基準 コードの質 Perl4  っぽいのは駄目。 IRC  で「このモジュールどうよ?と話ふってみる」 使ってみて動くやつ インストールできたやつ テストあるやつ
フレームワークについて Sledge + MoFedge Sledge by livedoor miyagawa and sledge authors ごく安定。 MoFedge by mobile factory extend Object class.
Sledge MVC Framework. M はなにもしてくれないけど。 DBIC/CDBI使えや 古い 安定 かれてる
Sledge  のプラグインたち AutoEscapeTT ShowImage URIWith Stash Inflate DownloadCsvSelected JSON Captcha DebugScreen DebugMessage
S::P::DebugScreen 開発環境での  Error  時 スタックトレース表示
S::P::DebugMessage Session stash DI の情報がわかる。
S::P:: DownloadCsvSelected HTML => CSV convert by XPath + Text::CSV_XS
MoFedge CLI でも Web と同じ感覚でプログラミングしたい Command Line Interface 似てる。 CLI のコントローラ Web App. のコントローラ
CLI と MoFedge プラグイン共通化の余地 $c->log $c->model $c->config おなじでいい。
MoFedge 共通化の余地のあるものを共通化しておく。 MoFedge.pm $self->config $self->base_name MoFedge::DateTime wrapper for DateTime MoFedge::Mail wrapper for MIME::Lite MoFedge::Plugin::DBIC $self->model DBIC
テストについて 自動化テストはぼちぼち。。。 モデルのインスタンスメソッド モデルのトリガー 複雑なロジック はテストしてる。 あとは手動がメイン。 ケータイは実機チェックがやっぱ必要よねー。
おしまい。 検閲

More Related Content

Inside MF