Googleを支える技術

なんだか話題になっていたらしい本です。遅ればせながら読んでみました。
内容はというと

  • 第1章 Googleの誕生
  • 第2章 Googleの大規模化
  • 第3章 Googleの分散ストレージ
  • 第4章 Googleの分散データ処理
  • 第5章 Googleの運用コスト
  • 第6章 Googleの開発体制

と、ソフトウェアの話からハードウェアの話までテンコ盛りです。
特にGoogleの初期のころのページ収集・インデックス化・検索エンジンについての解説は今までなんとなくしか理解していなかった部分が詳細に説明されており、今後の参考になりそうな気がしました。
あと、ハードディスクについてのGoogleの調査についてはこれまでの説を覆すような結果が出ているのが面白かったり、大規模なDC運用ならではの理論・テクニックが書かれています。
読んでも損はないと思いますが、多少内容がコユイところもあるので時間のあるときにじっくり読みたい一冊です。

関連記事:

タグ:

qmail + vpopmail で SMTP-AUTH

なんか今更qmailもナシかなぁと思いつつもSMTP認証を導入してみることにしました。
Portは587番で立ち上げて、submission対応です。

少し調べたところ、qmail-smtpdにパッチをあてて認証対応してしまうのがシンプルなようです。
ソースは以下からダウンロード。

# wget http://members.elysium.pl/brush/qmail-smtpd-auth/dist/qmail-smtpd-auth-0.31.tar.gz
# tar xzf qmail-smtpd-auth-0.31.tar.gz
# cp qmail-smtpd-auth-0.31/* qmail-1.03
※解凍済みのqmail本体のディレクトリにソースをコピーする
# patch < auth.patch # make clean # make # cp qmail-smtpd /var/qmail/bin/qmail-smtp-auth ※既存のqmail-smtpdと別個にしたいので、手動で別名コピー

ここまででとりあえず準備は完了です。

次に、vpopmailのvchkpwプログラムの権限を変更しておきます。
これをやらないと動かないようです(ログも吐かないので全然わからんかった・・)。
# cd ~vpopmail/bin
# chmod 4755 vchkpw
# chown root:root vchkpw

最後に、qmailの起動スクリプトを修正(追加)して完了です。

# Start smtpd-auth
exec env - PATH="$PATH" \
tcpserver -v -HR -x /etc/tcp.smtp.cdb \
-u qmaild -g nofiles 0 587 qmail-smtpd-auth mail.lumieir.net vchkpw /bin/true 2>&1 \
| /var/qmail/bin/splogger smtpd 2 &

関連記事:

  • ありません
タグ: , ,

Google検索結果から検索順位を取得する方法

完全に覚え書き。Google検索結果から検索順位を取得する方法。PC。

Googleであるワードで検索する。その検索結果一覧から、目的のページの順位が何位か知りたいとき、検索結果のソースを表示する。たとえばこのブログを見つける目的で「記憶より記録」で検索してみたら以下みたいなソースになるんだけど、

(略)<h3 class=r><a href="http://lumieir.net/blog/" class=l onmousedown="return clk(this.href,'','','res','47','&amp;sig2=lMnTRIuF0sdMhpsN8jChig')"><em>記憶より記録</em></a></h3>(略)
Aタグ内のonmousedownで呼ばれるclk関数の5番目の引数が順位になっている。

関連記事:

  • ありません
タグ: , ,

GNU Emacs 23.1 に php-mode導入でハマる

emacs-23.1をインストールしました。とりあえずphp-mode入れないと、と思って導入してみたところ起動時にエラー発生。
完全に備忘録ですが順を追って記載していきます。

php-mode自体のダウンロードはコチラから。

まずは導入から。ダウンロードして解凍して設置するだけです。
# cd /usr/local/src
# wget http://downloads.sourceforge.net/project/php-mode/php-mode/1.5.0/php-mode-1.5.0.tar.gz
# tar xzf php-mode-1.5.0.tar.gz
# cd /usr/local/share/emacs/site-lisp/
# cp /usr/local/src/php-mode-1.5.0/php-mode.el .

次に試し起動。すると・・・
# emacs
[Warning]
Warning (initialization): An error occurred while loading `/root/.emacs':
error: `c-lang-defconst' must be used in a file

と表示されます。

いろいろ調べまわって、.emacsを以下のように修正することで解消できました。
;(require 'php-mode) ←修正前
(autoload 'php-mode "php-mode" "Major mode for editing php code." t) ←修正後

requireとautoloadでどんな違いがあるのかは調べれてないのですが、上記で完了。

また、同様に修正が必要だったものでは
;; C-hでバックスペース
;(load-library "term/keyswap") ←修正前
(load-library "keyswap") ←修正後
(if (eq window-system 'x)
(progn
(define-key function-key-map [delete] [8])
(put 'delete 'ascii-character 8))
)

ってのもありました。

関連記事:

タグ: ,

GNU Emacs 23.1 インストール

CentOS 5.2についてくるemacsがUTF-8に対応していないので、インストールし直すことにしました。
世の中、どこもかしこもUTF-8ですなぁ。。

ソースはRing Server Projectさんからいただきます。

# wget http://www.t.ring.gr.jp/archives/GNU/emacs/emacs-23.1.tar.bz2
# tar xjf emacs-23.1.tar.bz2
# cd emacs-23.1/
# ./configure
(略)
configure: error: The following required libraries were not found:
libXpm libgif/libungif libtiff
Maybe some development libraries/packages are missing?
If you don't want to link with them give
--with-xpm=no --with-gif=no --with-tiff=no
as options to configure

と、ここでエラーが発生してしまいました。いつかのバージョンから画像の表示などが出来るようになったらしいので、その関係なのかgifやtiffのライブラリなどがないとおっしゃっています。面倒なのでyumで入れちゃいます。yum便利。yumサイコー。
# yum install libXpm-devel.i386
# yum install giflib-devel.i386
# yum install libtiff-devel.i386
# ./configure
(略)
configure: creating ./config.status
config.status: creating Makefile
config.status: creating lib-src/Makefile.c
config.status: creating oldXMenu/Makefile
config.status: creating doc/emacs/Makefile
config.status: creating doc/misc/Makefile
config.status: creating doc/lispintro/Makefile
config.status: creating doc/lispref/Makefile
config.status: creating src/Makefile.c
config.status: creating lwlib/Makefile
config.status: creating lisp/Makefile
config.status: creating leim/Makefile
config.status: creating src/config.h
config.status: executing default commands
creating src/epaths.h
creating lib-src/Makefile
creating src/Makefile

今度はうまくいったようです。サクサクmakeしてしまいます。
# make
# ./src/emacs -q
問題なく起動出来るかテスト
# make install

以上です。次はphp-mode導入時のエラーについて。

関連記事:

タグ: ,
Top