Building the Coming Soon

关于

HFLS aka the Akademia 12′, then NUST 16′, HKU 18′, now a Blue.

学习

Ubuntu通过PPA安装支持SPDY的Nginx服务器

02/17/2013

这个方法是Kaijia之前用到的,还是和大家分享一下。Nginx的负载能力非常强大并且很省内存,所以Kaijia在部署IMUNC广州分会Info Flow时选择了Nginx,同时为了加快访问速度,Kaijia也加上mod_spdy功能,但Google并没有发布mod_spdy的Nginx版本,于是Kaijia尝试将SPDY的PATCH编辑进Nginx中,发现很麻烦,于是Google了一下后找到了Chris Lea编译的“nginx-devel”PPA。

阅读更多

分离并独立使用CodeIgniter数据库和Active Record类

02/16/2013

作为CodeIgniter的特色功能,数据库类异常的强大,尤其是Active Record,这个数据库模式使得用PHP原生代码需要投入大量精力的工程只需写上一两行代码就可以解决。

之前Kaijia用CodeIgniter编写过几个网站,里面就大量使用了Active Record,这次Kaijia要编写的是一个简单的PHP命令行程序,但是要用到大量SQL脚本,于是考虑使用CodeIgniter的数据库功能。但是由于程序只有一个文件,却为了使用Active Record功能而加入了整个CodeIgniter框架,有点说不过去了。

阅读更多

PHP实现mac2unix、dos2unix文件格式转换

02/07/2013

今天尝试用PHP批量读取大量的CSV文件时遇到其中几个文件无法成功解析CSV标记的问题,后来集中一对比发现这些文件全部是有一个为Mac OS编写的、之后才兼容到Linux的程序导出的,这些文件全部是Mac OS Classic格式的。由于文件量很大,不可能实现手工转换,于是考虑向脚本中添加文件转换功能。

阅读更多

Linux版Chrome无法播放Flash问题解决

02/06/2013

Ubuntu下好久不用Chrome,今天用Firefox上人人看分享时遇到一个JS执行超时,整个浏览器都很卡,于是切换到Chrome下观看,结果遇到了Flash无法打开的问题。一开始Kaijia以为是偶然现象,重启了Chrome,打开凤凰网,发现也显示“无法载入插件”。

访问凤凰网显示Flash“无法载入插件。”

访问凤凰网显示Flash“无法载入插件。”

阅读更多

mod_pagespeed导致WordPress 3.5无法添加媒体问题解决

02/05/2013

WordPress 3.5中改进最明显的应该是媒体库,新的界面非常漂亮,但昨天Kaijia在写博客时意外发现WordPress添加媒体功能不可用,虽然点击添加媒体按钮,但总是弹不出对话框。

于是开始一个个调试,用了Firefox和Chrome都不行,但使用另外一个用Nginx驱动的WordPress后台则显示正常,于是考虑是否是插件出现问题,停用了几个最近启用的插件,发现仍然无效,于是无奈使用Chrome审查元素进行调试。

WordPress 3.5载入PageSpeed优化脚本时出现错误

WordPress 3.5载入PageSpeed优化脚本时出现错误

阅读更多

使用自定义字体优化XBMC 12界面

02/04/2013

XBMC 12 Frodo已经发布,Kaijia今天在Windows系统上升级了,结果升级后发现字体变得异常难看。

当然换句话来说就是XBMC终于在版本12中支持了中文了,大家都知道XBMC 11以及以前的版本都是不支持中文字体的,界面只能显示为英文,以前通用的解决方法便是将XBMC\media\Fonts\下的arial.ttf字体文件替换为中文字体文件,然后再在设置里将字体调整成“Arial”并且将语言设置成“Chinese simplified”。

