#28 楼 @yellowstar 呃,英文比较菜,如果有中文版的话还是希望能看中文版。
现在就用着 SmartGit 的每月订阅,感觉也挺方便的。万一哪天我觉得别的 Git 工具更好用了,随时停止订阅就好。又或者哪天我离职了,也可以随时停止订阅节约费用。
#3 楼 @blacktulip 最常见的三种情况:
1 就不说了。 2 的话很有可能变成 PD 的那种情况,就是每次升级把价格定得跟完整版差不多高,然后被用户狂骂。 特别像 PD 这种一升级系统就必须升级软件版本的情况,更是被人骂死,用个 5 年付的钱相当于买了 2、3 个完整版 3 的话用户可以根据需要来付费,如果你软件没有改进,被其他软件超越了,用户还是会停止订阅的。
订阅模式的好处是不用的时候不用付费,特别适合人员变动频繁或者项目变动频繁的公司。
比如 RubyMine 现在是 199/99,5 年累计付费是$600。新模型是 79,5 年累计付费是$400,便宜不少。 有比如有些公司本来用 Java 的,用了两年以后转型做 Ruby 了。按照原来的模型,3 年累计付费是$1000,而新模型下只要$320 就够了。 对于用户来说,如果有一天某个新的 IDE 超越了 RubyMine 了,完全可以转换到新的软件并且停止订阅。对于开发商来说自然也要努力干活避免用户停止订阅。
跪求电子版……
以前有人说过个很重要的事情。
现在的生产技术是两三年就会过时的。 也就是说,你大一学的语言啊软件啊什么的,到大三就已经过时了。
真正不会过时的,只有学习能力与基础知识。
Apache 做个反向代理。(然而这年头我早就不用 Apache 了)
网上还有个更恶心的玩法,[min, p, max].sort[1]
请问哪里有电子版的……
sublime 下 sass coffee erb 都有插件,为何不装?
你传入的其实是 1。
敬告楼上各位。这个免费空间是要收取费用的。
You may assume that the array is non-empty and the majority element always exist in the array.
主要就是 nfs 的可靠性啦。 nfs 部署还是挺常见的,只是类似 PHP 代码会不太适合跨网络启动,因为每次执行网页都会读写网络。Rails 基本只在第一次启动的时候读一次,所以应该会比较好用。
如果能放出现场录像就比较好了。毕竟坐标比较远没法过去听。
#12 楼 @zj0713001 其实最好的是 [0, arg].max
……
本站已通过 360 网站安全检测平台 和 安全联盟 的检测 来 百度口碑 为我们点赞吧
:doge:
#10 楼 @zj0713001 这种函数肯定是三元表达式最好。 arg < 0 ? 0 : arg
count(1) 单次查询肯定是不能代表平均查询时间的
实际是,count(1) 单次查询是根本不能代表查询时间的。因为平日里很少很少会去查 count(1)。你用 count(1) 来做性能评判标准毫无意义。你自己想想,你写的应用里,用过多少次 count(1)?
至于你关于查询 b 的疑问,我为你谷歌了一下,解释如下: (其实 #11 楼 已经贴了,我补全一下
possible_keys 表示搜索可能用到的索引,key 表示实际选用的索引。 有一种可能是 possible_keys 为空,但是 key 不为空的情况。 这种情况下说明 mysql 无法利用索引来搜索数据,但是返回的列却是某个索引的一部分,因此可以用覆盖索引的方式优化全表扫描。 这里你 idx 包含了 p_s 和 u_t,而返回的列是 id 和 p_s,乍一眼看上去并不包含。 然而后面还有解释一句:如果你恰好用的是 InnoDB,那么索引会默认包含主键,也就是说你的索引实际上就是一个 id+p_s+u_t 的索引,完全包含了你的返回值 id+p_s,因此适用于覆盖索引的条件,也就是为什么最后 mysql 会选这个索引的原因了。
希望能帮到你。 http://dev.mysql.com/doc/refman/5.6/en/explain-output.html#explain_key
Rails 的精髓就是:能多用第三方组件的,绝对不要自己写。 回到主题。用 memcache 不是挺简单么,登录失败的时候检查 memcache 对应的值,如果没有就加上次数,如果有就更新次数。把键设置成 10 分钟过期就好了,10 分钟以后键自己消失了也就能再次登录了。
C/C++ 的块是 Scope Ruby 的块是 Block 不是一个东西。
Ruby 的 Block,根据松本菊苣的说法,更类似于匿名函数,也就是类似于 C++ 里的 lambda 表达式。 例如:
a.each { |x| puts x }
相当于
for_each(begin(a), end(a), [](char* s) { puts(s); });
Ruby 的对应语法,begin...end
,是不会像 C/C++ 那样打开新的 scope 的。
另外,花括号引出的代码会被解析成 Hash,而不是块,所以这里会报语法错误。
最后,Ruby 不提倡把方法写得很长。超过 20 行一般就要考虑拆分了。
顺便贴一下之前楼上的帖子 https://ruby-china.org/topics/26097
#45 楼 @douxiance 年轻人…… 我已经老了么 orz
好像用 Windows 开发 Rails 的人好少啊……