« 2006年08月 | メイン | 2006年10月 »

2006年09月16日

今月号のSoftware DesignでPlagger特集

Shibuya.pl のみんなで、Software Design 2006年10月号でPlagger特集の記事を書きました。

セキュリティキャンプ2006のレポートも載っていて今回も面白い記事がたくさんです。

Software Design 2006年10月号

[Software Design本誌]SD2006年10月号 ここに注目!

■今回だけの特別企画!Plagger登場

さらに今月だけの特別企画!「俺流Plagger活用術」と題し,Plaggerを徹底的に使いこなすためのノウハウを伝授します.「それPlaggerで」と言われて,何だろう?と思った方,Plaggerに興味はあるけど調べる時間が…という方,もっともっとPlaggerを知りたいという方に朗報です.

Plaggerのしくみ,使い方,応用サンプル,Plaggerのこれから,etc.
Plaggerな方々による徹底解説をお届けします!

Plaggerの開発は非常に活発で、雑誌が出る間にインストールの記事の内容はもう古くなってしまっているのですが、Perlのソースコードのコンパイルから手順を書いているので、いろいろ応用はきくと思います。困ったときはフォースを使ってPlaggerをインストールしてみてください。

実際には各OSのrpmやdeb、PPMなどのバイナリパッケージを利用してインストールするのが一番簡単だと思います。

FreeBSD なら

portinstall textproc/p5-Plagger

のコマンド一発でOK。

Debian Hansode Package を使えば apt-lineを追加し、apt-getするだけでインストールが完了。

worepo は Fedora Core で yum install perl-Plagger できる素晴らしいリポジトリです。

http://ppm.tcool.org/ を使えば WindowsのActivePerlで PPM install が可能です。

どうぞご利用下さい。

2006年09月15日

ERP5 - Python/ZopeベースのオープンソースERP

Nexediの奥地さんが来日されているということで、SEA & FSIJ 合同フォーラム 2006年9月~オープンソースERP「ERP5」によるビジネスとテクノロジー~に行ってきました。

他の参加者(嘉平さん、yutakashinoさん)のレポート:
2005/01/12 Plone研究会「ERP5」
2006/09/15 SEA & FSIJ 合同フォーラム
2006/09/15 Nexedi 奥地さん

一応オフレコの部分は削除したつもりですが、自分用のメモを公開してみます。

■ERP5

Pythonで書かれたオープンソースERP

■ERPの概念

ERP = Enterprise Resource Planning
短いプロジェクトで3ヶ月、長いもので1年から3年

典型的な会社
 開発部
 人事部
 経理部
 販売部
 マーケティング部
→各部署でたらい回し、情報共有がされていない

ERPフレームワーク
 人事管理(HR)
 会計管理(Accounting)
 生産管理(PDM)
 顧客管理(CRM)
Webパブリッシング(CMS)
 紙:カタログ、パンフレットも
オンライン取引(eCommerce, eProcurement)

→データの重複は悪、同期の手間がかかるし、システムも複雑になる

■ERPの最近の潮流

オープンソース
 カスタマイズ性能
 ベンダーロックインからの解放
 コスト削減効果

ベストプラクティスの提唱←→実際の業務はそれぞれのやり方がある

Webベース
 ユビキタス
 ファイアウォール
 インターネット

日本では気付きにくいが、世界には回線事情がとても悪い会社もある
衛星回線、パケット遅延0.5秒、入力タブの移動で2秒かかる製品も?

■ERP5とは

ERP5はシミュレーションベースのERP
 会計ベースはシステムのずれに弱い
 出荷、一日遅れで届く、検品すると数が違う

ERP5は…
 事実だけを1次データベースに保存する
 2次データベースはMySQLを併用して高速化

導入実績:
 服飾産業、航空宇宙産業、中央銀行、病院、政府機関、地方自治体など

通貨の発行管理、窓口業務の管理、紙幣の追跡、入院・医療行為の管理など
といったニッチな複雑な業務もERP5のフレームワーク上で構築

