北村由衣のブログ

また.eng.proドメインを買ってしまった

ようこそ.eng.proドメインのサイトへ

こちらはyui-kitamura.eng.proドメインでインターネットに公開されているウェブサイトです。

この「ドメイン」、有名どころは「ドットコム」と呼ばれる.comで終わる文字列ですが、 他にも、.co.jp.ne.jpといった末尾形式があります。 例えば、ヤフー乗換検索はtransit.yahoo.co.jpのアドレス、つまりドメインで表現されていますが、 後ろから順に、トップレベルドメインが日本の.jp、セカンドレベルが企業主体を示す.coで、本体のyahooの階層で表されています。 先頭のtransitはインターネット上で割り当てられたyahoo.co.jpドメインをさらに分割する「サブドメイン」です。

さて、私のサイト.eng.proですが、これは、プロフェッショナル(各種専門家)の.proの中でも、エンジニア(技術者)である.engまで指定されたドメインです。 この.eng.proは2005年に規格化され、登録が始まったそうですが、Google検索をかけてもあまりヒットしません。とてもマイナーなようです。

パッケージ名にもこだわりたい

Javaの技術的な話になります。標準情報(TR)TR X 0005:2002の中で、パッケージの命名について述べられています。

一意なパッケージ名を生成するには,まず,sun.com のようなインターネットドメイン名を取得する(あるいは,それをもっている組織に所属する)。 その後,この名前を構成要素の順序を逆にして (この例では,com.sun として),パッケージ名の前置詞として使用する。 それ以降の名前は,パッケージ名を管理するための組織内で開発された規約を使用する。

インターネットのドメイン名が有効なパッケージ名ではない場合がある。そのような場合に推奨される規約を示す。

  • ドメイン名に,ハイフン,又は識別子(3.8)で許されていない他の特殊文字が含まれている場合,下線に置き換える。
  • 後略
出典:7.7 一意なパッケージ名(TR X 0005:2002)

この有効なパッケージ名ではない場合にドメインyui-kitamura.eng.proは抵触しました。 パッケージ名では文字「-」(ハイフン)を使用することができないのです。そのため、規約の通り、下線「_」に置換します。 これにより、私のJava開発におけるパッケージ名はpro.eng.yui_kitamuraになります。

しかしながら、どこか冗長さと、ドメイン名にリバースできないことへの不快感とを感じていました。

悪魔の囁き「ドメインを取得すればいいじゃない」

どこからか聞こえてきたのです。yui.eng.proドメインを取得すれば良いぞ、と。

3文字のドメインが、まだ空いているのが.eng.proです。 日本国内でこのドメインを取り扱っているレジストラ業者はゴンベエドメインだけです。 お値段はリンク先の料金表の通り、少々値が張ります。(お名前ド●トコムみたいな安売りはさておき、.comや.jpなら日本円で4桁くらいが順当な相場です)

探しました。インターネットの海を泳ぎ、海外のレジストラ業者を。 Regeryというアメリカ・シカゴに本社、イギリスとウクライナに支社を持つレジストラです。
買いました。yui.eng.proドメインを。

これで、私は、Javaのパッケージ名をpro.eng.yuiで始めることの正当性を手に入れました

ウェブサイトの取り扱いについて

このドメインを調達した目的は上記の通りパッケージ名についてが主眼のため、専用のウェブサイトを構築するつもりはありません。 そのため、Regeryのドキュメントを参照して、URLリダイレクトを設定しました。 設定画面をいじると、とりあえず正規表現とかが使えるのは分かったのですが、このドキュメントにたどり着くのが難しかったです。 Google検索で"regery" url forward regexと検索してやっと見つけました。

http://yui.eng.pro/https://yui-kitamura.eng.proへ書き換えてURIパスを含めたリダイレクトになるように設定しています。 クエリ・ストリングも反映されるように仕込んだのですが、アクセスしたときにパラメータを渡していなくても、リダイレクト後に「?」が付されてしまう正規表現になってしまったのは、 まだ改善の余地があるのかもしれません。ドキュメントから写経しただけの設定じゃ分からない…。${request_uri}で行けるのかな…?

変数

WebGatewayの指示では、「組み込み変数」と「ユーザ定義変数」が使えます。 一般的な用途としては、リダイレクト・リライト規則のURLテンプレートを定義することです

組み込み変数

以下の組み込み変数が用意されています

  • scheme- リクエストのスキーマです。httpまたはhttps
  • host - 変更されていないHTTPヘッダーのHost値、または、HTTPヘッダーが存在しない場合はドメイン名
  • uri - WebGatewayで現に処理されているURI
  • args - URLパスに含まれるクエリ・ストリング
  • request_uri - リクエストの当初のURIで、URIとクエリ・ストリングとを含む

使い方

変数を埋め込むには次の書式で書きます:${<variable name>}


原典:Web Gateway Regery Helpdesk
日本語訳および編纂:本記事の筆者(KITAMURA yui)

つれづれ

会社側で出したJPRS証明書の記事で一覧にした通り、 既に8つのドメインを購入していたにも関わらず、お高い.eng.proドメインを買い足してしまいました。 ゴンベエドメイン提供のインターリンクさんによるドメイン転送サービスは、 Google DomainsやRegeryと違って有料メニューだったりで、 レンタルサーバ代金と含めて月々***円…?

欲しいものをあまり悩まず買えるお財布のゆとりが欲しくなりますね。Amazonの干し芋のリストとかメンテしていると物欲が高まります。 冬服も実店舗を見て回るとそわそわしますし…。


このエントリーをはてなブックマークに追加


コメントはこちらからお寄せください