こんにちは、ゲストさん

Choklogトップ - ランダムブログ - ログイン - ヘルプ

Choklogの人気記事

image

http://api.pathtraq.com/pages?m=popular&url=http://choklog.jp


こういうデータから、どういうアプリケーションを作るといいのかな。

Choklogの検索機能

1. 検索機能

Choklogの検索機能を実装しました。バックエンドはHyperEstraier*1です。

2. 検索インデクス生成

検索インデクスは次のように作られます。

- MySQLからのブログ記事を取得
- 取得したブログ記事を文書ドラフト*2の形式に直す
- 文書ドラフトをestcmd*3に渡す

上記の作業が一時間に一度ほどの頻度で発生(cron)します。従って、記事を新規投稿したり、記事を削除したりした場合、それが検索結果に反映されるまでに最大で1時間程度かかります。

HyperEstraierには差分更新の機能が備わっており、毎回インデクスを作り直すというのは非効率的です。しかし、Choklogはまだまだ記事数が少ないので、上記のような方法をとることにしました(検索インデクスを作り直す作業は数秒程度で終わります)。

3. 検索インタフェース

HyperEstraierには、各種プログラミング言語から利用するためのインタフェースが用意されています*2。しかし、Choklogのフロントエンド部でも使用しているPHP用のインタフェースはオフィシャルに提供されていません。そこで、RubyでRESTインタフェースを用意し、PHPからはそれを叩くことにしました。

HyperEstraier <-> REST(Ruby) <-> PHP


というようになっています。RESTのAPIは、後々「Choklog用検索API」として一般向けに公開します。少々お待ちください。

4. エセ検索連動広告

ハヤリなので、検索キーワード連動広告を用意しました。検索キーワードでAmazonのAPIを叩き、商品データがある場合に検索結果に広告を差し込みます。広告がコンテンツ(=検索結果)に馴染むので、それほどウザったくはならないかなと思います。

5. まとめ

大雑把すぎる説明ですが、だいたいこのような感じです。HyperEstraierは使っていてとても楽しいツールなので、機を見て深くハックしてみたいところです。がんばります。

改善案なども、広く募集いたします。「ここはこうした方がいい」というようなアイデアがあれば、お気軽にコメントやメッセージにて教えていただければと思います。よろしくお願いします。

*1: http://hyperestraier.sourceforge.net/index.ja.html
*2: http://hyperestraier.sourceforge.net/uguide-ja.html#formats
*3: http://hyperestraier.sourceforge.net/uguide-ja.html#estcmd

Choklogでお小遣い稼ぎ

Amazonの商品レビュー機能に、自分のアソシエイトIDを利用する機能を実装しました。詳細についてはchoklogの記事をご覧ください。


これでユーザの方も、がんがん色々なレビューを書いて、がんがんお小遣いを稼げますね!やりましたね!


(追記)


ヘルプページにも使い方を記述しました。併せてご参照ください。

Amazonの商品レビュー用新機能

Amazonの商品レビュー用新機能を実装しました。


ちゃんと動くかな。


amazon
『Apacheハンドブック』



ちゃんと動いているようだ。


amazon
『魔女の宅急便』



編集もうまくいくかな?


amazon
『ペルソナ4』



大丈夫そうだ。
ペルソナ4やりたい。
ゲーム機がない。

chuckywifeさん

image

chuckywifeさん(とhanabusaさん)とお酒を飲んできました。chuckywifeさんには「BUZZ OFFICIAL BLOG」や「忠犬なち公」で、クールなイラストを提供していただいており、頭が上がりません。しかも今回は、「マハタさん、誕生日おめでとうございます」と、添付画像のミニ四駆まで頂いてしまった...。本当にどうもありがとうございました。


今後もchuckywifeさんと一緒に、Choklogを楽しくするための企画を実現していく予定です。どうぞお楽しみに!!

Undocumented Choklog

Amazon商品のレビューを行うための機能を実装中です。「記事本文」にこのようにASINコードを入力すれば、Amazonの商品をブログ記事に埋め込めます(各商品のASINコードはAmazonの商品ページで確認することができます)。


amazon
『計算機プログラムの構造と解釈』



