领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Mike Bria 译者 沙晓兰 发布于 2011年8月20日
Chronon System近期公布了Chronon Recording Server的beta版本。Chronon Recording Server可以说是Chronon工具箱系列产品中一款远程控制工具,大家可以下载试用一下8月15日公布的1.8.7版本。
这个Chronon Recording Server可以记录任何Java应用在任何机器上运行时的内部状况,完了之后,通过其中的“回放”功能,整个程序的执行过程就一目了然了,这对程序调试来讲非常实用。这种回放式的程序调试可以在运行该Java应用的机器上进行,也可以在其它机器上进行。无论是哪台机器,只要能访问纪录文件就都可以。Chronon Systems一句话概括了Chronon Recording Server的实质:它是“Java的数码录像机”。
Chronon(core)当中捆绑了一个Eclipse插件。正是因为这个插件,大家才能够在类似调试环境的视窗中通过回放纪录文件来检查程序的具体运行状况。跟传统的调试器一样,这个插件提供丰富的视图以助于查看数据,比方说可以追踪程序每一步执行时的状态。此外,插件还附带一些筛选和评估程序执行流程等其他功能。
它的Time Traveling Debugger还能显示每个active的线程完整的stack trace,甚至还能追溯当下内存所存储的确切内容。用户可以立刻跳到纪录的任何时间点,无论是跳到更早的时间点还是之后的,都没有障碍,因为Time Travelling Debugger所做的其实就是像查询数据库那样查询纪录文件而已。
正因为Chronon纪录下整个程序运行时候的所有状态,所以它的调试器还能提供一些传统调试器无法实现的功能。比方说,它可以查询某个变量在整个程序运行当中被赋过多少值,都是些什么值,甚至还能直接跳到这个变量被赋予某个特定值的时间点,比如说这个变量是空值的时候。
Chronon recorder可以看作是所需调试的Java应用的一个Java代理,这个代理可以在应用程序运行的时候通过分析装载在内存当中的字节码来观察和采集反应该程序运行状况的数据。采集到的数据在经过异步压缩以后作为独立文件保存到硬盘上,之后能够传送到任何计算机(比如工程师的机器)上方便用户通过前面讲到的“Time Traveling Debugger”的回放功能来调试程序。
这个工具对于那些需要长时间运行的服务器程序来说特别有用。尤其是传统的调试工具都需要工程师事先设置断点,想办法重现遇到的问题,然后再等上几个小时直到程序执行到设置断点的地方。用这个工具的话,工程师就只需要在异常抛出以后抓取对应的纪录文件,在纪录中找到异常抛出的时间点,然后通过“step backward”查看在异常抛出前程序每一步的运行情况,从而确认导致异常的原因。
Chronon在最新的系列产品中还添加了Chronon Recording Server组件。这个组件可以远程管理在多个JVM上运行的“录像机”,更方便各小组之间共享各自的纪录文件。在最新的这个“服务器模式”下,Chronon recorder可以动态地启动或停止记录Java程序的运行。一旦程序有任何非正常的运行状况,比如bug,用户可以立刻通过服务器启动recorder的记录功能,以记录非正常状况的重现过程。这样一来,用户都不需要追加任何日志记录代码,更无需重新部署或设置远程调试环境。
Chronon Systems的工程师这样概括他们的产品的优点:
- 无需解析日志文件:程序运行的全过程都可以完整记录,不需要再去解析冗长的日志文件。
- 远程记录Java程序运行状况:把所有计算机都连到Recording Server,由服务器统一管理每台机子上的记录。
- 便利QA跟开发工程师之间的协同工作: QA可以通过Recording Server记录所有的测试过程,万一测试发现任何问题,开发工程师都可以从服务器上获取相关的记录,然后利用Time Traveling Debugger完成调试。
- 可以记录需要长时间运行的应用:无论是需要运行几天,几个星期,甚至是几个月的程序,Chronon Recording Server都可以记录它的运行过程。如果需要记录的时间过长,服务器会自动分多个文件记录,不会因为文件太大而丢失老的纪录。
- 动态启动或停止记录功能:Recording Server可以动态地在Java应用运行的过程中启动或者停止Chronon recorder,这样一来,我们可以在应用运行的全程中都开着Chronon recorder,但只在需要记录的时候启动记录功能。
这个工具的beta版本 在最近几个星期都可以免费下载,大家不妨试用一下。
查看英文原文:"DVR For Java", Preview The Chronon Recording Server
译者 沙晓兰 目前从事Web应用的开发,有Java和JavaScript开发经验,关注J2EE、Struts 2等技术以及富客户端开发动态。
在实施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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
1 条回复
关注此讨论 回复