Redian新闻
>
赵老师,郝老师,你们再讲讲Java->DB这一块吧
avatar
赵老师,郝老师,你们再讲讲Java->DB这一块吧# Programming - 葵花宝典
C*5
1
今天最高点3648.9点。目测的。
avatar
b*d
2
其实我家的情况比较强,
我妈来过两次美国,每次都是4个月。
我爸来过一次美国,没有延期,
但是还是很担心,因为不确定性。
总算签过了。我家人说北京的一个什么机器坏了。
结果大家都在下午签,人超多,签完了,邮局都下班了。
只好明天再去邮局。
还有一个湖南来的老太太被拒了,这个老太太以前就被拒过。
很可怜。
avatar
n*1
3
大家好,我是第六年F1,所以是Resident Alien了。版上考古了一下我的情况,想确认
下这样做对不对:
首先是联邦税:
我14年整年学校里都是fellowship,所有现在没有学校出的W-2但有个1042-S。看了下
是code 15, 所以应该是能全免税的(?),但1042上显示fed扣了几千块税。然后我暑假
又在CA实习了三个月,所以又有一份实习公司的W-2。总而言之,现在手上有一个学校
的扣了税的fellowship的1042和实习公司的w2。这种情况咋报税呢? 我主要是想能用
上那个$5000免税和fellowship的免税。ps: 我没有单独收到关于$5000的1042s。。。
考古了下,打算这么操作
1) 在1040 line 7 上写 (w2 income + 1042 income) 作为总income
2)在line 21 上写 -(1042 income) 作为想免税的treaty的部分
3)在line 64 上填 (w2 withheld + 1042 withheld) 作为被fed 一共 withheld的税
4) mail 1040 + 1042-s + w2 + 8833解释article 20(b)
不知道这样对不? 尤其是(3),因为line 64上写的是“Federal income tax withheld
from Forms W-2 and 1099 "没有写1042-s啊。。。另外因为是R,邮寄fed return还
是到texas的IRS那么?
另外,报州税的话,因为ca不承认treaty,是不是得540-longform + schedule-CA,使
得AGI那里是1042-s+w2的总收入?
谢谢!
avatar
c*1
4
比如各种xDBC, ORM, JPA之类
还有小型开发用到的embedded数据库,比如H2
avatar
H*8
5
赞大神
avatar
f*n
6
Bless
avatar
c*1
7
mybatis, hibernate. whatever
avatar
j*w
8
大赞
avatar
b*9
9
gx

【在 b******d 的大作中提到】
: 其实我家的情况比较强,
: 我妈来过两次美国,每次都是4个月。
: 我爸来过一次美国,没有延期,
: 但是还是很担心,因为不确定性。
: 总算签过了。我家人说北京的一个什么机器坏了。
: 结果大家都在下午签,人超多,签完了,邮局都下班了。
: 只好明天再去邮局。
: 还有一个湖南来的老太太被拒了,这个老太太以前就被拒过。
: 很可怜。

avatar
d*i
10
你不是已经上了LAMP了吗?PHP连DB比Java容易方便快捷很多。

【在 c********1 的大作中提到】
: 比如各种xDBC, ORM, JPA之类
: 还有小型开发用到的embedded数据库,比如H2

avatar
M*g
11
cong and zhan
bless us all!

【在 b******d 的大作中提到】
: 其实我家的情况比较强,
: 我妈来过两次美国,每次都是4个月。
: 我爸来过一次美国,没有延期,
: 但是还是很担心,因为不确定性。
: 总算签过了。我家人说北京的一个什么机器坏了。
: 结果大家都在下午签,人超多,签完了,邮局都下班了。
: 只好明天再去邮局。
: 还有一个湖南来的老太太被拒了,这个老太太以前就被拒过。
: 很可怜。

avatar
c*1
12
我想学学东西,
而且我的老本行是JAVA
再说DB这一块,早晚要学,趁现在郝蛋老师和赵册老师和其它的大牛都有闲
不如让他们上上公开课,有何不可?

