Search my blog
Custom Search

2011/12/06

Web开发中需要了解的东西

Web开发中需要了解的东西:

在StackExchange上有人问了这样一个问题:What should every programmer know about web development?(关于Web开发,什么是所有程序员需要知道的?)里面给出的答案非常不错,所以,我翻译转载过来。 顺便说一下,StackExchange真是非常好,大家可以对同一个答案做贡献和修订,看看这个问题的修订过程你就知道了——专业的问答网站应该怎么去做。这就是我在这篇文章中也说过真正的用户体验是什么样的


好了,下面是正文(我对原文做了一些批注,也许不对或有误导,请大家指正)


下面的这些东西可能对于大多数人并不陌生,但是可能会有些东西你以前并没有看过,或是没有完全搞懂,甚至都没有听说过。(陈皓注:我相信当你看完这个列表后,你会觉得对于我国的Web开发有点弱了,还是那句话,表面上的东西永远是肤浅的)


接口和用户体验



  • 小心浏览器的实现标准上的不一致,确信让你的网站能够适当地跨浏览器。至少,你的网站需要测试一下下面的浏览器:



最后,你可以使用一下这个工具 来看看你的网页在不同的浏览器下是怎么被显示出来的(陈皓注:这个工具就是以前本站介绍过的在不同浏览器和平台上检查你的网站的兼容性



  • 多考虑一下人们是怎么来访问你的网站而不是那些主流的浏览器:手机,读屏软件和搜索引擎,例如:一些Accessibility的东西: WAISection508, 移动设备开发:MobiForge.



  • 部署Staging:怎么部署网站的更新而不会影响用户的访问。 Ed Lucas的答案 可以让你了解一些(陈皓注:Ed说了一些如版本控制,自动化build,备份,回滚等机制)。



  • 千万不要直接给用户显示不友好的错误信息。




  • 千万不要把用户的邮件地址以明文显示出来,这样会被爬虫爬走并被让用户的邮箱被垃圾邮件搞死。



  • 为用户的链接加上 rel="nofollow" 的属性以 避免垃圾网站的干扰。(陈皓注:nofollow是HTML的一个属性,用于通知搜索引擎“这个链接所指向的网页非我所能控制,对其内容不予置评”,或者简单地说,该链接不是对目标网站或网页的“投票”,这样搜索引擎不会再访问这个链接。这个是用来减少一些特定垃圾页面对原网站的影响,从而可以改善搜索结果的质量,并且防止垃圾链接的蔓延。)



  • 为网站建立一些的限制 - 这个属于安全性的范畴。(陈皓注:比如你在Google注册邮箱时,你一口气注册超过两个以上的邮箱,gmail要求给你发短信或是给你打电话认证,比如Discuz论坛的会限制你发贴或是搜索的间隔时间等等,更多的网站会用CAPTCHA来确认是人为的操作。 这些限制都是为了防止垃圾和恶意攻击)



  • 学习如何做 Progressive Enhancement. (陈皓注:Progressive Enhancement是一个Web Design的理念,如:1)基础的内容和功能应该可以被所有的浏览器存取,2)页面布局的应该使用外部的CSS链接,3)Javascript也应该是外部链接还应该是 unobtrusive 的,4)应该让用户可以设置他们的偏好)




  • 严重关注Accessibility。因为这是法律上的需求(陈皓注:Section 508是美国的508法案,其是美国劳工复健法的改进,它是一部联邦法律,这个法律要求所有技术要考虑到残障人士的应用,如果某个大众信息传播网站,如果某些用户群体(如残疾人)浏览该网站获取信息时,如果他们无法正常获得所期望的信息(如无法正常浏览),那可以依据相关法规,可以对该网站依法起诉)。 WAI-ARIA 为这方面的事提供很不错的资源.


安全



  • 在网上有很多关于安全的文章,但是 OWASP 开发指导 涵盖了几乎所有关于Web站点安全的东西。(陈皓注:OWASP(开放Web应用安全项目- Open Web Application Security Project)是一个开放的非营利性组织,目前全球有130个分会近万名会员,其主要目标是研议协助解决Web软体安全之标准、工具与技术文件,长期 致力于协助政府或企业了解并改善网页应用程式与网页服务的安全性。OWASP被视为Web应用安全领域的权威参考。2009年下列发布的美国国家和国际立法、标准、准则、委员会和行业实务守则参考引用了OWASP。美国联邦贸易委员会(FTC)强烈建议所有企业需遵循OWASP十大WEB弱点防护守则)




  • 永远不要相信用户的输入(包括Cookies,因为那也是用户的输入)



  • 对用户的口令进行Hash,并使用salt,以防止Rainbow 攻击(陈皓注:Hash算法可用MD5或SHA1等,对口令使用salt的意思是,user 在设定密码时,system 产生另外一个random string(salt)。在datbase 存的​​是与salt + passwd 产的md5sum 及salt。 当要验证密码时就把user 输入的string 加上使用者的salt,产生md5s​​um 来比对。 理论上用salt 可以大幅度让密码更难破解,相同的密码除非刚好salt 相同,最后​​存在database 上的内容是不一样的。google一下md5+salt你可以看到很多文章。关于Rainbow 攻击,其意思是很像密码字典表,但不同的是,Rainbow Table存的是已经被Hash过的密码了,而且其查找密码的速度更快,这样可以让攻击非常快)。使用慢一点的Hash算法来保存口令,如 bcrypt (被时间检证过了) 或是 scrypt (更强,但是也更新一些) (1, 2)。你可以阅读一下 How To Safely Store A Password(陈皓注:酷壳以前曾介绍过bcrypt这个算法,这里,我更建议我们应该让用户输入比较强的口令,比如Apple ID注册的过程需要用户输入超过8位,需要有大小写和数字的口令,或是做出类似于这样的用户体验的东西)。





  • 使用 SSL/HTTPS 来加密传输登录页面或是任可有敏感信息的页面,比如信用卡号等。



  • 知道如何对付session 劫持。(陈皓注:请参看wikipedia的这Session Hijacking,)





  • 保持你的系统里的所有软件更新到最新的patch。



  • 确保你的数据库连接是安全的。



  • 确保你能了解最新的攻击技术,以及你系统的脆弱处。





