小编Son*_*tos的帖子

一些猜测客户端连接速度的方法

我必须根据他/她的连接速度做出关于内容权重的动态决定发送给客户端.

也就是说:如果客户端使用的是具有3G(或更慢)连接的移动设备,我会向他/她发送轻量级内容.如果他/她使用WiFi或更快的连接,我会向他/她发送完整的内容.

我试图测量重新加载之间的时间,向客户端发送一个标题Location: myurl.com(有关客户端的一些信息以识别它).这适用于桌面浏览器和一些完整的移动浏览器(如Obigo),但它不适用于迷你(代理)浏览器,如Opera Mini或UCWeb.这些浏览器返回我的服务器和代理服务器之间的连接时间,而不是移动设备.

如果我尝试使用<meta>标记或Javascript 重新加载页面,也会出现同样的情况document.location.

有没有办法发现或测量客户端连接的速度,或者他/她是否使用3G或WiFi等,这适用于迷你浏览器(即,我可以识别通过迷你浏览器的慢速连接)?

connection performance mobile mobile-browser

12
推荐指数
2
解决办法
1434
查看次数

本地SQLite与远程MongoDB

我正在设计一个新的Web项目,在研究了一些旨在实现可伸缩性的选项之后,我想出了两个数据库解决方案:

  • 为可扩展的方式精心设计的本地SQLite文件(每个X用户一个新的数据库文件,因为写入将取决于用户内容,没有跨用户数据依赖);
  • 远程MongoDB服务器(如Mongolab),因为我的主机服务器不支持MongoDB.

我不相信当前共享主机上的MySQL服务器,因为它经常出现故障(我在其他主机上也遇到了MySQL问题).出于同样的原因,我不喜欢使用postgres.

SQLite的优点:

  • 它是本地的,所以它必须更快(我将负责正确使用索引和事务);
  • 我不需要担心tcp嗅探,因为Mongo线协议没有加密 ;
  • 我不需要担心服务器中断,因为SQLite是无服务器的.

MongoDB的优点:

  • 它更容易扩展;
  • 我不需要担心拆分数据库,因为可扩展性似乎很自然;
  • 我不需要担心模式更改,因为Mongo是无模式的,SQLite不完全支持alter table(特别是考虑更改许多生产文件等).

我想帮助做出决定(也许可以考虑第三种选择).当写入和读取操作正在增长时,哪一个更好?

我打算用Ruby.

sqlite database-design scalability mongodb

9
推荐指数
1
解决办法
7764
查看次数

Ruby的"undef"对象是什么?

gc.cMRI实现中,我看到了一个名为的对象undef.那个undef对象是什么?它的课程是什么?我该如何访问它?它有什么用处吗?

ruby core

8
推荐指数
1
解决办法
1311
查看次数

ruby - 如何从eval内部返回?

我有一个代码,我需要在其中使用eval.有时我需要退出eval代码,但我的尝试会导致错误.

例如:

# expected to see 1, 2 and 5; not 3 nor 4; and no errors
eval "puts 1; puts 2; return; puts 3; puts 4"   # => Error: unexpected return
puts 5
Run Code Online (Sandbox Code Playgroud)

我试着用return,end,exit,break,,我不能得到成功.exit不会引起错误,但是我没有得到5.

(注意:我知道这eval是邪恶的,但在这种情况下我需要使用它.)

ruby eval

6
推荐指数
1
解决办法
1673
查看次数

AWS的基本问题

我是AWS的新手,它有很多产品(EC2,负载均衡器,EBS,S3,SimpleDB等),还有很多文档,我无法弄清楚我必须从哪里开始.

我的目标是为可扩展性做好准备.

  1. 假设我想建立一个简单的网络服务器,它访问mongolab中的数据库.我想我需要一个EC2实例来运行它.此时,我还需要更多东西(EBS,S3等)吗?

  2. 在某些时候,我的应用程序已达到足够的流量,我必须扩展它.我正在考虑启动我的EC2机器的新副本(实例).但是它会有另一个IP.那么,如何在两个EC2实例之间分配流量?那是自动的吗?我必须雇用Load Balancer服务来分配流量吗?那么我需要支付2个EC2实例和1个LB吗?此时,我还需要更多东西(例如:弹性IP)吗?

scalability amazon-ec2 amazon-web-services

6
推荐指数
1
解决办法
1423
查看次数

Ruby - 什么是ppp.rb?

这个答案我读过ppp.rb.它被称为"众所周知",但在谷歌上找不到任何相关信息.

我发现它很有趣,我已经调整它来构建我自己的caller_binding版本.

但是,据我所知,这是ppp.rb什么?"ppp"代表什么?我在哪里可以找到有关它的信息?

ruby

3
推荐指数
1
解决办法
354
查看次数

Ruby - 有没有办法获得特征类的实例?

我正在寻找一种方法来获取本征类的实例,因为每个本征类只有一个实例.

我可以通过ObjectSpace来测试每个本征类,但我猜它很昂贵.

奇怪的是,我必须得到每个对象的本征类来测试匹配,因为is_a?这还不够:

class A; end
class B < A; end

AA = class << A; self; end

p A.is_a? AA #=> true
p B.is_a? AA #=> true!!!!
Run Code Online (Sandbox Code Playgroud)

我希望有一个Class#instanceClass#instances方法来获取类(或本征类)的实例.

最直接的方法是从特征类中提取实例inspect,但我想知道我是否可以依赖它:

p AA         #=> #<Class:A>
instance = Object.const_get(AA.inspect.match(/^#<Class:(\w+)>$/)[1])
p instance   #=> A

# (this works for class' eigenclass)
Run Code Online (Sandbox Code Playgroud)

我的用例是我必须得到类方法的类,但是Method#owner给了我本征类,并Method#receiver给了我当前的接收器:

# Continuing previous example
def A.f; end
mtd = B.method(:f)
p mtd.owner     #=> #<Class:A>
p mtd.receiver  #=> B
# I …
Run Code Online (Sandbox Code Playgroud)

ruby instance eigenclass

1
推荐指数
1
解决办法
1002
查看次数