Redian新闻
>
读Ph.D.,做科研工作的优点 -- 绿卡数据分析
avatar
读Ph.D.,做科研工作的优点 -- 绿卡数据分析# Chemistry - 化学
g*l
1
如题,今年9月H1B的第一个三年马上到期(2011年9月-2014年9月),我打算今年2月初
回国一趟,3月初再回美国,需要去大使馆搞个新的H1B签证。现在用不用在美国国内
renew H1B身份?谢谢
avatar
r*c
2
今天的活动,我个人感觉还是很成功的,有几点和预先估计的偏差比较大,希望可以给
后来人一些启发,并做出相应的对策
第一是关注程度,我们今天第一站是Sontana Row,据说是很贵的Mall,在加州这样的
地方,第一次见白人比例这么高。我们十来人举着poster,发放flyer,另有一个捐款
箱。很多人,可能超过70%,都行色匆匆的走过,看都不看,这个和我的预期相差很多
,但是事实就是事实,这些人列入放弃争取的人群吧。后来第一批flyer发完之后,我
们又转战去了今天晚上有活动的mountain view downtown,那里正在举办Street Fair
,五六个block都变成步行街,人流虽然不是特别熙攘,但是也不少。这边比Sontana
Row好很多,大概有50%以上的人会流露出关注的意向,而且要赞几个mm,直接走上街去
approach 行人,效果非常好。我承认事前我的估计还是过于乐观,不过下次就知道期
望值应该定在多高了。
第二是捐款金额,很多都是一块两块,还有人捐几个quarter,少数一些会捐10块20块
。我们再Sontana Row募到的钱,可能没这些人吃午饭和加油的
avatar
j*e
3
情节对白基本是黑色幽默,而且那段twist怪异滑稽得让人过目不忘。
很多人称赞它的超前的叙事手法,我感觉到一般,因为时间上有些混乱。
http://www.youtube.com/watch?v=Ik-RsDGPI5Y
avatar
a*2
4
我为什么还是那几本书,不应该是android的桌面马,还有安装程序后没有在EXTRA里出现
,是不是我ROOT错了
avatar
f*w
5
不知道现在的best practise 是什么
是把REST API和db 放一起测试 还是分开测试然后mock所有的数据库操作 ?
google了下好像说什么的都有
有什么好用的包或什么的吗?
非常感谢哈
avatar
d*o
6
下面为大家提供美国政府公布的绿卡统计数字,以及我们的分析,供大家参考和相应制
定绿卡申请策略。本文节选自我们的年度总结,没有任何商业信息。有兴趣的请通过我
们在MITBBS首页的广告(十大话题左边,未名交友下面)联系我们。从下面的数字可以
具体看到,读下来Ph.D.,做科研工作,在办绿卡方面的优势。
2014财政年度里(2015财政年度的总数目前还没有公布),来自中国大陆的申请人有6,
167人通过EB-1取得绿卡(包括EB-1A, EB-1B, 和EB-1C),有3,561人通过EB-2取得绿
卡(包括NIW和PERM),有3,676人通过EB-3取得绿卡。还有9,128人通过投资移民EB-5
取得绿卡(其中绝大多数是通过区域中心)。这些数字都包括主申请人和家属(配偶和
未成年子女),包括在美国申请I-485的和在中国申请移民签证的。除了投资移民,数
字和上一财政年度基本持平----此前一个财政年度里面通过EB-1,EB-2,EB-3,和EB-5取
得绿卡的中国申请人分别有6,249人,3,627人,3,229人,和6,895人。换句话说,来自
中国的投资移民比上一个财政年度多了两千多人。现在投资移民的数量比EB-2和EB-3的
总和还要多很多,大概是EB-1总数的一点五倍。
按照目前的移民法规定,投资移民有一个每年一万人的上限。因此才出现了排期,因为
投资移民的visa number供不应求。如果没有这个上限,投资移民的数字还要多很多。
根据国会在2015年12月通过的预算法案,在本财政年度(到2016年9月30号)投资移民
的总数上限没有变动,通过regional center的50万美元投资额也没有变动。来自中国
的投资移民越来越多,早已经不限于土豪们。一些大城市的工薪阶层,包括笔者自己的
同学和朋友,也开始询问投资移民的手续。“书中自有黄金屋”,成功取得EB-1或者
NIW的批准,和亲戚朋友同学相比,就省下了这五十万美元。实际上,因为来自中国的
EB-5投资移民申请人太多,从几个月前开始就已经需要排期。目前排期只到2014年1月
初。换句话说,现在走EB-5途径,出了这些钱,还要比同时提交申请的EB-1申请人晚两
年左右才能拿到绿卡。
所谓EB,指的是职业移民(employment based,包括投资移民);与此相对的是亲属移
民。在2014财政年度,来自中国大陆的申请人里面,有两万多人通过亲属移民取得绿卡
。其中有三千人左右是美国公民的配偶,有六千人左右是年满二十一周岁的美国公民的
父母,有一千人左右是美国公民的未婚成年子女,有四千人左右是绿卡持有者的配偶,
有几百人是绿卡持有者的未婚成年子女,有一千六百多人是美国公民的已婚成年子女,
还有近七千人是美国公民的兄弟姐妹(以上包括一些主受益人的家属,不包括在美国直
接调整身份的一些美国公民的直系亲属)。
和印度人相比,来自印度的亲属移民和中国的总数差不多,投资移民数量只有中国的百
分之一,EB-1的数字是中国的两倍(主要是EB-1C多,印度人更愿意通过跨国公司经理
方式移民而不是投资移民),EB-2的数字是中国的6.6倍(所以印度EB-2的排期更长。过
去若干年里出台的各种利好消息,比如绿卡申请期间可以换工作,一些H-4可以申请EAD
,等等,主要得到他们的支持和推动,中国NIW和PERM申请人也从中受益),EB-3的数字
和中国持平(印度EB-3的排期很长,所以能转的都尽量升级成EB-2了)。
综上,目前每年有一万三千多中国人通过EB-1,2,3类职业移民取得绿卡,其中EB-1A/B
和NIW的主申请人大约四千多人。还有一万左右中国人通过EB-5投资移民取得绿卡,有
两万多中国人通过亲属移民取得绿卡。还有的主要就是政治庇护。
中国是世界第一人口大国,人口超过整个西半球的总和,是从墨西哥到巴西的所有拉丁
美洲国家人口总和的两倍。跟据报道和美国国务院公布的学生签证数字,目前每年有超
过10万中国留学生来到美国,还有几万访问学者和博士后持J签证在美国工作,此外还
有他们的家属。按照美国国务院公布的数字,2014财政年度发给中国人的非移民签证数
字接近180万(主要是B类旅游探亲商务签证,也有F类学生签证,J类签证等等),比
2013财政年度增长了30万,是2009财政年度的三倍以上。
那么,来到美国以后取得绿卡的情况是怎么样的呢:按照美国国务院公布的数字,取得
绿卡的人里面,有两万六千左右是在广州办理的亲属移民签证(这里包括美国公民收养
的中国小孩,每年两千多一点),还有一万左右是在广州办理的职业移民签证(主要应
当是EB-5类投资移民,还有一些EB-3,和少数其他EB类),剩下的,除去政治庇护,还
剩下一万三千左右是在美国通过EB-1,2,3类职业移民,通过提交I-485在美国取得绿卡
的。这些申请人主要是在美国的学生,学者,和职业人士。这类绿卡的数量,和每年从
中国新来到美国的学生学者和家属数量相比,不到10%。换句话说,如果绿卡政策没有
改变,近年来到美国的中国学生学者和职业人士里面,有百分之九十可能拿不到绿卡。
目前很多留学生还没有毕业,所以这个问题还没有显得那么严重,但是随着时间推移会
越来越严重。过去十几年里,中国大学大规模扩招和就业难的历史,可以作为参考。
中国每年毕业几十万博士和硕士。随着中国赴美留学和访问签证进一步放松,持签证在
美国生活学校和工作的中国学生学者数量还会增加。我们建议读者认真考虑尽早提交或
及时提交EB-1杰出人才或EB-2国家利益豁免(NIW)等移民申请。
大家知道,在中国为孩子申请到美国留学,读大学或高中,往往需要支付几万人民币的
中介费用,然后是每年几万美元的学费和生活费用。在美国买房一般需要百分之三的中
介费,通常超过一万美元。到美国看病或者生孩子更是需要很多费用。相比之下,通过
杰出人才(EB-1A)和国家利益豁免(NIW)类别申请美国绿卡,一般只需要几千美元的
官费和律师费,批准以后全家都可以拿到绿卡,带来工作和生活上的许多便利。
avatar
k*o
7
可以,咨询过律师了