性能




  • 优化页面 —— 不要使用20KB图片来平铺网页背景。(陈皓注:还有很多网页页面优化性的文章,你可以STFG – Search The Fucking Google一下。如果你要调试的话,你可以使用firebug或是chrome内置的开发人员的工具来查看网页装载的性能)

  • 学习如何 gzip/deflate 网页 (deflate 更好).



  • 把多个CSS文件和Javascript文件合并成一个,这样可以减少浏览器的网络连数,并且使用gzip压缩被反复用到的文件。




  • 为那些小的图片使用 CSS Image Sprites,就像工具条一样。 (参看 “最小化 HTTP 请求” ) (陈皓注:把所有的小图片合并成一个图片,然后用CSS把显示其中的一块,这样,这些小图片只用传输一次,酷壳的Wordpress样式的那个RSS订阅列表中的小图标就是这样做的)



  • 繁忙的网络应该考虑把网页的内容分开存放在不同的域名下。(陈皓注:比如有专门的图片服务器——图片相当耗带宽,或是专门的Ajax服务器)



  • 静态网页 (如,图片,CSS,JavaScript,以及一些不需要访问cookies的网页) 应该放在一个不使用cookies的独立的域名下,因为所有在同一个域名或子域名下的cookie会被这个域名下的请求一同发送。另一个好的选择是使用 Content Delivery Network (CDN).



  • 使用单个页面的HTTP请求数最小化。



  • 为Javascript使用 Google Closure Compiler 或是 其它压缩工具(陈皓注:压缩Javascript代码可以让你的页面减少网络传输从而可以得到很快的喧染。注意,并不是所有的工具都可以正确压缩Javascript的,Google的这个工具甚至还可以帮你优化你的代码)



  • 确认你的网站有一个 favicon.ico 文件放在网站的根下,如 /favicon.ico. 浏览器会自动请求这个文件,就算这个图标文件没有在你的网页中明显说明,浏览器也会请求。如果你没有这个文件,就会出大量的404错误,这会消耗你的服务器带宽。(陈皓注:服务器返回404页面会比这个ico文件可能还大)


SEO (搜索引擎优化)



  • 使用 “搜索引擎喜欢的” URL,如:使用 example.com/pages/45-article-title 而不是 example.com/index.php?page=45 (陈皓注:这里的URL是说Wordpress的,后者是默认的)



  • 如果你的动态页面要使用 # ,那么请把其改成 #! ,而在服务端,你需要处理$_REQUEST["_escaped_fragment_"] 这是Google搜索引擎需要的。换句话说,./#!page=1 会被Google搜索引擎转成 ./?_escaped_fragments_=page=1。 (陈皓注:通常来说URL中的#后的东西都不会被传到服务器上,所以,为了要让Google可以抓取AJAX的东西,你需要使用#!,而Google会把“#!”转成“_escaped_fragment_”来向服务器发请求,Twitter的大量的链接者是#!的,比如:https://twitter.com/#!/your_activity)。另外,用户也许会使用Firefox 或 Chromium, history.pushState({"foo":"bar"}, "About", "./?page=1"); 是一个很不错的命令。所以,就算是我们的地址栏上的地址改变了,页面也不会重新装载。这可以让你使用 ? 而不是 #! 也能无刷地保住当前的动态的页面,这可以让AJAX的请求被浏览器记住。



  • 别使用 “click here” 这样的链接。这样一来,无法SEO,而且对于一些需要使用读屏人来说很不友好(陈皓注:关于读屏软件,可参看本站的“如果看不见你还能编程吗”)






  • 了解 robots.txt 和搜索引擎爬虫是如何工作的。



  • 重定向请求 (使用 301 重定向网站) ,如果你要把 www.example.com 定向到 example.com(或是其它的变更) 这样可以防止Google的rank因为域名的变化发生改变。(陈皓注:301重定向一般用作域名变更)



  • 知道并不是所有的爬虫都是好的,有些爬虫的行为并不好。(陈皓注:比如向你的网站发大量的请求导致服务器性能低下)



  • 如果你有一些非文本的内容需要在 Google’s sitemap 中,比如视频什么的。Tim Farley的答案,可以让你看到很多有价值的东西。


