Skip to main content.

Archives

This is the archive for January 2006

自前のpingサーバ (たぶんその1)

更新Pingサーバー - Step PukiWiki
↑からPHPで書かれたping受取スクリプトを導入してみる。
とりあえず、受け取ったpingの保存まではできたのがこれ。
ダウンロード:pingserver.zip

要するに、
BoundlessOcean : 続・PHPでpingを実装する。
でダウンロードできるサンプルスクリプトをPHP4対応に書き直し、ログを保存する機能をちょこっと追加しただけのモノです。

使い方:
1)上記zipファイルを解凍後、できた2つのファイルをサーバに上げる。
2)ping.logという名前のファイルはパーミッションを書き込み可能(666とか)に変更する。
3)ping送信元の方で、送信先URLにhttp://(置いた場所)/pingsever.phpを指定してpingしてみる。

注意点:
サーバ環境を選びます。PEARパッケージのXML_RPCが必要らしいです。
とりあえず、http://(置いた場所)/pingsever.phpにブラウザにアクセスしてみて、
<?xml version="1.0"?>
<methodResponse>
<fault>
  <value>
    <struct>
      <member>
        <name>faultCode</name>
        <value><int>103</int></value>
      </member>
      <member>
        <name>faultString</name>
        <value><string>XML error: no element found at line 1</string></value>
      </member>
    </struct>
  </value>
</fault>
</methodResponse>


と表示された場合は使える、と判断すれば良いと思います。

細かいこと:
ログに保存する機能をつけただけです。
このログを利用して更新一覧を閲覧させるスクリプトは用意していません。
また、ログ書き込み時にロックをかけるとかもしていません。
ログの最大保存行数も設定していません。
もちろん、テキスト保存よりもmysqlDB保存とかの方がいいかも、です。

Googlebot なんか変わりました?

ここのところ、おとなしかったはずのGooglebotがまた最近軽くページurlを全部おさらいしていく挙動に見えるのですが...
特に私といたしましては何も仕掛けておりませんが。
Yahoo!に負けじと力業発揮してますか?

My del.icio.us

ソーシャルブックマークなdel.icio.usをちょっと試しに使い中。
そもそも「ソーシャルブックマーク」自体、初めてなんですがw

ってな訳で、自分の(じゃなくてチェキな他人でもいいが)del.icio.usをAjax表示するプラグインを自分で作って使ってみたりしています。
サイドバーの一番下。特に特色は何もありません。自分が便利なだけ。
私の場合は完璧web徘徊日記になりそーな。

っつーか、日本語サイトの場合はPrefix「jp_」つける運動とかしないとタグ繋がりも多少心許ない。

NucleusってAtom APIは...

Nucleusは
・Blogger API (XML-RPC)
・metaWeblog API
・Movable Type API
はサポートしてますけど、Atom APIサポート予定はどうなんでしょう。
Atom API自体がまだ未完成だからサポート予定はないのかなー。

googleとYahoo!にサイトマップを登録する

googleとYahoo!ではクローラーに自発的にサイトマップを知らせる仕組みがあるわけですが。(仕組みについてはここでは書きません)

Nucleusから自動でサイトマップをgoogleに知らせるには、早い話が
寄ってらっしゃい [Google Sitemaps] - higuchi.com blog
にまとまっています。
全部追いかけるのはちょっと面倒ですけどね。

で、これをプラグインに仕立てたモノがありました。
Nucleus Support :: View topic - NP_SitemapExporter 0.4 (was NP_GoogleSitemap)(注:英語)

以下、比較と考察。


まず、私のサイトで両方のサンプルを。
前者:http://nakahara21.com/sitemap.php
(更新日時は反映させてません。NP_UpdateTime作った人のクセニ)
後者:http://nakahara21.com/action.php?action=plugin&name=SitemapExporter&type=google
おまけ【Yahoo!用】:http://nakahara21.com/action.php?action=plugin&name=SitemapExporter&type=yahoo

