ko31: 2007年9月アーカイブ

co.jpドメインを取る話を振られたので、JPRSに問い合わせたりしていろいろ調べていたのですが、

・1つの組織が登録できる属性型JPドメインは1つだけ。

・必ずしも社名に関連する文字列を付ける必要は無く、例えば商品名や代表者名から付けるのも可。
(ただし、他人や他社の名前、商品名、サービス名等を使用すると不正行為とみなされる場合があるので注意。)

といった、今まで分かっているようで分かってなかったことが確認できました。

商品名、サービス名をco.jpで取っている所ってどこかありますかね?
どこかで見たことがあるようなないような・・・。

9月23日~24日と新潟県は湯沢の温泉へ、泊まりで出かけてきました。
温泉はほんと気持ちいいですねぇ。
日頃の都会の喧騒や、悶々と向き合う仕事からすっかり解放されて気分は爽快です(笑)

一緒にいった1歳4ヶ月の息子は人生初温泉に興奮したのか、サイズの合わない浴衣をはだけながら夜中12時頃まで部屋の中を暴れまわっていました・・・。でも楽しそうなので何より。

2日目に立ち寄った神社の池で、今は懐かしい人面魚を見かけました。
一時のブームがあったことなど本人は知るのか知らぬのか・・・、気持ち良さげに悠々泳いでいました。

人面魚。実物は人面ぶりがもっと良く分かる。
<人面魚。実物は人面ぶりがもっと良く分かる。>

よく探し回るハメになるので、さっくりまとめ。

・Google
http://www.google.co.jp/addurl/

・Yahoo!
http://submit.search.yahoo.co.jp/add/request
※要YahooIDログイン

・Windows Live Search
http://search.msn.co.jp/docs/submit.aspx

・百度
http://www.baidu.jp/search/url_submit.html

百度ってどうなんですか?

大量データのDELETE/INSERTを処理するバッチ処理をPHPで走らせていたのですが、回数をこなす毎にDBのパフォーマンスが目に見えて落ちてきたため、処理の最後にvacuumを実行することに。

PHPからvacuumをキックする単純な処理なはずが、これがうまく動かない。
PostgreSQL関数経由ではvacuumは実行できないのかとか、いろいろと悩んでいたところ、ようやくあるエラーログに気が付きました。

WARNING: skipping "tablename" --- only table or database owner can vacuum it

要は実行ユーザの権限の問題でした。
wwwユーザにDBの権限を付与したものを使用していたのですが、vacuumを実行できるユーザーは、
・スーパーユーザー
・DBまたはテーブルのオーナー
に限られるいうことのようです。

MAX、MINを抽出するクエリはインデックスを利用しないため高速な処理ができないとのこと。
そのため、クエリをLIMITに置き換えることで高速化を図ろうというテクニックがあるようです。

例えば、以下の構成でクエリを試してみました。

・PostgreSQL7.4.3
・テーブル
CREATE TABLE hogehoge
(
id int4,
id2 int4,
id3 int4,
text1 text,
text2 text,
text3 text,
text4 text,
char1 varchar(2),
date1 date
)
インデックス:hogehoge-id(id)
・レコード数:約4万件


EXPLAIN ANALYZE で問い合わせプランを比較してみます。

EXPLAIN ANALYZE SELECT MAX(id) FROM hogehoge;
------------------------------------------------
Aggregate (cost=1213.13..1213.13 rows=1 width=4) (actual time=356.575..356.577 rows=1 loops=1)
-> Seq Scan on hogehoge (cost=0.00..1115.30 rows=39130 width=4) (actual time=0.024..202.504 rows=39130 loops=1)
Total runtime: 358.997 ms

SELECT id FROM hogehoge ORDER BY id DESC LIMIT 1;
------------------------------------------------
Limit (cost=0.00..0.07 rows=1 width=4) (actual time=1.154..1.156 rows=1 loops=1)
-> Index Scan Backward using "hogehoge-id" on hogehoge (cost=0.00..2550.87 rows=39130 width=4) (actual time=1.138..1.138 rows=1 loops=1)
Total runtime: 1.819 ms

おぉ、違いは歴然です。
あらためてインデックスの効果を実感ですね。

※なお、PostgreSQL8.1からMAX、MINでもインデックスを使って高速処理されるよう改良されたそうです。お気を付け下さい。(私はまだ7の環境をメンテすることが多いので・・・。)

Simple PHP BlogはPHPベースのブログソフトです。
DBが不要な簡易インストールタイプのブログということで試してみることにしました。

まずソースをダウンロードします。
http://www.simplephpblog.com/(右メニュー「Download」バナーのリンク先から落とせます。)