技术



  • 理解什么是 HTTP 比如 GET, POST, sessions, cookies等,了解什么是 “stateless” 无状态。



  • 让你的 XHTML/HTMLCSS 符合 W3C 规范,并确认他们都是 合格的。我们的目标是避免浏览器的 “quirks mode”,并且可以让其更容易地能和非标准的浏览器工作,比如读屏器或移动设备。



  • 理解浏览器是怎么处理 JavaScript 的。(陈皓:你会看到有些Javascript代码在页面上前面,有些则是在后面,所以你需要对其了解清楚为什么是这样)



  • 了解浏览器是怎么装载 JavaScript,CSS和其它资源的,了解其对视觉上的影响。(陈皓注:10年前我做网页的时候因为HTML还很弱,所以只能使用table来布局,使用table布局的问题就是整个table读完后页面才会显示,用户的视觉体验并不好)。在某些情况下,你可能需要把你的脚本放在页面的后面



  • 理解 JavaScript 的 sandbox 是怎么怎么工作的,尤其是你想使用iframes。



  • 请注意 JavaScript 可能会被禁止,这样会让你的AJAX失效。就算是大多数用户都开启了Javascript功能,但是也可能在一些情况下脚本是不被运行的,比如移动终端上,搜索引擎抓网页的时候也并不会执行你的脚本。




  • 尽可能多地学习你的部署平台。(比如:操作系统,Web Server:Apache/Nginx,防火墙,数据库,等等)





  • 把视觉效果和JS框架合在一起讨论,考虑使用一个Service,如:Google Libraries API 来装载框架,这样可以让浏览器可能早就把这个JS框架已经cache了而不需要再从你的网站上下载了。


Bug fixing



  • 明白你会花20%的时间写代码,而80%的时候在维护,所以你要小心编码。(陈皓注:参看本站的“多些时间可以少些代码”一文)



  • 设计一个好的错误报告机制。



  • 设计一个入口可以让人们联系到你并给你建议和批评。



  • 为你开发的东西形成文档,这样可以让后来的人容易维护你的软件和系统。



  • 频繁备份(也可确保你的这些备份功能正常) Ed Lucas 的回答 有一些忠告。你还需要有一个恢复策略,而不只是一个备份策略。



  • 使用一个版本控制系统来保存你的代码,如: SubversionGit.



  • 别忘了做Acceptance Testing,使用 Selenium 能帮到你。



  • 确保你有足够的日志,你可以使用 log4j, log4n 或 log4r。如果出了问题,这是可以让你快速找到问题的方式。



  • 当你写日志的时候,确保你记录了你捕获了处理和未处理异常。报告和分析日志可以让你知道你网站的问题。


这里有多的东西被省略了,并不是因为那些可能不是有帮助的答案,而是因为那些东西都太细节了,超出了这个问题的范围,因为这本来就是一个Web开发需要了解东西的Overview。我想你可以去看一下其它人的答案,我有时间,我也会补充别人的答案进来。请随意编辑这个答案,因为可能有些东西忘了,也有可能有些东西不对。


(全文完)



















您可能也喜欢:




Web开发人员速查卡





开源中最好的Web开发的资源





30+ Web下拉菜单





如何在低速率网络中测试 Web 应用





Web中的省略号



无觅

相关文章

2011/12/05

关于PM2.5的十个问答【转载】

关于PM2.5的十个问答:

作者:谭知还


1. PM2.5是什么?


如果是初次接触,“PM2.5”这一串字符也许会让你看得云里雾里,不知所云。其实它有一个容易理解的中文名——细颗粒物,是对空气中直径小于或等于2.5微米的固体颗粒或液滴的总称。这些颗粒如此细小,肉眼是看不到的,它们可以在空气中漂浮数天。人类纤细的头发直径大约是70微米,这就比最大的PM2.5还大了近三十倍。


PM是英文particulate matter(颗粒物)的首字母缩写。准确的PM2.5定义要在“直径”之前加一个修饰语“空气动力学”,这可不是故作高深。空气中的颗粒物并非是规则的球形,那怎么定义又怎么测量其直径呢?在实际操作中,如果颗粒物在通过检测仪器时所表现出的空气动力学特征与直径小于或等于2.5微米且密度为1克/立方厘米的球形颗粒一致,那就称其为PM2.5。这样的定义也就决定了在测定PM2.5时,需要利用空气动力学原理把PM2.5与更大的颗粒物分开,而不是用孔径为2.5微米的滤膜来分离。


知道了PM2.5的定义,就很容易得出PM10的定义了——将定义中的2.5换成10即可,PM10也被称为可吸入颗粒物。在PM10中,直径在2.5至10微米之间的颗粒物被称为粗颗粒物,与细颗粒物相对。



2. PM2.5来自哪里,都有些什么成分?


虽然自然过程也会产生PM2.5,但其主要来源还是人为排放。人类既直接排放PM2.5,也排放某些气体污染物,在空气中转变成PM2.5。直接排放主要来自燃烧过程,比如化石燃料(煤、汽油、柴油)的燃烧、生物质(秸秆、木柴)的燃烧、垃圾焚烧。在空气中转化成PM2.5的气体污染物主要有二氧化硫、氮氧化物、氨气、挥发性有机物。其它的人为来源包括:道路扬尘、建筑施工扬尘、工业粉尘、厨房烟气。自然来源则包括:风扬尘土、火山灰、森林火灾、漂浮的海盐、花粉、真菌孢子、细菌。


PM2.5的来源复杂,成分自然也很复杂。主要成分是元素碳、有机碳化合物、硫酸盐、硝酸盐、铵盐。其它的常见的成分包括各种金属元素,既有钠、镁、钙、铝、铁等地壳中含量丰富的元素,也有铅、锌、砷、镉、铜等主要源自人类污染的重金属元素。


