搜索的时候查到这篇文章 -> Redis vs. Memcached: In-Memory Data Storage Systems
发现作者是 Alibaba Cloud,原来阿里云在 Medium 上还有官方账号呢。
让它用起来就像一台内存缓存服务器一般 (allowing it to behave much like a Memcached cache server.)
今日回看才发现这个翻译是错的……由于之前从来没用过 Memcached 作为缓存服务器,中文版这段看的也不仔细,就直接翻译成了缓存服务器。 更新了一下。
2.5 ActiveSupport::Cache::MemCacheStore
这个缓存存储器使用 Danga 的 memcached 服务器为应用提供中心化缓存。Rails 默认使用自带的 dalli gem。这是生产环境的网站目前最常使用的缓存存储器。通过它可以实现单个共享的缓存集群,效率很高,有较好的冗余。
也就是老旧系统需要人催嘛。不过 Rails 社区大家升级的意愿似乎都挺强的。
那条 SQL 查询是放在 ActionController::Base 中,还是 Api::ApiController 中的?
Pomerium: 一款基于身份识别的安全访问代理 An Identity-Aware Secure Access Proxy — 继 一款模仿 Google BeyondCorp 开发的身份识别访问代理。认为 VPN 有用,但不需要 VPN。Built in Go, naturally. (不知道咋翻译,抱歉) POMERIUM
hhhh 刚刚仔细看了一下,VPN 翻译的那句我翻译的什么玩意儿。考虑更新了一下,应该是下面这个意思:
Think VPN access benefits but without the VPN.
想象一下,它拥有 VPN 访问的优点,但又并不走 VPN。
今天的天气特别适合晒一波办公室的新风系统。🌝 可以躲在楼里继续写代码。😷
纠正一下 Extend 那个例子中的一个问题:例子中最终的输出应该是 # This class is of type: Class
。
由于在类中运行 extend Log
使得 Log 中的方法添加给了 TestClass 这个类。所以在 self.class
的值应该是 TestClass 的类。而在 Ruby 中,我们定义的类都是 Class 的一个实例。所以:
TestClass.new.class #=> TestClass
TestClass.class #=> Class
这个问题在英文原链评论区里也有人提到了。另外,还有一个错误。
以下是 $ Ri extend
返回的结果
=== Implementation from Object
------------------------------------------------------------------------------
obj.extend(module, ...) -> obj
------------------------------------------------------------------------------
Adds to obj the instance methods from each module given as a parameter.
module Mod
def hello
"Hello from Mod.\n"
end
end
class Klass
def hello
"Hello from Klass.\n"
end
end
k = Klass.new
k.hello #=> "Hello from Klass.\n"
k.extend(Mod) #=> #<Klass:0x401b3bc8>
k.hello #=> "Hello from Mod.\n"
这里的说明十分清楚,这是一个实例方法。调用者和返回者都是这个实例,所以当我尝试像下面这样定义时:
class TestClass
puts extend(Log) #=> TestClass
end
返回的结果是 TestClass
。
因此我猜想,我们在类定义中使用的 extend Log
实际是一种简写,实际运行的是self.extend(Log)
。
结论是,并不是说使用 Extend 时就是类方法。而是需要注意到我们实际使用的是一种简写,由于是 self(即类本身) 调用了 Extend 这个方法,才使得添加模块中的方法被设定成了类方法。
所以如果希望避免这一误会,可以在类定义中使用 self.extend(module, ...)
而非 extend(module, ...)
。
"still, the author provides no warranty and says that usage is at own risk." 这一句应该可以翻译为:“当然,作者也并不做任何担保,并表示不同应用环境下有其相应的风险。”
最需要的时候永远就是入手的最佳时机。
当你自己觉得要用的时候。天天想着什么时候买才最浪费时间。