Home

日記
今日はひどいな (10:23)Edit

いや、昨日からか。久しぶりに我慢できなくなって、ときどき目の周りを抑えたりしている。去年はほとんど目に来ることはなかったのになー。薬を飲んで顔を洗ってしばらく経ったら、ようやく治まってきたけど、なんかもう花粉飛びまくりって感じだな。でも、まだこの間ひいた風邪の続きもありそうだから、鼻水とくしゃみのどの程度が花粉のせいなのかよくわからん。

Published At2005-03-10 00:00Updated At2005-03-10 00:00

日記
表示の変更とAjaxでの保存 (19:53)Edit

サムネイルを表示したら画面がうるさくなりすぎたんで、要素ごとに表示・非表示を切り替えることができるようにしてみました by JavaScript+CSS。んでもって、実験君的にAjaxが有効な環境では、非同期で変更した設定を保存しています。

が、なんかFireFoxでしか動いてないなー。いろいろ初めて試したことばかりなんで、なにが原因なのかよくわからない。そのうち互換性を高めていきます。「表示・非表示切り替え機能が動かない」以上の不具合があったら外しますんで、教えてください。

あらFireFoxでもちゃんと動いてないや

デフォルトで外しておこう。

多分

IEとFireFoxでは動いている気がする。

Published At2005-03-10 00:00Updated At2005-03-10 00:00

日記
あーもう! (14:06)Edit

この大詰めだってのに目がかゆくてしょぼしょぼして、細かい字を延々と追っていく作業に耐えられませんよ! こんなときに花粉症ばりばりにならなくてもいいのに。今週末を越えたら多少キてもいいから、今は勘弁してくれ。

Published At2005-03-11 00:00Updated At2005-03-11 00:00

日記
両用インターフェースと通信の表示 (14:22)Edit

MM/blogmapで、画像等の表示・非表示を切り替える機能を、サイドバーに追加したんだけど、そのインターフェースとして、

  • Ajax環境の場合
    • フォームのチェックボックスのオン/オフで動的に表示・非表示が変わる
    • さらに設定の変更が非同期で保存される(といっても現状はCookieだけど、わざわざサーバーサイドを介して保存している)
  • 非Ajax環境の場合
    • フォームのチェックボックスで設定を変更し、[保存]ボタンをクリックして設定を保存する。
    • ページをロードする段階でのみ、現在の表示・非表示設定が反映される

といった感じにしてみた。多分こういうやり方がAjaxと非Ajaxで両用のインターフェースを使う場合の基本形になるんじゃなかろうか。機能を呼び出すインターフェースを従来のHTMLフォームと互換にしておいて、Ajax環境ではJavaScriptがいろいろ処理を行い、それ以外の場合はHTMLフォームからPOSTしてサーバーサイドで処理を行う感じ。

あと、裏で何を通信しているのがわからなくて気色悪い説がやはり強いらしいんで、Ajaxで通信をするときには、ブラウザのステータスバーに「Ajax connect to [URL]」みたいな通知を表示するようにしてみた。通知を表示する領域をドキュメント内に用意できる場合はそこに表示し、そうじゃない場合はこういう風にステータスバーに表示するのが手軽かなー。ただ、なぜかFireFoxだとステータスバーに何も表示されない。

本格的にライブラリを構築するんだったら、詳細通知モードをユーザーがオンにすると、別ウィンドウにAjaxの通信状態に関する詳細が表示されるようになったりするといいかもしれない。「if (!msgwin) {msgwin = window.open();} msgwin.document.write(msg);」ってする感じね。

ちなみに、現在blogmapとかMMでは更新日時を見てNot Modifiedとか返しているんで、スーパーリロードしないとうまく設定が反映されないかもしれません。そのうちその辺の整合性も調整します。

Published At2005-03-11 00:00Updated At2005-03-11 00:00

日記
なんかもうすごいな (11:34)Edit

ここ3日くらいずっと、薬が効いていない気がするよ。

と思っていたんだけど、昨日の夜の分の薬を飲み忘れて寝たら、夜中に目がかゆくて鼻水がひどくて目が覚めた。そうか、これでも少しは薬で抑えられていたんだね。

でももうちょっと強い薬に変えてもらった方がいいのかなー。一応耐えられているから、このくらいでちょうどいいのかなー。

Published At2005-03-14 00:00Updated At2005-03-14 00:00

日記
昨日は休んだ (13:24)Edit

なんか脳みその芯がぼぉーっとしていたんで、休み。花粉症のせいなのか単に疲れが溜まっていたのか。ずいぶん寝たんだけど、結局今日も同じような感じだなー。土日寝倒したら復活するかなー。あーだるい。

Published At2005-03-17 00:00Updated At2005-03-17 00:00

日記
PHPでソケットサーバー (21:48)Edit

って誰か作った人いるかなー。試しにPHPのマニュアルに載っていたサンプルを動かしてみたら、なぜかPHP_NORMAL_READではsocket_readできなかったりして(「ファンクションが間違っています」というわけのわからないエラーが返るよ)ちょっとビミョーな印象だけど、PHP_BINARY_READなら動いたんで一応何とかなりそうではある。

FlashでXMLSocketオブジェクトを使って通信するサーバーとして使ってみようかと思ってたりするんだけど、無難にPerlかRubyで作った方がいいかなー。最近なんでもPHPで作ってみよう(マルチスレッド以外)路線に限界を感じつつあるんで、誰かがダメとか無理とかいってくれればもっと無難な言語使うんだけどなー。それともやけくそでPHP5にでも行ってみようかなー。そうすれば少なくともエラーハンドリング周りはずいぶんまともに作れるだろうしなー。

Published At2005-03-17 00:00Updated At2005-03-17 00:00

日記
『自分で作るblogツール(PHP編)』サポートエントリーEdit

このエントリーは、『自分で作るblogツール(PHP編)』(bk1 / amazon)のサポート情報を提供するための予定地です。このエントリーのURLをポータルとして、各種フォロー情報を掲載していきます。ここに掲載する情報は筆者として私が個人的に提供する情報で、書籍としての公式な情報はソフトバンクパブリッシングの該当ページに掲載されることになると思います。

Published At2005-03-18 00:00Updated At2005-03-18 00:00

日記
Edit

Published At2005-03-19 00:00Updated At2005-03-19 00:00

日記
『自分で作るblogツール(PHP編)』修正リストEdit

このエントリーでは、『自分で作るblogツール(PHP編)』の誤植等の修正情報を掲載します。

ページ数 内容
p.89 show_template('htmlheader.tmpl', array('title' => 'HandMadeBlog'));

show_template('htmlheader.tmpl', array('title' => $entry_data['title']));
p.105 $line = fgets($fp);

$line = fgets($fp);
if (trim($line) == '') {continue;}
p.174 $description = strip_tags(render_entry_body($item); // HTML化とタグ削除

$description = strip_tags(render_entry_body($item)); // HTML化とタグ削除
p.72 (2005/4/29追加) return $fields[$name].'に不正な文字が使用されています。';

return $fields[$header].'に不正な文字が使用されています。';

『自分で作るblogツール(PHP編)』サポートエントリーに戻る

Published At2005-03-19 00:00Updated At2005-03-19 00:00