谈谈sIFR – 可伸缩Inman Flash替换
最近都在赶工我的新网站 Cuthtml.com ,在这个过程中也学了许多的东西,在校验XHTML 1.0 Strict的时候学到了 a 标签被取消 target 属性之后的弥补方法等新知识。不过今天先来看看sIFR,这个名词也是在参考同行网站时发现的。
sIFR(scalable Inman Flash Replacement),即“可伸缩Inman Flash替换”技术。是由Mike Davidson在IFR方法的基础之上扩展的一种技术。它通过Flash + JS + CSS联合实现在不替换页面中文本元素的情况下,对文本进行更为细腻准确的效果渲染。
2004年,网站开发者Shaun Inman创造了Shaun Inman Flash替换法。这种方法既在一定范围内保持了轻便性和直观性,又完成了用基于Flash的文本替换普通HTML文本的工作。
网站开发者Mike Davidson在Inman技术的基础上构造出能适应文字放缩和多行文本的系统,更进一步的完善了健壮性。
使用sIFR你可以任意定义WEB中的文本字体,即便是客户端浏览器未安装的字体。sIFR使用Flash渲染字体效果,可以平滑消除文本锯齿,你可以像使用用CSS控制文本一样轻松得到各种文本效果。
好书推荐-《PHP与MySQL程序设计(第3版)》
上了大学,在图书馆看了很多的书,各个方面从UI一直到PHP,自我感觉比较好的书不多,特别是UI方面的书,好的书很少。身边有的学习HTML的同学,我把他们借的书翻开目录一看就帮他们删章节,因为有的章节看了也没用,比如“如何用表格布局网页”,这已经是淘汰的技术了,只能稍微了解了解,不能养成习惯。
我认为,一本介绍计算机技术的书,应该以实用为主,全面为辅。例如,有些HTML书介绍标签介绍的非常全面(恰恰没有HTML5中的canvas这一类重要标签),然而我们平时的使用几乎用不到那些“全面的”标签(比如<font>之类被淘汰的标签等),而重要的部分如“不同浏览器的hack”这一基本的内容却没有介绍到。
其实好的书还是有的,我认为图灵以及人民邮电出版社的部分图书我最喜欢,
我会相继在我博客贴上我所看过的好书,敬请关注。
《PHP与MySQL程序设计(第3版)》
先说说这本书,PHP方面的基础类图书,我最喜欢的是这本,虽然厚了一点,但是说的非常全面,也很实用,特别是“高级OOP面向对象编程”以及后面的 Smarty、MVC的部分都很 up-to-date,我认为这本书作为PHP起步来说很值得读,后几章介绍数据库的内容也很好。
喜欢的同学可以去网上买,或者图书馆也能借得到(有一本目前还在我的^_^)
下面是转载来的图书信息。

