• 229月

    WordPressを高速化しようとキャッシュを導入したりと色々工夫している
    最中なのですが、iPhoneでテーマを切り替える処理とバッティングして
    困りました。

    パソコン側で作成されたキャッシュページがiPhoneで表示されたり、
    その逆になったりしちゃうんですよねぇ。

    同じURLですから、仕方ないところです。
    しかし、これを理由にキャッシュをオフにするのも、もったいないですし、
    ユーザーエージェントを見て、iPhoneだったら、キャッシュを使わず、
    都度、phpで生成してあげようかと調べてみると、同じことをされている
    ページを見つけました。

    phpを直接修正して対処するので、後々の保守がちょっと面倒ですが、
    その程度はしかたないかな。

    全般的にMovable Typeにくらべると、WordPressではphpやサーバなどの
    知識を要求される場面が多い気がします。
    機能拡張も非常にフレキシブルだけど、マニアックだったり、英語でしか
    情報がなかったりもしますし。

    まぁ、このブログでも有用な情報があれば、ご提供できればと思っています。

    4798022012 WordPress 2.7対応「導入&カスタマイズ」実践ガイド―個人ブログも企業サイトも簡単&無料で構築できる!
    秀和システム 2009-02

    by G-Tools

    Filed under: Blog
    2009/09/22 9:37 pm | WordPressキャッシュをiPhoneで無効に はコメントを受け付けていません
  • 169月

    ブログに、はてなアンテナやRSS更新情報などを追加したのですが、
    とりわけ、はてなアンテナのRSS取得が結構遅いようなので、キャッシュを
    取ってみることにしました。

    やり方としては、自前でファイルに保存しておくこともできるのですが、
    ここは便利なライブラリに頼るのが賢明でしょう。
    Cache_Lite」という、なかなか素晴らしいものがありました。

    実際の使い方は、以下のページ様を参考にさせていただきました。
    http://blogs.yahoo.co.jp/nob_ll/45478859.html

    ほとんど、この情報だけであっさり実現してしまいましたが、一点、
    注意するとすれば、キャッシュを格納するフォルダのパーミッションと
    相対パス指定のほうが楽なことくらいかな。
    また、最後にスラッシュを付けておいたほうが良さそうです。

    ローディングスピードの分析には、FireFoxのアドインを使いました。
    「Firebug」と「YSlow」で、これがまた素晴らしく高機能です。

    ちょっと使い方には慣れが必要ですが、YSlowのComponentsメニューの
    Response Timeを見ていくと、サイトのローディングのどこあたりが
    遅いのかが一目瞭然です。

    キャッシュ前のindex.phpのロードには2300~2500msもかかっていました。
    これがキャッシュを導入した後は700msに縮まっています。
    phpなしで500ms程度ですから、これだけ速ければ言うことなしかな。

    ほかにも、Retweetがらみの処理が遅いなぁとか、popinも結構かかってる
    といった具合に、かなり詳細にわかるので、これを参考にスピードアップを
    していこうかと思います。

    最近はあまり自前でガリガリとhtmlを記述する方は少ないとは思いますが、
    ブログパーツのチューニングなどにも使える方法だと思うので、参考に
    なれば幸いかと。

    Webアプリケーション・サーバー 設計・構築ノウハウ Webアプリケーション・サーバー 設計・構築ノウハウ

    by G-Tools

    Filed under: Blog
    2009/09/16 8:24 pm | PHPでキャッシュ はコメントを受け付けていません
  • 089月

    少し前に、ブログのサイドメニューに、RSS更新情報や、はてなアンテナを
    表示するようにしたのですが、どうも今晩は「はてなアンテナ」の調子が
    おかしいようで、うちのブログの表示自体も遅くなってしまっていました。

    そこで、一旦、再度メニューの表示をオフにして、タイムアウトの処理を
    組み込むことに。

    ただ、RSSの処理部分は既存の関数を利用していますので、事前にファイル
    チェックをおこなう処理を別個に入れることにしました。

    $server = “a.hatena.ne.jp”;
    define(“TIMEOUT_SECOND”, 1);
    $fp = @fsockopen($server, 80, $errno, $errstr, TIMEOUT_SECOND);
    if ( !$fp ) {
      //タイムアウトエラー
      $rss = “”;
      return $rss;
    }
    else {
      fwrite($fp, “GET http://”.$server.”/macbs/rss HTTP/1.0\r\n\r\n”);
      stream_set_blocking( $fp, TRUE );
      stream_set_timeout($fp, TIMEOUT_SECOND);
      $info = stream_get_meta_data($fp);

      $txt .= fgets($fp, 2000);
      $info = stream_get_meta_data($fp);
      fclose($fp);

      if ( $info[‘timed_out’] ) {
        //タイムアウトエラー
        $rss = “”;
        return $rss;
      }
    }

    まぁ、内容は見ての通り(^^;ということで、とりあえずオープンしてみて、
    ちらっと読んでタイムアウトだったら、処理をやめるという具合です。

    PHPのバージョンが新しければ、fopenで処理できるのですが、fsockopenを
    使ったので、ちょっとややこしくなりました。

    はてなアンテナが復旧してくれるのが一番ですが、こういうことは
    他のRSSでもありうる問題ですし、この機会に対処できて良かったです。

    PHP 逆引きレシピ (PROGRAMMER’S RECiPE) PHP 逆引きレシピ (PROGRAMMER’S RECiPE)

    by G-Tools

    Filed under: Blog
    2009/09/08 10:59 pm | PHPでタイムアウト処理 はコメントを受け付けていません
  • 198月

    先日、ブログのサイドメニューに関連ブログの更新情報を表示するように
    PHPで細工したわけですが、どうせなら、いつも拝読させていただいている
    Webサイト様の更新情報も表示したいなぁと。

    RSSで配信されている情報を取ってくるのも手ですが、処理があまり
    重くなりすぎてもいけませんし、ここは「はてなアンテナ」のRSSを利用して
    取得することにしました。

    ちなみに、はてなアンテナのRSSのURLは以下の通りです。

    http://a.hatena.ne.jp/(ユーザー名)/rss

    簡単な要約はマウスオーバーで表示されますし、これは結構便利かも。
    もう少し汎用性を持たせたら、一般公開することも可能ではあるのですが、
    レンタルサーバが耐えられるかどうかが心配ですしねぇ。

    あと、「いぬリンク」でも同様のことをやりたいところなのですが、どうも
    RSSとWebページの内容が一致していない様子。
    まぁ、RSSを読むだけでも負荷をかけてしまいますし、とりあえず今のところは
    はてなアンテナだけでも満足です。

    Filed under: Blog
    2009/08/19 9:33 pm | はてなアンテナをサイドメニューに はコメントを受け付けていません
  • 178月

    先日、ブログのトップにRSS表示を追加しましたが、今度は更新情報を
    サイドメニューに表示してみることにしました。

    今回もベースのPHPは「レッツPHP!」さんから頂きました。
    ただ、これも前回同様、かなり大幅に手を入れています。

    サンプルコードは各RSSの最新記事の日付だけでソートしているので、
    ブログをまたがって最新の記事を取ってくることができませんでした。

    また、今回はiframeで埋め込むのはやめて、index.phpで取得し、直接
    htmlに埋め込んでいます。
    ですので、index.htmlに直接アクセスしていると、更新情報は表示されません。(^^;

    かなりすっきりした感じになったので、上に貼ってあるRSS表示は整理しても
    良いかなぁ。
    あと、許可がもらえれば、お気に入りのブログ様の更新情報も表示すると
    便利かもしれませんね。

    ともあれ、仕事で覚えたphpが役だってなによりです。
    まぁ、仕事で活かさなきゃ、何の利益にもならないのですけれどね。

    4798119865 PHP 逆引きレシピ (PROGRAMMER’S RECiPE)
    翔泳社 2009-06-30

    by G-Tools

    Filed under: Blog
    2009/08/17 9:01 pm | サイドメニューにブログ更新情報 はコメントを受け付けていません
  • 168月

    紗羅が新しいブログを立ち上げたので、それを紹介しようと、ブログの
    トップにRSS表示を追加してみました。

    以前はRSS表示用のブログパーツのサービスを利用していたのですが、
    これだとサービスが休止したときなどに不便だったので、今回はPHPを使って
    自前でRSS表示するようにしました。

    といっても、ベースのPHPは「レッツPHP!」さんから頂きました。
    ただ、そのままだと要約が長すぎたり、デザインを変更できなかったので、
    ソースにはだいぶ手を入れました。

    要約は「mb_strimwidth」という関数で先頭だけを取ってくるようにしました。
    この関数、文字化けもなく、省略する際、後ろに文字列を付加できて便利です。

    あと、Safariで文字化けするケースがあったので、htmlヘッダを追加したり、
    スタイルシート対応にしたりしました。

    とはいえ、RSS取得部分が一番大変なわけで、それを提供してくださってるのは
    ほんとに助かります。

    てなわけで、紗羅の新しいブログ「私の好きなモノ。」に、ブログトップから
    ジャンプできますので、こちらもぜひよろしくお願いいたします。

    Filed under: Blog
    2009/08/16 4:23 pm | PHPでRSS表示 はコメントを受け付けていません