はてなダイアリーとかはカテゴリーごとにフィードを生成してて便利だと思ったので真似してみました。たとえば category.php?k=映画 にアクセスしたら、映画のフィードだけにアクセスできる。もう金輪際、僕のチラシの裏的雑記で精神的苦痛を被ることはありません! =-o 読みたいカテゴリーのフィードを選択して時間を有効活用してください。
P_BLOG大改造
P_BLOGをわさわさいじって、Tagを付けられるようにしました。いや正確には前からTag付けられるようになってたんだけど、P_BLOGのTagは「CategoryをTagっぽく使う」っていうコンセプトなので、WordPressとか他のブログツールのTagの概念とちょっと違った。もともとP_BLOGにはTagはなくて、SafariStandのhetimaさんのハックを取り入れてCategoryをTag代わりに使えるようになっていたわけでした。
Tagはいっぱい付けといた方がいいとは思うんだけど、いままでTagをいっぱい付けまくったので数が260個ちかくになってしまって、こうなると逆に目当ての情報にたどり着くのが難しくなった。そういうわけでTagとは別にCategoryによって記事を大まかに分類しておくと便利だなーと思って、ちょちょっといじってみました。
データベースの `p_blog_log` テーブルのこれまでTagとして使っていた `category` フィールドを `tag` という名前にしてしまい、新たに `category` フィールドを作ってphpMyAdminでテキトーに記事にカテゴリーを割り振りました。その後P_BLOG本体のカテゴリーにまつわる部分をごにょごにょと改造して、TagとCategoryの機能を明確に分けました。要するにコピペして変数名や関数名を書き換えただけなんですけどね。
P_BLOGの後継プロジェクトのLoggix含め世の中には優れたブログツールが沢山ありますが、「自分で欲しい機能をどんどん拡張できる」のはオレオレ仕様のこのP_BLOGだけなわけでして、もう開発は終了していますがオレオレ仕様でどんどん進化して行っております :-) なんかもう主客転倒で、P_BLOGをいじる片手間でブログ書いてるような感じです :-P
ヤバスクリプト
最近JavaScriptで遊んでます。まだ初歩的なことしかできないんだけど、IE6でアクセスがあった場合、初回と10回目にアラートを出すことにしました。IE6ユーザーのみなさん、うざいでしょう 8-) はやくあんな前近代的ブラウザは捨ててFirefoxをインストールしましょう。
で、今回やったのがjQueryを使って「もっと読む」をかっこよくするっての。P_BLOGでは記事中に <!-- more --> というタグを挿入すると、以後の部分は index.php や category.php では省略され、パーマリンクをクリックしなければ表示されません。長い記事を書くときはトップページが冗長にならないようにこのタグを挿入してたんですけど、AutoPagerizeで閲覧しているときに「もっと読む」をクリックしていちいちパーマリンクを開くのはかったるい。そういうわけであらかじめ全文読み込んで非表示にしておき、jQueryのshowToggleを使ってかっちょいい効果を付けながら展開したり折りたたんだりできるようにしてみました。
今後はしばらくJavaScriptを勉強してブログをもっとうざい感じにしていこうと思います ;-)
追記
うーん、AutoPagerizeで読み込んだ2ページ目以降ではきちんと動いていないっぽい! :-!
App Storeのアプリは安い
Nokiaの携帯にいろいろアプリケーションをインストールしてて気がつくんですけど、Symbian OS向けのシェアウェアはどれも高いです。平気で$29とかします。iPhoneのApp Storeに慣れてるとぼったくりな感じがする。
たとえばお小遣い管理ソフト。App Storeでは無料のものもあるし、中心価格帯も230円から450円ほど。一方で、Nokiaの携帯向けのアプリを紹介しているHandangoを見てみると、安いもので5ドルから。中心価格帯は10ドルから20ドルな感じです。PC/Mac用のシェアウェアの値段を考えてみても、2,000円から4,000円程度が主流でしょうから、App Storeのアプリケーションの値段はかなりお買い得だといえます。
これは多分、Nokiaやコンピューター向けのシェアウェアは、ダウンロードして2週間くらいお試しできるからでしょう。App Storeではお試しが出来ないので、いきなり2,000円とか3,000円とか強気な価格設定にしてもなかなかダウンロードしてもらえない。それでソフトウェアの価格が安くなってるんじゃないかと思います。
アプリの値段は安い方がユーザーとしてはうれしいのでiPhoneのApp Storeの方が利用しやすいとは感じますが、果たしてApp Storeの作者の皆さんは採算取れてるんでしょうか。
TUAWにもこの手の話が載ってて、iPhoneアプリケーションを9.99ドルで売りたいんだったら、お試し用のフリーバージョンを用意した方がいい、って書いてありました。
経済学で言うところのレモンの市場の原理が働いて、粗悪ソフトしかApp Storeに出回らなくなったら嫌ですね。
高音難聴になっている僕のためのiTunesイコライザ設定
たびたびブログでぼやいている通り、僕の耳は抗がん剤治療の副作用のせいでクソ耳なのですが、iTunesで何とか気持ちよく音楽を聞く方法はないものかとイコライザをいじってみました。↓の画像が僕のイコライザのプリセットをキャプチャしたもの。
4KHzから16KHzまでをマックスにして、あとはフラットw プリセット設定名は「クソ耳」w
いや、まさかとは思いましたけど、これで随分音の聞こえ方が変わりました。耳が良かった頃とまでは行かないけど、音がこもった感じのモコモコ感がなくなり、クリアな音質に。高音難聴で苦しんでいる方にオススメです。
正規表現についてお勉強
P_BLOGのカテゴリー検索(category.php)は部分一致検索気味で、例えば"昔の日記"というカテゴリーと"日記"というカテゴリーがあったとするなら、日記のカテゴリーを選択したときに前者まで含まれてしまうのですよね(やっぱりうまくいかないカテゴリー検索)。そういうわけで、後方一致がおきないようにカテゴリー(TAG)をつけるようにしていたのですが、うっかり後方が重複するカテゴリーができてました。"本"と"熊本"です。地名は盲点だった :-!
しょうがないのでもう一度 category.php いじりにチャレンジしてみました。
//=====================================
// CATEGORY LIST UP QUERY -- HOW?
//=====================================
$patterns = '/(*|+|^|$|?|(|))/';
if (preg_match($patterns, $key)) {
// (1) Use "LIKE" search
$listup_query = "BINARY category LIKE '%".$key."%')";
} else {
// (2) Use MySQL Regular Expression
$listup_query = "category REGEXP BINARY '^".$key."$|^".$key.",|,".$key.",|,".$key."$|,?".$key.",|,?".$key."$')";
}
Continue reading...
やっぱりうまくいかないカテゴリー検索
portal shit! : 世間は連休なのに引きこもってブログで遊んでても(・∀・)イイ!で書いた通りcategory.phpをいじって悦に入ってたんだけど、あのやり方では結局ダメみたい。新たな問題に遭遇した :-(
すなわち、前方一致検索だけ行うようにしていたので、複数のカテゴリーを含む記事のカテゴリーが無視されるのだ。例えばブログ, 日記というタグ付けをされた記事は、“ブログ”というカテゴリー検索ではヒットするが、“日記”のカテゴリー検索ではヒットしないのである。
結局デフォルトの状態に戻してしまった。queryの仕組みがよく分かるならば対処可能なんだろうけど、もどかしい。そのうち本屋でPHPの入門書を買ってみよう。