メニュー

関連ページリンク

トップ > これはすごい > これはすごい - 人気ブログ(Blog)検索結果詳細 (2008年12月1日 6時)

[Events][勉強会]楽天テクノロジーカンファレンスでopenpearの話してきました

sotarokです。 *1


昨日の「楽天テクノロジーカンファレンス2008」に参加してきました。

自分は今回は発表側でした。出張PHP勉強会ということで、PHPのコミュニティセッション内で、openpearについての話をさせていただきました。

発表資料は、slideshareにアップロードしました。





で。一番いいたかったことは最後のスライドなわけです。

コミットどんどんしていける文化を作りたい。潜在してる人たちがいるなら、少しでも後押しできるような仕組みを作りたいです。

・・・的なことを熱く語りすぎていて、時間押してるっていうのに、めいっぱい時間使ってしまいました。。id:koyhogeさん、id:kunitさん、すみません。帳尻あわせしてくださって、本当にありがとうございました。(こういう、発表時間とかはまだまだ経験不足で、課題ですね。反省。)

最後、まつもとさんがチラっといらっしゃったのが見えたのですが、PHPerのアツさを少しでも伝えられたかな。

そんなわけで、自分で、「どうしようこのライブラリ・・途中まで作ってくれないかな・・」的なものあがある人も、「超便利だから使え!」というものがある人も、「ネタライブラリつくったよー!」って人も、どんどんコミットしてください。


補足

補足なんですが、openpearのコミュニティについて話の忘れてました。完全に忘れていました。