いろいろ気付く点があると思いますけど。

1)まずは一番いけてない点は、NP_SitemapExporterで吐き出すURL。
普通、robots.txtに
disallow: /action.php?
って書いてますから、このままのURLだとクロールしてくんない。
どっかに666なファイル用意しておいて更新する仕組みが案外いいかも。

2)NP_SitemapExporterは、カテゴリURLも含めて自動生成してくれる。
複数blog運用の場合は、サイトマップに含めるか否かをblogオプションで指定しておく。
で、デフォblogについては、[changefreq]はすべてdaily。
そのほかblogは下の方に追加され、[changefreq]は経過時間で自動判定。
ってな仕様な様子。
[lastmod]は吐き出さない仕様ですね。[changefreq]ってどの程度有効なのかは実験してみないとわからないのでなんとも言えない。

3)NP_SitemapExporterは、プラグインオプションでgoogleにresubmitするをyesにしていると、新規投稿時のみ自動でresubmit。前者で実現するにはNP_Lastmodまできちんと入れないとできません。

4)Yahoo!用サイトマップは、スキン別途作成+単独phpファイル用意の手順、どっかで紹介されてます?
おまけURL見ると、うちのセカンドblogのURLにドメイン入ってないっすね。
プラグイン改造しないとダメですね。

....と言うわけで、やっぱり『とにかくこのファイルだけDLして入れておけば万事OKよ。完了まで30秒。』というブツは、やっぱり欲しいな。っつか作りたいかも。
[lastmod]を更新日時反映して、かつコメント付いても反映して、かつ自動でresubmitまでするんだったらplugin+txt書き込みかなー。そうなるとちょっとだけ面倒。


簡単AjaxでxmlとかJSONとか考え中

APIsで遊ぼうと思ったら、xmlのパースは必須。
phpのxml関数はどうも苦手。しかも鈍い。

この際、いっそのことJSONで...とか思ったら、phpのxml→JSON変換クラスってその辺に落ちてないんですね。(jsファイルなら変換ライブラリありますけど。でもわざわざjs側で変換する程には望んでいない)
いや、どーせJSONにしたところでjavascriptの配列を簡単に取り出せるはずもないスキルな私ですが。
それに出力デザインがjavascriptハードコーディングになっちゃいますから〜
どなたもお気軽にカスタマイズしてください!にはほど遠いっ。

ってな訳で、返ってくるxmlを眺めてpreg_match_allです。
必要な部分だけ抜き出したらphp側でテンプレート通してinnerHTMLです。
これが一番シンプルで速いです。
しかも出力テンプレートは誰でもデザイン自在。

でも、そんなことをはっきり言っている人はいないんだよなぁ。
丁寧にxml関数使っていたり、もしくはjs側できちんと子供つくったりとかDOM組み立ててるんだよなぁ。
なんでだろー。つぶやき。

楽しい妄想いっぱい。

『最新WebサービスAPIエクスプロ-ラ ~Amazon、はてな、Google、Yahoo! 4大Webサービス完全攻略』

何気なく本屋で見つけて読みました。(今更)
お手軽にいろんなヒントが得られる楽しい本。
あんなこと、こんなこと、妄想中。

私としてはYahoo! APIsがとりあえず触ったことがないのでワクワク中。
この本が出た後にJAPANでも一部サービス開始してますね。
実際、ちょっとweb検索のresponse覗いた限りでは、googleのAPIsで得られる結果よりもなんかクリックしたいresultsが上位に来る感触。気のせいですか?
もちろん、本家Yahoo! にja指定で投げた結果とYahoo! JAPANでのresultsも違います。
さっそく、NP_RelatedのYahoo! JAPAN版でも作るかな。

あとは、ページをめくるたびにどーでもいいようなアイディアがどばっと。
色々書きたいんですが、今、暗闇の中なので、また次回に。