2009年05月16日

GUIDを作成するWebサービスを公開2

このWebサービスを作成するきっかけですが、
先日、仕事でGuidを作成する必要がありました。その時は.net frameworkだったので事なきを得ましたが、別のPCで同じロジックを使用しても本当にユニークなIDが作成できるのだろうか?という疑問が湧きました。

GUIDの特性上、数に限りがあるのでいつかは被るものが生まれるだろうし、また逆に別PC上で作成しても現時点で被るということは、ほとんど無いと思いますが、それでも作成するPCを一つにすることで、被る確率を極限まで下げることができるのではないかと考え、Webサービスとして作成&公開することにしました。
#MD5の知識がほとんどない状態の憶測で記載しているので、間違いがある場合は指摘をお願いします。

ついでに、GUIDの作成が難しそうなJavascriptからも呼び出せるように、JSONPの実装も行いました。

#Javascript以外の言語の場合、機能として持っていたり実装も比較的簡単なので、あまり公開する意味は無いかもしれませんが。。。
#まあ、自分でも何かWebサービスを公開したいという思いから、今回実装しました。

最後に、『crossdomain.xml』も配置しておりますので、FlashやSilverlightからも(有用かわかりませんが)アクセスできるはずです。
配置URL:http://hunter-j.sakura.ne.jp/webservices/crossdomain.xml
posted by しおしおプログラマ〜 at 00:06 | Comment(0) | TrackBack(0) | Webサービス

2009年05月15日

GUIDを作成するWebサービスを公開

突然ですが、GUID(UUID)を返すWebサービスを作成しました。
GUID(UUID)については、GUID - Wikipediaをご参照ください。

<http://hunter-j.sakura.ne.jp/webservices/guidGen>
にアクセスすると、GUIDを文字列で返します。
文字列のみを返すだけなので、なんちゃってWebサービスになっています。

詳細な仕様は以下の通り。
アクセスURL:http://hunter-j.sakura.ne.jp/webservices/guidGen
Content-type:text/plane
形式:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX(Xは16進数、A〜Fは大文字)

ただ、これだけだとほとんど使い道がないので、JSONPにも対応しております。
URLの後ろに「/」をつけて、そのあとにCallbackさせたいJavascriptの関数名をつけることで呼び出せます。

JSONPの仕様は以下の通り。
Content-type: application/x-javascript
Javascript関数名の制限(文字数):1〜32文字
Javascript関数名の制限(使用可能文字):『0-9,a-z,A-Z,_,-』

【呼び出し例】
<script type="text/javascript">
function CallbackGuidGen(guidText)
{
  alert(guidText);
}
function GenGuid()
{
  var elmScript = document.createElement("script");
  elmScript.type	= "text/javascript";
  elmScript.src	= 
    "http://hunter-j.sakura.ne.jp/webservices/guidGen/CallbackGuidGen?rnd="
    + Math.random();
  document.lastChild.appendChild(elmScript);
}
</script>
『Math.random()』は念のため付けております。
実際の動作確認→

このGUIDはMD5を使用して作成しております。
こちらを参考に、アレンジしております。

また、MD5ではなくSHA1を利用したGuidGen2も実装しました。
詳細な仕様は以下の通り。
アクセスURL:http://hunter-j.sakura.ne.jp/webservices/guidGen2
Content-type:text/plane
形式:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX-XXXXXXXXXXXX(Xは16進数、A〜Fは大文字)

こちらもJSONPの実装をしております。仕様は以下の通り。
Content-type: application/x-javascript
Javascript関数名の制限(文字数):1〜32文字
Javascript関数名の制限(使用可能文字):『0-9,a-z,A-Z,_,-』

【呼び出し例】
<script type="text/javascript">
function CallbackGuidGen2(guid2Text)
{
  alert(guid2Text);
}
function GenGuid2()
{
  var elmScript = document.createElement("script");
  elmScript.type	= "text/javascript";
  elmScript.src	= 
    "http://hunter-j.sakura.ne.jp/webservices/guidGen2/CallbackGuidGen2?rnd="
    + Math.random();
  document.lastChild.appendChild(elmScript);
}
</script>
実際の動作確認2→


長くなりすぎたので、作成するきっかけ等については別エントリで書きます。
posted by しおしおプログラマ〜 at 23:29 | Comment(2) | TrackBack(0) | Webサービス

2008年02月03日

さくらのブログのsitemap.xml出力について

Googleウェブマスターツールに登録しようとしたところ、サイトマップに何を追加してよいか、すぐに分からなかったので、備忘録としてココに記載しておきます。

この辺を見ると、RSS2.0がいけそうなので、何も考えず登録して待つこと数時間。
再度確認すると、エラーの文字が・・・・

あとからindex20.rdfを見てみると、『xmlns:itunes="http://www.itunes.com/DTDs/Podcast-1.0.dtd"』が書かれている・・・
よくわかりませんが、itunesにPodcast公開用なの??
そりゃエラーになりそうだと、半ばあきらめかけて、やけくそで『http://hunter-j.sblo.jp/sitemap.xml』と入力。

なんと、サイトマップが表示されたではありませんが!
Googleウェブマスターツールにサイトマップ登録も、問題なくOKでした。

どうも、メニューの【設定】→【ブログ設定】ページにある、『サイトマップXMLの出力 する/しない』の項目を『出力する』にチェックすれば、『http://***.sblo.jp/sitemap.xml』が出力されるようです。
#自分はいつの間にか『出力する』にしていたのかな〜?
#それともデフォルト設定が『出力する』になっているのか??

後からググると、さくらのブログでsitemap.xmlを出力する方法があっさり見つかりました。
#はじめっからググればよかった( ´Д⊂ヽ
#ヘルプやFAQを検索してもHitしなかったのに〜(゚Д゚#)
#あと、この検索でさくらのブログがseesaaブログのシステムを利用していることを知りました。

【教訓】
分からないことは、まずGoogle先生に聞きましょう('◇')ゞ

posted by しおしおプログラマ〜 at 08:25 | Comment(0) | TrackBack(0) | Webサービス