2000年有研究人员测定了北京的PM2.5来源:尘土占20%;由气态污染物转化而来的硫酸盐、硝酸盐、氨盐各占17%、10%、6%;烧煤产生7%;使用柴油、汽油而排放的废气贡献7%;农作物等生物质贡献6%;植物碎屑贡献1%。有趣的是,吸烟也贡献了1%,不过这只是个粗略的科学估算,并不一定准确[1]。该研究中也测定了北京PM2.5的成分:含碳的颗粒物,硫酸根,硝酸根,铵根加在一起占了重量了69% 。类似地,1999年测定的上海PM2.5中有41.6%是硫酸铵、硝酸铵,41.4%是含碳的物质[2]。


3. PM2.5对健康有什么危害?


PM2.5主要对呼吸系统和心血管系统造成伤害,包括呼吸道受刺激、咳嗽、呼吸困难、降低肺功能、加重哮喘、导致慢性支气管炎、心律失常、非致命性的心脏病、心肺病患者的过早死[3]。老人、小孩以及心肺疾病患者是PM2.5污染的敏感人群。



如果空气中PM2.5的浓度长期高于10微克/立方米,死亡风险就开始上升。浓度每增加10微克/立方米,总的死亡风险就上升4%,得心肺疾病的死亡风险上升6%,得肺癌的死亡风险上升8%[4-5]。这意味着多大的风险呢?我们可以拿吸烟做个比较。吸烟可使男性得肺癌死亡的风险上升21倍(也就是上升2100%),女性的风险上升11倍(1100%);使中年人得心脏病死亡的风险上升2倍(200%)[6]。和吸烟一比,PM2.5的危害就显得非常小了。如果吸烟都没有让你感到恐惧,那你就不用担心眼下PM2.5超标对健康的影响了。


但是,从全社会的角度出发,降低这些看似不大的风险,收益却是很大的。美国环保局在2003年做了一个估算:“如果PM2.5达标,全美国每年可以避免数万人早死、数万人上医院就诊、上百万次的误工、上百万儿童得呼吸系统疾病”[7]。相比当前的中国,美国当时的空气质量已经相当不错,只有很少的地区存在略微的超标[8]。如果中国的PM2.5能够达标,社会收益无疑将会是巨大的。


上述关于PM2.5死亡风险的数据源自2002年发表于《美国医学会杂志》的一篇论文[4]。这篇论文分析了一项长期研究中参与者的死亡率和空气污染之间的关系,发现死亡率升高与PM2.5和二氧化硫的污染有关联,而与粗颗粒物污染没有可靠的关联。该项在美国进行的前瞻性研究始于1982年,当时招募了120万的参与者。论文的结论是基于长达16年的随访数据,是目前关于PM2.5污染增加死亡风险最可靠的证据。


4. 如果没有污染,PM的浓度有多高,现在实际有多高?


即使没有人为污染,空气中也有一定浓度的PM2.5,这个浓度被称为背景浓度。在美国和西欧,背景浓度大约为3-5微克/立方米[5],澳大利亚的背景浓度也在5微克/立方米左右[9]。中国的背景浓度有多高?目前尚无公开的数据,但应该不会和其他国家相差太大。


中国尚未开展大范围的PM2.5监测,公开的PM2.5数据非常有限。位于广州的环保部华南环境科学研究所从2011年从6月13日开始每日发布PM2.5监测值[10],截至11月20日,浓度范围在0.6至99 微克/立方米之间(注:0.6这个数据应该是仪器故障所致,正常值不会这么低),平均值为38微克/立方米,这个值超过了拟发布的年均标准(35微克/立方米)[11]。在这121天中,已经有6天超过了拟发布的日均标准(75微克/立方米)。从近十几年来发表的科学论文中,可以查到中国一些大城市某一区域某一阶段的PM2.5的测定值。例如,2000年在北京的5个监测点测得的PM2.5年均值为101微克/立方米[2];2008北京奥运会的17天中,在北大测得的PM2.5最低28.2,最高147.4微克/立方米, 平均64.7微克/立方米[12]。1999年,在上海两个监测点测定的PM2.5年均值为57.9和61.4 微克/立方米[2]。这些年均值都远高于拟发布的年均标准(35微克/立方米)。


除了查阅以上这些零星的数据,我们还可以根据PM10的数据估算一下PM2.5的浓度。按照中国现行的空气质量标准,PM10是常规监测指标,全国性监测已开展了十几年。从2001年至2009年,全国主要城市PM10的平均值从125降到了90微克/立方米[13]。PM2.5和PM10之间的比例通常在0.5-0.8之间,我们取0.8做一个极端估算可得:2009年全国主要城市的PM2.5平均值为72微克/立方米,是即将发布的新标准的2.1倍(35微克/立方米)。和美国的空气质量相比,这差多少呢?2009年,全美国年均PM2.5为9.9微克/立方米,在724个监测点中有90%以上的监测点年均值低于12.6微克/立方米[8]。


全国的年均值只是用来反映我国颗粒物污染的总体现状,对于评价我们所在城市的空气质量意义并不大。我们更需要关注的是离我们生活、工作最近的监测点的数据。这个数据哪里有呢?如果你生活在北京而且恰好在美国大使馆附近,那你可以参考该馆发布的实时PM2.5数据


