245cloud icon indicating copy to clipboard operation
245cloud copied to clipboard

いろんなオプション機能を選択できるオプション選択画面ほしい

Open fukajun opened this issue 10 years ago • 24 comments

  • 実は隠し機能いっぱいある
  • 好みの問題で動作を変えたい部分がある (最後の24分から始まるなど)

というような問題を解決したいので作りたい

ユーザー毎の値の持つ場所は?

  • DB + Ajaxでユーザー設定取得 <
    • dbの場合は、カラムを特に決めず jsonを1カラムに入れるような実装にしたい
    • 複数ブラウザ間で共有したいのでコチラ
  • LocalStrage(もしくはCookie)

どちらにせよ

user.config.hogemoge_option // => true or false みたいな形で取れると良い

fukajun avatar Feb 29 '16 05:02 fukajun

やりたいやりたい

pandeiro245 avatar Feb 29 '16 05:02 pandeiro245

@fukajun 「 DB + Ajaxでユーザー設定取得」こっちで!

pandeiro245 avatar Feb 29 '16 05:02 pandeiro245

@pandeiro245 その心は?

fukajun avatar Feb 29 '16 05:02 fukajun

@fukajun 同一ユーザが複数のデバイスから利用する可能性があるかなと思いまして!

pandeiro245 avatar Feb 29 '16 05:02 pandeiro245

同一PCでも違うブラウザとかもありそう

pandeiro245 avatar Feb 29 '16 05:02 pandeiro245

@pandeiro245 ごもっともでです。

fukajun avatar Feb 29 '16 05:02 fukajun

オプションの種類として、正式な機能と実験的な機能のLABみたいな2つの種類を設けたい...

fukajun avatar Feb 29 '16 05:02 fukajun

@fukajun いいですね。Gmailの送信キャセル機能が最初LAB機能として後で本機能になった的な。

pandeiro245 avatar Feb 29 '16 05:02 pandeiro245

<書きかけ>

設定値

true, false の場合は、よいけど、trueのときに設定値が必要な場合はどのように持つのが良いか? まずは、 true or falseだけでも良いのかもしれない

{hogemoge: true, mogemoge: 100 }

fukajun avatar Feb 29 '16 06:02 fukajun

mysql のバージョンっていくつですか?

fukajun avatar Mar 01 '16 10:03 fukajun

@fukajun 5.5.42 です!

pandeiro245 avatar Mar 01 '16 10:03 pandeiro245

ちなみに僕のローカルは 5.6.23でした

pandeiro245 avatar Mar 01 '16 10:03 pandeiro245

なるほど、5.7から JSON型がサポートされたので使ってみたかったんですが、残念

fukajun avatar Mar 01 '16 11:03 fukajun

@fukajun やりましょう!それでこその個人サービス!

pandeiro245 avatar Mar 01 '16 11:03 pandeiro245

といってもユーザー設定をどういう形式で保存するのかが一番よいのかを検討していて

  • JSON (railsのシリアライズ) <= アンチパターン
  • JSON (mysqlの型を利用) <= アンチパターン回避策
  • ちゃんと正規化

みたいな感じなんですね。なのでもう少し考えてみます。

fukajun avatar Mar 01 '16 11:03 fukajun

【いいんだけど一応共有】AWSのRDSはMySQL5.7未対応だそうです

pandeiro245 avatar Mar 01 '16 11:03 pandeiro245

いやでもJSON型使ってみたいー

pandeiro245 avatar Mar 01 '16 11:03 pandeiro245

そうなんですねぃ、こういうの見つけました。 https://github.com/ledermann/rails-settings まさにユーザーの設定をもつためのgem

fukajun avatar Mar 01 '16 11:03 fukajun

結局これは、serialize を使用している....

fukajun avatar Mar 01 '16 11:03 fukajun

@fukajun ActiveRecord::Storeじゃダメなの?と思ったのですがそれもserialize(アンチパターン)ってことですよねぇ http://qiita.com/jnchito/items/68e91e9bf46f960a79e4

pandeiro245 avatar Mar 02 '16 07:03 pandeiro245

ですです。なので良い方向でなんか gem を作ろうかとおもってましたがわりとこれで事足りるんでないかと思って....

https://github.com/cjbottaro/has_easy

これ試してみてよければ、これでやってしまうか自分で作るかですね。(作りたい欲求はある)

fukajun avatar Mar 02 '16 07:03 fukajun

@fukajun あーそれかいっそのことmysqlやめてmongodbにします??

pandeiro245 avatar Mar 02 '16 08:03 pandeiro245

mongodbに憧れるのわかる。たしかにそんなに整合性を気にするようなものないですし 使ってもいいかもしれないですけどね。(経験ないです) あくまで、RDBでいくとこまで行きたい派ではあります。

fukajun avatar Mar 02 '16 09:03 fukajun

@fukajun http://qiita.com/jnchito/items/68e91e9bf46f960a79e4 これ、さらっと読んだんだけど、まずはActiveRecord::Storeで作ってみて、安定したらカラム追加する運用じゃだめなんですかねぇ? ユーザ設定なので横串で検索することもないし、集計とかでやりたければユーザ数数百人とか数千人とかなら集計に旅に全データメモリに入れても動く気がする。

pandeiro245 avatar Mar 02 '16 15:03 pandeiro245