【在 g*******l 的大作中提到】
: 如题,今年9月H1B的第一个三年马上到期(2011年9月-2014年9月),我打算今年2月初
: 回国一趟,3月初再回美国,需要去大使馆搞个新的H1B签证。现在用不用在美国国内
: renew H1B身份?谢谢

avatar
r*c
8
还有一点建议
我觉得如果能有一个对于此次地震主要数据介绍的poster可能更能给有兴趣的人一个更
直观的概念
比如那个中国地图上标明震中和多少地区有震感的图片
比如death confirmed和estimated death toll;number of people saved from
rubbles in 72 hours,和after 72 hours我们自己救出来的和国外救援队就出来的人
数,我觉得这几个数听到的老美不少会赞叹不已,回去也会情不自禁的传播;10
million people affected;4.8 million people dislocated
可以拿面积和人数和美国人知道的一些数据作比较,这样他们可以更容易想象这次地震对普通人造成的伤害有多么巨大
again今天的事情让我知道,很多美国人真得不care世界其他地方和国家的任何事情。
但是也有一些人是关心的,有一个美国老头提到不能怪建筑水平,就算符合标准7级也
扛不了7.9级。如果我们能向这些关心地震的美国人澄清一些信息,他们可能会帮助我
们传播。我跟好几个人推荐了NPR all things cons
avatar
w*e
9
pulp fiction印象最深刻的就是这段舞还有Samuel Jackson
在餐馆那段和抢匪说的话。

【在 j****e 的大作中提到】
: 情节对白基本是黑色幽默,而且那段twist怪异滑稽得让人过目不忘。
: 很多人称赞它的超前的叙事手法,我感觉到一般,因为时间上有些混乱。
: http://www.youtube.com/watch?v=Ik-RsDGPI5Y

avatar
M*t
10
你装的神马版本?

【在 a****2 的大作中提到】
: 我为什么还是那几本书,不应该是android的桌面马,还有安装程序后没有在EXTRA里出现
: ,是不是我ROOT错了

