Hatena::Groupcatalyst

dann@catalyst このページをアンテナに追加 RSSフィード

2008-05-18

YAPC::Asia 2008 最高!

 YAPC::Asia 2008 最高! - dann@catalyst を含むブックマーク はてなブックマーク -  YAPC::Asia 2008 最高! - dann@catalyst  YAPC::Asia 2008 最高! - dann@catalyst のブックマークコメント

大岡山東工大キャンパスで行われたYAPC Asia 2008に参加してきました。今年はPerlのコミュニティに参加しはじめたばかりで、YAPCも初参加でした。

聞きたいセッッションが多すぎて本当にどれに出るのかはすごい悩むほどすごい内容で、すべてのセッションが本当に素晴らしく、全てが楽しかったです。話されている方、聞いている方、全員がとても楽しんでいる感じがとても伝わってきて、このようなコミュニティがYAPC Asiaを支えているのだなぁとも感じました。

このような素晴らしいカンファレンスに参加できて本当によかったと思います。カンファレンスを開催されたスタッフの方、スピーカーの方、スポンサーの方、本当にありがとうございました!

自分も一段とエネルギーをもらって、今年はCPAN Authorになるべく頑張ろりたいなと思ったのでした。Perlコミュニティ最高!

以下、参加したセッションで印象に残った点をメモとして書いてみました。

JavaScript::Writer - guogdさん

感想

PerlJS生成的なHackについてでした。少し遅刻してしまったので、後で聞いてみようかなと思ってます。

FormValidator::Assets - typesterさん

内容のメモ
  • Data::FormValidator, FormValidator::Simple, HTML::FormFuはDryじゃない
    • 同じvalidation 項目を複数回書かないといけない
  • そこで、inputフィールドのnameベースのバリデーション
  • plaggerEFTインスパイア.
    • assetファイル
    • field, filter, rule, bundle
感想
  • サイトによっては何度も同じ項目がでてくるものもあるわけで、input fieldの名前ベースでのvalidationは理にかなっていて、coooool !
  •  asset定義がDSLっぽいのが個人的にとてもいいなぁと思いました。
  • field, filter, ruleという構成は、柔軟に対応できてよさそうでした
  • assetでいろんなルールが集まると、とても面白くなりそうでした
  • plファイルっていうのも柔軟にvalidationのロジックが書けてよさそうでした

Getting Your Feed Even Wetter With XS - Disuke Makiさん

  • XSはPerlとC言語をつなげるためのフレームワーク使える
  • Perlで操作している「物」は全部Cの構造
  • XSはCジェネレータ. 一部だけが微妙なPerl
  • メモリ管理はReference Countingで行われる。
  • REFCNT
    • Object作ったり参照したりすると、REFCNTがあがったり下がったりする。
  • SV
    • 文字列、数値、レファレンス
  • XSの前にSV
  • SV
  • SvPV文字列
  • SvPPVIV
    • 文字列、整数値など
  • SVを操作するには、sv_setivなどのAPIがそろっている。
  • SV以外にも変数がある、AV、HVなど
  • HV (Hash Value)
    • SVの中身を取得したり、SVの中身のチェックなどは、SvOKなどのマクロがある。
  • CとPerlを繋げるのがXS. Perlの代りにXSを書くなかれ。
  • Cで書かれた物にPerlでアクセスするためだけに使う
  • XS関数の定義
    • シグネチャ
    • XSセクション
  • XSセクション
    • ExtUtils::ParseXSツールによってCに展開される
    • 例えばPREINTなどが展開される
  • PREINT: 変数宣言に使う
  • Xsubpp展開
  • Typemap
    • C型をPerlで表する.Perl型C型への変換.毎回必要な作業
    • それをするための仕組みがTypemap
  • コード生成のイメージ
    • Xsubpがtypemapとシグネチャなどをとってきて、cファイル生成
    • typemapを定義する事によって、ほとんどコードを書く必要がなくなる。
    • 組み込み済みのtypemapもある
    • 面倒くさいPerlとCの変換はすべてtypemapが吸収してくれる
  • GC
    • GCのタイミング
      • ランタイム中のGC
      • OPとOPの間
    • プログラム終了時
      • GC周りがはまりやすい
  • PerlはREFCNTによるGC
    • DESTROYが呼ばれるタイミングが必ず保証されている
    • XSではREFCNTを手動操作できるが、自動的にREFCNTが+されてしまうPerl APIを呼ぶと、すべての参照を消してもREFCNTが1のまま.メモリーリーク
  • 一時変数は、sv_2mortal
  • SvMAGIC
    • Perl内部の黒魔法
    • SVに任意の「何か」をくっつけられる
    • データ、コールバックなど何でも
    • SVにMAGICというスロットが増えていて、
      • MAGIC
        • typeでどんな魔法をかけるか
        • objectにデータ構造を格納
  • TieもSvMagic
  • TIPS
    • SvOK推奨
    • こまめにSvOKで値がundefかどうかチェック
    • HVとかAVの操作はしないほうがよい
      • Perl側で処理して、SVでわたしたほうがよい
    • UTF8 - XSでいじらない
  • 構造がわかっちゃえば、後はC.
  • Profiler
    • MAKEFILE.PLに--debuging -gをコンパイルできるようにする
    • GProfはダメ
    • debugはgdb, vargrindをほうがいい
