领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 崔康 发布于 2011年3月31日
移动平台逐渐成为客户端应用的主流载体之一,为了消除应用在不同移动平台的兼容性,采用Web形式开发移动应用成为潮流(当然特别依赖于原生功能和性能的应用,如游戏可能例外)。随着Web移动应用越来越多,其性能方面的分析与研究也逐渐受到重视。本文试图从多个角度来阐述移动Web应用性能优化的各个方面,其中主要引用了Google性能优化专家Steve Souders的精彩观点,希望能够为国内移动开发社区带来一些启示。
随着Web2.0应用的广泛采纳,Web性能越来越受到重视。有关Web应用的性能调优标准早已经深入人心,如Yahoo!的《Best Practices for Speeding Up Your Web Site》和Google的《Web Performance Best Practices》,这些标准在桌面浏览器的Web性能分析中起到了关键的作用,
现在轮到移动平台的性能调优了。技术专家Steve Souders之前在博客中宣布,今后他将会把大部分时间和精力放在移动Web性能的研究工作上,其基本的思路归结为如下几点:
读者可能会问:为什么要特别关注移动Web应用性能问题?传统的桌面Web应用经验不能适用吗?我们简单列举一下移动平台的几个特殊性:
从上面四点,读者会发现移动Web应用有其特殊的生存环境,传统的Web性能优化标准不能完全适用于移动平台,所以我们需要单独将其作为一个研究领域。考虑到移动网络的不稳定性,Souders建议大家先去掉这一不稳定因素,即首先关注通过wifi上网的移动设备的性能问题,这样就缩小了研究的范围。等时机成熟了再全面引入网络环境的性能影响。
目前,移动Web应用的性能研究工作主要困难在于——工具太少!大多数浏览器工具(Firebug、Page Speed、YSlow、Dynatrace)都运行在桌面操作系统上,不支持移动设备,其中有一些工具是浏览器插件,但是目前不支持安装在浏览器的移动版本上,另外一些则是特定的桌面操作系统的可执行文件,同样不支持移动平台。Steve Souders分析了当前桌面工具的可用性:
从以上的分析来看,bookmarklet是当前最方便的工具选择,Souders推荐了一套优秀的分析bookmarklet工具包,包括:Firebug Lite、DOM Monster、SpriteMe、CSSess、Zoompf和Page Resources。为了方便性能分析人员使用,他建立了一个meta-bookmarklet页面,大家可以通过访问一个网页使用所有的bookmarklet工具!在移动浏览器上安装的过程也比较简单:
javascript:"开头的URL即可。现在简单介绍Bookmarklet工具集的一些成员:
几乎所有Web开发人员都知道Firebug。其实,Firebug Lite是Firebug的bookmarklet 版本,可以运行在包括IE和WebKit的所有浏览器中。它提供了Console、HTML viewer和DOM inspector等功能,不过Firefug的一些高级功能无法支持,比如profiler、debugger和Net Panel,但是当你使用的移动浏览器不支持Firebug时,Firebug Lite就一个好工具。
Souders的作品,能够分析DOM树,找到所有下载的资源。不过由于是bookmarklet形式,它无法提供HTTP头部信息、文件大小、下载时间等,也无法找到不在DOM中的资源,比如图片信标(image beacon)。
DOM Monster这个工具,最初需要购买Thomas Fuchs和Amy Hoy的电子书JavaScript Performance Rocks才能得到授权使用,但是Souders说服了Thomas和Amy将其开源,该工具能够提供页面的DOM数据,并提示如何改进性能。
Souders的作品,能够为分散的CSS背景图片创建CSS sprites以提高性能。
该工具可以找到未使用的CSS选择器。
Zoompf会执行一系列的性能检查算法来分析网页。该工具与其他不同的一点在于:它不会在移动浏览器中分析当前的页面。取而代之的是,它会让你访问一个Web服务器,重新下载网页并作分析,可以快速了解当前页面的性能问题。
感兴趣的朋友可以尝试使用这些工具来分析桌面或者移动web应用的页面,看看能否从中发现性能瓶颈。InfoQ还会继续推出有关性能分析的专题文章,敬请关注。
崔康 热情的技术探索者,资深软件工程师,InfoQ编辑,从事企业级Web应用的相关工作,关注性能优化、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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
2 条回复
关注此讨论 回复