【在 d****i 的大作中提到】
: 你不是已经上了LAMP了吗?PHP连DB比Java容易方便快捷很多。
avatar
h*9
13
恭喜
avatar
w*z
14
直接JDBC 硬搞。最多上个connection pool

【在 c********1 的大作中提到】
: 我想学学东西,
: 而且我的老本行是JAVA
: 再说DB这一块,早晚要学,趁现在郝蛋老师和赵册老师和其它的大牛都有闲
: 不如让他们上上公开课,有何不可?

avatar
c*1
15
大多数项目,还是ORM快

【在 w**z 的大作中提到】
: 直接JDBC 硬搞。最多上个connection pool
avatar
p*g
16
Spring JdbcTemplate is good enough. Do not touch Hibernate :) It is evil.
avatar
g*g
17
Spring jdbc and spring data.
avatar
z*e
18
感觉java所有的东西都不要太关注细节,以掌握idea为主
idea对,剩下的你只要投入时间,慢慢google,慢慢试
都能搞定,这就是java的好,一个东西的经验往往可以直接挪用到其他东西上去
因为idea一样,标准一样,剩下的都是私货了,别太关心私货
都是导致vendor lockin的东西
db的话
jdbc->connection pool->orm/推荐hibernate->jpa
jpa就是j2ee的一部分,hibernate就是jpa的impl之一
jpa就是hibernate那个gavin king带头搞的标准
颠覆了entity bean
gavin king是monash大学读数学本科毕业的
澳洲人比较蠢,所以不会造太复杂的东西,思路都是线性简化的
所以spring什么都是愚蠢的aussi搞出来的东西,相对容易掌握
搞ejb那拨人智商很高,很多都是一流发达国家一流大学毕业的
比如巴黎高师,斯坦福这种,搞jboss那个就是巴黎高师的校友
所有的db都提供jdbc驱动,不管用哪个db,都能用jdbc连
但是连了之后,执行的sql不同的db不一样
当年gavin king因为在不同的db之间对付不同db上的不同sql搞疯了
于是写了一个hibernate出来,一下子大受欢迎
因为程序员们象当年讨厌不同的os一样讨厌不同的db
分布式就这毛病,平台碎片化,经常花很长时间在不同的平台上折腾
所以java有多东西都在封装不同的it产品
hibernate尽可能多地封装了不同db上sql的差异
统一接口,然后再在hibernate的原型之上,定义了jpa
统一了app server也就是j2ee的接口
所以你搞懂了hibernate,基本上就都打通了
jdbc->连接池->hibernate,搞懂这三个,可以了,前两个很容易
第三个稍微麻烦点,但是做几个例子,也都那么一回事
spring data没用过,不知道
ibatis也就是mybatis的邪恶前世,我觉得不好,还要手写sql,烦
sql真应该早点淘汰掉,尤其是store procedure,噩梦
现在之所以还有公司被oracle插管吸血,就是sp太多
avatar
z*e
19
行业trend是cassandra
现在把hibernate放简历上
加分有限,cassandra比较热
至少nosql这个热点就算过了巅峰
也还没过去太久
avatar
o*g
20
repository那套是属于jpa里的?

【在 z****e 的大作中提到】
: 感觉java所有的东西都不要太关注细节,以掌握idea为主
: idea对,剩下的你只要投入时间,慢慢google,慢慢试
: 都能搞定,这就是java的好,一个东西的经验往往可以直接挪用到其他东西上去
: 因为idea一样,标准一样,剩下的都是私货了,别太关心私货
: 都是导致vendor lockin的东西
: db的话
: jdbc->connection pool->orm/推荐hibernate->jpa
: jpa就是j2ee的一部分,hibernate就是jpa的impl之一
: jpa就是hibernate那个gavin king带头搞的标准
: 颠覆了entity bean

avatar
s*y
21

ibatis的sql是可以自动生成的 我觉得比hibernate灵活一些

