文档章节

与Boss大雷探讨JavaWeb开发、电商与网络安全

jtn
 jtn
发布于 2015/04/13 12:37
字数 1865
阅读 10
收藏 0
    最近几个月,与公司Boss大雷交流得比较多,也学习到了很多新的东西,了解到了一些没有接触和实践的业界做法。

    简要介绍下Boss,姓雷,定居武汉好几年了,之前在一号店、UC、支付宝干过,有丰富的电商-支付-游戏开发经验。

    这几个月,我一边工作,一遍学习了下他的设计。这些设计,Boss主要参考了支付宝等前几家公司的架构设计经验,当然还有自己对技术的理解,对一起好项目的业务理解。

   最近探讨的若干问题:

1.p2p算不算电商网站。
  应该算,水电费缴费也算。电商是个很大的概念,当然购物网站、不同的购物网站、P2P理财,还是有不同玩法的。
每个细分领域、每个公司都有自己的特色,要不然竞争太激烈,也不容易生存下来。比如某公司的平台做得好,某公司的物流很牛逼,某公司的食品还不错,某公司的图书很火爆。

2.开发过程中,账务系统先不做成WebService,只做成普通的接口,提高整体的开发效率,后期再重构成服务不就行了么。
  Boss不这么认为,根据他之前的经验,前期你一旦开发好了,提供了接口,别人的调用,你无法控制,因为别人引入了包之后,所有的API都可以进行调用。另外的问题是,自己写的代码和别人的代码可能会有循环依赖,一个项目的代码过多,加载启动变慢。

 我的观念和Boss的观念有很大的不同,主要是由于,他在大公司干的多,团队比较多,项目协调管理麻烦一些。而我更多是在技术团队比较小的公司,我觉得人就这么多,追求开发效率,不会存在太多随便调用的情况。

3.Spring中的@Autowired和@Resource。
  在最初学习的时候,用Resource,后来偷懒,就用了Autowire,后来甚至只要实现类,根本不要神马接口。因为,在我参与和独自写的项目中,一个接口一般就一个实现类,很少有一个接口多个实现类的场景。定义那么多接口,用Resource注解,麻烦很多。
  而Boss认为,@AUtowired现在是没有问题,后来不知道什么时候就遇到问题了,之前经历过这种类似的问题。既然知道可能会有这个问题,现在就避免它出现。另外,就是写代码本身只占实际开发时间的很小一部分,花不了多少时间。我觉得这一点还是很有道理的,写代码太简单了,难点在于思考如何实现一个业务。
 @Autowired(required=false),不同的注解还是有不同之处的,以前真心没有研究过,或者遇到这么个需求。

4.Map与Model。
  很久以前,尤其在用Hibernate那段时间,我就用Model,一个项目建立了很多实体类。后来用Mybatis,自己讨厌建立太多Bean,正好公司大牛那段时间也用了Map,所以很久以来,我主要用的是Map接收参数和传递数据。但是,发现Map也有自己的缺点,可读性太差了,也不方便协调。即使是几个人开发,如果项目有很多逻辑要处理,用Map也确实不好搞,毕竟Map与Java强类型和面向对象的优势有点矛盾。

  Boss自身,更偏好用Model,用面向对象,可读性好。当然,有时又想偷懒,一个Model是多个用处的,也存在一定让人纠结的地方。比如一个Model中的属性,有时有值,有时没有值。

  我喜欢用Map,还有一个理由,就是遇到的每一个问题,用Map也确实可以解决。想想看,Map和Model都是数据类型,本质还是一样的嘛。

  根据自己这几年的实践来看,如果强调可读性、可维护性、面线对象,或者项目成员比较多、项目业务逻辑比较多和复杂,用Model是比较好的。如果是自己开发一个小项目,用Map还是很不错的。

  这里面还存在一个问题,用Map和Model是2种不同的哲学,代码实现还是很有区别的。意味着,你同时维护2套代码,思想负担有点大。

  就目前的心态来看,今后我的项目,还是主要尽可能用Model,尽可能不再用Map,除非Map真得比较符合实际需求。

5.安全问题。
 前几天,铁路票务系统账号泄露。我关注了下,实际上是别人碰库搞出来的,然后那2个黑客被抓起来了。
 于是,和Boss探讨了Md5加密问题。我感觉md5也不是很安全啊,如果数据库泄漏了,别人根据你的加密算法,搞个彩虹表,就很快把你的密码明文给拿到了,然后你就跪得很彻底了。

 Boss是看法是,md5加密确实有这个问题,实际主要是防止内部人的。如果数据库泄漏了,安全真的很难保障。我想到的是,除了MD5再搞一套自己定义的加密,即先自己加密,再MD5加密,更安全。Boss的想法是,你是更安全了,但是开发成本也更高了,而且你牛逼了,黑客也会更加牛逼的。

 此外,Boss还透露一个小道消息,国内的那些高级黑客,都是有圈子的,而且是分产业链,盗号与卖钱是分开的。阿里等大公司,除了有自己的安全团队外,可能每年还要花费不少的公关费,把自己泄漏的信息花钱给买回来。或者,“向黑客交保护费”,你不要攻击我啊,我给你钱,要攻击,你去攻击我的对手去。

 前几年,不少公司数据库泄漏,黑客太嚣张了,后来,有的被抓起来了,黑客们也更加注重自保。

