客栈提示:如何避免12306订票助手的悲剧(正确使用Github CDN)

最近某单让国内外程序员颇为欢乐的新闻浮出水面。

不,我不是在说那个已经被各大新闻站转载的错漏百出的Verizon Case Study(顺便一提,不是Verizon的员工私自外包工作到中国,而是Verizon安全顾问团队接到一家美国公司的调查请求。)

我说的是:12306订票助手,因为成为某国内浏览器[1]近期在媒体上大打广告的“春运抢票版”的默认插件,又因为早期版本使用Github的Raw File作为CDN,并对返回403错误代码的请求使用暴力的5秒重试,导致Github被间接的DDOS,整体服务质量下降,Github运营团队不得不对该代码Repo做特殊处理的事件

Continue reading “客栈提示:如何避免12306订票助手的悲剧(正确使用Github CDN)”

有时不得不回到古代

我对客栈视频引用在订阅器里无法直接观看的问题怨念很久了,今天总算抽空出来吧这个恶心的兼容性问题解决了。一直以来客栈为了网页内容尽可能简洁和干净而避免静态引用视频,造成的问题是在客栈以外的地方就没办法看到这些内容。像我这种使用订阅服务的人来说,有东西不能直接看是非常让人烦心的事情——更何况这发生在自己的网站上。

Continue reading “有时不得不回到古代”

CSS 2.1的隐藏技能:多背景,多边框,等高容器

相比CSS3的新特性,CSS 2.1标准下的pseudo(伪类选择器)已经通用于所有主要浏览器的稳定版本(FF 3.5,Safari 4,Chrome 4,Opera 10以及IE8),这样一来我们就可以三次装饰同一个容器而不用建div巢了。Nicolas Gallagher最近写了一篇文章,看完两个DEMO(1,2)之后我清楚认识到自己没掌握CSS 2.1的事实。

为什么IE的盒子模型是错的

ppk曾经说IE的传统盒子模型比W3C的定义好理解,但为什么IE的盒子还是比W3C的糟糕呢?因为IE盒子的定义连IE盒子的支持者自己都搞不清楚。与文中所述相反,IE盒子并不包括margin,而只是纯粹的计算padding与border的占位。为什么IE传统盒子这么烦?因为需要反向推导一个盒子的内容宽度,而浏览器渲染时期望尽快知道内容的宽度。再有,IE传统盒子硬是把微软自己的开发团队都搞晕了,有些bug还穿越出现在标准模式下,哦,你不知道IE6的标准模式使用W3C的盒子定义

支持IE传统盒子的同学,没有为IE5.x开发过的同学,请你考虑这个问题:如今CSS3支持图片border了,使用IE盒子模式,浏览器应该怎么计算内容宽度?CSS3是为设计者方便提供帮助,请不要以box-sizing为借口,为IE5.x的顽固不化辩护。

延伸阅读:

Google Storage for Developers Preview 初评

Google I/O大会宣布Google Storage之后用萌番为借口申请了Preview,没想到上周末就收到邀请,获得100GB空间与300GB月流量;昨晚有空就花了点时间测试,以下是初步印象。

这里先特别强调——不要留言找邀请,没有好友邀请系统,你需要自行申请;以我的个人经验,最好有个人网站作为审核参考

Continue reading “Google Storage for Developers Preview 初评”

Akihabara JS库发布! (外一则)

只能用神作来形容的Javascript游戏开发库,代号Akihabara(秋叶原),利用了HTML5的小部分特性,制作纯(X)HTML + Javascript的游戏。和以往常见的游戏库不同,这个库的运行速度相当快,它运行塞〇达传说的流畅度与精细度让我惊叹!

这个游戏库惹人喜爱的另一个地方是它的独立性,放弃jQuery这类常用的跨平台库意味着Akihabara可以用最高效的代码完成功能;事实上,Akihabara库的源代码十分易读,对网页游戏开发将来趋势有兴趣的旅客不妨看看。

via ajaxian

PS: 说起网页游戏,就不得不说最近宣布由韩国Mgame开发的《美少女梦工厂OL》。本来让一群“爸爸”在游戏大厅交流育女信息就够让人头大了,这次还准备把养女党(抱歉)带到手机与网页上。虽然觉得RIA更有可能成为网页版的构架基础,但要有HTML5的版本就拽死了!“爸爸开个Chrome再来好好教育你”之类的台词浮想联翩……