Re: how to handle 4K session in camping

2013-12-10 Thread Francois Sery
Bonjour,
Thanks for your help. Here is how i've modified my app.
now i have
 - a 'session' model
- a  sessions table with a column for my data...
- a session cookie: @state[:sessionid]=SecureRandom.hex
It works as wanted but i have one more question.

how do you handle all the obsolete sessions in the database ?  my code
already delete some sessions. but  some  other sessions can't be deleted
from the flow of my app.  What are the available solutions?  cron ? or
something else maybe?

Merci.




2013/12/7 Bluebie a...@creativepony.com

  If you fill the session cookie with 4kb of data, that means every http
 request after that to that domain will require the user to upload 4kb of
 data, which may not seem like much, but on a mobile phone for instance,
 loading a page with 50 images, that becomes 4*50 = 200kb - pretty
 significant considering most home internet connections do not have very
 fast upload in many countries. On my own internet on a good day that’s at
 least 2 seconds of uploading.

 So it is best to use session cookies only to store a very small
 identifier, then store more information in a local database or file. If you
 have a look in the rack project you’ll see some other session handlers
 which do exactly this, so you can keep writing data in to the ‘session’ but
 have it stored locally, with only a small cookie with an ID number to
 lookup the local data stored in to the browser.

 —
 Bluebie

 On Saturday, 7 December 2013 at 8:27 am, Charles McKnight wrote:

 Sure wish the W3C would devise a better state mechanism than cookies...

 On Dec 6, 2013, at 12:49 PM, Magnus Holm judo...@gmail.com wrote:

 You should not store a large amount of data in the session. The
 session is stored in a cookie, and everything you store there has to
 be sent back and forth over the network. You can however store an ID
 in the session and lookup data in your database.

 // Magnus Holm


 On Tue, Dec 3, 2013 at 12:04 PM, Francois Sery sery.franc...@gmail.com
 wrote:

 hi , i need some advices.
 I a little Camping app i have to store a cart in a session . i tried
 achieving it using the default camping/session but it is limited to 4K and
 my card miss some data.
 how can store more than 4k in a session ? thanks.

 ___
 Camping-list mailing list
 Camping-list@rubyforge.org
 http://rubyforge.org/mailman/listinfo/camping-list

 ___
 Camping-list mailing list
 Camping-list@rubyforge.org
 http://rubyforge.org/mailman/listinfo/camping-list


 The game's afoot. Follow your spirit, and upon this charge, cry God for
 Harry, England, and St. George. --- Sherlock Holmes

 ___
 Camping-list mailing list
 Camping-list@rubyforge.org
 http://rubyforge.org/mailman/listinfo/camping-list



 ___
 Camping-list mailing list
 Camping-list@rubyforge.org
 http://rubyforge.org/mailman/listinfo/camping-list

___
Camping-list mailing list
Camping-list@rubyforge.org
http://rubyforge.org/mailman/listinfo/camping-list

2 differents layout for my app

2013-12-10 Thread Francois Sery
(re)bonjour,
is there a simple / elegant way to have 2 differents layouts for my app.
All the solutions i think of  seems unmanageable  and not very smart.

(re)merci
___
Camping-list mailing list
Camping-list@rubyforge.org
http://rubyforge.org/mailman/listinfo/camping-list

Re: 2 differents layout for my app

2013-12-10 Thread deveritt
If the markup is semantic and nicely-structured, I'd simply do a CSS
switch that uses local storage to persist between visits, as I've done
here for the colour theme (http://ee.ecoconsulting.co.uk/ switch, top
right) but expanded to div widths, etc. Is that what you meant? -
DaveE
-
Email sent using Kcom WebMail - Email, Groupware and Calendaring done
right.
___
Camping-list mailing list
Camping-list@rubyforge.org
http://rubyforge.org/mailman/listinfo/camping-list

Re: how to handle 4K session in camping

2013-12-10 Thread låzaro
Sorry for the thread hacking but, how could be run camping as standalone CGI
-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.

Bluebie a...@creativepony.com escribió:
Unless you’re running your camping app as a CGI script, the ruby
instance keeps running, so you could just create a looping thread to do
it every now and then:  

hours = 2 # cleanup every two hours
Thread.new do
  loop do
# some database cleanup stuff
sleep hours * 60 * 60
  end
end

The only trouble with that is you’d have it happening multiple times if
you run multiple ruby servers behind a proxy like nginx, which is a
pretty common configuration. Probably cron is the best way to go if you
can easily do that. Otherwise you could attach it to some other event -
like you could spawn a thread whenever a user logs in, which cleans up
the sessions. If you wanted it to happen less frequently you could use
rand() to generate a random number, then, say, cleanup if rand  0.01
if you only wanted to cleanup sessions every 1 out of 100 times someone
logs in, roughly. That’s a stratergy people use a lot with systems like
PHP where cron can be difficult to setup and access.

I wouldn’t worry about it too much though. Your sessions will probably
still be quite small (only a couple dozen kilobytes, right?) so you can
probably just let them build up and then every six months or year or so
go and delete all the database records that are more than a week old in
that table. Storage is so cheap these days!  