avatar
p*2
11
mock也挺麻烦的
我们是一起测

【在 f*****w 的大作中提到】
: 不知道现在的best practise 是什么
: 是把REST API和db 放一起测试 还是分开测试然后mock所有的数据库操作 ?
: google了下好像说什么的都有
: 有什么好用的包或什么的吗?
: 非常感谢哈

avatar
D*I
12
刚认识了一个广东假儿子(他伯父以儿子的名义帮他办的)移民美国的,他哥哥则是假结
婚移民美国的。他哥哥正在申请他们的真父母移民。广东那么发达,还是愿意作假移民。
[发表自未名空间手机版 - m.mitbbs.com]
avatar
s*3
13
喜欢昆汀风格的 都会被这部电影迷住的
avatar
F*u
14
装一个adw launcher或者类似的程序,然后把home键关联到launcher上
安装后需要重启才能在extra里找到
不过你用launcher就没这个问题
avatar
f*w
15
i c
维护两个数据库每次要连不同的也挺啰嗦
有什么好的lib可以让这个过程稍微方便些的吗

【在 p*****2 的大作中提到】
: mock也挺麻烦的
: 我们是一起测

avatar
X*R
16
The problem is, it wont be that easy.
I see a lot of cases, in which the PhD or graduate students ask for
recommendation letters from supervisors but get refused,
simply because they get graduated and no longer work there,
regardless they have been contributing for years.
You really need to be in great luck to meet a good advisor before starting
anything. The risk is very high because you might end up gain nothing.
avatar
w*g
17
这一段可以说是对John Travolta在77年的大热片【Saturday Night Fever】中的表演
的parody。
录像厅混大的昆汀大概对这段舞很喜欢。

【在 j****e 的大作中提到】
: 情节对白基本是黑色幽默,而且那段twist怪异滑稽得让人过目不忘。
: 很多人称赞它的超前的叙事手法,我感觉到一般,因为时间上有些混乱。
: http://www.youtube.com/watch?v=Ik-RsDGPI5Y

avatar
p*2
18
设一个环境变量
production staging 和dev
每个环境设置不同

【在 f*****w 的大作中提到】
: i c
: 维护两个数据库每次要连不同的也挺啰嗦
: 有什么好的lib可以让这个过程稍微方便些的吗

avatar
x*6
19
EB1-A条件实在是太苛刻。NIW从递交申请,到通过一般周期是多长呢?
avatar
r*n
20
very hot..

【在 w****g 的大作中提到】
: 这一段可以说是对John Travolta在77年的大热片【Saturday Night Fever】中的表演
: 的parody。
: 录像厅混大的昆汀大概对这段舞很喜欢。

avatar
l*n
21
rest主要是测试route。database测试的是table,index, schema这些。database容易
测。route需要个环境。用swagger的会比较好

【在 f*****w 的大作中提到】
: 不知道现在的best practise 是什么
: 是把REST API和db 放一起测试 还是分开测试然后mock所有的数据库操作 ?
: google了下好像说什么的都有
: 有什么好用的包或什么的吗?
: 非常感谢哈

avatar
c*4
22
别搞笑了,读了苦逼专业的博士,一读6,7年,出来后找不到个能小康的工作,只能当
被剥削的博后。。。
avatar
s*3
23
J.T当年可是青年偶像 正二八经的英俊小生
后来走演技派路线 也不差

【在 w****g 的大作中提到】
: 这一段可以说是对John Travolta在77年的大热片【Saturday Night Fever】中的表演
: 的parody。
: 录像厅混大的昆汀大概对这段舞很喜欢。

avatar
d*n
24
an example of using mocha unittest framework
https://github.com/bredikhin/sailsjs-mocha-testing-barrels-fixtures-example

【在 f*****w 的大作中提到】
: 不知道现在的best practise 是什么
: 是把REST API和db 放一起测试 还是分开测试然后mock所有的数据库操作 ?
: google了下好像说什么的都有
: 有什么好用的包或什么的吗?
: 非常感谢哈

avatar
n*y
25
classic...
avatar
g*g
26
That's not the right way to do unit test, it's for end-to-end test. Mock or
in-memory DB is the right way for unit test.

【在 p*****2 的大作中提到】
: mock也挺麻烦的
: 我们是一起测

avatar
C*e
27
simply one of the best.
avatar
l*n
28
mongo非常好测试。

or

【在 g*****g 的大作中提到】
: That's not the right way to do unit test, it's for end-to-end test. Mock or
: in-memory DB is the right way for unit test.

avatar
C*e
29
Dick Dale版的Miserlou也是帅到爆,拿它做了好长一段时间的手机铃。
avatar
g*g
30
It's not about if a DB is easy to test. It's about if end to end test can
replace unit test. And the simple answer is no. Recently there's a nice blog
on this.
http://googletesting.blogspot.com/2015/04/just-say-no-to-more-e

【在 l**********n 的大作中提到】
: mongo非常好测试。
:
: or

avatar
B*a
31
昆汀这么牛B的片子到您这就只有这评价。。。

【在 j****e 的大作中提到】
: 情节对白基本是黑色幽默,而且那段twist怪异滑稽得让人过目不忘。
: 很多人称赞它的超前的叙事手法,我感觉到一般,因为时间上有些混乱。
: http://www.youtube.com/watch?v=Ik-RsDGPI5Y

