Hatena::Diary

konisimple log RSSフィード

このブログは、koniがkonisipmleの更新履歴と技術的メモ、思いつきなどを思いつくままに書き留めたものです。
koniの詳しいプロフィールはこちらです。

2010年05月05日

hoshiシステムが全面稼働し始めました!

| 02:46 | hoshiシステムが全面稼働し始めました! - konisimple log を含むブックマーク

サイト開設当初からずっとやりたかったことをついに実現しました!

hoshiシステムとは

erockr掲載画像で人気のある画像を自動的に上位に表示する仕組み。

  • 人気のある画像は管理者の人でを経ずに自動的に上位に表示され、サイト訪問者の満足度が上がる
  • 人気のない、嫌われる画像は自動的に下位になるので、サイト訪問者の満足度が上がる
    • 特に、何故か上位に来ている、人の顔を合成した写真が自動で下位に行くことに期待しています。

仕組み

以下のようなhoshiテーブルを作る
  • pid(erockr、つまりflickrの画像を一意に特定するid)
  • good
  • ng

データを更新するときはgoodとかngをUPDATEしてふやす。

本当はちゃんと一回ごとの記録もしたいんだけど、それだと反映に時間もかかっちゃうし、やめときました。

画像が評価される
  • 画像が単体で表示されたとき
  • 画像単体表示された画面の評価ボタン(イイ!)

をクリックしたときにgoodに決まった値を足し、

  • 画像単体表示された画面の評価ボタン(嫌い!)

をクリックしたときにngに決まった値を足す。

これを蓄積し、検索結果では、good-ngを画像のscoreとし、その順に出力する。

現在の設定

追加する点数
 PC携帯
画像が単体で表示されたとき0.3点0.5点
画像単体表示された画面の評価ボタン(イイ!)1点評価ボタンなし
画像単体表示された画面の評価ボタン(嫌い!)1点評価ボタンなし
更新タイミング

リアルタイム。評価ボタンを押した瞬間に検索結果が入れ替わります。

ここら辺はページの表示時間もみながら、検討していきたいと思います。


「システム」なんて大げさなこといいましたが、要は表示とか評価ボタンが押されたらhoshiテーブルをUPDATEして、検索結果にLEFT JOINしてORDER BY good DESC, rank ASCするようにしただけなんですね。

まぁでも、「システム」とか言うとかっこいいし。言ってみたかったんですw

hoshiシステム稼働の影響で検索結果で100番目以降が表示されなくなっていました

| 02:17 | hoshiシステム稼働の影響で検索結果で100番目以降が表示されなくなっていました - konisimple log を含むブックマーク

hoshiシステム稼働の影響で検索結果で100番目以降が表示されなくなっていました。

障害発生日時

2010/5/5 15:20頃〜翌2:10頃

障害の内容

検索結果で100番目以降が表示されなくなっていた。

原因

5日より検索結果にhoshiシステムの結果を反映した際に書き換えたSQL文で、デバック時の条件が消されていなかった。

表示順にhoshiシステムの結果を反映させました。

| 15:27 | 表示順にhoshiシステムの結果を反映させました。 - konisimple log を含むブックマーク

携帯版とPC版で、表示順にhoshiシステムの結果を反映させました。

今は時間がないのであとで詳細を書きます。

充分にデバックしてないのでもしかして表示できないページがあったらごめんなさい。

それではのだめ見てきます!

2010年05月03日

画像評価システムに連投防止機能をつけました

| 14:32 | 画像評価システムに連投防止機能をつけました - konisimple log を含むブックマーク

画像評価システム(hoshiシステム)に連投防止機能を実装しました。

これでまた放置してみましょう。

ちなみに画像評価の仕組みをかってにhoshiシステムとよんでいますw

MySQLのテーブル名hoshiにちなんでます。

f:id:konisimple:20100503144721p:image

一度評価すると、同じ画像にはかなりの期間評価できなくなると思います。たぶん。

こうへいこうへい 2010/05/05 17:16 これはすばらしい!!!

konisimplekonisimple 2010/05/12 13:43 ありがとうございます!!

2010年05月02日

早稲田大学生協の早慶戦チケット申し込みページが残念な件

| 00:47 | 早稲田大学生協の早慶戦チケット申し込みページが残念な件 - konisimple log を含むブックマーク

さて六大学野球早慶戦のチケットの抽選に申込んだんだけど、その申込みページがひどかったので書いてみる。

早慶戦のチケットは抽選で、最初はメールアドレスと、学籍番号、名前だけで申込む。

早稲田大学生協 | 早慶戦チケット予約受付のご案内

f:id:konisimple:20100503002849p:image

この申込ページには

