Firefoxの起動を速くするSQLite Optimizer

2009 年 5 月 17 日 oinume コメントはありません

Firefoxは使っているうちになんとなく起動速度が遅くなっていくような傾向がありますが、起動を速くするアドオンSQLite Optimizerを見つけました。(詳しくはこちら)

インストールしてから[ツール]->[アドオン]->[SQLite Optimizer]の設定を開いて[今すぐREINDEXを実行する]をクリックすると、以降Firefoxの起動が速くなります。自分の場合、賞味2秒ぐらいかかっていたものが1秒ぐらいになって、体感できるぐらい起動が速くなりました。インデックス作り直すだけでこんなに速くなるものなんですねぇ。

カテゴリー: Firefox タグ:

先送り癖をなくす

2009 年 5 月 13 日 oinume コメントはありません

THE 21 2009年5月号の記事に「すぐやる人=できる人」は世界共通の法則だ!という記事があって、その中の言葉に「メールを読み、そのメールをすぐ処理せず優先度を決めている人がいるが、結局優先度を決めるために1回、実際にメールを処理する際に1回、合計2回メールを読むことになり非効率だ」的なことが書いてありました。それを見てなんと目から鱗がおちたことか…

自分も「一番重要なこと」を判断するために優先度を決めてやっていましたが、最初に優先度を決める段階でその件についてはすでに色々考えているので、そこで処理できるものは処理してしまう方が無駄なコンテキストスイッチがない分非常に効率的だと思うようになりました。というわけで最近それを実施しています。

本当に仕事が早くなったかは計測していないのでわかりませんが、すぐできることはその場でやるようにしたため、「これとあれをあとでやらなきゃいけない」的なことが頭の中からなくなり精神衛生上はすごく楽になったと思います。下手に先送りせず、その場で処理する癖をつけるといいことがあるかもよ、というエントリーでした。

カテゴリー: 日記 タグ:

Muninでサーバのリソース監視

2009 年 5 月 6 日 oinume コメント 3 件

サーバのリソース監視&グラフ化を行なうソフトウェアは色々ありますが、今日は導入が簡単と言われているMuninを紹介したいと思います。

個人的に感じているMuninの良い点としては

  • インストール&初期設定が簡単
  • デフォルトで監視できる対象が多い
  • プラグイン機構があり、任意のリソースのグラフ化が可能

が挙げられます。仕事で使うのは Cacti とかがいいと思いますが、個人利用としては Munin はとてもお手軽でおすすめです。

インストール

Ubuntu Linuxだとdebパッケージがあるのでaptitudeでインストールするだけです(Fedore CoreやCentOSにもRPMがあります)。

$ sudo aptitude install munin

インストールしたら、munin-nodeというプログラムが起動しているかどうかを調べます。

$ ps auxww |grep munin-node

もし起動していない場合は下記の要領で起動しておきましょう。

$ sudo /etc/init.d/munin-node start

設定

Muninは munin-node というサーバに常駐してリソースの情報を集めるエージェントと、そのエージェントから情報を集約してリソースの状況をグラフ化する munin 本体の2つがあります。今回は1台のサーバを監視するので特に意識する必要はありませんが、サーバが複数台になった場合は、munin-node を監視したいサーバにインストールする必要があります。

なお、Munin自体はデフォルトのままでも使用できますが、 Muninが /var/www/munin/ に生成したグラフのファイルをブラウザから見れるように、Apacheに以下の設定を追加します。

Alias /munin/ /var/www/munin/
<Directory "/var/www/munin">
    Options Indexes +SymLinksIfOwnerMatch MultiViews ExecCGI
    AllowOverride FileInfo AuthConfig Limit Indexes
    Order allow,deny
    Allow from all
</Directory>

設定したら Apache を再起動します。5分ぐらい待ってから http://yourhost/munin/ をブラウザで開くと下記のような画面が表示されるかと思います。待てないせっかちな人は下記を実行してみてください(muninのHTMLが生成されます)。

$ sudo -u munin munin-cron

Munin Top

監視したいリソースの追加

デフォルトでは Munin にはApacheやMySQLなどの状況をグラフ化するプラグインが付属しているので、これを有効にしてみましょう。例えば Apache 関連のものは

$ sudo ln -s /usr/share/munin/plugins/apache_* /etc/munin/plugins/

のように、/etc/munin/plugins/の下にpluginのシンボリックリンクを貼るだけで監視対象とすることができます。あ、ただ munin-node の再起動が必要ですが…

$ sudo /etc/init.d/munin-node restart

なお、グラフが更新されるのは5分に1回なので、監視対象を追加した場合反映されるのは5分後になります。以下は apache_accesses の状況です。

