领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Michael Hunger 译者 曹云飞 发布于 2010年9月18日
CouchDB背后的公司Cloudant刚发布了针对CouchDB的Java视图服务器。这意味着不仅仅是Erlang和解释性语言如Javascript或者Python可以用于Map-Reduce工作,基于JVM的语言也可以用于Map-Reduce工作。本周的CouchDB社区会议将会讨论这项技术。目前Java视图服务器只用于Cludant托管的BigCouch服务。
Java的主要优点是有海量的Java库可用于各种各样与map reduce任务有关的功能。第二点是更可靠的静态类型方面(还需要证实)。
性能比较是有意义的,但是目前还没有做基准测试。预期Java视图的性能会比原生的Erlang视图慢(Java和Erlang可以混合在一个视图中)。使用org.json库做的JSON序列化和反序列化会带来一些性能开销。
要使用基于Java的Map Reduce视图只需要实现一个简单的JavaView接口,该接口提供了对map、reduce和rereduce的回调。例如一个简单的视图,聚合在配置的JSON字段中的单词数量。
{
"_id":"_design/splittext", "language":"java", "views" : { "title" : {"map":"{\"classname\":\"com.cloudant.javaviews.SplitText\",\"configure\":\"title\"}","reduce":"com.cloudant.javaviews.SplitText"},
} }
InfoQ与负责Java视图服务器项目的Search at Cloudant主管David做了交流。
InfoQ:CouchDB运行在Erlang之上,它如何与JVM中的代码交互?实现这个项目的挑战在哪里?
David:Java视图服务器和所有CouchDB视图服务器一样(除了原生erlang)作为一个外部进程运行。在CouchDb和视图服务器之间有一个定义良好的协议来做通信。
通常,通过标准方式做通信,但是实际上因为性能原因我们使用OtpErlang java-erlang库(允许多线程)。
InfoQ:在这个场景下对代码/库有什么限制?
David:主要的挑战是安全,在系统级和用户数据级都用限制。我们在一个共享的集群运行视图服务器。我们使用动态类加载来加载用户的库。类加载器有一个十分严格的安全管理器来限制恶意调用。不允许文件系统访问,只允许调用有限的系统调用。
目前的视图服务器架构很简单,它使用由基于Erlang的CouchDB实例来驱动java线程。如果Java服务器出问题了,它只是关闭并重启服务器。对于这样的服务器还可以使用基于Scala的Akka framework 或者Jetty的非阻塞请求来实现。Java视图服务器可以运行在任何JVm上。
一 个巨大的潜力在于使用Java的下一代语言例如Clojure、Scala或者Groovy(和其他语言)来做种工作,因为这些语言对于表达这样的任务比 Java更简明高效。据David所说其他团体正在开发一个基于Clojure的视图服务器。如果想评估新的Java视图服务器,可以从Cloudant's的站点获得一个免费的账号。在couchjava github版本库可以看到更详细的介绍。
查看英文原文:Cloudant releases Java based view server for CouchDB
译者 曹云飞 从事软件开发多年,包括Web应用、桌面应用、前后端开发,热衷于计算机理论与应用技术的钻研,软件架构与敏捷开发。
在实施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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
没有回复
关注此讨论 回复