摘要:
上周末,在风景秀丽的浙江大学校园内,举行了NodeParty杭州站的活动。我在活动上结合Node.js项目对Jscex进行了简单介绍,包括其设计目的,设计原则,使用方式,高级模式,组成部分等等。在场的许多朋友也提出了不少问题,我也一一作了解答或是演示。总体感觉还算不错,毕竟是亲手编写的项目,对其各方面还是了然于胸的。在此发布演讲用的幻灯片,希望能给不在现场的同学带来一些帮助。 阅读全文
随笔分类 - 04. 前端表现
Jscex使用BSD授权协议正式发布
2011-04-22 00:18 by Jeffrey Zhao, 13128 阅读, 收藏, 编辑
摘要:
这次打算把Jscex好好搞一下了,其实很少会有技术方面的障碍能“轮到”我们去突破,但我觉得Jscex的确有机会,HTML 5、Node.js各个都是红火的玩意儿。前几天我花了两个晚上用半生不熟的中式英语写了一篇自认为比较完整的说明文字放到了Github上的项目首页上,没想到几个小时后便收到了StratifiedJS(一个与Jscex目标有些类似的项目)作者的邮件,提到了一些关于StratifiedJS的事情。我向他咨询了StratifiedJS的某些细节问题,也向他简单介绍了Jscex的实现原理。如今Jscex已经使用BSD授权协议正式发布(中文站也会在近期推出),再进行一些细节上的优化便要开始作推广了。 阅读全文
Jscex项目现状:UglifyJS解析器及AOT编译器
2011-04-15 02:09 by Jeffrey Zhao, 15250 阅读, 收藏, 编辑
摘要:
Jscex项目是我为了简化JavaScript异步的一个类库,支持任意JavaScript(ECMASCript 3)引擎。Jscex小巧而强大,可以极大地改善前端的AJAX及动画等场景的编程体验,同样也可以用在node.js进行服务器开发。从产生Jscex的想法到现在也有几个月的时间了,也一直想设法进行推广。在思考过程也发现了它在实际生产中可能会遇到的问题,于是前两个星期的主要工作,便是针对这些问题进行优化。首先我将Jscex的JavaScript分析器从Narcissus换成了UglifyJS,并基于node.js开发了一个简单的AOT编译器。接下来我也打算写个稍微详细一点的介绍,然后在国外社区看看反响如何。 阅读全文
使用Fiddler辅助观看InfoQ的视频
2009-12-29 12:04 by Jeffrey Zhao, 10246 阅读, 收藏, 编辑
摘要:
InfoQ是一个好地方,而我认为其中最有价值的资源,便是其中的演讲视频。InfoQ在这方面有个特点:在演讲视频下方提供了清晰的幻灯片,而在播放的同时,还会根据进度进行切换。这观看体验自然比单纯的演讲录像要高出许多。可惜的是,时不时有朋友会向我反馈说,InfoQ实在是太慢,几乎无法流畅地观看视频。由于一时半会儿InfoQ也不会在中国放CDN,因此视频加载速度这问题……几乎无法解决。还好,如果我们退而求其次,至少可以使用Fiddler等工具来“缓解”这个问题。 阅读全文
浅谈代码着色(下):服务器端着色
2009-12-15 15:38 by Jeffrey Zhao, 7038 阅读, 收藏, 编辑
摘要:
上篇文章谈了客户端着色,而现在自然就来讨论服务器端着色了。先下个定义:我在这里谈的“服务器端着色”,是指直接从服务器端输出着色效果的做法(与“客户端着色时”输出纯代码文本相对)。至于这个着色效果是如何获得的,例如是由另一个用户直接提供的,还是用户提供纯代码文本,而用服务器端逻辑“着色”,在这里就统称为“服务器端”着色了。不过接下去的讨论,我们还是会作一些区分。 阅读全文
浅谈代码着色(上):客户端着色
2009-12-14 19:53 by Jeffrey Zhao, 7891 阅读, 收藏, 编辑
摘要:
作为程序员,写文章时总免不了插入代码,而对代码进行着色几乎已经成为一个基础,一个事实标准。代码着色的确可以大大加强代码的可读性,因此即便是再不待见IDE的朋友,代码着色永远是必不可少的。不过在网页中进行代码着色的方式有很多,现在我们就来对比一下。记得之前也有朋友写过,但我总觉得不够完整,于是还是自己写一下吧。我们先来看客户端的着色方式。 阅读全文
在项目中使用Google Closure Compiler
2009-12-09 09:13 by Jeffrey Zhao, 30904 阅读, 收藏, 编辑
摘要:
现在的Web项目总是离不开大量JavaScript,而JS文件的体积也越来越大,也越来越影响页面的感知性能(Perceived Performance)。因此,我们会对JS文件进行压缩,一方面是使用Gzip,而另一方面则是去除JS文件里的注释、空白,并且压缩局部变量长度等等。对于一些成熟的类库来说,它们本身都会提供“完整注释”以及“强烈压缩”两个版本。但是,有时候我们需要自己修复类库里的bug,这只能在注释版中修改,对于压缩版自然就无能为力了。此外,自定义的脚本文件一般也值得一压。因此我在项目中时常会备一个脚本压缩工具。 阅读全文
真有必要去除HTML中的空白字符吗?
2009-12-07 17:59 by Jeffrey Zhao, 14879 阅读, 收藏, 编辑
摘要:
刚才有朋友在MSN上问我说,他的页面中有许多空白字符,打开源文件一看发现这代码稀疏得很。他觉得很浪费,他说有什么办法可以去除它们。我问他“你的页面使用GZip压缩了吗?”他说用了,于是我回答说“那么就不用去除空白字符了,连续空白字符压缩得很好,去掉后效果不大的”。这时我又不禁想到早上那篇《博客园首页优化心得》中也有一条是“去除HTML中的空格、空行”,于是我便打算尝试一下,去除空白字符到底有多少效果。 阅读全文
jQuery Validation插件remote验证方式的Bug
2009-12-04 14:29 by Jeffrey Zhao, 26442 阅读, 收藏, 编辑
摘要:
jQuery插件很多,其中一个重要的插件便是jQuery Validation,它的作用是对表单进行验证,还上了jQuery官网。不过奇怪的是,最近用下来感觉有些古怪,因为好像有些死板,已有功能的应变能力还不强,甚至还有个奇怪的Bug。任何项目有Bug其实也正常,但这个Bug其实是一个文档上已经记载了,却没有实现的功能,这就有些说不过去了。这个问题便出在remote验证方式上,还好修改起来非常容易,在此记录一下,也方便以后的参考。 阅读全文
如何对一个博客系统进行CSS管理?
2009-11-10 19:56 by Jeffrey Zhao, 17532 阅读, 收藏, 编辑
摘要:
忽然发现,我的博客皮肤又改变了,这次是About栏。我在我的博客版式上投入了很大的精力,动用了大量的JavaScript和自定义CSS,希望可以让浏览效果更加“和谐”。可是,博客园在样式管理上似乎经常会出现一些问题,时不时让一些基础的样式修改破坏了版式。为什么这样的事情总是一而再,再而三地发生呢?这无法不让我多想一些。似乎这次的问题是由两方面原因造成的:1) 博客园修改了过于宽泛的选择器 2) 皮肤的样式直接依赖了最基础的样式 阅读全文
关于网页*静态化*及SEO问题的一些补充
2009-07-06 00:08 by Jeffrey Zhao, 15423 阅读, 收藏, 编辑
摘要:
前一篇讨论“静态页”的文章反响不错,不少朋友发表了自己的看法,也给老赵更多的想法。虽然也在前一篇文章后面回复了不少内容,但是就以往经验来看,总结为一篇新的文章会让我想表达的内容更为明确。对于“静态化”这一原本就非常容易让人混淆的概念来说更是如此。在这篇文章里,老赵也会谈谈自己对于SEO这个工作的看法——以及以前遇到过的一个SEO“专家”。欢迎围观。 阅读全文
谈*静态页*(或网页*静态化*)的时候,请区分一些概念
2009-07-05 01:37 by Jeffrey Zhao, 29966 阅读, 收藏, 编辑
摘要:
“静态页”,在Web应用程序开发中是很常见的概念。只是我发现目前还是有相当部分的朋友,在这方面的存在一定的误区。不久前有朋友写了一篇题为《提供生成静态页核心代码》的文章,介绍了一种“向硬盘写入页面文件”的方式。这篇文章的内容在此并不多作讨论,只是它的摘要存在一个严重的问题,因为它混淆了两个概念。现在独立写一篇文章,也想把一些问题讲讲清楚,以后在讨论的时候也好有个准。 阅读全文
正在构建一个新的版式
2009-05-20 20:55 by Jeffrey Zhao, 22395 阅读, 收藏, 编辑
摘要:
老赵对目前博客园中的模板都不太满意:样式单调,元素不够丰富,不容易Hack,不够“标准”,不够充分利用屏幕横向距离等等。因此和dudu商量后,准备为博客园新增一个模板。 阅读全文
精化集ASP.NET AJAX与ASP.NET MVC分类第二轮筛选结果
2008-06-14 16:48 by Jeffrey Zhao, 47486 阅读, 收藏, 编辑
摘要:
以下是包同学导给我的清单。老赵的第二轮把关很严,杀了几乎99%的文章。不过似乎有少部分并没有经过我的手,可能是其他同学转过来的吧。第三轮老赵依旧会严格把关,肯定也会杀更多(包括通过其他同学第二轮的)文章。请大家监督,有疑问请及时告诉老赵。 阅读全文
觉得有必要来澄清几组重要概念
2008-06-04 01:51 by Jeffrey Zhao, 36410 阅读, 收藏, 编辑
摘要:
在阅读很多朋友问题的过程中,以及平时和别人讨论中,亦或是园子里的文章中经常发现一些误用概念的情况。如果在概念上没有形成共识,那么在工作和交流上就会造成许多问题。因此,老赵已觉得有必要特地来澄清一些概念,解释一下这些概念之间的区别和联系。希望在明确这些概念之后,大家能够把注意力集中在对于具体问题的分析解决上,而不要让沟通成为瓶颈。
在这篇文章中,我希望澄清三组概念,它们是:
AJAX / AJAX框架 / AJAX.NET (Professional) / ASP.NET AJAX
LINQ / LINQ to SQL / LINQ to XXX
Lambda Expression / Expression Tree / 匿名方法 阅读全文
更新:让UpdatePanel支持上传文件
2008-05-04 08:57 by Jeffrey Zhao, 37110 阅读, 收藏, 编辑
摘要:
在一年多前我发布了一系列文章(让UpdatePanel支持文件上传(1)、(2)、(3)、(4)、(5)),设法让UpdatePanel支持上传文件。可惜缺陷无数,当时收到了无数bug report但是我都没有时间(和兴趣)去解决,因此只是一个实验品中的实验品。这个组件还有一个问题就在于非常复杂,复杂的原因是为了解决iframe传输数据的问题。当时想了很多办法最终让IE6、7,FireFox 1.5支持了这个组件,但是对于Safari,Opera等浏览器就无能为力了。最近发现jQuery的Form插件能够在一定程度上支持我需要的功能,于是就有了简化并改进该控件的想法。虽然后来发现jQuery在这方面的表现并不如我想象中那么好…… 阅读全文
不妨来做个尝试:UpdatePanel for ASP.NET MVC
2008-04-27 23:59 by Jeffrey Zhao, 34157 阅读, 收藏, 编辑
摘要:
前一段时间尝试为ASP.NET MVC构建了一个类似于UpdatePanel的AJAX解决方案,本文叙述了这个组件的设计思路以及使用方式,并提供了源代码以及示例程序。 阅读全文
强烈推荐一个有关前台开发技术的Blog
2008-04-21 14:51 by Jeffrey Zhao, 24048 阅读, 收藏, 编辑
摘要:
http://www.cnblogs.com/ruxpinsp1 这是我的一个同事,我们一般叫他“大胡仔”(原因可见其自画像http://www.cnblogs.com/ruxpinsp1/archive/2008/04/20/1162878.html)。此人精通(绝不是各招聘启事或简历上的“精通”)前台开发,对于CSS样式在各种浏览器的各种版本下之间的差别了如指掌。此外又精通JavaScript... 阅读全文
推荐一篇文章:火星人的耳机
2008-03-23 23:12 by Jeffrey Zhao, 17090 阅读, 收藏, 编辑
摘要:
大名鼎鼎的Joel Spolsky最近写了一篇很有趣的文章《Martian Headsets》。写这篇文章的起因是IE8的推出,这让Joel忽然有兴趣从各个角度讨论Web标准之争的各个方面,比如缘由,现状,以及用户的反应等等。非常值得一看。原文链接:http://www.joelonsoftware.com/items/2008/03/17.html翻译链接:http://luoshengblog... 阅读全文
MIX 2008与ASP.NET MVC框架的Road-Map
2008-02-13 17:38 by Jeffrey Zhao, 22648 阅读, 收藏, 编辑
摘要:
ScottGu同学最近在Blog上发布了一些有关MIX 2008和ASP.NET MVC框架的消息。 阅读全文