我一直在寻找解释为什么Twitter必须将部分中间件从Rails迁移到Scala的原因.是什么阻止了他们扩展Facebook的方式,通过添加服务器作为其用户群扩展.更具体地说,Ruby/Rails技术阻止了Twitter团队采用这种方法?
我有一个T-SQL例程,它将用户信息从一个表'Radius'复制到另一个'Radius'.但是,当行被传输时,我还想在INSERT中包含一个独特的随机生成的代码(3个字符长).代码由下面的WHILE循环生成.有什么办法吗?
INSERT Tags (UserID, JobID, Code)
SELECT UserID, @JobID, ?????
FROM Radius
Run Code Online (Sandbox Code Playgroud)
独特的随机码生成器:
WHILE EXISTS (SELECT * FROM Tags WHERE Code = @code)
BEGIN
select @code=@code+char(n) from
(
select top 3 number as n from master..spt_values
where type='p' and number between 48 and 57 or number between 65 and 90
order by newid()
)
END
Run Code Online (Sandbox Code Playgroud)
澄清:这样做的原因是我希望将随机代码生成逻辑保持在SQL堆栈的级别.在应用程序代码中实现这一点需要我每次生成潜在的随机代码时检查数据库,看它是否是唯一的.随着代码记录数量的增加,对db的调用次数随着概率的增加而增加,因此在生成唯一代码之前会生成更多的重复代码.
AFAIK,Asp.net网页模型仅支持每页一个表单帖子.用户输入采用:
if (isPost)
{
// code to capture form input
}
Run Code Online (Sandbox Code Playgroud)
但是,是否可以让Asp.net网页在每页允许多个操作(方法)时更像Rails?
我希望能够让用户单击一个按钮(发布到同一页面),删除数据库中的给定记录,然后刷新同一页面.
我已经看到一些开发人员在用户负载增加时必须用Ruby(Java或C)之外的语言编写其rails应用程序的某些部分(后台处理,执行密集型任务)的几个参考(似乎Twitter是一个例子.这个).这些问题可能主要出现在Rails 1.0 -2.0时代.但是,如果确实如此,我想与运行真实生产应用程序的开发人员确认.
我正在寻找一个很好的Ruby教学指南(几乎任何形式),可以很好地理解使用Rails框架进行编程所需的内容.