avatar
p*2
32

or
这个您老就不用操心了。测试完全是根据需要来的。没有什么right way。

【在 g*****g 的大作中提到】
: That's not the right way to do unit test, it's for end-to-end test. Mock or
: in-memory DB is the right way for unit test.

avatar
m*2
33
Quiz:
从时间顺序上说,pulp fiction的最后一句台词是什么?
avatar
g*g
34
Of course it's not my problem, but these are the best practices in the
industry, and it's a fundamental one.

【在 p*****2 的大作中提到】
:
: or
: 这个您老就不用操心了。测试完全是根据需要来的。没有什么right way。

avatar
w*z
35
"Zed's dead baby, Zed's dead." ?

【在 m**********2 的大作中提到】
: Quiz:
: 从时间顺序上说,pulp fiction的最后一句台词是什么?

avatar
p*2
36

其实也难说,真的。G是很强调这个,但是也是非难断。测试每家公司差别也是蛮大的。
我更愿意通过engineer的quality和code review来解决quality的问题。

【在 g*****g 的大作中提到】
: Of course it's not my problem, but these are the best practices in the
: industry, and it's a fundamental one.

avatar
m*2
37
我觉得是。

【在 w***z 的大作中提到】
: "Zed's dead baby, Zed's dead." ?
avatar
p*2
38
对了 大牛你家跟google一个路子?

【在 g*****g 的大作中提到】
: Of course it's not my problem, but these are the best practices in the
: industry, and it's a fundamental one.

avatar
e*9
39
K,这片子印象最深的情节是大老黑被JJ和Travolta在马桶上被打死。
avatar
g*g
40
It's not a G recommendation, it's a well known practice in the industry. It'
s up to individual team to do what they want to do, but I always recommend
best practices with reasons.

的。

【在 p*****2 的大作中提到】
: 对了 大牛你家跟google一个路子?
avatar
w*r
41
杀人还要背圣经那段我很喜欢。
还有,威利斯的女人很正。

【在 e*9 的大作中提到】
: K,这片子印象最深的情节是大老黑被JJ和Travolta在马桶上被打死。
avatar
p*2
42
经常unit test没问题 integration就不work了

It'

【在 g*****g 的大作中提到】
: It's not a G recommendation, it's a well known practice in the industry. It'
: s up to individual team to do what they want to do, but I always recommend
: best practices with reasons.
:
: 的。

avatar
r*d
43
同意,这一段的内容跟前面毫不相关,第一遍看的时候最让人摸不着头脑,但是也确实
没有更好的安插的地方了

【在 w***z 的大作中提到】
: "Zed's dead baby, Zed's dead." ?
avatar
l*n
44
unit test又不能测试interaction. 比如oauth, session.

【在 p*****2 的大作中提到】
: 经常unit test没问题 integration就不work了
:
: It'

avatar
r*d
45
哈哈,老黑那段我还回放了几遍

【在 e*9 的大作中提到】
: K,这片子印象最深的情节是大老黑被JJ和Travolta在马桶上被打死。
avatar
g*g
46
It's not one or the other, you need both.

【在 p*****2 的大作中提到】
: 经常unit test没问题 integration就不work了
:
: It'

avatar
r*d
47
职业死尸处理员那段也不错
整个剧都是荒诞不经哭笑不得,pulp fiction算是美版的无厘头了吧

【在 w********r 的大作中提到】
: 杀人还要背圣经那段我很喜欢。
: 还有,威利斯的女人很正。

avatar
p*2
48

都搞iteration太慢了,很多公司受不了

【在 g*****g 的大作中提到】
: It's not one or the other, you need both.
avatar
s*s
49
best of the best
avatar
g*g
50
I am not gonna lecture the importance of unit test here. Quality and
quantity is always a tradeoff.

【在 p*****2 的大作中提到】
:
: 都搞iteration太慢了,很多公司受不了

avatar
T*c
51
约翰屈伏塔咸鱼翻身之作
Samuel中间杜撰了若干“圣经”装13
第一次看的时候看到黑老大被菊爆,顿时觉得江湖险恶,再牛逼也会被雷劈啊
avatar
w*z
52
Here is what I do, I write integration tests for the rest services, using
Jersey test framework, https://jersey.java.net/documentation/latest/test-
framework.html
There are few reasons I do that
1) The service I am writing normally is micro service, so running a full
round of integration tests won't take more than a few minutes.
2) I can run them locally before I push my commits, so bugs can be
identified quickly and thus fixed quickly
3) Jenkins job also runs those tests, so again it's not likely the major
bugs will be there when we release the service to QA
4) For our team, there is no dedicated QA. I simply don't have time to write
both unit tests and integration tests.

【在 g*****g 的大作中提到】
: I am not gonna lecture the importance of unit test here. Quality and
: quantity is always a tradeoff.

avatar
N*m
53
这个id为啥老是来炒剩饭

【在 j****e 的大作中提到】
: 情节对白基本是黑色幽默,而且那段twist怪异滑稽得让人过目不忘。
: 很多人称赞它的超前的叙事手法,我感觉到一般,因为时间上有些混乱。
: http://www.youtube.com/watch?v=Ik-RsDGPI5Y