【在 z****e 的大作中提到】
: 感觉java所有的东西都不要太关注细节,以掌握idea为主
: idea对,剩下的你只要投入时间,慢慢google,慢慢试
: 都能搞定,这就是java的好,一个东西的经验往往可以直接挪用到其他东西上去
: 因为idea一样,标准一样,剩下的都是私货了,别太关心私货
: 都是导致vendor lockin的东西
: db的话
: jdbc->connection pool->orm/推荐hibernate->jpa
: jpa就是j2ee的一部分,hibernate就是jpa的impl之一
: jpa就是hibernate那个gavin king带头搞的标准
: 颠覆了entity bean

avatar
z*e
22
看名字就知道了
jpa == java persistence api

【在 o***g 的大作中提到】
: repository那套是属于jpa里的?
avatar
c*1
23
请赵老师再详细解释解释,
比如一个小的操作(routine),
用stored procedure,里面用两个变量
对于逻辑层,只需要call一次SP就行了
但如果把SP去掉,用逻辑层实现的话
虽然架构上更加符合设计原则
但是,性能上就多了一次(或多次)从逻辑层到db的round trip
另外,如果instance/nodes一多,可能还需要考虑并发的同步锁问题
所以SP在性能上还是有优势的,虽然developer们心理这么做不舒服
不知道赵老师在不提倡SP之余,有什么更好的方案?

【在 z****e 的大作中提到】
: 看名字就知道了
: jpa == java persistence api

avatar
c*1
24
赵老师说“jdbc->连接池->hibernate”,貌似没有提到spring 的那些东西
你要不和赵老师互相辩论一下:) 不是挑拨,我是想从讨论中学东西

【在 p*****g 的大作中提到】
: Spring JdbcTemplate is good enough. Do not touch Hibernate :) It is evil.
avatar
c*1
25
郝老师,你说的和phiking 说的是不是同一个东西?

发信人: phiking (A Programmer), 信区: Programming
标 题: Re: 赵老师,郝老师,你们再讲讲Java->DB这一块吧
发信站: BBS 未名空间站 (Fri Sep 5 00:44:37 2014, 美东)
Spring JdbcTemplate is good enough

【在 g*****g 的大作中提到】
: Spring jdbc and spring data.
avatar
z*e
26
sp高度依赖db,换个db就不能用了,不少db不支持sp
sp当然可以做一些简单的逻辑,要不然就不叫sp了
backend里面这种陷阱很多,一旦陷进去,以后再拔出来时候
就加倍还回去,当你高度依赖一个db的时候,比如oracle
那么oracle哪天突然觉得不爽了,license fee加倍,咋办?
至于并发带来的锁的冲突,这个就是为啥我们需要jta
jta封装了所有的底层逻辑,你只需要拿到context之后
选择ctx.begin,然后ctx.commit就好了,或者高级点@Transaction
剩下的底层逻辑压给框架比如hibernate去做,你就不需要折腾了
如果性能上有问题,那就直接干掉db
用nosql分担大部分persistence的东西
如果实在是db撑不住,那就看看newsql吧
db有75%的时间浪费在一些其实没啥必要的事情上
什么write ahead log之类的,不过newsql还不成熟

【在 c********1 的大作中提到】
: 请赵老师再详细解释解释,
: 比如一个小的操作(routine),
: 用stored procedure,里面用两个变量
: 对于逻辑层,只需要call一次SP就行了
: 但如果把SP去掉,用逻辑层实现的话
: 虽然架构上更加符合设计原则
: 但是,性能上就多了一次(或多次)从逻辑层到db的round trip
: 另外,如果instance/nodes一多,可能还需要考虑并发的同步锁问题
: 所以SP在性能上还是有优势的,虽然developer们心理这么做不舒服
: 不知道赵老师在不提倡SP之余,有什么更好的方案?

avatar
z*e
27
不冲突
spring最重要的是ioc和aop,5分钟就能搞懂ioc
至于spring data,本质上跟hibernate这些是一回事
用法稍微有些不同而已,spring各个components凑一起
可以说是jee的非标准化实现,hibernate更为标准一点
但是spring data也同样遵照了jta,所以在某些方面用起来不会有区别
另外spring也可以很容易地跟hibernate这些框架集成
java就这样,任何一个component都有三个以上的东西在竞争
不象其他语言,一个领域基本上就那么一个东西可以用
当你觉得不爽了,要换framework,连同语言都要换
java至少能保证你不需要换语言,这样可以降低学习成本
尽早脱离语言这个level,去思考一些更为不那么繁琐的事情

