2008年6月1日

MySQL5.0のクエリキャッシュについて->ドン引き

今、Software Design (ソフトウエア デザイン) 2008年 06月号 [雑誌]を読んでいて、衝撃の話しが載っていたので、備忘録として書いておく。。。
MySQL5.0までは、このプリペアードステートメントによって実行したSELECT文は、MySQLが持っているクエリキャッシュにヒットしないという弱点がありました。クエリキャッシュとは、SELECT文の実行結果をキャッシュしておいて、次回以降同じSELECT文が実行されたときに、それを実行せずにキャッシュしてある結果をそのまま返すという機能です。
 テーブルの中身が更新された場合はそのキャッシュが消滅しますが、読み取り主体のテーブルなどに対するアクセスでは非常に高い効果を発揮します。クエリキャッシュを使いたいという理由でプリペアードステートメントを使わないという方もいたと思いますが、MySQL5.1からは機能するようになっています。

〜 SoftwareDesign 2008/06 P131-132 より引用 〜
マジでぇ〜!!ORACLEとかと同じで、効くのかと思ってたよ、、。。今更と思うかもしれないが、、ちゃんと調べておかないと、いけないね、、、orz
うわぁ〜、今まで作ってた物は、全然キャッシュ効いてないって事かぁ、、、orz

2008年5月14日

Bloggerでも、はてブのコメントを表示する

masuidriveさんが、ステキツールを作成してくれたので、例の如く Blogger でも表示したいって事で、付けてみました。
手順としては、masuidrive on rails - ブログにはてブのコメントを表示するhatana_bookmark_anywhere.js を参照して頂くとして、一点だけ Blogger での注意点と、<div id="hatena_bookmark_anywhere" ></div> の設置場所について、私がやった方法を紹介します。

注意点
scriptタグ等の配置の際に、[カスタマイズ]→[レイアウト]→[HTML の編集]へ移動してから、チェックボックス[ウィジットのテンプレートを展開]をチェックしてから編集を行って下さい。

設置場所
各投稿のコメントの下に表示する場合は、<div id='main-wrapper'>の一番下あたりだと、ちょうど良い感じ??でしたので、だいたいの場所は、
  <div id='hatena_bookmark_anywhere'></div>
</div>

<div id='sidebar-wrapper'>
sidebar-wrapper の手前のdivタグが、main-wrapperの終了タグなので、その中に記述。

まったく、競合とか発生してないので、かなり良い感じです!!
masuidriveさん、アリガトウゴザイマス!!

と言っても、このブログに、はてブが、ほとんど付いて無いので、かなり寂しい感じだww

2008年5月5日

メモリ、認識してないじゃん。

FreeBSDインストールして、満足してたのですが、今日ふとメモリを見てたら、4GB乗せたはずなのに、2GBしか認識していなかった事に気づく、、BIOSで認識してたから、、安心してた。。迂闊だ、、。
っで、いろいろ調べてみたのだが、原因も対策もよくわからん、、。
とりあえず、やってみた事。

BIOSで、"Memory Remap Feature" を Enable で、BIOS 4GB認識 FreeBSD 2GB認識
BIOSで、"Memory Remap Feature" を disable で、BIOS 2.8GB認識 FreeBSD 2.8GB認識

とりあえず、BIOSで4GB認識しなきゃ意味ないから、Enableに戻したけど、、。
2GBしか認識されないって、、、。
環境詳細
CPU: Intel Core2 Quad 2.4GHz
メモリ: DIMM DDR2 SDRAM PC2-6400 2GBx2 (サムスン)
マザーボード: ASUS P5B-VM
OS: FreeBSD 7.0-RELEASE
んー、困った、、とりあえず、ここで止まるわけには、いかんので、作業を進めるか、、。

【追記 08/06/06】
インストールイメージの選択が、そもそも間違ってた、、orz
いつもi386使ってたので、何も気にせず使ってたのですが、今回のマシンは、Intel Core 2 Quad、Intel-64アーキテクチャというものなので、amd64版を入れなければいけない、、。。
FreeBSDのREADME.txtに、
AMD64 and Intel EM64T based PC hardware (amd64)
って書いてあった、、orz
amd64版入れたら、普通に4GBメモリ認識しました。。。ちなみに、i386版で、4GB以上認識させるには、kernelオプションで、PAEってのを有効にしてビルドかけないといけないらすぃ。。
※Intel-64は、EM64T base らしい、、詳しくは、Wikipedia@Intel 64 って事らしいです。

2008年3月22日

マシンのセットアップ

若干、前回紹介したスペックとは変わったけど、とりあえず、マシン動いた
Antecすごいね、静かすぎ、、初めて起動したとき、あまりの静かさに、大丈夫か心配なぐらいだったよ、、
外付けのHDDより静かで、かなりの衝撃w
っで、今、BIOSアップデートしてFreeBSD-7-RELEASEをインストールして、いくつかのディレクトリを、ZFSに変えました、、sysinstallは、zfsで構築サポートしてないので、いっかいUFSに構築してから、ZFSに移行した、けっこう、手間取った、、。
Minimalでインストールしたから、これから、いろいろと入れなければ、、しかも、まだネットには繋いでない、というか、ケーブルも無いし、今、Emobileしか入ってないので、自宅ように別途プロバイダ契約して、今日、やっとモデム来たところ、たぶん、今週中には、ネットに繋がる予定、ってか、繋げないとアプリのインストールめんどすぎだし、それまで、待ちだな、、。

