搜索的时候查到这篇文章 -> 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." 这一句应该可以翻译为:“当然,作者也并不做任何担保,并表示不同应用环境下有其相应的风险。”
最需要的时候永远就是入手的最佳时机。
当你自己觉得要用的时候。天天想着什么时候买才最浪费时间。