タグ

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

  • q4m-balancer - D-6 [相変わらず根無し]

    q4m-balancer 2012年3月29日 11:22 D | ブログ記事のURL | コメント(0) | トラックバック(0) 至極簡単なハックなんだけど、q4m-balancerというスクリプト書いてみた。シナリオとしては、(1) q4mが複数あって、(2)それぞれに繋がってるワーカーの数・処理能力にバランスの不整合があって (3) キューの中身について処理順番等が関係ない、という状況においてq4mに入っているメッセージの数にかたよりが見られている状態をある程度改善するスクリプト。 入っているメッセージ数が最大のキューと最小のキューの差が 最大 > 最小 * 2 だった場合に最大のほうのキューの中身を40%最小のほうに移す、ってだけ。グラフを見れば分かるとおり、右側のほうにグラフの内容がイーブンになっているのが見えると思う。これを定期的に動かす事によって処理能力の高いワーカーのほう

    kazeburo
    kazeburo 2012/03/29
  • ZMQ Perl バインディング - D-6 [相変わらず根無し]

    ZMQ Perl バインディング 2012年3月26日 09:50 D | ブログ記事のURL | コメント(0) | トラックバック(0) ZeroMQ.pmをつい相続してしまってから家libzmqの変更についていけず大分悩んだんだけど、ここのところ直してリクエストが多かったので一念発起してlibzmqのPerlバインディングを大幅リニューアルしました。まだ正式リリースは出してないので、何か文句を言うなら今のうち!英語での解説はこちら いままでlibzmqの直接バインディング、定数、Perlっぽいシンタックスシュガーのラッパーを全部同じディストリビューションにいれていたのをばらしました。これまでZeroMQ::Raw とされていたのは ZMQ::LibZMQ2 ならびに ZMQ::LibZMQ3 となりました。ZMQはこれらのバインディングをうまいことオブジェクト風味にするPPモジュー

    kazeburo
    kazeburo 2012/03/26
  • STF supports multiple queues for redunduncy - D-6 [相変わらず根無し]

    kazeburo
    kazeburo 2012/03/09
    kt! RT @lestrrat: STF supports multiple queues for redunduncy
  • 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に貢献した人を表彰してく

    kazeburo
    kazeburo 2011/08/18
    Congrats!
  • 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のがほしい

    kazeburo
    kazeburo 2011/06/21
    Sで始まって、Tが間にあって、Fで終わる
  • 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を一緒のログに保存

    kazeburo
    kazeburo 2011/06/13
  • 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"はそれぞれが一個のアプリなり、データベースなりを指す(

    kazeburo
    kazeburo 2011/04/30
    ぼくも使いたい!
  • InactiveDestroyのアホな使い方 - D-6 [相変わらず根無し]

    InactiveDestroyのアホな使い方 2011年4月22日 18:32 D | ブログ記事のURL | コメント(0) | トラックバック(0) WebAppで DBIをなんらかの方法でDBに接続して、で、リクエストが終わったら接続を解除して・・・とかしたいとするじゃないですか。具体的な実装はScope::Containerでもなんでもいいんですけど。 それでなんかしらんけど、アクセスするたびに三つずつDB接続が残る、という現象に遭遇したわけですよ。最初は普通に「あれ、Scope::Containerの使い方間違ってたか」とか思ってたんですが、何をしてもダメだし、Scope::Containerに手を加えて現在の保持してる変数を抜き出しても何もない。DBI::db へのリファレンスがないのに接続が切れないなんて・・・と途方に暮れることと数時間。 ・・・やっちまったよ。ワーカーも同じ

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

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

    kazeburo
    kazeburo 2010/11/10
    RT @lestrrat: オブジェクト指向とClass::Data::Inheritableは一緒に扱わないほうがいい。
  • 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' ], ; 自分は今プロジェクトの共通モジュ

    kazeburo
    kazeburo 2010/10/21
    RT @lestrrat: M::I::ExtendsMakeTestなかなかいいです+お願いというかおねだり
  • 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

    kazeburo
    kazeburo 2010/06/09
  • 就職しました - D-6 [相変わらず根無し]

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

    kazeburo
    kazeburo 2010/05/17
    おめでとうございます! RT @lestrrat: 就職しました
  • make bundle_local_lib - D-6 [相変わらず根無し]

    make bundle_local_lib 最近、miyagawaさんが書いたこちらののツールを多少改変したものを使ってlocal::lib環境にCatalystアプリの全依存関係を突っ込んでからデプロイ、ということをしていました。 が、このツール自体をコピペするのに疲れました。なのでApp::BundleDepsとModule::Install::Bundle::LocalLibというものを作りましたよ!M::I::Bundle::LocalLibのほうはMakefile.PLに1行だけ記述を入れておくとmake bundle_local_libと書くだけで./extlibにlocal::lib環境を作ってくれるというものです。 俺的には超便利! 想定している使い方はApp::BundleDepsのPOD(cpan github)を見てもらうのが一番よいかもしれません。 これを使うとCa

  • Booking.comからYAPC用のストラップ来た - D-6 [相変わらず根無し]

    Booking.comからYAPC用のストラップ来た わっほーい。はるばるオランダより、Booking.comさんの名札ストラップが来たよ!ありがとう! Booking.comのこと、Booking.comでPerlがどう使われてるのか知りたい人はこちらのセッションもあるので是非どうぞ! しかし最初にコンタクトあってから1週間弱でもうここまで話が進むってのはすげぇなぁ。 カテゴリ 日常 タグ yapcasia2009 2009年9月 4日 13:32 D | ブログ記事のURL | コメント(0) | トラックバック(0) |

    kazeburo
    kazeburo 2009/09/04
  • Moosification: Catalyst 5.8に移行した際にちょっと気づいた事。 - D-6 [相変わらず根無し]

    Moosification: Catalyst 5.8に移行した際にちょっと気づいた事。 最初からMooseベースでアプリケーションを作るというのは、実務ではなかなか難しいのはわかります。一般論は JPA #02で話すのでおいておきますが(参加申し込みは今日5/12までですよ!)、5.8 からMoose化したCatalystであった問題・注意点をちょっと書き出してみます。 1. use Catalyst Catalyst::Upgradingを読んでいると package MyApp; use Moose; extends 'Catalyst'; __PACKAGE__->setup(qw/ ConfigLoader /); という表記が見られるが、これは気をつけないと駄目。 自分が直面した問題は、path_to()等を使った時に起こった。path_to() は現アプリのルートディレクトリ

  • JPA Semniar #1 (第一回旗揚げセミナー!) - D-6 [相変わらず根無し]

    JPA Semniar #1 (第一回旗揚げセミナー!) Japan Perl Associationセミナー#1 を開催します。 記念すべき第一回旗揚げセミナーです! 秋葉原UDXでCatalystを使い倒す話とMoose等の最新ベストプラクティスに関しての話になる予定で、講師はJay Shirley氏です。日ではまだあまり名前が売れてないかもしれないですが、トップレベルの技術者で、CatalystやDBIx::Classなどを現場でどう生かすのかというノウハウについては絶大なるものを持っています。また、最近ではMatt Trout氏らとEnlightened Perl Origanisation (EPO)という、エンタープライズ分野でPerlを使うためのノウハウやサポートの提供を行う団体を立ち上げています(EPOはThe Perl FoundationなどよりもJPAにかぶるかもし

  • JPAサイト構築中 - D-6 [相変わらず根無し]

    JPAサイト構築中 結局ユーザー管理だとか、お金を振り込む事だとか、なんか色々やらざるを得ないと言うことから、自分で書いたほうが速いという決断でJPA用のサイトを一からCatalystで書いてます。 今回はこれをgithubで晒しているわけですが、今ふと思ったのは、普段から我々PerlプログラマはCPANでいろんなCatalystのプラグインだとかを見ていたり、もしくはあちこちで細かいティップスみたいなものを聞きかじってるわけだけど、ひょっとすると俺たちほとんど他人のCatalystアプリケーションって見たことない? よくよく考えたら自分でさえも2,3回しかなかった。もちろん、社内のものは除く。完全に外部の奴ね。MojoMojoみたいな完全にできあがってるアプリケーションってなかなか外に出てこないし、そもそも一回作ってそのままインスコしておしまい、みたいなの多いもんな。 まぁそんな事を踏ま

    kazeburo
    kazeburo 2009/03/04
    limilicのソースはcodereposにある
  • FUDを広げるのは誰の特にもならないと思うんだ。 - D-6 [相変わらず根無し]

    FUDを広げるのは誰の特にもならないと思うんだ。 以下、まぁ書き散らかしです。あんまり推敲してません。すまそ。ちなみに、下記記事に対するブクマはDISも多いけど、素直な反応もちらほらあるようで興味深い。 僕にとってのJavaは2001年に終わってますが・・・。同じ事何回も書かなくちゃいけない言語なんて死んだも同然ですよ。ライブラリもちらばってて何がどこにあるのかわかんないし。 って、書くのは簡単です。多分元記事をテンプレ化してほぼ同じ事をどの言語に対しても僕は書けます。 ただ、エンジニアという職種の人がそんなことしてるのはどうかなぁ、と。エンジニアの使命を問題を解くことです。何でつまづいたかとか、なにがむずかしかったとか、何ができなかったとかそういう事をちゃんと書いて欲しいなと思う。CPANのアップロードとかも状況に対しての認識もなく、「回数」という一面だけで判断をばっさりしてていいのでし

    kazeburo
    kazeburo 2009/02/19
    ++
  • 「モダンPerl入門」書きました。 - D-6 [相変わらず根無し]

    「モダンPerl入門」書きました。 モダンPerl入門 今みたらAmazonでも表紙が入稿されたらしいので宣伝させていただきます。えー、モダンPerl入門というを翔泳社さんから出版させていただくことになりました。でも最初に断っておきます。誤字脱字はある気がします。ごめんなさいごめんなさい。日語不得手なんです(こういう時だけ帰国子女カードを使わせていただきます)。 ともあれ、内容的には自分が普段Perlを使っていて、同僚とかに知っておいてほしいな、って思っている実践的な内容ばかり書きました。このはたとえPerlがメインの言語ではなくともPerl仕事で使っていて、なおかつ初級〜中級のあたりでうろうろしてしまっている人たち向けに書いています。初級者向けの構文説明はほとんどありません。上級者向けのわけわかんないところはXS以外ありません(はい、XSの入門あります)。ほとんどは、Perlで業

    kazeburo
    kazeburo 2009/01/18
    注文させて頂きました