2008年3月5日

自宅サーバー設置計画

いいかげん、自宅にサーバー置いて遊びたいよ、、という事で、いろいろ探し始めて、要求的には、常時稼働で静穏で、省スペース、省エネで、それなりに、性能の良いものを、、。っで、いろいろ探した結果、今のところ、こんな感じで行こうかなという、メモ書き的な構成。
ケース: Mini P180 (ガンメタル)
CPU: Core 2 Duo E8200 BOX
マザーボード: ASUS P5B-VM
メモリ: DIMM DDR2 SDRAM PC2-6400 1GB (サムスン)
HDD: IODATA HDI-SA250H7 (250G SATAII300 7200)

メモリは、2GB〜4GBで、HDDは2本を予定、できればミラーしたい、、だいたい8万〜9万円ぐらいかな?でも、ディスプレイとキーボード無いから、買わないと、、。ちなみに、キーボードは、IBM で探してて、トラックポイント付きのテンキーなしが良いかと、、でも、無いんだよなぁ、、探してるけど。。アキバに直接行って探した方が良いかも、、;
っで、OSは、FreeBSD 7.0 RELEASEにして、boot 以外を、ZFSにしようかと、、。
ってか、今まで自分で組み立てしたこと無いのに、いきなり、この構成で大丈夫か、かなり不安です。。
おかしい所とかあったら、ぜひツッコミをお願いします。。。

ケースは、良いもの選んだはずなので、一応、静穏できるはずだけど、、CPUファンとかHDDの回転音が、もしかしたら、ひどいかも、、でも、組んでみない事には、よくわからん、、何せ、初なので。。。

がんばれ俺。

2008年2月7日

Web2.0 が一番必要なところ、、

引用:Web 2.0は危険かも‥
極めて大雑把なガイドラインではあるが、Web2.0を導入するとしたらどの程度の割合が妥当と考えられるかを、ユーザエクスペリエンスのタイプ別に見てみよう。

* 情報発信系/マーケティング系ウェブサイト(企業、行政、非営利団体のサイトなど):10%
* eコマースサイト:20%
* メディアのサイト:30%
* イントラネット:40%
* アプリケーション:50%

アプリケーションで割合が高くなっているのは、ユーザが同じ操作を繰り返すため、リッチなUIの恩恵を受ける可能性が高くなると考えられるからだ。逆に、一般的なウェブサイトでは操作の繰り返しが非常に少ない。GUIを作り込んでショートカットを多用しても、操作が複雑になるばかりで、ユーザにとってはうま味が少ないのである。

ウェブサイトのユーザビリティにとって問題となるのは、ある操作に10秒かかるか、1秒で済むかという話ではない。どんな操作も、ユーザは一度か二度しか行わない。サイトが分かりにくくて思うように操作ができなかったときに失うこととなる5分とか10分が問題なのだ。(そんな経験を一度でもすれば、ユーザはたいていサイトを後にする。ビジネスチャンスが失われるということだ。) 一度限りの操作には、シンプルさが効率よりもずっと重要なのである。

上記の内容に非常に共感した、、イントラネットの業務アプリなど日々の繰り返し操作が非常に頻繁で、時間がお金に直結するような内容こそ、"Web2.0" ここで言うところの、Ajax などによるRIAの構築が急務であると感じている、自分の技術力がもっと高ければ、もっと迅速な開発により効果的な業務アプリケーションを構築できるのだろうと、、、。

2007年12月12日

Net::FTP::Simple

ダウンロードされるファイルは実行パスみたい、、指定はできない模様、、。。
まぁちょっと使う程度にはいいかも。
my @received_filtered_files = Net::FTP::Simple->retrieve_files({
username => $username,
password => $password,
server => $server,
remote_dir => $remote_dir,
debug_ftp => 1,
file_filter => qr/^2007/,
mode => 'ascii',
});
debug_ftp は、以下のような感じで出る。
Net::FTP=GLOB(0x300214d4)<<< 226 Transfer complete.
Net::FTP=GLOB(0x300214d4)>>> PORT 192,168,1,2,161,249
Net::FTP=GLOB(0x300214d4)<<< 200 PORT command successful
Net::FTP=GLOB(0x300214d4)>>> RETR 20070316.txt
Net::FTP=GLOB(0x300214d4)<<< 150 Opening ASCII mode data connection for 20070316.txt (35435 bytes)
Net::FTP=GLOB(0x300214d4)<<< 226 Transfer complete.
Net::FTP=GLOB(0x300214d4)>>> PORT 192,168,1,2,161,250
Net::FTP=GLOB(0x300214d4)<<< 200 PORT command successful
Net::FTP=GLOB(0x300214d4)>>> RETR 20070317.txt
Net::FTP=GLOB(0x300214d4)<<< 150 Opening ASCII mode data connection for 20070317.txt (114635226 bytes)
それにしても、インストールの時の依存モジュールの数ったら、結構、すごいね、、、(w;