微服务或者说分布式系统 的核心是分布式团队 上文中 3 个人维护上百个服务 本身就是一种反模式 但假如是 amazon 的模式 微服务就是最佳实践了 关键还是看团队
买了 mbp 的人一般都会反对别人去玩黑苹果... 这个算是心态问题么..
貌似玩版本号始作俑者是 chrome..
无聊时候跑过一次 sinatra.. rails 没试,估计起来就可以让 256 内存的 ipad1 崩溃了
这个很不错... 高性能 web 程序必备
加油快点喜欢一个高亮出来吧~ 想看高亮效果呢~
也许可以智能一点,不进行强制... 发帖页面填完标题以后在边栏提示相关的帖子,并提示"提问请前先参考别的帖子", 更进一步也可以加入 google 的搜索结果。
多一点指引显对新手更加友好,也能减少对其他人的依赖,也许从功能上弥补,比从规则上强制要更符合软件开发者的思路。
我觉得,加载 model 不是很慢.. 可以接受... 楼主不是在 windows 下开发吧... 另外升级到 3.2 也有助于 development 下的性能
如果服务器在公网上,用 basic-auth 建议挂上 https, 以前有个朋友因为偷懒没加密,结果丢了 mysql 密码
用虚拟机在 win 下开发可以考虑 http://www.colinux.org/ , 一个原生的'虚拟机' 把 linux 内核作为 windows 驱动程序运行,配置比较麻烦,但性能很不错
处理图片时候写入临时文件然后处理。不然处理图片过程和图片本身都要占据很大内存,不利于 scale
#1 楼 @willmouse 我只是不确定 guides 上是不是错了... 因为还没查到有人提出 issue
#14 楼 @chucai 不是一个层面的东西...解释型语言只是用解释器执行而已,并不一定拥有动态语言的特性,而有一些编译型的语言,却具有动态特性,比如 objective-c 具体请看 wiki ~ http://zh.wikipedia.org/wiki/%E5%8A%A8%E6%80%81%E8%AF%AD%E8%A8%80
楼主其实说的是动态语言的本质
几乎所有语句都在运行时执行,而不同于静态语言
比如:定义变量,定义函数,定义 class 之类的,在 C 语言里由编译器执行。而在 ruby 里定义过程本身也是代码,也有返回值,都在运行时执行
这个有什么规律没有?
#2 楼 @ruohanc 关于这个话题推荐你看一下 http://asciicasts.com/episodes/237-dynamic-attr-accessible ,另外 rails3.1 以后,mass assignment 加了一个 role 参数 http://guides.rubyonrails.org/3_1_release_notes.html#active-model 这个特性也可以利用
楼主你用的是不是 3.2 以后的版本?默认开启了config.active_record.whitelist_attributes=true
所以等于加了一个空的attr_accessible
可以关掉这个参数,在application.rb
下
最近买了一本 http://pragprog.com/book/dnvim/practical-vim 相当实用~ 对了前几天还看到一个 vim 大冒险的游戏 http://vim-adventures.com/
玩过 beta 了,找不到以前的感觉了.. 这暗黑除了效果好点,内容多点,比火炬之光之流已经强不到哪里去了
#23 楼 @zw963 所有的 block 都是其定义环境的闭包,在默认状态下 block 可以调用其创建环境的局部变量,这和异步同步无关
def a(&block)
s = "hello, world!"
yield s
end
a {|x| puts x}
你这个例子不典型,但是不代表就不能体现 传给 a 的 block 里能调用其定义环境的局部变量,也就是外部,在这里是 object 的 class 内部..
比如最简单的例子
def method
msg = 'hello'
3.times.each {puts msg}
end
上例中调用 method,3 作为一个 num 对象的 times 函数,本身执行过程中是不能访问 method 的局部变量 msg 的 (也没有通过参数传入),但是通过 yield 调用了外部创建的 block 以后就能访问到这个变量,这里 times 是一个同步方法,不存在延迟调用的问题,但他确实在自身执行过程中间接访问了 block 定义环境中的变量,也就是说 block 记住了自己被创建的环境,他永远运行在自己被创建的环境下,而不是调用他的环境(这里是 FixNum 对象 3) 而 block 如果转为 Proc 或者 lambda,作为变量,能够延长局部变量的生命周期,使他们在创建他的函数执行完毕以后能够继续存在不被回收,这是闭包的另一个特性。