不过值得一提的是,虽然美国大使馆的监测仪器是专业的(见问答9),但是大使馆毕竟不是环境监测部门,没有证据表明他们的工作人员具备相应的专业知识,而且他们测出的PM2.5数值经常比环保部门以及第三方测定的PM10还高,这是不正常的。所以,美国大使馆的数据也只能“仅供参考”。


然而,我们更多的人并不生活在北京,即使在北京也不在美国大使馆附近,那我们该看哪里的数据呢?全国主要城市的实时PM10数据可以在环境监测总站的网站上查到,每个城市都有数个监测点,我们可以选离得最近的那个点作参考。如果你很乐观,那么可以估算PM2.5=PM10 × 0.5,如果你很悲观,那么就估算PM2.5=PM10 × 0.8。


5. 其他国家实施PM2.5的标准了吗,标准值是多少?


自从美国于1997年率先制定PM2.5的空气质量标准以来,许多国家都陆续跟进将PM2.5纳入监测指标。如果单纯从保护人类健康的目的出发,各国的标准理应一样,因为制定标准所依据的是相同的科学研究结果。然而,标准的制定还需考虑各国的污染现状和经济发展水平,在一个空气污染严重的发展中国家制定极为严格的空气质量标准只能成为一个华丽的摆设,没有实际意义。根据美国癌症协会和哈佛大学的研究结果,世界卫生组织(WHO)于2005年制定了PM2.5的准则值。高于这个值,死亡风险就会显著上升。WHO同时还设立了三个过渡期目标值,为目前还无法一步到位的地区提供了阶段性目标,其中目标-1的标准最为宽松,目标-3最严格[5]。


下表列举了WHO以及几个有代表性的国家的标准。中国拟实施的标准与WHO过渡期目标-1相同。美国和日本的标准一样,与目标-3基本一致。欧盟的标准略微宽松,与目标-2一致,澳大利亚的标准最为严格,年均标准比WHO的准则值还低。标准的宽严程度基本反映了各国的空气质量情况,空气质量越好的国家就越有能力制定和实施更为严格的标准。




【世界卫生组织(WHO)和一些国家的PM2.5标准(单位:微克/立方米)】


6. 中国的PM2.5标准和其他国家比,很落后吗?


中国的PM2.5标准拟于2016年生效,虽然比美国落后了一二十年,但和欧盟的2015年生效相比,也不算太晚。如果仅从标准的数值来看,中国即将发布的新标准已经与WHO过渡期目标-3一致,虽然落后于发达国家,但也算是开始了三步走的第一步。然而,即使标准值相同,而评判是否达标的方式不同,约束力是有极大差异的。举个例子,中国现行的空气质量标准制定于1996年,其中PM10的日均标准为150微克/立方米,表面上已和美国现行标准一样严格。但是,按照美国的标准,平均每年最多只能有1天超标,否则就算不达标,超标地区需要提交改进方案并加以实施。而在中国的标准文件中,没有类似的规定。各地区在执行标准时,只是计算每年的“达标天数”和“达标率”。PM10的标准至今已经执行了15年,一个86.2%的达标率还可以作为正面消息报道[14]。


在即将发布的PM2.5新标准中,依然没有规定多高的达标率才是可接受的。WHO和其他国家是怎么规定的呢?WHO要求每年最多有3天超标(99%的达标率),澳大利亚最多5天,而美国和日本要求的达标率为98%。中国PM2.5标准的落后不仅是在标准值,更重要的是在约束力上。


7. 新标准即将发布,为什么要到2016年才实施??


对于这个问题,标准制定者是这样回答的:“考虑到环境空气质量标准实施是一项复杂的系统工程,以及目前全国的环境监测能力现状,结合现行标准实施过程中的经验,为保障数据准确性和可比性,将全国统一实施本标准的时间定为2016 年1 月1 日,以便为各地区预留足够的准备时间,加强标准实施的有关配套工作[15]。”


这么说有道理吗?我们不妨参考一下其他国家是怎么做的。在美国和澳大利亚环保部门的网站上,对于PM2.5标准的制定过程有非常详细的备忘录,我们就以这两个国家为例。


美国早在1994年就宣布要增加PM2.5的指标。1994-1996年间,开了多次研讨会,在1996年底发布了征求意见稿。征求意见期间共接了14000个电话,收到4000封电子邮件、50000份书面或口头意见,而且多次通过听证会、会议、电视节目征求意见。经过这番诚意十足的意见征求,终于在1997年9月16日发布了PM2.5的标准。但在那时,尚未展开全国的PM2.5监测,直到1999年各州才陆续开始,2000年PM2.5监测常规化[16]。


澳大利亚在2001年开始考虑,并在2003年制定了PM2.5的非强制标准。制定该标准的目的是收集数据,以便检讨这一标准是否合理,并准备于2005年开始考虑制定强制标准。在征求意见的过程中,有反对者认为应该直接设立强制标准,否则缺乏约束力,意义也就不大。澳大利亚环保委员会(NEPC)认为当时缺乏足够的PM2.5监测数据,没法很好地评估不达标会带来怎样的影响,坚持了原先的做法[9]。直到今年(2011年),澳大利亚的PM2.5仍然不是强制指标[17],不过这期间一直在做大量的监测和基础研究工作[18]。


中国的PM2.5强制标准正在征求意见中,并拟于2016年实施,“实施”的含义应该是指开展常规检测并公布结果。美国从1997年发布标准到2000年全国监测常规化花了两三年的时间。澳大利亚2003年发布非强制标准,随后即开展全国监测。考虑到中国的国情,延后几年“实施”有其合理性,但是四五年的时间是否太长了呢?