早稲田大学 生活協同組合ホームページは、ベリサインSSLサーバ証明書を使用して、あなたの個人情報を保護しています。

https で始まるアドレス上ではすべての情報がSSL暗号化されてから送受信されます。

と書いてある。なるほど。

わざわざverisignSSL証明書までとってなりすまし、改ざん対策までしたのね!

メールアドレスや名前も暗号化されるから安心なのか!

うん。ちゃんとアドレスバーをクリックして証明書の有効性も確認できる!

しかしいざ送信すると、

f:id:konisimple:20100503002928p:image

ちょwwwhttpとかwww

つまり全く暗号化されてない!

生協の嘘つき!

なんも言わずに平文で送受信するならまだしも、いかにも「暗号化されてて安全です!」ってアピールしといて、実は暗号化してないとか詐欺じゃないのか!w*1

どうやらソースを読むと、formの送信先がhttp://から始まるアドレスになっていますね。

どうやら担当者がsを入れ忘れた模様。

おいww

実際にはデータの送り先がhttpsになってればよいので、フォームのページもhttpでよい。

sがいるのはフォームがあるとこじゃなくて送り先ですよ!*2

一番sが必要なところに抜けてますよ!

趣味じゃないんだから

ちゃんと確認しようよ!誰も気がつかなかったのかな。

てかせっかくSSL証明書とってんのに、使ってるスクリプトがこれじゃあverisignが泣くよ!w

改善策

メールフォームはhttpsでもアクセス出来るみたいなので、入力フォームのformタグのaction属性をhttps://にするだけ。

踏み台になる危険性

しかもソースを読むと、これどうやらただのメールフォームらしい。

f:id:konisimple:20100503004320p:image

ソース見た感じたぶん↓これですね。

レンタルサーバー@SERVER - フォームメールCGIの設置

ソースにメール送信先らしきアドレスが書いてあるけど、これ書き換えたら送信できるようだ。

これを悪用すると、生協サーバからメールが送り放題ですね!

あーあw

erockrの一部ページが表示出来なくなっています。

| 18:56 | erockrの一部ページが表示出来なくなっています。 - konisimple log を含むブックマーク

erockrの一部のページが正しく表示出来なくなっています。

原因はDBまわりだと思われます。

復旧の目処は立っていません。

追記(19:57)

原因は

erockrの一部のページでエラーが発生していました - konisimple log

の時と同じ。

でもどうして突然このテーブルが壊れちゃうのかは謎。

またすぐ再現しそう・・・。

erockrは、rankingテーブルに扱い易いように書き換えてそれを参照するように作ったからこのテーブルが動かないときつい!

でもそのrankingテーブルを作るためのSQLがやたら複雑なんだよな。

作る時にトラブってそうだ。

もうちょっと改善しよっと!

INSERT INTO ranking(keyword,fid,sid,pid,secret,total,views)
SELECT flickrs.keyword,flickrs.fid,flickrs.sid,flickrs.pid,flickrs.secret,b.total,c.views
FROM flickrs
	NATURAL JOIN (
		SELECT flickrs2.keyword,flickrs2.total,(CASE WHEN a.rank IS NULL THEN 0 ELSE a.rank END) rank
		FROM (
			SELECT list.keyword,flickrs.rank
			FROM list
			NATURAL JOIN flickrs
			GROUP BY list.keyword
		) a
		RIGHT JOIN flickrs2 ON a.keyword=flickrs2.keyword
	) b
	NATURAL JOIN (
		SELECT minilog.keyword,SUM(minilog.total) views
		FROM minilog
		GROUP BY minilog.keyword
	) c
ORDER BY views DESC
LIMIT 0,3000
ON DUPLICATE KEY UPDATE fid=flickrs.fid,sid=flickrs.sid,pid=flickrs.pid,secret=flickrs.secret,total=b.total,views=c.views

画像評価機能をつけました!

| 16:47 | 画像評価機能をつけました! - konisimple log を含むブックマーク

ずーっとつけたかった画像の評価機能をつけました。

f:id:konisimple:20100502163844p:image

ボタンを押すと、評価されます!

時間かかるかと思ったけど、1時間ぐらいでできた。

将来的には、この結果をもとにして検索結果の順番を変え、人気の画像はどんどん上に、人気のない画像はどんどん下にというようにしたい。

今のところ連投防止機能がないので、いたずらされるとめちゃくちゃになっちゃう(>_<)

しばらく様子を見てみます!

ちなみに、画像単体のページ(例:【erockr】蒼井そら(18))を表示するだけで、「イイ!」に0.1ポイント、ボタンを押すとそれぞれ1ポイント加算するようになっています。

様子を見つつ携帯版とPC版、表示だけとボタンクリックで重みを変えたり微調整するつもりです。

