« 親父がRubyプログラミングに挑戦しようとしている… | メイン | Perlで映像ファイルのサムネイルを作成する »

Shibuya.pm テクニカルトーク #7 メモ

先ほどまで行われていた、Shibuya.pmのテクニカルトーク #7。 参加したかったけど気づいたら締め切り状態なので、家からストリーミングで参加しました。 以下そのときとった、ざっくりとしたメモでーす。面白かったー

■Amazon Web Services, S3 and EC2 (Emerson Millsさん)

ヴァーチャルサーバー機能とストレージ機能を提供
なんか試したくて、Catalystをそこで動かしてみた
cpanの時間がかかる
OS?のimageをインスタンスとして起動できる
Apacheとかソフトが入っているimageがある
レンタルサーバーと違うところ、レンタルはハードができたときにインストール
これは好きなときにインストール
起動に5分くらい、何が走っているのかamiのIDで確認できる
1時間前くらいに起動したイメージでいろいろ試してみましょう
SSHでみんなログインできる!
価格月1インスタンス8000円くらい
データストレージもやすい

みんなでログインすると面白い
screen入ってた、catalyst起動させた

Perlは事前から入っている
Catalystの入ったイメージを作ったりしたい

■Catalyst+Lighttpdテクニック (typesterさん)

Lighttpdは軽い、小さい、高速、スタンドアローンでも
割と必要な機能、modはそろっている
LighttpdとPerlはFastCGIを使う
アプリケーションごとにモジュール空間が別になる
アプリケーションだけ個別に再起動できたりする
欠点は複数アプリを立ち上げるとメモリを食う、プロセス数が固定
正直、でも、めんどい、Catalystと組み合わせるともっとめんどい
めんどいのヘルパー作った、パッチも作った
ヘルパー: http://svn.unknownplace.org/public/library/perl/trunk/Catalyst-Helper-Light
Lighttpdの面白いところ、include_shellはシェルコマンドの出力を設定として読み込んでくれる
Lightyをスタンドアローンサーバーで動かせばテストサーバーになるんじゃね?
Catalyst組み込みサーバーの代わりとして、不満があるからね
ちなみにvoxはmod_perl1.xでCatalystを動かしている スタティックはperlbal by miyagawaさん
湘南Clipアルバムで使っている http://album.shonan-clip.jp/
Lighty + Catalyst + X-Sendfile + MogileFS
Catalyst::Helperをもっと活用しよう

■PMConnect: Perl - SpiderMonkeyバインディング(樋口証さん)

SpiderMonkeyとPerlをバインド js <-> Perl
SpiderMonkeyっていうのは元祖のJavaScriptインタプリタです
Firefoxに入っているやつです、サーバサイドでも使えるがライブラリが少ない
JSのライブラリ補完としてWindowsだとCOMをサポートすればいいがUnix系だとPerlのライブラリをいただくというのがアイデア
GD.pmをJavaScriptから使う例
new Perl('GD::Graph::' + gi.klass, 500, 400);とかできる
jsplコマンドjs <-> Perlのインタプリタ
デモのソースコード
http://ajaja.alphageek.jp/trac/browser/trunk/ajaja/pmconnect/samples/gdgraphuc2.js
FastCGIをJSで、すげー
http://ajaja.alphageek.jp/trac/browser/trunk/ajaja/pmconnect/samples/fcgi.js
SQLite
http://ajaja.alphageek.jp/trac/browser/trunk/ajaja/pmconnect/samples/sqlite.js
javascript で DBICとかできる??
JSANというのがあるらしいがあまり活発ではないらしい、なのでこれはすごい有効
データの相互変換
http://project-p.jp/halt/sandbox/js/pm.cgi
[これはすごい]

■実践 MogileFS 構築事例 〜 Catalystと一緒 〜 (ZIGOROuさん)

ストレージ神経使う<それMogileFSでできるよ
danga.com(SixApart)で開発された
作者はブラッドさん、池面ハッカー
LiveJournalやvoxで使われている
まだ運用実績が少ない
使える言語は公式ではPerl
client ネットワークを介したハンドル
trackersが司令塔、状態をdabaseで管理
mysql database cluster
storage node 、DAVサポートhttpd
イメージ(中国語w)
http://tk.files.storage.msn.com/x1pM0jCSUoiRhDgmdS6cLmNXUWHwGWGrFw2xYRkmdTAkNBbubhl2_DHwi1WBT6lGyo0kWxWy67uDeSQmFxY6mF2da_Hg04W-v-XiY04JeE9csExxHxbFaUNgEmu8tVm7n62RBtgi2ISzxA
コマンド、mogtoolを使ったデモ
失敗することがあるからレプリケーションを増やしておいた方がいい
Client、Constructorのパラメーターにドメインを指定
newa_file methodでファイルを作成…、rename keyからkeyへ
Catalystと一緒の場合
アップロードのプロセスに使ったら便利そう、でもちょっと無謀だった
ファイルアクセス、Helper作ったら便利そう
利点は分散ファイルシステムかな
実運用しているさせている方がいたらお知らせを
その一つ: http://www.sixapart.jp/techtalk/2006/10/dev_mogilefs.html
http://code.sixapart.com/cgi-bin/viewcvs.cgi/?root=TheSchwartz
code six apartに、[ソース嫁] … by miyagawaさん