8. 怎么测定PM2.5


空气中漂浮着各种大小的颗粒物,PM2.5是其中较细小的那部分(定义见问答1)。不难想到,测定PM2.5的浓度需要分两步走:(1)把PM2.5与较大的颗粒物分离;(2)测定分离出来的PM2.5的重量。目前,各国环保部门广泛采用的PM2.5测定方法有三种:重量法、β射线吸收法和微量振荡天平法。这三种方法的第一步是一样的,区别在于第二步。


将PM2.5直接截留到滤膜上,然后用天平称重,这就是重量法。值得一提的是,滤膜并不能把所有的PM2.5都收集到,一些极细小的颗粒还是能穿过滤膜。只要滤膜对于0.3微米以上的颗粒有大于99%的截留效率,就算是合格的[19]。损失部分极细小的颗粒物对结果影响并不大,因为那部分颗粒对PM2.5的重量贡献很小。



重量法是最直接、最可靠的方法,是验证其它方法是否准确的标杆。然而重量法需人工称重,程序繁琐费时。如果要实现自动监测,就需要用到另外两种方法。


β射线吸收法:将PM2.5收集到滤纸上,然后照射一束beta射线,射线穿过滤纸和颗粒物时由于被散射而衰减,衰减的程度和PM2.5的重量成正比。根据射线的衰减就可以计算出PM2.5的重量[20]。美国大使馆那台知名度很高的仪器依据的就是此原理。


微量振荡天平法:一头粗一头细的空心玻璃管,粗头固定,细头装有滤芯。空气从粗头进,细头出,PM2.5就被截留在滤芯上。在电场的作用下,细头以一定频率振荡,该频率和细头重量的平方根成反比。于是,根据振荡频率的变化,就可以算出收集到的PM2.5的重量[20]。


将PM2.5分离出来的切割器又是怎么工作的呢?在抽气泵的作用下,空气以一定的流速流过切割器时,那些较大的颗粒因为惯性大,一头撞在涂了油的部件上而被截留,惯性较小的PM2.5则能绝大部分随着空气顺利通过。也许你已经觉察到,这和发生在我们呼吸道里的情形是非常相似的:大颗粒易被鼻腔、咽喉、气管截留,而细颗粒则更容易到达肺的深处,从而产生更大的健康风险。


对于PM2.5的切割器来说,2.5微米是一个踩在边线上的尺寸。直径恰好为2.5微米的颗粒有50%的概率能通过切割器。大于2.5微米的颗粒并非全被截留,而小于2.5微米的颗粒也不是全都能通过。例如,按照《环境空气PM10和PM2.5的测定 重量法》的要求,3.0微米以上颗粒的通过率需小于16%,而2.1微米以下颗粒的通过率要大于84%[21]。


特殊的结构加上特定的空气流速共同决定了切割器对颗粒物的分离效果,这两者稍有变化,就会对测定产生很大影响,而使结果失去可比性。因此,美国环保局在1997年制定世界上第一个PM2.5标准的时候,一并规定了切割器的具体结构[16]。于是,虽然 PM2.5的测定仪器有不少品牌,它们外观却极为相似。


9. 市面上有些手机大小的仪器号称可以测PM2.5,靠谱吗?


和环保部门采用的标准方法相比,用非专业仪器测PM2.5显然是不可靠的,但很难说到底有多不准,只有拿来和标准方法对比一下才知道。测出来的数据也许能说明一点问题,比如能分辩出房间里有没有人吸烟,是不是刚扫过地,可是这些你的鼻子也能做到吧。


市面上的非专业仪器利用光散射的原理测定颗粒物浓度,这种方法并没有被各国环保部门采纳为标准方法,但是有依据此原理制成的专业仪器,在科研中也有运用。空气中的颗粒物浓度越高,对光的散射就越强。光的散射相对容易测,把它测出来,理论上就可以算出颗粒物浓度了。但在实际运用中,事情并没有这么简单。光的散射与颗粒物浓度之间的关系是很不确定的,受到诸多因素的影响,例如颗粒物的化学组成、形状、比重、粒径分布,而这些都取决于污染源的组成。这意味着光散射和颗粒物浓度之间的换算公式随时随地都可能在变,需要仪器使用者不断地用标准方法进行校正,没有经过科学训练的业余人士不大可能办得到。有研究者做过理论计算:利用光散射仪测定PM2.5,至少有30-40%的不确定性[22]。这种不确定性是这类仪器固有的,质量可靠的专业仪器尚且如此,更何况市面上仪器的质量并不都是理想的呢。


作为普通老百姓,与其把精力和金钱花在自己监测空气质量上,还不如呼吁环保部门早日监测PM2.5并公开数据。现在新的《环境空气质量标准》正在向公众征求意见,并拟于2016年实施[11],公众的声音也许能使这一时间大大提前。至于有人宣称自己动手监测,可以监督环保部门,防止他们伪造数据。这其实是没有道理的。非专业人士操作非专业的或质量不高的专业仪器测得的结果是不可靠的,没有能力去挑战环保部门的结果,这种监督可以说是无效的。


10. 灰霾天是PM2.5引起的吗?


虽然肉眼看不见空气中的颗粒物,但是颗粒物却能降低空气的能见度,使蓝天消失,天空变成灰蒙蒙的一片,这种天气就是灰霾天。根据《2010年灰霾试点监测报告》,在灰霾天,PM2.5的浓度明显比平时高,PM2.5的浓度越高,能见度就越低[23]。


