Browsed by
Category: 杂文

随便记点什么

修改MySQL表中字段的缺省值

修改MySQL表中字段的缺省值

网上搜了一下,居然有推荐“先删除字段,再重新添加字段”的做法。如果该字段原来有一些非缺省值的记录,岂不是就丢失了吗? 这真是一点都没有爱啊。

比较有爱的做法是:使用MySQL提供的alter table语句对字段直接进行修改。

例如对tbl_local_users表中的moMaxCalls字段修改缺省值为1,可以采用以下语句:

alter table tbl_local_users alter moMaxCalls int default 1;

如果需要修改字段的类型或者变动位置,则需要用“change column”,例如:

alter table tbl_local_users change moMaxCalls int default 1 after emailAddr;

Chrome为什么会快些?

Chrome为什么会快些?

常见的理由是有一个强大的V8 javascript引擎。而最近在研究Ajax时,无意发现Chrome和IE在处理HTTP基础协议时,实际上也存在很大的差异,这些差异可以导致即使处理HTML/JS文件时,两者的处理速度也会很不一样。

测试时采用Apache 2.2.20(Ubuntu)作HTTP服务器。

在Apache中设置Cache-Control,指定no-cache,我们来看看Chrome和IE会怎么处理。

Chrome发送GET请求,包含If-None-Match以及If-Modified-Since等重要参数。Apache比较对应的ETag以及Last-Modified,发现文件没有改变,因此仅返回”304 Not Modified”。可见,Chrome直接使用了自己Cache的内容,并没有理会no-cache指示。

而IE呢?IE理会了no-cache指示,因此在GET请求中,老老实实地抹掉了If-None-Match以及If-Modified-Since参数,Apache返回200OK并重新携带请求的内容,IE重新处理返回的内容。

从对no-cache参数的字面理解看,IE的处理是正确的,而Chrome显得比较奸诈。

对于某些情况,我们确实需要强制浏览器端重新获取内容(尤其是对javascript文件),此时在Apache中不仅要设置no-cache,还必须设置no-store。

同时设置no-cache和no-store后,IE/Chrome都会向Apache重新请求内容,并刷新本地内容。

Kubuntu/Ubuntu中查看十六进制文件

Kubuntu/Ubuntu中查看十六进制文件

在windows中我们可以安装HxD来查看十六进制文件的内容,在Linux下,更简单,直接使用hexdump命令即可。

例如,我们想查看sysTbl.dat文件的内容,可以使用以下命令

hexdump sysTbl.dat -C

 

如何使用jQuery获取radio类型的值

如何使用jQuery获取radio类型的值

在HTML编程中,经常使用radio类型的<input>作为输入选项,例如:

<tr>
    <td>System audio</td>
    <td><input type="radio" name="annID" id="annID_AA" value="0a080001" checked /> Automatic attendant </td>
</tr>
<tr>
   <td></td>
   <td><input type="radio" name="annID" id="annID_VM" value="02080004" /> Voice-mail greeting voice</td>
</tr>

我们可以通过id来获取对象,但是这种情况下,需要循环判断属性是否checked。

在上述例子中,radio具有同一个name属性,因此我们可以通过name来获取被checked的radio的值,采用jQuery实现则非常简单:

$("input:checked[name='annID']").val()
一路向北

一路向北

这个不是周董的歌,而是一段广告词,相当有才:

出发,

无所谓先后,

一路向北;

登顶,

无所谓高低,

一路向北;

探寻,

无所谓昼夜,

一路向北!

kubuntu 11.10初体验

kubuntu 11.10初体验

怀着对KDE不可名状的留恋,在得知最新的kubuntu发布后,又忍不住下载下来安装试试。由于没有单独的计算机安装,又不想在虚拟机里体验,因此利用了以前一个旧的移动硬盘进行安装。

从这两三天的体验情况看,kubuntu11.10比以前又有了很不错的进步,以前几个让人烦恼的问题都已经解决了,当然也有新的烦恼产生。

主要进步在于:

(1)界面比以前有优化,感觉比较流畅。在开始菜单中的有个细节改进估计是参考了Mint的实现,即进入多级菜单后,不是在左边用丑陋的箭头回退,而是在上方类似页面导航一样列出菜单的级别,回退非常方便,也很美观。

(2)Network management有很大的进步。以前的NM经常有各种各样诡异的问题,例如VPN无法断开、无线无法登录等等,这些问题都解决了。老实说,以前放弃使用KDE的一个重要原因就是这个NM造成的。现在体验还不错。

(3)默认安装LibreOffice套件而不是让人极度不爽的Koffice。以前的Kubuntu似乎也是采用OpenOffice作为缺省套件,不过其他的KDE发行版本似乎还是保留了Koffice,实在没有必要,除非Koffice能有突破性创新。

当然,新版Kubuntu也有问题:

(1)ibus的问题。这实在是没有想到,因为以前试过的所有kubuntu似乎都没有这个问题。即ibus启动后,能输入中文,但是看不到单词候选小窗口,也无法进行选择,这基本上就不能用!而且将ibus添加到自动启动后,系统启动及其慢,而且启动后,系统运行各项程序都很慢!将ibus删除后,就没有什么问题。最后不得不换上了fcitx(当然,现在发现fcitx输入法也相当不错)。

(2)CPU占用会突然占用100%,时间不长,但是会影响到程序运行,有明显的迟滞感。不知道是什么原因,感觉以前的版本没有这个问题。以前的感觉是一直很慢:-)

总体上感觉似乎可以将kubuntu作为稳定的工作环境继续尝试下去,而且对比之下,ubuntu11.10的Unity实在让人难以适应(而且速度比10.04版本差太远了)。

Ubuntu中添加一个新用户

Ubuntu中添加一个新用户

Ubuntu中添加一个新用户时不会自动创建用户的主目录,需要在命令中指定,例如:

sudo useradd -d /home/yxh -m yxh

其中,-m就是要求Ubuntu创建目录。

创建完目录后,可以使用passwd设置用户密码,例如:

sudo passwd yxh

按照提示输入密码即可。

2011-11-02 update:

将一个现存的用户加入某个组,例如:将yxh加入www-data组

sudo usermod -a -G www-data yxh

察看用户的用户id以及组id信息命令:

id yxh
谁出卖了我们?

谁出卖了我们?

在现在的中国,出卖个人信息似乎是件司空见惯的事情,无论大小企业,只要拿到客户的联系资料,都会出于商业利益出卖自己的客户,基本上没有什么企业道德。一旦客户问责,都会信誓旦旦、道貌岸然,将责任推个一干二净。

比如说中国移动。

垃圾短信一直困扰移动客户,其中就包括我。我曾经投诉过,得到的回答是,移动不会透露客户信息,一定是我在别的什么地方透露给别的商家,最终泄漏出去了。

真的是这样吗? 我重新买了个神州行的号,开通后就一直在家放着,期间只拨打了几次自己的全球通号码确认通话等基本功能成功,同时也没有告诉任何别的什么人。按照中国移动的说法,这个号码应该收不到任何垃圾短信。可是,过了一个月,垃圾短信来了。

真不要脸啊!

wordpress中添加google analytics代码

wordpress中添加google analytics代码

GA是非常不错的跟踪工具,在WordPress中添加GA支持,有利于分析blog的质量和搜索情况,操作起来也非常简单:

进入WordPress的DashBoard后,点击 Appearance / Editor,选择footer.php进行编辑,将GA代码添加到</body>之前,保存修改即可。