感想
  • CとPerlを繋げるのがXS. Perlの代りにXSを書くなかれ、といってたのが印象的
  • ExtUtils::ParseXSツールによってCに展開された後の形をみえると理解は進みそう
  • C <->Perlのデータ変換のためにTypemapを利用するというのが一つポイントだということがわかった
  • REFCNTを完全に意識してコーディングするのはかなりノウハウがいりそう
  • XSの話はあまり世間にでてきてないので、とても勉強になった!

IEコンテンツ自動判別によるXSS防止 - TAKESAKOさん

  • HTML Escapeしてもダメなケースある
  • multibyte xss attacks
  • mod_waffulでセキュリティ対策
    • 許される文字列を正規表現でできるようにする
    • Errorページを返したりができる
  • ApacheのFilter側でencodingもチェックする

感想

  • mod_waffulがモジュールとして出ると、セキュリティ対策をアプリケーションと切り離して考えられるようになって、アプリケーション開発者が幸せになれる日がくるかもしれないなぁと思いました。

Introduction to DBIx::MoCo - naoyaさん

私的内容ハイライト
  • 概要
  • 自分のリストクラスを使える to_json
  • prefechの機能もある
  • cacheはsessioを有効に
    • cacheが有効に働かないケースがある
  • Testing
    • YAMLでFixtureを使えるようになっている。
    • YAMLにbug idなどを書いて、それようのYAMLデータを書いて、テストを追加するなどの使い方

感想

  • 外部仕様はDODを少しシンプルにして、ActiveRecordからいくつかの機能をいれたような感じでした。いいとこどりしてある感じで、MOCOはとても使いやすそうでした
  • 透過的なcachingができるようにしてScalabilityを確保できるようにしていると、RubyLikeにコード書けるのがとても綺麗に書けそうなのがいいなぁと
  • sessionがどういうケースで必要なのかをもっと聞けるといいなぁと思いました
  • 複雑なSQLを書きたい場合にどうするのかも興味があって、途中それっぽいスライドがあったのを理解していなかったかも

Perl Love for JavaScript Hackers - Ingy

私的内容ハイライト

感想

  • Ingy productで多様されてるテクニック満載
  • ほとんど知っていたというよりも、STが実際にやっていた内容でした

Improving your Catalyst Application - Jonathan Rockway

私的内容ハイライト
  • Too much action
    • REST action使う
    • GET, POSTの分岐 - REST action使うか
  • テストできないからControllerにロジックいれるな
    • Catalyst::Model::Adaptor
    • Catalyst::Model::Adaptorのprepare_argumentsで事前にコレボレータを渡してLogicに処理委譲
  package MyApp::Controller::Foo;
  use Moose;
  BEGIN { extends 'Catalyst::Controller'}
  • 次のバージョンのCatalystはMoose
  • DBIx::Class
    • MapMaker
      • タグを簡単に
      • DBICs::Deploy使えばtagsテーブルが作られる
  • Restricted resultsets
    • databaseを壊さないようにするための仕組みがある
    • Schema::RestrictWithObject