MuninでApacheのリソース監視

プラグインのダウンロード

デフォルトでもかなりの数のプラグインが揃っていますが、memcachedなどのリソース監視を行うプラグインもあります。そのような野良プラグインはMuninExchangeにアップされているので、使えそうなものがないかチェックしておくと良いでしょう。

まとめ

Muninのお手軽さが少しは伝わったでしょうか?日本語の情報はあまりありませんが、Munin自体はとてもシンプルかつ導入が簡単なので、「試しに入れてみよう」というとっかかりになれば幸いです。プラグインで任意のリソースをグラフ化することができるのも大きなメリットなので、時間があったらプラグインの書き方でも説明したいと思います。

カテゴリー: Munin タグ:

「ウェブユーザビリティの法則 改訂第2版」を読みました

2009 年 5 月 6 日 oinume コメントはありません

ウェブユーザビリティの法則 改訂第2版

著者/訳者:スティーブ・クルーグ

出版社:ソフトバンククリエイティブ( 2007-03-01 )

単行本 ( 256 ページ )


いまさら感が漂いますが、会社の同僚に借りて読んでみました。結論からいうとユーザビリティについて当たり前のことが簡潔にまとまっている良書です。自分用に一冊買おうかと思うぐらいでした。この本から学んだことはたくさんありましたが、記憶に残っている部分を箇条書きにしておきます。

  • ユーザに考えさせない: 言葉は直感的にわかるものを選んで使用する。何の情報がどこにあるかを明確にしておく。ボタンはクリックできるものだとユーザが認識できるようにデザインする。
  • 人はページ内の文章は読まない。ざっと読むだけ: ユーザは大抵急いでいるので全ての文章を読んだりしない。
  • サイトの左上のロゴ(ID)は重要: ユーザは自分が今どのサイトにいるのかわかるようにするため。
  • ユーザビリティテストは難しくない: ユーザビリティテストには何十人も必要なわけではない。たとえ一人だけのテストでもやらないよりは100%マシ。
  • ユーザをもてなす心が大事: ユーザに不要な情報を入力させたりしないこと。プライバシーに関する情報を過度に取得するとユーザの信頼を失う。

とにかく、今までこんないい本を読んでいなかったことが非常に悔やまれるぐらいのいい本です。

カテゴリー: タグ:

サーバリプレース時にWordPressの移行ではまったこと

2009 年 5 月 3 日 oinume コメントはありません

昨日のサーバリプレースでこのブログの移行も行なったのですが、

  • データはMySQLのデータベースに保存されているので、mysqldumpしてそれを新しいサーバでインポート
  • WordPressのファイルは rsync で一括転送

して動作確認をしていたところ、どうも wp-admin の管理画面からログインすると

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 71 bytes) in /path-to-wordpress/wp-includes/gettext.php on line 91

というエラーが… メモリがオーバフローしているみたいなのでググってみると「php.iniのmemory_limitを増やせば直る」とか書いてあるのですが、それをやっても全然直らずに途方に暮れていました。もしかすると i386 -> amd64 のアーキテクチャ変更がまずかったのか?とあたりをつけて色々試してみたところ、WordPressの管理画面の言語を ja から en に変更したらあっさり直りました!

具体的には wp-config.php の以下の部分を修正。

@@ -29,7 +29,7 @@
 // と設定すると、日本語 (UTF-8) がサポートされます。
 // (訳注: このパッケージでは日本語 (UTF-8) が設定されているので、そのままお使いの場合は
 // 変更する必要はありません。)
-define ('WPLANG', 'ja');
+define ('WPLANG', 'en');

いやはや、もう再インストールを覚悟していたので、問題回避できただけでもよかったです。日本語リソースの ja.mo が悪さをしていたのでしょうか?本当の原因がわかってないのが気持ち悪いですが、とりあえず良しとします。

カテゴリー: WordPress タグ:

Ubuntu Linux 64bit版で32bit向けバイナリを使えるようにする

2009 年 5 月 3 日 oinume コメントはありません

今回このブログのサーバをリプレースするにあたり、Ubuntu Linuxを32bitから64bit(amd64)にしたのですが、64bit環境で32bit向けのi386バイナリを実行する必要があったのでその方法をメモしておきます。結論から書くと

$ sudo aptitude install ia32-libs

して ia32-libs というパッケージをインストールするだけで、32bit向けのバイナリが64bit環境で実行できるようになります。

なんでこれが必要だったかというと、Dynamic DNSのIP更新ツールとしてDiCE for Linuxを使用していて、これだけは32bit向けのバイナリしか配布しておらず、64bit環境で実行しようとすると下記のエラーが出てしまっていました。