avatar
g*g
54
The pitfalls here are that
1. It may not be easy to identify the bug when integration test fails,
especially if you didn't write the code in the first place. You are coupling
data, other services dependencies and your code in your test. That makes
the debugging process longer than it can be with unit tests. Unit tests won'
t catch all your bugs, but it can catch most of your bugs.
2. And integration tests can typically cover happy path, not much on corner
cases. And if you try to cover corner cases, it starts getting too long to
run your build. Yet corner cases always hit in production.
Again, it's a tradeoff, we all cut corners where we have to, I am just
talking about industry best practice which typically favors quality over
quantity.

【在 w**z 的大作中提到】
: Here is what I do, I write integration tests for the rest services, using
: Jersey test framework, https://jersey.java.net/documentation/latest/test-
: framework.html
: There are few reasons I do that
: 1) The service I am writing normally is micro service, so running a full
: round of integration tests won't take more than a few minutes.
: 2) I can run them locally before I push my commits, so bugs can be
: identified quickly and thus fixed quickly
: 3) Jenkins job also runs those tests, so again it's not likely the major
: bugs will be there when we release the service to QA

avatar
c*o
55
哈哈,对john的一贯评价就是,虽然美国人民很喜欢咸鱼翻生 come back story, 但是
曲沃塔到底要翻几次阿。。。

【在 T***c 的大作中提到】
: 约翰屈伏塔咸鱼翻身之作
: Samuel中间杜撰了若干“圣经”装13
: 第一次看的时候看到黑老大被菊爆,顿时觉得江湖险恶,再牛逼也会被雷劈啊

avatar
t*h
56
译文出来了
对更多的「端到端测试」说不
http://article.yeeyan.org/view/66324/453360
貌似所有书本上都要求UT不依赖包括数据库在内的任何外部dependency。实际操作中很
多公司都用test DB。

blog

【在 g*****g 的大作中提到】
: It's not a G recommendation, it's a well known practice in the industry. It'
: s up to individual team to do what they want to do, but I always recommend
: best practices with reasons.
:
: 的。

avatar
p*n
57
这部片子捧红了四位过气明星,还是很nb的
avatar
p*2
58

真想测的纯就应该上FP和Monad

【在 t*******h 的大作中提到】
: 译文出来了
: 对更多的「端到端测试」说不
: http://article.yeeyan.org/view/66324/453360
: 貌似所有书本上都要求UT不依赖包括数据库在内的任何外部dependency。实际操作中很
: 多公司都用test DB。
:
: blog

avatar
o*z
59
大脚拇指,哈哈,导演的最爱

【在 j****e 的大作中提到】
: 情节对白基本是黑色幽默,而且那段twist怪异滑稽得让人过目不忘。
: 很多人称赞它的超前的叙事手法,我感觉到一般,因为时间上有些混乱。
: http://www.youtube.com/watch?v=Ik-RsDGPI5Y

avatar
w*z
60
In most of the cases, it's a wishful thinking. I an simply not given enough
time to mock all the outside dependencies. As goodbug said, it's all about
tradeoff, that is the choice as an organization you need to make.

【在 t*******h 的大作中提到】
: 译文出来了
: 对更多的「端到端测试」说不
: http://article.yeeyan.org/view/66324/453360
: 貌似所有书本上都要求UT不依赖包括数据库在内的任何外部dependency。实际操作中很
: 多公司都用test DB。
:
: blog

avatar
t*a
61
I love this movie soooooooooooooooooooo much
avatar
n*n
62
围观的感觉 ,好虫的回答堂堂正正,你老怎么东一榔头,西一棒子,总扯些不着边际
的东西。

【在 p*****2 的大作中提到】
:
: 真想测的纯就应该上FP和Monad

avatar
s*d
63
哪有小深刻旧书的1/10好?
avatar
p*2
64
textbook上的东西最容易讲

【在 n******n 的大作中提到】
: 围观的感觉 ,好虫的回答堂堂正正,你老怎么东一榔头,西一棒子,总扯些不着边际
: 的东西。

avatar
n*n
65
能上教科书显然有它的道理。

【在 p*****2 的大作中提到】
: textbook上的东西最容易讲
avatar
p*2
66
那你找本书看就行了

【在 n******n 的大作中提到】
: 能上教科书显然有它的道理。
avatar
n*n
67
那还要学校干啥?一人发一套教科书即可。

【在 p*****2 的大作中提到】
: 那你找本书看就行了
avatar
p*2
68

为什么new grad找工作难?

【在 n******n 的大作中提到】
: 那还要学校干啥?一人发一套教科书即可。
avatar
n*n
69
你怎么总离题?

【在 p*****2 的大作中提到】
:
: 为什么new grad找工作难?

avatar
p*2
70

因为纸上谈兵没意思。

【在 n******n 的大作中提到】
: 你怎么总离题?
avatar
n*n
71
土法炼钢更可怕

【在 p*****2 的大作中提到】
:
: 因为纸上谈兵没意思。

avatar
g*e
72
放在一起的叫integration trst

【在 f*****w 的大作中提到】
: 不知道现在的best practise 是什么
: 是把REST API和db 放一起测试 还是分开测试然后mock所有的数据库操作 ?
: google了下好像说什么的都有
: 有什么好用的包或什么的吗?
: 非常感谢哈

