Showing posts with label web. Show all posts
Showing posts with label web. Show all posts

Wednesday, January 28, 2009

WordPressで保存された履歴を削除し、さらに履歴を保存する数を制限もしくは無効にする方法

WordPressから記事をExportして、さらにImportすることがあります。WordPressでは、Exportすると xmlのファイルになるのですが、これがサイズが大きいことがあります。中を見てみると、過去の版(履歴)も含まれています。 これは、exportしてimportしたときに、前のサイトでの編集の履歴までインポートできるので、便利な機能ではあるのですが、 記事を書いている最中にマメに「保存」「保存」とするとどんどん版がふえて、エクスポートファイルのサイズも どんどん大きくなってしまいます。そこで、サイズの削減のために過去の履歴を削除することを考えてみます。

削除は簡単で、mySQLのサーヴァーに接続して下のコマンドを実行します。

DELETE FROM wp_posts WHERE post_type="revision";

テーブル名「wp_posts」は該当するものにかえてください。「接頭辞_posts」の形式です。重要なデータの場合は、念のため 実行する前にテーブルをバックアップしたほうがいいでしょうね。

ちなみに、あるサイトでこれを実行したところ、18MBあったエクスポートファイルが3.4MBになりました。1/6!

そもそも、なんでこんなにたくさんリビジョンを保存するのであろうか。必要あるのかしら? と思われた向きには、 保存する履歴の数を指定する機能があります。ただしWordpress 2.6以降のみ? 調査はしていません。

その方法は wp-config.phpに次のような行を追加するだけ。

define('WP_POST_REVISIONS', 数);

「数」に数字をいれると、その数だけにリビジョンが制限されます。0やfalseにするとリビジョンを保存する機能が 無効になるようです。

いやー、こんな定数があるなんて知らなかった...WordPressにはまだまだおもしろい機能がたくさんありそうです。

参考文献

  1. How to delete existing WordPress post revisions stored/saved, My Digital Life, 2008
  2. Disable and turn off post revisions tracking in wordpress 2.6 or above, My Digital Life, 2008
  3. How to store every post revisions on each auto save in wordpress with limit on versions count, My Digital Life, 2008

Wednesday, January 07, 2009

Blogger(blogspot.com)をよそへリダイレクトする方法

ウェブのURLを変更する場合、301リダイレクトをすると検索エンジンが「URLが変更になったんだな」と認識してくれることになっていますが、Bloggerからよそへひっこす場合、定番の.htaccessを使った方法やPHPのスクリプトを使う方法がつかえません。かわりの方法を試してみたのでメモしておきます。

