2013-10-01

天涯 . 明月 . 刀 – 十月出鞘

天涯明月刀

2012-10-15

架设wordpress站点注意事项

wordpress现在进化到了4.x版本,易用性和本地化方面已经做的非常好了,但是毕竟还是舶来品,在我天朝上国之中使用,还是需要做一些本地化的改造。

开个帖子,把架设站点过程中遇到的问题记录下来,也可以给大家一个参考(如果这个小站还有人会关注的话~)

一、googleapis.com无法访问造成页面加载速度很慢问题

安装完wordpress之后,发现刷新页面访问速度非常慢,用live http header跟踪之后发现,页面加载卡在了一系列对于ajax.googleapis.com以及font.googleapis.com的访问上面。

仔细查看了下代码,对于ajax.googleapis.com的访问主要是托管了jquery等通用库,font.googleapis.com则是在线的字体库。

解决方案有两个,一个是禁用对于googleapis.com的访问,都改为本地资源,但是这不是我们希望看到的,毕竟这回消耗额外的流量,对于wp代码的改动也并不优雅。

还有一个解决方案是使用国内的镜像资源替换掉googleapis.com。

搜索了一下,360提供的libs.useso.com是比较好的替代镜像。

接下来要做的工作就简单了,用sed或者直接用vim打开wp-includes/script-loader.php,将其中所有的googleapis.com替换为useso.com,然后重新刷新页面,就可以看到加载明显变快了!

注意一些主题也可能会用到googleapis.com的资源,这些主题中对应的代码也需要替换掉。

二、gravatar.com访问问题

wordpress使用了gravator作为头像服务,但是你懂的,只要带g的在墙内都用不上…

解决方法很简单,在wordpress面板的设置->讨论中找到 “显示头像”的checkbox,将默认选中的反选即可。

目前遇到的问题就是这两个,后续有发现继续再补充~

 

 

2012-09-28

Todo List

理想:

4669267_1348834270t

现实:

4669267_1348836235j

 

2012-08-31

debian @ x210i 安装笔记

家里现在有两台thinkpad,一台是我的服役5年,状态尚好的T60,另外一台是老婆毕业后新买的x201i。x201i轻巧便携,但无奈屏幕太小,和T60的高分辨率方屏一比,是在是木有太多吸引力。老婆有时在家加班,也霸占着我的T60,x210i基本就闲下来了。

家里有一台电脑闲着,而且是x系 列的thinkpad,我的心思不由得开始活络起来了 🙂

说服了老婆之后,就开始忙活起来了,换硬盘,导数据,下映像,刻盘。没错,我要把小i改造成我的linux工作站,发行版嘛,自然是Debian莫属啦。下面把安装配置过程记录如下自己备忘

一、安装

1、net install on wifi 问题

安装debian,最方便自由的方式,还是选择netinst镜像。但是如此一来的话,需要在安装过程中就有网络的支持。

debian 从squeeze开始支持在net install的过程中使用wifi来连接网络,但是在安装前,首先要解决驱动问题:x210i使用的intel的wifi芯片,是没有开源的实现的。因此讲究纯净的debian在安装光盘中并没有附带其驱动,需要额外下载。

其实debian已经在其apt源中添加了上述驱动包,可以到这里下载:

http://packages.debian.org/sid/all/firmware-iwlwifi/download

下载完成后,使用7-zip将deb包解压,得到下面这些文件:

/lib/firmware/iwlwifi-1000-3.ucode
/lib/firmware/iwlwifi-3945-1.ucode
/lib/firmware/iwlwifi-3945-2.ucode
/lib/firmware/iwlwifi-4965-1.ucode
/lib/firmware/iwlwifi-4965-2.ucode
/lib/firmware/iwlwifi-5000-1.ucode
/lib/firmware/iwlwifi-5000-2.ucode
/lib/firmware/iwlwifi-5150-2.ucode
/lib/firmware/iwlwifi-6000-4.ucode
/lib/firmware/iwlwifi-6000g2a-5.ucode
/lib/firmware/iwlwifi-6000g2b-5.ucode
/lib/firmware/iwlwifi-6050-4.ucode
/lib/firmware/iwlwifi-6050-5.ucode

