我们项目组,使用 mongodb 已经 2 年多了,目前的版本是:2.2.1。针对使用中遇到的问题,谈点我自己的感受吧,既然这个帖子基调已定:),所以好处就不用废话了,就谈点注意事项而已。
为了在开发环境下统计耗时的查询,我 monkey 了 Moped 的代码,这样可以很容易的查看哪些比较耗时的查询。代码如下:
# encoding: utf-8
module Moped
# Represents a client to a node in a server cluster.
#
# @api private
class Node
if Rails.env == 'development'
@@time_consuming_msg = []
alias_method :log_operations_old, :log_operations
def log_operations(logger, ops, duration_ms)
log_operations_old(logger,ops,duration_ms)
time = duration_ms.round(2)
if time > 30.0 # > 50ms
#p '='*100
t_s = "%.4fms" % duration_ms
@@time_consuming_msg << {msg: "#{ops.first.log_inspect} (#{t_s})", time: time}
end
end
def self.print_consuming_time_stat_info(logger)
if @@time_consuming_msg.size > 0
log = MongoidColoredLogger::LoggerDecorator.new(logger)
log.warn "\n"
log.warn "\e[33m#{'*'*100}\e[0m"
log.warn "\e[31m#{' '*32}Query consuming time -- Top ranking list\e[0m\n"
@@time_consuming_msg.sort{|x,y| x[:time] <=> y[:time] }.each do |msg|
log.warn msg[:msg]
end
log.warn "\e[33m#{'*'*100}\e[0m\n"
@@time_consuming_msg = []
end
end
end
end
end
以上如果有问题的地方,还请多多指教。
#1 楼 @blacktulip url 默认大小写确实是敏感的。这种解决方案不错。
#2 楼 @huacnlee 本来应该是敏感的,你可以访问这个: https://ruby-china.org/Topics/20052; 但为什么 https://ruby-china.org/TOPICS 是正常的,我猜是不是哪里做了设置了。
@lgn21st 可以 remote 不?
走好,不送。其实我一直觉得管理员们都太宽松了,楼主显然没去过早期的 JavaEye,也许那边现在还是非常严格,要运营一个好的社区就应该这样。
学 node 的时候,做的 demo : http://showthecode.tk/ ; 可以多人同步 code,同步视频。
楼主不要纠结这些了,离职就是了。这种公司不值得你浪费时间。
rails console --sandbox 应该只对支持 rollback 的 active record 有效。像 mongodb 这些就不起作用了,因为其本身不支持事务 rollback。另外 command+k,ctrl + r,tab 补全 这些功能,在 console 里面也是一样起作用的。
支持一下吧。看回复,人不多啊,楼主应该考虑去 v2ex 也发一贴。
#7 楼 @quakewang 原本看的伤心欲绝的时候,偶然发现一个知音。
少见多怪。。
话说从成都去杭州会不会不适应,楼主以前有没有不适应呢?
好心动啊。好多美女啊!
好想去。
看了 @shooter 的,然后咨询了基友后综合了一下,感觉这个应该比较全了。不全的请大家补充:
ctrl+p shell 中上一个命令,或者 文本中移动到上一行 ctrl+n shell 中下一个命令,或者 文本中移动到下一行 ctrl+r 往后搜索历史命令 ctrl+s 往前搜索历史命令 ctrl+f 光标前移 ctrl+b 光标后退 ctrl+a 到行首 ctrl+e 到行尾 ctrl+d 删除一个字符,删除一个字符,相当于通常的 Delete 键 ctrl+h 退格删除一个字符,相当于通常的 Backspace 键 ctrl+u 删除到行首 ctrl+k 删除到行尾 ctrl+l 类似 clear 命令效果 ctrl+y 粘贴
在 mac 下这些命令可以应用到几乎任何地方,文本输入框,shell,和 Emacs 键绑定几乎一致。感觉 HHKB 还是 Emacs 用户最受益了。
所以楼主还是继续用吧,因为根本不需要方向键啊。哈哈。
刚才咨询好基友后,发现来回查找命令也不发愁了: ctrl+p 上一个命令 ctrl+n 下一个命令 ctrl+r 可以搜索历史命令,很常用的一个 ctrl+a 到行首 ctrl+e 到行尾 ctrl+u 删除到行首 ctrl+k 删除到行尾 ctrl+l 类似 clear 命令效果 ctrl+y 粘贴
这样 mac 下,貌似确实不需要方向键了。