PHPに惚れました。 このページをアンテナに追加 RSSフィード

2010-09-01

ついったーのBASIC認証が終了

2010年9月1日今日、twitterBASIC認証が終わりを迎えました。

BASIC認証twitterアクセスすると以下のエラーが吐かれるとか。

XMLの一部?

<error code="53">Basic authentication is not supported</error>

さようならBASIC認証

未だOAuthに移行してないwebサービスtwitterクライアント、いくつ死ぬんでしょう?

2010-08-22

今後のニコエコについてアンケートを実施します。

ニコエコ利用者の方、よろしければご意見をお聞かせいただけたら幸いです。

質問は5問です。

アンケートフォーム

http://enq-maker.com/6j-YaiE

2010-08-20

ニコエコでの合計動画再生回数が10万を超えました。

実際はもう少し多いでしょう。多分+5〜10%くらいあるかもしれません。(憶測)

でも、botの投稿数でみれば10万再生目はこの動画。

【第5回MMD杯本選】少し楽しくなるMMD

D


懐かしいです。β臭がします。

2010-08-08

RSS配信スクリプト書き換えました

色々なミスを乗り越えてオリジナルランキングRSS配信スクリプト改良。

改良って言っても現行サービスに流すわけじゃありません。

サイトの引越し先で使います。

URL公開はサイト完成まで待ってね。

前置き

DBに放り込む値の生成クラス。

動画レベル等の算出メソッドの実引数APIの値使ってるんですが一部キャスト忘れで

こんなことになってた。

<?php
//$xmlはsimple_xml_file()で取得したXMLオブジェクト//

$view = $xml->channel->view;   //7桁の数値
$comment $xml->channel->comment;   //8桁の数値

print var_dump($view>=$comment);  //True
?>

何で7桁の数値と8桁の数値比較して7桁の方が大きいって出るんだよ!って思ったら

$xmlに入ってるXMLオブジェクトをint型にキャストしてなかった。オブジェクト同士比較してたからTrueになっちゃったのかー。

とは言われてもなんか腑に落ちないですけどね。 ==なら納得しますけど。

使ったパッケージやライブラリ

この二つ。

現行スクリプトSmartyはおろかパッケージも使ってない。

まさに直打ち。

以下改良点

拡張しやすくなった

 新しいRSS配信する時はSQLとタイトル追加するだけでおk

例外に柔軟。

 Smartyのおかげです。もしDBに障害あってもXML自体は吐き出します。

 Itemsの中身は空っぽになるけど。これは本家準拠。

 指定外のクエリ文字指定したらhotが呼び出される。

URL指定を分かりやすく。

もう現行のURL文字列意味わかんね。

    • cf_mvr→hot
    • p_cf_mvr→pickup
    • mrd→mlst_rate
    • rand→random

他は変化なし。

今旬の動画であるcf_mvr・・・なんかの頭文字1文字ずつとったんだと思う。

もう俺にもわからんです。

処理はええ

 キャッシュのおかげ。

 現行みたいに似非キャッシュじゃなくてSmartyキャッシュ使ってる。

RSS全種毎時更新

 これもキャッシュのおかげね。ランダム取得も毎時更新。

 

gdgdと駄弁り

現行スクリプトは全て1ファイルでやってるからDB倒れたらエラー吐かれてアウト。

RSSはリアルタイム更新。無駄にね。

オリジナルランキングは似非キャッシュで多少負荷と表示速度考慮してるけどランダム表示はそう柔軟にはいかないですね。

時間が来たらCronから生成スクリプト動かしてXML生成して、ランキング表示には生成したXMLファイル読み込む。

原始的なやり方です。

あと、feedcreator.class.php使おうかなぁとか思ったけどニコニコのRSS2.0って少しフォーマットが特殊なんですよね。

それで残念ながら現行フォーマットでは再現できず結局自作。

PEAR::MDB2Smarty使えばRSS配信スクリプトなんか簡単に作れますよ。

.phpと.tpl合わせても100行ちょっと。

配信するRSSの種類が1種類なら80行程度で済むんじゃないかな?

時間があれば簡単にチュートリアル記事でも書いてみようかな。


若干眠い中書いた記事。多分もう色々とひどいです。