Category Archives: Web

zz HTML代码编写规范和建议

转载来源:http://www.cnblogs.com/nicolaszhao/archive/2010/04/15/1712796.html 使用HTML5的DOCTYPE声明 <!DOCTYPE html> ,目前IE6,IE7还不认识,所以会以标准模式渲染页面。但是在其他浏览器下,在图文混排时图片下方会出现间隔空隙。 解决办法: img { vertical-align: bottom; } 页面显示字符集 使用HTML5的简写方式: <meta charset=”utf-8″ /> 遵循xhtml 1.0规则 这里只是为了编写HTML代码时,统一规范而已,在HTML5中已经不需要这样严格了,但是我们还是要规范下比较好。 所有标签必须结束; 所有标签必须小写; 标签属性都必须用引号引起来(单引号或双引号); 标签属性必须有值: <select> <option selected=”selected”></option> </select> <input type=”checkbox” checked=”checked” /> 所有特殊符号必须转义。

Posted in Web | Leave a comment

zz 说说CSS Hack 和向后兼容

人一旦习惯了某些东西就很难去改,以及各种各样的原因,新的浏览器越来越多,而老的总淘汰不了。增长总是快于消亡导致了浏览器兼容是成了谈不完的话题。说到浏览器兼容,CSS HACK自然而然地被我们想起。今天,我们通常都有一个团队或者将有一个团队的人在一个公司里面做相同的事,需要我们有统一的规范来进行Coding,以方便维护。而解决兼容的方法就是(必须是,因为这才最容易有问题的)其中一个最重要的、要解决的规范之一。 在解决兼容方法上,想定出一个统一的规范,个人认为应该以下面3点为基本原则: 权衡成本:在浏览器被淘汰后,如何快速清理掉无用代码 可维护:在资源成本和完美间平衡的向后兼容 可读:省力、易记 这里把成本放在了第一位,并不是说我们不愿意追求完美,而只是,太刻意追求完美有时候可能会阻碍我们前进;在成本后,应该是可维护和可读,这点对于团队的合作来说至关重要,而最终结果也是为了减少成本。 先把这三个原则存起来,来看看我们平时解决兼容的写法(后面会附详细的Hack方法列表):

Posted in Web | 2 Comments

select、poll和epoll

对select、poll、epoll了解得不多,下面是从《构建高性能Web站点》摘录下来的介绍,等以后真正接触到select、poll和epoll方面的开发再详细写一下使用上的区别。 select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。 select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点,事实上从现在看来,这也是它所剩不多的优点之一。 select的一个缺点在于单个进程能够监视的文件描述符的数量存在最大限制,在Linux上一般为1024,不过可以通过修改宏定义甚至重新编译内核的方式提升这一限制。 另外,select()所维护的存储大量文件描述符的数据结构,随着文件描述符数量的增大,其复制的开销也线性增长。同时,由于网络响应时间的延迟使得大量TCP连接处于非活跃状态,但调用select()会对所有socket进行一次线性扫描,所以这也浪费了一定的开销。

Posted in Web | Leave a comment

转义和编码

一、HTML转义 转义字符串(Escape Sequence)也称字符实体(Character Entity)。在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转 义字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。 转义字符串(Escape Sequence),即字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。 比如,要显示小于号(<),就可以写 &lt; 或者 &#60; 。 用实体(Entity)名字的好处是比较好理解,一看lt,大概就猜出是less than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。 提示:实体名称(Entity)是区分大小写的。 备注:同一个符号,可以用“实体名称”和“实体编号”两种方式引用,“实体名称”的优势在于便于记忆,但不能保证所有的浏览器都能顺利识别它,而“实体编号”则没有这种担忧,但它实在不方便记忆。

Posted in Web | Leave a comment

SWFUpload浅析

一、简介和示例 SWFUpload is a small JavaScript/Flash library to get the best of both worlds. It features the great upload capabilities of Flash and the accessibility and ease of HTML/CSS。 官方站点:http://www.swfupload.org/ 简单来说,swfupload这个上传库是可以显示上传进度以及上传速度等上传信息。一般实现这种上传体验有2种方式,一种是异步上传,在服务器端边接收数据边往session写入接收的字节数和进度数据,然后客户端轮询这个记录在session的进度数据并回显到页面。第二种方式就是采用flash来上传,也就是swfupload所采用的方式,在发送过程中将发送的相关状态数据回传到js的函数中处理。 下面是一个单个文件上传的使用示例,简单的创建一个SWFUpload对象,并传入相关的事件处理和参数就可以了: var swfu; window.onload = function () { swfu … Continue reading

Posted in Web | 5 Comments