CurryBu 開発日誌

今日食べたカレーを共有する CurryBu の開発ブログです。

気になるカレーやお店を探そう!

こんにちは!

CurryBu に新しい機能を追加しました。

カレーやお店を探す

カレーやお店、部員を検索できるようになりました。
ページ上部の検索フォームから、検索したい語句を入れて Enter キーを押すことで検索できます。

現在はシンプルですが、カレーの種類やトッピングなど、便利に検索できるようにしていきたいと思います。

近くのカレー屋を探す

スマートフォンや PC の位置情報を使用して、近くのカレー屋を探せるようになりました。
ぜひ、あなたの近くのカレー屋を探してみてください。カレー屋への大体の距離も表示されます。

フィードバック

フィードバックのリンクを、PC ではページの下部、スマートフォンではメニュー部分に追加しました。
今回紹介した検索機能についての感想や、ここが使いにくい、こういう機能があったらいいな、など気軽に送っていただけると嬉しいです。

頂いたフィードバックは CurryBu の改善の参考にさせていただきます。

以上です。ぜひご利用ください!

http://currybu.com

以下、開発ブログらしく技術系の話を少々...

Elasticsearch

以前から使いたいと思っていたのですが、今回投入しました。
カレーやお店を探す機能で全文検索を、近くのカレー屋を探す機能で地理情報を扱っています。

プラグインは日本語の形態素解析elasticsearch-analysis-kuromoji を使用しており、 elasticsearch-model gem, elasticsearch-rails gem, elasticsearch-persistence gem を使用して Rails に組み込んでいます。

Rails 4.2.1.rc4

Rails 4.2 でサポートされたいくつかの機能を使ってみました。

  • Foreign Key Support: 外部キー制約をマイグレーションで追加できるようになりました。foreigner gem から移行しました。 移行については create_table ブロック内で t.foreign_key という記述が出来ない以外、add_foreign_keyインターフェイスが同じなので特に変更は必要ありませんでした。
  • Active Job: sidekiq_options のようにオプションを渡せず、リトライの設定ができなかったので、しばらくは見合わせです。

もうすぐバージョン 4.2.1 の正式版がリリースされるかと思います。

Ruby 2.2.1

Symbol GCメモリリークが解消されたとのことです。

Ruby 2.2.1で解決されたSymbol GCメモリリーク問題について - Qiita
http://qiita.com/Peranikov/items/784ab53b772ff7914ffa

jQuery 2

jquery-rails gem のアップデートで jQuery のバージョンを 1 系か 2 系かで選択できるようになったので、jQuery 2 を使用するようにしました。

以下のように jquery2 を指定します。

//= require jquery2
//= require jquery_ujs

その他

Gem のバージョン指定について、固定する必要があるもの以外は固定しないようにしました。
また、Gem のアップデートについてこれまではひとつずつ行なっていましたが、ある程度のテストを書いているので、 CHANGELOG や diff に目を通しつつ、まとめてアップデートするようにしました。

ではでは。