在IT项目中,一支强有力的技术型团队是项目成功的关键,那么如何才能建立出这样一支成功的技术型项目团队?看看加拿大魁北克大学管理院教授Prosper Bernard是如何来阐述的。
自Google在2009年发布Go语言的第一个正式版之后,这门语言就以出色的语言特性受到大家的追捧,尤其是在需要高并发的场景下,大家都会想到是不是该用Go。随后,在国内涌现出了一批以七牛为代表的使用Go作为主要语言的团队,而许式伟大神本人也在各种场合下极力推动Go在国内的发展,于是在这种大环境下,中国的Go开发者群体逐渐超越了其他地区。
那么问题来了,业余时间好学是一回事,真正要将一个新东西运用到生产中则是另一回事。JavaScript的开发者可以义无反顾地选择Node.js,但是对于Java开发者来说,在下一个大项目里究竟是该选择Go,还是Java呢?
软件开发不是孤独的追击,它需要同其他开发者和其他部门协作。大多数组织建立的软件生命周期没有涉及到如何进行这些交互。现实是许多团队的过程并不符合他们的要求或没有得到一贯地遵循。当发生这种情况时,很容易让人产生抱怨情绪,如果你已经有了改进的想法却又无从下手,也会让人感到沮丧。本文提供了一个工具,可以帮助你的团队基于其日常经验进行过程改进。回顾是工具,团队可以利用它来产生积极的变化:从遵循过程到驾驭过程。
回顾是会议,让整个团队都参与到检查过去的事件过程中,并对就今后如何更高效的工作进行头脑风暴。团队根据获得教训制定对应措施,并应用于自身。本文旨在说明为推动你的团队进行回顾,你需要做些什么。
类转换
当把一个类对象存到mongoDB后,从mongoDB取出来时使用setObjectClass()将其转换回原来的类。
public class Tweet implements DBObject {
/* ... */
}
Tweet myTweet = new Tweet();
myTweet.put("user", "bruce");
myTweet.put("message", "fun");
myTweet.put("date", new Date());
collection.insert(myTweet);
//转换
collection.setObjectClass(Tweet.class);
Tweet myTweet = (Tweet)collection.findOne();
NoSQL简述
CAP(Consistency,Availabiity,Partitiontolerance)理论告诉我们,一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。关系型数据库通过把更新操作写到事务型日志里实现了部分耐用性,但带来的是写性能的下降。MongoDB等NoSQL数据库背后蕴涵的哲学是不同的平台应该使用不同类型的数据库,MongoDB通过降低一些特性来达到性能的提高,这在很多大型站点中是可行的。因为MongoDB是非原子性的,所以如果如果应用需要事务,还是需要选择MySQL等关系数据库。
redis set 是string类型对象的无序集合,set不管存储多少对象,对存储对象的add,remove和test操作的时间复杂度是O(1)。set最多能包含 232 - 1 个member。
list相关概念