アパレル業界(ERP5の最初の顧客)では
 大きさ、色、デザイン、バストサイズなど...多次元データの商品を扱う

雑誌での評価

Decision Informatique(フランスの経営者向けIT雑誌)
 ERP5が最優秀賞を受賞
Computerwoche(ドイツで最も有名なIT雑誌)
 ERP5を特集、infoterra 偵察衛星写真の販売業務でERP5を採用(SAPと比較)
 ユニログノジカCMS、ヨーロッパで第3位のコンサルティング会社

■なぜOSSがビジネスになるか?

Nexedi(研究開発)
  パートナー(インテグレーション)
     顧客(利用、メンテナンス)

プロジェクトの複雑度
 =ワークフロー+文書+カテゴリ+インタフェース

プロジェクトの期間
 =意思決定が行なわれてから現場で利用できる
  水準に達するまでの経過時間

お金はある?時間はある?
    ↓
 1. Do it yourself (お金はないけど時間がある)
 2. トレーニング  (→OSSビジネス)
 3. コンサルティング(→OSSビジネス)
 4. No Way     (お金も時間も全然ない)

■ERPの技術的特異性

ミッションクリティカル
 止まるとヤバイ
データの種類が多い
 50~300が普通
データ量が多い
 1000取引/日でも一年で30万取引
 国民全員だと数十億のオブジェクト数
 ちなみにヒトゲノムは4GB
書き込みが頻繁
 キャッシュ効率やスケーラビリティの問題

■技術面から見たERP5

99% Python(残り1%は主にC)
 オブジェクト指向(後付、2.2ぐらいからマシに)
 メタプログラミング(データ種が多い、クラスの動的自動生成)
  Lisp?(括弧が多い) Ruby?(大規模開発には向いていない)
Zopeベース
 オブジェクト・データベース(ZODB)
 Through The Web(TTW)、ユーザにとってウケがいい
 Productによる拡張

キャパシティの計算などがCで書かれている
javaで書かれているのもあるけどgcjでコンパイル

■ZSQLCatalog
 Zope Product
  Zopeの機能を拡張
 ZCatalog互換
  Zopeの標準機能からの以降が容易
  オブジェクトのインデックス化
 リレーショナル・データベースを利用
  MySQL(単純に非常に速いから)

■O/R Mappingの問題点

Document
 ID:1023
 Title:Hoge
 Content:Fuga
変更に弱い(Author:Okujiを追加)
ALTER TABLE はテーブルロックがかかる
テーブル数が多い場合、レコード数が10億とか、業務が止まる

列が多過ぎ
 性能低下、システムの制限
ロックの粒度が粗過ぎ
 数学的厳密性ゆえの宿命
表が多過ぎ
 ロジックの分散、システムの制限

InnoDBはインデックスをロック、対象データの前後のレコードもロックする場合も

■オブジェクト・データベース

ID:1023
Serialized Data:0x821203FD678

欠点:検索がそのままではできない
 →ZSQLCatalogによる解決

データベースを1次のZODBと2次のMySQLに分ける

Zope←オブジェクトデータ→ZODB
ZODB←遅延評価→MySQL
MySQL←検索→Zope

■ZSQLCatalogの利点

変更に強い
検索が速い
必要最小限の列で十分
少数の表で十分
低速なインデックス作成を後回しにできる
複数のデータベースを持つことによって
使いながらインデックスを作り直すことができる
(Hot re-index)

■興味のある方は…

詳細は http://ERP5.org で。ソースコード、RPM、Live CD をダウンロードできます。

2006年09月12日

Development Environment Conference 報告

事前登録開始から最速4分で締め切られたという超人気カンファレンス Development Environment Conference (通称:DECON) に行ってきました。無理やり日本語に訳すと「開発環境会議」ということで、Eclipse とか VisualStudio とかの話を期待していた人は完全にスルーでした。本当にありがとうございました。スピーカー陣の構成からしてそのような話を期待していた人はいなかったと思いますけど。

ということで、DECONの各セッションで印象に残った点や感想をまとめてみました。

