増井ラボノート コロンブス日和

第2回Gyump

長いURLを便利にしたい

あらゆるものがURLで表現可能になりつつありますが、URLで表現する対象が膨大な量になってくると、長いURLを扱う機会が増えてきています。長いURLは取り扱いが面倒ですし、記憶するのもたいへんですから、次のような工夫がよく用いられています。

ブックマークを利用する

よく使うURLに手軽にアクセスできるようにするために、ブラウザのブックマーク機能が広く使われています。ブックマーク機能はMosaicのような初期のブラウザでも実装されていたほどポピュラーなもので、あまり機能が進化しないまま現在のブラウザでも利用されています。

ブラウザのメニューからよく使うURLにアクセスできるのは便利ですが、気軽に登録しているとあっという間にメニューが一杯になってしまいます。階層的にブックマークを管理すれば良いのですが、きちんと分類して管理するのは面倒なので、結局利用の機会が減ってくることが多いようです。

ブックマーク情報を、複数のマシンやブラウザで共有しづらいのも面倒です。最近のブラウザではブックマーク情報を複数マシンで同期できますが、こういう設定は面倒なものです。また、ブックマークをブラウザ上に記憶する代わりに、クラウド上に記憶して共有するソーシャルブックマークのようなサービスもありますが、ソーシャルブックマークは、Webページにコメントを付ける用途で利用されることが多く、頻繁に利用するURLにアクセスする用途にはあまり使われていないように思われます。

長いURLを短いURLで置き換える

長いURLに簡単にアクセスしたり他人にURLを知らせたりする場合のために、長いURLを短くしてくれるTinyURL、Bit.ly、Goo.glなどのURL短縮サービスがよく使われています。これらのサービスを利用すると、http://pitecan.com/……のような長いURLの代わりに、http://goo.gl/jx7VZyhttp://bit.ly/1LnYzAtのような短いURLを利用できます。

URLが短ければ記憶が可能かもしれませんし、他人とURLをやりとりする場合にも便利なのですが、jx7VZyのような暗号的な文字列を記憶することは困難です。覚えることができないため、ファイルなどに書いておく必要があるのであれば、長いURLを利用するのとあまり変わらないかもしれません。短い名前を自分で選べるサービスもありますが、好きな名前が使えるとは限りませんし、一度登録したURLを後で変更できないのが普通です。

また、短いURLと長いURLの対応はサーバに記憶されているので、サービスにトラブルがあったり、サービス自体が終了したりすると使えなくなるのは心配です。普通は対応データベースを取得できませんから、データをバックアップしておくこともできません。


そもそも個人的に使うURLは短くて良いはずです。私の周囲で「SFC」といえば慶應義塾大学湘南藤沢キャンパスのことに決まっており、スーパーファミコンのことではありません。自分の周囲で言及することが多いものは、たいてい数文字で表現できてしまうでしょうから、よく使うものから順番に短い名前を割り当てておけば便利でしょうし、情報圧縮や効率化の面でも有利なことは間違いありません。今回は自分用の短い名前を気軽にブックマークとして活用できるGyump(ジャンプ)というサービスを紹介します。

Gyump:柔軟なURL短縮サービス

URL短縮サービスの1つであるGoo.glにhttp://pitecan.com/を登録するとhttp://goo.gl/jx7VZyのようなURLが利用できるようになります。curlコマンドで確認してみると、図1のようなHTMLとステータス301(Moved Permanently)が返ってくることがわかります。

図1 短縮URLサービスでcurlコマンドを試す
% curl -w '[%{http_code}]\n' http://goo.gl/jx7VZy
<HTML>
<HEAD>
<TITLE>Moved Permanently</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Permanently</H1>
The document has moved <A HREF="http://pitecan.com/">here</A>.
</BODY>
</HTML>
[301]
%

Goo.glや、そのほかのURL短縮サービスは、短い名前と長い名前の対応データベースを保持しており、短い名前でアクセスされたとき図1のようなHTMLとステータスコードを返すという単純なしくみで動いているようです。このようなものは自分で作るのも簡単です。