avatar
g*g
73
A bug cost 1 to be found and fixed by dev, 10 to be found by QA, and at
least 100 to be found by customer, just think about the communication costs,
let alone implicit churn.
So while unit test is against intuition for agile development, it's cost-
effective for services that will be maintained for years. I found front end
engineers are less used to unit tests. For one it's harder to do, for two
many of them are used to manual testing.
avatar
L*s
74
在我们组,integration tests的主要目的有两个:
一是做文档用。需求每周都在变,没人专门写文档的,
integration tests本身是最好的文档。
二是保护自己写的feature不被后来人无意破坏。
就算是尽量解耦合的系统,也有公共的耦合之处,
我写的integration tests要保证当后来人的修改
破坏了我写的东西时,他被告之他踩到了我的脚,
从而尽量减少regressions的发生。
avatar
p*2
75

costs,
end
unit test只是保证quality的其中一种办法,而且是最不重要的一种办法。

【在 g*****g 的大作中提到】
: A bug cost 1 to be found and fixed by dev, 10 to be found by QA, and at
: least 100 to be found by customer, just think about the communication costs,
: let alone implicit churn.
: So while unit test is against intuition for agile development, it's cost-
: effective for services that will be maintained for years. I found front end
: engineers are less used to unit tests. For one it's harder to do, for two
: many of them are used to manual testing.

avatar
n*n
76
有哪些办法?重要性排序依次是?

【在 p*****2 的大作中提到】
:
: costs,
: end
: unit test只是保证quality的其中一种办法,而且是最不重要的一种办法。

avatar
n*n
77
需求每周变,测试也每周变?

【在 L***s 的大作中提到】
: 在我们组,integration tests的主要目的有两个:
: 一是做文档用。需求每周都在变,没人专门写文档的,
: integration tests本身是最好的文档。
: 二是保护自己写的feature不被后来人无意破坏。
: 就算是尽量解耦合的系统,也有公共的耦合之处,
: 我写的integration tests要保证当后来人的修改
: 破坏了我写的东西时,他被告之他踩到了我的脚,
: 从而尽量减少regressions的发生。

avatar
g*g
78
你是错的,理由书上都说得很清楚。也没见你有啥有力的反驳。Cut corner是一回事,
Cut corner还给别人推荐就不合适。

【在 p*****2 的大作中提到】
:
: costs,
: end
: unit test只是保证quality的其中一种办法,而且是最不重要的一种办法。

avatar
p*2
79

1. architecture (system design)
2. software design
3. quality of SDE
4. quality of implementation
5. code review
以上几个都比unit test重要性更高。这也是为什么这几年top公司选材非常看重bug
free。

【在 n******n 的大作中提到】
: 有哪些办法?重要性排序依次是?
avatar
n*n
80
架构是普通工程师能决定的?
2/3/4/5全和unit test有关。不好写测试的设计不是好设计。不会写测试的SDE质量不
会高。不写测试无法保证实现质量。代码审核一项重要任务就是审核测试。

【在 p*****2 的大作中提到】
:
: 1. architecture (system design)
: 2. software design
: 3. quality of SDE
: 4. quality of implementation
: 5. code review
: 以上几个都比unit test重要性更高。这也是为什么这几年top公司选材非常看重bug
: free。

avatar
p*2
81

那是你的理解。

【在 n******n 的大作中提到】
: 架构是普通工程师能决定的?
: 2/3/4/5全和unit test有关。不好写测试的设计不是好设计。不会写测试的SDE质量不
: 会高。不写测试无法保证实现质量。代码审核一项重要任务就是审核测试。

avatar
g*g
82
You can hire the best engineers in the world and they'd still make mistakes,
it's human nature.

【在 p*****2 的大作中提到】
:
: 那是你的理解。

avatar
f*w
83
我也觉得那些照着书说的要如何如何如何分开测得全是扯淡 。做测试是为了没有bug,
而不是为了“有测试”,基于这一点,只有适合的测试方法,没有绝对正确的测试方法
不过我现在也碰到很现实的问题,我用test db 来写测试。但是貌似mocha默认就是并
行跑多个测试 互相冲突。。。 当然完全并行就能解决问题(虽然暂时还没明白mocha
下面怎么做),但是真要这样每次跑测试的效率真的会很低啊。。。 我的开发机器8个
core就全浪费了 有啥好的建议没有?

【在 p*****2 的大作中提到】
: mock也挺麻烦的
: 我们是一起测

avatar
n*n
84
书上那些说法是前人的经验总结。理论来自于实践,反过来又指导实践。
要求有测试可以降低出现bug的概率,就像要求统一代码风格可以降低代码审核成本一
样。这都是很好的工程原则。
哪怕你牛到逆天,一个人能完成一个项目,以后代码就不需要别人维护了?

mocha

【在 f*****w 的大作中提到】
: 我也觉得那些照着书说的要如何如何如何分开测得全是扯淡 。做测试是为了没有bug,
: 而不是为了“有测试”,基于这一点,只有适合的测试方法,没有绝对正确的测试方法
: 不过我现在也碰到很现实的问题,我用test db 来写测试。但是貌似mocha默认就是并
: 行跑多个测试 互相冲突。。。 当然完全并行就能解决问题(虽然暂时还没明白mocha
: 下面怎么做),但是真要这样每次跑测试的效率真的会很低啊。。。 我的开发机器8个
: core就全浪费了 有啥好的建议没有?

avatar
p*2
85

我在测试领域太多年了,我的经验就是前人的经验。

