杰拉斯的博客

Yahoo!网站性能最佳体验的34条黄金守则——内容

杰拉斯 杰拉斯 | 时间:2013-02-22, Fri | 13,698 views
前端开发 

Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践。他们为此进行了一系列的实验、开发了各种工具、写了大量的文章和博客并在各种会议上参与探讨。最佳实践的核心就是旨在提高网站性能。

Excetional Performance团队总结出了一系列可以提高网站速度的方法。可以分为7大类34条。包括内容、服务器、cookie、CSSJavaScript、图片、移动应用等七部分。

其中内容部分一共十条建议:

一、内容部分

  1. 尽量减少HTTP请求
  2. 减少DNS查找
  3. 避免跳转
  4. 缓存Ajxa
  5. 推迟加载
  6. 提前加载
  7. 减少DOM元素数量
  8. 用域名划分页面内容
  9. 使frame数量最少
  10. 避免404错误

(阅读全文…)

[转载]【时光本无罪】与我十年长跑的女朋友就要嫁人了。

杰拉斯 杰拉斯 | 时间:2013-02-19, Tue | 20,735 views
心路历程 

昨天下午凌一尧给我发来一张照片,是一件婚纱,她问好不好看,我说还行。

她说“初五举办婚礼,和我们以前想象得一样,有鲜花拱门,有红地毯,有白婚纱黑礼服,就是没有你。”

我说“要不要我去凑个份子?”

她半天之后才回复说:“不用了。

(阅读全文…)

[转载]从 JavaScript 数组去重谈性能优化

杰拉斯 杰拉斯 | 时间:2013-02-06, Wed | 15,993 views
前端开发 

缘由

JavaScript 数组去重经常出现在前端招聘的笔试题里,比如:

有数组 var arr = ['a', 'b', 'c', '1', 0, 'c', 1, '', 1, 0],请用 JavaScript 实现去重函数 unqiue,使得 unique(arr) 返回 ['a', 'b', 'c', '1', 0, 1, '']

作为笔试题,考点有二:

1. 正确。别小看这个考点,考虑到 JavaScript 经常要在浏览器上运行,在千姿百态的各种浏览器环境下要保障一个函数的正确性可不是一件简单的事,不信你继续读完这篇博客。

2. 性能虽然大部分情况下 JavaScript 语言本身(狭义范畴,不包含 DOM 等延拓)不会导致性能问题,但很不幸这是一道考题,因此面试官们还是会把性能作为一个考点。

在继续往下阅读之前,建议先实现一个自己认为最好的版本。

直觉方案

对于数组去重,只要写过程序的,立刻就能得到第一个解法:

function unique(arr) {
	var ret = []

	for(var i = 0; i < arr.length; i++) {
		var item = arr[i]
		if(ret.indexOf(item) === -1) {
			ret.push(item)
		}
	}

	return ret
}

直觉往往很靠谱,在现代浏览器下,上面这个函数很正确,性能也不错。但前端最大的悲哀也是挑战之处在于,要支持各种运行环境。

(阅读全文…)

[人文积累]中国书函套语

杰拉斯 杰拉斯 | 时间:2013-02-04, Mon | 15,556 views
心路历程 

祝辞

[绥] 安好,平安。 例“祝颂时绥。”

[潭绥]  潭:水潭,意为既大且深。“潭绥”即为“大安”。“潭安”用同。 例“谨修短翰,恭候潭绥。”

[绮安] 绮:华美。美好的问安。例:“顺颂百福,并请绮安。”

[雅安] 雅:典雅,文雅,雅意。充满雅意地向别人问安。用同“绮安”。

[康吉] 健康,吉利。例:“此颂康吉。”“康安”、“康乐”、“康健”用同。

[近安] 近来都平安。“刻安”用同。例:“恭候赐教,并颂刻安。”

[健安] 健康,平安。例:“便时尚祈见示,敬颂健安。”“健吉”、“安康”、“安健”“安善”意同

[崇安] 崇:隆大,增长。“崇安”即为“大安”,并包含日日平安意。例:“专此恭请崇安。”“大安”用同。

