読者です 読者をやめる 読者になる 読者になる

すがブロ

sugamasaoのhatenablogだよ

イマ乗りをリリースしました

ruby sinatra サービス イベント

イマ乗りとは

クックパッドの「開発コンテスト 24」でのエントリー作品です
「朝起きてから学校や会社に行くまでの時間をより便利にするためには」

というお題に対して、24時間で成果物をリリースするというもの。

で、何を作ったの

イマ乗りという Webサービスです。

概要

毎朝、電車で移動する際に、イマこの電車に乗ったら何時に会社に着くの? 遅刻しないで大丈夫?という確認をする時に、入力の手間を省こうというコンセプトです。
また、移動時間を加味して5分後とか10分後の電車に乗った場合は……とかを考えて検索するのも面倒くさいですよね。なので、予め今から5分後を検索する、という風にしておけば、毎回時間の調整もしなくて済む。ライフハック

重要なこと

これ、駅探 - 乗り換え案内・時刻表・運行情報 をもりもりスクレイピングしているので、怒られるかもしれない。怒られたらこのサイトはなくなりますw

技術的な話

例の如くですが……

で作りました。
今回はじめて、まともに Mechanaize を使ったのですが、非常に楽な反面、使いこなすにはそれなりに慣れが必要っぽいですね。というか、form の操作はよく分かったのですが、dom の操作とかがまだイマイチ掴めてないです。

開発の流れ
  • Mechanize でスクレイピングと Submit して、値を抜き取るところまでで2時間くらい掛けた
  • 1時間くらい、Sinatra/Haml でざっくりの画面遷移を実装

ここまでやって金曜日は力尽きた。翌日はなんやかんや言って、14時後半くらいから実装開始。

  • Haml で画面を作ってく。色々忘れて書きにくいw
  • なんか欲しいデータと検索結果が違うので修正

ここまでで18時くらい。晩飯食べに外に出る。19時くらいに帰宅。

  • Haml での作り込み再開
  • jQuery つかって入力チェックとか作成

あ、ヤバイ。20時30分くらいになった! VPS にアップして応募しないと。

  • うほ、not found になるwww あ、htdocs に ln すんの忘れてた
  • ひゃー、SubURI の設定でパスが変わるの忘れてたwww
  • 21時ピッタリくらいになんとかエントリーフォームから応募
  • 落ち着いて VPS 上のアプリの動作を確認する → タイムゾーンがアメリカなので時間がずれてる!!←イマココ

…これ、さすがに直したいんだけどダメかなw
というか、クライアントから時刻もらうべきだったか……!?
いや、逆にサーバのタイムゾーンを直せば良いか。試してみよう(タイムゾーン修正した)。

というわけで、興味のある人は

ケータイとか iPhone のホームにショートカット作っていつでもアクセスできるようにしておくと良いんじゃないかな!*1

わかりにくいけど、右下の白いヤツね。

*1:というか、そうしたくて作った