トップページが寂しかったので、「画像を探す」って大きく書いてみたけど、

| 15:09 | トップページが寂しかったので、「画像を探す」って大きく書いてみたけど、 - konisimple log を含むブックマーク

トップページが寂しかったので、「画像を探す」って大きく書いてみたけど、なんだか気持ち悪い感じになっちゃた!

本当はトップページに初めて来た人のために、erockrの説明を書かないとイケない気がするけど、なんて書いていいか思いつかなくてこのような中途半端な形になってしまった。

f:id:konisimple:20100502150914p:image

画面構成の変更でアクセス状況改善!

| 12:57 | 画面構成の変更でアクセス状況改善! - konisimple log を含むブックマーク

アクセス解析によると、4月28日頃行った

の結果はどうやら成功だったようです。

平均サイト滞在時間

f:id:konisimple:20100502124716p:image

4分台から6分台後半〜7分台前半に!

直帰率

f:id:konisimple:20100502124715p:image

40%前後から30%前後に改善!

平均ページビュー

f:id:konisimple:20100502124714p:image

10前後から17前後まで急上昇!!

※29日に上がってるのは変更直後だったためと思われる。時間が経ったらもう少し落ち着きそう。

こんなに効果が劇的にあらわれるとは思わなかった。

いやーやっぱ見やすいサイト重要ですね。

サイト表示が早くなりました!(たぶん)

それから目に見えない変化ですが、Page SpeedとYSlowを入れて、サイト表示スピードの向上に努めました。

  • 画像ファイルにwidth,height属性をできるだけ付与
  • HTMLで「http://erockr.com/」を「/」に置き換え
    • そんなに効果あるのかな?
  • 以前より.jsファイルを減らしました
  • トップページは2時間おきにhtmlファイルを生成する方式に変えました

Cache-ControlとかETagも最適化したいけど、よーわからんw

そこまでするほど画像多くないしなぁ

*1:フラウザは暗号化されていないと警告してくれますが、その手のメッセージをどれだけの人が読んでるのでしょうか

*2:フォームがあるページもhttpsだとよりよい

かしわさんかしわさん 2010/05/02 22:16 いつも思うのですが、どのようにしたらそんなにアクセス数が上がるのでしょうか?
伝授してください><

konisimplekonisimple 2010/05/02 22:32 なんなんですかねー。
自分でもよくわからないですね。

2010年05月01日

favicon作ってみた

| 00:27 | favicon作ってみた - konisimple log を含むブックマーク

なんかとても求められていたようなので、favicon作ってみました。

5分でつくったけど、これ以外にアイディアないし、これをずっと使うことになりそうですね。

f:id:konisimple:20100502002222p:image

▲1日5000回もfaviconほしがられている様子w

f:id:konisimple:20100502002429p:image

▲表示するとこんな感じに。

ブラウザの調子ですぐには表示されないかもしれませんが、気長にお待ちを!

当サイトがGoogleの「品詞分解」1位獲得!!

| 22:50 | 当サイトがGoogleの「品詞分解」1位獲得!! - konisimple log を含むブックマーク

日本語自動品詞分解ツール(Ajax版)Google検索の「品詞分解」で1位になりました!!

f:id:konisimple:20100501224924p:image

どおりで最近アクセスが多いワケだわ。

「広告掲載について」というページを開設しました。

| 13:17 | 「広告掲載について」というページを開設しました。 - konisimple log を含むブックマーク

【erockr】広告掲載について

最近広告掲載に関する問い合わせが増えているので、書いてみました。

ランキングから名前一覧にないキーワードを除外するようにしました。

| 13:16 | ランキングから名前一覧にないキーワードを除外するようにしました。 - konisimple log を含むブックマーク

【erockr】検索ランキング(1位〜20位)のページから、画像一覧にないキーワードを除外するようにしました。

これは「エロ」などのキーワードが表示されにくくするためです。

2010年04月29日

erockr携帯版アクセス急増

| 00:04 | erockr携帯版アクセス急増 - konisimple log を含むブックマーク

携帯版のアクセス数が急増してる!

完全にGoogleのせいだな。

これはGWが楽しみだ!

f:id:konisimple:20100430000102p:image

この角度はやばいなw

携帯コンテンツの広告で食べてる人は、収入がGoogleによって左右されたりしちゃうんだろうな。

トップページも一新しました!

| 23:27 | トップページも一新しました! - konisimple log を含むブックマーク

【erockr】トップページもデザインを新しくしました!

f:id:konisimple:20100429232410p:image

ねらい

  • 文字を入力しないで、ポンポンブラウズ出来るサイトに
  • トップページから賑やかな感じに
  • 大量の画像を落とせることが名前一覧から一目で伝わる!