Archive for May, 2009

英文Ubuntu安装中文输入法的安装配置

By Symphony - Last updated: Sunday, May 24, 2009

很多人还是喜欢用英文版的系统。原因各种各样啦,有的人是觉的英文描述事物更准确,有的是为了顺便学习点英文。但是作为中国人使用英文系统还是免不了要装和配置中文输入法的。这里介绍以下中文输入法的简单安装和配置,但是还是满实用的! 首先安装scim pinyin和im-switch apt-get install scim-pinyin im-switch 装完之后还不能用的,要配置一下,这一步很重要: vim /etc/X11/xinit/xinput.d/scim 将GTK_IM_MODULE=xim和QT_IM_MODULE=xim中的xim修改为scim 设置系统默认的输入法为scim update-alternatives –install /etc/X11/xinit/xinput.d/all_ALL xinput-all_ALL /etc/X11/xinit/xinput.d/scim 30 im-switch -s scim 重新登录,系统自动开启scim了。使用的时候ctrl+space即可。

适用于Ubuntu(含Debian)系的巨简单Apache虚拟主机配置

By Symphony - Last updated: Sunday, May 24, 2009

假设项目名是my_project,项目目录是/var/www/my_project,项目web访问目录是/var/www/my_project/web_root,虚拟主机域名是my-project.com。 首先在创建站点配置文件: cd /etc/apache2/sites-available touch my_project 编辑my_project: vim my_project 将以下内容填入 <VirtualHost *:80> ServerName my-project.com DocumentRoot /var/www/my_project/web_root </VirtualHost> 这么简单,站点就配置起来了!接下来激活站点 a2ensite my_project 加载站点: /etc/init.d/apache2 reload 最后修改hosts文件 vim /etc/hosts 加一句: 127.0.0.1 my-project.com 打开浏览器输入my-project.com就可访问 /var/www/my_project/web_root 了。

UTF8环境下ubuntu歌曲id3tag乱码

By Symphony - Last updated: Sunday, May 24, 2009

ubuntu经过这个多年的发展作为桌面系统已经非常好用了。不过其中文支持还是不够理想。例如下载的歌曲放到播放器时就有乱码的问题。这个问题是由于歌曲的id3tag是GBK编码。而系统读取的时候是当成UTF8编码读的,读出来当然是乱码。现在有个完美的解决方案就是将歌曲的id3tag编码转成UTF8的。 首先我们要安装python-mutagen这个包: aptitude install python-mutagen 然后切换到存放音乐的目录,执行转换: mid3iconv -e GBK *.mp3 这样所有音乐的id3tag都转成utf8的了!现在打开你的播放器,看看音乐列表已经正常显示中文了。;-)

cakephp的counterCache功能

By Symphony - Last updated: Saturday, May 23, 2009

场景:有两张表cabinet(机柜)表和server表。其中cabinet有一个字段叫server_count,用于记录有多少服务器在每个机柜上。 逻辑:每次添加或减少server,我们都需要手动更新server_count的值。通过counterCache,我们可以让cake代劳。只需要在定义我们的server model的时候加上 var $belongsTo = array( ‘Cabinet’ => array(‘counterCache’ => true) ); 如此,当我们新增或减少server,cake将自动的修改server_count的值。

那一夜……

By Symphony - Last updated: Thursday, May 21, 2009

5月18日晚间,突然无法上网。本能的ping各大网站,都不通…… 后来试着ping几台外网服务器ip地址。能ping通,而且反应很快。推断是DNS解析出现问题。不过ping dns ip地址也是通的。当时猜想DNS的解析服务应该坏了,嘲笑一下XX部被攻击。不过当时觉得应该是区域事件。没想到后来看到:工信部:近日断网祸起暴风影音 。呃……这……偶还是不说啥了……

用cakephp创建复杂查询

By Symphony - Last updated: Thursday, May 21, 2009

例如这样: $conditions['or'][] = array( “Group.group_name LIKE” => “%{$keyWord}%”); $conditions['or'][] = array( “Group.comment LIKE” => “%{$keyWord}%”); 这两个条件就是or的关系。当然可以再加一个and的数组。通过这种方式去创建复杂查询。

cakephp分页功能(paginator)

By Symphony - Last updated: Thursday, May 21, 2009

在controller里定义属性: var $paginate = array( ‘Group’ => array( ‘limit’ => 10 )); 在action抓数据的时候用: $groups = $this->paginate( ‘Group’, $conditions ); $this->set( ‘groups’, $groups ); 在需要用到分页的地方加上: <?php echo $this->renderElement(‘pagination’); ?> 然后cake会去找pagination.ctp这个element的。贴一下我的分页: <form action=”<?php echo preg_replace(‘/page:(\d+)/’, ”, $paginator->url()); ?>”> <table width=”95%” border=”0″ align=”center” cellpadding=”8″ cellspacing=”0″> <tr> <td width=”65%” colspan=”7″ align=”center” bgcolor=”#FFFFFF” style=”font-size:14px;”> 当前页<span class=”font_orange”><?php echo  $paginator->current(); ?></span> 总页数<span [...]

国产无人机呃……

By Symphony - Last updated: Wednesday, May 20, 2009

这东西怎么觉得有点山寨飞碟的味道呢……