タグ

ブックマーク / clouder.jp (10)

  • cvsからsubversionに移行するときにやったこと その1

    ずっとやろうと思っていた cvs から subversion への移行を今年の初めの頃にやったので、その時にやったことを書きます。 (※参考にしたページを一番下に記しておきますのでそちらもご覧ください) svnのインストール これは他の方が書いていると思いますのでそちらを参照してください(オイ cvsからsvnへリポジトリの移行 これはcvs2svnというpythonのスクリプトがあるので、それを使いました。 % cvs2svn -s /path/to/svn/repos /path/to/cvs/repos これで /path/to/cvs/reposにあるcvsのリポジトリが、/path/to/svn/reposにsvnのリポジトリとして変換されます。 これはサクっといくと思います。 subversion流に管理するために一旦ダンプする ここまででも、まぁ使えなくはないですが、subv

  • Plagger を使ってカレンダーを携帯で見る

    今日会社の人と話してて、それ Plagger でできるんじゃね?ってことになってやってみた。いや別になんてことはなくて、30boxes とかのカレンダーサービスで管理しているデータを Plagger で取ってきて携帯で見られるようにするって話です。 30box は自分のカレンダーのデータを RSS で吐いてくれるので、それを Plagger で取ってきて、 Publish::CHTML で携帯用に整形しているだけです。簡単やねぇ。 plugins: - module: Subscription::Config config: feed: - url: http://30boxes.com/rss/12345/FooBar/24rj394fk093i30w409i4r/1/ - module: Aggregator::Simple - module: Publish::CHTML confi

  • rlwrapがチョー便利な件について

    secondlifeさんがhttp://subtech.g.hatena.ne.jp/secondlife/20060607/1149652287で紹介されている「rlwrap」がチョー便利です。なにが便利ってperlとかコマンドをコマンドラインで 使ったりするときに、ヒストリが使えたりコンプリートできたり要するにコマンドラインみたいな操作ができてしまうという代物です。 ちょっ、なにこの便利さ! といいつつも perl に関しては perlsh とかを使ってたりするので、その他で使おうかと思います。

  • ApacheであるURIだけ認証したくないときの設定

    自分用メモ。 もし、/はBasic認証したいけど、/fooと/barだけは制限をかけたくないという場合は、Locationディレクティブに以下のようにすればよい。 <Location ~ ^/(?!foo|bar)/> AuthType Basic AuthUserFile foobar.htpasswd AuthName BasicAuth require valid-user </Location>

  • Imagerを使おう - 第1回「画像の読み書き」

    仕事で激しくImagerを使っていて、ImageMagickなどにも劣らない機能を持っているなあと感じている今日この頃なのですが、せっかく使っていて覚えたテクニックを自分の中で終らせるのはもったいないし、日語でのドキュメントもあまりないみたいなのでまとめてみようと思いました。ということで、これから数回に渡ってImagerでできることを紹介していきたいと思います。(まぁ、podを読めという話なんですけど、Imagerはドキュメントも多いし、よく使う機能だけまとめておいてもいいかなと思い今回こういうのを始めてみました) まず第1回目は、とりあえず画像を読み書きの方法から。 Imagerで画像を読み込むには、read()というメソッドを使用します。 my $img = Imager->new->read(file => 'foo.jpg', type => 'jpg'); このようにfile

  • HTTP::MobileAgentでbotをモバイルと判定させたい

    tokuhiromさんがIRCで、 Nokia6820/2.0 (4.83) Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html) みたいなモバイル用のgooglebotがくるんだけど、これがH::MAではis_non_mobileになっちゃうというのを聞いたので、それをis_non_mobileじゃなくす実装をした。それと同時に以前Kamikuraさんから要望として来ていた J-Phone/5.0/J-SH03 (compatible; Mozilla 4.0; MSIE 5.5; YahooSeeker) という、キャリアの名前が「J-PHONE」じゃなくて「J-Phone」になってる微妙なYahooSeekerもモバイルとし

  • Gearman::Client::Asyncはtimeoutできます

    前のエントリで、Gearman::Clientはtimeoutできないけど、Gearman::Client::Asyncはtimeoutできる。でもすぐに処理が戻ってこない!って書きました。 で、この処理すぐに戻ってこないという問題をもうちょっと調べたら、すぐではないけど処理が戻ってくることが確認できました。設定した秒数が短かすぎて勘違いしていたみたい>< ということで、結論としてはtimeoutさせたかったらGearman::Clientじゃなく、Gearman::Client::Asyncを使おうということですね。

  • Gearmanは64kbぐらいのデータをうまくやりとりできないっぽい

    最近Gearmanを使っていてわかったのですが、Gearmanでは64kbぐらい(ぐらいっていう曖昧な表現なのは、毎回そうとは限らないから)のデータをworkerに投げると、うまく処理できないようです。うまく処理できないというかデータが欠損してしまうようです。 なんでなのか調べてみると、Gearman::Utilのread_res_packet()という関数の下記の部分で、clientから投げられたデータを全て取得できていないというのがわかりました。 if ($len) { $rv = sysread($sock, $buf, $len); return $err->("short_body") unless $rv == $len; } この部分の$lenは、clientから投げられたデータ(パケット)のヘッダーから取得したもので、workerに送られてきたデータ長になります。で、$rv

  • Module::Installの話の続き

    「Module::Installを使ったプロジェクトのincディレクトリについて」の続きです。 ブクマコメントを見ると、「入れてない」or「入れないで欲しい」って意見がほとんどでした。miyagawaさんは入れてないということですし、charsbarさんがコメントしてるPlaggerとCatalystのリポジトリを見ると、たしかにincディレクトリがありませんでした。 あとCatalystのリポジトリでは、incがないだけでなくMANIFESTもリポジトリに入れてないようです。たぶんリリースするときに make manifest && make dist してパッケージングしてるんだと思います。 ということで、今後subversionでプロジェクトを管理するときには、 リポジトリにincは入れない。 リリースするときには make manifest && make dist でパッケージン

  • Crypt::CBCのバージョンを2.15以下から2.17以上に上げるときは気を付けろ! (Clouder::Blogger)

    若干釣り気味のタイトルですが、Crypt::CBCの2.15がインストールされたサーバで my $cipher = Crypt::CBC->new({ key => 'foo', cipher => 'Blowfish' }); warn $cipher->encrypt_hex( 'bar' ); とすると「53616c7465645f5fcf0eb6374be3c083823b5e4bd39192b0」などと暗号化されます。 で、これをdecrypt_hexすると、 my $cipher = Crypt::CBC->new({ key => 'foo', cipher => 'Blowfish' }); warn $cipher->decrypt_hex( '53616c7465645f5fcf0eb6374be3c083823b5e4bd39192b0' ); ちゃんと「bar」と復

  • 1