12306网站前端初步优化之我见

最近买火车票,感觉12306网站做得实在太垃圾了——加载速度慢,使用同步的Ajax验证码,未使用CSS Spirites …… ——完全不是抱着处理大量请求、高并发去的啊。于是抽空瞥了一下网站源码,发现其前端部分是个极好的反面教材,可以作为web前端工程师进行性能优化的案例。本文仅指出12306网站前端方面存在的问题,并提出性能优化建议。鄙人水平有限,如有不对之处,还望读者朋友多多见谅,并感谢批评指正~~

另外,1月3日下午我给12306铁路客运服务的“意见反馈”邮箱发了一封邮件,也不知道他们会不会处理。更不知道会不会被……

参考资料:

Read More

Share

《JavaScript语言精粹》笔记

《JavaScript语言精粹》

伯乐在线 - 给JavaScript初学者的24条最佳实践

Read More

Share

html5 localStorage初探

HTML5 Web Storage的目的是克服cookie的一些限制:当数据需要被严格控制在客户端上时,无须持续地将数据发送回服务器。这里只初步研究一下localStorage属性。要访问同一个localStorage对象,页面必须来自同一个域名(子域名无效),使用同一种协议,在同一个端口上。

Read More

Share

利用JSONP访问跨域数据

在我的博文《使用script标签在博客中跨域调用豆瓣API》中,介绍了发起跨域数据请求的最直接的方法。然后我博客下的引用了豆瓣书籍的地方都根据豆瓣API添加了书籍基本信息查询的功能。不过除了这种原生的方法,还可以使用jQuery对它们进行的封装(虽然与Ajax不是完全相同,但jQuery还是将其封装到ajax函数中去了)发起JSONP跨域请求。

原生方法很直观,适用于不采用jQuery库的网站。

参考资料:

Read More

Share

Node.js入门

###Node.js简介
Node.js诞生于2009年5月,创始人Ryan Dahl。

Node.js是一个划时代的技术,它在原有的Web前端和后端技术的基础上总结并提炼出了许多新的概念和方法,堪称十多年来Web开发经验的集大成者。Node.js可以作为服务器向用户提供服务,与PHP、Python、Ruby on Rails相比,它跳过了Apache、Nginx等HTTP服务器,直接面向前端开发。Node.js的许多设计理念与经典架构(如LAMP)有着很大的不同,可提供强大的伸缩能力,以适应2010年以后规模越来越庞大的互联网环境。

历史上将JavaScript移植到浏览器外的计划不止一个,但Node.js是最出色的一个。

###Node.js学习资料

另外,知名程序员兼翻译家阮一峰有一个适合Node.js初学者的页面:JavaScript标准参考教程(alpha)-Node.js概述。内容组织地非常清晰。

Read More

Share

渔场春秋

记:本文写于2008-3月,当时刚在大学呆了半年时光,却已然非常怀旧。山东省2007年高考语文作文题目是“时间的流逝不会使记忆风化”。也许出于对高考语文发挥不利的惨痛记忆(只拿到108分),因此当时就想写写回忆类的文章。主题嘛,就是有关童年——心灵中的净土。

——本文献给童年陪我一起长大的晶晶和宁宁。

Read More

Share

小椿树胡同

本文写于2012年9月1日,并发到了QQ空间。后来试图将此文投稿,妄想拿点稿费(也正是缺钱时候),未遂。搁置良久,今日在图书馆地板上冷坐俩钟头专心致志地玩iPad,抬头一看,发现自己坐在满是介绍“作家是怎样炼成的”一类的书籍中,好的有老舍的《出口成章》,以及《成为作家》,随后一翻。回来后就想把自己曾经的一些散文发到这个博客来。以后写了新的散文,也都一概同时发在QQ空间、本博客。

谨以此文,送给我的父亲。

我觉得,一座留在我记忆里的城市也会把我留在她的记忆里。

小椿树胡同-摄于2012年8月

Read More

Share

《异步JavaScript编程》笔记

###Metro应用开发
从这本书的前言里,我才知道JavaScript原来可以进行Windows 8 下的Metro风格应用的开发。>>详见 创建第一个采用 JavaScript 的 Windows 应用商店应用。不过从该页面也了解到,操作系统必须是Window 8.1才可以。

感谢网络浏览器的无处不在,JavaScript比以往任何语言都更接近于兑现Java那句古老的承诺:“一次编写,随处运行。”

Read More

Share

软件的未来:操控更多的硬件

计算机行业发展至今,软件工程师们可以操控的硬件的种类的增长速度,与CPU技术的发展速度相比,依然是太慢了。在不太远的未来,更多的设备将具备“智能”;可供程序员开发软件的平台会越来越多。可以操控更多的硬件——而不仅仅是在屏幕上输出这个输出那个——会使编程变得更有意思。

Read More

Share

JavaScript数组去重方法汇总

摘要:本文主要内容包括:生成纯数值数组方法、生成数值与字符串混合的随机数组的方法,基于遍历、基于排序、基于词典的数组去重方法,这些去重方法、排序算法的复杂度分析、在浏览器中的性能测试分析。

Read More

Share