复习 Ruby 扫到了这个帖子。因为标题是《翻译 Rails 中的事务处理》,我补充一点:
事务处理一定要谨防死锁。
ActiveRecord::Base.transaction do
david.withdrawal(100)
mary.deposit(100)
end
万一 David 给 Mary 转账的同时 Mary 也正在向 David 转账,就可能死锁。
没有导出功能,项目终结之日用户怎么找回文章?一般小项目、小公司很少有存活超过两三年的,没这个功能,恐怕拉不来用户。
数据可以导出吗?包括但不限于作者的文章和评论。
"在您所在当地城市顶格缴纳五险一金。"
这个很厉害,如何做到的?覆盖全国的人事代理公司可不多。
+1
"如果有会员的帖子想要找回来的话,请联系我,我会单独恢复你的帖子,并对内容做脱敏处理"
如果将所有会员的帖子都找回来,难点是什么?为什么要单独恢复。统一脱敏仍然有“危险”?
在本版发帖不是要求写明待遇吗
报名(小概率不会参加)。
生活中一般 cross 就写作 x x 也读为 cross.
尽量不要用正则。正则的解析很慢。
考虑把 keywords 存为树结构。减少比较次数。
备注下:子域名可定义为/(\w+).\w+.\w+$/中捕获的部分。例如 a.b.c.d.e 的子域名为 a.b.c a.b 没有子域名 a.b.c 的子域名为 c
#4 楼 @africwildman 你提供的这个方法在我的全新 mac 上无法使用。其中 ruby extconf.rb 的作用是什么?
顶一个,不解释。
感觉算法似乎还不够强,但点子足够好。
#25 楼 @still0007 2016 年毕业的收不收?可以提前过来实习(最近)
#8 楼 @easonlovewan ruby china 好像没有投票功能
我觉得可以发起个投票统计下。
#9 楼 @roclv 你说的条件并不可达。变量名的话,数组用 a 似乎是可接受的惯例,在很多算法书中,p 可以表示开头,r 表示结尾。m 表示中间。在面试当时,ta 我写的是 target。昨晚将 target 写成 ta 这个习惯确实不好(主要是为了代码少,当时为了写完 target,A4 纸一行都写不下了。面试时在纸上写完整变量名会更有帮助吗? )。这个给一个 java 的完整实现,可以发现 p2r3 时没有循环。
package algo;
/**
* Created by ace <[email protected]> on 11, 10, 2015.
*/
public class BaiduSearch {
public static int bbsearch(int[] a, int ta) {
int p = 0;
int r = a.length;
while (p < r) {
int m = p + (r - p) / 2;
if (a[m] < ta) {
if (m + 1 == a.length || a[m + 1] >= ta) return m;
p = m; // 被修改的一行
} else {
r = m;
}
}
return -1;
}
public static void main(String[] args) {
System.out.println(bbsearch(new int[]{0, 1, 2, 4, 5, 6}, 3));
System.out.println(bbsearch(new int[]{0, 1, 2}, 3));
System.out.println(bbsearch(new int[]{2, 2, 2, 2}, 3));
System.out.println(bbsearch(new int[]{0, 1, 2, 3}, 3));
}
}
如果还是觉得有死循环的话,希望能给个能 fail 掉的用例。
def qsort(a)
return [] if not a or a.size<1
nxt=a.group_by{|i| i<=>a[0]}
qsort(nxt[-1])+nxt[0]+qsort(nxt[1])
end
@msg7086 这样确实更好,但感觉我的写法还不是最好的。
已出,谢谢关注。