【在 n******n 的大作中提到】
: 书上那些说法是前人的经验总结。理论来自于实践,反过来又指导实践。
: 要求有测试可以降低出现bug的概率,就像要求统一代码风格可以降低代码审核成本一
: 样。这都是很好的工程原则。
: 哪怕你牛到逆天,一个人能完成一个项目,以后代码就不需要别人维护了?
:
: mocha

avatar
p*2
86

mocha
我是用jasmine测的,不太清楚你的case。你说的并行冲突是什么意思?db那里冲突?

【在 f*****w 的大作中提到】
: 我也觉得那些照着书说的要如何如何如何分开测得全是扯淡 。做测试是为了没有bug,
: 而不是为了“有测试”,基于这一点,只有适合的测试方法,没有绝对正确的测试方法
: 不过我现在也碰到很现实的问题,我用test db 来写测试。但是貌似mocha默认就是并
: 行跑多个测试 互相冲突。。。 当然完全并行就能解决问题(虽然暂时还没明白mocha
: 下面怎么做),但是真要这样每次跑测试的效率真的会很低啊。。。 我的开发机器8个
: core就全浪费了 有啥好的建议没有?

avatar
g*g
87
这就是unit test的好处之一,mock也好,in memory DB也好可以做到完全独立。如果
有大量的Unit test,就不需要那么多的integration test。整个build就快,发现bug
也快。continuous delivery的必要条件之一。

mocha

【在 f*****w 的大作中提到】
: 我也觉得那些照着书说的要如何如何如何分开测得全是扯淡 。做测试是为了没有bug,
: 而不是为了“有测试”,基于这一点,只有适合的测试方法,没有绝对正确的测试方法
: 不过我现在也碰到很现实的问题,我用test db 来写测试。但是貌似mocha默认就是并
: 行跑多个测试 互相冲突。。。 当然完全并行就能解决问题(虽然暂时还没明白mocha
: 下面怎么做),但是真要这样每次跑测试的效率真的会很低啊。。。 我的开发机器8个
: core就全浪费了 有啥好的建议没有?

avatar
L*s
88
mocha下可以把integration tests分成几个splits,并行跑

mocha

【在 f*****w 的大作中提到】
: 我也觉得那些照着书说的要如何如何如何分开测得全是扯淡 。做测试是为了没有bug,
: 而不是为了“有测试”,基于这一点,只有适合的测试方法,没有绝对正确的测试方法
: 不过我现在也碰到很现实的问题,我用test db 来写测试。但是貌似mocha默认就是并
: 行跑多个测试 互相冲突。。。 当然完全并行就能解决问题(虽然暂时还没明白mocha
: 下面怎么做),但是真要这样每次跑测试的效率真的会很低啊。。。 我的开发机器8个
: core就全浪费了 有啥好的建议没有?

avatar
h*a
89
你们这么干production里面bug的情况怎么样?感觉系统大了还是要有更系统的测试
方法,如果只靠人的素质有的时候是很难scale的。

【在 p*****2 的大作中提到】
:
: mocha
: 我是用jasmine测的,不太清楚你的case。你说的并行冲突是什么意思?db那里冲突?

avatar
n*n
90
你牛,一个人的经验顶别人十个。

【在 p*****2 的大作中提到】
:
: mocha
: 我是用jasmine测的,不太清楚你的case。你说的并行冲突是什么意思?db那里冲突?

avatar
g*g
91
这个事情是不用说的。项目一大,人一多,日子一长,人员变换,再大牛也不见得能知
道别人的代码在干啥。测试覆盖率高低决定了项目的可维护性。

【在 h*****a 的大作中提到】
: 你们这么干production里面bug的情况怎么样?感觉系统大了还是要有更系统的测试
: 方法,如果只靠人的素质有的时候是很难scale的。

avatar
n*n
92
还是见过读代码飞快的牛人,很犀利。不过让牛人干擦屁股的活太浪费了。

【在 g*****g 的大作中提到】
: 这个事情是不用说的。项目一大,人一多,日子一长,人员变换,再大牛也不见得能知
: 道别人的代码在干啥。测试覆盖率高低决定了项目的可维护性。

avatar
g*g
93
不要迷信大牛,大牛也是人。而且,如果全靠大牛的话,大牛走了不就死菜了。

【在 n******n 的大作中提到】
: 还是见过读代码飞快的牛人,很犀利。不过让牛人干擦屁股的活太浪费了。
avatar
p*2
94
确实
所以micro service是很好的
我们小team 做的都是micro service
scale确实会是问题 不过我们还没那么大 就是几个人的team

【在 h*****a 的大作中提到】
: 你们这么干production里面bug的情况怎么样?感觉系统大了还是要有更系统的测试
: 方法,如果只靠人的素质有的时候是很难scale的。

avatar
p*2
95
我的意思是具体工作起来是灵活的 没有一定的章法可遵循
什么都不能走极端 都是根据实际需要分配资源 包括人力 时间 测试 等等
能够合理分配并不容易 比你用教科书要复杂多了 很多tradeoff要考虑
你去看看每家公司的测试理念都有区别

【在 n******n 的大作中提到】
: 你牛,一个人的经验顶别人十个。
avatar
j*x
96
大多数时候你所谓的需要其实大部分也是自己拍脑袋想的
best practice说白了就是让你不需要经过细致分析就能做到eliminate大多数可能出现
的需要
好虫说的inmemory db说到底就是个fake
一般来说micro service oriented系统
fake都是很好做的
1/10集成测试的开销
能在单元测试阶段带来远超其成本的时间收益
何乐而不为
只能说你们的程序员不够懒
喜欢用复杂的方法找问题。。。