Development Environment Conference 準備中

はてなと私の開発環境(伊藤直也)

会社では半分以上がプログラマ(21人中12人)で、11人がPerl使いで、1人がRuby厨。終始id:secondlife氏がネタにされていました。id:higepon氏はUbuntu Linuxを使っていて、その他の人は Windows coLinux/vmware もしくは MacOSX を使ってローカルで開発している。エディタは大半の人がEmacsを使っていて、vimは少数派。シェルは zsh、バージョン管理は subversion と Switchtower (Capistrano) を使っているとのこと。

bash, CVS は小学生までらしいです。

GNU screen + zsh でコマンド履歴を共有。さらに screen な環境で ssh-agent。はてなのサーバはたくさん(250台以上)あるので、LDAP + NFS + keychain で他のサーバに簡単にログインできるの環境を構築している。

さらに便利な小粒ツールとして紹介していた perlsh。Ruby でいう irb の Perl版みたいなもの。しかし、perlsh のデモで 1 * 5 を打つのはどう見ても小学生だと思いました。ほんとうに(ry

[まとめ]
GI○AZINEはそろそろ痛烈にDIS(ry

Agile Web Development with 萌ディタ Reloaded(mala)

・28%ルール
・Alpha vs. 萌ディタ
・半透明82%でIRC
・それWEBrickでできるよ
・それAutoHotkeyでできるよ
・JavaScriptのデバッグは alert debug
 - alert_once
 - window.status debug
 - document.title debu

[まとめ]
ライブドアデパートで売ってるショートカットキー専用のキーボードがお買い得
今なら5500円

Windows Environment & Vim(secondlife)

ジョーバでダイエット(7万円もした)
M+BITMAP FONTS ビットマップフォント好き
Windowsならgvimがお勧め(グラフィカルで高速)

[まとめ]
Shibuya.vim 開催したい!

Binary Hacks in Action(高林哲)

straceで深追い
gccを追いかける
gdbアタッチの応用
gdbでアタッチしてcall chadir(...)でOK
call setvbuf(stdout,0,2,0)
objdump

[まとめ]
オライリーから Binary Hacks 本が出るよ!

Hacking Vox and Plagger(宮川達彦)

CentOS on Xen で開発
rpm + mantle(独自インフラパッケージ)
CPAN::Mini で minicpan
svk pull して svk push

[まとめ]
svnは小学生まで。svkを使おう!ack便利!

オレポータビリティ(青木峰郎)

自宅に TRUE64UNIX Tru64 UNIX や AIX の環境がある!
俺のポータビリティを高めるためには?

[戦略]

(1) 必須ソフトウェアを限界まで削る
  vi大好き、bashでも気にしない
(2) カスタマイズしない
  No Configuration is Good Configuration
(3) ホームディレクトリの構成は全マシンで共通化する
  Convention over Configuration
(4) 徹底的にバージョン管理
  副作用として共有

[まとめ]
あたりまえのことを徹底的にやるのがポイント
キーボードのテンキーを鋸でぶった切る

私は未だに vim じゃなくって nvi-m17n を使っている old type なので、カンファレンスの内容は大変参考になりました。スピーカーの皆さん、どうもありがとうございました。

2006年09月07日

セキュリティキャンプ2006のGyaOニュースが9月10日で放送終了

ちょうど1ヶ月前、経済産業省主催のセキュリティキャンプ2006に講師として参加させていただいたのですが、そのとき取材を受けたニュース映像の配信が今週末までとなっています。(一応、私も少しだけ映っています)

セキュリティキャンプ
講義の様子
ハッカー検事

IT-PLUS: 「『マジヤバス』は法律にひっかかる」・“ハッカー”検事がセキュリティキャンプで講演
http://it.nikkei.co.jp/security/news/index.aspx?n=MMITca000011082006

子供たちに関心をもってもらおうとネットの掲示板サイトで使われているスラングを多用。「『ちょいヤバス』と思ったら罰金ぐらい。『マジヤバス』と思ったら絶対に法律にひっかかってる。法律が禁止してないから何やってもいいというのは『DQN(ドキュン)』」などと話した。

↓(省略されました・・全てを読むにはここを押してください)

==========================================================
★☆★09月10日放送終了の番組★☆★

【ニュース・ビジネス】ニュースGyaOアーカイブ〔NET〕
「セキュリティ・キャンプ」にITエリートたちが集結(番組時間10分)
http://www.gyao.jp/sityou/catedetail/contents_id/cnt0018685/

==========================================================

実態は日本全国から選抜した少数精鋭の若者を対象にしたスパルタ合宿なのですが、一般の人たちにもわかりやすく楽しくまとめていただきました。GyaOのスタッフの皆様ありがとうございました。

ちなみに、セキュリティキャンプの趣旨については各種ネット系メディアの記事で触れられています。

ITPro: 学生に第一線の技術を叩き込む「セキュリティキャンプ2006」,経産省が開催
http://itpro.nikkeibp.co.jp/article/NEWS/20060808/245468/

毎日新聞: IT技術者のインターンシップ 高校生、大学生が合宿
http://www.mainichi-msn.co.jp/shakai/edu/elearningschool/class/news/20060816org00m040053000c.html

ITmedia: タテヨコの「つながり」を作ろう――セキュリティキャンプ2006開催
http://www.itmedia.co.jp/enterprise/articles/0608/18/news057.html

ITmedia: 頭の柔らかいうちにセキュリティ体験を――ラック三輪氏
http://www.itmedia.co.jp/enterprise/articles/0606/29/news074.html

もうちょっとしたら物理媒体の雑誌にもセキュリティキャンプ2006の特集記事が載るらしいです。

2006年09月06日

LL Ring - Language Update / Perl 5.9.4 の説明に間違いがありました

ソフトバンク クリエイティブ様のご好意により、LL Ring の動画がストリーミング配信されています。以前YouTubeにアップされていた動画に比べると映像もくっきりしていて音ズレも感じません。さすがプロの技、素晴らしいです。実は当日、控室にいて見れなかったセッションもがほとんどで、川合史朗さんのハワイ中継(S式によるプレゼン)を初めて観ています。関係者の皆様どうもありがとうございました。

実はこの中の Language Update の Perl 5.9.4 の説明で一部間違いがありました。

[誤] UNIVERSAL::require は標準添付されていません
UNIVERSAL::require は標準添付されていません

[正] 標準添付されたのは Module::Load の方でした
標準添付されたのは Module::Load

Module::Load vs. UNIVERSAL::require

この場を借りてお詫び・訂正させていただきます。

LL Ring の公式サイトからは(9/4~)訂正済みの資料をダウンロードすることができます。
間違いの残っている古い資料は弾さんのページで見ることができます。

どちらもモジュールの遅延ロードを行なうCPANモジュールなのですが、Perl 5.9.4 で Module::Load がコアモジュールとしてバンドルされました。Catalyst で使われている UNIVERSAL::require も捨てがたいのですが、今後は Module::Load が使われていく機会が増えていくのかもしれません。

まるごとPerl! Vol.1

ということで、真面目な Perl の Language Update の方は「まるごとPerl! Vol.1」にきちんと書いてありますので、興味のある方はぜひ手にとって読んでみてください。LL Ringの会場では30分で売り切れ、ただいま第2刷で増刷中だそうです。

2006年09月02日

LL Gong - Plagger is a LL 動画公開

先週の LL Ring の発表の様子を撮影した動画がYouTubeで公開されました。
動画を撮影されたshibasrさん、話をつないでくれたuemuraさん、ありがとうございました!

View LL Gong - Plagger is a LL at YouTube

LL Ring のチケットを買えなかった人、地方在住のため今回は参加できなかった人も多かったようで、
YouTubeの動画で少しでも会場の雰囲気を味わっていただければと思います。

発表資料のスライドはLLの公式サイトでダウンロードできるようになっています。

でも、やっぱり現地の空気を肌で感じるのが一番です。
次回はぜひ会場にお越しくださいませ。