6.账务系统
  账务系统,通用性还是比较强的,与其它系统相对比较独立。按照账务系统提供的接口进行调用,很容易实现不同系统之间的对接。

  电商网站、第三方支付、银行,账务系统各有各的。

  可能不会实时去对账,不然成本太高,2元一笔的费用之类的,量太大,自己内部算好,然后和银行一次接口通信就处理完了,比如批量转账接口。

7.通用DAO方法。
 我非常喜欢去写通用的DAO方法,想少写代码,多个项目都能用。而Boss不喜欢这样,他担心太通用,别人可能会滥用,导致系统不稳定。
  这又是一个观念不同的地方,我自己一个人开发,怎么调用非常清楚,也不会去随便调用,错误地调用当然可能出现问题。而多个人,也确实不好控制。
    

© 著作权归作者所有

jtn

jtn

粉丝 12
博文 879
码字总数 879609
作品 0
武汉
程序员
私信 提问
2017第五届中国网络安全大会( NSC 2017 )

因楼主不能及时查看2017第五届中国网络安全大会报名信息,还望各位参会者能移步至活动家官网进行在线报名 报名地址:https://www.huodongjia.com/event-821203327.html 快速审核,方便咨询。...

活动家
2017/03/01
64
0
【通知】报名通道即将关闭!抓住尾巴快上车啦!

        4月6日晚上24时,报名通道将准时关闭!   还没报名可得抓紧时间了!   别让错过的泪水,洒满你愉悦的假期!   信息安全行业的发展瞬息万变   干货十足的电商安全峰会 ...

嘶吼RoarTalk
2018/04/04
0
0
第五届中国网络安全大会( NSC 2017 )

本次峰会将于2017年6月13日举行,因楼主不能及时查看报名信息,还望各位参会者能移步至活动家官网进行第五届中国网络安全大会( NSC 2017 )报名,在线报名地址: https://www.huodongjia.c...

活动家
2017/03/16
45
0
第五届中国网络安全大会(NSC2017)

大会介绍 中国网络安全大会是在国家相关部委的指导下,由赛可达实验室联合国内外众多具有影响力的行业协会、机构等单位共同主办的综合性行业会议,每年举办一届,从2013年至今已成功举办四届...

lemon957
2017/04/24
21
0
IT大事件—分享IT界最新的IT大会——互联网大会,技术大会.................

IT大事件——IT人的事。itd4j.com,www.itd4j.com,分享IT界最新的IT大会——互联网大会,技术大会。了解最新技术动态资讯,学习最新、最热门的技术文章。可以关注:IT大会,IT互联网,架构师...

sjg11
2015/03/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

[top]cpu内存

%Cpu(s): 96.0 us用户进程整理cpu的占比,按整个cpu算。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND ......

Danni3
5分钟前
2
0
JavaScript权威指南笔记2

第二章、词法结构 1、字符集 JavaScript程序:Unicode字符集编写 Unicode:ASCII和Latin-1的超集,支持所有在用的语言。 ECMAScript 3要求JavaScript的实现必须支持Unicode 2.1及后续版本 EC...

_Somuns
13分钟前
4
0
数据安全管理:RSA算法,签名验签流程详解

本文源码:GitHub·点这里 || GitEE·点这里 一、RSA算法简介 1、加密解密 RSA加密是一种非对称加密,在公开密钥加密和电子商业中RSA被广泛使用。可以在不直接传递密钥的情况下,完成加解密操...

知了一笑
53分钟前
7
0
Podman 使用指南

> 原文链接:Podman 使用指南 Podman 原来是 CRI-O 项目的一部分,后来被分离成一个单独的项目叫 libpod。Podman 的使用体验和 Docker 类似,不同的是 Podman 没有 daemon。以前使用 Docker...

米开朗基杨
今天
6
0
拯救 项目经理个人时间的5个技巧

优秀的项目经理都有一个共同点,那就是良好的时间管理能力。专业的项目经理会确保他们的时间投入富有成效,尽可能避免时间浪费。 时间管理叫做GTD,即Getting Things Done——“把事情做完”...

Airship
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部