2007/02/21

[技術系]   coLinuxとbind

at 22:36JST
さっきのmixiの件で/var/log/messagesを覗いたら、
Feb 21 22:21:57 jazz named[5360]: gettimeofday returned bad tv_usec: corrected 
Feb 21 22:22:25 jazz last message repeated 26 times
Feb 21 22:23:24 jazz last message repeated 14 times
Feb 21 22:24:24 jazz last message repeated 863 times
とかいうのが大量に吐かれていてびっくり。

うちの内部サーバはcoLinuxで、クロック関係がおかしいのでそのせいかなー、死にかけてるんじゃないかなー、と焦った。

なんとなくググったら、

SVX日記 - 電車でBind!!
http://genmei.itline.jp/~svx/diary/?date=20051108

さんが引っかかって、単にメッセージを吐いてるだけのようなのでbindに修正をかけることにした。ローテートかけてるからlogでパンクするようなことはないんだけど、ちょうどマイナーバージョンいくつか古いし…。

% wget http://ftp.isc.org/isc/bind9/9.2.8/bind-9.2.8.tar.gz 
% tar xvfz bind-9.2.8.tar.gz
% cd bind-9.2.8
% make clean
% grep 'gettimeofday returned bad tv_usec' lib/isc/unix/*
stdtime.c: syslog(LOG_ERR, "gettimeofday returned bad tv_usec: corrected");
time.c: syslog(LOG_ERR, "gettimeofday returned bad tv_usec: corrected");
% diff -c lib/isc/unix/stdtime.c.org lib/isc/unix/stdtime.c
*** lib/isc/unix/stdtime.c.org Wed Feb 21 22:17:37 2007
--- lib/isc/unix/stdtime.c Wed Feb 21 22:18:44 2007
***************
*** 54,61 ****
--- 54,63 ----
/*
* Call syslog directly as we are called from the logging functions.
*/
+ /*
if (fixed)
syslog(LOG_ERR, "gettimeofday returned bad tv_usec: corrected");
+ */
}
#endif

% diff -c lib/isc/unix/time.c.org lib/isc/unix/time.c
*** lib/isc/unix/time.c.org Wed Feb 21 22:17:42 2007
--- lib/isc/unix/time.c Wed Feb 21 22:19:05 2007
***************
*** 76,83 ****
--- 76,85 ----
/*
* Call syslog directly as was are called from the logging functions.
*/
+ /*
if (fixed)
syslog(LOG_ERR, "gettimeofday returned bad tv_usec: corrected");
+ */
}
#endif

% ./configure --prefix=/usr --sysconfdir=/etc && make
% sudo make install
% sudo killall named
% sudo /usr/sbin/named


でなくなった。

うーん。こんど再構築するときはcoLinuxはやめてVMWareにしよう…。

[技術系]   mixiの日記投稿画面、ちょっと変わった?

at 21:46JST
ここからmixiにエントリをミラーするスクリプトを動かしている。

なんだか今日の昼ごろからmixiの日記投稿画面の動作が(見た目ではわからないが)ちょっと変わったようだ。スクリプトが何度も重複投稿を繰り返していた。

内部で

WWW::Mixi
http://digit.que.ne.jp/work/index.cgi?Perl%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%2FWWW%3A%3AMixi

を拝借して利用してるんだけど、

get_add_diary_confirm

メソッドの返り値が、投稿に成功していてもsuccessを返さないようだ。

…他人の書いたモジュールを検証する体力はないので、速攻で返り値を無視するようにした。ああ、無気力。

最初から自分でMech使って書いていたほうが、こういうときに検証しやすい…。

[技術系]   Yahoo!カレンダーのUIがグレードアップしていた

at 19:45JST
引きこもりなのでスケジューラなどまったく縁がないのだが、ひさしぶりに

Yahoo!カレンダー
http://calendar.yahoo.co.jp/

にアクセスしたら「クイック追加機能」のUIが変更になっていた。

20070221.png


一覧画面で日付欄をクリックすると吹き出しが出る。ソースをよく見ていないけどYahoo! UIのライブラリを使っているようだ。

かなり安定していてデキの良さを感じる。AJAXバブルでJavaScriptを多用しているサイトの中には、ものすごく動作が不安定だったりエラーが頻発しているところもあるので…えーと、お世話になってて言いづらいんですが、Seesaaブログの管理画面のこ(以下検閲)。

[技術系]   JSON(P)データを取得する

at 05:32JST
function GetJSON( url ) { 
var d = document;
var elem = d.createElement( 'script' );
var nocache = (new Date()).getTime();
if ( url.indexOf( '?' ) < 0 ) {
nocache = '?' + nocache;
} else {
nocache = '&' + nocache;
}
elem.setAttribute( 'type', 'text/javascript' );
elem.setAttribute( 'src', url + nocache );
var headElem = d.getElementsByTagName( 'head' ).item(0);
headElem.appendChild( elem );
}

[技術系]   JavaScriptで既存のイベントリスナーを壊さずに追加する方法

at 03:42JST
いや、「イベントリスナー」って言うくらいだから当たり前なんだけど…ここ3年くらいやり方わかんないのを放置してた。

たとえば
window.onload = function () {
alert( '既存' );
}
とかあるときに、さらにwindow.onload時に
alert( '新規' );
を実行させたい場合どうするか。

なんかマシン語のフックみたいに
var oldOnloadFunc = window.onload;
window.onload = function () {
oldOnloadFunc;
alert( '新規' );
}
とかできたら…とか思ったけど、これは当然できない。できたらヤバイ。でも、どうすんだよ、ちくしょー…。

と思ってたんだけどさ。addEventListnerってそのまんま名前の通りの意味だね…_| ̄|O どんどん追加していくのに使えたんだね…。聞いてねえぞコラ。

ただ、IEにはないので、
function addEvent ( elem, event, func ) {
if ( elem.addEventListener ) {
elem.addEventListener( event, func, false );
} else {
elem.attachEvent( 'on'+event, func );
}
}

addEvent(
window,
'load',
function () {
alert( '新規' );
}
);
こんな感じにすればいいのかな。addEventListenerの3番目の引数が意味不明だが、気にしないで使う。笑いたければ笑えばいいさ。
さらに過去の記事
2009/04 (1)   2008/12 (3)   2008/11 (9)   2008/10 (10)   2008/09 (20)   2008/08 (2)   2008/07 (23)   2008/06 (16)   2008/05 (22)   2008/04 (11)   2008/03 (21)   2008/02 (20)   2008/01 (21)   2007/12 (32)   2007/11 (37)   2007/10 (46)   2007/09 (63)   2007/08 (33)   2007/07 (41)   2007/06 (81)   2007/05 (173)   2007/04 (168)   2007/03 (113)   2007/02 (123)   2007/01 (92)   2006/12 (111)   2006/11 (185)   2006/10 (20)  

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。