2006-01-01から1年間の記事一覧

LVS + Ultra Monkey で負荷分散 (運用編)

LVS

LVS + Ultra Monkey で負荷分散 (設定編) - 酒日記 はてな支店 の続きです。 トラブル時 real server が落ちた! -> ldirectord が検知 (最大 checktimeout + checkinterval 秒以内) して切り離し director (active) が落ちた! -> director (standby) の hear…

LVS + Ultra Monkey で負荷分散 (設定編)

LVS

ライブドアテクノロジーセミナーに行ってきましたよ。id:naoyaさんは LVS++という話 でしたが、自分も 1年ほど前に、某サイトの負荷分散を LVS + Ultra Monkey (heartbeat + ldrectord) でやったので、社内 Wiki に書いてたメモを晒しておきます。 # 今なら …

SSLの更新期限を hobbit で監視

hobbit (http://sourceforge.net/projects/hobbitmon/) では https な URL を監視対象にすると、期限切れ 30日前に status yellow (警告) になって教えてくれます。 hobbit再び - 酒日記 はてな支店 と組み合わせると、Plagger でも。

LudiaでPostgreSQLに全文検索を(3) VACUUM / CLUSTER

ドキュメントにはこうある。 VACUUMには完全に対応していません。無効なTIDのチェックは行われますが、インデックスのサイズは減少しません。 VACUUM FULL を掛けると warning が出る。 # VACUUM FULL feed; WARNING: index "feed_ftidx" contains 80 row ve…

PlaggerLDR hack が動かなくなってた

IE7での動作の改善を行いました|Live Dwango Reader 開発日誌 これで LDR 側の js が変わったせいか? hackldrapi.user.js の 102行目、w.after_init.add(init); がエラーになる。patch書いた。 --- hackldrapi.user.js (revision 2043) +++ hackldrapi.user…

LudiaでPostgreSQLに全文検索を(2) EXPLAIN

Ludia-0.8.0 では EXPLAIN が返すコストの見積もりが正しくない(常に 0.00..0.01 ?) ため、常に fulltext index が優先して使われるようだ。普通の index (entry_pkey) が張ってある id カラムと、fulltext index (entry_ftidx) がある body カラムを持つテ…

LudiaでPostgreSQLに全文検索を

NTT Data が開発した(というか、Senna の PostgreSQL バインディングを作った) Ludia を使ってみた。 # 以前、pg_senna を試したこともあり、期待大。インストールは ドキュメント通りに問題なく完了。環境は Athlon64 3800+ (Dual Core) 1GB RAM Fedora Cor…

Catalyst::Plugin::Session => 0.06 に注意

C::P::Session を 0.06 以降にバージョンアップするときは C::P::Session::State::* も一緒にバージョンアップすること。なんの気なしに C::P::Session だけ更新したら動かなくなって (セッションが切れる)、結構悩んでしまった。特にエラーが出たりしないの…

Encode.pm が古いと Filter::Regexp でコケる

ひさしぶり。 Perl-5.8.2 (Vine Linux 3.2) と Encode.pm ($Encode::VERSION 1.9801) で Filter::Regexp を使おうとしたら、 Too many arguments for Encode::decode_utf8 at /home/fujiwara/devel/plagger/lib/Plagger/Plugin/Filter/Regexp.pm line 20, ne…

Subscription::LivedoorReader でコケると悲しい

出社して、さて前夜から溜った feed を読もうかな、と Plagger を走らせて。 未読 entry が 500 ほど溜った状態で Can't use string ("500 Server closed connection wit") as a HASH ref while "strict refs" in use at /home/fujiwara/devel/plagger/lib/P…

100までの素数 Perl6 / pugs 版

Perl6 (pugs) で動くようにしてみた。 #!/usr/bin/pugs my $max = @*ARGS.pop || 100; my @primes = (2); for (3..$max) -> $n { @primes.push($n) if @primes.before_incl:{ sqrt $n <= $_ }.all:{ $n % $_ }; } @primes.join(' ').say; sub all (@list, $t…

FedoreCore 5 に pugs インストール

FedoraにPugsをインストール - hide-k.net#blog を参考に。ghc は yum で 6.4.2 をインストール。 hs-plugins は http://www.haskell.org/fedora/ の RPM から、と思ったが FC5 用の RPM がまだないようだ。hs-plugins-0.9.10-4.20050922.src.rpm から hs-pl…

100までの素数 (キミならどう書く 2.0 - L.L. Ring)

http://ll.jus.or.jp/2006/blog/doukaku1/ http://d.hatena.ne.jp/t-akihito/20060625/1151227410 LL Ring のチケット発売今日からだ。買ってこなくちゃ。List::MoreUtils から all と before_incl を使って、リスト操作っぽく書いてみた。List::MoreUtils …

Filter::Eratosthenes

LLRing の締め切りは過ぎちゃったけど。Filter::Eratosthenes. entry.body に含まれる素数以外の数値を削除 (又は config で指定された文字列に置換) するフィルタ。誰かネタにしてたような…… package Plagger::Plugin::Filter::Eratosthenes; use strict; u…

CustomFeed::POP3 UIDL 対応ほか

CustomFeed::POP3 は、サーバにあるメールを全部ダウンロードして処理を行う。読んで消す場合は問題ないけど、サーバに残したい場合に困る。 全部取得してから Rule::Fresh, Rule::Deduped で対処してもいいけど、UIDL を見て余計な取得が起きないようにした…

rewrite_config bug

Changeset 1000 を目前にして睨みあいが続いている今日この頃ですが。 Plagger.pm の rewite_config で、書き換え前の値が正規表現のメタキャラクタを含んでいると誤動作するので patch. \Q \E で括るだけ。 --- lib/Plagger.pm (リビジョン 999) +++ lib/Pl…

Publish::AtomAPI

ひさしぶりに Plagger。XML::Atom::Client を使って、AtomAPI で entry を post する。既にあるかと思ったのだけど、まだないよね? (中身は Publish::HatenaBookmark ほぼそのまんま) しかしこれ、集めてきた entry を post しまくるわけだが…… SPAM blog 作…

改行を含んだJSON

Perl の JSON::Syckでデータに改行が含まれるオブジェクトを Dump すると、以下のような出力が得られる。 $ perl -de0 DB<1> use JSON::Syck DB<2> $data = { foo => "xxx\nyyy" } DB<3> p JSON::Syck::Dump($data) {"foo":"xxx\n\ yyy"}読みやすくするため…

pg_senna でエラーが

pg_senna の index を作成したテーブルに対して、SQL の PREPARE を使って UPDATE を掛けるとエラーになるようだ。 LOG: statement: EXECUTE <unnamed> [PREPARE: UPDATE entry SET read = $1 WHERE ( id = $2 )] ERROR: sen_index_upd() failed for key 7968 (code =</unnamed>…

pg_senna インストール

結構苦労したり…… FedoraCore 5 PostgreSQL-8.1.4 (FC5のRPM) Senna (senna-20060619.tar.gz) pg_senna - Postgres Binding For Sennaを参考に、しようと思ったらソースに Makefile が含まれていない。 Makefile.am と configure.ac があるので、これは auto…

GoogleEarth Linux版

先日出たβ版で Linux にも対応したので入れてみたら、画面ぐちゃぐちゃだ… (FedoraCore5)

Wheel

MacBookでは 2本指スクロール (タッチパッドを2本指でなぞるとマウスホイール相当の動きをする) がとても便利。 こうなるとデスクトップに付けている Space Saver II でもホームポジションから手を動かさないでホイールが使いたくなり…… そこらへんに転がっ…

patch for "Control Google Maps via MacBook"

Yappoさんの Control Google Maps via MacBook を早速自分の MacBook で動かしてみた。すばらしい。 斜め移動がちょっとガクガクする (一度に縦移動、横移動のみしかしない) ので、patch を書いてみました。 --- gmaps.pl.orig 2006-06-16 02:39:30.00000000…

雑感

やっぱり速い。一番実感したのが、Bit::Vector の make test にかかる時間。速い速い。とはいえ firefox を使っているだけだと、別に速いとは思わない。firefox のプロファイル。Linux(Vine-3.1/i386)で使っていたプロファイルディレクトリの中身を、rsync …

install Plagger

当然というか早速というか、Plagger を入れる。 引っかかったところ。 XML::Parser が expat を要求する 野良ビルドよりはパッケージシステムを使おうと、fink をインストール 何も考えないでバイナリパッケージを入れたら、PowerPC用のバイナリだった make …

MacBook買った

一番安いのだけど。 メモリは増設しないとだめなのは承知していたのだが、純正だと高いので適当に秋葉で買おう……と、PC2-5300(DDR2-667)を買うべきところで間違って PC2-4200(DDR2-533)を買ってしまう orz. PC2-5300とDDR2-533を思いっきり混同。まあダメ元…

hobbit再び

Hobbit / BigBrother の bb2.html を読むネタ。 http://subtech.g.hatena.ne.jp/miyagawa/20060611/1149963082 を読んで、CustomFeed を作らなくても何とかなりそうだったので。 # handle する手がかりが bb2.html という URL のみ、というのはちょっとアレ…

ちゃんぴおんらしいよ

輝け!全日本最強 CPAN Author 決定選手権 2006 - にぽたん研究所 http://app.blog.livedoor.jp/nipotan/tb.cgi/50523152 どう見ても規定打席不足です。本当に(ry 開幕戦で3打数3安打、それで首位打者! みたいなものですね。モジュール数を増やして来年も防…

Filter-EntryFullText/sixapart.pl

<meta name="generator"> が typepad / Movable Type のときだけ動くようになっている。他の sixapart-standard な HTML にも適用したいなあ。 [追記] r930で取り入れられました。 sub handle { my($self, $args) = @_; - $args->{content} =~ m!<meta name="generator" content="(?:http://www\.typepad\.com/|Movable Type.*?)" />!; + return 1 if $args->{content} …</meta></meta>

@shibuya.plのメールアカウント欲しい!

です。fujiwara@shibuya.pl で… [追記] いただきました! ありがとうございます。