アジャイル,Trac,オープンソースなどの話。認定スクラムマスター。Twitterは@ryuzee
wordpressの高速化といえば、WP Super Cacheによるhtmlレベルでのキャッシュ化なんだろうけど、同一URLで、異なるデバイス向けにサイトを提供している環境だと、少々面倒になってしまう。
ということで、高速化の一環として、DB Cache Reloadedを導入してみた。
まずはDB Cache Reloadedの配布ページにアクセスして、アーカイブを取得する。取得したら解凍して、いつものように、/wp-content/plugins以下に配置し、プラグインを有効にする。
次に、左ナビの設定をクリックし「DB Cache Reloaded」を選択すると、画面が表示されるので、下図のようにEnableにチェックを入れて有効にし、「Save」をクリックする。

以上で導入は完了だ。
僕のサイトのトップページに複数回リクエストを投げてみた。
導入前 47 queries. 1.147
導入後 19 queries. 0.818
クエリの呼び出し回数は半分以下になっている。
これならDBがボトルネックになっているような環境であれば手軽に性能向上できそうだ。
WordpressからTwitしたり、ブログ書いたときに自動でTwitしたり、自分のTwitをブログサイドバーに表示したり、とブログとTwitterの連携箇所は一杯あるんだけど、それらをまとめてやってくれるプラグイン「Tweetable」が便利なので紹介する。
Tweetableは以下のURLから入手できる
http://wordpress.org/extend/plugins/tweetable/
いつも通りアーカイブを解凍し、/wp-content/plugins以下に配置し、プラグインを有効にすれば良い。
ただしこれだけでは動かないので初期設定のところで細かく説明する。
(1)まず、左メニューの「設定」の下に「Twitter」という項目が増えているので、これを選択すると下図のような画面が表示される。ページ下部に説明書きが書いてあるので、良く読んだ上で、ページ上部の「Register Application」をクリックする。

(2)上記のとおり「Register Application」をクリックすると、Twitter側のアプリケーション登録画面が表示される(下図)ので、必要な項目を入力する。
(3)Consumer KeyとConsumer Secretが生成されるので、控えておく。(下図)

(4)Tweetableのセットアップ画面に戻り、最下部の「Continue」ボタンをクリックすると下図が表示されるので、先ほどTwitter側で発行されたConsumer KeyとConsumer Secretを入力する。入力が終わったら「Save and Continue」をクリック。

(5)Twitterのアカウントを入力する画面が下図のように表示されるので、入力する。

(6)Twitterアカウントの認証が行われるので、下図の「Sign in with Twitter」ボタンをクリック

(7)アクセス許可画面が表示されるので「許可する」をクリック

(8)wordpress側に戻されるので、画面右下の「finish」をクリック

(9)左ナビの「Twitter」から「Setting」を選択すると、下図のような設定画面が表示される。
短縮URLの設定、wordpress投稿時にTwitするかどうかの設定、Twitter投稿時に付与するprefixの設定を行う。