【内容简介】
PHP语言和 MySQL 数据库这两种开源技术已经成为开发Web应用的最佳组合。Web 2.0为它们提供了更广阔的天地。
本书全面介绍PHP脚本语言和MySQL数据库这两种目前最流行的开源软件,主要内容包括PHP和MySQL基本概念、PHP扩展与应用库、日期和时间功能、PHP数据对象扩展、PHP的mysqli扩展、MySQL 5的存储例程、触发器和视图等。本书实用性强,帮助读者学习PHP编程语言和MySQL数据库服务器的最佳实践,了解如何结合这些卓越的技术创建数据库驱动的动态Web应用程序。
本书适合于Web开发的新手阅读,也适合作为各层次PHP和MySQL开发人员的参考书。
More »
Facebook 如何存储150亿张、1.5PB的照片
Facebook 的照片分享很受欢迎,迄今,Facebook 用户已经上传了150亿张照片,加上每张照片有四个不同尺寸的缩略图,就共有600多亿张图片,总容量超过1.5PB,而每周新增的照片为2亿2000万张,约25TB,高峰期,Facebook 每秒处理55万张照片,这些数字让如何管理这些数据成为一个巨大的挑战。本文由 Facebook 工程师撰写,讲述了他们是如何管理这些照片的。
旧的 NFS 照片架构
老的照片系统架构分以下几个层:
- 上传层接收用户上传的照片并保存在 NFS 存储层。
- 照片服务层接收 HTTP 请求并从 NFS 存储层输出照片。
- NFS存储层建立在商业存储系统之上。
因为每张照片都以文件形式单独存储,这样庞大的照片量导致非常庞大的元数据规模,超过了 NFS 存储层的缓存上限,导致每次招聘请求会上传都包含多次I/O操作。庞大的元数据成为整个照片架构的瓶颈。这就是为什么 Facebook 主要依赖 CDN 的原因。为了解决这些问题,他们做了两项优化:
- Cachr: 一个缓存服务器,缓存 Facebook 的小尺寸用户资料照片。
- NFS文件句柄缓存:部署在照片输出层,以降低 NFS 存储层的元数据开销。
新的 Haystack 照片架构
新的照片架构将输出层和存储层合并为一个物理层,建立在一个基于 HTTP 的照片服务器上,照片存储在一个叫做 haystack 的对象库,以消除照片读取操作中不必要的元数据开销。新架构中,I/O 操作只针对真正的照片数据(而不是文件系统元数据)。haystack 可以细分为以下几个功能层:
- HTTP 服务器
- 照片存储
- Haystack 对象存储
- 文件系统
- 存储空间
More »
Reset CSS – 复位(重置) CSS
今天开始动工我的新网站 CutHTML.com 了,制作前要找我的Reset CSS,但是找不到了,想想干脆用雅虎的吧,就去把雅虎YUI的Reset放到博客上,顺便说说什么是Reset CSS
CSS Reset是指重设浏览器的样式。
不同的浏览器默认的样式可能不近相同,所有开发时的第一件事可能就是如果把他们统一。
总结与编写出,适合自己工作与学习的CSS Reset代码。
这是雅虎YUI提出的重置浏览器的 Reset CSS
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
margin:0;
padding:0;
}
table {
border-collapse:collapse;
border-spacing:0;
}
fieldset,img {
border:0;
}
address,caption,cite,code,dfn,em,strong,th,var {
font-style:normal;
font-weight:normal;
}
ol,ul {
list-style:none;
}
caption,th {
text-align:left;
}
h1,h2,h3,h4,h5,h6 {
font-size:100%;
font-weight:normal;
}
q:before,q:after {
content:'';
}
abbr,acronym { border:0;
}
我的近况
最近朋友关心我,我的回答都是心情一直不是很好,人也很衰。
本以为可以很快又好转的,但是今天又有一些事情搞得心情很不爽,而且是一些比较严重的事情,在这个Public的区域我就不唠叨了。
加之最近事情很多实在忙不过来,到一个人分成三个人刚刚好的地步。(比如连续几天都保持一个状态:同一个时间里有两场演出。)
现在已经没有做单子了,应该说没时间做了,想做一点自己的事情也没的做,包括自己想做的一个网站也被我一直拖着,学习、英语就更不要说了,老是觉得很难受,觉得会对不起老妈,也不想让她知道我的近况。有的时候真想撒手什么都不想,什么都不管,关手机,出去玩一下。
回想我开学为自己定的计划又完成了多少了呢?怎么感觉什么都没做,特别是英语没学好,以及实习的事情完全没时间理会,觉得很懊恼,偏离了我预先为我自己设定好的路线。本来计划这个学期拒绝一切文艺演出,上周却又参加了百事,又要参加拉丁舞的表演,又被叫去参加红歌会唱民歌,9号还要去南平比赛,现在想起来甚至都很后悔!
(其实徐倩在的时候我就经常开玩笑,叫文娱部封杀我来着的。上面的别让黄老师看到就好,我完全是为了黄老师才参加这些演出的,因为在我的大学生涯里,黄老师是对我最好的老师之一。)
再说说对于电脑方面的郁闷的事情,本来以为每天抱上电脑我就不郁闷了,甚至我每天都把坐在电脑前面当作是逃避人生痛苦的一种方法,不过今天和BJ聊天后,我竟然郁闷地在反思一些东西。
以前我会对我的同学指出路线,经常“教导”他们不要什么都学,要专一门,却忘了自己也犯着同样的毛病。当今天BJ用我“教导”同学的建议来“教导”我的时候,我忽然恍然大悟,BJ的建议并不是说要放弃PHP或者放弃UI,或者说在里面做一个选择,但是他的建议是要精一门,否则门门都是半桶水。
我说我现在已经很收心了,不然以我小时候的性格,肯定是什么都去研究。我并不想放弃UI,PHP一些已经有所研究的东西,但是我要精通一门,我自己知道,这样就要在UI和PHP两个方向中做一个了断,我很不愿意,但是这是谋生之道,是将来能进入大公司,能成为领域精英的关键途径(至少BJ自身的成长过程能证明这一点)。
在接下来的日子里,我要时刻告诉自己方向,方向,方向!
让我想清楚再说吧,毕竟现在我不愿放松UI和PHP中任何一个,两个是没有冲突,只不过研究一项必定会抢占另一项的时间……
BTW,聊天中,BJ提出两个关于PHP的名词,APC和MemCache的概念,发一个帖子贴出两个东西的概念。
关于APC(Alternative PHP Cache)和MemCache
APC(Alternative PHP Cache)
APC是一种对PHP有效的开放源高速缓冲储存器工具,它能够缓存opcode的php中间码。APC是一种php的缓存解决方案,目前以pecl方式发布,有消息说将会出现在php6版本的内核.
一.安装方法
1)从http://pecl.php.net/package/apc下载相应版本
2)解压
3)进入源码目录
4)执行php安装目录下的bin/phpize
5)./configure –enable-apc –enable-apc-mmap –with-apxs=path-to-apache/bin/apxs –with-php-config=path-to-php/bin/php-config
6)make && make install
7)将生成的apc.so加载到php.ini(extesion=apc.so,注意extension_dir的设置)一般地,编译生成的.so会在php安装路径的lib/php/extensions下
8)重启,apache
写一个phpinfo看看
注:windows下,只要到http://snaps.php.net/的相应分支下下载php_apc.dll,再在php.ini中加载即可