虽然空气中不同大小的颗粒物均能降低能见度,不过相比于粗颗粒物,更为细小的PM2.5降低能见度的能力更强。能见度的降低其本质上是可见光的传播受到阻碍。当颗粒物的直径和可见光的波长接近的时候,颗粒对光的散射消光能力最强。可见光的波长在0.4-0.7微米之间,而粒径在这个尺寸附近的颗粒物正是PM2.5的主要组成部分。理论计算的数据也清楚地表明这一点:粗颗粒的消光系数约为0.6平方米/克,而PM2.5的消光系数则要大得多,在1.25-10平方米/克之间,其中PM2.5的主要成分硫酸铵、硝酸铵和有机颗粒物的消光系数都在3左右,是粗颗粒的5倍[24]。所以,PM2.5是灰霾天能见度降低的主要原因。


值得一提的是,灰霾天是颗粒物污染导致的,而雾天则是自然的天气现象,和人为污染没有必然联系。两者的主要区别在于空气湿度,通常在湿度大于90%时称之为雾,而湿度小于80%时称之为霾,湿度在80-90%之间则为雾霾的混合体[25]。






参考文献:

1. Zheng, M., et al., Seasonal trends in PM2.5 source contributions in Beijing, China. Atmospheric Environment, 2005. 39(22): p. 3967-3976.

2. Ye, B.M., et al., Concentration and chemical composition of PM2.5 in Shanghai for a 1-year period. Atmospheric Environment, 2003. 37(4): p. 499-510.

3. 美国环保局网站, http://www.epa.gov/air/particlepollution/health.html

4. Pope, C.A., et al., Lung cancer, cardiopulmonary mortality, and long-term exposure to fine particulate air pollution. Jama-Journal of the American Medical Association, 2002. 287(9): p. 1132-1141.

5. 世界卫生组织, WHO Air quality guidelines for particulate matter, ozone, nitrogen dioxide and sulfur dioxide (Global update 2005, Summary of risk assessment).http://whqlibdoc.who.int/hq/2006/WHO_SDE_PHE_OEH_06.02_eng.pdf , 2005.

6. 美国疾病控制与预防中心网站,http://www.cdc.gov/tobacco/data_statistics/fact_sheets/health_effects/tobacco_related_mortality/

7. 美国环保局, Guidance for determining boundaries of fine particle attainment and nonattainment areas (fact sheet). 2003.

8. 美国环保局网站, http://www.epa.gov/airtrends/pm.html#pmloc

9. 澳大利亚环保委员会, Summary of Submissions received in relation to the Draft Variation to the National Environment Protection (Ambient Air Quality) Measure for Particles as PM2.5 and National Environment Protection Council's Responses to those Submissions.

10. 环保部华南环境科学研究所网站, http://www.scies.org/Data.asp

11. 环保部网站, 《环境空气质量标准》(二次征求意见稿).http://www.mep.gov.cn/gkml/hbb/bgth/201111/W020111121388004546031.pdf

12. Wang, W.T., et al., Atmospheric Particulate Matter Pollution during the 2008 Beijing Olympics. Environmental Science & Technology, 2009. 43(14): p. 5314-5320.

13. 环保部网站, 《环境空气质量标准》(征求意见稿)编制说明.http://www.zhb.gov.cn/gkml/hbb/bgth/201011/W020101130374443039627.pdf

14. 环保部网站新闻, 陕西渭南城区前半年环境空气质量再创新高.http://www.mep.gov.cn/zhxx/gzdt/201107/t20110725_215367.htm.

15. 环保部网站, 《环境空气质量标准》(二次征求意见稿)编制说明.http://www.mep.gov.cn/pv_obj_cache/pv_obj_id_85F8326F38B939A7339DDA6AC9FA3A6D87680400/filename/W020111116602406614804.pdf

16. 美国环保局网站, National Ambient Air Quality Standards for Particulate Matter; Final Rule.http://epa.gov/ttncaaa1/t1/fr_notices/pmnaaqs.pdf

17. 澳大利亚环保委员会网站, http://www.environment.gov.au/atmosphere/airquality/publications/standards.html

18. 澳大利亚环保委员会, Review of the National Environment Protection (Ambient Air Quality) Measure: Discussion Paper, Air Quality Standards.http://ephc.gov.au/sites/default/files/AAQ_DiscPpr__Review_of_the_AAQ_NEPM_Discussion_Paper_AQ_Standards_Final_201007.pdf

19. 国家环境保护标准, 环境空气PM10和PM2.5的测定 重量法. (HJ 618-2011).

20. 美国环保局, Guidance for using continuous monitors in PM2.5 monitoring networks.http://www.epa.gov/ttnamti1/files/ambient/pm25/r-98-012.pdf

21. 国家环境保护标准, 环境空气PM10和PM2.5的测定 重量法 (HJ 618-2011)

22. Molenar, J.V., Theoretical analysis of PM2.5 mass measurements by nephelometry.http://vista.cira.colostate.edu/improve/publications/graylit/014_AerosolByNeph/AerosolbyNeph.pdf

23. 环境监测总站网站, 2010年灰霾试点监测报告完成. http://www.cnemc.cn/publish/106/news/news_18191.html

24. 美国环保局网站, Introduction to visibility. http://www.epa.gov/visibility/pdfs/introvis.pdf