【在 p*****2 的大作中提到】
: 我的意思是具体工作起来是灵活的 没有一定的章法可遵循
: 什么都不能走极端 都是根据实际需要分配资源 包括人力 时间 测试 等等
: 能够合理分配并不容易 比你用教科书要复杂多了 很多tradeoff要考虑
: 你去看看每家公司的测试理念都有区别

avatar
p*2
97
你错了 我们当然做unit test
但是和其他相比 这个不是重点

【在 j********x 的大作中提到】
: 大多数时候你所谓的需要其实大部分也是自己拍脑袋想的
: best practice说白了就是让你不需要经过细致分析就能做到eliminate大多数可能出现
: 的需要
: 好虫说的inmemory db说到底就是个fake
: 一般来说micro service oriented系统
: fake都是很好做的
: 1/10集成测试的开销
: 能在单元测试阶段带来远超其成本的时间收益
: 何乐而不为
: 只能说你们的程序员不够懒

avatar
f*w
98
比如我有两个测试文件 test1.js 和 test2.js.
但是我只建了一个test database instance.
然后test1 和 test2 都做如下操作: 清空数据库,插入一些初始值,然后运行程序。
如果mocha很不幸地并行执行test1和test2 , 那不就race condition了么 同时在操
作同一个数据库,一团糟了。

【在 p*****2 的大作中提到】
: 你错了 我们当然做unit test
: 但是和其他相比 这个不是重点

avatar
p*2
99
test1 和 test2 可以用两个db吧 如果本来就可以并行的话

【在 f*****w 的大作中提到】
: 比如我有两个测试文件 test1.js 和 test2.js.
: 但是我只建了一个test database instance.
: 然后test1 和 test2 都做如下操作: 清空数据库,插入一些初始值,然后运行程序。
: 如果mocha很不幸地并行执行test1和test2 , 那不就race condition了么 同时在操
: 作同一个数据库,一团糟了。

avatar
f*w
100
这好像不是很好的解决方法啊 难道每次要加测试都去新建一个数据库instance 很快
就不堪罗嗦的步骤了

【在 p*****2 的大作中提到】
: test1 和 test2 可以用两个db吧 如果本来就可以并行的话
avatar
p*2
101
一个数据库instance应该可以create多个database吧?

【在 f*****w 的大作中提到】
: 这好像不是很好的解决方法啊 难道每次要加测试都去新建一个数据库instance 很快
: 就不堪罗嗦的步骤了

avatar
f*w
102
晕 难道大家在nodejs里面测试都是这麽个搞法

【在 p*****2 的大作中提到】
: 一个数据库instance应该可以create多个database吧?
avatar
j*x
103
大多数时候你所谓的需要其实大部分也是自己拍脑袋想的
best practice说白了就是让你不需要经过细致分析就能做到eliminate大多数可能出现
的需要
好虫说的inmemory db说到底就是个fake
一般来说micro service oriented系统
fake都是很好做的
1/10集成测试的开销
能在单元测试阶段带来远超其成本的时间收益
何乐而不为
只能说你们的程序员不够懒
喜欢用复杂的方法找问题。。。

【在 p*****2 的大作中提到】
: 一个数据库instance应该可以create多个database吧?
avatar
p*2
104

我们没有这个问题。貌似jasmine是串行的?

【在 f*****w 的大作中提到】
: 晕 难道大家在nodejs里面测试都是这麽个搞法
avatar
p*2
105

我记得已经回过你这个了呀。

【在 j********x 的大作中提到】
: 大多数时候你所谓的需要其实大部分也是自己拍脑袋想的
: best practice说白了就是让你不需要经过细致分析就能做到eliminate大多数可能出现
: 的需要
: 好虫说的inmemory db说到底就是个fake
: 一般来说micro service oriented系统
: fake都是很好做的
: 1/10集成测试的开销
: 能在单元测试阶段带来远超其成本的时间收益
: 何乐而不为
: 只能说你们的程序员不够懒

avatar
j*x
106
其实我发觉水平不高的装逼犯一个通病就是
不管说话发帖第一句总是要劈头盖脸说别人错了
然后毫无论据
请勿对号入座

【在 p*****2 的大作中提到】
: 你错了 我们当然做unit test
: 但是和其他相比 这个不是重点

avatar
j*x
107
发帖重复还需要特别点名么。。。

【在 p*****2 的大作中提到】
:
: 我记得已经回过你这个了呀。

avatar
p*2
108

你不是也说别人拍脑袋吗?

【在 j********x 的大作中提到】
: 其实我发觉水平不高的装逼犯一个通病就是
: 不管说话发帖第一句总是要劈头盖脸说别人错了
: 然后毫无论据
: 请勿对号入座

avatar
j*x
109
我说的是“很多时候你觉得的需要也是拍脑袋想出来的”
这个“你错了”
完全是两个层面上的论述
当然
你想怎么理解也是你的层面上的东西

【在 p*****2 的大作中提到】
:
: 你不是也说别人拍脑袋吗?

avatar
p*2
110

那你就mock呗

【在 f*****w 的大作中提到】
: 晕 难道大家在nodejs里面测试都是这麽个搞法
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。