自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(154)
  • 收藏
  • 关注

关于exclusive range运算的符号

大概去年这个时候 Swift 语言把 half-open range operator 从 .. 改为了 ..<,引起了一些讨论。实际上..<运算符的最早先例是 Groovy 语言。 而Groovy在初创之时,使用的是和 Ruby 一样的 range operator(.. 和 ...),在2005年4月左右将 ...改为了 ..<。 而最早提出以 ..&l...

2015-07-16 11:32:22 364

对于React体系的一点想法

这一年来react和react native火得不行。我对react其实一直有保留。单看应用框架,我其实更喜欢Angular 2一点。但是react-style (css in js)秒杀了所有所谓css方法论。尽管我对react-style也仍有保留,但是我确实发现这方案和react是能很好的互相结合解决那些关键痛点的。这两天我看了尚未release的relay和grap...

2015-06-12 01:53:29 241

SharedWorker和用户隐私

最近做实时聊天,用到SharedWorker。目前为止,IE和Safari一直没有支持SharedWorker。过去可以认为是微软人品有问题,不过现在IE10、IE11在支持标准方面做得其实也不差。那么为什么IE不支持SharedWorker?我查了一下,发现这个2011年的讨论:[url]http://lists.w3.org/Archives/Public/public-webapps/201...

2014-10-29 16:03:00 421

ms is wrong AGAIN

