Magic Linux 是一款国人制作的 Linux 发行版,对中国人非常友好。在那个上古年代,Linux 发行版对中文的支持很差,字体错乱,还经常有乱码。那个时候 Red Hat 还没有启用yum,我还没接触 Debian 系,不知道 apt。软件仓库这件事无从谈起,rpm 包也常不兼容,每次安装软件,都会遭遇巨大的痛苦,不仅要自己编译、make,还要读懂各种报错信息,去 sourceforge 下载.lib .so 依赖包,再把它们安装到合适的位置,简直不能再痛苦。那时的国际化 Linux 版本也很少有为中国人订制的软件,办公软件水土不服,不少工具汉化不完整。音频视频播放器这种桌面常见应用用起来也不方便,因为 Linux 的版权限制,MP3 等编码的解析器是不能捆绑在发行版里的,需要用户自己去安装。而那时候大多数系统上并没有软件仓库,安装难度可想而知。当时 rmvb 和 rm 这种古董级格式还非常流行,由于这个格式是 reaplayer 的私家标准,尤其难办。
Magic Linux 把这些问题都改进了,在 2005-2006 年那个年代,它就提供了一个软件管理程序,虽然没有 apt 那么完备,但是已经很有软件仓库的影子。即便我要安装仓库中没有的程序,它也能以更友好的方式向我提示依赖。Magic Linux 提供了 C++写成的 Eva,可以在 Linux 系统下使用 QQ,是我在 Linux 下使用时间最长的第三方QQ客户端。QQ 为了封禁这些第三方客户端,会经常修改通信协议,Eva 坚挺了很久,使用体验也非常好,性能卓越,背后一定有很多贡献者付出了大量的心血。最终 Eva 还是没能坚持开发下来,彻底登不了 QQ 了。音频视频播放器的解码器也有很好的傻瓜式解决方案。令人惊喜的是,它还自带了一个游戏大厅,像腾讯游戏大厅那样可以打牌玩,可惜我登录过几次,里面根本就没有人,码农真是苦逼啊。顺便吐槽一句,QQ 现在越来越慢了,2008 年的那个 QQ 呢?!
国人开发的 Linux 版本也有不少,包括中科院专资开发的红旗 Linux。我用过红旗 4.0 和红旗 5.0,比 Magic Linux 差多了,桌面应用和开发程序都很不方便,倒是外形是我见过的 Linux 中长的最像 Windows 的,连“开始”菜单都 cosplay 了一个,简直哭瞎。现在这个项目已经倒闭,项目员工集体举牌讨薪,我说当年大家如果用点功,也不至于是这个结局…… Magic Linux 要比其他官方赞助的版本优秀多了。
var express = require('express'); var routes = require('./routes'); var user = require('./routes/user'); var http = require('http'); var path = require('path');
/*! * body-parser * Copyright(c) 2014 Jonathan Ong * Copyright(c) 2014 Douglas Christopher Wilson * MIT Licensed */
/** * Module dependencies. */
var bytes = require('bytes') var deprecate = require('depd')('body-parser') var read = require('../read') var typer = require('media-typer') var typeis = require('type-is')
/** * Module exports. */
module.exports = urlencoded
/** * Cache of parser modules. */
var parsers = Object.create(null)
/** * Create a middleware to parse urlencoded bodies. * * @param {object} [options] * @return {function} * @apipublic */
// notice because option default will flip in next major if (options.extended === undefined) { deprecate('undefined extended: provide extended option') }
var extended = options.extended !== false// 是否采用 qs 模块解析 url 编码。 var inflate = options.inflate !== false var limit = typeof options.limit !== 'number' ? bytes(options.limit || '100kb') : options.limit var type = options.type || 'urlencoded' var verify = options.verify || false
if (verify !== false && typeof verify !== 'function') { thrownewTypeError('option verify must be function') }
// 选择解析器。 var queryparse = extended ? extendedparser(options) : simpleparser(options)
[11]麦金塔电脑(Macintosh),俗称 Mac 机,也称作苹果机或麦金托什机 ,是对苹果 PC 中一系列产品的称谓。首款 Mac 于 1984 年 1 月 24 日发布,是苹果公司继 Lisa 后第二款具备图形界面的 PC 产品。——译者注 [12]首先,目录文件结构并不诞生在 1984 年,在图形界面出现以前,树形文件结构早就广泛存在。在计算机领域中,文件目录结构与超链接网络也不是对立关系。每一个位于目录中的文件都有自己的链接地址,网络中超链接的相对关系也需要依靠目录结构来表征。在计算机工业世界,两者分工合作,各有所长。而且你中有我,我中有你,互相交融,远非对立。译者认为作者在这里对两种数据组织方式有片面的处理。——译者注
既然名字叫难,不说比还难,起码不能比容易。怎么度量难易呢?可以用问题归约啊,如果A解决了,B就也可以解决,我们是不是说B不会比A难?换言之,A 至少和 B 一样难。所以难是这么定义的:至少和中最难的问题——问题——一样难。如果一个问题可以在多项式时间内归约为另一个问题,那么就属于难。如果问题能在多项式内解决,则中的某个问题也能解决,进而所有问题都能够在多项式内解决。