top of page

13/9/7

退職直前に福利厚生の人気マッサージを予約したくて、社内予約状況を監視するバッチを作った話

Image by Olia Gozha

  退職が決まり、最終出社日を2月1日と決めた少し後の話。僕には最終出社日にたった一つだけ絶対にやっておきたいことがあった。それは、社内リフィール(マッサージ)を受けることである。

大人気の福利厚生マッサージ

 前職は結構大きい会社だったので福利厚生もしっかりしていて、月2回まで無料でマッサージを受けることができた。マッサージ師の中でも『Fさん』の技術は飛び抜けていて、僕は心酔していた。Fさんは、体を軽く撫でただけで凝っているところがわかるだけでなく、僕がラグビーをやっていたことや朝から胃の調子が悪いことなどをズバっと当てる魔術師のようなマッサージ師だった。


事の発端

 そんなFさんのマッサージを、退職日にどうしても受けておきたかった僕。しかし、Fさんの枠はあまりの人気のために予約開始5分で埋まってしまう。受けたいのは山々だが、いつ更新されるかわからない予約システムを見張るのもめんどくさいなぁ、なんて考えながら当時隣の席にいた先輩Oさんと雑談していた時、突如僕の心に火がついた。

「Oさん、僕もうすぐ退職じゃないですか?」

Oさん「はい、そうですね。」

「僕、退職前にどうしてもFさんのマッサージ受けたいんですよね。」

Oさん「あ〜なるほど。」

「できれば退職日に60分受けたいんですよね。」

Oさん「それはハードルが高いですねぇ。」

「そうなんですよ。かと言って、朝からブラウザに張りついて監視するのも嫌じゃないですか。」

Oさん「ふむふむ。」

「なんかいい方法ないですかねえ・・・?」

Oさん「Seleniumで監視すればいいんじゃないですか?」


「Seleniumで監視すればいいんじゃないですか?」

 この言葉で、僕の中でポチリと何かのスイッチが入った。

 Seleniumというのは、ざっくり言うとWebページの自動テストツール。ブラウザを立ち上げたり入力欄に文字を打ったりボタンを押したり、といったテストを自動的に行うことができる。

 予約システムはWebだったので、確かにやろうと思えばできそうな気はした。Selenium をいじるのも初めてだったが、キャッチアップしてでもやる価値は十二分にあると判断。不敵に笑うOさんを横目に見ながら、Fさんのマッサージ予約公開情報監視バッチ『Fバッチ』を作成することにした。

 とは言え、あまり時間はかけられない。退職直前ということもあって、本業の忙しさが半端じゃなかった。なので、2時間以内に作ることに決めて、ガリガリと書き始めた。


作成開始

 ページ監視に必要な動きは4つだった。

① ログイン

② 次の週へボタンを押下(1週間前から予約可能なので)

③ 退職日の 2/1(金)のスケジュールにFさんがいることを確認

④ 自分のGmailに通知

 ④の部分はメール通知じゃなくて予約のところまで自動化しちゃえばいいんじゃないの?とも思ったが、スケジュールが固定ではないのと、さすがにそこまで自動化するとバグった時にちょっと怖かったのでやめることにした。メール通知でも十分要件は満たせる。

 今ならPythonかRubyで書くのだが、当時の僕はJavaで書くのが一番慣れていて速かった(むしろJavaくらいしかちゃんと書けなかった)ので、Javaバッチで実装することにした。seleniumの実装自体はそんなに詰まることもなく書けて、一応2時間ちょっとで形になった。


そして当日・・・

 当日は、朝10時に出社した。一応テストではちゃんと通知されることを確認していたが、本番では何が起こるかわからないのがシステムの常。どうなることかとドキドキしながら通知を待った。

30分経過・・・

 来ない・・・。いつもはだいたい10時半くらいに更新されるのだが、どうやら手動で日程をアップデートしてるらしくいつ更新されるかわからないらしい。もうしばらく様子を伺うことに。


40分経過・・・

 まだ来ない・・・。若干の不安を感じ始めた僕。普通に予約ページ確認すればいいじゃん、というのはもっともな意見だが、それはなんだか負けた感があるのでできなかった。


50分経過・・・ついに!

 もはや気になりすぎて逆に仕事が手につかなくなってきた頃・・・。

ついに来た!僕のGmailに『Fさんあり!今すぐアクセス!』というプログラムどおりのメールが来たのだった!

速攻ログインして60分コースを予約。この時の達成感はかなりのもので、正直震えた。その日は朝からやり遂げた感いっぱいで、退職前の仕事の整理を気持ちよく行うことができた。

当時を振り返ると・・・

 退職当日は、最後にとても気持ちよくマッサージを受けることができた。最終出社日だということをFさんに告げた時「それでは、一層心を込めて揉ませていただきますね」という言葉をもらったのは忘れられない思い出となり、プログラムが書けるようになってよかったなとしみじみ感じることができた。


 こういう普段の仕事以外で、ちょっとした不便を少しずつ改善していくのはメリットも大きく勉強になる。今やるならChromeプラグインで実装してみたいと思うが、当時もSeleniumをいじるきっかけになったし、その後の本業の経験にも活きている。

 ちなみに予約を成し遂げた時、一つ気になることがあった。メール通知後、僕が速攻で予約した時すでに他に予約してる人がいたことだ。プログラム上、更新からログインまでのタイムラグは1分以内だったはずなので、もしかしたら他にも同じようなことをやっていた人がいたのかもしれない、などと無駄に想像を膨らませていたのだった。


←前の物語
つづきの物語→

PODCAST

​あなたも物語を
話してみませんか?

Image by Jukka Aalho

急に旦那が死ぬことになった!その時の私の心情と行動のまとめ1(発生事実・前編)

暗い話ですいません。最初に謝っておきます。暗い話です。嫌な話です。ですが死は誰にでも訪れ、それはどのタイミングでやってくるのかわかりません。...

忘れられない授業の話(1)

概要小4の時に起こった授業の一場面の話です。自分が正しいと思ったとき、その自信を保つことの難しさと、重要さ、そして「正しい」事以外に人間はど...

~リストラの舞台裏~ 「私はこれで、部下を辞めさせました」 1

2008年秋。当時わたしは、部門のマネージャーという重責を担っていた。部門に在籍しているのは、正社員・契約社員を含めて約200名。全社員で1...

強烈なオヤジが高校も塾も通わせずに3人の息子を京都大学に放り込んだ話

学校よりもクリエイティブな1日にできるなら無理に行かなくても良い。その後、本当に学校に行かなくなり大検制度を使って京大に放り込まれた3兄弟は...

テック系ギークはデザイン女子と結婚すべき論

「40代の既婚率は20%以下です。これは問題だ。」というのが新卒で就職した大手SI屋さんの人事部長の言葉です。初めての事業報告会で、4000...

受験に失敗した引きこもりが、ケンブリッジ大学合格に至った話 パート1

僕は、ケンブリッジ大学トリニティ・カレッジ、政治社会科学部(Social and Political Sciences) 出身です。18歳で...

bottom of page