微软的Web工程师写了这篇文章[url=http://blogs.msdn.com/b/thebeebs/archive/2012/01/11/with-vendor-prefixes-what-is-the-javascript-equivalent-of-ms.aspx]Vendor Prefixes and JavaScript[/url],文中写道:[quote]In Intern...

2013-12-06 21:08:02 166

短址域名选择

什么是短址,请看 [url]http://en.wikipedia.org/wiki/URL_shortening[/url],不赘述。如果你也要做一个短址服务,那么一件重要的事情是挑选域名。短址域名的选择,当然第一得短。最早的短址服务tinyurl.com实际上长得很,后来出现的短址服务一般都只有6个字符,比如bit.ly等,这个长度的域名只要你花点心思还是不难以一般价格买到的,...

2013-06-15 15:54:10 404

为后代选择器和ID选择器而辩护

【本文译自 Zeldman (作为前端工程师,不要告诉我你不知道他是谁)在2012年11月写的《[url=http://www.zeldman.com/2012/11/21/in-defense-of-descendant-selectors-and-id-elements/]IN DEFENSE OF DESCENDANT SELECTORS AND ID ELEMENTS[/url]》。】...

2013-04-20 06:57:18 202

论ES6模块系统的静态解析

[size=medium]本文是Dave Herman的《[url=http://calculist.org/blog/2012/06/29/static-module-resolution/]Static module resolution[/url]》一文的编译。Dave Herman是TC39的成员,ES6 module系统的champion。【ES6 spec太大了,所以分成许多可相对独立...

2013-03-14 04:56:27 380

图片lazyload兼容无脚本的小改进

刚刚改进了一下某个页面的图片lazyload功能。原先是用jquery的lazyload插件的标准方式做的。有一个缺点是脚本不开启时图片都不显示了。解决方法也不难,就是同时插一个noscript标签。lazyload插件官网给出的解决方案也是如此。[code="html"][/code]不过这个方式带来双份的代码,且还要额外的样式表切换(避免无脚本时也出现用于有脚本...

2012-12-04 19:09:29 156

My Opinion about so-called "CSS Framework"

There are many so-called "CSS frameworks" in the wild,some are even open source.But in general, I don't buy it.UI sample/guidelines VS codebase/implementation1) As UI sample/guidelines...

2012-10-27 12:54:43 118

如何创建一个JavaScript裸对象

所谓裸对象,即 naked object ,是指没有原型(spec中以[[proto]]内建属性表示)的对象。JavaScript是少见的采用原型继承的语言。访问一个对象的属性时,会首先看它自己的属性,所谓 own property 是也,如果找不到,则在其原型中查找,再找不到就继续找这个原型的原型,这就构成所谓的原型链。原型继承提供了一种很独特的共享信息的方式,不过也带来一些有趣...

2012-08-27 02:11:06 209

IE与Vary头

这两天写Jedi时涉及到一个小问题。Jedi的可能特性之一是可为不同的UA自动输出不同的HTML/CSS等(比如当遇到html5新标签,对IE6~8输出带namespace的xml标签)。但是如果不考虑一开始就根据UA来redirect到不同的URL,那么就意味着get同一个URL会产生不同的response,这会影响cache机制。熟悉HTTP协议的同学可能很快想到可以发出Var...

2012-08-13 01:54:09 240

JavaScript语句后应该加分号么?

[size=medium]这是一个老生常谈的问题了。我之前就曾经写过[url=http://hax.iteye.com/blog/382186]一篇blog[/url]记录了我对此问题的实践与思考之旅。最近在知乎上又出现了这方面的争论,而且几乎是一面倒的支持“总是写分号”。这让我深深觉得是时候正本清源,祛除迷信了。于是我在问题[url]http://www.zhihu.com/question/2...

2012-06-19 03:10:13 261

购买意大利蜜蜂瓷砖的憋屈经历

本文非关技术,只是最近装修的一段经历的记录。关注我技术文章的同志们请忽略本文。选择意大利蜜蜂瓷砖,原本是老婆看中其设计的良好品味(相应的价钱也是非常可观,是市场上最贵的瓷砖之一)。可是在其红星美凯龙浦东店的专卖店里实际给客户做方案时,[b]为了多赚钱,就胡乱堆砌花片和腰线[/b],其拙劣程度让我难以置信。并且我确信这并非设计师的能力问题,而是该店销售和直接负责人的人品问题,是该公司(蜜...

2012-03-26 00:25:38 576

六步加入HTML5工作组

最近国内互联网巨头纷纷加入W3C,如百度、腾讯、360等。还有[url=http://www.mhtml5.com/]HTML5研究小组[/url]虽然是民间组织,但其实也代表了其企业成员如创新工场等。回想2003年W3C首次在中国举办的技术会议“中国国际万维网发展论坛”,当时参加者除了高等院校和研究者外,真正互联网企业人士寥寥无几。唯本人当时还在上海交通大学工作,担任[url=http://un...

2012-02-06 20:23:44 206

Module与Trait的比较

最近我多次提及module和trait。粗看,我们可以发现它们有一定的相似处。两者其实都是为了组织代码单元,并在代码上施加更多的约束,且约束的方式有点类似。目前典型的module是定义require和exports,即需要哪些包(所提供的类和函数),和输出哪些类和函数。而trait是定义一组方法,并声明这些方法所依赖的方法(即require某些方法)。比如 Iteratio...

2011-08-12 12:50:42 280

shim是应该抛异常还是应该fail silently?

玉伯发布了[url=https://github.com/seajs/dew/tree/master/src/es5-safe]es5-safe模块[/url],这是一个有一点类似[url=https://github.com/hax/es5-shim]es5-shim[/url]的项目。个人认为玉伯这个模块对于准备从ES3过渡到ES5的前端开发者来说是一个稳妥的选择。在本文的最后部分会进...

2011-08-11 17:26:16 315

7月30日的广州演讲视频和Slides

7月30日在W3CTech广州站活动上的演讲,题目是:ECMAScript 5 —— Improve the Safety of JavaScript 。主要内容是对ECMAScript 5的Strict模式的几个实例介绍,以及其他几个关于代码安全性的例子。视频:[url]http://v.youku.com/v_playlist/f6520341o1p10.html[/url]Sli...

2011-08-01 23:38:01 120

发现我的blog文章莫名失踪

也不是第一次了。但是很久以前文章会回到草稿箱。但是后来有些文章就完全失踪。这个让人非常不能忍。过去我批评某书的那篇文章就莫名失踪了。我在其他地方都有备份。也算了。最近发现我很早以前写的一篇影评也失踪了。原地址应该是: http://hax.iteye.com/blog/268725幸好在豆瓣上还有备份 http://movie.douba...

2011-07-23 23:48:29 144

原创 如何判断一个函数的意图是被用作构造器,也就是可视为“类”

前提是不要求做什么特殊标记。只是最大可能的猜测函数的作用大概是当“类”使用。我想了一个方式:function isClass(f) { var names = Object.keys(f.prototype) return names.indexOf('constructor') === -1 || names.length > 1}这里的假设是,作为构...

2011-07-21 13:55:32 177

关于国内前端和JS技术发展的乱想

玉伯在我的一条微博后面写了一些(和主题不是很相关但)非常值得思考的评论。而这些评论的源头来自于我非常尊敬的不在你们前端界混的JS大师愚公(爱民)。摘录如下:[quote="玉伯也叫射雕"]想起愚公的一番言论:我们做了一个不错的东西,有很多好的 IDEA。最终这些东西却消散了,变成了另外一些更大更好的东西的局部。我们的努力白费了。我们的成果湮没了。我们——我指的是国内的软件开发的...

2011-07-19 18:53:35 318

tagName的大小写问题(QWrap选择器的一个bug)

今儿写程序。对于现代Web前端来说,Selector是必备之物。对于标准浏览器,可用querySelector,而对于IE8标准模式以下,需要一个Selector引擎。因为本项目会在代码里使用QWrap,所以虽然我写的部分代码并没有用QWrap,但既然怎样都需要一个Selector引擎,不如用QWrap。结果发生一件悲剧的事情。我使用html5-shim/shiv库...

2011-07-16 23:33:50 762

如何将let结构(block scope)转换到当前的JavaScript代码

本文是对[url=http://hax.iteye.com/blog/277398]如何将let结构转换到ES3代码[/url]的补充。首先,原文所说的将let转换为with的方法有几个缺陷需要说明:1. with虽然可附加一个新的scope,但是由于引入的是一个JS对象,所以Object.prototype上的属性也被引入了该scope。比方说你无法在with里访问外部的toSt...

2011-07-12 17:24:26 243

JavaScript的未来方向之观察

最近每次去杭州,都有爱民做东道,这次吃羊排不亦乐乎。席间不免聊起技术话题,爱民问我对JavaScript的未来方向的看法,特别是像Class、Inheritence等静态特性是否会引入语言?这确实是一个令人关心的问题。很长一段时间以来,ES4的难产和分歧让人始终对JavaScript的未来感觉蒙有一层面纱,即使ES5.1都已经发布,我们仍不免心存疑虑。不过,根据我的观察,从ES5所...

2011-07-12 02:53:39 202

document.enableStyleSheetsForSet() 的兼容

可能有不少同学已经了解 alternate stylesheet ,不过实际上author样式表可以被设定为三类:1. persistent style sheet:总是应用的样式表2. preferred style sheet:默认应用的样式表3. alternate style sheet:其他可选的样式表我们平时通常写的样式表都是第一类,即persistent st...

2011-06-17 16:27:57 127

关于技术会议上的广告

[size=medium]看到有人抱怨本次[url=http://w3ctech.com/2011/]W3CTECH 2011——“拥抱HTML5”[/url]技术大会是“充满赞助商广告的商业宣传会议”,我个人觉得他缺乏基本的判断能力。事实上我敢说,本次会议上没有任何硬广告。而且绝大多数讲师都很低调,软广告都很少。比如来自Opera的子斌,在传道时从来不单独给Opera浏览器打广告...

2011-04-18 17:41:01 159

坑爹的viewport

[size=medium]最近我做了一点儿针对手机的Web开发和相关研究。按说,Web自设计之初,就已经考虑了设备无关性。然而,[b]现实总是不尽如人意[/b]。我们知道大多数网页都是针对桌面显示器开发和测试的,但是手机屏幕通常要比桌面显示器小很多,比如iPhone也就是320px。那么那些网页在手机上如何浏览呢?一种是把网页缩放到很小,你可以看到整个网页但是看不清字了;或...

2011-03-29 09:30:43 106

JS之父再谈JS历史(续完)

又到年底,我觉得是时候还债了。自开blog来,我出了不少“太监文”,也就是有上文无下文的。这里就是一篇:[url=http://hax.iteye.com/blog/190436]《JS之父再谈JS历史(一)》[/url]。今天本来打算把这篇翻译完的,但是才写了几句,准备上网搜索几个背景人物,却发现松峰老师去年这个时候已经帮我还债了!所以我这篇“续完”实际上是厚颜无耻的把松峰老师的...

2010-12-31 04:20:25 332

论KISSY中一则API的设计

[size=medium]在[url=http://www.d2forum.org/d2/5/]这次D2[/url]上,玉伯[url=http://www.slideshare.net/taobaoued/kissy-mechanism-6284467]介绍[/url]了[url=https://github.com/kissyteam/kissy]KISSY[/url]。我听下来,KIS...

2010-12-24 05:56:04 95

再谈一下某书

[size=medium][url=http://hax.iteye.com/blog/849826]上一篇blog[/url]中我提到了“国内某位前端工程师今年出版的新书”,这里我想就这本书多说几句。这本书的总体质量,当然肯定比《XX征途》要强。不过仍然出现了一些匪夷所思的bug。譬如说该书的第一章第一节,作者举了一个“糟糕的老网页的实现”的例子,并指出这个页面代码的问题如下:...

2010-12-23 18:35:47 112

再谈某些所谓CSS最佳实践

最近看了国内某位前端工程师今年出版的新书,其中讨论CSS的部分提出了一些观点,罗列如下:1. 用class命名表现从属关系,如.myList-lastItem(表示.myList列表中的最后一项);2. 团队开发中用工程师名字作为前缀区分是谁写的样式,如.hax-list(表示是hax写的一个样式规则);3. 前两者结合可能产生较长的class名,如hax-subNav-item-...

2010-12-23 01:59:12 114

两页技术图书广告震精了我们

在去D2的高铁上,[url=http://blog.zhaojie.me]老赵[/url]在看《程序员》,其夹页广告震惊了一行五人。那两页上赫然并列着三本书的广告。第一本是一本名为《葵花宝典——xxx自学手册》(xxx为某种微软技术)的书。同行的[url=http://winter-cn.cnblogs.com/]winter[/url]认为:一个作者如果能毅然决然的把自己的作品命...

2010-12-20 15:25:40 109

每个Web开发者都应读的文章:HTML5设计原理

[url=http://www.cn-cuckoo.com/]李松峰[/url]最近翻译了两篇关于HTML5的文章,尤其是[url=http://my.opera.com/BB9z/blog/the-design-of-html5]《HTML5设计原理》[/url]这篇,即Jeremy Keith最近的演讲,我认为是[b]每个Web开发者都应该读的文章[/b]。你们可能听说过,某次本人曾自...

2010-12-15 10:49:36 145

webkit上multicolumn的bug和解决技巧一则

webkit开始支持多栏属性。如:[code="css"]section { display: block; height: 300px; -webkit-column-width: 200px; -webkit-column-gap: 50px;}[/code]我们设定了固定高度,然后分栏,每栏200px宽,每两栏间隔50px。如果内容较多,则...

2010-12-04 12:03:23 170

IE神奇小bug一则

[code="html"]test.onpropertychange = function () { msg.innerHTML += event.propertyName + '=' + test[event.propertyName]}test.value = "1"[/code]在IE里有个有趣的小bug,当你在输入框里第一次输入时,不会触发on...

2010-12-03 18:05:47 99

原创 声明:本人停止更新JavaEye博客15天

13 小时前 JavaEye管理员 发给 我 的消息正文:hax,你好!发表到JavaEye博客频道首页的文章应该是原创性质的、言之有物的文章,并且不允许您发布广告性质、软文性质、提问性质或者具有攻击性质的文章到博客频道首页。您的博客文章'[url=http://hax.iteye.com/blog/802322]论狗咬狗[/url]'不符合该发布条件,从博客频道首页撤出。...

2010-11-05 03:07:11 129

论狗咬狗

QQ和360狗咬狗的大戏渐入高潮。从目前的情况来看,腾讯反应过度,应对失当。比如傻傻的昭告天下,其实等于给360打广告。又例如“三项和解要求”实在过于嚣张,傻子也看得出这是逼宫,而完全没有和解的诚意,这样的要求冠以“和解要求”,不是在愚弄大众么。而且还非常幼稚,像什么“公开承诺今后不拦截腾讯程序”,太扯淡了。任何一个软件厂商有资格要求安全厂商做这种承诺吗?难道你携带病毒了,别人也不能拦截你...

2010-11-04 02:31:52 102

從一個上古屬性urn說起

上一次,偶寫了一個對於[url=http://hax.iteye.com/blog/759898]Cite元素的proposol[/url](一個有趣的事情是該文沒有任何討論,但是被“踩”了3下,我其實很想知道踩我的人是基於什麽標準),在提議的末尾建議了一個標明所引用資源的URI的屬性。屬性名的選擇之一是“urn”。今日偶爾上MSDN看reference,忽然看到叫做urn的屬性,點開一看...

2010-10-29 04:13:34 108

给IE打补丁技巧之CSS Expression

[url=http://msdn.microsoft.com/en-us/library/ms537634.aspx]CSS Expression[/url]是自IE5开始提供的特性,虽然因安全性、性能问题臭名昭著,到IE8也终于[url=http://blogs.msdn.com/b/ie/archive/2008/10/16/ending-expressions.aspx]寿终正寝[/url]...

2010-10-24 08:39:55 163

Approach to HTML5 演讲预告

上周末本来要去做一个关于HTML5的speech,因为公司临时任务未能成行,甚为遗憾。不过下周末当可弥补。虽主题为HTML5,实则我并不想介绍HTML5的特性,因为之前已经有许多人介绍过了,比如子斌,作为Opera的Web Evangelist,讲得肯定比我好。因此我想讲一点实践上的探索,简言之就是HTML5特性虽然很好,但是如果浏览器不支持怎么办?答案无非几种:一种是坐等...

2010-10-24 06:26:21 173

关于CITE标签的想法

以下基于我在中文HTML5同樂會ML(public-html-ig-zh@w3.org)所发表的邮件整理。一、CITE标签的语义CITE标签在HTML5中明确为用来表示作品(意义类似书名号)。然而社区在讨论是否要扩展CITE标签的用法,从单纯的书名扩展为可以mark人。具体的讨论见:[url]http://wiki.whatwg.org/wiki/FAQ#The_.3C...

2010-09-10 07:36:15 352

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除