领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 郑柯 发布于 2011年12月22日
姜洋是知名手机软件“友录通讯录”的创始人之一,该软件1年间收获了超千万次的下载,日前友录团队悄然推出了新的商务社交应用“友联系”,主打纸质名片识别、电子名片交换、同道聚会等维护和拓展人脉的功能。
从保存和保护用户备份的通讯录数据,到协助用户拓展人脉关系,安全性始终是姜洋及其团队考虑的重中之重,多年移动开发的经验也让他在这方面逐步有了真正的经验积累。针对近期用户信息泄露泄露的系列安全事件,InfoQ对他进行了专访。
InfoQ:从移动客户端开发的安全来讲,您觉得最应该注意的是哪些东西?
姜洋:手机客户端的安全,首先密码不能明文保存,这是最基本的。一般都是做一个MD5加密,但是反向MD5的库其实也挺多的,所以MD5这事儿也并不那么安全。我觉得还是要用一些对称的加密策略,去加密和服务器通讯的协议,一般是用AES。如果用AES,必然涉及到密钥,这个密钥如果直接写在程序里面,也是不安全的,有可能被反编出来。如果使用常量,也肯定很容易就找到了,特别是Java,Java是可以反编译的,就是混淆了也可以被找的到。
我们用的办法是这样:我们的密钥是t和平台相关的,Android平台用这个,iOS用另外一个,Windows Phone再换一个,这可以加强反编译的难度。还有很重要的一点:这个密钥也就是用一个函数算出来的,而不是写在常量里边,这是我们目前的做法。
手机客户端的安全这块儿,目前业界做得挺糟糕的。去年,美国的Instagram就出现了明文传输用户名和密码的重大安全漏洞。现在好多软件和新浪微博、FaceBook、QQ这些SNS平台是打通的,只要知道一个密码,就相当于他什么都知道了,这个也很不安全。如果走WiFi,通过WiFi抓取上行数据,WiFi里边经过的各种协议和信息都有可能被截获,然后知道用户的密码,特别是公共WiFi上。
我觉得加密这个东西,很难做到非常彻底,真要想把你的密钥找出来,目前也能找出来,只不过是增加他们的成本。有时候我觉得更主要的原因,还是出于程序员比较懒,由于懒的结果才犯这种错。
在后端服务器的安全上,我们在一开始创业的时候也强调得非常多。现在友录整个的数据已经上亿条了,我估计会有黑客惦记,所以我们也比较紧张。特别现在安全事故也发生挺多的,我们反正也经常强调吧。
InfoQ:像我们InfoQ的很多读者除了是技术人员之外,他本身也是用户,从用户角度出发,您还有哪些安全方面的建议?
姜洋:我建议他们不用那些安全上不靠谱的应用,但这可能也不太现实。用户反正一直就看那功能对他有没有价值,有他可能就去下载了。我觉得这个只能靠提高从业人员的素质。莫名其妙的一个应用装上,没有品牌的这样一个应用,特别是说谁做了一个打通新浪微博的应用,然后用了一下,就可能会出问题。用户在用应用的时候,最好知道可能会发生什么,那会好一点。
这就好比说:大街上随便谁放一个提款机,让你把银行卡插进去,然后你就指着从里边取出来钱,其实这两个事挺类似的。之前好像也有人造那种假的提款机出来,然后窃取用户密码,你的钱就被偷走了。我觉得现在的互联网行业有点类似。
InfoQ:也就是说其实这种隐患还是很多的,用户一定要自己长个心眼就对了?
姜洋:对,这没啥办法,可能你大街上放个取款机这事儿挺大的,有人来查你。但是做一个App太容易了,目前没啥好办法。
InfoQ:这次用户信息泄露事件,你觉得大家应该从里面吸收什么样的经验教训?
姜洋:我觉得这给整个行业提了个醒,所有做同类事情的,保存用户名、密码的,都留神点。但因为某几个程序员懒了一下,就如何如何了,我觉得也不会。还是领导不够重视,领导如果亲自盯一下,问的多一点,把每个细节关键细节都问一遍,应该也不至于发生这种事。
InfoQ安全系列—专访土豆网技术副总黄冬:后端服务器的隔离非常重要
InfoQ安全系列—专访安全宝CEO马杰:安全需要做到整条战线的严丝合缝
郑柯 InfoQ中文站总编。做过开发,当过PM,干过销售,搞过市场,最终还是回到媒体。实用的理想主义者,相信:每天改变一点点,这个世界会更好。
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
论道WP第三篇专栏,以应用程序栏的使用为中心,包括了软键盘带来的问题、应用程序栏介绍、如何绑定应用程序栏的属性等几个方面的具体话题,为开发者顺利使用应用程序栏开发提供了具体指导。
在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中对于锁的性能优化,以及锁的存储结构及升级过程。
本次分享将首先介绍现代富文本编辑器的组成和实现,然后结合UEditor的开发过程,与参会者分享UEditor在设计和实现的过程中,所涉及到的核心功能的细节实现。
本次演讲视频录制于百度技术沙龙。
我们所开发的应用程序大多都需要提供一个图形用户界面(GUI)。关于GUI应用的架构设计,已经有了Form & Control、MVC,、MVP、 Passive View等多种模式。模式可以帮助我们建立优雅的架构,但前提是弄清楚模式的应用场景。弄清楚GUI应用面临的设计上的问题,有助于我们正确的挑选设计方案。
MongoDB是一种非常易用的NoSQL方案,Brian C. Dilley在这篇文章里介绍了MongoDB的优劣势,并介绍了MJORM项目。MJORM用于MongoDB,是一个没有注解的Java ORM库。
随着网络基础设施的逐步成熟,从RPC进化到Web Service,并在业界开始普遍推行SOA,再到后来的RESTful平台以及云计算中的PaaS与SaaS概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
4 条回复
关注此讨论 回复