Gyumpは、ユーザが指定した名前を使って任意のURLにアクセスできるようにするサービスです。たとえば「sd」というIDを持つユーザが「map」というキーワードで東京駅の地図にアクセスしたいとき、http://gyump.com/sd/mapというURLを利用できるようにするというものです。既存の短縮サービスと異なり、Gyump.com以下の名前は任意のものが使えるので、自分のID(e.g.sd)と短い名前(e.g.map)のような任意の組み合わせを利用できます。

何も登録されていない状態でGyump.com/sd/にアクセスすると、図2のように登録フォームだけが表示されます。

図2 sd.gyump.comの初期状態
図2 sd.gyump.comの初期状態

ここで「map」というキーワードと東京駅の地図のURLを入力して登録すると、東京駅のURLが「map」という名前で登録され、登録されたURLが図3のようにリストされます。この状態ではhttp://sd.gyump.com/mapというURLで東京駅の地図にアクセスできます図4⁠。

図3 東京駅を登録後のリスト
図3 東京駅を登録後のリスト
図4 http://sd.gyump.com/mapにアクセスして表示される地図
図4 http://sd.gyump.com/mapにアクセスして表示される地図

リスト中の「map」をクリックすると編集モードになります。http://sd.gyump.com/map!のように、短いURLの最後に!を付けたURLにアクセスすると、直接編集ページに飛ぶことができます図5⁠。

図5 編集フォーム
図5 編集フォーム

ブラウザの検索窓に登録

短いとはいってもhttp://sd.gyump.com/mapのようなURLをブラウザに入力するのは面倒でしょう。Firefoxなどではopensearch機能を使って検索窓をカスタマイズできるようになっているので図6⁠、Gyumpを検索システムとして登録しておけば、検索窓にmapと入力するだけでhttp://sd.gyump.com/mapにアクセスできるようになるので便利です図7⁠。

図6 Firefoxの検索エンジン選択機能
図6 Firefoxの検索エンジン選択機能
図7 デフォルト検索エンジンとして「sd.gyump.com」を指定
図7 デフォルト検索エンジンとして「sd.gyump.com」を指定

このように、Gyumpをデフォルト検索サービスとして登録しておくと、検索枠に「map」と入力するだけで東京駅の地図を開くことができます。Gyumpに登録されていない文字列を入力するとGoogle検索するようになっているので、検索エンジンを切り替える必要は多くありません。

階層的な情報管理

たくさんのURLを扱いたい場合はGyump.com/sd/maps/tokyoのような階層的な名前も利用できます。この場合、Gyump.com/sd/maps/akibaGyump.com/sd/maps/shibuyaのような名前を登録しておけば、Gyump.com/sd/maps/で地図のリストを見ることができます。

「sd」「map」のような名前は自由に選択できますし、登録URLを後から変更することもできるので、次に示すようにさまざまな使い方ができます。

Gyumpの活用例

その1「地図へのアクセス」

初めての場所に行こうとするとき、行先をあらかじめGoogle Mapsなどで調べておく人が多いと思いますが、パソコンで調べたURLにスマホからアクセスするためには、なんらかの方法でURLを送る必要があるので面倒です。Google MapsのURLはとても長いのでメールで送るのも手軽ではありません。

私は、行先の地図のURLを常にmyname/mapのような名前でGyumpに登録するようにしており、Gyump.com/myname/mapのショートカットをスマホのホーム画面に登録してあるので、スマホ上でこれをタップするだけで、常に行きたい場所の地図を表示できるようになっています。行先が変わった場合でも、同じURLから目的地の地図が表示されるのでとても便利です。

その2「予定表」

私は予定表をWebで管理しており、Gyump.com/myname/sのような短いURLでアクセスできるようにしています。予定表のURLは毎月変わるのですが、現在の日付からURLを計算して今月の予定表ページに飛ぶプログラムを用意しているので、常に同じURLで今月の予定表にアクセスできるようになっています。

その3「買い物/メモ」

