タグ

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

  • 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モジュー

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

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

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

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

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

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

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

    mickn
    mickn 2010/05/07
  • CGIをPlackで開発(2) - D-6 [相変わらず根無し]

    CGIをPlackで開発(2) 前のエントリ書いたら宮川さんにオススメ方法を教えてもらった http://twitter.com/miyagawa/status/10271128928plackup \      -L Shotgun      -MPlack::App::WrapCGI      -e 'Plack::App::WrapCGI->new(script => "/path/to/cgiscript.cgi")' だそうです!これなら全ての要件を満たせるもよう!そしてapp.psgiを作る必要ありません。 今これやってみて一つだけ問題点。多分POD入りのCGIは動かない。それと、__DATA__は見てくれるけど、__END__があると動かない。__END__さっき簡単なパッチのpull requestを送っておきました! カテゴリ 開発 タグ cgi perl plack 2

    mickn
    mickn 2010/03/16
  • CGIをPlackで開発 - D-6 [相変わらず根無し]

    CGIをPlackで開発 ちょっと案件で簡単なCGIスクリプトをを開発することになった。StarmanとかTwiggyでほとんど全て書いているのに今更CGIとかそういう突っ込みはとりあえずおいておいて・・・環境を作るのも面倒くさいし、簡単にサーバーを立ち上げたり落としたりしたい。 そこでPlackです!具体的にはplackupとCGI::Emulate::PSGIを使います。 何も考えずにとりあえず開発したいので、以下のようにapp.psgiにコードを書いていく。 use strict; use CGI::Emulate::PSGI; return CGI::Emulate::PSGI->handler(sub { CGI::initialize_globals(); # 重要 # ここから #!/usr/bin/env perl use strict; use warnings; use

    mickn
    mickn 2010/03/16
  • Plack/Starman Daemontools Run File With Complete Deploy Bundle - D-6 [相変わらず根無し]

    Plack/Starman Daemontools Run File With Complete Deploy Bundle 注1:まだ番にはデプロイしてませんが、テストでは使いました。 注2:以下スクリプトは開発者の労力を減らすためのスクリプトで、万全なデプロイ方法だとか言うわけではありません。 注3:正直シェルスクリプトは素人です。 ここ最近のアプリケーションのバンドル・デプロイについてちょっと固まりつつあるので、書いてみる まず アプリケーションと、その依存関係。デプロイ側のサーバーにはlocal::libと必要なModule::Install系のモジュール、それにModule::Install::Bundle::LocalLibがインストールされている前提です。アプリケーションの依存関係は全部Makefile.PLに書きます。 use inc::Module::Install;

  • AnyEvent IRC bot: Morris - D-6 [相変わらず根無し]

    AnyEvent IRC bot: Morris http://github.com/lestrrat/Morris Moose + POEなIRCボット作ろうと前に思い立って、結構長いこと弊社内で使ってたんですが、このたびAnyEvent化して色々モダナイズしました。やっぱり非同期なhttp_getしてる部分とかは抜群に速いなぁ。 AnyEvent したついでにAnyEvent::MPにも対応したですよ。POE::IKCと違って、一旦セットアップしちゃえば、Morrisの外から何かをポストするのにコマンドラインから一発でできる; aemp morris privmsg "#channel" "Your comment" ただMPってセットアップが結構面倒くさいのね。以下はまったり考え込んだりしてしまったところ: 最初動かない時になにやってんんだかわからないので、PERL_ANYEVENT

    mickn
    mickn 2009/11/05
  • 自分専用TwitterのWeb UI 「Hamaki」 - D-6 [相変わらず根無し]

    自分専用TwitterのWeb UI 「Hamaki」 ミニブログサービスで先行するTwitterと差別化を図った上で新たなサービスを出すのは面倒くさいので、id:miyagawa氏のコードを丸々パクった上でTwitter支援ツール、Hamakiを機能の夜からちょこちょこと開発しました(当はTwitter以上に色々できるんですが、そのあたりはまださわってない) もう自分がやりたい事はだいたいできるようになったのでとりあえず公開です。 まず前提としてTwitterを使ってていくつか不満な点があったわけです: Twitterで特定のアプリの発言がちょっぴり気になるので自分のTLに表示したくないかといって上記アプリの発言している人たちの他の発言は読みたいので、それらの人をremoveするのもしたくない。あと、全般的にtwitterをリロードするような事をしていると非常に効率が悪いかといって、今

    mickn
    mickn 2009/10/26
  • Perl App EngineをMac OS Xで動かすまで。 - D-6 [相変わらず根無し]

    Perl App EngineをMac OS Xで動かすまで。 先週末、僕が相方とのんびりとしているとメールが入ってきた。「アイデアがあるんだけど」とメール始まるが、僕はピンと来た。これは「やってくれ」という催促だ。僕は身を固くして続きを読み始めた。 JPAのターゲットのひとつにクラウドコンピューティング サポートってのが入っていて,ec2とかで使うことを考えて ました.が,よく考えるとperl-appengineってのがありますね. ああ、ありますね。そうですね。 誰かYAPCでしゃべってくれるといいんですが〜 うは!くっ。僕は肩書きこそ「長」がつくけど、そんなに偉くないので年上&目上のこの人に「君がやりたまえよぉ」とは言えないので「隙を見つけてやってみよう」と思った。 月曜、きっとやらないとなんか言われるだろうなぁ、と思いつつも忙しくてなにもできなかった。そして今日。メールを山のように

    mickn
    mickn 2009/07/08
  • YAPC::Asia Tokyoの参加費用 - D-6 [相変わらず根無し]

    YAPC::Asia Tokyoの参加費用 さて、ようやくCall for participationもして動き出しつつあるYAPCですが、ひとつずっと考え続けているけどちゃんと答えの出てない懸念事項があるのです。それは入場料。 一般参加の方は別に基的に今までと同じくらいの値段設定でいいんだけど、今回から企業向けのプライシングを取り入れようかと考えてて、それが日では通じるのか、通じるのなら相場はどのあたりか?というのを迷っている。 たとえばちょうど今日(今朝?)終わったYAPC::NAでは参加費用は以下のようになっています: 一般 $150企業参加A $1000企業参加B $1500企業参加C $2000企業参加D $2500なんでこういう価格設定になっているかというと、一般参加はこういったカンファレンスにしてはかなり安い部類に入るので、普通に会社に勤めている人が研修名目の経費として申

    mickn
    mickn 2009/06/26
  • 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にかぶるかもし

    mickn
    mickn 2009/03/11
  • Mouse.pmでParameterized Typesが使えるようになった理由 - D-6 [相変わらず根無し]

    Mouse.pmでParameterized Typesが使えるようになった理由 Data::LocalizeがMooseベースで、Moose嫌いなtokuhiromがMouseじゃねーから使わないって言われたのが発端。おお、んじゃあAny::Mooseにすべかぁ、と思ったらParameterized typesが実装されていない。ないからことごとくエラー。「実装されてないじゃん!」って言ったらtokuhiromとYappoに「え〜、俺ら必要ないし」的な発言をされて正直Mouse Mouse言うならちゃんと最後まで面倒みてやれよ!と思った。 ...というような事を書いたが、このエントリは別に彼らに文句を言いたいわけではない。 オープンソースの世界は参加者一人一人が自分の技術を少しずつ世間に提供する世界だ。彼らにMooseとの完全なる互換性を求めるのは大間違いだ。ここまでちゃんと使える物

    mickn
    mickn 2009/03/08
  • MVCのモデルはDBじゃなくてもいいんだよ - D-6 [相変わらず根無し]

    MVCのモデルはDBじゃなくてもいいんだよ id:charsbarさんが、先ほど書いたエントリに関して 後半その通りなわけですが、CatalystはModel::DBIC系のせいでMVCが誤解されてるのよねー と言っておられる。たしかにその通り。「モデルってDBでしょ?」みたいな印象が一般的にあると思う。 そういう印象を持ってる人に説明すると、「モデルを作る」って何かというと、DBのようなストレージにあるものをどうこうする、ではなくて「データに対する操作を抽象化したものを作る」ということです。例えば、ブログを作ると、Blog、BlogEntry、BlogUserみたいなモデルを作ります。そしてその操作方法はこんな感じ: # ブログを登録するみたいなAPI MyApp::Model::Blog->create({ user => $blog_user, title => $title, .

    mickn
    mickn 2008/12/24
  • バグ見つけた→それってどんなテスト?もしくは、なんでMVCなんて使うの? - D-6 [相変わらず根無し]

    バグ見つけた→それってどんなテスト?もしくは、なんでMVCなんて使うの? 最近ソフトウェアエンジニアリングに置ける開発手法に関して考えている。 ぶっちゃけ言ってしまうと「やっぱりTDDっぽいのがいいな」というところに落ち着きつつあるのだが、厳密にTDDをしたほうがよい、と思ってるわけではない。TDDとかExtremeプログラミング、Agileプログラミングにしても理想はいいんだけど、原理主義っぽい使い方は現実にそぐわないと思ってるからだ。 前置きはこれくらいにしておいて・・・重要だと思うのは以下の点: 開発サイクルに自動テストツールを組み込むエンジニアによるバグ/不具合発見時には「動かない」は許可しない。必ず再現コードを提出してもらうテストを自動テストツールを組み込む(=次回リリース前にはかならずテストを実行できる状態にする)テストが通るまで修正を続けるという開発サイクルを取るべきだ、とい

    mickn
    mickn 2008/12/24
  • 不勉強だった・・・(基金制度) - D-6 [相変わらず根無し]

    不勉強だった・・・(基金制度) 昨日いろいろと言われていた件でネット上の情報を探していたら一般社団法人法ががっつりそのまま載ってるところを発見した。そこで基金制度というのを見たら・・・アーッ。そうだったのか・・・資金の代わりに基金を作るというオプションもあるんだね。しまった不勉強だった。 原稿を超スピードで1章書き終えたので、昨日公証人のおじさまに言われた事を反芻しつつ、定款とにらめっこをしている。 昨日のエントリにさらに加えるメモ: 企業には「基金」を出してもらえると大変よい。基金は「借金」。しかし株式会社の「資金」のように利益を出資者に返還する必要はなく、あくまで運営の基礎のための出資で基的に元の額を返す。基金の返還ができるのは解散時、およびある事業年度の純資産額が基金の元の評価額を超えた場合。社団法人が破産した場合は業務執行者(この場合、きっと僕だね!)が負債を負う。別の話。社

    mickn
    mickn 2008/12/22
  • 公証人役場にいってきた - D-6 [相変わらず根無し]

    公証人役場にいってきた 公証人役場にJPAの定款を持って行ってきた。そしてある意味我々の期待通り、ぼろくそ言われて帰ってきた。まぁいいでしょう。しかし行ってみて分かった点が数点あるので、メモと周知のために書いておく: 「社員」は議決権を持つ。JPAに社員はそんなにいらない。当初は5人とかでもいいと思う一般的に社団法人内で決定しなければいけない物事は社員総会で決める理事会はその社員達の「上」にいる。社員総会での決定事項を承認する。つまり拒否権もある。理事会を設置する場合は必ず監事が必要となる。企業にしろ、個人にしろ、大多数の人は「会員」になる。会員は議決権を持たない。昨日まで賛同企業は議決権を持つような事を考えていたけど、持たないで会員になってもらったほうが色々好ましいということを理解した。JPA は社員だけにするか、少人数な理事会を設けるのがいいと思う。とりあえずメモまでに。 カテゴリ 日

    mickn
    mickn 2008/12/22
  • JPAを今このタイミングで設立するわけ or 2009年に向けて - D-6 [相変わらず根無し]

    JPAを今このタイミングで設立するわけ or 2009年に向けて JPAは社団法人で公益法人はとりあえず面倒くさいのと人手がないので目指さないものの、公益性の高い法人として活動していく予定で、今そういう方向の定款をがんがん書いております。 ところでこの間某社を訪れた時に「この時期にこういう事をするなんてチャレンジャーだね」的な事を言われました。この経済情勢の中、というのはよくわかりますが、私は今こそがチャンスだと思っています。不景気と言われるときこそ器用なPerl技術者は重宝されるはず。今年弊社endeworksで雇ったFさんにしてもそうだけれども、Perlプログラマはとにかく現実的・合理的、そして広い知識を持っている。buzzword満載の言語ではなく、質実剛健なPerlを助成・発展させるための団体を作るならば時期は今こそ、でしょう。 また、協賛してくれる各社は今が我慢のしどきだと思って

    mickn
    mickn 2008/12/18