上記の手順を行えば、wordpressへの投稿時に自動でTwitterに投稿することが可能になる。
それ以外にもいくつかのwordpress用の関数が用意されている。
他はマニュアルを読むとよろしい。
ちゅうことで便利なので、お勧めです。
FireDictionaryは英単語の辞書検索ツール。Firefoxの画面上に表示されている英単語にカーソルを当てるだけで、サイドバーに一瞬で日本語訳を表示することが出来る。
入手はここから。
https://addons.mozilla.jp/firefox/details/1631
普通に拡張のインストールをして、Firefoxを再起動する。
初回起動時に、以下のような画面が表示される。
指示に従って辞書コンテンツをダウンロードする。
gene95.lzhを入手し、適当な場所に解凍する。
解凍後、サイドバーのInstallボタンをクリックし、ファイル選択ダイアログで辞書を指定する。
インストール完了後、Firefoxを再起動する。
あとはサイドバーを表示して、英語サイトにアクセスしてみる。
以下のように、英単語にカーソルを当てるとサイドバーに自動で日本語訳が表示される。
表示速度だが、まったくディレイもなく表示され、操作上のストレスは一切無い。
僕は普段Lingoesを辞書ツールとして使っているんだけど、ことFirefox上でのWebの閲覧だけなら、FireDictionaryを使ったほうがよっぽど効率は良い。
英語サイトをよく読む人には圧倒的にお勧めな拡張機能だね。
※LingoesはLingoesで、テキスト上をクリックするとすぐに辞書を表示してくれる、という点で分かりやすいし、開発作業には便利だ。
今日リリースされたFirefox3.5に早速更新してみた。
とりあえず僕が入れているアドオンは以下のものが未対応と表示された。
アプリケーション: Firefox 3.5 (20090624025744)
OS: WINNT (x86-msvc)
自動更新に対応していないモジュールに限って、使用頻度が高いというオチであった。
まぁ、とりあえず、デスマーチ中に更新するのはやめておけ。焦るだけだ。
あと、僕のマシンだと速度はあんまり変わらない感じ。FF2からFF3に変わった時の方が性能向上は劇的だった。
TwitThisは、ブログ等にTwitterに投稿用ボタンをつけるプラグイン。ポップアップでTwitterへの投稿用の画面が表示される。
で、このプラグインだがバグがあって、このままだと、オプション設定でpermalinkを選択すると、トップページ等の一覧ページでコンテンツが表示されなくなる。
ということで、145行目からの関数を以下に差し替えるとちゃんと動作するよ。
ScribeFireはFirefoxのアドオンで、予め指定しておいたブログに対して簡単に記事が投稿できるツールだ。
んで、こいつを使っていたのだが、いつからか、投稿する文章にhtmlタグが含まれていた場合、タグが全部取れてしまい、文章としての体裁をなさないようになってしまった。
ふとしたキッカケで原因が分かったので、そのメモ。
ちなみに対策は、暫定対策用のプラグインをwordpressに導入してあげれば良い。入手はこちらから。
はてなが6月3日に公開したはてなブックマークのWeb Hook機能を利用して、ブックマークするとともに指定したwordpressのブログに投稿するプラグインを練習がてら作ってみた。
設定画面もあるようなwordpressのプラグインを作るのは初めてだけれど、意外と簡単だったかも。
Hatebu2Postプラグインをダウンロードする。
ライセンスはGPLってことで。
バグ報告とか改善要望とかあればコメントきぼんぬ。
はてブの Web Hook で Twitter を更新する - IT戦記
404 Blog Not Found:API - Twitterfeed から Hatena::Bookmark Web Hookへ
MovableTypeでも同じことが簡単にできそうだね。
前のエントリで書いたWordTwitだが動作したよ。
修正ポイントを書いておく。
(1)wordtwit.phpで日本のタイムゾーンが考慮されていない?
wordtwit.phpの288行目あたり。
で投稿した時刻を取得して最終更新時刻と比較しているんだけど、こいつがGMTでの日時になっておりタイムゾーンが考慮されていない様子。なので以下のように変更する。
(2)MySQLのバージョンによってはテーブルが作成されない。
wordtwit_check_table() 関数の中でテーブルの存在チェックをして、無ければ作成しているんだけど、ここで文字コード等の属性を設定してテーブルを作成している。しかし、これができるのはMySQL4.1以降とMySQL5以降のはずで、僕が使っているさくらのレンタルサーバだと、4.0.27のバージョンなのでテーブルが作成されない。
仕方ないので自前で以下のようなクエリを使ってテーブルを作ってやる必要がある。
意外とはまったなぁ。
日記 PHP オープンソース インストールマニアックス IIS Trac MySQL Perl Linux Agile・生産性向上 wordpress フリーソフト 自宅サーバ 書評 ブックマーク phpMyFaq TraM Plugin 早起き Delphi apache CakePHP Firefox Ruby eclipse セキュリティ プラグイン アジャイル mojavi Subversion Ajax/Web2.0 SQLServer Zope サーバ フレームワーク phpBB 仮想化 PostgreSQL OpenVZ scuttle CMS 文字化け 自宅 翻訳・日本語化 ApacheDS LDAP Excel 生産性向上 CodeIgniter XAMPP hacks taskfreak 修正 言語ファイル Ajax SBM ダウンロード HTML::FillInForm mod_security 情報共有