手順は以下のとおり。

  1. 移転元のBloggerから、移転先のWordpressへ記事をインポートしておく。パーマリンクも同じにしておく。
  2. Bloggerの「レイアウト」「HTMLの編集」で、<header>と</header>の間に下記の2行をいれる。
    <meta content='0;url=http://your.new.blog.domain.com/newdir/' http-equiv='refresh'/>
    <meta name="ROBOTS" content="NOINDEX, NOFOLLOW"/>
    
  3. 同じくBloggerの「レイアウト」「HTMLの編集」で、「<b:section class='main' id='main' showaddelement=...」のすぐあとに以下のコードをいれる。
    <b:widget id='Redirector' locked='true' title='Blog Posts' type='Blog'>
    <b:includable id='main'>
    <b:if cond='data:blog.pageType == "item"'>
    <b:loop values='data:posts' var='post'>
    <script type='text/javascript'>
    var new_page=&#39;your.new.blog.domain.com/newdir/&#39;;
    var permalink = &#39;<data:post.url/>&#39;;
    var timestamp = &#39;<data:post.timestampISO8601/>&#39;;
    timestamp = timestamp.split(&#39;-&#39;);
    timestamp = timestamp[0]+&#39;/&#39;+timestamp[1];
    new_page = permalink.replace(/youroldblog\.blogspot\.com\/20[0-9]{2}\/[0-9]{2}/,new_page+timestamp);
    document.location.href = new_page;
    </script>
    </b:loop>
    </b:if>
    </b:includable>
    </b:widget>
    

このコードでは移転元と移転先のパーマリンクがwordpressでいうところの「/%year%/%monthnum%/%postname%.html」であるということを前提としています。ちがう場合は、timestampあたりを適当に修正してください。このコードは参考文献[1]をベースに、おかしいところを多少変更しました。

「1.」が案外むづかしい。ふつうにインポートすると、パーマリンクが保存されません。記事の数が多い場合は困るね。要検討です。

「2.」の meta http-equiv='refresh'は正確には301リダイレクトにはなりませんが、Yahoo!やGoogleは転送前の時間が0または1の場合は301として、それより大きい場合は302として扱うそうです(参考文献[2])。なので、これでよしとしよう。

というわけで、ためしにやってみました。http://unixjp.blogspot.com/2006/05/blog-post.htmlにアクセスすると、http://narak.jp/wptest/2006/05/blog-post.htmlへリダイレクトされるようにしました。Google/Yahoo!が301扱いを してくれているかどうかはわかりませんが....

参考文献

  1. How To Redirect Blogger Beta To Wordpress.Com, laffers.net, 2007
  2. 301 Moved Permanentlyでウェブサイトを転送する方法, たんきゅうラボ, 2006

Monday, June 23, 2008

画像をカッコよく一覧表示してくれるプラグイン PicLens

Firefoxで勝手にページをめくってくれるプラグインAutoPagerizeも大変便利ですが、見るのが画像だけの場合はこっちの方がいいかも! その名もPicLensです。対応ブラウザはFirerfox, IE, Safariとなっていますが、Safariは肝心の「3D Wall」という機能が対応していないので、せっかくですから最近でたばっかりのFirefox 3をお薦めします。

Firefox 3をインストールしたら起動して、PicLensをインストールします。PicLensのインストールは簡単。Firefox Addonのページにいって、「インストール」ボタンを押すだけ。

PicLens installation

図1. インストールボタン

本当にインストールしていいかどうか聞かれるので、続行します。インストールできたらFirefoxをリスタートするとPicLensが有効になります。

ではさっそく使ってみましょう。flickrのフォトストリームが表示されているところで、右上の「PicLens」のアイコンを押します。

PicLens Firefox

図2. PicLensのアイコン

これね。これをポチッとな。すると!

PicLens Firefox

図3. 3D Wall

おー、すごい! フォトストリームだけじゃなくて、Flickrのsetのなかでもポチッとすると、

PicLens!

図4. 3D Wall!

おおおお、すごい!

このように対応しているページ(参考文献[1]を参照)なら、Autopagerizeのように自動でページをめくってくれます。対応していないページだと、ページないにある画像だけ表示してくれます。

というわけで、YouTubeもPicLens!

PicLens PicLens!

図5. YouTubeもPicLens

Google ImageもPicLens!

PicLens of Nina Moric on Google Image

図6. Google ImageもPicLens

この「3D Wall」モードの他にも、写真をダブルクリックするとひとつの写真が大きく表示されてスライドショーできるモードにもなります。このPicLens、とっても便利なので、みなさんも使ってみてくださいねー。

参考文献

  1. PicLens
  2. Firefox
  3. PicLens 1.7.0.3459, Firefox Addons, 2008

WordPressのサブページの一覧を自動的に表示する方法

WordPressにはふつうのブログの記事「Post」と、それ以外に「Page」という記事の投稿方法があります。ポストは通常の ブログの記事のように時系列にそって書き足していくようなものに向いているのに対し、ページは比較的静的な内容のものを書くのに 向いていると言われています(参考文献[1])。 サイトの内容をすべて「ポスト」で書いて、カテゴリーやタグを利用して分類する手もありますが、 今回のテストサイトでは、ニュース記事を「ポスト」で、通常のコンテンツを「ページ」で構築してみました。

ぺージには階層構造を持たせることができ、ページの下にサブページを作成することができます。そして、「ページ」はテンプレートタグ(参考文献[2])を使っていろいろな方法で表示できますが、サブページの取り扱いが十分とはいえないので、多少工夫する必要があります。

まず、親ページの一覧の取り方ですが、参考文献[4]にあるように

<?php wp_list_pages('title_li=&depth=1'); ?>

とすれば<li>で囲まれたアイテムとしてページの一覧がリンクつきで出力されます。問題はサブページです。ページが2階層のとき、現在表示しているページが親ならば自分の子供たちを、現在表示しているページが子供ならば兄弟たちを表示したいのですが、そのようなタグがないので、以下のようにします。

<?php 
if (is_page() && $post->post_parent ) { //サブページのとき
   $parent=$post->post_parent;
} else { //トップページのとき
   $parent=$post->ID;
}
$ul_top_title = get_the_title($parent);
$ul_top_url = get_permalink($parent);
if(wp_list_pages("title_li=&child_of=$parent&echo=0" )):
?>
<div id="sidebar">
<ul>
<li id="sidebartop"><a href="<?php echo $ul_top_url; ?>"> <?php echo $ul_top_title; ?> </a> </li>
<?php 
$children = wp_list_pages('title_li=&sort_column=menu_order&child_of='.$parent.'&echo=0');
echo $children;
?>
</ul>
</div>
<?php endif; ?>

深入りして解説はしませんが、ざっと言うとまずいま表示しているのが親ページか子ページかを判別し、 親ページなら自分自身、子ページなら親のページIDを$parentにセットします。次に、$parentに子ページがあれば サイドバークラスのdiv要素を挿入して、$parentの子供の一覧を挿入する。子ページがなければ何もいれない。 という感じになっています。詳しくは参考文献[3][4][5][6]あたりを御覧になるといいかも。

これでサンプルサイトで言うと、このような表示が実現できています。

Pages and Sub Pages

図1. サンプルサイトでの表示

WordPressのいいところはのひとつは、テンプレートにすきなようにPHPのコードをかけるところですね。ってあたりまえ?

参考文献

  1. Pages, WordPress Codex
  2. テンプレートタグ, WordPress Codex 日本語版
  3. Conditional Tags, WordPress Codex
  4. WordPressのサブページナビゲーションを動的にする方法, ブログヘラルド, 2007
  5. WordPressテーマ(テンプレート)カスタマイズのまとめ(日本語訳), 2008

Wednesday, June 18, 2008

WordPressでRSSにページの更新も含めるプラグイン「Feed Control」

WordPressには「ページ」というふつうのブログのポストとは違う記事をかく方法があって、使い方によっては大変便利なのですが、 これがデフォルトではRSSに含まれません。「ページ」だけ、あるいは「ページ」と「ポスト」の両方をつかってサイトを作る場合、 これではこまってしまいますね。そんなときはfeed controlというプラグインをつかうといいですね。

使い方は簡単。

  1. feedcontrol_v1-0.zipをダウンロードする。
  2. zipファイルの中身を、インストールするWordPressのディレクトリのwp-content/plugins/以下に展開する。
  3. WordPressの管理画面の「プラグイン」でfeed controlを「有効」にする。
  4. 「設定」の「feed control」でfeed controlの設定をする。特に変更しなくてOK。
Feed Control

図1. 管理→Feed Control

すると...

Feed

図2. 「ページ」も含まれたRSS Feed

みごとに「ページ」もRSSに含まれています! って、 この画面では「ポスト」なのか「ページ」なのか、みただけではわかりませんが...ここにみえてるのはぜんぶ「ページ」ですね。

これは大変便利なのでみなさんもお使いになってみてくださいねー!

参考文献

  1. Feed Control, slipstream, 2006
  2. ページのRSS配信を可能にするプラグイン Feed Control, WordPress Go Go, 2007
  3. 早山高校(サンプルサイト)のフィード

WordPressでブログではないふつうのサイトを構築する

わけあって、WordPressをつかってふつうの(ブログでない)サイトを作ってみようとおもい、試しに作ってみました。

sample site

図1. サンプルサイト

名前とかはもちろん適当です。1人で2日間ぐらいでできちゃったんですが、「WordPressサイト構築スタイルブック」のサンプルを参考にさせていただいたのでそのはやさでできました。参考ていうか、そのまま? ^^; この本は非常に面白いので、お勧めします。わたしも買いました。

図2. WordPressサイト構築スタイルブック

もちろんまるごとおなじではなくて、「ページ」を使ってサイトを構築してるんだけども、サブページの一覧をだすようにしたり、 デフォルトではRSSにはポストだけしか含まないのを「ページ」を含むようにしたり、いろいろ変更してあります。おかげで、 WordPressのバックエンドやテンプレートタグの概要がつかめました。そのへんのTipsも稿を改めて書いておきますね。

参考文献

  1. WordPressサイト構築スタイルブック」のサンプル
  2. 国立谷山早山高等学校サイト(サンプル)
  3. WordPress.org

Friday, May 16, 2008

Googleのひとが発表した論文の一覧

Googleのひとが発表した論文の一覧が「Papers Written by Googlers」こちらから見られます(参考文献[1])。発表年でならべかえることも可能です。2007年には181本出ていますね。なかなかすごい。まあ、Ph.D.ばかり採用しているそうですから、論文が書けて当然という気もするね。

カテゴリ別でみると、やっぱりDistributed Systems and Parallel Computingが面白そうですね。「Failure Trends in a Large Disk Drive Population」とかね。「Simple Efficient Load-Balancing Algorithms for Peer-to-Peer Systems」とか。しばらく楽しめそう。

でもあれだな、ざっとみると、査読つきのいわゆる論文誌は少なくて、国際学会と、あとはIEEE MICROとかComputerとかそういう雑誌が多い感じだね。大学とちがって、査読つきの論文の本数で評価されないからかな。参考文献[2]によると、「Googleで論文を書くのはどのくらいむづかしいの? とよくきかれるのだが、それはむづかしいという俗説を振り払っておきたい。出版物を出すのは簡単だし、オープンソースにコードをおくのも簡単だし、ひととしゃべるのも簡単だ」だそうです。企業秘密で発言を規制したりしませんよ、オープンですよー、といいたいんですね。なるほどね。ふつうの企業だとけっこううるさいからね。

しかしあれだね、ほかの企業もこうやって全社の出版物をまとめると「営利追求だけではなくて、人類の進歩に貢献していますよー」とアピールできて、いいですね!

参考文献

  1. Papers Written by Googlers, Google
  2. Can You Publish at Google?, Rich Gossweiler, Official Google Research Blog, 2008

Saturday, May 10, 2008

さくらのレンタルサーバーにRuby on Rails 2.0.2をインストールする方法

数日前、読者のかたからメールをいただきました。「rubygemsが1.1.1になっており、記事通りにしてもインストールできない」とのことでした。前の記事さくらのレンタルサーバーにRuby on Railsをインストールする方法を書いてから、9箇月たちまして、Ruby on Railsもrubygemsも新しいバージョンがでています。前の記事を書いたときと状況がかわっているので、今のバージョンでのインストールの方法を新たにまとめてみました。

インストールするのは次のものです。

  • rubygems 1.1.1
  • Ruby on Rails 2.0.2

例によって、rubyは標準のものを使用します。最新版は1.8.7が現在preview2 ですが、標準でインストールされているのは1.8.5です。確認しておきます。

% ruby --version
ruby 1.8.5 (2006-08-25) [i386-freebsd6]

railsをいれるまえに、rubygemsをイントールします。2008年5月時点での最新版は1.1.1です。バグも修正されたようで、以前よりインストールが簡単になっています。ふつうに$HOME以下にインストールすればOK。$HOME/src以下にrubygemsのソースコードをもってきます。$HOME/srcがなかったらこの機会に作ってしまおう。

% mkdir $HOME/src
% cd $HOME/src
% ftp http://rubyforge.org/frs/download.php/35283/rubygems-1.1.1.tgz
Requesting http://rubyforge.org/frs/download.php/35283/rubygems-1.1.1.tgz
Redirected to http://rubyforge.rubyuser.de/rubygems/rubygems-1.1.1.tgz
Requesting http://rubyforge.rubyuser.de/rubygems/rubygems-1.1.1.tgz
100% |*************************************|   413 KB   85.21 KB/s    00:00 ETA
423308 bytes retrieved in 00:04 (85.21 KB/s)

tar+gzipを展開して、その中に移動し、早速インストール。標準だと/usr/local/以下にインストールされるようですが、さくらのレンタルサーバーではもちろんそんなところにインストールできないので、$HOME以下にインストールするよう、オプションをつけます。

% tar zxf rubygems-1.1.1.tgz
% cd rubygems-1.1.1
% ruby setup.rb --prefix=$HOME
mkdir -p /home/narak/lib
mkdir -p /home/narak/bin
install -c -m 0644 rubygems.rb /home/narak/lib/rubygems.rb
...
RubyGems installed the following executables:
 /home/narak/bin/gem18

If `gem` was installed by a previous RubyGems installation, you may need
to remove it by hand.

gem18という名前で$HOME/binの下にインストールできたようなので、確認します。その前に$HOME/binがコマンドサーチパスに入っていないひとは、入れておきます。railsは$HOME/lib/ruby/gem/binにはいるので、そっちもついでに追加。$HOME/.cshrcに次のように書いておきます。

set path = (/sbin /bin /usr/sbin /usr/bin ...(中略)... $HOME/bin $HOME/lib/ruby/gem/bin)

ついでに$HOME/.cshrc中で環境変数RUBYLIBとGEM_HOMEも指定しておきます。rubygems.rbがインストールされる場所が変わったので、RUBYLIBもちょっとかわっています。

setenv RUBYLIB $HOME/lib
setenv GEM_HOME $HOME/lib/ruby/gem

できたらsourceして、インストール直後はコマンドサーチパス内にあってもみつからないので、rehashしてからバージョンの確認。

% source $HOME/.cshrc
% rehash
% gem18 --version
1.1.1

できました。つづいてrailsのインストール。 railsは$HOME/lib/ruby/gem/binの下にインストールされます。コマンドドサーチパスにはすでにはいってますね? railsのインストールは簡単。

% gem18 install rails --include-dependencies

できたらrehashしてバージョンの確認。

% rehash
% rails --version
Rails 2.0.2

できた! だいぶ簡単になりましたねー。

参考文献

  1. rubygems
  2. Ruby on Rails
  3. オブジェクト指向スクリプト言語 Ruby
  4. さくらのレンタルサーバにRuby on Railsをインストールする方法, がんちゃんのブログ, 2007

Tuesday, April 22, 2008

WordPressにGoogle Analyticsのトラッキングコードを追加する方法

全然更新してないけど、実験用のWordPressのサイトにGoogle Analyticsのコードを追加してみました。画像はflickrにおいたものを使ってるんだけど、flickrのstatみるとそこそこアクセスがあるようなので。

ふつうに(?)ga.jsっていうトラッキングコードを埋め込んでもいいんだけど、せっかくなのでPluginを使ってみることにしました。今回つかってみたのはUltimate Google Analyticsというプラグインです。ではさっそくインストールの方法。

  1. まず、Google Analyticsのアカウントをとります。
  2. Ultimate Google AnalyticsのZIPファイルをダウンロードします。2008年4月現在の最新版は1.6.0です。ダウンロードはUltimate GAのダウンロードの章からどうぞ。
  3. ZIPファイルを展開するとでてくるphpファイルを、WordPressがインストールされているディレクトリの下にある wp-content/plugins ディレクトリの下にコピーします。
  4. WordPressの管理画面 (通常 http://あなたのblog.com/wp-admin です)に行き、「Plugins」タブでUltimate Google Analyticsを「Activate(有効に)」します。
  5. Ultimate Google Analyticsが有効になっていると「Options」タブの下に「Ultimate GA」というタブができるので、ここで設定をします。とりあえず「Account ID」だけ設定すればよいでしょう。Account IDはGoogle AnalyticsのアカウントのIDです。UA-999999-9というようなフォーマットをしています。UA-999999の部分がアカウントのIDで、最後の一桁がWebサイトごとにつけられた番号だと思われます。

なお、すでにGoogle Analyticsに登録してあるwebサイトのAccount IDの確認の方法がわかりにくくなっています。Analyticsにログインして、「Analytics 設定」→ webサイトのリストの右側にある「編集」→ 上部に出てくる「(ステータスを確認) 」でそのWebサイトのトラッキングコードが表示されます。そのなかにUA-999999-9というフォーマットのIDがあるはずですので、それをつかってください。

google analytics

図1. Google AnalyticsのAccount ID

これだけでとりあえず完了です。あとはGoogle Analyticsがレポートをアップデートするのをまつだけです。Google Analyticsのアップデートは、今のところ24時間ぐらいかかっているようです。

参考文献

Wednesday, February 13, 2008

Flickrの便利サイトBig Huge Labs

前回のFlickrコメントに参照元で参照もとになっていてみつけたのがこのサイト。BigHugeLabs。なんかFlickrをあそびたおすサイトらしい。こんなのあるんだなあ、しらなかった。

Flickrバッジをつくったり、写真でジグソーパズルをつくったりいろいろできるようですが、そのなかで今回紹介したいのがFlickr DNAというやつ。あるひとのFlickrでやってることが一覧できちゃうものです。

たとえばわたしのはこれ。Flickr Profile: kenic。上から順番にみてみましょう。

まずは、写真のアップロード数。

graph.jpg

写真1. 過去30日分のアップロード数

そうおおくないねー。その次にあるのが最近アップロードした写真の一覧。

public-photos.jpg

写真2. 最近の写真

ここまではいいんです。次は、「interestingness」順に並べた写真の一覧。

interesting-photos.jpg

写真3. 「おもしろい」写真の一覧

Flickrは参照数や、つけられたタグの数やコメントの数で「interestingness」というのを写真ごとに計算してくれているのです。なんか、ハラの写真がはいってるー ^^;; はずいわ。そしてつぎ、favoriteに入れた写真の一覧。

favorites.jpg

写真4. 「favorites」一覧

Flickrはすきな写真を「おきにいり」にすることができて、あとからみることができるんですね。しかし、これもはずかしい ^^;; ふだんはどうせ見る人なんかいないだろうと思って、気軽に追加しているんですが、これだと丸見え! ほとんど美人の写真ばかり....すけべなのがばれる! ^^;

ほかにもタグクラウドやコンタクトの一覧などを見ることができます。けっこう便利そうだね! つかわせてもらいまーす。

参考文献

  1. Big Huge labs

Tuesday, February 12, 2008

Flickr: Add referrer into comments 1.1

さいきんFlickrのコメントをみていると、なんかどこで写真をみつけました、みたいなのがでてるときがあります。これです。

Flickr Referer

図1. リファラー?

赤丸でかこってあるのがそれです。(?)というリンクがあるのでぽちっとしてみました。参考文献[1]がそれですが、それによると「Flickrでいやなのは、自分の写真をみんながどこでみつけたのかわからないってことだよね」とのこと。これを使えば、自分がコメントを書くときに、どこで見たか知らせることができる! いいですね。

わたしも以前、Explore / Most recent photosでみつけた写真にコメントつけたら、「だれ? どこでみつけたの?」と気味悪がられて、アク禁にされたことがあるのでそのきもちはよくわかります。というわけで、さっそく使い方です。

Firefoxのひとは、Greasemonkeyをインストールしましょう。そして、参考文献[1]のお猿のアイコンをぽちっとするとインストールされます。あとは自動でリファラーがつくみたいです。Greasemonkeyのインストールの仕方などは、参考文献[3]がんちゃんのブログ:autopagerizeを参照してください。

Firefox以外のひとはGreasemonkeyが使えないので、ブックマークレットを使います。さっきの参考文献[1]にある緑のアイコンをブックマークツールバーにドラッグアンドドロップします。

add-bookmarklet

図2. アイコンをブックマークツールバーにドラッグしてドロップ

そして、コメントを書くときにブックマークツールバーにできたリンクを押せばいいというわけです。試しにやってみよう! わたしは最近Safariで生活しているので、2番めのブックマークレット版をためしてみました。

まず、コメントをつけたい写真をみつける。

find-a-pic.jpg

図3. これにコメントをつけたい

そしたら、さきほど追加したブックマークレットをポチとします。すると次のようになる。

after-pressed-the-button.jpg

図4. ブックマークレットをポチとするとコメント欄に

このようにコメント欄にリンクが挿入されます。あとはその上にコメントを書いて「POST COMMENT」を押せば完成。

finnished-a-comment.jpg

図5. 完成

この例だと「きみのフォトストリームでみつけたよ」となってますね。そのフォトストリームをどこでみつけたのか知りたい気もしないでもないが、とりあえずこれで目的(?)達成! かな?

しかし美人のおかあさんですねえ。菊池桃子? お子さんもちいさいので3倍ですね!

参考文献

  1. Flickr: Add referrer into comments 1.1, 6V8 - Production of my Mind, 2006
  2. flickr
  3. 自動でページをめくるautopagerize, がんちゃんのブログ, 2007

Wednesday, February 06, 2008

アドセンスにスクロール矢印?

何気なくみていたら、広告に矢印がついてました。

is this scroll arrows?

図1. スクロール用矢印?

なんだこれは? とおもってしらべたら、去年の12月ぐらいから出はじめてるみたいですね(参考文献[1])。想像通り、スクロールして表示されている以外の広告もみられるようです。

しかし、こんなの押して隠れてる広告をみるひとなんて、いないんじゃないの? ^^; なんのためにあるんでしょうね、これ。

参考文献

  1. AdSenseの広告枠にスクロールボタン, SEO32, 2007

Friday, January 18, 2008

wordpressのビジュアルエディタを無効にする方法

以前さくらのレンタルサーバーにwordpressをインストールする方法で使い始めたwordpressですが、記事を書いてみるとなぜか<div>が<p>になってしまいます。divの中に入っているpもなんか変換されちゃってへんなかんじ...なんだろうと思ったら参考文献[1]に書いてありました。ビジュアルエディタにバグが! へんなバグだなあしかし...

解決するにはビジュアルエディタを無効にするか、そのバグそのものを直すパッチをあてればいいようです。わたしはビジュアルエディタはぜんぜん使わないので、無効にすることにしました。これがまた、無効にする方法がわからん...うーん。ユーザー→編集ってどこよ! ないし!

悩むこと3分、参考文献[2]を発見。ディレクトリ「wp-includes/js/tinymce/」をリネームすればいいらしい。簡単だね!

$ cd wordpressをインストールしたディレクトリ
$ mv wp-includes/js/tinymce wp-includes/js/tinymce.bk

案外簡単になおりました。オタメシアレ!

参考文献

  1. Wordpressの文章整形機能でdivタグがpタグに…, lovelog, 2007
  2. Disable Visual Editor, wordpress.org, 2007

Wednesday, December 19, 2007

さくらのレンタルサーバーにWordPressをインストールする方法

ちょっと思い立ったので、さくらのレンタルサーバにWordPressをインストールしてみました。WordPressのインストールって、ちょう簡単なのねえ...しらなかった。作業開始から動作確認まで3分ぐらいで完了しました。さくらのレンタルサーバーをかりてるひとは、wordpress.comとか借りる必要まったくないですね。とかいいつつ、これはblogger.comだけど! その、今回インストールしたのはこちら、Performance Parts Central。まあなんていうんですか、普通のブログです。

インストールは簡単に言うと、ダウンロードして、展開して、パーミッションなおして、データベースの設定をするだけなんです。というわけで、さっそくやってみよう。用意するものはtelnetの端末とウェブブラウザだけです。WindowsのひとはコマンドプロンプトかTera termを、Mac OS Xのひとは「ターミナル」を使ってください。WindowsやMac OS Xのftpクライアントとかは必要ありません。

ではまず、コマンドプロンプト/Tera Term/ターミナルをつかって、さくらのレンタルサーバーにログインしましょう。ログインの仕方はだいじょうぶですかー?

% ssh ****.sakura.ne.jp -l ****  ←借りるときに指定したサブドメイン名とユーザー名ね
****@****.sakura.ne.jp's password: ←パスワード入力
Last login: Tue Dec 18 10:11:03 2007 from xxxx.xxxx.xx
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
 The Regents of the University of California.  All rights reserved.

FreeBSD 6.1-RELEASE-p17 (SAKURAx) #0: Mon Jun 11 20:40:49 JST 2007

Welcome to FreeBSD!

%

では、つぎにWordPressをダウンロードしましょう。日本語版のひとはWordPress Localizationリリースファイル・リストを、英語版でいいひとはDownload WordPressを見て、ダウンロードするファイルのURLを見つけてください。現在のところ、日本語版のひとは「http://prdownloads.sourceforge.jp/wordpress/27093/wordpress-me223.zip」、英語版のひとは「http://wordpress.org/latest.zip」です。そうしたらこれをさくらのサーバー上でダウンロードします。場所はどこでもいいですが、ホームディレクトリにしておきましょうか。ここでは英語版にしました。

% cd ~/
% ftp http://wordpress.org/latest.zip
Requesting http://wordpress.org/latest.zip
  1040 KB  296.92 KB/s 
1065215 bytes retrieved in 00:03 (296.92 KB/s)
% ls -l ./latest.zip
-rw-r--r--  1 narak  wheel  1065215 Dec 19 17:32 ./latest.zip

ダウンロードできたら、展開します。これもとりあえずはどこでもいいです。ホームディレクトリで展開しちゃいます。

% unzip latest.zip
Archive:  latest.zip
   creating: wordpress/
  inflating: wordpress/wp-trackback.php  
  inflating: wordpress/wp-config-sample.php 
....
  inflating: wordpress/wp-content/plugins/akismet/akismet.gif  
  inflating: wordpress/wp-content/plugins/akismet/akismet.php  
  inflating: wordpress/wp-content/plugins/hello.php 

これで、「~/wordpress」以下に展開できました。展開できたら、ブツを所望の位置に移します。ここでは仮にxxx.sakura.ne.jp/blog/というディレクトリで動かすことにします。すると、移動する先は「~/www/blog」になるはずです。

% mv wordpress ~/www/blog
% cd ~/www/blog
% ls
index.php  wp-config-sample.php wp-rdf.php
license.txt  wp-content/  wp-register.php
readme.html  wp-cron.php  wp-rss.php
wp-admin/  wp-feed.php  wp-rss2.php
wp-app.php  wp-includes/  wp-settings.php
wp-atom.php  wp-links-opml.php wp-trackback.php
wp-blog-header.php wp-login.php  xmlrpc.php
wp-comments-post.php wp-mail.php
wp-commentsrss2.php wp-pass.php

ターミナルでやる作業はこれでおわりです。あとはweb経由で設定を行います。動かすつもりのディレクトリにブラウザでアクセスすると、次のような画面が出るはず。

wordpress1.jpg

図1. 初めてのアクセス

ここの「create a wp-config.php file through a web interface」というリンクをぽちっとします。

wordpress2.jpg

図2. 次の画面

この画面の「Let's go」をクリックしましょう。するとこうなるはず。

wordpress3.jpg

図3. データベース設定画面

ここで、さくらでつかえるMySQLサーバー名やデータベース名などを入力します。最後の「Table Prefix」は、WordPressを複数設置するときは、重ならないように適当にユニークな名前にしておきます。入力できたら「Submit」をポチ。

wordpress4.jpg

図4. 準備完了

ここで「run the install!」をポチとします。

wordpress5.jpg

図5. タイトルとe-mail入力

ブログのタイトルと、emailアドレスの入力を求められるので入力します。入力したら「Install WordPress」をポチ。

wordpress6.jpg

図6. インストール完了!

ここで表示されるパスワードは忘れないようにして下さい。あとは、ここで与えられたパスワードをつかって、wp-login.phpにログインすればオッケーです。「wp-login.php」というリンクをポチ。

wordpress7.jpg

図7. ログイン画面

ユーザー名「admin」パスワードは先ほどのものでログインしてください。すると、

wordpress8.jpg

図8. 管理画面

おおっ! そして、ブログの本体の画面はというと...

wordpress9.jpg

図9. てきとうすぎるブログ名のブログ!

できましたー。あとは先ほどの管理画面から投稿すればオッケーです。管理画面は「ブログのURL/wp-admin.php」です。あとは、ユーザーを作成したり、テーマをダウンロードしてブログの見た目をかえたり、パーマリンクのURLのかたちを変えたり、いろいろやりましょう!

参考文献

  1. wordpress.org (WordPressの配布元)
  2. Installing WordPress, WordPress Codex

Friday, November 30, 2007

さくらのレンタルサーバーのRuby on Railsを高速化する方法

以前、さくらのレンタルサーバーにRuby on Railsをインストール、動作を確認し、実際に簡単なアプリケーションをうごかしてみました。

  1. さくらにRailsをインストールする方法
  2. その動作確認
  3. サンプルアプリケーション
しかし、これがどうにも遅い! 通常はApacheに加えてfastCGI等を利用して起動の高速化をはかるのですが、さくらの共用サーバーでは利用できません(参考文献[1])。ただのCGIで動かした場合にどれぐらい遅いかというと、参考文献[2]をごらんください。普通の(?)方法でうごかすのと比較すると、ただのCGIはざっと100倍ぐらい遅い。ひどい!

というわけで、多少でもはやくならんもんかと思い色々と試してみました。速度の測定にはhttperfを使ってみました[3]。Mac OS X の場合はMacPortsで簡単にインストール可能です。ほかのプラットフォームでもいろいろあると思いますが、割愛します。

まずは、RailsもRubyも関係ない、静的ファイルの場合を測定してみます。ファイルの内容はあとで出てくるRailsのものとおなじです。

% httperf --server=narak.sakura.ne.jp --port=80 --uri=/test.html --num-conns=100 --num-calls=1
httperf --client=0/1 --server=narak.sakura.ne.jp --port=80 --uri=/test.html --send-buffer=4096
  --recv-buffer=16384 --num-conns=100 --num-calls=1
httperf: warning: open file limit > FD_SETSIZE; limiting max. # of open files to FD_SETSIZE
Maximum connect burst length: 1

Total: connections 100 requests 100 replies 100 test-duration 8.095 s

Connection rate: 12.4 conn/s (80.9 ms/conn, <=1 concurrent connections)
Connection time [ms]: min 77.5 avg 80.9 max 88.4 median 80.5 stddev 2.2
Connection time [ms]: connect 27.0
Connection length [replies/conn]: 1.000

Request rate: 12.4 req/s (80.9 ms/req)
Request size [B]: 78.0

Reply rate [replies/s]: min 12.2 avg 12.2 max 12.2 stddev 0.0 (1 samples)
Reply time [ms]: response 27.3 transfer 26.6
Reply size [B]: header 231.0 content 5512.0 footer 0.0 (total 5743.0)
Reply status: 1xx=0 2xx=100 3xx=0 4xx=0 5xx=0

CPU time [s]: user 1.83 system 6.17 (user 22.7% system 76.2% total 98.9%)
Net I/O: 70.2 KB/s (0.6*10^6 bps)

Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0
Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0

httperfは指定のサイトの指定のページにある回数アクセスして、速度を測定します。今回は100回にしてみました。結果が色々出てますが、とりあえず

Request rate: 12.4 req/s (80.9 ms/req)
ここだけみることにします。これは1リクエストあたり80.9msかかり、1秒間に12.4リクエストの処理が可能ということです。Railsの処理時間をいくらみじかくしても、これより速くなることはないという値です。

ではつぎに、サンプルのtodoリストの速度を測定してみます。

Request rate: 0.5 req/s (1851.1 ms/req)
うーん、100倍は遅くありませんが、静的ファイルの場合と比較すると25倍ぐらい遅いですね。これをベースに、どれぐらい高速化できるか検討します。

まずは実行環境です。実は上記todoリストはdevelopment環境で稼働していました。これをproduction環境に変更します。production環境の方が速い。らしいです。変更の仕方は、

  1. config/database.ymlでproduction環境にもデータベースの設定を書く。
  2. config/environment.rb で「ENV['RAILS_ENV'] ||= 'production'」の行のコメントを外す。
です。これでプロダクション環境になります。ではさっそく、速度を測ってみよう!
Request rate: 0.6 req/s (1675.0 ms/req)
ビミョーに速くなりました!

さらに、今回の例はセッションを使っていないので、セッションを無効にしてみます。無効にする方法はapp/controllers/application.rbを下記のように変更します。

class ApplicationController < ActionController::Base
  # Pick a unique cookie name to distinguish our session data from others'
  # session :session_key => '_Todo_session_id'
  session :disabled => true
end
このときの速度は下記の通り。
Request rate: 0.6 req/s (1752.7 ms/req)
うーん、あまりはやくならない。ていうかむしろすこし遅くなったような。セッションはDBに保存するので、DBが遅い場合はセッションを無効にすると劇的に改善することがあるようです。しかし、さくらのようにデータベースがMySQLで別のサーバになっている場合は効果があまりない。残念。

気を取り直して今回の最後の手段。必要のないモジュールをロードしないようにします。具体的には、config/environment.rbの下記の行のコメントアウトをとります(行頭の#を削除して行を有効にします)。

  # Skip frameworks you're not going to use (only works if using vendor/rails)
  config.frameworks -= [ :action_web_service, :action_mailer ]
このときの速度は下記の通り。
Request rate: 0.9 req/s (1103.7 ms/req)
おおっ、だいぶはやくなった! 静的ファイルと比較して25倍から13倍によくなりました! というわけでみなさんもお試しあれ。焼石に水という気もしますが...

参考文献

  1. Movable Type 3.34 アップグレード, blog kazuking, 2007
  2. 優しいRailsの育て方, 2006
  3. Welcome to the httperf homepage, HP Labs, 2005

Wednesday, October 10, 2007

モバイル向けAdsenseが本日サービス開始

Googleが本日より日本でも「モバイル向けAdsense」をはじめたようです。9月に発表だけされていたものが、サービスインしたもの。今日たまたまアドセンスの管理画面にログインしたら、「レポート」→「概要」の「収益総額」のうえあたりに突如「モバイル向け AdSense - 開始する」というのが表示されていて気がつきました。

モバイル向けAdsenseで利用可能なデザインは下記の「シングル」と「ダブル」の2種類のみ。

Adsense Design

このモバイル向けAdsense広告を貼るページはXHTML、WML、CHTMLのどれかで書かれている必要があります。また広告のコードはPHP、CGI/Perl、JSP、ASPで提供されるので、ページそのものも生XHTMLとかではなくて、どれかの言語で書かれてないとだめ。まあPHPだったら、そのまま拡張子をphpにすればうごくけど。

いまわたしはモバイル用のサイトはひとつももってないので、このAdsenseを張ってみるためにいっちょ作ってみようかしら ^^; なお実物はたとえばこのへんで見られるみたいです。

参考文献

  1. Google、モバイル向けのアドセンスサービスを開始 - AdSense for Mobile, マイコミジャーナル, 2007
  2. モバイル向けAdsense, Google Adsenseヘルプセンター, 2007
  3. Google Adsense モバイル広告フォーマット
  4. お待たせしました!モバイル版コンテンツ向けAdSenseがスタートします, Adsense日本版公式ブログ, 2007

Sunday, October 07, 2007

アドセンスのエラーメッセージに書かれた27言語一覧

日本時間の2007年10月7日22時現在、アドセンスのサイトが見られないようになっています。みようとするとエラーメッセージが表示されるのですが、これがおどろいたことに27箇国語で書かれています。というわけで表にしてみた。

No.言語文言
1英語 The Google AdSense website is temporarily unavailable. Please try back later. We apologize for any inconvenience.
2日本語 Google AdSense の web サイトは一時的にご利用いただけません。後で再度お試しくださいますようお願いいたします。 お手数をおかけいたしますことをお詫びいたします。
3ドイツ語 Die Google AdSense-Website ist vorübergehend nicht verfügbar. Bitte versuchen Sie es später noch einmal. Wir entschuldigen uns für eventuell enstandene Unannehmlichkeiten.
4フランス語 Le site Google AdSense est temporairement indisponible. Veuillez réessayer plus tard. Nous vous prions de nous excuser pour le désagrément occasionné.
5スペイン語 El sitio web de AdSense de Google no se encuentra disponible en estos momentos. Por favor, inténtelo de nuevo más tarde. Disculpe las molestias.
6中国語(簡体字) Google AdSense 网站暂时无法浏览。请您稍候再尝试。 对于造成您的不便我们感到抱歉。
7イタリア語 Il sito AdSense di Google è temporaneamente non disponibile. La preghiamo di provare più tardi. Ci scusiamo per il disagio.
8オランダ語 De website van Google AdSense is tijdelijk niet beschikbaar. Probeert u het later opnieuw. Onze excuses voor het eventuele ongemak.
9トルコ語 Google AdSense Sayfası geçici olarak hizmet dışıdır. Lütfen, daha sonra tekrar deneyin. Bu geçici sorundan dolayı özür dileriz.
10ポルトガル語 O site do Google AdSense não está disponível no momento. Tente novamente mais tarde. Pedimos desculpas pelo inconveniente.
11英語 The Google AdSense website is temporarily unavailable. Please try back later. We apologise for any inconvenience.
12ポーランド語 Witryna programu Google AdSense jest chwilowo niedostępna. Prosimy spróbuj później. Przepraszamy za wszelkie niedogodności.
13ロシア語 Веб-сайт Google AdSense временно недоступен. Попробуйте, пожалуйста, еще раз через несколько минут. Мы приносим свои извинения за причиненные неудобства.
14スウェーデン語 Google AdSense webbplats är för tillfället inte tillgänglig. Försök igen senare. Vi ber om ursäkt för eventuellt besvär.
15デンマーク語 Google AdSense-webstedet er ikke tilgængeligt i øjeblikket. Prøv igen senere. Vi beklager ulejligheden.
16韓国語 Google AdSense 웹사이트를 일시적으로 사용하실 수 없습니다 . 나중에 다시 시도해 보십시오 . 불편을 끼쳐드려 죄송합니다 .
17ノルウェー語 Google AdSense-webområdet er midlertidig utilgjengelig. Prøv igjen senere. Vi beklager eventuelle problemer dette medfører.
18中国語(繁体字) Google AdSense 網站暫時無法瀏覽。請您稍候再嘗試。 對於造成您的不便我們感到抱歉。
19ハンガリー語 A Google AdSense oldal jelenleg nem elérhető. Kérjük, látogasson vissza később. Elnézést kérünk az esetleges kellemetlenségekért.
20フィンランド語 Google AdSense –sivusto ei väliaikaisesti ole saatavilla. Yritä myöhemmin uudelleen. Pahoittelemme tämän aiheuttamaa hankaluutta.
21チェコ語 Stránka Google AdSense je dočasně nedostupná. Zkuste to později. Omlouváme se za způsobené nepříjemnosti.
22スロバキア語 Stránka Google AdSense je dočasne nedostupná. Skúste neskôr, prosím. Ospravedlňujeme sa za spôsobené nepríjemnosti.
23クロアチア語 Google AdSense sučelje trenutno je nedostupno. Molimo Vas pokušajte kasnije. Ispričavamo se za neugodnosti.
24アラビア語 إن موقع Google AdSense غير متوفر حاليا. يرجى تكرار المحاولة لاحقا. نعتذر عن أي إزعا
25ヘブライ語 אתר Google AdSense איננו זמין כרגע. אנו מצטערים על אי הנוחות. אנא נסה שנית מאוחר יותר.
26ブルガリア語 Google AdSense уебсайта е временно недостъпен. Моля опитайте по-късно. Извиняваме се за неудобството.
27ギリシャ語 Η ιστοσελίδα του Google AdSense δεν είναι διαθέσιμη προς το παρόν. Παρακαλώ δοκιμάστε αργότερα. Ζητούμε συγγνώμη για την ενόχληση.

あてくしの限られた語学で判別しましたので間違ってるのがあるかも! 間違ってたら教えてくださいね。しかし、どういう基準で選んだんだろうね、この27箇国語。

参考文献

  1. アドセンスのエラーメッセージ
  2. 国・機関のコードリスト

Friday, September 28, 2007

FastladderにもiPhone/iPod touch用のインターフェースが!

livedoor ReaderにiPhone/iPod touch用のインターフェースがついた、という記事(参考文献[1])を読んで、わたしが愛用するFastladderにもついてないのかなー、とおもって試したら使えるみたいだったので書いておきます。

まずふつうのバージョンのFastladderをiPod touchでみてみる。

fastladder on ipod touch

写真1. iPod touchでふつうのFastladder

一応、ちゃんと動くんだけど、問題点がいくつかあります。

  1. ショートカットキーが使えない
  2. 右ペイン(記事画面)がスクロールできない

ようするにちゃんと記事が読めない! どうなってんのー。とおもってたら、参考文献[1]によると以下のURLで「livedoor Reader lite」が動くらしい。

えー、じゃあ、そういうアナウンスはないけど、ひそかにFastladderでもつかえたりして! と思って以下のURLにアクセスしてみた。

その画面がこれ。

fastladder lite on iPod touch

写真2. iPod touchでFastladder lite

おー、うごくじゃーん。ただ参考文献[1]にも書いてありますが、「新着チェック」用の簡易インターフェースなので、こちらから読んでも「未読」の状態のままです。正規のインターフェースから読まないと「既読」になりません。どんどんたまっていくー。並び順は「更新時期」のみです。そのなかから、フォルダーとレイティングで絞り込みができます。

いつものインターフェースと使い方が変わってしまうのでちょっと戸惑いますが、出先でちょっとだけチェックするのには使えるかもー。皆さんもつかってみよう!

参考文献

  1. iPhone/iPod touch対応の「livedoor Reader lite」, livedoor Reader 開発日誌, 2007
Apple iPod touch 16GB MA627J/A



Tuesday, August 28, 2007

さくらのレンタルサーバでRuby on Railsをうごかしてみた...らかなり遅いかも...

その1その2さくらのレンタルサーバにRuby on Railsをインストールして、 動作確認をするところまでやりました。今回は簡単なアプリケーションを作って、どれぐらいの速度で うごくのか確かめてみたいと思います。題材は「ToDoリスト」です。

その2の続きで、$HOME/Railsの下にTodoというアプリケーションを作ります。

% cd ~/Rails
% rails Todo

mySQLで「todos」という名前のテーブルを作っておきます。sqlサーバー、ユーザー名、パスワード、DB名はそれぞれ自分のものにかえてください。

% mysql --host=mysqlhoge.db.sakura.ne.jp --user=xxxx --password=yyyy xxxx
...
mysql> create table todos (
  -> id int primary key not null auto_increment,
  -> desctiption varchar(100) not null,
  -> done tinyint not null default 0);
Query OK, 0 rows affected (0.03 sec)

mysql> desc todos;
+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| id          | int(11)      |      | PRI | NULL    | auto_increment |
| desctiption | varchar(100) |      |     |         |                |
| done        | tinyint(4)   |      |     | 0       |                |
+-------------+--------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

テーブルが出来たら、各種設定です。

  1. config/environment.rbの設定
  2. public/.htaccessの設定
  3. tmpとlogのパーミッション
  4. config/database.ymlの設定

(1)(2)(3)はその2に詳しいので、そちらをご参照の上、設定してください。(4)は、DBの設定です。 development:とtest:とproduction:の3セクションがありますが、今回はdevelopment:を下記のように 設定します。

development:
adapter: mysql
database: xxxx
username: xxxx
password: yyyy
host: mysqlxx.db.sakura.ne.jp

次にアプリケーションのモデルとコントローラーを生成します。

% cd ~/Rails/Todo
% ruby script/generate model Todo
% ruby script/generate controller todo

詳しい説明は省きますが ^^;; app/controllers/todo_controller.rb を以下のようなかんじにします。

% cat app/controllers/todo_controller.rb
class TodoController < ApplicationController
 model :todo
 def index
   redirect_to :action => :list
 end
 def list
   @items = Todo.find_all
   @newitem = Todo.new
 end
 def edit
  @edititem = Todo.find(params[:id])
 end
 def update
  item = Todo.find(params[:id])
  item.update_attributes(params[:todo])
  if item.save
        redirect_to(:action => "list")
  else
        render_text "Couldn't update an item"
  end
 end
 def add_item
  item = Todo.new(params[:todo])
  if item.save
        redirect_to(:action => "list")
  else
        render_text "Couldn't add new item"
  end
 end
end

app/views/todo/edit.rhtmlを下記のように。

% cat app/views/todo/edit.rhtml
<html>
  <head>
    <title>Edit an item - My todo list</title>
  </head>
 
  <body>
  Edit the item:<br>
  <% form_for :todo, @edititem, :url => { :action => :update , :id => @edititem } do |f| %>
    <%= f.check_box :done %>
    <%= f.text_field :description %>
    <%= submit_tag 'Update' %>
  <% end %>
  </body>
</html>

app/views/todo/list.rhtmlを下記のように。

% cat app/views/todo/list.rhtml
<html>
  <head>
    <title>My todo list</title>
  </head>
 
  <body>
    <% @items.each do |i| %>
    <%= check_box_tag("i", i.done, (i.done == 1)) %>
    <%= i.description %>
    <%= link_to("Edit", :action => "edit", :id => i.id) %>
    <br />
    <% end %>
  <hr>                                                   
  <% form_for :todo, @newitem, :url => { :action => :add_item } do |f| %>
    New item:
    <%= f.text_field :description %>
    <%= submit_tag 'Add item' %>
  <% end %>
  </body>
</html>

config/routes.rbに下の2行を追加。

map.connect '', :controller => "todo"
map.connect 'list', :controller => "todo", :action => 'list'

webで見られるところから、publicにシンボリックリンクを張る。

% ln -s /home/xxxx/Rails/Todo/public ~/www/todo

そんなこんなで完成。「My todo list」でうごいています。みてみるとわかりますが、かなり遅い。リロードに3秒ぐらいかかりますね。さくらのレンタルサーバーはfcgiが使えなくって、cgiなのが原因みたい。ちょっとこの遅さではツカエナイカモ...

参考文献

  1. テスト
  2. さくらのレンタルサーバーにRuby on Railsをインストールする方法
  3. さくらのレンタルサーバーにRuby on Railsをインストールする方法 その2
  4. Rail's wiki

Thursday, August 23, 2007

Firefoxでしたまでスクロールすると自動でページをめくってもらえるスクリプト(AutoPagerize)

2008/12/23追記:現在autopagerizeがうまく動かないようです。詳しい対処法は autopagerizeが動かなくなった時の対処法をご覧ください。


今日は面白いものを教えてもらったのでメモっておきます。

たとえばGoogleで検索したとき、デフォルトの1ページ表示数10件のなかに希望のものがなかった場合、 次のページに簡単にいけたらいいなー、とおもいませんか? わたしはsite:をつかって検索したとき、 なにがインデックスされてるのかざっと見たいだけなのに、いちいちポチポチ「次へ」をおすのが めんどくさいなあ、とおもってました。そこでこれだ! AutoPagerize。一番下までスクロールすると、 自動で次のページがつながって表示されます。言葉で説明するとよくわからんが、図で見るとこんなかんじ。

autopagerize.jpg

図1. GoogleにてAutoPagerize動作中

まんなかの線から下が勝手につながった「次」のページです。便利かも。Googleだけじゃなくて、

hatena.jpg

図2. はてな注目のエントリーにてAutoPagerize動作中

flickr.jpg

図3. FlickrにてAutoPagerize動作中

というように、いろいろなサイトに対応しています。詳しくはAutoPagerizeのSITEINFOデータのページをみればわかる。というわけで、インストールしよう。

AutoPagerizeはGreasemonkeyのスクリプトなので、Firefoxじゃないとだめです。またGreasemonkeyの アドオンをいれていないひとは、まずGreasemonkeyをいれましょう。Firefox Add-ons - Greasemonkeyに 行って、緑の「インストール」ボタンを押し、そのあと出てくるダイアログの「今すぐインストール」を 押します。

greasemonkey.jpg

図4. Greasemonkeyのインストール

インストールが終わるとFirefoxの再起動を求められますから、再起動しましょう。再起動して 立ち上がってくると、右下におサルさんのアイコンが出るはず。

monkey.jpg

図5. おさるのアイコンほいさっさ

この状態になったらつぎはAutoPagerizeのインストールです。AutoPagerizeのページにいって、 わかりにくいけど右側の黒い「Install this script」を押し、出てくるダイアログで 「インストール」を押します。

autopagerize-install.jpg

図6. AutoPagerizeのインストール

これにてインストール完了。これであなたもAutoPagerizestだ! (なにそれ)。AutoPagerizestのキミなら、2ちゃんねるをこえる日本最大の釣り堀との呼び声もたかいあのサイトも! ↓

komachi.jpg

図7. 発言小町でAutoPagerize中

おおっ。結構便利。かも? みなさんもごかつようあれー。

参考文献

  1. Firefox Add-ons - Greasemonkey
  2. AutoPagerize
  3. AutoPagerizeのSITEINFOのページ