16
2013
04

《重构-改善既有代码的设计》笔记 - 重构原则

《重构-改善既有代码的设计》一本非常经典的书籍,第二次看这本书了,说实话第一次看的已经忘的差不多了。开始做一部分笔记,避免看完后再次忘记,让经典保留到我的博客。部分文字摘抄自此书,部分为自己的总结语言。先分享第一张吧。


什么是重构?

名词解释:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。

动词解释:使用一系列的重构手法,调整其结构。前提:不改变软件可观察行为

11
2013
04

浏览器工作原理 - 浏览器HTML解析器

HTML 解析器

HTML解析器的工作就是解析HTML标记到解析树。

HTML文法定义

现在的HTML文法由W3C组织定义,当前版本HTML4,HTML5已经在各个浏览器中被使用,但正式出台需要到2012年。

非上下文无关文法

正如在解析简介中提到的,上下文无关文法的语法可以用类似BNF的格式来定义。

03
2013
04

浏览器工作原理 - 浏览器解析原理

在浏览器的工作原理中,由于解析是渲染引擎中一个很重要的过程,我们会讲的略深入一些。让我们从一个小的解析介绍开始。

解析一个文档意味着把它翻译成有意义的结构以供代码使用。解析的结果通常是一个节点构成的树,它代表这个文档的结构,我们称它为解析树或句法树。

示例——解析表达式“2 + 3 - 1”可以返回下面的树:

01
2013
04

浏览器工作原理 - 浏览器渲染引擎

浏览器的层结构看,我们看到浏览器渲染引擎是整个层级最直接我们web开发人员研究的一块。渲染,意思就是将请求的内容显示到页面上来。

28
2013
03

IE8 inline-block容器不撑开问题(利用重绘解决)

碰上问题 —— 分析问题 —— 解决问题。

浏览器兼容问题就这么出现的,今天就碰上一个IE8的问题。内容增加后,容器却不撑开。下面来看看详细的吧。


碰上问题:

问题: 有A,B,C三个容器,其中A设置了display:inline-block,A容器包含B容器,B容器包含C容器。此时C容器的高度增加时(脚本动态为C增加内容),A容器的高度居然不变? 问题如下图,A容器下面的内容被覆盖了。

20
2013
03

浏览器工作原理 - 浏览器架构简介

浏览器工作原理,知道浏览器才知道如何对前端进行优化和很好的处理各类前端问题。看看浏览器的架构图。

image

  1. User Interface(用户接口,浏览器展示部分):包括地址栏、前进/后退按钮,书签菜单等,最重要的还有一个请求展示窗口。

01
2013
03

Windows7用户可以开始使用IE10了

北京时间2013年2月27日,Windows7版的IE10版正式发布。

image

相比于IE9,IE10为Windows 7用户带来更快更流畅的浏览体验,完善了硬件加速和Chakra JavaScript引擎。Windows 7版IE10拥有与Windows 8版IE10相同的HTML5功能,包括Rich Visual Effects、Sophisticated Page Layouts、增强Web编程模式。另外,Windows 7版IE10还默认开启了Do Not Track禁止追踪功能。

25
2013
02

利用safari6.0远程调试iPhone/iPad上的网页

在PC机或则Mac机上做web开发时我们用到的调试工具很多,但是做iPhone/iPad下的网页调试工具却很少。在iOS6之前我们也许可以用iWebInspector来进行调试,现在我们可以直接用Safari来进行调试了。看看原理图,利用Mac机的Safari远程调试iPhone/iPad设备上的网页,或则利用Mac机的Safari调用本机iOS Simulator上的网页,非常方便

image

23
2013
02

Windows7上搭建iPhone/iPad网页调试环境

要搭建iPhone/iPad网页调试环境在Windows7上,其实挺坑爹的,地球人都知道要用到虚拟机才行,本文方法也不例外。麻烦,耗资源,但有需求就得上。下面四步让你win7上可以开发iPhone/iPad应用(准备好你的PC吧)

  1. 安装虚拟机软件VMware 9,和mac os. 图文教程可以到我同事Unmi网站看详细教程:http://unmi.cc/vmware9-install-mac-os-x-mountain-lion

15
2013
02

CSS3浏览器支持参照表

CSS3还不是W3C的一个标准规范,但是很多主流浏览器已经开始支持它许多新的属性,下面就是一个CSS3属性的浏览器支持参照表。(来自w3schools,收藏下来以便日后方便查询)

icon图标后加数字的是表示该浏览器的那个版本:

944510.5

The number indicates the browser version in which the property was first supported.