作为一名Java程序员,我为什么不在生产项目中转向Go

原文地址:http://www.infoq.com/cn/articles/why-not-go

自Google在2009年发布Go语言的第一个正式版之后,这门语言就以出色的语言特性受到大家的追捧,尤其是在需要高并发的场景下,大家都会想到是不是该用Go。随后,在国内涌现出了一批以七牛为代表的使用Go作为主要语言的团队,而许式伟大神本人也在各种场合下极力推动Go在国内的发展,于是在这种大环境下,中国的Go开发者群体逐渐超越了其他地区。

那么问题来了,业余时间好学是一回事,真正要将一个新东西运用到生产中则是另一回事。JavaScript的开发者可以义无反顾地选择Node.js,但是对于Java开发者来说,在下一个大项目里究竟是该选择Go,还是Java呢?

敏捷开发:如何通过回顾保持学习状态

英文原文:How To: Live and Learn with Retrospectives

  软件开发不是孤独的追击,它需要同其他开发者和其他部门协作。大多数组织建立的软件生命周期没有涉及到如何进行这些交互。现实是许多团队的过程并不符合他们的要求或没有得到一贯地遵循。当发生这种情况时,很容易让人产生抱怨情绪,如果你已经有了改进的想法却又无从下手,也会让人感到沮丧。本文提供了一个工具,可以帮助你的团队基于其日常经验进行过程改进。回顾是工具,团队可以利用它来产生积极的变化:从遵循过程到驾驭过程。

  回顾是会议,让整个团队都参与到检查过去的事件过程中,并对就今后如何更高效的工作进行头脑风暴。团队根据获得教训制定对应措施,并应用于自身。本文旨在说明为推动你的团队进行回顾,你需要做些什么。

MongoDB常用API总结

类转换

当把一个类对象存到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数据库-MongoDB

NoSQL简述

       CAP(Consistency,Availabiity,Partitiontolerance)理论告诉我们,一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。关系型数据库通过把更新操作写到事务型日志里实现了部分耐用性,但带来的是写性能的下降。MongoDB等NoSQL数据库背后蕴涵的哲学是不同的平台应该使用不同类型的数据库,MongoDB通过降低一些特性来达到性能的提高,这在很多大型站点中是可行的。因为MongoDB是非原子性的,所以如果如果应用需要事务,还是需要选择MySQL等关系数据库。

Redis命令总结

Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用。在编程时,比如使用Redis 的Java语言包,这些命令都有对应的方法,比如上面例子中使用的sadd方法,就是对集合操作中的SADD命令。下面将Redis提供的命令做一总结。

Redis系列-存储篇list操作

list相关概念

  • 列表:一个从左到右的队列,类似于一个栈,常规模式下,先进列表的元素,后出。
  • 表头元素:列表最左端第一个元素。
  • 表尾元素:列表最右端的最后一个元素。不包含任何元素的列表成为空列表。

ios-mdm介绍与实现


最近一直在研究mdm系统,首先从ios下手,自己也写了一个demo,目前把学习和实践过程中总结的东西记录下。

MDM介绍

MDM的全称是Mobile Device Management,顾名思义是移动设备管理,帮助企业将IT管理能力从传统的PC延伸到移动设备甚至移动应用APP。

,