I'm starting to provide Chinese / English versions of some posts, switch with the Language menu above. 我开始提供部分文章的中文、英文翻译,请使用顶部语言菜单切换。

PHP 网页的 HTML 压缩

<body id="wordpress-org" class="home blog"><div id="header"> <div class="wrapper"> <h1>[WordPress.org ](http://cn.wordpress.org/)</h1><h2 class="rosetta">[China &#31616;&#20307;&#20013;&#25991; ](http://cn.wordpress.org/)</h2> <div style="clear:both"></div><ul> <li><a href='/' title='&#39318;&#39029;' class="current">&#39318;&#39029; </a></li> <li><a href='http://zh-cn.forums.wordpress....

IPv4 与 IPv6 的互通

IPv4 是目前支持最广泛的网络协议,网内计算机以 IP 地址标记,理论总共能放 2322^{32}232 台(IPv4:8 个 16 进制位)网络设备,可惜现在已经用完了,真不知道各大 ISP 是怎样把有限的 IP 分给无限的计算机的。IPv6 则要 NB 的多,每个地址有 32 个 16 进制位,也就是 21282^{128}2128 台网络设备,在人类因为地球撑不住而挂掉之前,这些 IP 完全够用。这一协议被各大互联网公司推崇,包括 Google,DNSPod,等等。但是目前天朝好像只有大学里用 IPv6,普通百姓家只能用 IPv4。(吐槽:大学里也不完善,国外一般都是 IPv4v6 通吃,教育网内只有 v6)而现在 IPv6 资源也越来越多,所以在天朝 ISP 采取行动前,我们可以先通过软件辅助,让我们用上 IPv6。1.Miredo(Teredo) 篇Miredo 好像是一个开源组织搞出来的程序,用来实现 46 通,不过后来协议被微软借去了,写进 Win7,同时微软也顺带捐赠了一台服务器……Miredo 可以用来实现简单的 46 互通,...
插图

Ubuntu 安装 LRC 歌词显示插件和开启类 SRS WOW 音效

我的华硕笔记本原先 Windows 7 下的声卡驱动自带一个叫 ASUS Sonic Focus 的技术,原理就是通过对音频的均衡器调节做到心理学杜比环绕,也就是让人心理上以为声音是环绕声。开启 Sonic Focus 后,我觉得音效好多了。(我不是耳机党)但是在 Ubuntu 上,自然不会有 Sonic Focus,华硕才没空对付这样一个升级频繁的系统。Dolby 和 SRS 等也不会给 Linux 支持,所以开源社区有大神就写出了 Extra Stereo,用于替代这些功能。还有一个 Crystalizer,也就是增强高频声音响度让声音清澈动听,用过创新声卡和创新 X-Fi 的人应该知道。同时,在 Ubuntu 上听歌,没有歌词是最痛苦的。Rhythmbox 自带个什么歌词自动下载,结果我打开根本没用…… 没办法,自己去网上找吧。于是,我找到了 OSD Lyrics。OSD Lyrics is a lyrics show compatible with various media players. It is not a plugin but a standalone program. OSD Lyrics shows lyrics on your desktop,...

Bad Apple 移植到 Telnet 中并成功放映

今天折腾了半天,把 Bad Apple 折腾到了我 VPS 的 Telnet 里面,用的就是我早些时候发的命令行动画版。如果大家想看,telnet xuyh0120.tk 或 telnet 5.175.156.249Round 1. 移植到 SSH因为本来和同学说好我要在 SSH 下折腾出一个,所以就先用这个了。首先把 Bad Apple 传到 VPS 上,我存在 /opt/badapple。这个文件夹里两个文件:badapple 和 badapple.in(资源文件,我改过扩展名)。useradd badapplepasswd badapple# 密码我设的badapplesu badapple# 切换过去chsh# 输入/opt/badapple/badappleexitSSH 登录看效果,结果 Error 2,找不到资源文件。我就在本地重新编译一遍(VPS 上没 FPC),把路径从相对改成绝对,上传,再次登录,就成功出现了 Bad Apple 的动画。下一个要解决的问题是放完片子自动把用户 T 出去,我的一同学给我的建议居然是 pkill -9 sshd…… 这样效果不错,但是你对得起另外在看的人吗…… 不过我发现,片子放完,...

W3 Total Cache 实现内存缓存

W3 Total Cache 默认使用硬盘作为缓存,对于一些虚拟主机用户他们只能选择这个,但是对于 VPS 用户,他们的选择就大的多了,尤其是买到一些超售技术较好的 VPS 商(Host1Free?)硬盘速度稍微偏慢,就可以利用你多余的内存来做缓存了。我自己先后在 SAE、OpenShift、Host1Free VPS 上搭了 3 个 WP 测试站,在这三者中只有 VPS 可以 DIY,所以今天就对它开刀。(PS:SAE 的本地文件读写限制搞得 W3 Total Cache 连设置都保存不了)另外,一些 PHP Opcode 缓存软件(比如 Zend Optimizer(不是 Zend Guard),eAccelerator,XCache,APC 等)也被 W3TC 支持,可以作为另一种方式的内存缓存,当然速度会略慢。1. 安装 Memcache 服务端和 PHP 支持组件apt-get install memcached php5-memcached php5-memcache# 如果你用LNMP或LLsMP(FastCGI)执行这一行service php5-fpm restart# 如果你用LAMP或LLsMP(LiteSpeed SAPI)...

用证书验证 Linux 远程登录

一般人远程登录 Linux Shell 都是敲密码,烦不说,一旦你的密码在全世界都一样,再遇到 CSDN 600 万密码大泄漏的事件,你的 VPS 也差不多完了。所以我们可以用一种更加方便和安全的方式替代密码,也就是 RSA 加密的证书文件。首先,我们要生成一个证书。cd ~/.sshssh-keygen -t rsa这时你的.ssh 目录里应该多出来 id_rsa.pub 和 id_rsa,其中后一个文件保管好,是你的密码,前一个是你的公钥,可以全世界去发布。然后我们要设置一下我们的 VPS。首先用 FileZilla 或者 WinSCP 把你的 id_rsa.pub 上传到服务器的~/.ssh 里,并重命名为 authorized_keys,注意你想用哪个用户登录就 copy 到哪个用户的.ssh 下,比如用 root 登,就是 /root/.ssh,用 lantian 登就是 /home/lantian/.ssh。然后要在 OpenSSH 里做一点设置。cd /etc/sshnano sshd_config改下面的内容:...

缓存插件的正确使用方法

今天去 Blog @ Mr.Ducky 转,发现他首页上导航栏是 4 个,进了分页就是 6 个,一问他,是缓存出了问题……缓存插件 Bug 会对我们造成很大的困扰。所以我们一定要学会正确地使用缓存插件。1. 当你发了一篇新文章,你的网站首页就会更新,但是如果有缓存插件在,它不会管你的新文章,会将以前的首页返回回去,导致访客看不到最新的文章,所以你要及时清理缓存。当然 W3TC、WP Super Cache 等插件都支持自动清理。2. 当你对网站模板开刀,开完刀一定要记得清理缓存,否则你会死的很惨(据模板修改量而定)3. 随时检查你的网页各个分页的显示内容是否一致,尤其是导航栏、最新文章之类的地方,一旦不一致,你就要马上刷新缓存,否则可能会搞出更大的 Bug。4. 对于登陆用户和不登陆用户显示不同的页面,要做好判断,比如禁止登陆用户的缓存,甚至在极端情况下要禁止这一个页面的所有缓存。缓存插件的确能够很大地提升网站性能,但是如果配置不当,...

为什么香港 CDN 会比美国 CDN 慢

CDN,也就是内容分发服务,可以为你的网站在某个位置建立一个分站,其内容与你的原始站点相同。同时,这些分站还能保存你原有的一些静态资源,如 JS、CSS、图片,让你的网站访问更快。有时 CDN 还能优化某两地之间的网络状况。比方说,我的网站在 B 地,我(以及我的访客)在 A 地,从 A 地到 B 地的宽带需要经过 C 地,但是 C 地的宽带质量不好。这时,我 Ping 我的网站,就会出现不同程度的丢包,一旦数据包丢失,客户端只能等待一段时间,见服务器无响应,再次发包,会导致网站打开速度变慢。而此时,我使用了 D 地的 CDN,此时 CDN 就会绕过宽带不好的 C 地,丢包率明显降低,就可以提高网站的速度。A---->C(X)-->B 这种走法就会丢包| |+---->D------+ 这样绕过C地就能明显加速但是有时 CDN 会适得其反,比如原先访问网站经过 D,开启 CDN 后经过 C,就会导致减速。再举个极端的例子,比如我的网站在美国东海岸,我在西海岸,...

W3 Total Cache 末尾注释去除

W3 Total Cache 开了资源最小化的效果是非常好的,连 HTML 都给我最小化了,不信看看我的网页源代码,连换行符都被删掉了,最小化效果超级给力。但是末尾的地方,却有个 W3 Total Cache 加的注释。<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/Minified using disk: basicContent Delivery Network via xuyh0120.asiaServed from: xuyh0120.asia @ 2013-02-13 20:56:59 by W3 Total Cache -->对于我这种追求速度的人,这段东西不光让网页无端变大,最重要的是我想到有这个东西就烦。于是,我决定对 W3 Total Cache 开刀,把产生注释的这一段代码删掉。先到 Google 上查了一下,有人说在 w3-total-cache/lib/W3/Plugin/TotalCache.php 这个文件的 2000 多行的位置。结果我打开文件一看,整个文件才 800 行,哪来的 2000 行?继续搜,无果。只能我自己看看吧。于是我开始翻这个 php 文件,...

Ubuntu 环境下安装 VMware Workstation 9

话说 Ubuntu 软件源里的 VirtualBox 越来越不给力,原先至少还能安装,现在装都装不上。官方源的那个倒是能用,但是要拖下来一大堆 KDE 组件,等 VBox 装好了,KDE 也差不多了。然后我就决定去弄一个 VMware 玩玩。下载地址:http://download.pchome.net/system/sysenhance/download-10771.html下载下来是一个末尾是 bundle 的文件,这就是 VMware 的安装程序。但是直接执行是不行的,我们要先给它执行的权限。chmod +x VMware-Workstation-Full-9.0.0-812388.i386.bundlesudo ./VMware-Workstation-Full-9.0.0-812388.i386.bundle文件名记得自己改改。然后安装程序启动,是一个安装向导,一路 Next 就可以了。安装完了,可是还没完。打开 VMware 的快捷方式,马上给我弹出一个框:找不到你当前 Linux 内核对应的头文件,请手动指定目录……马上在命令行里一行 apt-get install linux-headers,提示已经安装了。我点了一下浏览,默认的目录是 /usr/src,...