amazon
『ミラクル☆カウントダウン』



この機能は、後々、ブログ投稿用エディタの標準機能になる予定です。もうしばらくお待ち下さい。

ケータイ機能の充実

要望の多かった機能の一つ「ケータイでのカテゴリ閲覧」を実装しました(ref: 「【アップデート】ケータイでのカテゴリ閲覧機能 - choklog」)。


閲覧対象のユーザーが「カテゴリ」を一つ以上設定している場合、各ページの下部に、各カテゴリへのリンクが表示されます。



技術的に難しい要素は皆無ですが、ケータイだとどうしてもビューの確認が大変になります。とにもかくにも、世間がケータイ中心の生活に変わってきているので、なるべく少ないコストでケータイページの開発を行うためのノウハウを貯めなければならないな、と感じています。


がんばります。

Validation Of RSS

「Choklogをmixiの外部ブログとして登録しても、うまく最新日記が反映されない」という報告があり、色々と調査したのですが、「RSS 2.0」での「dc:date」がInvalidとなってしまっているようでした。「dc:date」に表記するタイムスタンプは(Dublin Coreで定義されている)W3CDTFに準拠してなければならず、何も考えずに「YYYY/MM/DD」で出力するとmixiがうまく読み込んでくれないようです。「Yahoo! DAYS」などはこれを甘めに解釈してくれるので、今までもChoklogを上手く外部ブログとして扱ってくれていました。サンクス。


なお、今回のRSSフォーマットの調査には、「RSS Validator」がとても役に立ちました。


ちなみに、本エントリはmixiが最新日記として扱ってくれるかどうかテストするために書きました(笑。ちゃんと解釈されますように。

知識の呪い

増井さんの文章(@ WIRED VISION)を読んで、少し考え込んでしまいました。

数学がよくできる先生は、数学の苦手な生徒の頭の中を想像することはできませんから、生徒のレベルに合った教え方を工夫することができず、「何故この生徒はこんなことがわからないのだろう」という印象を持ちがちです。昔はその先生も生徒と同じような心境だったことがあるかもしれないのですが、技術や知識を一度獲得してしまうと、それ以前の状況を思い出すことは不可能です。誰でも子供のころは字が読めなかったはずですが、大人になってしまうと、漢字を読めない人が日本語の文章を見たときの気持ちを想像することは難しいでしょう。一流のプレーヤが必ずしも一流の指導者になれないのも同様の理由です。


本当にその通りだと思います。私のようなウェブサービスの開発者も、この手の「知識の呪い」に対して無関心ではいられません。通常「ウェブサービスの開発者」は「ウェブサービスのヘビーユーザー」でもあるので、サービスをヘビーユーザーが使いやすいように設計してしまいがちです。ところがユーザーが常に高いコンピューターリテラシーを持っているわけではないので、そういった設計が常に望ましいとは限りません。そういうときに、「何故このユーザーはこんなことがわからないのだろう」と考えるようではよい設計者とは言えないと思います。

それを踏まえて、開発者として「知識の呪い」に対して次のような心構えで望もうとしています。

- 「自分自身が初心者だった頃のログ」を常に残す
- 初心者の行動をつぶさに観察する

後者の「初心者の行動をつぶさに観察する」というところに関して注意を払うべきは、「初心者が手を止めた瞬間」だと思います。ユーザーが手を止める理由は様々だと思いますが、いずれの場合にせよ、意識が行動に滑らかに結びついていないということが言えると思います。例えば、こういうことが考えられます。

- 自分が行いたいことを行うための操作方法がわからない(ので、手が止まる)
- 自分の操作が自分の意図しない結果を招いた(ので、手が止まる)

多くの人が手を止めてしまう場合、そこの部分の設計はあまりよくないものだと言えます。そういうときは、「操作方法が直感的かどうか」や「ユーザーを(よくない意味で)ビックリさせる機能が存在しないか」という観点から設計/開発をしなおし、再度ユーザーの行動を観察するということをする必要があります。

Choklogの開発でも、常に新規ユーザー(≒初心者ユーザー)にとっての使いやすさを守れるようにしていきたいと思います。