■Lightning Talks

▼Using Test::Base (miyagawaさん)
お知らせ、miyagawaさんビザを取得したので11月よりSix Apartの本社で働く!!
というわけで今後、Shibuya.pmのリーダーはtakesakoさん
Test::Baseの話
データドリブンのテストフレームワーク
Test::Moreと互換性がある
データセクションの中にどんどんテストを書いていく
__END__のあとでYAMLを書く
evalしてchompする
独自のfilterがあって、まとめるfiltersってのがある
Test::BaseでテストできるのがいいAPI
http://blog.bulknews.net/mt/archives/Test-Base.pdf
http://yapc.kwiki.org/data-driven-testing/start.html
▼ppm パッケージができるまで (charsbarさん)
Perlの枠を超えたDeployツール
モジュールに依存していると弱いので、PPMに過大な期待をしないように
PPM::MakeとかでWinに対応しないとかCygwinのTarとか使う
いろいろ苦労している
テストがこけたとき、古いModule::InstallとかKwalitee偽装とかだったり
▼俺とマッシュアップ (上野宣さん)
携帯から位置情報を定期的に送るってのをやりたい
サーバーからとりたい
Wilcomでもできるけどー、年間27万円!?
ここだよ、見つけて!ってのは月額1000円
この画面に緯度とか経度とか入っている
[それPla][俺Pla?]
JSONあたりで発信する
俺を世界へ
誰でも俺の位置を把握できる
「俺とマッシュアップしませんか?」というのがこれからのWeb2.0時代の口説き文句
▼今空前のブーム第2部:deploy tool編 (松野徳大さん)
もうブームは去った??
みんな飽きちゃった
deploy toolとはサーバに配置してただそれだけ
svn up / rsync / apache
Ruby on Railsだとカピなんたら
ぼうM社とかL社とかPlagger風のやつを作ったw
それを公開してみようと
Plagger風とは設定がYAMLとかなんでもやろうとしようとか、最先端とか
Archerという名前で作っている
init初期化、Notify::IRC、deploy開始しますよーとアラート、MySQLDiffとか
http://code.mfac.jp/trac/
▼CDBI to DBIC (nekokak:小林篤さん)
PerlのO/Rマッパー
DBIxクラス、その違いは
コネクションは違う
Class::DBIはクロージャ、コネクションをIma::DBIが管理
set_sqlだと別のコネクションを使う
DBIx::Classはインスタンス
connection_infoにコネクション情報、$scheema経由でCRUDを実行できて
感嘆にコネクションをわけることができる
必要なデータを必要な回数だけでとってこれる
データを取得するレンジを簡単に設定できる
JOINも簡単にできる
▼自然文書から日本の住所を頑張って抽出 (Yappo)
Geography::AddressExtract::Japanという日本語住所抽出モジュールを作ったときの話
位置情報が活発だから、ジオコーダ使いたい、自然文から抽出したい
Regexp::Assembleを使う
人間の書いた文章はゆらぎが多いのでノーマライズ
もうちょっとやってCPANにあげたい
http://tech.yappo.jp/docs/20061020shibuya.pm/
▼SVK による Plagger プラグイン開発プロセス (mizzy)
というか…SVKの使い方
2つのSVNレポジトリがあったときに
コピるのが面倒、SVKでやれば
Subversionに実装されたPerlの分散
ミラーブランチを作る、ローカルブランチを使う、バッファとしてローカルブランチを使う
ローカルブランチからチェックアウトして
svk mergeが超便利!
構成が複雑になるけど操作の手間は増えない
でもcp使うよりか楽ですよー、オフラインコミットできる
▼Apache わっふるモジュールで SQL injection 対策 (竹迫良範)
空前の脆弱性ブーム、警告
APIやJPCERT、、、できるけ穏便に
PHPは攻撃対象にされやられやすい
Xoops Protector
Suhosin、セキュリティ強化版PHP
アプリケーション側の対応もしっかり、他人任せはよくない
SQLインジェクションの脆弱性が多くなっている
大人の事情があって直せない場合があるよ
修正したらテストが必要だったり、社内でメンテナンスできないとか
WAFFull
Web Application Firewall
ウェブサーバーとブラウザの間に挟む
Apacheのモジュール、mod_waffull
httpd.confえロードしてフィルターをする
デフォルトのcahrsetを設定できて、それ以外をはじくとか
全体に対してフィルターをかけることができる
アプリケーションごとにホワイトリストを書いていく
Catalyst::P::FormValidatorなどあるがApache2のモジュールなのでプログラミング言語に非依存
mod_securityはブラックリスト方式
バージョンアップができない場合あるので、ワークアラウンドの提示方法があったり
脆弱性を指摘する人が防御ファイルも一緒に作ってくれたらいいな
miyagawaさんがShibya.pm永年名誉顧問に就任

トラックバック

このエントリーのトラックバックURL:
http://yusukebe.com/mt/mt-tb.cgi/1986

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


ブログSEO対策:track word seo