配布ツールの技術解説
技術解説を書いていたら長くなったので、ページを分けた。
「技術解説」は、主に SocialLlama URL の解読の話を書いたが、こちらはイベント配布ツールの話を書こう。
…といったところで、なおさらたいした話はない。
技術の話も多少はあるが、配布ツールはリクエストを戴いて使いやすくなっていったので、そのこと記しておこう。
気軽に form から使えるように作っておいたら、コピペしやすいように表示は textarea がいいな、というリクエストが来たので改良した。
最初はアドホックな改良だったが、後に HTML としても plain text としても表示しやすいように、ライブラリから手を加えた。
実際掲示板にコピペしてみたら、URL 部分が長すぎて入れられなかった、という報告が来た。
じゃぁ、URL を短縮できるようにしよう、と気軽に考えたら、これが案外面倒なことになった。
世に短縮 URL サービスは山ほどあれど、今回の目的で使えるサービスはなかなか見つからなかったのだ。
ツールは Javascript で動いている。なので、短縮 URL を Javascript から作らせてくれるサービスが欲しい。
しかし、実はこれが難しい。手動で作る、というのが基本で、プログラムから呼び出せる方法を用意してあるところは少ない。さらに、Javascript からの呼び出しは特殊な方法が必要なので、対応しているサービスはわずかだ。
Javascript からの呼び出しに対応している場合でも、ちょっと長い URL を送ると受け付けないものが多い。SocialLlama URL は簡単に 1000byte 超になるが、1024byte くらいで長さを制限しているところが多いのだ。
当初使っていたサービスは、2000byte を越えても受け付けてくれた。…3000byte を越えたらダメだったけど。まぁ、Llama でもそこまで長くなることは余り無いから、とそこを使っていた。
でも、そこのサービスでは、独自の手法で URL の「危険性」を測っていて、危険だとみなすと受け付けてくれなかった。というか、受け付けてくれなかった、と報告してくれた方がいて、問題に初めて気づいた。
というわけで、世間の短縮 URL サービスは使えない。自作した。
短縮 URL 、といっても、世間にあるように20文字程度まで縮める、というようなことは出来ない。自分の使っているドメインの中で作っているし、このドメイン名だけでも結構長いからだ。
でも、1000byte が 44byte に縮めば、とりあえず OK だろう。1行の長さ制限に引っかかることは無いはずだ。
当初 Javascript で作成していたのは、自分の管理しているサーバーの負荷を上げないためだった。しかしまぁ、短縮 URL を展開するくらいはそれほど負荷にならないだろう。圧縮する人はもっと少ないだろうからなおさら問題は無い。
問題があるとすれば、圧縮/展開というのは、結局「URL をお預かりして、短いキー文字列を渡している」に過ぎない、ということだ。皆さんががんばって作ったイベントを戴いたことになる。
いちいち見るのも面倒なので、基本的に見ないと思う。でも、絶対見ないという保障が出来るわけでもない。だって、僕の管理しているサーバーに格納されるのだから。
今後、Llama のコーナーで自作イベントを発表するときに、誰かが預けた内容と似通ったものが発表される可能性もある。そのときに「パクッた」と考えないで戴きたい。そのような意図でお預かりするわけではない。
どうしても信用なら無いと思う場合は、「URL短縮」の機能を使わないようにお願いします。チェックを入れなければ、一切サーバーにデータを送信することはありません。それでも、SocialLlamaURL の解読機能は使用できます。