タグ

ブックマーク / mt.endeworks.jp (38)

  • YAPC::Asia Tokyo 2011 振り返り - D-6 [相変わらず根無し]

    YAPC::Asia Tokyo 2011 振り返り 2011年10月16日 17:33 D | ブログ記事のURL | コメント(0) | トラックバック(0) YAPC::Asia Tokyo 2011の運営側の話は大分参加者側とは違うとは思いますが、一応記録として書いておきますね。あと以下様々な情報は私lestrratからみた一方的な話なのでひょっとしたら間違ってるかもしれませんが、その場合は随時ご指摘をお願い致します。 今年のYAPCの準備 ぶっちゃけ運営側、そして少なくとも僕の視点からは941さんとのタッグがあまりにもキレイに連携できてて、YAPCの準備は恐ろしいくらい負担の少ない感じでした。 最初から去年より責任機能を大幅に委譲しようというコンセンサスも取れてたし(例:懇親会手配、Tシャツ準備、プロジェクター等の備品準備等はDeNA/mixi社からの方達と分担しました)、去年

    makamaka_at_donzoko
    makamaka_at_donzoko 2011/10/17
    お疲れ様でした。いろいろお願いしたりしてすいません。ほんとありがとうございます!
  • 某オブジェクトストレージでデータをお引っ越し中な話 - D-6 [相変わらず根無し]

    某オブジェクトストレージでデータをお引っ越し中な話 2011年9月30日 09:25 D | ブログ記事のURL | コメント(0) | トラックバック(0) 目的:オブジェクトストレージの旧ストレージサーバーから新ストレージサーバーにデータを引っ越しすること。rsyncやディスクを単純に交換するという方法も考えたが、ついでにデータのリバランスを行いたいので、ツールで移行する方法を採る。 概要:オブジェクトとは、ユーザーから見る「1ファイル」で、この1オブジェクトに付き、1個かそれ以上の実体(entity)が存在する。1ストレージには任意のオブジェクトの実体が最大1個保存される。この実体が複数あることによって、ストレージがダウンしたとしてもオブジェクト自体は生き残る事ができる。複数の実体がある場合は必ず複数のストレージサーバーに実体のコピーが保存されている。これを1ストレージサーバーずつ、

  • Devel::Coverとexec() - D-6 [相変わらず根無し]

    Devel::Coverとexec() 2011年9月 8日 12:08 D | ブログ記事のURL | コメント(0) | トラックバック(0) Devel::Coverって便利な道具なんですが、なんかfork + execするとうまく動きませんでした。ずっと見て見ぬ振りしてたんだけど、そういうわけにもいかなくなったので、二日ほどずっとその挙動をprintデバッグで追いかけていったら大体把握できた。 すごくはしょって言うと、Devel::Coverは裏のXSレベルでEND {} にあたる部分とかにコードを挿入してて、元のコードが #!perl exec "/bin/ls" だったとしたら、Devel::Coverをuseすると概念的には #!perl END { do_interesting_stuff() } exec "/bin/ls" という事をするようになる。PPの場合だとe

  • White Camel Awards 2011 - D-6 [相変わらず根無し]

    White Camel Awards 2011 2011年8月18日 10:51 D | ブログ記事のURL | コメント(0) | トラックバック(0) 昨日の夜、ビールの缶のプルトップをぷしゅっ!とあけてぐびぐびと一番うまい最初の一口を飲んで、ベッドの上からツイッターに発泡酒よかビールのほうがうまい、とか書いてたらtwitterで今年のWhite Camel Awardをもらったということを聞いた。ちなみに以前の受賞者には@miyagawaさんとかがいます。 人いないところでやるのはどうなのよ、とは思いつつも(まぁしょうがないっすよね!)、大変ありがたい話です。White Camel Awardが何か知らない人に説明すると、要はPerl技術とかそういうところでの貢献ではなくて、コミュニティであったりイベントであったりマーケティングとかそういうところでPerlに貢献した人を表彰してく

  • YAPC::Asia 2011で話してくれッ! - D-6 [相変わらず根無し]

    YAPC::Asia 2011で話してくれッ! 2011年7月27日 16:37 D | ブログ記事のURL | コメント(0) | トラックバック(0) これは自分がYAPCの運営に関わっている人でなかったとしても言える:「カンファレンスで喋る(喋った経験のある)エンジニアはその後チャンスが広がる」。あとさらに言うと、カンファレンスで喋れないとか言ってる人はひとつ大事な事を見逃している。今喋っているあの人達だっていつかは初心者だったんだ。最初に必要なのはまず応募してみる勇気だ。みんなスタートラインは一緒! YAPC::Asia Tokyo 2006だか2007で俺は初めて人前で喋った。300人入る講堂の中で喋った。何をどう喋ったか覚えてないけど、俺は目立ちたかった。俺は俺という人間がPerlを使える人であることをアピールしたかった。俺はその後のキャリアで仕事に困りたくないから実績が欲しか

  • 某オブジェクトストレージになぜか関わった話 - D-6 [相変わらず根無し]

    某オブジェクトストレージになぜか関わった話 2011年6月21日 17:20 D | ブログ記事のURL | コメント(0) | トラックバック(0) 今の職場ではちょっと前から「開発支援」という名目で仕事をしている。まぁ要は「ちゃんとVCS使え」「テスト書け!」「プロセスを自動化しろ!」とか煩いことを言うおっさんの役目なわけです。 まぁそんな事をしてるのであんまり表側のアプリとかを直接触ったりはしないのですが、あるとき突然某システムの話をしてるときに「あ、これオブジェクトストレージに突っ込もう」という話になりました。聞くともう大分前から使ってるSで始まって、Tが間にあって、Fで終わるオブジェクトストレージの事らしいんですが、これのフロントエンドがmod_perlで書かれてるわけですよ。 ・・・テストできない(しづらい)じゃん! そんなわけでAPIの基部分だけでいいからPSGIのがほしい

  • Brahman: a supervisor clone in Perl (under development) - D-6 [相変わらず根無し]

    Brahman: a supervisor clone in Perl (under development) 2011年6月13日 15:57 D | ブログ記事のURL | コメント(0) | トラックバック(0) 週末にsupervisorっていうものについて話してる人がいたので、特に理由なくPerlでクローンを書いてみようと思った。というわけで当に基の部分まで書いた。名前はBrahman。神様の名前にしたかったのはプロセスの生死を管理するから。 繰り返すけど、特に理由はない。書きたかったから。ちなみに内部的には多分家と全然互換性はない。設定ファイルがだいたいクローンできればいいや、というくらい。 今のところできることは、例えば今daemontoolsで管理してるplakupサーバーがあったとして、こんな感じの設定を書くと立ち上がってstdout/stderrを一緒のログに保存

  • dotCloud でPSGI Hello World - D-6 [相変わらず根無し]

    dotCloud でPSGI Hello World 2011年4月30日 16:32 D | ブログ記事のURL | コメント(0) | トラックバック(0) 最近PSGI/Perlをサポートし始めたdotCloudのinvite codeをもらったのでとりあえずHello World的なアプリを作った。 作り方だが、まずdotcloud用のツール類をインストールする必要がある。自分のマシンでpythonを動かした事がなかったのでそこから。まず自分のpythonは homebrew経由で入っているヤツで、全てユーザー権限で入っているのでsudoとか使ってないのに注意。 easy_install dotcloud docloudではまず"deploy"というものを作る。deployは複数の"service"の集合体。"service"はそれぞれが一個のアプリなり、データベースなりを指す(

  • Perlでシグナル処理(DBIを黙らせる編) - D-6 [相変わらず根無し]

    Perlでシグナル処理(DBIを黙らせる編) 2011年4月27日 01:42 D | ブログ記事のURL | コメント(0) | トラックバック(0) なんかふと気づいたら最近以前書いたPerlでシグナル処理の記事にブクマがついていたので続き的な感じで書いてみた。 例えば 以下のように、ワーカーとかでずーーーーっとDBにクエリを投げてその結果を使って処理をする、というような処理を書くとする while ( $loop ) { my $sth = $dbh->prepare( .... ); $sth->execute(); while ( $sth->fetchrow_arrayref ) { .... } } 以前書いた%SIGを用いたPerlの普通のシグナル処理では、もしexecute()でブロックしていた場合など(例:Q4Mでqueue_waitしてる)ではいくらSIGINTとかを

  • 備忘録:AnyEventとData::MessagePack - D-6 [相変わらず根無し]

    備忘録:AnyEventとData::MessagePack 2011年3月 8日 18:38 D | ブログ記事のURL | コメント(0) | トラックバック(0) ちょっとだけ躓いたりしたので、備忘録のため。AnyEventでData::MessagePackを受け取るサーバー use strict; use AnyEvent; use AnyEvent::Socket; use Data::MessagePack; use Data::Dumper; main(); sub main { my $host = undef; my $port = 8888; my $guard = tcp_server $host, $port, sub { my ($fh) = @_; handle($fh); }; my $cv = AE::cv; my $w; $w = AE::signal

  • Text::Xslateが素敵すぎる(Markdown編) - D-6 [相変わらず根無し]

    Text::Xslateが素敵すぎる(Markdown編) 2011年2月17日 10:13 D | ブログ記事のURL | コメント(0) | トラックバック(0) おいおい、Text::Xslate素敵すぎるだろ。 今日Markdownを使いたいと思ってちょっと考えたら、これだけで終了した: use strict; use Text::Xslate; my $xslate = Text::Xslate->new( .... module => [ 'Text::Markdown' => [ 'markdown' ] ] ); print $xslate->render_string( <<EOT, { text => $some_markdown_text ); [% text | markdown | mark_raw %] EOT 素敵!gfx 先生になら抱かれてもいい。 俺もXS

  • オブジェクト指向とClass::Data::Inheritableは一緒に扱わないほうがいい。 - D-6 [相変わらず根無し]

    オブジェクト指向とClass::Data::Inheritableは一緒に扱わないほうがいい。 「オブジェクト指向なパラダイムでプログラムを書くとき」にClass::Data::Inheritableは排除すべきモジュールである。今回激しくそれを痛感しているので、だらだら書いてみたい。 まず、Perlはマルチパラダイムが可能な言語なので、Class::Data::Inheritable自体は否定されるべきものでもないし、あと必ず例外ケースはでてくるのでその際には躊躇なく使えばいいと思う。以下は最初の一文の通り、Perlでオブジェクト指向を使う場合はClass::Data::Inheritableは基的に使わず、あくまで例外ケースに留めるべきだ、という事を伝えたい。 まずその1: クラスアトリビュートはグローバル変数 クラスアトリビュートはグローバル変数です。異論は認めません。 Singl

  • M::I::ExtendsMakeTestなかなかいいです+お願いというかおねだり - D-6 [相変わらず根無し]

    M::I::ExtendsMakeTestなかなかいいです+お願いというかおねだり xaicronさんのModule::Install::ExtendsMakeTestがなかなかいい感じです。以前書いたTest::mysqldのブログ記事を実現するのにもそうですが、任意の環境変数を設定できたり、スクリプトを実行できたりするのがとてもいい感じ。なので、以前の記事に書いていた内容は今は以下のように実装しています replace_default_make_test includes => [ "modules/common/lib" ], env => { MYAPP_CONFIG => 't/config.pl' }, before_run_scripts => [ 't/start_daemons.pl', 't/load_fixtures.pl' ], ; 自分は今プロジェクトの共通モジュ

  • YAPC::Asia 2010 - Thank You! - D-6 [相変わらず根無し]

    YAPC::Asia 2010 - Thank You! 気づいたら 9/26からブログかいてねぇよ。忙しかったのだな・・・ というわけでYAPC::Asia Tokyo 2010もようやく終わりました。今さっきスピーカーの皆様にメールを書いたので、あとはいくつか支払いをすればだいたい終わりかなぁ、っていう感じです。 まずは来場していただいた皆様ありがとうございました。今回は「初心者の俺でもいいんだ」「Perl使いじゃないけど、いいんだ」と言ってくれる人が結構いたようで、大変嬉しい限りです。そうです、YAPCPerl好きのほうが楽しめますが、Perlが好きじゃなくても全然問題ありません。 前回2009ではブレーンが俺一人で、しかも開催二日前に39度の熱を出すというへたれっぷりを発揮して方々に迷惑をかけまくりましたが、今回は @941さんと業務を分けられたので大変助かった。今年は少なくとも

  • Perl Trademark in Japan - D-6 [相変わらず根無し]

    Perl Trademark in Japan (This post is posted on my personal blog, since it contains personal rants and what not -- JPA will probably issue some statements after we've talked to the specialists handling these cases) So since it's probably of general interest, I'm here to let you know that Testuya Kitahara of the Apache Foundation fiasco fame has filed (and has been accepted!!!!) for the trademark o

  • Introducing Text::Xslate - D-6 [相変わらず根無し]

    Introducing Text::Xslate Text::Xslate is one of the latest inventions by Goro Fuji. It's yet another template engine -- and since it is yet another template engine, I could easily see everybody going "oh, *another* one....". Yeah, I get the idea. I feel the same for most new template engines. But I have to say, this time... this one /is/ worth looking at. First off, it's blazing fast. For trivial

  • 就職しました - D-6 [相変わらず根無し]

    就職しました ・・・ということで・・・ 株式会社ライブドアに再就職しました。 脱出プラン無しで会社をたたんだりしません!(キリッ カテゴリ 日常 2010年5月17日 10:00 D | ブログ記事のURL | コメント(0) | トラックバック(0) | Powered by Movable Type 4.1

  • 近況 - D-6 [相変わらず根無し]

    近況 もうちょっと黙ってようと思ったんだけど、少しずつ色んな所から漏れちゃったのでばらすと・・・私が代表を務める 株式会社 endeworksは4月末を持って営業を事実上停止しました。 1月の日記では割と余裕な内容を書いてたんだけど、蓋を開けてみれば2010年度にアテにしていた仕事が諸々全部合わせて4000万円弱、全てキャンセルないしそもそも始まらなかったりして、万策尽きてしまった・・・という次第。 たいした負債もないし、社員を全部切るとか会社を続けるっていうだけだったら正直なんとかなったんだけど、まぁさすがにこれだけの額のキャンセルや、それに伴うドタバタで僕の心が折れてしまった、ということで被害がないうちに・・・と今回の運びになりました。 まぁ厳密にはまだもう少し銀行と話したりとか、オフィス機材の処理とかをしないといけないのだけど、とりあえず誰にも(不必要な)迷惑は掛けず負債も完済して全

  • Plack + Markdown - D-6 [相変わらず根無し]

    Plack + MarkdownMarkdownで紙用の原稿書いているんだけど・・・ Markdownって楽だけど、実際にフォーマッティングがどんな感じになるかを見るには1回パースして処理する必要があるじゃないですか。いちいちMarkdown.pl呼び出すのも面倒くさいからPlackでディレクトリ直下のファイルをパースしてはき出すようにした。 Plackはなにげにこういう使い方が異常に便利な気がする。まさにSwiss Army Knifeって感じ。 use strict; use File::Spec; use Text::MultiMarkdown 'markdown'; sub { my $env = shift; my $file = File::Spec->catfile( File::Spec->curdir, $env->{PATH_INFO}); open my $fh,

  • Plack + Router::Simpleで簡単なジョブキュー書いてみた - D-6 [相変わらず根無し]

    Plack + Router::Simpleで簡単なジョブキュー書いてみた まだちゃんと使ってないから問題点とかわからないけど、とりあえずStarmanを使うとかで結構スケールできる気がする。そのあたりを自由に変えられるのもPlack++だね。 使用想定としては、これをplackupしておいて、クライアント AnyEvent::HTTPで http_postして非同期で応答待ちする感じ。 package Lyra::Server::Worker; use Moose; use Router::Simple; use JSON::XS; use namespace::autoclean; use constant NO_SUCH_WORKER => [ 404, [ "Content-Type" => "application/json" ], [ q|{ "status" => 0, "