你可以在 gem 目录里 gem build bcrypt-ruby.gemspec
就出现一个 .gem
文件,然后 gem install 这个文件就可以了
再不行就没招了,除非重装 build essentials 系列...
跟我的一模一样... 为什么你就编译不了...
把 #include <errno.h>
改成 #include <asm/errno.h>
可以么?
#11 楼 @Shallow__pace 好吧,彻底不知道为什么了 ($C_INCLUDE_PATH 是空的是对的)... gcc -v
呢?
说明 include 进来的 errno.h 可能不是你改的那个
echo $C_INCLUDE_PATH
看看这些目录里有没有 errno.h
你的系统编码是啥?echo $LANG
看看
我在 ubuntu 上用这个 makefile 改下用户名可以编译成功。
再试试这个:
echo "#include <errno.h>\nint i=EINVAL;main(){};" | gcc -x c -
如果没输出,环境应该就是正常的...
不管什么版本的 kernel, <errno.h>
里都有 EINVAL 的,这个问题实在诡异...
可能是 include 路径里带山寨版 <errno.h>
才造成的,就算你替换掉系统的应该也解决不了问题... 又或者是没把 glibc 认出来
你把 Gem 目录里的 Makefile 列出来看看
1.8.7 还是树遍历解释器,速度慢,1.9.3 速度快 1.8.7 不能调 GC 参数 (基于 1.8.7 的 REE 能调但不维护了), 1.9.3 可以 1.8.7 没有增量 GC, GC 时会卡一段时间,1.9.3 GC 暂停时间分片变短了 1.8.7 怕 Hash 碰撞攻击,1.9.3 用 SipHash 不怕
rails 和很多 gem 都不支持 1.8 了
这是没引入 <errno.h>
造成的,具体 bcrypt-ruby 版本是什么?
我装 3.0.1 在 mac 和 ubuntu 都没问题...
新项目直接上 2.0, 不用考虑以前的版本了
class Array
def rotate_clockwise
reverse.transpose
end
def rotate_counter_clockwise
transpose.reverse
end
end
高维处理你要定义好是什么是旋转...
另外二维的矩阵已经能处理可数维度的问题了,更高维没必要...
Mac 升新系统就是 2.0 了
Rails 4 不支持 1.8 了
wiki 里增加了手册,修了一些在 linux 和不同环境的小 bug
如果这个 floor_num 能在客户端计算,就可以缓存 comment
Rendered shows/_first_floor.html.erb (453.8ms)
这个模板到底干了啥?
#29 楼 @coolesting 如果你只要 cache 字符串,而且规则很简单,就可以用 memcached, 但如果要 cache 其他数据结构如 list 或者 hash 或者 set, 用 memcached 就要自己多做很多工作还没 redis 快。
#23 楼 @coolesting #22 楼 @blacktulip do one thing 只是手段,do it well 才是目的啊 你可以对比下两者的代码量,可以发现 memcached 的代码其实不少,但很多都花在没用的事情上了... 例如兼容 windows. redis 才是专注搞功能和性能,对 windows 就直接告诉你用 cygwin 编译。
memcached 场景变复杂后,就要自己重造一些 redis 早就提供的功能挺郁闷的
#24 楼 @quakewang cool, 这样就全方面胜过 memcached 了
maxmemory-policy allkeys-lru
其实就是 redis 当缓存用要手动刷新 expire 而已,客户端可以自动加 expire 指令不用操心的...
另外当 cache 也不能忽略其它功能啊,memcached 的功能太素了几乎啥都干不了
#11 楼 @coolesting #13 楼 @blacktulip 下面有主题和时间的对应挺好找的...