25. 白志鹏,董海燕,蔡斌彬,朱坦,姚学祥, 灰霾与能见度研究进展. 过程工程学报, 2006. 6(增刊2).


原文出自科学松鼠会:

http://songshuhui.net/archives/62570

咖啡因是个什么东西[ 转载]

咖啡因是个什么东西:
城市生活可不像乡村生活那么简单,一个人如果手机和msn联系人超过了500这个数量,就一定要经常更新和补充一些信息来维持自己在社交圈中体面的地位。二十年前做到这点很容易,随便说几个五星级酒店的招牌菜品,身上有几件名牌衣服就已经能获得大部分人的艳羡了。到了Google时代,不花费大量的精力,想在饭局或者酒会里得到一些人赞许的眼神?想都别想。

就拿咖啡来说,端出烫金的红色雀巢咖啡杯,用金色长把勺漫不经心搅一搅速溶咖啡就能让客人满足的时代早已一去不复返;卡普奇诺、意大利浓缩、蓝山咖啡的区别也已经成了常识;100多块钱就能买到的咖啡机,让强调每天早上都要“煮”杯咖啡的人们也失去了乐趣。

那么知道一点咖啡发祥于埃塞俄比亚高原,在17世纪后叶风行欧洲,全世界的咖啡因消耗量大约是每人每天70毫克这样的小常识是必要的,但如果在咖啡馆里开策划会的休息时间,轻描淡写的聊聊有关咖啡的科学,显然是最合时宜和最酷的一件事。

咖啡能风靡全球的原因自然是因为咖啡因,但试图说清咖啡因在脑内如何作用是件不明智的事儿,没有科学家敢微笑着说自己解决了脑部对各种精神刺激品反应机制的问题。所以用不着重复那些咖啡因会影响脑部中间边缘多巴胺系统,产生快感的模糊的话,聊聊无咖啡因咖啡吧!这可是一个非常酷的话题。

咖啡因属于植物化学物中的生物碱团伙,跟尼古丁,古柯碱,吗啡和蕃木龟碱之类的物质都算一伙儿的,它们的共同特点就是都是苦的。咖啡因也是咖啡成瘾的头号罪犯。如果想每天享受滴滴香浓的咖啡,又不受上瘾之扰,就得把咖啡因从咖啡里去除。通常消除掉97%以上的咖啡因,才能算是真正的无咖啡因咖啡。不要担心去掉了咖啡因咖啡失去了苦味儿,咖啡因只占咖啡苦味的10%而已。

这个过程一般在绿咖啡豆还没烘烤之前就要进行了。通过蒸咖啡豆,让大部分的咖啡因转移到豆子表面,再用溶剂洗涤,就可以消除大部分的咖啡因。

咖啡里有800到1000种化学物质,想不破坏掉它们的平衡,把1%到2%的咖啡因消除掉可不是一件容易的事儿。这个世界总是会有聪明人的,1903年,德国有个叫Ludwig Roselius的商人首次琢磨出了去除咖啡因的办法——有说是因为他认为自己父亲的健康受到了咖啡因的影响,也有传说他是偶然间的发现——不管怎样,他发现咖啡因容易溶解在苯和氯仿之类的有机溶剂里,还为此申请了专利,弄出了个咖啡品牌叫Sanka,畅销一时。

但苯可是种致癌物质,吸入高浓度的苯蒸气或者误服苯液都能引起急性中毒,毒性很快的抑制中枢神经系统,另外还会对造血、呼吸系统下手。口服10毫升就翘翘了。氯仿也就是三氯甲烷,更是高毒性的东东,不仅能麻醉中枢神经系统,还损害心、肝、肾等内脏。光照下,氯仿和空气中的氧气反应,能产生剧毒的光气……如果想给自己老板的咖啡里下毒,这样可以,否则,你想呢?

再后来,又有人选定了二氯甲烷做试验。除了咖啡因之外,它只会极少量的溶解其它物质,而且很容易挥发,有残留的话,通过加热就可以赶跑了。咖啡因被解决了,

到了1980年,二氯甲烷被认定为致癌物质,虽然咖啡里残留的二氯甲烷通常都不会超过规定的十万分之一,但有毒这两个字很难让人产生安全感。所以二氯甲烷被有机溶液醋酸醚代替了。因为许多水果里都有这种物质,所以我们可以时髦的叫这个做:纯天然消除咖啡因法。

还有一种高科技方法是把咖啡因萃取到二氧化碳里,但不是气态、固态、和液态的二氧化碳,而是高温高压下呈现超临界的独特形式的二氧化碳。

瑞士水溶法显然是最有创意的,从头到尾只用水。先把咖啡豆水洗一遍,然后用一套过滤系统把那些水里的咖啡因单单“滤出来”。最后,那些充满了咖啡因除外的一切咖啡化学物,又回到咖啡豆里。听起来很智慧很安全吧。

不过,无论是醋酸醚,还是瑞士水溶法,还是二氧化碳萃取,这些技术都是成熟和安全的,选择哪一款完全在于个人喜好,这点一定要着重强调。

好了,下次喝咖啡的时候,不管是星巴克还是公司的茶水间,呷一口冰水,喝一口咖啡,不急不徐的讲一段咖啡的萃取工艺,不动声色间,你的别人心里内涵分至少能上升10%个百分点。长期看我的专栏,早晚有一天,会拿满分哒!

原文出自科学松鼠会:
http://songshuhui.net/archives/62548