准备一个u盘(注意要是fat 32格式的,ntfs格式的貌似不会被识别,将上面这些文件拷贝至u盘根目录下。当安装界面提示需要第三方媒介提供iwlwifi*等文件的时候,插入u盘,安装程序会自动搜索并安装网卡驱动。

(更多…)

2012-04-16

someday, you will miss today

总有一天,你会怀念今天

2012-03-27

春意已盎然

玉兰花开,风卷云舒,春意已盎然

4669267_1332830685e

4669267_13328306938

2012-03-26

The “dollar” in awk

首先贴一个简单的awk命令,猜一下,这个命令执行之后的输出会是什么?

$ echo "" | awk '{OFS=","; $x = 1; $y = 1; $y = $x; $y += 1; print $x, $y;}'

理想中,输出应该是这个样子的:

1,2

但现实中,却是这个样子的:

2,2

这是怎么回事?难道awk的赋值不是值传递(assignment by value),而是引用传递(assigned by reference)?困惑了好久,先RTFM后STFW两招杀手锏下来也毫无结果,人家压根就没提awk还有值传递和引用传递的区别 T_T

盯着这个表达式看了好久,忽然恍然大悟,awk和php还有bash是不一样的,变量前面不需要加”$”引用,把”$”去掉后,一切正常:

$ echo "" | awk '{OFS=","; x = 1; y = 1; y = x; y += 1; print x, y;}' 
1,2

那,加上”$”之后原本的变量的意义又变成什么了呢?为什么有这样看起来像引用传递的结果?

原来在awk中,”$”表示对字段(Field)的引用,诸如$0表示整条记录(Record),$1表示记录中的第一个字段,$2表示第二个,以此类推下去。当然,awk允许非常量类型的字段引用。$n也是可以的,如果n=1,则$n == $1

至此,再来看本文第一个例子,其实可以翻译如下:

$ echo "" | awk '{OFS=","; $0 = 1; $0 = 1; $0 = $0; $0 += 1; print $0, $0;}' 
2,2

在脚本执行期间,x与y的值一直都是未初始化的0,因此,对于$x, $y的操作都是对$0的操作,所以看起来就像是引用一样。

终于搞明白了,可以松口气了,但是花费了近两个小时的时间。

吐槽这些语言语法混杂容易搞混之余,也只能怪自己学艺不精犯下此等低级错误 =。= 记录在此,以敬效尤

2012-03-21

reboot

毕业已近两年,期间各有得失,但是失去的时光再也回不来了,怀念已多无意义,从今天开始,reboot & reload,重装上阵

2009-07-09

彩虹@哈尔滨

12471386430

12471384520

12471387610

2009-05-02

构建Linux下的函数库编译方案

就快离开学校了,最近打算把大学这几年积累下来的代码重构一下,写成类似于ACE那种形式的C++代码库,方便调用。也算是留给学弟学妹们的礼物。

在整理过程中遇到许多问题,感觉都颇有启发性。尤其是构建编译方案的过程,几乎让我重新学习和认识了make工具,收益匪浅。下面就把这个过程和盘托出,权当笔记,也希望对大家有用。

一:初始编译方案:

目录树:

|-- Makefile
|-- README
|-- doc
|   |-- CHANGES
|   |-- COPYING
|   |-- CREDITS
|   |-- INSTALL
|   `-- TODO
|-- inc
|   |-- Exception.h
|   |-- HashTable.h
|   |-- MessageQueue.h
|   |-- Mutex.h
|   `-- Semaphore.h
|-- lib
|-- mks
|   `-- linux.mk
|-- obj
|-- sample
`-- src
    |-- Exception.cpp
    |-- HashTable.tpl
    |-- MessageQueue.cpp
    |-- Mutex.cpp
    `-- Semaphore.cpp

(更多…)