落としたファイルを解凍したら、サーバにごっそりUP。
ファイルをUPしたURLにブラウザからアクセスするとインストール画面が始まります。

言語選択画面が出ます。「Japanese」を選んでおきます。
インストール1

「データを格納する3つのフォルダ('config', 'content', and 'images')を自動作成します。」
という確認画面が出ます。そのまま進みます。
インストール2
※ここで書き込み権限が無いと、パーミッションエラーでフォルダ作成に失敗するようです。
私の場合、とりあえず上記フォルダを手動で作成し、書き込み権限を与えておきました。

フォルダ作成に成功したメッセージが出ます。そのまま進みましょう。
インストール3
※上の画面はあらかじめフォルダを作成してあったので
「既に存在してます」というメッセージが出ています。

ユーザー名とパスワードの設定をします。入力したら次へ進みます。
インストール4

パスワードファイルの作成画面が出ます。
password.phpという名前のファイルを作り、
枠内のPHPソースを保存して、サーバ上のconfigディレクトリ下にFTPでUPして下さい。
(ここだけは手動で作業する必要があるようです。)
インストール5

ログイン画面が出ます。
先ほど登録したユーザー名とパスワードでログインします。
インストール6

これでインストール完了です。
あとは管理画面から詳細設定やらエントリーを作成してブログを作成できます。
インストール7

と、このような感じで特に面倒な環境設定をすることもなく、簡単にインストールすることができました。

少し動かしてみましたが今のところ気になる点は、
・更新Pingが効かない(設定は登録されるのですが・・・効いてない?)
・HTML書き出し機能が無い(「静的ページ作成」機能はあるのですが作成したファイルをPHPからインクルードするものです。)
・日付関連のオプション設定が反映されない。(設定ファイルのパーミッションの問題?)

一つ簡単なサイトでお試ししてみてみたいと思います。

会社に放置されていたデスクトップPCがもったいないので初期化してVM専用PCに仕立て上げることにしました。
PCは、IBM InteliStation M Pro(6849-34J)。
一昔前のワークステーションですが、Pen4-1.7GHz、メモリ1GHzのスペックで、まだまだ社内では貴重な戦力です。

まずは何も考えずにHDをフォーマットし、Windows2000を通常インストール・・・しかしインストール中に突然落ちる。
何事?と思いつつも再度インストールを試みたところ、今度は問題無くインストール終了。
しかし再起動時に「System Halted」のエラーメッセージが表示されOSは起動せず。
その後何度かインストールを試しますが、途中で落ちたりエラーで起動しなかったりとすっかりはまってしまいました。

何度目かのインストール時に、セットアップの始めに
「Press F6 if you need to install a third party SCSI or RAID driver...」
というメッセージが画面下に表示されることにふと気が付き、ネットで検索してみたところやはりSCSI-HDを起動ディスクとしてOSをインストールする際には、上のタイミングでF6を押しあらかじめSCSIドライバをインストールする必要があるとのことでした。
インストール1

PCを開けて、SCSIカードの型番を確認すると「adaptec Ultra160 SCSI 29160LP」ということが分かったためadaptecのサイトからドライバーをさっそくダウンロード。
http://www.adaptec.com/en-US/support/scsi/u160/ASC-29160LP/
落としてきたu160_fms40_sp5_s4.exeを解凍し、できたファイルをFDに丸ごとコピーしてドライバーフロッピーを作成しました。

さて今度こそはと再びインストール開始、「Press F6...」のメッセージを待ってすかさずF6キーを連打!(連打する必要はありません)うまいことSCSIデバイスを追加する画面が開きました。
インストール2

Sキーを押すと、追加したいデバイスのドライバーフロッピーをセットするように言われます。
インストール3

ここで満を持して用意したフロッピーを挿入し、Enterキー押下・・・。
ところがドライバーが見つからない由のメッセージが表示されてしまいます。何度やっても同じエラーで困ってしまいましたが、ふと中のファイルがちゃんと見えてないのではないかと思い立ち、始めはダウンロードしたファイルをフォルダにまとめてコピーしていたのですが、ファイルを直下に格納するように変更。これでうまく行きました。無事ドライバーの読み込み、その後今までの苦労がうそのようにWindowsもすんなりインストールできました。

経験豊富なエンジニアでしたら当たり前のことなんでしょうが、これまでSCSIを扱う機会も少なく知らないことが多く苦労しました。いい勉強になりました。

このアーカイブについて

このページには、ko312007年9月に書いたブログ記事が含まれています。

次のアーカイブはko31: 2007年10月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

RSSフィード

  • 購読する

いろいろ

あわせて読みたい

フィードメーター - ポップフライ

seo

Powered by Movable Type 4.01