ps の日付パース

ps の出力をパースしたかったんだけど、日付部分めんどいなと思いきや Date::Manip 使ったら一発だった。覚えててよかった!

30boxes.pl とかで使われてるやつ。

by typester / at 2007-07-17T17:14:00 / perl · linux / Comment

そろそろはてグのスタイル何とかするかと思って環境作ってみた

はてグで書いてるモンハン日記のスタイルがデフォルトのままであれなので変えようと思ってちょっとCSSいじろうとしてみたら @import がつかえなくてズーンってなったのでローカルプロクシの環境をなんとかすることにした。

普段の開発では、ローカルにすべて環境作れるものばかりなのであまり使わないのだけど、前につくったperl製のプロクシの性能が悪すぎるのもあり、なんとかしたいとおもってた。

今回は fiddler2 をためした。

起動して Rules -> Customize Rules... するとエディタが立ち上がるのでそこのうえのほうに

public static RulesOption("Replace Hatena Group CSS")
var m_HATENAGROUPCSS: boolean = false;

とかかく、つぎに、static function OnBeforeRequest(oSession: Session) の中に

if ( m_HATENAGROUPCSS && oSession.hostname.match(/\w+\.g\.hatena\.ne\.jp/) && oSession.PathAndQuery.match(/^\/headerstyle/) ) {
    oSession.hostname = 'static.murase.dev';
    oSession.PathAndQuery = '/mh/mh.css';
}

とかいれる。

これで、RuleメニューにReplace Hatena Group CSSとか言うのが追加されるので、それONにするとCSSが自分のにかわるという。

結構お手軽でいいね。パフォーマンスが自前のやつより全然いいのが何よりいい。

by typester / at 2007-07-12T16:51:00 / life / Comment

Webcam買いました

手元ライブはじめます!

どういう形で置こうかは検討中。twitterと組み合すと面白そうではあるけど。

by typester / at 2007-07-11T09:57:00 / life / Comment

あれ、

screen

hardstatus って 15 まで行くと折り返すのか。

これって何か設定あるのかな? 10 くらいにしたい。

by typester / at 2007-06-29T14:17:00 / screen / Comment

Teach them to fish, don't feed them

とかDBICのチャンネルで言っててへーと思った。

むずかしいね。

by typester / at 2007-06-28T20:15:00 / life / Comment

We're hiring!

BEYESスタッフ募集

現在 KAYAC では BEYES の製作スタッフを募集しています。興味ある方は是非!

by typester / at 2007-06-19T14:00:00 / kayac / Comment

拡張で描画が遅くなる

300clp - Firefoxを遅くさせる最大原因はアドオン

これみて開発時しかつかわない拡張いろいろ無効にしてみたところすげー速くなった。うは。

でも開発時は使いたいから、プリセット設定してON/OFF変えて再起動とかしてくれる拡張がほしい!!

開発用にあたらしくFirefoxのプロフィール作ってわけてもいいけど、普段使ってなじんでいるFirefox設定で開発しないと効率悪いしUIチェックとか何とか微妙になる気がするし。

あと、上記URLの最後にIPv6を無効にするの意味ないって書いてあるけどおなじURLを表示するテストとかDNS最初しかひかないでしょ。それじゃわからないくない?

by typester / at 2007-06-15T19:18:00 / firefox / Comment

IP認証とBasic認証を同時に使うCatalystコードサンプル

Catalystは Authentication::Credential::* プラグインを複数使うことにより、複数の認証方式に対応できる。

IP認証などのような、Credプラグインが提供されていないものも即席でCredインタフェースにそったモジュールを作ることで簡単に認証方法を追加することができる。

MyApp.pm はこんな感じ

package MyApp;

use strict;
use warnings;

use Catalyst::Runtime '5.70';
use Catalyst qw/
    ConfigLoader

    Authentication
    Authentication::Credential::HTTP
    +MyApp::Credential::IP
    Authentication::Store::DBIC
    /;

our $VERSION = '0.01';

__PACKAGE__->setup;

Cred::HTTP が Basic 認証用のモジュール。+MyApp::Credential::IP がIP認証用のオリジナルモジュール。

この MyApp::Credential::IP のコードはこんな感じ。

package MyApp::Credential::IP;
use strict;
use warnings;
use base qw/Catalyst::Plugin::Authentication::Credential::Password/;

sub authenticate_from_address {
    my $c = shift;

    my $ip = $c->model('DBIC::UserIp')->find({ ip => $c->req->address }, { prefetch => 'user' })
        or return;
    my $user = $c->get_user( $ip->user->username )
        or return;

    $c->set_authenticated($user);

    1;
}

1;

こんな短いコードで認証増やせるの。なかなか便利。

で、実際に利用するのは以下のように、Root Controller の auto アクションに

sub auto :Private {
    my ($self, $c) = @_;

    # basic auth
    $c->authenticate_http and return 1;

    # ip auth
    $c->authenticate_from_address and return 1;

    # return basic auth response when no auth success
    $c->authorization_required_response( realm => 'Require Authentication' );
    return;
}

などとする。

全体に認証かけたいときはルートコントローラの auto に、コントローラ個別に指定したいときは、上記コードを埋め込んだ認証用の親コントローラクラスつくって認証必要なコントローラはそれを継承する。

パスごとにやりたいときは Authentication::ACL ってのがあるけど僕は使っていない。

by typester / at 2007-06-15T17:07:00 / perl · catalyst / Comment

というわけで

モンスターハンター - typesterの日記

はじめました。記法は使いながら覚える。

MHP2とかグループキーワードなはずなのにリンクされないのはなぜなんだぜ?

by typester / at 2007-06-11T19:00:00 / life / Comment

はてなモンハングループ

モンスターハンター

参加申請してみた。でも、はてな記法になじめないからどうだろうな。

ケンタッキー食えないのにたまに挑戦してみたくなって食べてみるけどやっぱりだめだった、的な感じに似ている。

by typester / at 2007-06-11T07:21:00 / life / Comment

30 31 32 33 34 35 36 37 38 39

(Page 34 of 203)