hacking vox and plagger
DESCRIPTION
at DECON (Developers environment conference) 2006 in Tokyo.TRANSCRIPT
Hacking Vox and Plagger
Tatsuhiko Miyagawa [email protected]
Six Apart, Ltd. / Shibuya Perl MongersDECON 2006, Tokyo
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
アジェンダ
私の開発環境 Vox の開発環境 Plagger の開発環境 svk でオフラインハック おまけ Tips
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
私の開発環境
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
メインマシンThinkPad X40
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
Debian SargeVMWare Player
+ Qemu
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
PuTTYscreentcsh
emacs21
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
おすすめフォントConsolas
#!/usr/bin/perluse strict;use warnings;
print "Hello World";
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
screen の切り替えCtrl-t
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
tcsh
> ls ~/.tcshrc* /home/miyagawa/.tcshrc@/home/miyagawa/.tcshrc.alias@/home/miyagawa/.tcshrc.bindkey@/home/miyagawa/.tcshrc.complete@/home/miyagawa/.tcshrc.set@
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
開発環境
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
Vox 開発チーム
バックエンドフロントエンド (JS)
フロントエンド (HTML/TT/CSS)その他いろいろ
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
バックエンドチーム
DatabaseWeb APIs
Catalyst App
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
XenCentOS
> uname -aLinux miyagawa 2.6.12.6-xenU #1 SMP Fri Apr 7 12:46:13 PDT2006 x86_64 x86_64 x86_64 GNU/Linux
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
マシン名{username}.dev
# via VPN> ssh –l comet miyagawa.dev
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
アプリケーション*.vox.com.miyagawa.dev
> cat /etc/resolv.confsearch sixapart.com
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
アプリインフラrpm + mantle
[root@mantle]# ls6arpmbuild RPMS SPECS build.log BUILD SOURCES SRPMS [root@mantle]# ls SPECSData-YUID.spec aspell-fr.spec ffmpeg.spec mogstored.specIO-AIO.spec aspell-nl.spec flvtool2.spec perlbal.specTheSchwartz.spec aspell-no.spec libevent-1.0-rf.spec pspell012.specaspell-da.spec aspell-pt.spec mantle.spec rbldnsd.specaspell-de.spec aspell-sv.spec memcached.spec spread.specaspell-en.spec aspell.spec mogilefs.spec squid.specaspell-es.spec cvs.spec mogilefsd.spec
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
Xen からの利用
> svn co http://svn.sixapart.com/repos/…> sudo yum update mantle2> sudo yum install perlbal
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
以上
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
開発
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
オープンソース開発モデル
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
平日の昼間 : Vox平日の夜 : Plagger
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
平日の昼間 : Plagger平日の夜 : Vox( 忙しいとき )
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
暇なときに開発気が向いたらリリース
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
テストドリブン
/home/miyagawa/svk/plagger> find t -name \*.t | wc -l153
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
t/core: コア機能t/plugins: プラグインt/regression: 回帰
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
Test::Baseデータドリブンテスト
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
Test::Chimpschimps-smoker.pl
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
http://plagger.org/chimps-server
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
タスクの自動化
chimps-smokerrelease.pl
plugin-start.pl
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
DRY
Test::Basedeps/*.yaml
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
以上
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
svk
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
So Many Flights
1/7-11: Taiwan1/13-3/8: San Francisco4/27-5/1: Taiwan6/25-7/6: Chicago, Boston, New York7/22-28: San Francisco, Portland8/5-8: Miyako, Okinawa8/28-9/6: London, Birmingham
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
Hack on the flight!
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
Offline commits
> svk cp //mirror/plagger/trunk //local/plagger-trunk> cd ~/svk/plagger-trunk> svk switch //local/plagger-trunk…> svk commit> svk commit…> svk push
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
Merging is dead easy
> cd ~/svk/plagger/branches/foo> svk smerge //mirror/plagger/trunk/plagger > svk commit
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
CPAN::Mini
> minicpan –r http://www.perl.com/CPAN/ -l ~/minicpan
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
Idea: Search CPANfor minicpan mirror
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
Idea: Wikipedia
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
以上
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
おまけTips
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
ack
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
> perl -MClass::Autouse=:superloader -de 1DB<1> $cgi = CGI->new
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
alias
cm ./configure && makedc cde emacs –nwl lessmaek makeh historyj jobspmf perl Makefile.PLmkt make testrm mv !* ~/.Recycledsl lssx screen –xx exit
Tatsuhiko MiyagawaTatsuhiko Miyagawa 2006/09/08 Dev Env. Conference2006/09/08 Dev Env. Conference
ありがとうございました
ご質問?