OpalでJavaScriptの要らない開発
は、無理ですけど。
Best Casino Sites in UK - Play at Best Online Casinos in 2018!
このコードトランスレータによって、それに近いことは可能になります。
導入や実際の使い方はドキュメントや解説記事に任せるとして、1週間ほど使ってみて分かったことをいくつか。
ちょっとした非互換性
$ ruby -v ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin10.8.0] $ irb irb(main):001:0> def foo irb(main):002:1> 5.times do |i| irb(main):003:2* return 'foo' if i > 3 irb(main):004:2> end irb(main):005:1> irb(main):006:1* return 'bar' irb(main):007:1> end => nil irb(main):008:0> puts foo foo => nil
$ cat app/assets/javascripts/foo.js.rb def foo 5.times do |i| return 'foo' if i > 3 end return 'bar' end puts foo
JSコンソールの出力
bar
ブロック中でreturnした場合の結果が違う
ファイル分割
foo.js.rb
def foo puts 'foo' end
bar.js.rb
puts foo
JSコンソール
foo
定義したモジュール、クラス、メソッド等は別のファイルに書いたコードからでも使える。
rubyコード中のrequireは意味がないようだ。
限定公開機能を考える。
カケラの樹には限定公開機能が実装されており、非公開文書を特定のユーザのみに公開することが可能になってます。
概要としては、
この機能はサービスの初期から実装されているものですが、以下のような設計上の問題を抱えています。
- 相手のOpenID URLが必要
- 閲覧時にログインが必要
- 外部認証ではあるが、初回ログイン時の操作が必要となる。
- 許可リストの視認性が悪い
- ランダムなURLの場合に特に問題
置き換え候補としては、以下の二通りが考えられます。
登録ユーザから許可するユーザを選ぶ
メリットとしては、
- 対象ユーザを検索などで探し出し、グラフィカルに追加可能で操作性がよい
デメリットとして、
- ユーザ検索機能などを新規に構築する必要がある
- 未登録のユーザに公開したい場合、あらかじめユーザ登録をしてもらった上で対象にする必要がある
ランダムなURLを使用する
メリット
- 構造が非常に簡単
- 使用方法も簡単
- 閲覧の際にユーザ登録が不要
デメリット
- セキュリティ的には弱い
後者への置き換えを軸に検討中です。
あと少しでリリース。
現在進行中の読書びよりの再構築プロジェクトですが、開発がほぼ完了しました。
残タスクは以下の通り。
- 最終動作テスト
- 脆弱性検査
- 移行計画作成
- ステージング環境での移行リハーサル
- 本番環境移行メンテナンス
順調にいけば、遅くとも2月の半ばまでにはリリース出来る予定です。今回のプロジェクトは今後の保守運用を容易にするための再構築プロジェクトなのでユーザ側への変化は少ないですが、UIのブラッシュアップや作品詳細ページでの関連作品表示など、いくつかの新機能が投入されます。
Rails3系でセッション有効期限の設定。
3系の資料が見あたらなかったので。
config/initializers/session_store.rb
Kasuganomichi::Application.config.session_store :cookie_store, :key => '_kasuganomichi_session', :expire_after => 2.weeks
これで、2週間有効のセッションになります。
2系だと、
ActionController::Base.session_options[:expire_after] = 2.weeks
と渡していた値をRails.application.config.session_storeに渡してやればOK。
参考
The session_store was configured in ActionController::Base.session, and that is now moved to Rails.application.config.session_store. Defaults are set up in config/initializers/session_store.rb.
Ruby on Rails 3.0 Release Notes — Ruby on Rails Guides
追記
requestに設定してもいいそうです。
Rails3で困っちゃった事リスト - すがブロ
これだと動的にセッション期限を変更できそうですね。
twitter記録やめました。
で、twilogはじめました、と言おうと思ったら前にもう利用スタートしてました。
http://twilog.org/yune_kotomi/