$ sudo /usr/local/DiCE/diced -e0
sudo: unable to execute /usr/local/DiCE/diced: No such file or directory

どうしたものかなと思ってググってみると、Adobe Flashなどの32ビットアプリケーションを64ビットLinux上で利用するという記事を発見して ia32-libs の存在を知りました。こういうのもちゃんとパッケージ化されていて一発でインストールできるのがDebianの素晴らしいところですね。

カテゴリー: Ubuntu タグ:

WordPressのテーマをHello :Dに変更

2009 年 5 月 2 日 oinume コメントはありません

長らく使用していたiNoveですが、黒とグレーで覆われたカラーがダークな印象を与えているようで嫌だったので、もうちょっと優しい色のテーマを探していました。色々探したところHello :Dがなかなかいい色使いだったので重い腰を上げてテーマを変更。

デフォルトのままだと幾つか気になる点があったので以下の点を変更しました。これでだいぶ見やすくなってかなり満足です。

サイドバーのリンク

右側のサイドバーのリンクはアンダーラインがなくてリンクだと認識されにくかったので、下線を引くように修正しました。

Index: css/default.css
===================================================================
--- css/default.css     (revision 33)
+++ css/default.css     (working copy)
@@ -350,7 +354,6 @@
 
 #sidebar a {
 color: #333;
-text-decoration: none;
 }
 
 #sidebar a:hover {

既読リンクの色を変えるように

デフォルトでは未読リンクも既読リンクの色も同じだったのですが、個人的なユーザビリティ哲学として既読リンクはわかるようにしたかったので、これを紫にするように修正。

Index: css/default.css
===================================================================
--- css/default.css     (revision 33)
+++ css/default.css     (working copy)
@@ -38,7 +38,7 @@
 text-decoration: none;
 }
 
-h1 a:hover, h1 a:active {
+h1 a:hover, h1 a:active, h1 a:visited {
 color: #fff;
 }
 
@@ -130,6 +130,10 @@
 text-decoration: none;
 }
 
+a:visited {
+color: purple;
+}
+
 a {
 color: #0063DC;
 text-decoration: underline;
 
@@ -269,6 +269,11 @@
 text-decoration: underline;
 }
 
+.title h2 a:visited {
+color: #369
+text-decoration: none;
+}
+
 .postdata {
 color: #690;
 margin-left: 0.8em;

パンくず

iNoveではデフォルトで表示されていたパンくずですが、Hello :Dでは表示されないのでこれを表示されるように。

Index: single.php
===================================================================
--- single.php  (revision 33)
+++ single.php  (working copy)
@@ -3,7 +3,7 @@
 <div id="leftcolumn">
 
 <?php if (have_posts()) : ?>
-
+        <div style="padding: 0 15px 5px;" class="post_end"><a href="<?php echo get_option('home'); ?>">Home</a> &raquo; <?php the_category(', '); ?> &raquo; <?php the_title(); ?></div>
        <?php while (have_posts()) : the_post(); ?>
        <div class="post" id="post-<?php the_ID(); ?>">
                <div class="title">

ページメニューの強制大文字化を解除

ヘッダー部分のページメニューで “Apache” というページがなぜか “APACHE” となっていたのでこれを解除。つーか、ユーザが入力したページ名を尊重しようよ。

Index: css/default.css
===================================================================
--- css/default.css     (revision 36)
+++ css/default.css     (working copy)
@@ -181,7 +181,6 @@
 top: 25px;
 height: 35px;
 margin: 0;
-text-transform: uppercase;
 }

投稿内のh3タグをわかりやすく

投稿内で見出しとして使用するh3タグがあまり見出しとしての視認性を発揮していなかったので、サイドバーで使用されている画像をつけるように修正。

@@ -286,6 +291,8 @@
 
 .entry h3 {
 font-size: 1.3em;
+background: url(../images/widget_title.png) no-repeat;
+padding-left: 25px;
 }

ロードするjQueryのバージョンを変更

header.phpを見てみると、タグ内でGoogle AJAX Libraries API を使ってjQueryをロードしているのですが、jQueryのバージョンが1.2.6なのでこれを1.3にします。

Index: header.php
===================================================================
--- header.php  (revision 35)
+++ header.php  (working copy)
@@ -11,7 +11,7 @@
 <!--[if IE]><link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/ie.css" type="text/css" media="screen, projection" /><![endif]-->
 
 <script type="text/javascript" src="http://www.google.com/jsapi"></script>
-<script>
+<script type="text/javascript">
   // Load jQuery
-  google.load("jquery", "1.2.6");
+  google.load("jquery", "1.3");
 </script>
カテゴリー: WordPress タグ:
Pages: << 1 2 3 4 5 6 7 8 ...16 17 18 >>