padrino 还有多线程安全的问题没有解决,参见:https://github.com/padrino/padrino-framework/issues/863
老乡,恭喜!
十分佩服楼主,非常酷,期待教程
让我想起了 798 里面的“熊猫慢递”,将信件寄托在那里,几年以后再发出去。
下载到 ipad 上听,暂时没有想说两句的冲动,可是对一些名词或书名什么的,希望有字幕。
#8 楼 @xwf286 是很详细,他的 Gist 里面也有 3 个例子:https://gist.github.com/panthomakos/1742042
以前问过这种问题 http://ruby-china.org/topics/5650
是不是需要有机制,让一些发贴质量不高的人的帖子不在首页面,这样大家都会发质量高的
喜欢这样的总结与分享
我们项目中使用 mongodb,某张表有 80 万记录。有 2 种业务情况:
一,在后台,管理员有查询功能:
开始,使用 kaminari 插件分页 page(params[:page]).per(20) )
,速度很慢;
然后,使用了limit(20).skip(skip_page*20)
,避免 count 操作,速度有所提升,但还是慢;
最后,使用了where({:_id.gt=>last_id}).limit(20)
,避免 skip 操作,传递每页最后一个记录 id 的方式,速度快。缺点是只有"下一页"这个链接,但是足够管理员使用了。
二,在前台,用户浏览数据时有分页。
我们是把 100 页的数据的 id 放在 redis 的 Sorted set 中,通过 redis 的ZRANGE
方法和 kaminari 插件的Kaminari.paginate_array
方法 (传入 redis 中记录的 count 值) 来进行分页,速度快。100 页以后的数据,是从 mongodb 中读取的,速度慢。
老家山东烟台,五一不能回去。希望下次有机会参与。
也遇到这个需求。 我是模仿源码中的如下代码新建了一个 jump_tag 方法:
%w[first_page prev_page next_page last_page gap].each do |tag|
eval <<-DEF
def #{tag}_tag
@last = #{tag.classify}.new @template, @options
end
DEF
end
然后建立一个 app/views/kaminari/_jump_tag.html.erb 模板,配合 js 实现跳转或 ajax 请求。
@huacnlee "有分页的都不缓存"是基于“数据量大不易缓存和分页”的考虑嘛?
@kenshin54 @donnior 恩,打算重新建立一次搜索引擎的索引试试看
#3 楼 @kenshin54 是走搜索引擎吧,这个也考虑过,不过我们目前使用的是 sphinx,遇到 1 个问题,有些属性当初没有放在索引的建立中,如果这么做的话,需要给所有数据重新建立一次索引。路是行的通,就是感觉不方便。其次,我看一些网站做的这种页面,也没有走搜索,速度也很快。
在考虑一种“笨”方法: 做定时任务,每 4 小时从数据库中读取所有组合条件的查询结果的 id(限制最多返回的记录数),存储在 redis 中。避免每次都直接从数据库中读取,避免建立过多的索引。
大家有遇到过这种需求吗,一般怎么处理?
谢谢,已订阅
吓我一跳,以为有什么重大生产事故呢
@stephen 我遇到的报错“ILLEGAL_SIGN”,是通过“不要让浏览器解析 URL 中的 汉字”的方法解决的,具体的就是我上一次回帖中写的。
谢谢!
@xinzhi 刚刚的截图
@xinzhi 感觉你压力不小。现在登录不上,提示“We're sorry, but something went wrong.”。
做了 3 年企业软件的开发,发现 2 个主要问题日后不容易解决。一是做企业软件除了行业领域基本功外,需要有人脉会应酬;二是不敏捷,从需求调研到系统上线,有较长时间,而且很少有自动化测试,这在系统上线后的改代码来说,是很不好的。然后,开始寻找互联网行业的软件开发模式和语言,看到了 ThoughtWorks 员工的一篇介绍 Rails 的文章,从此开始踏入互联网行业,学习和应用 Ruby。
我用 jquery 的 facebox 插件时遇到 bind 重复绑定的问题
我的解决方法:不要让浏览器解析 URL 中的 汉字。 在传递 URL 给浏览器之前,用 Ruby 的 URI.escape 方法,或者 JavaScript 的 encodeURI 函数,将 URL 中的汉字先进行编码,再传递给浏览器。 参考:http://www.ruanyifeng.com/blog/2010/02/url_encoding.html
我们用的 Padrino 框架,使用的也是 activemerchant_patch_for_china。在不同的电脑上测试,都使用 IE9 浏览器付款,有的会报 ILLEGAL_SIGN,有的能正常付款。正在查找原因
支持一个“初级工程师提供的薪水是 7k - 8k”
@zw963 谢谢提醒