—
Bluebie


On Tuesday, 10 December 2013 at 9:29 pm, Francois Sery wrote:

 Bonjour,
 Thanks for your help. Here is how i've modified my app.
 now i have
  - a 'session' model  
 - a  sessions table with a column for my data...
 - a session cookie: @state[:sessionid]=SecureRandom.hex
 It works as wanted but i have one more question.
  
 how do you handle all the obsolete sessions in the database ?  my
code already delete some sessions. but  some  other sessions can't be
deleted from the flow of my app.  What are the available solutions? 
cron ? or something else maybe?
  
 Merci.
  
  
  
  
 2013/12/7 Bluebie a...@creativepony.com (mailto:a...@creativepony.com)
  If you fill the session cookie with 4kb of data, that means every
http request after that to that domain will require the user to upload
4kb of data, which may not seem like much, but on a mobile phone for
instance, loading a page with 50 images, that becomes 4*50 = 200kb -
pretty significant considering most home internet connections do not
have very fast upload in many countries. On my own internet on a good
day that’s at least 2 seconds of uploading.  
   
  So it is best to use session cookies only to store a very small
identifier, then store more information in a local database or file. If
you have a look in the rack project you’ll see some other session
handlers which do exactly this, so you can keep writing data in to the
‘session’ but have it stored locally, with only a small cookie with an
ID number to lookup the local data stored in to the browser.  
   
  —
  Bluebie
   
   
  On Saturday, 7 December 2013 at 8:27 am, Charles McKnight wrote:
   
   Sure wish the W3C would devise a better state mechanism than
cookies...

   On Dec 6, 2013, at 12:49 PM, Magnus Holm judo...@gmail.com
(mailto:judo...@gmail.com) wrote:  

You should not store a large amount of data in the session. The
session is stored in a cookie, and everything you store there
has to
be sent back and forth over the network. You can however store
an ID
in the session and lookup data in your database.
 
// Magnus Holm
 
 
On Tue, Dec 3, 2013 at 12:04 PM, Francois Sery
sery.franc...@gmail.com (mailto:sery.franc...@gmail.com) wrote:
 hi , i need some advices.
 I a little Camping app i have to store a cart in a session .
i tried
 achieving it using the default camping/session but it is
limited to 4K and
 my card miss some data.
 how can store more than 4k in a session ? thanks.
  
 ___
 Camping-list mailing list
 Camping-list@rubyforge.org
(mailto:Camping-list@rubyforge.org)
 http://rubyforge.org/mailman/listinfo/camping-list
  
 
___
Camping-list mailing list
Camping-list@rubyforge.org (mailto:Camping-list@rubyforge.org)
http://rubyforge.org/mailman/listinfo/camping-list
 


   The game's afoot. Follow your spirit, and upon this charge, cry
God for Harry, England, and St. George. --- Sherlock Holmes

   ___  
   Camping-list mailing list
   Camping-list@rubyforge.org (mailto:Camping-list@rubyforge.org)
   http://rubyforge.org/mailman/listinfo/camping-list



   
   
   
  ___
  Camping-list mailing list
  Camping-list@rubyforge.org (mailto:Camping-list@rubyforge.org)
  

Re: 2 differents layout for my app

2013-12-10 Thread Francois Sery
@deveritt: i dont want to switch css. My app has a front end and an
admin .
The front end is the public face of my app and th e'admin' is where i
manage the content. the visual design of these 2 part are very different
and it would be nice to have 2 independant  layout   . maybe, i don't even
know if it is possible , i could run 2 distinct app sharing the same
database or something like that. what do you think ?


2013/12/10 dever...@innotts.co.uk

 If the markup is semantic and nicely-structured, I'd simply do a CSS
 switch that uses local storage to persist between visits, as I've done here
 for the colour theme (http://ee.ecoconsulting.co.uk/ switch, top right)
 but expanded to div widths, etc. Is that what you meant? - DaveE
 --
 Email sent using Kcom WebMail - Email, Groupware and Calendaring done
 right.

 ___
 Camping-list mailing list
 Camping-list@rubyforge.org
 http://rubyforge.org/mailman/listinfo/camping-list

___
Camping-list mailing list
Camping-list@rubyforge.org
http://rubyforge.org/mailman/listinfo/camping-list

Re: how to handle 4K session in camping

2013-12-10 Thread Magnus Holm
On Mon, Nov 4, 2013 at 8:55 PM, låzaro ad...@lex-sa.cu wrote:
 Sorry for the thread hacking but, how could be run camping as standalone CGI
 --
 Sent from my Android phone with K-9 Mail. Please excuse my brevity.

You can use Rack:

app.cgi:

  #!/usr/bin/env ruby
  require 'rack'
  require 'my_app'
  Rack::Server::CGI.run(MyApp)
___
Camping-list mailing list
Camping-list@rubyforge.org
http://rubyforge.org/mailman/listinfo/camping-list