GyumpのURL登録欄にURL以外の文字列を書いておくと、そのURLに飛ぶかわりに、登録した文字列が表示されるようになっているので、私は買い物メモなどはGyump.com/myname/buyのようなところに書くようにしています。

その4「よく使うショートカット」

よく利用するサービスに飛ぶためのブックマークとしても私はGyumpを活用しており、たくさんの固定URLを登録して使っています。⁠tenki」で天気予報にアクセスしたり、⁠jor」でジョルダン乗り換え案内にアクセスしたり、⁠hon」で本棚.orgのページにアクセスしたり、あらゆる状況で頻繁にGyumpを利用しています。

その5「一時的な仕事での利用」

不慣れなAPIなどを調べて使いたいような場合、マニュアルやブログなどたくさんのページを参照しながら理解を深めるものですが、検索したページをすべて開いたままにしておくとブラウザがタブだらけになってしまいます。このような場合、必要になるかもしれないページをGyump.com/sd/api/1Gyump.com/sd/api/2のようなアドレスにどんどん登録しておくようにすれば、タブの数などを気にすることなく後で簡単にアクセスできます。

その6「登録URLのチェックとバックアップ」

通常のURL短縮システムと異なり、Gyumpでは登録されたURLのリストを眺めることができますから、そのページをバックアップしておけばGyumpが使えなくなった場合でも安心です。

Gyumpアドレスのブックマーク

Gyump.com/sd/mapのようなURLをブラウザやスマホでブックマークしたい場合、ブラウザ上でこのようなURLを入力すると、ここに登録されている地図URLにジャンプしてしまうためGyump.com/sd/mapという短いURLをブックマークできません。Gyumpでは、Gyump.com/sd/で表示されるリスト画面の中から「map」を選択するとGyump.com/sd/mapのようなアドレスで登録画面が表示されるので、ここで短いURLをブックマークできます。

Gyumpの利用経験

私はこのシステムを長年活用しているのですが、同様のシステムを活用している人は多くないようなのが不思議です。さまざまなWebページにアクセスしようとするときは、毎回Google検索したり、ブラウザのURL補完機能やブックマーク同期機能を利用したり、Google Mapsのようなサービスが用意している登録機能を利用したり、Evernoteのような情報管理ツールを利用したり、人それぞれにいろいろな方法が利用されているようですが、Gyumpは単純な割に応用が広く、⁠sd/map」のような文字列さえ覚えておけば、あらゆるブラウザで使えるので安心ですし、他人に口頭でURLを伝えるのにも便利だと思います。

Gyumpのようなシステムはもちろん万能ではありません。⁠map」のような適切な名前を思いつかない場合もありますし、登録したものを他人に書き換えられてしまう可能性もあります。しかし運用を工夫すればそれほど困ることはありませんから、メリットを活かして活用するのが良いと思っています。

しくみの単純さと効果の大きさを掛けたものを、筆者はコロンブス指数と呼んでいるのですが、単純なしくみにもかかわらず応用範囲が広く有用だという意味で、Gyumpのコロンブス指数はかなり高いと言えるでしょう。

Software Design

本誌最新号をチェック!
Software Design 2022年9月号

2022年8月18日発売
B5判/192ページ
定価1,342円
(本体1,220円+税10%)

  • 第1特集
    MySQL アプリ開発者の必修5科目
    不意なトラブルに困らないためのRDB基礎知識
  • 第2特集
    「知りたい」⁠使いたい」⁠発信したい」をかなえる
    OSSソースコードリーディングのススメ
  • 特別企画
    企業のシステムを支えるOSとエコシステムの全貌
    [特別企画]Red Hat Enterprise Linux 9最新ガイド
  • 短期連載
    今さら聞けないSSH
    [前編]リモートログインとコマンドの実行
  • 短期連載
    MySQLで学ぶ文字コード
    [最終回]文字コードのハマりどころTips集
  • 短期連載
    新生「Ansible」徹底解説
    [4]Playbookの実行環境(基礎編)

おすすめ記事

記事・ニュース一覧