« Posts by Justice

反SOPA黑屏行动:美国互联网大罢工

昨天,即 2012 年 1 月 18 日,美国互联网行业各大站点组织了大规模黑屏抗议活动,以对抗可能被国会通过的 SOPAPIPA 两项法案。

先看一下维基百科对这两项法案的简介:

SOPA和PIPA是美国众议院以及美国参议院所提出的两个重大议案,其中“SOPA”为《禁止网络盗版法案》(Stop Online Piracy Act)的英文简称,而“PIPA”则是《保护知识产权法案》(Preventing Real Online Threats to Economic Creativity and Theft of Intellectual Property Act of 2011)的英文简称。这两个法案在原本立意之下是要设法阻止有关外国网站对于版权的侵犯,但是在我们看来它实际上已经成为阻碍人民自由表达、破坏互联网价值观的工具。

简单来说,大致就是规定美国政府对封锁刊登没有专利权的内容的网站有了更大的权力,不管这些网站是否注册在美国。在该法案下,有了法庭的允许,美国司法部长能够要求搜索引擎,ISP 公司以及在线广告以及支付公司停止与那些国外的侵犯版权的网站合作,包括从网站链接以及该网站的 IP 地址来封锁该网站的名字。支持这项法案的主要是好莱坞和一些大唱片公司。而反对方主要是互联网公司。(via 百度百科)

»Read More

什么是Web 3.0?

发一篇凑凑数,前几天在知乎看到一个问题:在你眼中 Web 3.0 是什么?恰好我对此稍微有些了解,于是组织了下语言尝试回答了一下。在这里也分享一下吧。

传统的 Web

以内容为核心,网站负责提供各种内容 (新闻、小说、视频等等) 吸引用户,用户主要是找到自己感兴趣的内容后较被动地接受信息。

Web 2.0

之所以加引号,因为毕竟没有所谓的 “Web 2.0 标准”。在广泛的共识中,Web 2.0 以用户为核心,用户自己共享内容 (User-generated content,比如发表微博、博客文章、podcast、上传视频、图片到 Youtube、Flickr 等等),Web 服务商提供各类 Web 应用来承载用户的内容、组织他们之间的交互。相比传统 Web,Web 2.0 的各种服务更专注于用户,提供更好的交互体验,同时各种服务商提供不同的开放 API,使得一些个性化 Web 应用的实现成为可能。
»Read More

在 JavaScript 中判断“空值”

有时候我们会遇到这样的情况:在一些前端控件要提交数据到服务器端的数据验证过程中,需要判断提交的数据是否为空。如果是普通表单的字符串数据,只需要在 trim 后判断 length 即可,而这里需要的数据可以是各种不同的类型(数字、字符串、数组、对象等等),通过 JSON.stringify(data) 进行序列化后再传递。

在这里定义如下的数据值为“空值”:

  • undefined
  • null
  • 空字符串及纯空白字符串:''、'    ' 等。
  • 空数组:[]
  • 空对象:{}

对于除此以外的数据值,均认为不为空。

»Read More

利用Yahoo! Pipes制作全文RSS源

今天要介绍的东西已经不算什么新的玩意儿了,几年前就有人各种介绍了,最近已经冷下来了。不过在现在恶劣的网络环境当中,这样的工具变得越来越有实用价值了。

我们知道通过 Google Reader 订阅的 RSS 源只要有更新就会被 Google 记录,从而即使原文被删除,Reader 中还是有原文的记录,于是我们甚至还可以通过 Google Reader API 获取历史 RSS 条目。所以像韩寒那样的博客在 Reader 中总是能够读到原文。

但是最近我发现新浪博客的停止了全文 RSS 源输出,而仅仅输出摘要,导致一旦文章被删,Reader 里也只剩下摘要了,再要找原文看就比较麻烦了。这时候我想到了 Yahoo! Pipes 这个异常强大好用的数据整合工具,给博客来做个全文 RSS 源应该是轻而易举吧。结果在创建过程当中,发现新浪博客在博客文章源码中做了一些很恶心的处理(见下图),会抽出文章中的几段文本,随即插入文章中,再设定样式将其隐藏,导致用普通的全文抓取的方法来制作 RSS 源会生成不少重复的文本块,插入文章中以后根本无法正常阅读。 »Read More

Firefox下用Flash上传文件的session陷阱

这几天在项目中遇到的问题,稍微整理一下。

HTML 表单是我们常用来进行浏览器与服务器数据交互的途径,除了传递普通的文本数据,通过 type="file" 的 input 控件,我们还可以向服务器发送文件。但在目前的实际使用中,基于 HTML 表单的文件选择框有着下面两个不尽人意之处:

  1. 一次只能选择一个文件
  2. 上传过程中,不能获取文件上传的进度

对于文件选择的数量,事实上在 HTML4.01 规范中对文件选择框的描述虽然没有明确提出可以同时选择多个文件,但从其用词可以看出,文件选择控件事实上是应该支持同时选择多个文件的: »Read More