采用 utf8mb4 类型,对索引名字长度有影响。
发生过类似的事情,有一次偶然 iftop 之后看到 100+M 的数据,我就知道被黑了,然后找到奇怪的进程,杀掉,然后在 ~ 目录发现奇怪的文件夹,删掉,然后改了登陆密码,然后就好了,没有挖的那么深。
看了你的分享,我觉得我是不是根本就没有清除干净?
#44 楼 @mingyuan0715 ppt 写的很完整,很用心啊。
但是我这有个问题:
2.2.0 :001 > class C; end
=> nil
2.2.0 :002 > C.new.class_variables
NoMethodError: undefined method `class_variables' for #<C:0x00000001654bf8>
from (irb):2
from /home/vagrant/.rvm/rubies/ruby-2.2.0/bin/irb:11:in `<main>'
难道我打开方式不对?
如果只是想实现
我希望我的 module fuction 既可以被其他类 include 和 extend 自己也可以通过 ModuleName.funcName 调用
你可以这么做:
module D
def say_hello_of_d
puts "D say hello"
end
extend self
end
class C
include D
extend D
end
D.say_hello_of_d => "D say hello"
C.say_hello_of_d => "D say hello"
C.new.say_hello_of_d => "D say hello"
不符合 ruby mixin 的规范,所以不能这么做。
#38 楼 @mingyuan0715 已改,robbin 会带一个投影过来。
原来如此。
绝世好文
#11 楼 @xiaoronglv 这次月中小聚会就在咖啡馆好了,下次月末的时候,我看看有没有机会在点评组织一次。
@@lgn21st 求置顶
曾经看过一些,sinatra 有些代码还是蛮有意思的,比如 catch throw 的用法。
先收藏了。
感觉加在 request.env 还不如写在 ApplictaionController 里面。
也没觉得把 current_user 当参数传有什么不好的地方,我就非常不喜欢 User.current 这种写法。
升升升
签个小到
升升升
Object 本身也是一个对象。
很多 middleware 都是等 @app.call(env) 完了之后再运行自己的逻辑,比如 rack/etag
alsotang 通过注入用第一个用户发帖。