タグ

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

  • 某オブジェクトストレージでデータをお引っ越し中な話 - D-6 [相変わらず根無し]

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

    hiboma
    hiboma 2011/10/04
    どっからどこへお引っ越しでしょうか
  • 某オブジェクトストレージになぜか関わった話 - 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とかを

    hiboma
    hiboma 2011/04/27
    POSIX::SigAction
  • 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

    hiboma
    hiboma 2009/12/18
  • Script::Sub::Importが大変いただけない件 - D-6 [相変わらず根無し]

    hiboma
    hiboma 2009/12/07
    caller()
  • Perl App EngineをMac OS Xで動かすまで。 - D-6 [相変わらず根無し]

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

    hiboma
    hiboma 2009/07/08
  • レンタルサーバーでCPANモジュールをインストールする - D-6 [相変わらず根無し]

    レンタルサーバーでCPANモジュールをインストールする 注:まだ当にレンタルサーバーでは試してないです。 思い立ってすっげぇ簡単なスクリプトを書いてみた。local::libを同梱する必要があるのと、~/perl5と.cpanがスクリプト実行ユーザー権限で書き込み・読み込みできる必要がある。 #!/usr/local/bin/perl use local::lib qw(/home/daisuke/perl5); use CGI; use CGI::Carp qw(fatalsToBrowser); use CPAN; sub main { local $| = 1; my $q = CGI->new; if ($q->param('mode') eq 'install') { install($q); } else { control($q); } } sub install { my

    hiboma
    hiboma 2009/05/27
  • 伊豆で休息(おまけ付き) - D-6 [相変わらず根無し]

    伊豆で休息(おまけ付き) アホみたいに忙しかった12月〜2月くらいの間にもうどうしてもたまらなくて5月の連休明けに伊豆旅行を衝動的に予約しておいたので、先週末行ってきた。 今回は例のの印税の一部を使って自分的には豪遊。3日間、ネット回線もない旅館で上げ膳据え膳、う寝る湯につかる以外のことをほとんど何もせずにぼ〜〜〜〜〜っと過ごした。体力が大分チャージされたのを感じる。 しかしネットのないところに泊まるって、4,5年ぶりじゃなかろうか。メールもチェックしないなんてほんとう久しぶり。ネットのつながらない状況でPixisを継承して新しいアプリを作るためのハックをいろいろとしてみたくらい。あとは当に当になんもせんかった。 1年に一回くらいはこういうのしたいよなぁ。またを書かせてもらうか・・・ おまけ。休息する俺様 サウナでしゅ〜しゅ〜言ってるところ。 カテゴリ 日常 2009年5月25

    hiboma
    hiboma 2009/05/26
  • 納品するextlibに依存関係を全部つっこんじゃうというのはどうか - D-6 [相変わらず根無し]

    納品するextlibに依存関係を全部つっこんじゃうというのはどうか MENTAやNanoAでもextlibにつっこむ云々の話はあったが、とりあえずインストール先のサーバーにアクセス権があるという前提のもと、アプリケーションの依存関係を全部extlibに自動的につっこむスクリプトを書いてみた。 use strict; use CPAN; use Module::CoreList; use Module::ScanDeps; use File::Find::Rule; use File::Spec; use File::Temp qw(tempdir); if (scalar @ARGV != 2) { print <<EOM; Usage: deps2extlib.pl target [extlib] target - the directory or script that you wa

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

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

    hiboma
    hiboma 2009/01/17
  • シーズン到来 - D-6 [相変わらず根無し]

    シーズン到来 とうとうやってきました、秋刀魚シーズン。一匹100円を切ったのでシーズン開始です。さっそく買ってきて焼き魚にしますた。うまいうまいうまいうまい。 さー、今シーズンも秋刀魚べまくるぞー! P.S. そういえば自分は秋刀魚のワタが大好きで、それ無しの秋刀魚の焼き魚なんてありえないと思っているくらいなんだけど、ネットで見てるとみんな結構これ取ってるのねぇ?うまいんだけどなあ・・・ カテゴリ 日常 2008年8月31日 18:51 D | ブログ記事のURL | コメント(0) | トラックバック(0) |

  • MooseX::Daemonizeがセクシーすぎる件について - D-6 [相変わらず根無し]

    MooseX::Daemonizeがセクシーすぎる件について さて、すっかりMoose厨となりつつある私ですが、この度デーモンスクリプトを書くことになりましたのでMooseでこれをするのは何がいいかなと考えていたわけです。したらなんでもありますな、CPANは。MooseX::Daemonizeですよ、奥さん。 考え方としては、スクリプトの書式をコントロールするオブジェクトをまず作ります。 package MyDaemon; use Moose; with 'MooseX::Daemonize'; コマンドラインから受け取るオプション等はこのオブジェクトの属性として指定します。 has 'option1' => ( is => 'rw', isa => 'Str', required => 1 ); has 'option2' => ( is => 'rw', isa => 'Bool',

    hiboma
    hiboma 2008/06/09
    おぉー
  • Perlのmakeフェーズの挙動 - D-6 [相変わらず根無し]

    Perlのmakeフェーズの挙動 いわゆるCPANモジュール形式で展開されているモジュールに対して一般的に行う以下の手順: perl Makefile.PL make make test make install # 以下はモジュール作成者のみが気にするであろう make clean make disttest make dist make manifest これがそれぞれ何をしているのかって案外しられてないのかもしれない。 perl Makefile.PL - これはMakefile.PLを単純に実行している。この中では一般的にExtUtils::MakeMaker、Module::Build、Module::Install等のモジュールが使用され、インストールに使うMakefileというファイルを作る。これはmakeコマンドが自動的に検知して、使用してくれる。ちなみにmod_perl

  • オープンソースソフトウェアのコードの進化とリリースに関する考察 - D-6 [相変わらず根無し]

    オープンソースソフトウェアのコードの進化とリリースに関する考察 滅多にコラム的な事は書かないけど、ちょっと今日は書いてみたい。オープンソースプログラマとしてソースコードのリリースをしていく上での判断の仕方について。 オープンソースソフトウェア(クローズドでももちろんそうでしょうが)を書いているとよくわかるのだが、コードというものは常に進化し続ける。関数の引数が変わったり、内部動作が微妙に変わったり。そう言った変更自体はバグの修正やそれまで想定していなかったユースケースをカバーするという命題においては常に推奨されるべき事ではある。そして、その進化し続けるコードに古いバージョンとの互換性を100%求めるのは現実的ではない。 ただしそれを踏まえた上で、我々オープンソースプログラマーは最大限自分がリリースしているソフトウェアに依存しているソフトウェアへの突然の変更を強いる事を避けなくてはいけない。

    hiboma
    hiboma 2008/02/08
    大切。
  • perl 5.10.0 人柱 - D-6 [相変わらず根無し]

    perl 5.10.0 人柱 Perl 5.10がPerl 20歳の誕生日にリリース。さっそくDL+インストール。 ./Configure -d make make test sudo make install コンパイルは速かったが、テストは意外とまだ時間かかるな。Test::Harnessで並列テストできるんじゃなかったのか。 daisuke@beefcake ~$ sudo perl -eshell -MCPAN CPAN: File::HomeDir loaded ok (v0.67) Can't locate Mac/Files.pm in @INC (@INC contains: /usr/local/lib/perl5/5.10.0/darwin-2level /usr/local/lib/perl5/5.10.0 /usr/local/lib/perl5/site_per

    hiboma
    hiboma 2007/12/19
  • 1