[安祺] 平安,吉利。例:“专此布复,藉候安祺,并问令郎慧吉不一。”

[喜安] 喜气洋洋,平平安安。例:“弟极思趋贺,困于薄书,特寄不典之仪,聊表区区之意,并专贺喜安。”

[台安] 台:对别人尊称。“台安”即颂贵人安好。例:“谨举所知,以备参考,幸加亮察,复颂台安。”又例:“肃贺节喜,并颂台安。”

[禧安] 禧:幸福,吉祥。谓福祥而安好。例:“专此顺请大驾禧安,余不一。”

[时绥] 时下平安。时:接信时,眼下。绥:平安。例:“便时可惠赐书信,使知计划之进行。此布,即颂时绥。”同“近安”、“刻安”。

[褆安] 褆:平安,幸福。又作“褆福”。例:“专此敬颂褆安。”又例:“遐迩一体,中外褆福,不亦康乎!”

[履祺潭祉] 身体健康,大福大吉。例:“迩想足下履祺潭祉,时与维新。”

[褆躬纳福] 身体健康,福气日增。褆 :平安。躬:亲身,指身体。例:“比维足下褆躬纳福,履祺潭祉。”

[福躬安吉] 身体健康平安,幸福吉祥,例:“恭维福躬安吉,德履绥和。”

[动定罄宜] 外出、家居样样都安好。罄:尽,全都。宜:适宜。例:“顷复远劳芳讯,益念动定罄宜,多吉多福。”

[眠食佳胜] 饮食、睡眠都很好。例:“辰维眠食佳胜为祝。”“眠食常胜”、“眠食叶吉”、“眠养叶吉”、“眠食千祥”、“起居增祥”用同。

[崇祉缓和] 崇祉:福聚而增多。缓和:平安。例:“恭维崇祉缓和,清祺畅适。”

[鼎茵萃吉] 统指日常起居和身体大吉大祥。鼎:古代的饮器,酒杯;茵:坐垫;鼎茵:泛指日常生活。萃:汇集。例:“缅想鼎茵萃吉,知如鄙人之颂。”

[灵光岿然] 灵光:汉代殿名。语出庾信《哀江南赋》:“况复零落将尽,灵光岿然。”比喻知交死亡将尽,唯有自己还在,有如灵光殿一般岿然屹立。后多用以赞美别人身体健康。例:“披诵手教,敬审杖履无恙,灵光岿然,慰何如之。”“岿然独存”、“岿然鲁殿”用同。

[承并无恙] 托你们的福,身体健康无疾。例:“承并无恙,幸甚,幸甚!”

(阅读全文…)

[代码收藏]设为首页和加入收藏的JavaScript代码(兼容多浏览器)

杰拉斯 杰拉斯 | 时间:2013-02-04, Mon | 6,840 views
前端开发 

其实不少非IE内核浏览器都仍不支持通过代码将网页设为主页和加入收藏的功能,因此说是兼容,其实只是一个try,catch后的提醒而已。

加入收藏:

/*
 * author : 2010-12-27 11:33:02 teresa
 * discription: add favorite
 */

function addFavorite() {
	if(document.all) {
		try {
			window.external.addFavorite(window.location.href, document.title);
		} catch(e) {
			alert("加入收藏失败,请使用Ctrl+D进行添加");
		}

	} else if(window.sidebar) {
		window.sidebar.addPanel(document.title, window.location.href, "");
	} else {
		alert("加入收藏失败,请使用Ctrl+D进行添加");
	}
}

设为首页:

/*
 * author : 2010-12-27 11:33:02 teresa
 * discription: set homepage
 */

function setHomepage() {
	if(document.all) {
		document.body.style.behavior = 'url(#default#homepage)';
		document.body.setHomePage(window.location.href);
	} else if(window.sidebar) {
		if(window.netscape) {
			try {
				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
			} catch(e) {
				alert("该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true");
			}
		}
		var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
		prefs.setCharPref('browser.startup.homepage', window.location.href);
	} else {
		alert('您的浏览器不支持自动自动设置首页, 请使用浏览器菜单手动设置!');
	}
}