06 2013 档案
摘要:浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“解释引擎”,不过我们一般习惯将之称为“浏览器内核”。负责对网页语法的解释(如HTML、JavaScript)并渲染(显示)网页。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。几种常见的浏览器内核简介:Trident:Windows下的IE浏览器使用的内核代号。除IE外,众多的IE Shell(如 Maxthon)都使用这个内核。Gecko:Mozilla Firefox浏览器使用的内核代号
阅读全文
摘要:今天在看框架的时候无意间看到了document.compatMode,经过一番资料查找,终于搞懂了。文档模式在开发中貌似很少用到,最常见的是就是在获取页面宽高的时候,比如文档宽高,可见区域宽高等。IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释和其他的标准浏览器是一样,但在Quirks Mode模式下则有很大差别,而在不声明Doctype的情况下,IE默认又是Quirks Mode。所以为兼容性考虑,我们可能需要获取当前的文档渲染方式。document.compatMode正好派上用场,它有两种可能的返回
阅读全文
摘要:建议:不推荐使用Quirks Mode。Quirks Mode中发生了什么?Quirks Mode是一种浏览器(像IE,Firefox,Opera)操作模式。从根本上说,怪异模式(也称之为兼容模式)意味着一个相对新的浏览器故意模拟许多在旧浏览器中存在的bug,特别是在IE4和IE5中。Quirks Mode是由文档类型探查法触发。也就是大家熟知的文档类型切换。这意味着浏览器检查一个HTML文档的开始,看它是否包含一个HTML规范所要求的文档类型声明。Quirks Mode的目标是使旧页面显示出他们的作者想要的那样。旧页面可能利用旧浏览器已知的特性写成,或者至少是适应旧浏览器。更多关于怪异模式的
阅读全文
摘要:jquery1.3将选择器引擎独立,定名为Sizzle,这也是jQuery第一个独立的模块。在Sizzle的介绍里,关于它的首要目的就是在”最常用的选择器使用”比之前版本的引擎更快。(什么是”最常用的选择器使用”,请参见http://ejohn.org/blog/selectors-that-people-actually-use)。 实际上,选择器引擎的运用对于页面性能起了至关重要的作用。使用合适的选择器表达式可以轻易的提高性能、增强语义并简化逻辑,而你所需要做的,不过是培养几个习惯而已。 旧习惯我们最常用的简单选择器包括”id选择器”、”类选择器”、”标签选择器”,毫无疑问的是id...
阅读全文
摘要:随着互联网产业的爆炸式增长,与之伴生的Web前端技术也在历经洗礼和蜕变。尤其是近几年随着移动终端的发展,越来越多的人开始投身或转行至新领域,这更为当今的IT产业注入了新的活力。尽管Web前端技术诞生至今时日并不长,但随着Web技术的逐渐深入,今后将会在以下几方面发力。 1. Web移动终端开发。 2. JavaScript的兄弟们。 3. 百花齐放的类库和框架。 4. 工程化的Web前端开发规范。Web移动终端开发PhoneGap: 一个开源的开发框架,使用HTML、CSS和JavaScript来构建跨平台的移动应用程序。它使开发者能够利用iPhone、Android、 Palm、...
阅读全文
posted @ 2013-06-09 16:05
金广国
摘要:1. 概论在过去的近十年的时间里,面向对象编程大行其道。以至于在大学的教育里,老师也只会教给我们两种编程模型,面向过程和面向对象。孰不知,在面向对象产生之前,在面向对象思想产生之前,函数式编程已经有了数十年的历史。那么,接下来,就让我们回顾这个古老又现代的编程模型,让我们看看究竟是什么魔力将这个概念,将这个古老的概念,在21世纪的今天再次拉入了我们的视野。2. 什么是函数式编程在维基百科中,已经对函数式编程有了很详细的介绍。那我们就来摘取一下Wiki上对Functional Programming的定义:Incomputer science,functional programmingis a
阅读全文
摘要:编程初学者总是把大量的时间用在学习编程语言、语法、技巧和编程工具的使用上。他们认为,如果掌握了这些技术技巧,他们就能成为不错的程序员。然而,计算机编程的目的并不是关于精通这些技术、工具的,它是关于针对特定领域里的特定问题创造出相应的解决方案,程序员通过相互合作来实现这些。所以,很重要的一点,你需要能精确的用代码表达出你的思想,让其他人通过代码能明白你的意图。 让我们先看看编程大师Robert C. Martin的杰作《Clean Code》里的一句话:注释的目的是为了弥补代码自身在表达上的不足。 这句话可以简单的理解为如果你的代码需要注释,最有可能是你的代码写的很烂。同样,如果在没有注...
阅读全文
摘要:默认情况下,Nginx的gzip压缩是关闭的 同时,Nginx默认只对text/html进行压缩 所以,开启gzip的指令如下:gzip on;gzip_http_version 1.0;gzip_disable "MSIE [1-6].";gzip_types text/plain application/x-javascript text/css text/javascript;关于gzip_types,如果你想让图片也开启gzip压缩,那么用以下这段吧:gzip_types text/plain application/x-javascript text/css te
阅读全文
摘要:随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢?gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多。gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心,因为目前的巨大多数浏览器都支持解析gzip过的页面。Nginx的压缩输出有一组gzip压缩指令来实现。相关指令位于http{….}两个大括号之间。gzip on;//该指令用于开启或关闭gz
阅读全文
摘要:Page Speed 对网站的网络服务器配置和前端代码执行若干测试。这些测试基于一组已知可增强网页性能的最佳实践。在网页上运行 Page Speed 的网站管理员会获得一组针对各网页的分数,以及有关如何改善网页性能的有用建议。 编辑本段使用 Page Speed 利用 Page Speed,您可以: 使您的网站更快速; 使互联网用户始终关注您的网站; 减少您的带宽成本和托管成本; 改善网络!规则得分的注解 对于每个规则,都会有两种得分:一个100以内的数字分数;和一个绿、黄、红的颜色分数,数字分数是一种原始得分,用来标注当前页面在当前规则下的表现,得分基于某些量化的维度,例如:D...
阅读全文
摘要:网站最重要的东西是什么?——内容?SEO(搜索引擎优化)?UE(用户体验)?都不对!是速度!内容再丰富的网站,如果慢到无法访问也是毫无意义的; SEO做的再好的网站,如果搜索蜘蛛抓不到也是白搭(页面效率和搜索蜘蛛之间的关系,需要进一步的确认,此为和上篇保持统一); UE设计的再人性化的网站,如果用户连看都看不到也是空谈。所以网页的效率绝对是最值得关注的方面。虽然我们在《如何提高网页的效率(上篇)——提高网页效率的14条准则》提到了如何提高网页效率的14条准则,但是如何知道我们现在的网页的效率到底如何?到底处于怎样一个级别?又有哪些方面做的不够好,需要改进呢?也许,你会说,问一下用户不就知道了吗
阅读全文
摘要:网站最基本的东西是什么?网站最基本的东西是什么?——内容?SEO(搜索引擎优化)?UE(用户体验)?都不对!是速度!内容再丰富的网站,如果慢到无法访问也是毫无意义的; SEO做的再好的网站,如果搜索蜘蛛抓不到也是白搭; UE设计的再人性化的网站,如果用户连看都看不到也是空谈。所以网页的效率绝对是最值得关注的方面。如何才能提高一个网页的效率呢?Steve Souders(Steve Souders的资料http://www.oreillynet.com/pub/au/2951)提出的提高网页效率的14条准则,而这些准则也将是我们下篇中介绍到的YSlow工具的理论基础:Make Fewer HTT
阅读全文
摘要:Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践。他们为此进行了一系列的实验、开发了各种工具、写了大量的文章和博客并在各种会议上参与探讨。最佳实践的核心就是旨在提高网站性能。 Excetional Performance团队总结出了一系列可以提高网站速度的方法。可以分为7大类34条。包括内容、服务器、cookie、CSS、JavaScript、图片、移动应用等七部分。其中内容部分一共十条建议: 一、内容部分尽量减少HTTP请求减少DNS查找避免跳转缓存Ajxa推迟加载提前加载减少DOM元素数量用域名划分页面内容使frame数量最少避免404错...
阅读全文
摘要:近年来随着Web应用交互复杂度的提升,前端开发也迎来了一个高速发展的时期。除了一些老牌框架纷纷推出改动较大的升级之外,还涌现出一批新生代的开源库和框架,推动着Web应用开发理念向越来越强调前端架构的方向发展。当下的前端技术可以说是处在一个新旧交替的过程之中,同时存在着许多不同的观念和实践。 本文试图对目前数量繁多的前端框架进行一些较笼统的分析和比较,抛砖引玉,希望能为大家在选择前端的技术架构时提供一些有益的参考。需要明确的是,本文探讨的前端架构是以JavaScript为主。有一些主要关注 CSS层面的前端框架,如Bootstrap,不在本文的讨论范围之内。 今天的 JavaScript...
阅读全文

浙公网安备 33010602011771号