感想
  • Catalyst使うとこんなに楽ができるよ!って内容で、プレゼンの流れがとても綺麗
  • Logicの分離方法とかは大体思っていた内容
  • Restricted resultsetを知らなかったので後で見てみる

Pathtrac - Kazuho Okuさん

私的内容ハイライト
  • To Scale Out or Not
    • CPUやストレージのコスト,アプリケーションによって
  • Compression for size & speed
    • 圧縮と高速化
  • 高速なランダムアクセスが必要
    • HDDはランダムアクセスが遅すぎる
    • メモりで解析する必要あり.けど、メモリは高いから、データ圧縮は必要
  • URLは圧縮可能
    • gzipなどは圧縮には使いにくい
    • 事前知識を利用した圧縮が必要
      • URL Compression: Static PPM (Prediction by Partitial Matching)
      • Use range corder as backend
    • URLの圧縮はcodereposに挙っている
      • MySQLのUFDとして実装
    • 圧縮したほうがデータサイズが小さくなるので、高速になる
    • Range Coderは展開速度が遅いので、SSEで最適化
  • KeyedMutex
    • 同時に複数のクライアントから同じQueryが飛ばないようなことができる
    • 単一サーバー上でデータをキャッシュッシュする
  • Pathtraqの開発にはSQLが多い
感想
  • 明らかにほかの人とレイヤが違って、とても面白かったです
  • URLの圧縮というのが凄まじい圧縮率で驚きました。URLは何かとよく使いそうなデータなので、ほかでも使えるところがありそうですね、

古今東西ORマッパー - nekokakさん

私的内容ハイライト

DBIC/DOD/Feyの紹介

  • DOD
    • Resultsetを扱う事も可能
    • resultsets
  • get_driverでわける
    • 独自にpartition
    • DBICなどに比べてコンパクト
    • Cacheが簡単に使えてウマー
    • Partitionも簡単に使える
  • Fey
    • Dave RoiskyによるMooseベースのORマッパー

感想

  • DBICがキャッシュしにくいっていうのは、色んな人が思っている共通の悩みなのだなぁということがわかったのは良かったです
  • DOD::SQLは後で読んだ方がよさそうでした
  • スケールさせたければDODのほうがキャッシュ綺麗に扱えて楽そう
  • DBIC, DOD, Feyの中では、今後はDODに注目が集まりそうな気がしました

Gungho and cloud computing, a scalable crawling and processing framework - Jeff Kim

私的内容ハイライト
  • Store raw HTML on S3
    • Transfers between EC2 and S3 are quick and free.
  • Hardwar Configuration
    • Queueing/Messaging Server
      • 1EC2 Extra-Large Instance
    • Database Server
      • 1EC2 Extra-Large Instance
    • Gungho Cralers
感想
  • dmakiさんのblogでどんな構成か大体しっていたので、構成として面白いところはなかったのですが、EC2,S3を使ったコスト削減の話がとても面白かったです
  • EC2でクローラ動かして、S3でHTML保存という使い方は面白いなぁと思いました
  • 必要なときに必要なだけのEC2インスタンスを動かすというのは、とても魅力的で今後もっと使われていくだろうなと思いました

SausanSausan2012/07/22 03:08That's an apt asnewr to an interesting question

anffdvuzfokanffdvuzfok2012/07/22 19:26SnO9c2 <a href="http://nzylyqfxwrpo.com/">nzylyqfxwrpo</a>

gkortwsgkortws2012/07/23 09:12h7HQQi , [url=http://bbbhbdzycttv.com/]bbbhbdzycttv[/url], [link=http://rnggguldzngk.com/]rnggguldzngk[/link], http://wzokbsjxqcvn.com/

odysrqkoodysrqko2012/07/24 08:40pwUvtl <a href="http://xocfinihwmxt.com/">xocfinihwmxt</a>

トラックバック - http://catalyst.g.hatena.ne.jp/dann/20080518