【在 c********1 的大作中提到】
: 赵老师说“jdbc->连接池->hibernate”,貌似没有提到spring 的那些东西
: 你要不和赵老师互相辩论一下:) 不是挑拨,我是想从讨论中学东西

avatar
c*1
28
感谢赵老师指点
“如果实在是db撑不住,那就看看newsql吧
db有75%的时间浪费在一些其实没啥必要的事情上
什么write ahead log之类的,不过newsql还不成熟”
这里面“如果实在是db撑不住”是什么意思?
另外“DB”又是指什么?我个人觉得(不对请指正),DB包括所有的sql,nosql,newsql
您前面说如果DB的performance不符合需要,可以干掉DB...
newsql本身也是一种DB吧

【在 z****e 的大作中提到】
: sp高度依赖db,换个db就不能用了,不少db不支持sp
: sp当然可以做一些简单的逻辑,要不然就不叫sp了
: backend里面这种陷阱很多,一旦陷进去,以后再拔出来时候
: 就加倍还回去,当你高度依赖一个db的时候,比如oracle
: 那么oracle哪天突然觉得不爽了,license fee加倍,咋办?
: 至于并发带来的锁的冲突,这个就是为啥我们需要jta
: jta封装了所有的底层逻辑,你只需要拿到context之后
: 选择ctx.begin,然后ctx.commit就好了,或者高级点@Transaction
: 剩下的底层逻辑压给框架比如hibernate去做,你就不需要折腾了
: 如果性能上有问题,那就直接干掉db

avatar
c*1
29
赵老师,请问:
您所指的spring data,究竟用这图
左上角那一块 表述更恰当
还是下面这图
中的“Spring ORM + Spring DAO”那一块表述更精确?

【在 z****e 的大作中提到】
: 不冲突
: spring最重要的是ioc和aop,5分钟就能搞懂ioc
: 至于spring data,本质上跟hibernate这些是一回事
: 用法稍微有些不同而已,spring各个components凑一起
: 可以说是jee的非标准化实现,hibernate更为标准一点
: 但是spring data也同样遵照了jta,所以在某些方面用起来不会有区别
: 另外spring也可以很容易地跟hibernate这些框架集成
: java就这样,任何一个component都有三个以上的东西在竞争
: 不象其他语言,一个领域基本上就那么一个东西可以用
: 当你觉得不爽了,要换framework,连同语言都要换

avatar
z*e
30
名字不重要,spring data就是那么个意思
把握idea,你看这图里面几个模块
都给你切割得很清楚了
orm就是类似hibernate一样的东西
jdbc就是底层sql接口
transaction就是jta,spring现在也越来越大
关键是现在spring文档也越来越糟糕,vmware故意把文档写糟糕来
好让客户去买他们的service,我觉得你就搞懂spring ioc部分
其他可用可不用,orm什么你用hibernate是一样的
一些细节语法上的出入而已,idea是共通的

【在 c********1 的大作中提到】
: 赵老师,请问:
: 您所指的spring data,究竟用这图
: 左上角那一块 表述更恰当
: 还是下面这图
: 中的“Spring ORM + Spring DAO”那一块表述更精确?

avatar
z*e
31
这个图表述得也不清不楚
有些名称用j2ee标准化得名称
比如jms
有些又用了idea的名字
比如orm,用标准化名称应该是jpa
有些又用了关键字
比如transaction,用标准化名称应该是jta
所以说,backend就这样,各种乱七八糟得概念凑一起
很容易乱,所以最重要还是把握思想,不要被这些东西所迷惑

【在 c********1 的大作中提到】
: 赵老师,请问:
: 您所指的spring data,究竟用这图
: 左上角那一块 表述更恰当
: 还是下面这图
: 中的“Spring ORM + Spring DAO”那一块表述更精确?

avatar
z*e
32
另外dao这个其实是一个pattern name
你还是自己动手实现一个就明白了
dao+dto差不多就是orm,官方接口总称叫做jpa
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。