トップ «前の日(06-02) 最新 次の日(06-04)» 追記

2002|01|02|03|04|05|06|07|08|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|02|03|04|07|

2002-06-03

_ どにち

結局だらだらとワールドカップをスカパーで見続けた週末。見事に何もしなかったな。

Tags: 日常

_ はてなアンテナ

手軽にアンテナを作成できるサービス「はてなアンテナ」ってのが最近始まったらしい。アンテナってネットワーク負荷が高いんで、全部自前で更新情報を得るってのは結構大変そうな気がするけど、企業としてやる分にはなんとかなるのかな。ユーザー数が増えても安定して動くならば、textmaniaなんていらなくなるかも。これってどのくらいの頻度で更新チェックしてくれるんだろう?

ひとまず自分がtextmaniaでチェックしていた分を、一通りはてなアンテナに登録してみることにしよう。LIRSとかHINAとか一般的な形式で更新情報を出力してくれる機能もあるみたいだし、自前でアンテナを立てていた分だけでもこっちに移行してしまうこともできるな。

* 追記

HEADで更新時刻を返さないサーバーは結構あるから、どうせGETしなければならないことを考えればページのデータ自体を得ることはさほど大きな負担にならない。最近はハードディスクも安くなってきているから、データを保存すること自体も大したことはないんだろう。ページの更新差分を得る処理の負荷が一番きつそうだけど、まあうまく書けば軽く済ませることができるかも。更新情報取得先ページ数は、ほとんどのユーザーでリストが重複するであろうことを考えると、ある程度以上増えないのかもしれない。また、たくさんの人のリストに登録されているページは更新チェック頻度を高く、あまり登録されていないページは更新チェック頻度を少なくすることで、それなりに負荷コントロールもできそうだ。といった感じの読みなのかな。

* 追記

更新チェック頻度はあんまり高くないみたいだな。もしかしたら1日に1回くらいなのかな? あと、自分でなつみかんとかでアンテナを立てるよりも制約が大きいかもしれない。まあその分メリット(更新差分を取得してくれる)もあるんだけど。あと、本格的に使うんだとしたら、まじめにセットアップしなきゃいけないみたいだな。基本的に全文取得して解析する方針みたいだから、カウンターみたいなものまで変更差分として取得&更新されたと認識するみたいだ。大量にURLのみ登録してみたんだけど、これをちゃんとしたアンテナとして使うためには、一個一個の設定を考えて変えていかないと。


2005-06-03

_ 前にどこかに書いた気がするし (16:22)

どこかで誰かが似たようなことを書いてもいるだろうけど、JavaScriptでprintデバッグしたい場合は、

<script language="javascript">
var debugWindow;
function h(str) {
	return str.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;').replace('"', '&quot;');
}
function debugInit() {
	if (debugWindow != undefined && debugWindow.document != undefined) {return;}
	debugWindow = window.open('about:blank');
}
function debugPrint(str) {
	debugInit();
	debugWindow.document.write(h(str) + '<br>');
}
</script>

とかした方が、メインのウィンドウを汚染しなくていいよね。strがオブジェクトだったらオブジェクトダンプしたりとか、出力ごとの時間を出力したりとか、そういう拡張をするとさらに便利。

_ au携帯GPSで位置情報を連続取得する (20:09)

作ってみました hvsGpsMail」でサービスが紹介されていたんだけど、自分でいろいろいじってみたかったんで、自分版のひな形PHPスクリプトを作ってみた。

<?php
  $interval = 60 * 10;  //refresh interval(sec)
  $scriptUrl = 'http://server/location.cgi';  //this script url
  $subscriberId = NULL; //your subscriber id or NULL

  if (isset($subscriberId) && $subscriberId != $_SERVER['HTTP_X_UP_SUBNO']) {
    die('invalid subscriber-id');
  }

  $now = time();
  if (isset($_GET['lat'])) {
    $lat = $_GET['lat'];
    $lon = $_GET['lon'];

    // メールで送るなりファイルやDBに保存するなり
  }

  header('content-type: text/x-hdml;charset=shift_jis');
?>
<HDML VERSION=3.1 MARKABLE=TRUE TTL=0>
 <DISPLAY TIMERDEFAULT=<?php echo $interval * 10 ?>>
 <ACTION TYPE=ONTIMER TASK=GO DEST="device:gpsone?url=<?php echo $scriptUrl ?>&ver=1&datum=0&unit=0">
  NOW: <?php echo date('Y-m-d H:i:s', $now); ?><BR>
  LAT: <?php echo isset($lat) ? $lat : 'UNKNOWN' ?><BR>
  LON: <?php echo isset($lon) ? $lon : 'UNKNOWN' ?><BR>
  <a href="device:gpsone?url=<?php echo $scriptUrl ?>&ver=1&datum=0&unit=0">REFRESH!</a>
 </DISPLAY>
</HDML>

で、何をしようかなー。旅行とかツーリングとかの移動記録の自動化なんかには使えそうだけど。

修正

なんか俺のサーバーだとtext/x-hdmlヘッダをつけるとうまく動かないな。つけない(=text/html)とうまく動いている模様。ひとまずヘッダ出力部分はコメントアウトしておこう。

あとMARKABLE=TRUEをつけておかないと、このページをブックマークできないみたいなんで追加。そんな指定があったんだっけ。もう二度とHDMLなんて書かないと思っていたのになー。

さらに修正@6/6

結局text/x-hdmlヘッダをつけないとうまく動かなかった。EZWebのキャッシュが悪さをしていたのか? でもTTL=0なんだけどなー。よくわからんけど、最終的には上記のような(ヘッダもちゃんと送る)コードで動いている模様。

その他参考資料

Tags: PHP GPS 携帯