2014年12月17日水曜日

ネーミングセンスforコンピュータ

Ubuntuをインストールするとき、まずホスト名を何にするか聞かれます。
よく分からないけどあとで変更すればいいや、と適当に設定したら、作業中に一行一行ユーザー名とともにホスト名を目にすることになって、すぐに後悔。
/etc/hostnamesと/etc/hostsを編集して変更したのはいいんだけど、あちこちに元ホスト名の名前がついたディレクトリを発見。
幸先よくない気がしたので、インストールもあまり思い通りにならなかったし、とそのまま再インストール。
今度はこれでいいだろう、と身を落ち着けて、さっきまで文字化けと戦っていました。

実はホスト名とドメイン名の関係がよくわかっていませんでした。
ホスト名と言っても、ドメインまで含むFQDNを指すことが多いんですね。
メールサーバのホスト名も適当に設定してしまったし少し不安。
そんな中、ホスト名の命名規則に関するRFCを見つけました。Wikipediaからのリンクで。

RFC 1178
なんだか読みやすかったので最後まで読んでしまいました。
ホスト名の付け方について、勧められない場合、勧める場合を列挙しています。
勧められない場合に結構当てはまってて、自分のネーミングセンスにショックを受けました。
ただ注意するべきなのは、想定しているシチュエーションが、「オフィスに多数のマシンが並んでいる」場合のようなので、僕のように1台しかない場合や、ノートPCを持ち運んであちこちのネットワークに繋げる場合だと話が少し違ってくることもあると思います。
でもやっぱり参考にできる部分はあります。
あと、英語のままだと参照しにくいと思ったので、簡単に日本語でまとめておきました。
以下にあります。
暇かと言われそう。

[よくない命名法]
・他のよく使われる単語と重複させない
文脈に強く依存するような単語の意味を考えるのに労力を割くべきではない
例)up 
・マシン用途のプロジェクトで名付けない
同じ用途でマシンを追加した場合や用途を変更したい場合に困る
多数のマシンをナンバリングして管理するならアリ
識別する目的からすれば、用途で名付ける必要はない 
・自分の名前をつけない
自分とマシンが識別しづらい
自分の割り当てが他のマシンになったら・・・(同じ名前に変えるのはトラブルの元)
そもそもペットに自分の名前をつけるか? 
・長い名前をつけない
8文字を超すと煩わしい
省略形を設定できたとしても、しないに越したことはない 
・代替的スペルは避ける
正確でないスペルは英語を主としていない人が困る
省略形を推測しにくい 
・ドメイン名は避ける
プログラムによって、ホスト名とドメイン名のどちらを先に推測するかが異なる 
・ドメインっぽい名前も避ける
ドメイン名は組織や地理にちなんで名付けられるので紛らわしい
そういう機能性を持たせない場合はOK 
・敵対的な/恥ずかしい名前をつけない
人に見られる危険性を鑑みましょう 
・数字で始める名前をつけない
数値と誤認されることがある
0-9,a-fだけで作ると16進数と捉えられうる
例)beef 
・アルファベット/数字以外の文字を使わない
区切り文字など、多様な解釈が存在する 
・大文字/小文字が保たれると考えない
区別されない場合もある
伝統的には全て小文字にする 
[よい命名法]
・めったに使われない単語/名前を使う
一般的な単語だと、出現したときに人の認識を混乱させる
人の名前だと、後に職場に現れるかもしれない 
・テーマに沿った名前にする
教養の深さを示しながらマシンに共通性をもたせる
数の限りに注意
例)色、神話上の場所/人名、人殺し、動物の赤ちゃん、群れ、元素、花 
・実在する単語を使う
ランダムな文字列は覚えられない 
・他人とホスト名が被っても気にしない
末端のマシンは無数にある
ドメイン内で固有の名前なら十分 
・物事には例外がある
ホスト名の変更は簡単にできるが、古い名前で作られてきた多量のデータの名前を変更しなければならない
他人に告知しなければならない
古い名前を記憶しておかなければならない 
[終わりに]
賢く名付けることでユーザーも管理者も名前を覚え、推測し、タイプするのが楽になる
うまく選んでこれまで述べてきた落とし穴にハマらないことを祈る

0 件のコメント:

コメントを投稿