MLもIRCも大々的に告知していなかったので、かなり過疎ってます(ぉ

みなさんも是非参加してください。


発表後にいただいたコメント

gusagiさんから、openpear本体そのものは公開しないのか、という話もいただきました。企業内とかでも使えるんじゃね、という話。なるほど。。


id:sakaikさんからは、そのライブラリが現在も開発がアクティブなのか、それとももう使わないほうが良いライブラリなのか、そういうことを客観的に評価できるような仕組みもほしい、と言われました。たしかに、それは必要かもしれませんね。何かしら考えたいですね。

パッケージごとのフォーラム的な機能とかも取り入れたいと思っているので、どうにかそういう情報を活発に交換できるようにしたいなーとも思います。

あと、「本当にSNS機能いれてしまえばいいんじゃないか」という話もされていましたが、それはopenpearでは実装しないと思います。


id:LINDさんからは、「日本経済もビックリのところはウケてよかったね。それ以外は全然ウケてなかったよねwww」と言われました。「ちょw これDISられてんのかww」と思いましたが、次回からはもっとがんばりたいと思います。


その他

Matz(まつもとゆきひろ)さんの話。

勉強会にどんどん参加しよう、開催しよう、という話。そこで大事なのは、勉強会そのものもそうだけど、懇親会などで人と出会うこと。自分であらゆることができるようにならなくてもいい。自分がなにかに困ったときに、どうすれば解決できるのか、できないなら誰に聞けば「解」または「解を探す方法」を知ることができるのか、そういう人たちとどんどん知り合いになることが大事、みたいな内容だったかな。

あと、「機嫌よくしなさい」って話。

それと、これは友達と前日に話していて非常に同意できる話だったんですが、インターネットによって世界中の距離が縮まって、最後に残るのは、言語と文化だ、って話。やっぱりそこか、と思った。

まつもとさんからはいつも面白い話が聞けるなー。自分でも実践しなければな、と思うところがたくさんありました。


三木谷さんがelePHPant持って写真とってくれた

懇親会、三木谷社長が帰る直前、gusagiさんが、「この象もってくれませんか!」と声をかけたのが発端で、写真をとらせていただいてしまった。名刺交換できただけでも非常にうれしかったのに、こんなにサービス精神で応じてくれるなんて、すごくうれしかった。

elePHPantを持ってもらった!


楽天テクノロジーアワード 金銀ルビー

PHP賞はどこですか!!!><

まぁ冗談はおいておいて、すばらしい活躍をされている方々の表彰。特に、株式会社プリファードインフラストラクチャーのみなさんの受賞はすごいなあ。。GREEのOST勉強会でも太田(id:kzk)さんの話は聞いたばかりだったのですが、(多分ほぼ)同い年なのに本当に尊敬できるエンジニアです。

次回どこかでお会いしたときは是非ご挨拶させていただきます。m(__)m

受賞者の皆様、おめでとうございます。

受賞者の皆さん


総じて

楽天テクノロジーカンファレンス、こんなに良いとは思わなかった。

発表に声をかけてくださった&司会進行の id:i_ogi さん、時間押してるの合わせてくれた id:koyhogeさん、id:kunitさんありがとうございました。

それから、スタッフの皆さん、発表者のみなさんもお疲れ様でした。

来年またあるなら是非行きたいです。


その他の写真とか。

楽天テクノロジーカンファレンス2008 - a set on Flickr

*1:冒頭で挨拶したのなんて始めてな気がするがw

作者:sotarok

更新日:2008年11月30日 0時0分

このブログのホーム

[Perl][勉強会] Shibuya.pm テクニカルトーク #10 に参加してきました

くそ忙しい感じの現状ですが、連日の勉強会。まあShibuya.pmは見に行きたいなーとずっと思っていたので。で、LL温泉で tokuhirom さんにちょっとPerlの話きいて、面白いなーと思っていたところなのでちょうどよく。


そんなわけでいつもどおりレポートという名のメモ。


JPAについて

  • Japan Perl Association
    • 一般法人としてPerlを啓蒙していく団体つくる

PHP業界でも結構話題になっているこのあたりの話。LOCALとかにも通ずる話かも。

どのコミュニティでも問題になるんだなあ。

法人化、うまく動いていける人がいるならいいのかな。うまく動ける人がいないと、結局その法人を動かす人も善意で動く人の活動に支えられる形になちゃって、これまでと同じになってしまうんじゃないかな、と思ったり。

でも、お金のこともちゃんと考えて初めているのがやっぱりすごい。

うまく動いていける人、って書いたけど、こういうことって、すげーパワーないとできないことだと思うし、それでひっぱっていく人がいるからこそ成り立っていくものなんだろうと思います。

どういう形になっていくのかな。


LL温泉でやったPerl OO入門

LL温泉で飲みながら話してたこと


  • 「だがそれがいい」w
  • Perl でClass作る
    • package Point
    • sub 定義
    • bless
  • new は予約語じゃないよー
  • 'Point'->new と等価
    • Point::new という関数を読んだときに第一引数にPointという文字列が渡されたのと同じ
    • 「よく見えていて非常にわかりやすいです。」(tokuhirom氏)
  • 継承
    • @Point3D::ISA, 'Point' ← ISA という変数に Point を代入
    • 「非常にわかりやすいですね。」(tokuhirom氏)
    • use base 親クラス名 / でもできる
  • 大事なのはDSLっぽさ
  • PerlのOOは色々見えすぎている。でもそれを隠蔽する方法が用意されている。だから、CPANあるから使え、的な。

id:tokuhirom さんがぴょんぴょんジャンプしててかわゆすでした(違)。

じゃなくて、LL温泉で聞いた話の復習的なカンジの話が聞けてよかった。

やっぱ面白いなあ。まさに、「見えすぎ」ていてw


最速フレームワーク研究会 (hidekさん)

  • WAF重い、CGI遅い
  • 11日ベンチマークとったエントリ記事書いた
  • 12日には
    • MENTA
    • NanoA
    • Yacafi
  • 今更CGIなにいってるの?
    • →YAPCで、すばらしい講演。Perlは死んでいない、でも新しい人材が必要。
    • 中小規模のサイト
      • PHPの独壇場じゃん
      • 「最後のはどうでもいいんですけど」(ww
  • →レンタルサーバで動く、初心者にもわかりやすい、キラーアプリとかできたらいいよね

まとめ

  • 「重いサイトは重いアプリにまかせて、ちょっとしたCGIとかLightweightなフレームワークとかいいんじゃないの」
  • 「メールフォームをCatalystとかばかでしょ」

Yacafi (by id:Yappo さん)
  • Webアプリケーションフレームワークじゃなくて、CGIのフレームワーク
    • Yacafi.pmとcgiファイルの2つだけUPすれば動作する。
    • 楽。
  • できること
    • dispatcher
    • query parser
    • mini template (Mojo -> MENTA -> Yacafi)
  • 目的
    • 小さなCGI、書き捨てCGI
    • 初心者?よりも中級者?
  • 「飽きたからバージョンアップもないから安心」w
  • Web+DB Press vol.48 の宣伝
MENTA (by id:tokuhirom さん)
  • 「なんかCGIのフレームワークだそうっていう雰囲気があって、だれよりも先に出そう、と思って僕が一番先に出しました。」w
  • 「時代はCGIだろう、CGI使ったら身長が3cm伸びました。 なんてことはないんですけど」w
  • 「ロリポで使えます」
  • MENTA Template (Mojo Template から fork)
    • PHP風にもかけます
    • これSmarty じゃないか・・・w
  • extlibにぜんぶつっこんだ
    • 「5MBは超えないように気をつけています」
  • 「オブジェクト指向なんて使わなくていいと思うんですよ」
    • 全部関数
    • 初心者でも安心
  • 初心者→そのまま職場ひひっこぬける

NanoA (kazuho さん)
  • Perl の WAFは複雑
  • NanoA
    • インストーラがついてくる
    • モジュールはMENTAと共有
  • インストールデモ。簡単。
  • コンポーネント指向
    • 方向性:UIの制限がないXOOPSのようなもの

テンプレートとか、もはやPHPだなぁ・・・w

上の2つより、モジュール化されていてもう少し規模大きめかな?という印象だった。


Mojo (charbarさん)
  • CGIのテスト→面倒
  • サイトがでかくなってきたとき、CGI.pmつかってられない
    • →Mojo、HTTP::Engine
  • CGIの書き方をエンジンの流儀のあわせておくだけで環境(本番/開発など)変わっても対応できる

DEMO Talks

"remedie" (miyagawaさん)
  • メディア・動画・Podcastとかが色々サイトで見れるけど、まとめてみたい
  • 「それPlaなんじゃねえか」
  • Remedie Media Center
    • RSSのURL入れるとまとめてくれる
    • ローカルフォルダを指定すると見れるようにした
      • おおおお!
  • 今Macでしか動かない状況

これはすごい。


  • 「ちょっと裏技つかってます」(w
  • 「既にこれなしじゃ生きられなくなってます」
  • 「Plaggerからかなり変えてるので、Makefileとか全部うそなんで。」ww

You seem to have Plagger $Plagger::VERSION in your system. Running

'make install' will overwrite forked Plagger modules and that will

break your existent Plagger installation. I recommend you not doing

that.

remedie - Google Code

・・・w


その他

で、この後はあまりメモをとっていなかったのでレポ終了。・・・と、そのつもりでちょっと他の作業しながら聞いているつもりだったのですが、どの発表も面白くて全然作業できないから結局話聞いてました。

  • id:typesterさんのKamaitachiもすげー!
    • スクリプトでこんな簡単に書けるのかこんなことが。。
  • Moxy便利そう。
  • Acme::don't
    • 「don'tの中のdon'tブロックって実行されてしかるべきじゃないですか」ww
  • EBCDIC(id:TAKESAKO さん)
    • よくしってるなあこんなもの・・・・w
    • Happy Binary Day
    • すげえええww
  • malaさんの発表もめっちゃ面白かった

雑感

軽量なCGIフレームワークみたいなものって、確かに欲しいなあ。PHPでも、ホントにいちいちメールフォーム作るのにフレームワーク使いたくないもんなあ。PHPでも書いてみるか、的な。ことを思ったりなどした。あと思ったのは、Perlの界隈って、書いてみるかーという個人ライブラリレベルのものが、CodeReposとかでどんどん公開されて、それを他の人も使ったりとかしてどんどんよくなっていったりして、そういう循環があるってのがすばらしいなあ。PHPだと、結構個人ライブラリ作ったら本当に個人ライブラリなままだったりしてる気がするなー。このへんがいわゆる文化的なところな気がする。

や、まぁその辺もopenpearでうまく基盤作っていけたらなあ、とも思う。

ただ、どう見ても、彼らはPerlでPHPを実装していました。。w

あと、コミュニティ運営とか、初心者のフォローとかっていうのは、どこのコミュニティでも話されていることなんだなあ、と。RubyKaigiのときにもなんかそんなこと思ったっけな。

細かいところはあんまわからなかったけど、とりあえずLL温泉に引き続き「Perlおもしろそー」な話きけてよかった。ひと段落ついたらやぱ手をつけるかなーと思う。



あ、最後に。開催&司会のたけさこさん、いつも動画を配信してくださるcojiさん、発表者のみなさん本当にありがとうございました。お疲れ様でした。



あと何かいいたいことがあった気がするけど今すぐ思い浮かばないから思い浮かび次第追記しよう。あばば。

作者:sotarok

更新日:2008年11月28日 1時41分

このブログのホーム

[VMWare]VMWare Player 2.5.1がリリースされました

英語インターフェースでしか使えなかったVMWare Playerの2.5系が、2.5.1で日本語のl10nされてリリースされました。

今のところ2.0系のほうがなんとなく安定してる印象があるのですが、うっかり2.5系を使ってみたら、2.5系でイメージ作ると2.0系ではそのイメージは開けなくなっちゃうんですよね。

まぁそれは良いとして、リリースノートは以下の通りなかんじ。

What's New

  • Japanese localization — A localized version of VMware Player is now available in Japanese for Windows hosts.
  • Smart card support for Linux guests — Smart cards are now experimentally supported with Linux guests.
  • Unity mode on Linux guests — Although support for Unity mode on Linux guests is still experimental, repainting of application windows is much improved.
  • 3-D graphics — Additional improvements have been made to improve 3-D performance on Windows XP guests.
VMware Player 2.5.1 Release Notes

まー自分に関係ありそうなのは日本語化くらいかなあ。。。

ダウンロードはいつもの通りdownload.htmlから・・・・w はてなブックマーク - download VMware Player

作者:sotarok

更新日:2008年11月27日 23時52分

このブログのホーム

[勉強会]第16回オープンソーステクノロジー勉強会に参加してきました

そんなわけで、MapReduceについての話が聞けるとのことだったので、GREEで開催された第16回オープンソーステクノロジー勉強会に参加してきました。

いつもの通り、聞きながら書いてたものをそのままでメモのようなものですが、レポート。


「Hadoopの概要と最新の動向」 (株式会社プリファードインフラストラクチャー 太田 一樹さん)


自己紹介

  • http://kzk9.net/
  • 分散全文検索エンジンSedueの開発
  • 半分は酒でできている
  • GREE上場おめでとうございます!!88888

Hadoop概要

  • Hadoopとは
    • Google の基盤ソフトウェアのクローン
    • Yahoo ResearchのDoug Cutting氏が論文からまるパクりしたw
    • 「ロゴがかわいくないですね」ww
    • Javaでできている

MapReduceについて

  • インターネットの普及→大量のデータ→お金で解決?
    • お金で解決できないこと→プロセスの監視/起動/間通信
    • 既存の分散並列プログラミング・MPIの問題
      • 耐障害性がない
  • →プログラマが「Map」「Reduce」の関数を書くだけでデバッグからプロセス間通信までできるように
  • keyとvalueが入力
  • 例:ワードカウント
    • この例はわかりやすいー
  • MapReduce型の処理の例
    • Grep
    • Sort
    • Log Analysis
    • 機械学習(ベイズとかSVMとか)
    • などなど
  • で、Hadoop
    • HDFS
      • Master/Slave
      • JobTracker(会社でいえば、社長さん)
      • TaskTracker(JobTrackerにアサインされたTaskを実行)
  • Hadoop Streaming
    • いろんなプログラミング言語で標準入出力を使ってMap/Reduceを記述できる
  • 国外の事例
    • Yahoo
      • 〜2000ノード
    • Amazon, Facebook
      • 400ノードくらい
      • ログ処理・データ解析
  • 国内
    • はてな
      • ログ解析
      • 新はてブの全文検索まわり

質疑応答

  • どんだけのサイズからオススメ?
    • 10GBとか数十GBとか
  • どのくらいの頻度でリフレッシュされるデータに使うと効果的か
    • 数時間に1回DBからダンプしてきて読むとか
  • 1台で組めるような規模のものをHadoopにしたときに、どういう速度差になるか
    • 単体で書いたほうが早い。100kbくらいのテキスト処理でも1分くらいかかる。
  • ということは、どのくらいから効果的になるか?
    • 10秒〜20秒くらいに起動とかのオーバーヘッドがあるので、それを乗り越えるくらいのデータ「量」。クラスタ数は関係ない。

「HadoopとEC2による、『安くて簡単』大規模データ処理」(blogeye開発者 大倉 務さん)

自己紹介

  • http://ohkura.com/
  • blogeye
  • 「Amazon の色々なサービスについてポジティブな話ばかりりますが営業ではありません」w

blogeye

  • 日々日本中のブログを収集:データ解析
  • http://blogeye.jp/
  • 院生でデータマイニングなどの研究をしていた→実践してみた→公開してみた
  • 記事は2億記事くらい+60万/day
  • テキストデータで200G〜300G
  • データはたくさん、学生だからお金はない

→Hadoop×EC2で金をかけずに。

  • EC2/S3で導入コストを0に
    • EC2からS3のストレージの読み書きは無料。
  • Hadoopは動的にノードを追加・削除
    • 1時間単位で利用できるEC2と相性バツグン。一時的にクラスタが必要になったときに、借りたい。
  • HadoopからS3の読み書きをするライブラリが充実

blogeyeでの利用

  • データストアはS3
  • クロールにHadoop・分散。著者属性推定などの大きなジョブに利用。
  • 普段は4台で運用

クロール

  • マスタではやらない(接続先のレスポンスがわるくんじゃったりデータが巨大だったり)
  • データ管理:とりあえずMySQL

インデックス

  • MySQL+Senna。

著者属性推定ジョブ

  • 扱うデータはサイトごと
  • MapReduce
    • Map:サイトをキーにして出力
    • Reduce:入力(単語、URL)、記事から著者属性の推定
  • 80台×2日で300GBくらいのテキスト処理
    • Amazonのレンタル費用としては4万くらい

複数ジョブを実行している際のTIPS

  • MapperとReducerを同時に動かさない(デフォルトでは同時に確保されるとか)

質疑

  • 単語の頻度などの分類?
    • 一度機械学習ですでに学習したデータをReducerに投げている
    • 論文でてるのでよんでおk

まとめ

おもしろいなあー。*1

Amazonは、(企業からすれば)安いとはいえ、個人で使うには高いから(まぁそれほどの規模を処理することがあるか、って問題もありますが。)、何かのときの参考として覚えておこう・・。

ともあれ、標準入出力でMapReduce使えるってのは面白そうだなー。

非常に勉強になる勉強会でした。


あ、関連論文はCiNiiで見つけたけど本文が見れませんでした。学校からアクセスしてみるかな・・・。


あ、

オープンソーステクノロジー勉強会のコミュがGREEにあるから参加してね!とのことでしたw


  • 「この勉強会の情報を携帯からチェックできる唯一の媒体ですよ!」(by いちいさん)

*1:前期のITSPのときになんでこういう話でてこなかったんだろう。w

作者:sotarok

更新日:2008年11月25日 0時0分

このブログのホーム

[PEAR]HTTP_Request2 がリリースされました&簡単な使い方


0.1.0-alphaです。

PHP5 的な、HTTP_Requestの後継にあたる位置づけのようです。

なんか昨日HTTP_Requestを使おうとおもってマニュアル見ようとしたら見つけました。びっくり。


主な違い

主な違いは多分以下のかんじです。

  • Adapterが選択できるようになった
    • 今のところ、Socket、cURL、Mock
    • Mockはテスト用に使える
  • インターフェースがちょっと使いやすくなった
  • 例外なげてくれるようになった
  • Net_URL2に依存

これまでのHTTP_Requestを知っている人は、若干使い方が違うので注意が必要です。まあ似たようなものですが。


使い方

サンプルコード

<?php

require_once 'HTTP/Request2.php';

try {
    // 引数以降省略可能だけど
    // あと config で proxy とか設定できる
    $request = new HTTP_Request2("http://nequal.jp", HTTP_Request2::METHOD_GET);
    $request->setHeader("user-agent", "Uhehehe! (PHP 5.2.6)");

    $response = $request->send();

    if ($response->getStatus() == 200) {
        $body = $response->getBody();

        // あと処理をうにゃうにゃと
        // $title = @simplexml_import_dom(DOMDocument::loadHTML($body))->xpath("//head/title");
        // echo $title[0];
    }
    else {
        throw new Exception ("Server returned status: " .  $response->getStatus());
    }
}
catch (HTTP_Request2_Exception $e) {
    echo $e->getMessage();
}
catch (Exception $e) {
    echo $e->getMessage();
}

まとめ

HTT_Requestよりは良いかも。なにせ例外投げてくれるので、いちいち PEAR::isError とかやらなくてよいところが良いなあ。あと、sendの戻り値がResponseオブジェクトってのも直感的で良いですね。

HTTP_Requestに変わるデファクトになっていくのかな〜?

でもGETのクエリパラメーターを追加するのはどうするんだろうなあ。addQueryStringに該当するものがなくて結局自分でパラメータくみたてて setUrl してしまったんだけど。あれれ。





・・・にしても、また、「2」ってねー :p

作者:sotarok

更新日:2008年11月21日 16時11分

このブログのホーム

[Events][勉強会]楽天テクノロジーカンファレンスでopenpearの話してきました

sotarokです。 *1


昨日の「楽天テクノロジーカンファレンス2008」に参加してきました。

自分は今回は発表側でした。出張PHP勉強会ということで、PHPのコミュニティセッション内で、openpearについての話をさせていただきました。

発表資料は、slideshareにアップロードしました。





で。一番いいたかったことは最後のスライドなわけです。

コミットどんどんしていける文化を作りたい。潜在してる人たちがいるなら、少しでも後押しできるような仕組みを作りたいです。

・・・的なことを熱く語りすぎていて、時間押してるっていうのに、めいっぱい時間使ってしまいました。。id:koyhogeさん、id:kunitさん、すみません。帳尻あわせしてくださって、本当にありがとうございました。(こういう、発表時間とかはまだまだ経験不足で、課題ですね。反省。)

最後、まつもとさんがチラっといらっしゃったのが見えたのですが、PHPerのアツさを少しでも伝えられたかな。

そんなわけで、自分で、「どうしようこのライブラリ・・途中まで作ってくれないかな・・」的なものあがある人も、「超便利だから使え!」というものがある人も、「ネタライブラリつくったよー!」って人も、どんどんコミットしてください。


補足

補足なんですが、openpearのコミュニティについて話の忘れてました。完全に忘れていました。

MLもIRCも大々的に告知していなかったので、かなり過疎ってます(ぉ

みなさんも是非参加してください。


発表後にいただいたコメント

gusagiさんから、openpear本体そのものは公開しないのか、という話もいただきました。企業内とかでも使えるんじゃね、という話。なるほど。。


id:sakaikさんからは、そのライブラリが現在も開発がアクティブなのか、それとももう使わないほうが良いライブラリなのか、そういうことを客観的に評価できるような仕組みもほしい、と言われました。たしかに、それは必要かもしれませんね。何かしら考えたいですね。

パッケージごとのフォーラム的な機能とかも取り入れたいと思っているので、どうにかそういう情報を活発に交換できるようにしたいなーとも思います。

あと、「本当にSNS機能いれてしまえばいいんじゃないか」という話もされていましたが、それはopenpearでは実装しないと思います。


id:LINDさんからは、「日本経済もビックリのところはウケてよかったね。それ以外は全然ウケてなかったよねwww」と言われました。「ちょw これDISられてんのかww」と思いましたが、次回からはもっとがんばりたいと思います。


その他

Matz(まつもとゆきひろ)さんの話。

勉強会にどんどん参加しよう、開催しよう、という話。そこで大事なのは、勉強会そのものもそうだけど、懇親会などで人と出会うこと。自分であらゆることができるようにならなくてもいい。自分がなにかに困ったときに、どうすれば解決できるのか、できないなら誰に聞けば「解」または「解を探す方法」を知ることができるのか、そういう人たちとどんどん知り合いになることが大事、みたいな内容だったかな。

あと、「機嫌よくしなさい」って話。

それと、これは友達と前日に話していて非常に同意できる話だったんですが、インターネットによって世界中の距離が縮まって、最後に残るのは、言語と文化だ、って話。やっぱりそこか、と思った。

まつもとさんからはいつも面白い話が聞けるなー。自分でも実践しなければな、と思うところがたくさんありました。


三木谷さんがelePHPant持って写真とってくれた

懇親会、三木谷社長が帰る直前、gusagiさんが、「この象もってくれませんか!」と声をかけたのが発端で、写真をとらせていただいてしまった。名刺交換できただけでも非常にうれしかったのに、こんなにサービス精神で応じてくれるなんて、すごくうれしかった。

elePHPantを持ってもらった!


楽天テクノロジーアワード 金銀ルビー

PHP賞はどこですか!!!><

まぁ冗談はおいておいて、すばらしい活躍をされている方々の表彰。特に、株式会社プリファードインフラストラクチャーのみなさんの受賞はすごいなあ。。GREEのOST勉強会でも太田(id:kzk)さんの話は聞いたばかりだったのですが、(多分ほぼ)同い年なのに本当に尊敬できるエンジニアです。

次回どこかでお会いしたときは是非ご挨拶させていただきます。m(__)m

受賞者の皆様、おめでとうございます。

受賞者の皆さん


総じて

楽天テクノロジーカンファレンス、こんなに良いとは思わなかった。

発表に声をかけてくださった&司会進行の id:i_ogi さん、時間押してるの合わせてくれた id:koyhogeさん、id:kunitさんありがとうございました。

それから、スタッフの皆さん、発表者のみなさんもお疲れ様でした。

来年またあるなら是非行きたいです。


その他の写真とか。

楽天テクノロジーカンファレンス2008 - a set on Flickr

*1:冒頭で挨拶したのなんて始めてな気がするがw

作者:sotarok

更新日:2008年11月29日 15時0分

このブログのホーム

[Perl][勉強会] Shibuya.pm テクニカルトーク #10 に参加してきました

くそ忙しい感じの現状ですが、連日の勉強会。まあShibuya.pmは見に行きたいなーとずっと思っていたので。で、LL温泉で tokuhirom さんにちょっとPerlの話きいて、面白いなーと思っていたところなのでちょうどよく。


そんなわけでいつもどおりレポートという名のメモ。


JPAについて

  • Japan Perl Association
    • 一般法人としてPerlを啓蒙していく団体つくる

PHP業界でも結構話題になっているこのあたりの話。LOCALとかにも通ずる話かも。

どのコミュニティでも問題になるんだなあ。

法人化、うまく動いていける人がいるならいいのかな。うまく動ける人がいないと、結局その法人を動かす人も善意で動く人の活動に支えられる形になちゃって、これまでと同じになってしまうんじゃないかな、と思ったり。

でも、お金のこともちゃんと考えて初めているのがやっぱりすごい。

うまく動いていける人、って書いたけど、こういうことって、すげーパワーないとできないことだと思うし、それでひっぱっていく人がいるからこそ成り立っていくものなんだろうと思います。

どういう形になっていくのかな。


LL温泉でやったPerl OO入門

LL温泉で飲みながら話してたこと


  • 「だがそれがいい」w
  • Perl でClass作る
    • package Point
    • sub 定義
    • bless
  • new は予約語じゃないよー
  • 'Point'->new と等価
    • Point::new という関数を読んだときに第一引数にPointという文字列が渡されたのと同じ
    • 「よく見えていて非常にわかりやすいです。」(tokuhirom氏)
  • 継承
    • @Point3D::ISA, 'Point' ← ISA という変数に Point を代入
    • 「非常にわかりやすいですね。」(tokuhirom氏)
    • use base 親クラス名 / でもできる
  • 大事なのはDSLっぽさ
  • PerlのOOは色々見えすぎている。でもそれを隠蔽する方法が用意されている。だから、CPANあるから使え、的な。

id:tokuhirom さんがぴょんぴょんジャンプしててかわゆすでした(違)。

じゃなくて、LL温泉で聞いた話の復習的なカンジの話が聞けてよかった。

やっぱ面白いなあ。まさに、「見えすぎ」ていてw


最速フレームワーク研究会 (hidekさん)

  • WAF重い、CGI遅い
  • 11日ベンチマークとったエントリ記事書いた
  • 12日には
    • MENTA
    • NanoA
    • Yacafi
  • 今更CGIなにいってるの?
    • →YAPCで、すばらしい講演。Perlは死んでいない、でも新しい人材が必要。
    • 中小規模のサイト
      • PHPの独壇場じゃん
      • 「最後のはどうでもいいんですけど」(ww
  • →レンタルサーバで動く、初心者にもわかりやすい、キラーアプリとかできたらいいよね

まとめ

  • 「重いサイトは重いアプリにまかせて、ちょっとしたCGIとかLightweightなフレームワークとかいいんじゃないの」
  • 「メールフォームをCatalystとかばかでしょ」

Yacafi (by id:Yappo さん)
  • Webアプリケーションフレームワークじゃなくて、CGIのフレームワーク
    • Yacafi.pmとcgiファイルの2つだけUPすれば動作する。
    • 楽。
  • できること
    • dispatcher
    • query parser
    • mini template (Mojo -> MENTA -> Yacafi)
  • 目的
    • 小さなCGI、書き捨てCGI
    • 初心者?よりも中級者?
  • 「飽きたからバージョンアップもないから安心」w
  • Web+DB Press vol.48 の宣伝
MENTA (by id:tokuhirom さん)
  • 「なんかCGIのフレームワークだそうっていう雰囲気があって、だれよりも先に出そう、と思って僕が一番先に出しました。」w
  • 「時代はCGIだろう、CGI使ったら身長が3cm伸びました。 なんてことはないんですけど」w
  • 「ロリポで使えます」
  • MENTA Template (Mojo Template から fork)
    • PHP風にもかけます
    • これSmarty じゃないか・・・w
  • extlibにぜんぶつっこんだ
    • 「5MBは超えないように気をつけています」
  • 「オブジェクト指向なんて使わなくていいと思うんですよ」
    • 全部関数
    • 初心者でも安心
  • 初心者→そのまま職場ひひっこぬける

NanoA (kazuho さん)
  • Perl の WAFは複雑
  • NanoA
    • インストーラがついてくる
    • モジュールはMENTAと共有
  • インストールデモ。簡単。
  • コンポーネント指向
    • 方向性:UIの制限がないXOOPSのようなもの

テンプレートとか、もはやPHPだなぁ・・・w

上の2つより、モジュール化されていてもう少し規模大きめかな?という印象だった。


Mojo (charbarさん)
  • CGIのテスト→面倒
  • サイトがでかくなってきたとき、CGI.pmつかってられない
    • →Mojo、HTTP::Engine
  • CGIの書き方をエンジンの流儀のあわせておくだけで環境(本番/開発など)変わっても対応できる

DEMO Talks

"remedie" (miyagawaさん)
  • メディア・動画・Podcastとかが色々サイトで見れるけど、まとめてみたい
  • 「それPlaなんじゃねえか」
  • Remedie Media Center
    • RSSのURL入れるとまとめてくれる
    • ローカルフォルダを指定すると見れるようにした
      • おおおお!
  • 今Macでしか動かない状況

これはすごい。


  • 「ちょっと裏技つかってます」(w
  • 「既にこれなしじゃ生きられなくなってます」
  • 「Plaggerからかなり変えてるので、Makefileとか全部うそなんで。」ww

You seem to have Plagger $Plagger::VERSION in your system. Running

'make install' will overwrite forked Plagger modules and that will

break your existent Plagger installation. I recommend you not doing

that.

remedie - Google Code

・・・w


その他

で、この後はあまりメモをとっていなかったのでレポ終了。・・・と、そのつもりでちょっと他の作業しながら聞いているつもりだったのですが、どの発表も面白くて全然作業できないから結局話聞いてました。

  • id:typesterさんのKamaitachiもすげー!
    • スクリプトでこんな簡単に書けるのかこんなことが。。
  • Moxy便利そう。
  • Acme::don't
    • 「don'tの中のdon'tブロックって実行されてしかるべきじゃないですか」ww
  • EBCDIC(id:TAKESAKO さん)
    • よくしってるなあこんなもの・・・・w
    • Happy Binary Day
    • すげえええww
  • malaさんの発表もめっちゃ面白かった

雑感

軽量なCGIフレームワークみたいなものって、確かに欲しいなあ。PHPでも、ホントにいちいちメールフォーム作るのにフレームワーク使いたくないもんなあ。PHPでも書いてみるか、的な。ことを思ったりなどした。あと思ったのは、Perlの界隈って、書いてみるかーという個人ライブラリレベルのものが、CodeReposとかでどんどん公開されて、それを他の人も使ったりとかしてどんどんよくなっていったりして、そういう循環があるってのがすばらしいなあ。PHPだと、結構個人ライブラリ作ったら本当に個人ライブラリなままだったりしてる気がするなー。このへんがいわゆる文化的なところな気がする。

や、まぁその辺もopenpearでうまく基盤作っていけたらなあ、とも思う。

ただ、どう見ても、彼らはPerlでPHPを実装していました。。w

あと、コミュニティ運営とか、初心者のフォローとかっていうのは、どこのコミュニティでも話されていることなんだなあ、と。RubyKaigiのときにもなんかそんなこと思ったっけな。

細かいところはあんまわからなかったけど、とりあえずLL温泉に引き続き「Perlおもしろそー」な話きけてよかった。ひと段落ついたらやぱ手をつけるかなーと思う。



あ、最後に。開催&司会のたけさこさん、いつも動画を配信してくださるcojiさん、発表者のみなさん本当にありがとうございました。お疲れ様でした。



あと何かいいたいことがあった気がするけど今すぐ思い浮かばないから思い浮かび次第追記しよう。あばば。

作者:sotarok

更新日:2008年11月27日 16時41分

このブログのホーム

[VMWare]VMWare Player 2.5.1がリリースされました

英語インターフェースでしか使えなかったVMWare Playerの2.5系が、2.5.1で日本語のl10nされてリリースされました。

今のところ2.0系のほうがなんとなく安定してる印象があるのですが、うっかり2.5系を使ってみたら、2.5系でイメージ作ると2.0系ではそのイメージは開けなくなっちゃうんですよね。

まぁそれは良いとして、リリースノートは以下の通りなかんじ。

What's New

  • Japanese localization — A localized version of VMware Player is now available in Japanese for Windows hosts.
  • Smart card support for Linux guests — Smart cards are now experimentally supported with Linux guests.
  • Unity mode on Linux guests — Although support for Unity mode on Linux guests is still experimental, repainting of application windows is much improved.
  • 3-D graphics — Additional improvements have been made to improve 3-D performance on Windows XP guests.
VMware Player 2.5.1 Release Notes

まー自分に関係ありそうなのは日本語化くらいかなあ。。。

ダウンロードはいつもの通りdownload.htmlから・・・・w はてなブックマーク - download VMware Player

作者:sotarok

更新日:2008年11月27日 14時52分

このブログのホーム

[勉強会]第16回オープンソーステクノロジー勉強会に参加してきました

そんなわけで、MapReduceについての話が聞けるとのことだったので、GREEで開催された第16回オープンソーステクノロジー勉強会に参加してきました。

いつもの通り、聞きながら書いてたものをそのままでメモのようなものですが、レポート。


「Hadoopの概要と最新の動向」 (株式会社プリファードインフラストラクチャー 太田 一樹さん)


自己紹介

  • http://kzk9.net/
  • 分散全文検索エンジンSedueの開発
  • 半分は酒でできている
  • GREE上場おめでとうございます!!88888

Hadoop概要

  • Hadoopとは
    • Google の基盤ソフトウェアのクローン
    • Yahoo ResearchのDoug Cutting氏が論文からまるパクりしたw
    • 「ロゴがかわいくないですね」ww
    • Javaでできている

MapReduceについて

  • インターネットの普及→大量のデータ→お金で解決?
    • お金で解決できないこと→プロセスの監視/起動/間通信
    • 既存の分散並列プログラミング・MPIの問題
      • 耐障害性がない
  • →プログラマが「Map」「Reduce」の関数を書くだけでデバッグからプロセス間通信までできるように
  • keyとvalueが入力
  • 例:ワードカウント
    • この例はわかりやすいー
  • MapReduce型の処理の例
    • Grep
    • Sort
    • Log Analysis
    • 機械学習(ベイズとかSVMとか)
    • などなど
  • で、Hadoop
    • HDFS
      • Master/Slave
      • JobTracker(会社でいえば、社長さん)
      • TaskTracker(JobTrackerにアサインされたTaskを実行)
  • Hadoop Streaming
    • いろんなプログラミング言語で標準入出力を使ってMap/Reduceを記述できる
  • 国外の事例
    • Yahoo
      • 〜2000ノード
    • Amazon, Facebook
      • 400ノードくらい
      • ログ処理・データ解析
  • 国内
    • はてな
      • ログ解析
      • 新はてブの全文検索まわり

質疑応答

  • どんだけのサイズからオススメ?
    • 10GBとか数十GBとか
  • どのくらいの頻度でリフレッシュされるデータに使うと効果的か
    • 数時間に1回DBからダンプしてきて読むとか
  • 1台で組めるような規模のものをHadoopにしたときに、どういう速度差になるか
    • 単体で書いたほうが早い。100kbくらいのテキスト処理でも1分くらいかかる。
  • ということは、どのくらいから効果的になるか?
    • 10秒〜20秒くらいに起動とかのオーバーヘッドがあるので、それを乗り越えるくらいのデータ「量」。クラスタ数は関係ない。

「HadoopとEC2による、『安くて簡単』大規模データ処理」(blogeye開発者 大倉 務さん)

自己紹介

  • http://ohkura.com/
  • blogeye
  • 「Amazon の色々なサービスについてポジティブな話ばかりりますが営業ではありません」w

blogeye

  • 日々日本中のブログを収集:データ解析
  • http://blogeye.jp/
  • 院生でデータマイニングなどの研究をしていた→実践してみた→公開してみた
  • 記事は2億記事くらい+60万/day
  • テキストデータで200G〜300G
  • データはたくさん、学生だからお金はない

→Hadoop×EC2で金をかけずに。

  • EC2/S3で導入コストを0に
    • EC2からS3のストレージの読み書きは無料。
  • Hadoopは動的にノードを追加・削除
    • 1時間単位で利用できるEC2と相性バツグン。一時的にクラスタが必要になったときに、借りたい。
  • HadoopからS3の読み書きをするライブラリが充実

blogeyeでの利用

  • データストアはS3
  • クロールにHadoop・分散。著者属性推定などの大きなジョブに利用。
  • 普段は4台で運用

クロール

  • マスタではやらない(接続先のレスポンスがわるくんじゃったりデータが巨大だったり)
  • データ管理:とりあえずMySQL

インデックス

  • MySQL+Senna。

著者属性推定ジョブ

  • 扱うデータはサイトごと
  • MapReduce
    • Map:サイトをキーにして出力
    • Reduce:入力(単語、URL)、記事から著者属性の推定
  • 80台×2日で300GBくらいのテキスト処理
    • Amazonのレンタル費用としては4万くらい

複数ジョブを実行している際のTIPS

  • MapperとReducerを同時に動かさない(デフォルトでは同時に確保されるとか)

質疑

  • 単語の頻度などの分類?
    • 一度機械学習ですでに学習したデータをReducerに投げている
    • 論文でてるのでよんでおk

まとめ

おもしろいなあー。*1

Amazonは、(企業からすれば)安いとはいえ、個人で使うには高いから(まぁそれほどの規模を処理することがあるか、って問題もありますが。)、何かのときの参考として覚えておこう・・。

ともあれ、標準入出力でMapReduce使えるってのは面白そうだなー。

非常に勉強になる勉強会でした。


あ、関連論文はCiNiiで見つけたけど本文が見れませんでした。学校からアクセスしてみるかな・・・。


あ、

オープンソーステクノロジー勉強会のコミュがGREEにあるから参加してね!とのことでしたw


  • 「この勉強会の情報を携帯からチェックできる唯一の媒体ですよ!」(by いちいさん)

*1:前期のITSPのときになんでこういう話でてこなかったんだろう。w

作者:sotarok

更新日:2008年11月24日 15時0分

このブログのホーム

[PEAR]HTTP_Request2 がリリースされました&簡単な使い方


0.1.0-alphaです。

PHP5 的な、HTTP_Requestの後継にあたる位置づけのようです。

なんか昨日HTTP_Requestを使おうとおもってマニュアル見ようとしたら見つけました。びっくり。


主な違い

主な違いは多分以下のかんじです。

  • Adapterが選択できるようになった
    • 今のところ、Socket、cURL、Mock
    • Mockはテスト用に使える
  • インターフェースがちょっと使いやすくなった
  • 例外なげてくれるようになった
  • Net_URL2に依存

これまでのHTTP_Requestを知っている人は、若干使い方が違うので注意が必要です。まあ似たようなものですが。


使い方

サンプルコード

<?php

require_once 'HTTP/Request2.php';

try {
    // 引数以降省略可能だけど
    // あと config で proxy とか設定できる
    $request = new HTTP_Request2("http://nequal.jp", HTTP_Request2::METHOD_GET);
    $request->setHeader("user-agent", "Uhehehe! (PHP 5.2.6)");

    $response = $request->send();

    if ($response->getStatus() == 200) {
        $body = $response->getBody();

        // あと処理をうにゃうにゃと
        // $title = @simplexml_import_dom(DOMDocument::loadHTML($body))->xpath("//head/title");
        // echo $title[0];
    }
    else {
        throw new Exception ("Server returned status: " .  $response->getStatus());
    }
}
catch (HTTP_Request2_Exception $e) {
    echo $e->getMessage();
}
catch (Exception $e) {
    echo $e->getMessage();
}

まとめ

HTT_Requestよりは良いかも。なにせ例外投げてくれるので、いちいち PEAR::isError とかやらなくてよいところが良いなあ。あと、sendの戻り値がResponseオブジェクトってのも直感的で良いですね。

HTTP_Requestに変わるデファクトになっていくのかな〜?

でもGETのクエリパラメーターを追加するのはどうするんだろうなあ。addQueryStringに該当するものがなくて結局自分でパラメータくみたてて setUrl してしまったんだけど。あれれ。





・・・にしても、また、「2」ってねー :p

作者:sotarok

更新日:2008年11月21日 7時11分

このブログのホーム