千客万来……そしてシステム上の問題が

  • 投稿日:
  • by
  • カテゴリ:

反響がなくて淋しい……と、USB Selectの宣伝を、ほんの数箇所にしたら、今日は、非常に多くの有名サイトでも取り上げていただいたようで、見たこともないくらいの勢いで、本日の来訪者数のカウントが上がり続けております。紹介してくださった皆さん、来て下さった皆さん、本当にありがとうございます。ご意見やご感想は、ここらにコメントしてくださっても、掲示板の方に書いていただいても構いませんので、ひとつよろしくお願いします。

さて、ところで、本当にマイナーなサイトなもので、本日の来訪者数はごらんのように三桁しか確保されていません。これは自分で組んだCGIで表示しているのですが、何しろ、作ったのははるか昔のことなので、「桁があふれたらどうなるか」ということが、思い出せませんでした。で、覗いてみたのですが……思いっきり、あふれた瞬間に、上一桁を捨てて表示するという、恥ずかしいコードになっていました oTL
それもこれも、予定した桁を越えることなんて、まさしく「想定外」だったからですが、それにしても、東証並にみっともない話です oTL

しかし、ここで、溢れるに任せていては、それこそ東証です。いや、溢れそうになったらサーバ止めちゃうのが東証か(爆)。止めなくても、。表示が間違っているだけで、カウントそのものは、バックエンドで PostgreSQLが数えまくってくれていますので、問題ないのですが、コレを機に、正しく増強してこそ、東証並のそしりを免れ得るというものです。……考えること5秒。修正方法を見つけて実装しました。これで、今日中に1000人来ても大丈夫です……来なかったら、一人で騒いでバカみたいですが oTL

カウンタのCGIはRubyで書かれています。バックエンドには、書いたようにPostgreSQLが鎮座しています。問題の、表示部分は、HTMLの方から、digitsで指定された桁数で表示をするようになっているので、このdigitsが不足したら自動的に拡張するようにすればいいわけです。

digits += 1 until count < 10 ** digits
と、たったこの一文を挿入すればおしまいです。(countは表示すべきカウント数) 簡単でしょう? え、なんで始めっから、そうなっていなかったのかって? それは、やっぱり、が……悪かったんですよね、やっぱり、作った奴の…… o...TL