
单纯从规模上讲,目前拥有至少 七家文学站点的盛大 ,推出 BamBook 阅读器 丝毫让人感觉不到意外。
这款目前称为 BamBook 的阅读器外形与我期前接触的内部版并无多大的改变。当时由于是内测版本没有印上 Logo,给人第一眼的印象就是国内 Kindle 的山寨板。
都知道 BamBooke 面对的对手不是 iPad,而是 Amazon 的 Kindle。在面对已经历经三代的 Kindle 面前,新生的 Bambook 就好比是孩子对比成年人一样,没有任何的对比性可言。
一开始将 BamBook 的目标定位为 Kindle 未免有些不太现实,其实我们能理解, BamBook 主要面对的是国内中低端阅读器市场 。
然而,国内的「特殊环境」可能是制约此类产品发展的因素之一。这就好比国外卖手机其实卖的是服务而非硬件,国内此 类产品永远大多都是在做「产品」而非「服务」。
盛大当然也考虑过这个道理,因此考虑这款产品如何生存下去的条件之一,就是如何降低成本降低售价。BamBook 那 1k 不到的卖价,自然也就在情理之内(同时 我有理由相信以后的价格只会更低 )。
相对价格,时隔几个月不知此时发布的版本稳定性和速度对比那时体验的内测版是否有所提升。如果还是老样子,那么即便是如此低廉的价格,恐怕还是很难打动挑剔的消费者。
随着 iPad 等平板电脑的持续发力(虽然两类产品无法共同比较)、Kindle 的第三代版本目前最低售价也才一百多美元、同时国内现有的例如 汉王 等传统电子书厂商也有降价的趋势。
光控制成本和售价并不能说明 Bambook 有多少的竞争力。如果想在这堵墙中拉开道口子,BamBook 必须在其它的地方寻找突破口。
首先能想到的就是盛大目前掌握的资源 ,「搅局的人永远在后面出现」,不要忘记盛大的掌中已经有几家国内规模较大文学站点。如果盛大能将这些资源充分的利用 对接起来,那么原本风平浪静的国内阅读器市场将会变得复杂。
我们可以想象下此时盛大的心态,这个在大部分人眼中还是家依靠游戏外包发家的公司,对比腾讯没有其影响力和用户基础、对比百度其没有技术。如果其想要转型,那么除了大肆收购的手段之外,剩下事情就是组建自己的核心生态圈--回头看其实这个局早在 2006 年就已经开始布置。
我们回看 BamBook 产品本身,那外形类似 Kindle、平台 UI ( 甚至产品页面 )类似 Apple 的 Bambook,它首先需要做的就是摆脱那模仿的影子, 同时避免那些拙劣的推广手段 。
那么这样,才有它的未来。
-- EOF --
ssh 绝对不不仅仅是类似 telnet 这样远程登录管理主机那么简单。下面的些 技巧,或许可以激发起你对这个「老朋友」重新认识的兴趣。
有部分内容来自: http://derwiki.tumblr.com/post/841579929/how-i-learned-to-stop-worrying-and-love-ssh 。
直接运行远程脚本
ssh 其实可以直接指定运行远程主机的命令。例如,每次登录并查看线上的日志是件非常繁琐的累活。其实你可以使用下面的命令
ssh user@remotehost "taif -f /var/log/apache/access.log"
它会 ssh 登录以后直接执行指定的命令。这样我们可以构建本地脚本让其接受远程服务器的输出,做更多的事情。
压缩传送文件和目录
有时候不想开启 SFTP 工具传送文件,那么下面的命令会帮到你
tar cvfz - localFileOrDir | ssh user@remotehost 'cd /remote/path/to/unpack/ ; tar xvfz -'
这个命令可以自动将本地的文件或者目录打包压缩以后,通过 ssh 传输到 remotehost 主机,然后 remotehost 会自动将其解压缩。
自动登录 ssh
最后个 ssh 技巧,上面的技巧的确是很实用,但是我们也受不了每次都要输入次密码。如果你的确厌烦了这些,那么尝试执行下面的命令:
ssh user@remotehost 'cat >> ~/.ssh/authorized_keys' < ~/.ssh/id_rsa.pub
这样远程的主机就会保存你本地的公钥,你就可以自动 ssh 登录远程主机( 详细 )。
顺便提醒:强烈提醒您保护好您主目录下的 ssh 私钥,否则您的帐户可能会面临风险。
还有些有用的参数
-C 这个参数可以将文本数据压缩传送
-X 如果远程服务器支持 X11 forwarding ,那么远程的 X 应用直接可以在本地显示运行(当然你本地要有 X Server)
各位还有什么其它好用的 ssh tips,欢迎不吝指出。
-- EOF --
看见 PHP Arch 上重新提及 Fliter 模块 ,的确这个模块能节省我们不少的时间,这里再次整理下。
$GET 和 $POST 等用户提供的数据如果使用不当,如验证、过滤不全面,就很容易造成安全问题。通常情况下,我们会编写「一坨」正则来验证数据格式是否合法。
现在,有另外种方法让这过程变得更加的可靠和高效。
在 PHP5.2 中,内置了 Filter 模块 ,用于变量的验证和过滤。
过滤变量等操作可以 参看我原先提及的 ,这里我们看下如何直接过滤用户输入的内容。
Fliter 模块对应的 filter_input 函数使用起来非常的简单,例如我们过滤用户输入名为 sample 的 GET 参数为整型,那么可以这样写
filter_input(INPUT_GET, "sample", FILTER_SANITIZE_NUMBER_INT);
filterinput 的参数分别是用户输入类型、对应的输入名称、以及过滤(验证)常量。目前 filterinput 支持下面几种用户输入
INPUT_GET // 对应 $_GET
INPUT_POST // 对应 $_POST
INPUT_COOKIE // 对应 $_COOKIE
INPUT_SERVER // 对应 $_SERVER
INPUT_ENV // 对应 $_ENV
配合 内置提供的各种验证标记符 ,就可以解决类似的用户输入过滤等「体力活」。
最后,还是需要再提下 Filter 的个不大不小的陷阱
filter_var('abc', FILTER_VALIDATE_BOOLEAN); // bool(false)
filter_var('0', FILTER_VALIDATE_BOOLEAN); // bool(false)
总体而言,这并不影响我们去尝试它 :^)
-- EOF --
- «
- 1
- ...
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- ...
- 133
- »