更新后Kaijia发现原本替换的微软雅黑字体被类似于Ubuntu默认的中文字体替换了,而且放大的字体非常难看。于是Kaijia搜索了一下XBMC的安装目录,发现在XBMC\addons\skin.confluence\fonts\目录下出现了新的自带字体DejaVu SansRoboto,这便解释了为什么XBMC 12支持中文显示了,Confluence是XMBC 12的默认皮肤,由于它包含了这两个字体(其中DejaVu Sans有中文子集),因此它能够显示汉字,也正是因为这两个字体覆盖了Arial字体,导致了被我们换成arial.ttf的微软雅黑字体无法显示,最终显示的是DejaVu中的中文字体。

阅读更多

通过Linux系统Cron执行OwnCloud计划任务

02/02/2013

CRON的确是一个非常有用的功能,它有效减少了系统的负载,在将WordPress和StatusNet的任务计划都转换到Cron执行后,Kaijia决定将自己使用的OwnCloud也转换为Cron执行计划任务。

OwnCloud是一个开源的云储存方案,Kaijia在服务器上架构了一个OwnCloud云,充分利用多余的储存空间来储存一个代码的压缩包以便快捷部署。但与以往不同,OwnCloud的开发者文档比较少。关于任务计划,仅有管理页面->任务计划下的一行小字“Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute.”,由于并没有明确说明,所以Kaijia也只能在它的论坛中找资料,并在这篇讨论中获得了相关的信息。

阅读更多

iconv错误Detected an illegal character in input string问题解决

02/02/2013

在几天Kaijia还在改进@HFLS2012,新功能希望将旧版校网的数据整合到搜索中,在抓取旧版校网信息时遇到了一个问题。由于旧版校园网离现在已经10年多了,当时写的时候编码还是GB2312,但@HFLS2012编码是UTF-8所以需要将抓取到的内容转换为UTF-8字集。这个采集脚本是用php写的,在转换时Kaijia使用的是iconv函数,代码是:

程序写完后就去睡觉让它采集了,起来后发现遇到了很多PHP Notice错误“iconv(): Detected an illegal character in input string”,根据输出的日志回查发现报错的文章都没有采集完成,很多都在某个生僻字上中断。于是查询了一些资料,发现问题处在GB2312子集上,以下引用维基百科的解释

由于GB 2312-80只收录6763个汉字,有不少汉字,如部分在GB 2312-80推出以后才简化的汉字(如“啰”),部分人名用字(如中国前总理朱镕基的“镕”字),台湾及香港使用的繁体字,日语及朝鲜语汉字等,并未有收录在内。

阅读更多

Postfix避免向同一地址发送重复邮件方法

01/30/2013

很久没更新博客啦,将之前遇到的问题整理了一些写上来。

IMUNC使用邮件列表工作,信息交流效率很高,于是我将邮件列表体系引入了年级信息传递中。年级的邮件组建立之后邮件列表服务用的不错,但随之而来问题也出现了。

具体情况是这样的,A同学([email protected])在邮件列表([email protected])里,所有发送到邮件列表的邮件将会自动转发给邮件列表中的所有人(即A同学会收到转发自邮件列表的邮件)。现在我给A同学([email protected])发送了一封邮件,同时我将这封邮件抄送给了邮件列表([email protected]),这样A同学会同时收到两封相同的邮件,一封是我发给他的,另外一封是邮件列表([email protected])转发给他的。

阅读更多

WordPress Download Monitor下载文件名乱码问题简单规避方法

12/16/2012

WordPress Download Monitor插件存在上传或下载中文文件名乱码的问题已经存在了至少两三年,其间很多IT人联系过插件的原作者相关解决方案,但是直到今天插件作者仍然没有修复这个问题。

Kaijia在IMUNC.com中使用了WordPress Download Monitor,但由于最近上传文件的文件名一般都是“某某报名表.docx”,导致用户下载下来的文件都是“docx”,一般人无法打开就以为下载出错了。网上找了一些解决方案,都需要修改大量代码过于复杂,一旦插件更新都需要重头再修改一遍,于是想到了一个非常“Tricky”的规避办法。

阅读更多

较新文章
较旧文章
... 载入更多文章 ...

- 已经载入全部文章 -