レンタルサーバでのサーバ構築管理

内容 レンタルサーバでのサーバ構築管理
期間 1999年11月 − 2000年12月
OS Solaris, Linux
言語 Perl, PHP, シェルスクリプト
アプリ Apache, BIND, Sendmail, PostgreSQL, Majordomo, Realサーバ, CyberCache
ハード Sun Enterprise450, Sun Ultra5/10

レンタルサーバ会社での勤務で、主な仕事はウェブサーバやメールサーバの構築でした。
技術者は自分を含めて3-4人、デザイナーが1人、総務が1人、社長が1人という会社でした。
ここのレンタルサーバはサーバがSolarisなのを売り物にしていて、当時、OSはSolais2.6、ハードはSun Enterprise 450やNetraもありましたが、台数が多かったのはUltra 5でした。

今だとUltra 5のようなワークステーションをサーバにするレンタルサーバ業者はないでしょうが(というよりもSolarisをウェブサーバにしてるところがない?)、当時はSolarisを安く動かせるということで、Ultra 5を使ってました。
会社にはUltra 5 が何台も積み上げられていて、週に何度も、マシンにOSをインストールして、ApacheやSendmailをインストールして、レンタルサーバの管理用のCGIをインストールして、それをデータセンターに設置しに行ってました。

sun ultra 5会社は大手町と神田の中間にあり、データセンターはKDD大手町ビル(当時はKDDとDDIは別会社)で、歩いて10分程度。
むき出しのUltra 5を手で持ってKDDビルまで歩いて行くんですが、Ultra 5は微妙に重く、途中の鎌倉橋あたりで必ず休憩をしてました。

KDD(KDDI)ビルは当時(も今も?)インターネットの中心で、自分たちがハウジングしてるラック以外には、誰でも知ってる某検索エンジンサイトなど錚々たる顔ぶれでしたが、セキュリティは非常に甘かったです。
本来は、事前に入館予定のFAXを送り、ビルに入る際に守衛さんに入館証を見せて入館するんですが、急いでる時は、「すいません、FAX送ってないんですが、緊急なんで!入館証は忘れました。」と言って名刺を見せるだけで入れました!

当時のインターネット業界はまだ牧歌的でした。
あれから10年。
何も変わってないような、すべてが変わってしまったような…。

PostgreSQLしくみ勉強会に参加

先週の土曜日、PostgreSQLしくみ勉強会に参加してきた。

会場の産業技術大学院大学
会場の産業技術大学院大学

2本立てで構成されていて、最初はチューニングの話。
ここに資料がある。
かなり高度な内容で参考になったが、遅刻してしまい、半分くらいしか話が聞けなかったのは今回の反省点。

チューニングの話の後、plploxyとpgbouncerというPostgreSQLのロードバランシング(レプリケーション)の話だった。
事前の内容説明で、タイトルが 『 plploxy + pgbouncerについて(ハンズオン) 』 となっていて、ハンズオンって何だろう?って思っていたのだが、会場には備え付けのPCにPostgreSQLを用意されており、講師の人の説明を受けながら、実際にplploxyやpgbouncerをインストール、設定してみる形式だった。
こういうのをハンズオンというのか。
会場で配布されたOpenSolarisのブータブルCDでSolarisを起動し、そこから仮想OS環境のCentOSを起動して、PostgreSQLにアクセスするという複雑な構成。
講師の人は、どこそこのファイルに実行権を与えてシェルスクリプトを実行しろとか、普通にターミナルの操作を要求してくるので、諦めて話しを聞いてるだけの参加者も結構いたような。
講師は、桑村潤さんという方で、そう言えば名前を聞いたことがあるなと思ったが、マンモス本書いてた人なのか。
桑村さんがターミナルの操作をする様子は、前面の大きなプロジェクターに映し出されてたんだけど、テキストファイルを閲覧するのに(lessやlvじゃなくて)moreを使っていた。うーん、いまどきmoreか・・・と。
伝統的なUNIX使いなんでしょうね。

Catalyst(またはPerl)のドキュメント

Catalyst(Perlで一番メジャーなウェブフレームワーク)を採用しているサイトの追加開発をしてる。
以前買ってあまり読まずにいた『モダンPerl入門』を読みながら、Catalystを学習している。
本で足りない部分を補うために、ネットで検索して、Perl開発者のブログの記事を参考にしている。
「はてなブックマーク」(http://b.hatena.ne.jp/t/catalyst?sort=)の中から、めぼしい物を適当に読んでるけれど、ブログだから内容が断片的で、古い記事だと今では非推奨な方法で書いてあったりするので注意が必要。

Perlって、Catalystに限らず(と言っても、他にメジャーなのはCGI::Appぐらいだけど)フレームワークの本ってあまりない。
PHPのCakeやZend、RubyのRoR、JavaのStruts、C#のASP.NETなどは、専門の本がたくさん出てるのに。
何でフレームワークの本がないんだろうって理由を考えると、Perlライブラリの流行が早くて、本を作ってもすぐに内容が陳腐化するからというのもその一つでは?
Perl本体は5.8のリリースからもう7年も経っていて大きな変化はないけれど、ライブラリは似た機能のライブラリがCPANに次々にリリースされる。
Perlだけ追っかけてる分にはいいだろうけど、たまにしかPerl触らないとついて行けない。系統だった学習が出来るように、もう少し整理されたドキュメントが必要じゃないかなと思う。
CPANのドキュメントは詳しいことはソースを読めみたいな感じだし。
PHPが普及した理由って、日本語のドキュメントが大量にある事が大きいと思う。

JavaScriptの勉強でBresenhamアルゴリズムを知る

最近はJavaScriptの勉強をしてる。
一応仕事のためで、マストで必要ってわけじゃなかったけど、どうせならJavaScript使って見るか!ってことで。
教材にしたのは、この、TinyTable(http://www.leigeber.com/2009/03/table-sorter)というテーブル(表)を任意のカラムでソートするためのライブラリ。
これはとても良くできていて、このまま使っても良かったんだけど、ソースコードを見てみると、変数名が短くて意味不明だったり、実行速度を上げるため?なのか分かりづらい処理があったので、若干機能を修正して移植してみた。
車輪の再発明ってやつ。

もう一つは、グラフ表示のライブラリというか、コードプロジェクトのチュートリアル記事(http://www.codeproject.com/KB/scripting/javascriptlinedrawing.aspx)。
前にFlashの勉強をした時も思ったけど、グラフィックのプログラミングすると、数学の能力が求められるなって。
昔、♪サインコサイン何になる〜って受験生の歌があったと思うけど、やっぱ数学は大事だよ!
この記事では、グラフを描くのにBresenhamアルゴリズムというのを利用している。
解説を読むとああそうかって思うけど、こういうのを自分で思いつくBresenhamさんは賢い人なんだろうなあ。

wikiの文法

仕事で調べたメモをPukiwikiで公開してるんだけど、Pukiwikiの文法って、小気味いいと思う。
*1個でH1タグ、**2個でH2タグって自明だし、−でULタグ、+でOLタグっていうのも、納得がいく。
HTMLに変換しなくても、Pukiwikiの文法が残ってるテキストの状態でも見やすいのがいい。
行頭にスペース1個でPREタグになるのも、そういう点でよい。
Pukiwiki以外のwikiの文法に詳しいわけじゃないけど、とりあえずTracのwikiの文法は酷いと思う。
何であんなにしちゃったんだろう。