FastCGI 不完全高级指南(PHP版,Windows平台)
今天又在配置服务器,又看到FastCGI,一直对其概念不是很明确,所以今天顺便就上网查了查明确一下,来源网上,转载过来
一、FastCGI是什么?
FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail-Over特性等等。
FastCGI的官方站点在 http://www.fastcgi.com
FastCGI的工作原理是:
1、Web Server 启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module);
2、FastCGI进程管理器自身初始化,启动多个CGI解释器进程 (在任务管理器中可见多个php-cgi.exe)并等待来自Web Server的连接。
3、当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi.exe。
4、FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在 WebServer中)的下一个连接。 在正常的CGI模式中,php-cgi.exe在此便退出了。
在上述情况中,你可以想象 CGI通常有多慢。每一个Web请求PHP都必须重新解析php.ini、重新载入全部dll扩展并重初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次。一个额外的好处是,持续数据库连接(Persistent database connection)可以工作。
2009年淘宝UED团队招聘前端工程师
今天,在Dreamer’s Blog 和 怿飞’s Blog 看到一个招聘广告,贴出来看看
职位: 前端工程师、交互设计师
薪金: 面议
有效期至: 2009-05-30
工作地点: 杭州
公司名称: 淘宝(中国)软件有限公司
简历投送邮箱: yuanxin@taobao.com
学历: 不限
是否应届: 不限
年龄要求: 不限
性别要求: 不限
淘宝UED团队和淘宝网站一起,正在几千万会员的支持下高速发展,这种高速的发展使我们对于人才的渴求是如此的强烈。
网站架构(页面静态化,图片服务器分离,负载均衡)方案全解析
1、HTML静态化
其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此。同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求。
2、图片服务器分离
大家知道,对于Web服务器来说,不管是Apache、IIS还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离,这是基本上大型网站都会采用的策略,他们都有独立的图片服务器,甚至很多台图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃,在应用服务器和图片服务器上,可以进行不同的配置优化,比如apache在配置ContentType的时候可以尽量少支持,尽可能少的LoadModule,保证更高的系统消耗和执行效率。
好激动啊,
Recent Replies / 最新回复