领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Abel Avram 译者 朱永光 发布于 2010年5月20日
Raven是一种用于.NET/Windows的基于LINQ的弱格式(shcema-less)文档数据存储服务。Raven不是另外一种NoSQL,也非关系型解决方案,而是希望解决大型Web应用的性能和扩展性要求。
Raven能把所有类型的数据都保存为JSON文档,而不会把特定的格式强加于这些内容之上。这意味着,数据能以任意格式保存,尤其适合如下场景:
- 和Web相关的数据,比如用户Session、购物车等等——Raven基于文档的特性意味着你可以在一个单独的远程调用中,获取和保存所有需要处理的数据。
- 动态实体,比如用户自定义实体,带有大量可选字段的实体等等——Raven自由格式的特性意味着你不需要疲于实现关系模型。
- 持久视图模型——不用在每次请求的时候都从零开始重新创建视图模型,你可以直接把它的最终形式保存在Raven中。这就减少了计算时间、减少了远程调用的次数,提高了总体性能。
- 大数据集——众所周之,Raven的底层存储机制可以支持超过1T的容量(在单台机器上),并且非关系型的特性让其很容易在多台机器上共享数据库,这样做对于Raven而言是极其自然的。
如下的代码片段是存储在Raven中的一个示例文档:
{
"PostTypeId":1,
"Id":2321816,
"Title":"Storing commercial files on the server",
"AcceptedAnswerId":2321854,
"LastActivityDate":"\/Date(1266953391687+0200)\/",
"AnswerCount":3,
"Comments":[
{
"Score":null,
"CreationDate":"\/Date(1266952919510+0200)\/",
"Text":"are they \"sensitive\" information?",
"UserId":"users/203907"
},
{
"Score":null,
"CreationDate":"\/Date(1266953092057+0200)\/",
"Text":"I wouldn't say they are sensitive information...",
"UserId":"users/200145"
}
]
}
每个文档都有一个键或文档ID与其关联,上面例子中的键是“2321816”。除了文档,Raven还能存储元数据或附加到文档中的文本/二进制附件。为了从数据存储中搜索和获取文档,Raven使用索引来完成:
索引是在一系列文档之上进行操作的LINQ查询,并为每个文档生成投影,可使查询更有效率。索引是一种Raven可在后台执行的重要LINQ查询,其结果保存在持久存储中。这些查询能在日后被高效地查询。
下面是一个以Title作为索引来组织帖子的例子:
from post in docs.Postswhere post.AcceptedAnswerId != null
select new { post.Title };
在这个索引被创建之后,用户只用查询它就可以获得想找的文档了。
Raven提供HTTP API和客户端API (C#)。HTTP API具备和客户端API一致的功能,让那些只能使用JavaScript和HTML的程序也可以访问。包含如下一些命令:
HTTP API也支持在一个调用中获取多个文档或批请求的功能。
Raven基于3种许可协议发布:
两种商业版都具有月度订阅或长期许可的选择。Raven由Hibernating Rhinos开发,一个Ayende Rahien创建的咨询公司。
其他资源:Raven DB网站,源代码仓库,由Ayende Rahien编写的Raven DB介绍,讨论组。
查看英文原文:Raven, a Document Database for .NET
译者 朱永光 是IT自由人和环境保护者,微软最有价值专家(MVP)和MCSD。
在实施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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
3 条回复
关注此讨论 回复