已经在线上用 2.0 了?大家都很酷啊
顶一下曹晓刚
#5 楼 @limpid 北京这边的团队不是用 ruby 的,业务系统基于 java,引擎基于 C++,如果你有兴趣,gtalk 上联系我一下,我们详细了解 [email protected]
unix 和 linux 上的各种命令小工具一个很烂的地方就是参数太多,第二烂的是参数风格不一致,第三烂的是作为协同主要方式的管道缺少约束,所以用法千奇百怪......
当然是所有用户输入直接变为小写了,登录也不例外,用户不需要知道太多
所有 email,注册时直接转换为小写,不要浪费其它地方的时间了
我承认这是我见过最酷的,求辟谣
大部分都中了......
一直在用,挺不错
mongoid 是支持 locale 的吧
xdite 在推上评价说这个代码是对 RoR 不熟悉的人写的
slim is ok. just remove your script tag. like this
alert("hello")
手工完毕(果然很多没更新)
$ gem source
*** CURRENT SOURCES ***
http://ruby.taobao.org/
$ gem install mime-types
Fetching: mime-types-1.20.1.gem (100%)
Successfully installed mime-types-1.20.1
1 gem installed
Installing ri documentation for mime-types-1.20.1...
Building YARD (yri) index for mime-types-1.20.1...
Installing RDoc documentation for mime-types-1.20.1...
~[1.9.3]
$ gem install rack-ssl
Fetching: rack-ssl-1.3.3.gem (100%)
Successfully installed rack-ssl-1.3.3
1 gem installed
Installing ri documentation for rack-ssl-1.3.3...
Building YARD (yri) index for rack-ssl-1.3.3...
Installing RDoc documentation for rack-ssl-1.3.3...
春节到了,要回家过年了,我先手工更新一下吧
[PS: 刚才看了一下,似乎是 crontab 的问题,手工更新完毕以后如果有空我再研究一下]
#2 楼 @guyanbiao 执行完了自然就结束(也就是你说的关闭
),至于是真是假取决于你对”真“、”假“的定义,如果你指的是是否是操作系统分配的线程
,那么不同的 ruby vm 各有不同,cruby 1.8 是”假“的,cruby1.9、jruby 是”真“的
我是专门去看 ruby 的,看过以后改为专门看 VB 了......
在公司里提这个问题,一个哥们用 scala 给了答案:
trait Mapper {
def apply[A, B](coll: Collection[A])(fun: A => B): B
}
class Serial extends Mapper {
def apply[A,B](coll: Collection[A])(fun: A => B): B = coll map { fun }
}
class Parallel extends Mapper {
def apply[A,B](coll: Collection[A])(fun: A => B): B = coll par map { fun }
}
val map = if (current) parallel else serial
map (db_specs) { build_db (_, _)}
看来我的思路走歪了,其实判断 concurrent 的 if...else 是少不了的,关键是让这个结构独立出来,与具体的 array 和 block 无关,这样才能复用。
ruby 版本
def whenever args
if concurrent?
args.map{ |arg| Thread.new{yield arg} }.map(&:value)
else
args.map{|arg| yield arg}
end
end
whenever(db_specs) do |label,options|
build_db label, options
end
其实骨子里相当于 @fredwu 的方案进行了简化和抽象化
我这里:
$ uname -a
Linux John-ThinkPad-X220 3.5.0-23-generic #35-Ubuntu SMP Thu Jan 24 13:15:40 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
$ gem install triez
Fetching: triez-0.2.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing triez:
ERROR: Failed to build gem native extension.
/home/john/.rvm/rubies/ruby-1.9.3-p327-falcon/bin/ruby extconf.rb
creating Makefile
gcc -O3 -std=c99 -Wall -pedantic -c -I.. ../hat-trie/murmurhash3.c ../hat-trie/hat-trie.c ../hat-trie/ahtable.c
ar -r libtries.a murmurhash3.o hat-trie.o ahtable.o
ar: 正在创建 libtries.a
make
compiling hat-stub.c
compiling triez.cc
cc1plus: 警告: command line option ‘-Wdeclaration-after-statement’ is valid for C/ObjC but not for C++ [默认启用]
cc1plus: 警告: command line option ‘-Wimplicit-function-declaration’ is valid for C/ObjC but not for C++ [默认启用]
linking shared-object triez.so
/usr/bin/ld: build/libtries.a(hat-trie.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
build/libtries.a: 无法读取符号: 错误的值
collect2: 错误: ld 返回 1
make: *** [triez.so] 错误 1
Gem files will remain installed in /home/john/.rvm/gems/ruby-1.9.3-p327-falcon/gems/triez-0.2 for inspection.
Results logged to /home/john/.rvm/gems/ruby-1.9.3-p327-falcon/gems/triez-0.2/ext/gem_make.out
最近没用过,不太确定了
今天清理了一下我的 vim 插件,vundle 已经不用了,目前是 NERDTree, bufferexplorer, taglist, ctrlp 再加上一个搜索函数和一些快捷键设定,感觉速度会快一些。
我承认,吸引我的是标题,这种工作有意义啊
如果当天不加班可以帮忙答疑(俗称聊天 :-))