WebサービスのID名についての質問です。はてなのIDは「mine-D」のようにハイフンを使え、英文の大文字小文字を区別して設定できますが、ほとんどのWebサービスではmine-DのようなIDは設定できないと思います。なぜ、ほとんどのWebサービスにおいてこうしたIDの制限があるのでしょうか。あるいは、はてなでは実現できることが、なぜ他社ではできないのでしょうか。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2006/10/17 16:47:01
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440

ポイント40pt

自分も同じようなIDなので、よく困ったりするのですが、

プログラマとしての意見としては、本質的にダメな理由は無いはずです。


いくつか考えられるのは、

・単に設計時に考慮していない場合

・システム上何らかのセパレーター等として使用するので別の意味を持ってしまう。

(例:メールサーバーの qmail では - で区切ったアドレスは拡張メールアドレスとして使用します)


ただ、大文字小文字の区別については

・大文字小文字だけが違うIDが存在すると紛らわしい

・メールアドレスなどは大文字・小文字を区別しないので、それらのサービスと連携している場合などに問題がある

(Yahoo!, Google 等はIDをメールアドレスとしても使用します)

という理由が考えられます。

id:mine-D

ありがとうございます。プログラマさんの回答をお待ちしてました。あ、メールアドレスは大文字を区別しないんですね。勉強になりました。

2006/10/17 15:00:20

その他の回答2件)

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440ここでベストアンサー

ポイント40pt

自分も同じようなIDなので、よく困ったりするのですが、

プログラマとしての意見としては、本質的にダメな理由は無いはずです。


いくつか考えられるのは、

・単に設計時に考慮していない場合

・システム上何らかのセパレーター等として使用するので別の意味を持ってしまう。

(例:メールサーバーの qmail では - で区切ったアドレスは拡張メールアドレスとして使用します)


ただ、大文字小文字の区別については

・大文字小文字だけが違うIDが存在すると紛らわしい

・メールアドレスなどは大文字・小文字を区別しないので、それらのサービスと連携している場合などに問題がある

(Yahoo!, Google 等はIDをメールアドレスとしても使用します)

という理由が考えられます。

id:mine-D

ありがとうございます。プログラマさんの回答をお待ちしてました。あ、メールアドレスは大文字を区別しないんですね。勉強になりました。

2006/10/17 15:00:20
id:spike No.2

回答回数5ベストアンサー獲得回数0

ポイント24pt

技術的にハイフンが使えないということではなく、そのWebサービスのポリシーだと思います。

私は技術者ですが、お客様(そのサイトのオーナー)に「どうしますか?」と聞いても「ほかのWebサービスにあわせてよ」という感じで回答されますので。。。

たまたま見たサンプルのWebサービスがハイフン不可だったりとか、そんなレベルでプロジェクトチームの中で、本当に「なんとなく」決まることが多いです。

id:mine-D

なるほど。他社追随というのは想像つきますね。けっきょく「ややこしそうなのは全部禁止にしておけ」という事になってしまうのでしょうか。

2006/10/17 15:01:42
id:fuk00346jp No.3

回答回数1141ベストアンサー獲得回数54

ポイント16pt

Unixのコマンドオプションに使われるのがハイフン(-)です。

MySQLデータベース等のコマンドと衝突する為使えないだけです。

 

  • データベース使わないのであればハイフンは使用可能です。
  • 大文字/小文字の区別があるのはUnixのファイル名の命名規則です。

↑Dosは区別しません。それを引き継ぐMS-Win系OSも区別無しです。

id:mine-D

はてなでも当然データベースは使用していると思うのですが、私のようなIDでも不具合はないのでしょうか。技術的に回避する手段があるということなのでしょうか。

DOS自体が大文字小文字区別しないんですね。なるほど。

2006/10/17 15:04:26
  • id:b-wind
    失礼ですが、
    >Unixのコマンドオプションに使われるのがハイフン(-)です。
    >MySQLデータベース等のコマンドと衝突する為使えないだけです。
    これは正しいとは言いがたいです。

    回避方法はいくらでもありますし、WebサービスのDB の接続にそもそもコマンドラインを使う事はめったに無いでしょう。
    ただ、「何らかの処理が必要である」事を知らない経験の浅いプログラマーが陥りやすい罠ではありますので、その意味では正しいとも言えます。
  • id:b-wind
    >大文字/小文字の区別があるのはUnixのファイル名の命名規則です。
    >↑Dosは区別しません。それを引き継ぐMS-Win系OSも区別無しです。
    余談ですが、NTFS には大文字小文字の区別はちゃんとあります。
    それを扱う Explorer の方で違いを無視しているだけなので、大文字小文字違いの同名ファイルを作る事は可能です。
    http://support.microsoft.com/kb/100108/ja

  • id:mine-D
    >>b-windさん
    フォローありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません