确实,有一点时间没有跟新了,一是因为最近比较忙,二是因为最近所接触到的东西比较杂,都浮于表面,没有深沉的去研究。还是要稍微总结一下。

1. pil安装,很多时候,就是直接sudo easy_install pil. 这样的就会出现pil decoder jpeg not available这样的错误。做一下的操作

删除以前安装的pil

$ sudo aptitude install libjpeg libjpeg-dev
$ sudo aptitude install libfreetype6 libfreetype6-dev

$ python setup.py build_ext -i

$ sudo python setup.py install

2. django+nginx的配置。遇到的问题源于从网上copy了一段配置文件,导致没法post请求,REQUEST_METHOD,CONTENT_TYPE,CONTENT_LENGTH是进行post请求必须的,而PATH_INFO 也应该为$fastcgi_script_name。这里折腾了很长的时间,随便从网上copy会出现一堆问题的。

             fastcgi_param PATH_INFO $fastcgi_script_name; 
             fastcgi_param REQUEST_METHOD $request_method; 
             fastcgi_param QUERY_STRING $query_string; 
             fastcgi_param CONTENT_TYPE $content_type; 
             fastcgi_param CONTENT_LENGTH $content_length; 
             fastcgi_param REMOTE_ADDR $remote_addr; 
             fastcgi_param SERVER_PROTOCOL $server_protocol; 
             fastcgi_param SERVER_PORT $server_port; 
             fastcgi_param SERVER_NAME $server_name;

3. pymssql中文处理

conn = mod.connect(host="127.0.0.1:1433",user="sa",password="xx",database="xx"as_dict=True,charset="gbk")

千万不要把charset写进去,中文里面的编码水很深,这样会出现一些中文的字,标点符号转码不过来,之前用到charset="GB18038"也会有无法转码的错误。

最好的方式是:

读取内容,手动转码,用ignore模式。

4. xapian的ADJ不靠谱,有一个类似于模糊查询的需求,用到了ADJ(A ADJ/1 B ADJ/1 C,这样是查询ABC连续出现的情况),数据量大的时候,这个速度慢的惊人。

5. linux的任务计划。一个python脚本在终端里运行正常,放到任务计划里运行出错。我出现的问题也是编码问题,在python脚本中出现了

#coding=utf-8

a=u'中国'

这个在任务计划里无法执行,记得这个之前出现过这个问题,没有引起重视。改为

#coding=utf-8

a='中国'

在后面的需要转码的地方在转为unicode编码。

6. pymssql连接sqlserver的问题。sqlserver中nvarchar,ntext类型在pymssql种不支持,怎么办,好办cast(leadTitle as varchar) as leadTitle,这样就ok了。还有sqlserver中定义的nvarchar(255),那么必须cast(leadTitle as varchar(255)) as leadTitle,否则会把数据截断。

7. 在就是一些业余时间研究的东西,gevent,bottle,splunk,呵呵,自己都觉得跨度太大。新奇的东西自己都想去摸一下,但也是仅仅摸一下而已。需要改正这个毛病,如果觉得不太适合自己的胃口,了解即可,知道有这个东西就行,知道它是干什么的就行。觉得有必要,或者感兴趣的东西,深入研究一下。

8. 面对需求来的时候,我发现自己的心态有点不正常,要么把他看的太简单,就是看的太困难。这样非常不好,最好就会出现一个问题,其实它不是很难,但也不是很简单。需求,一定要清晰,一定要摆正好心态。

9. 想到了再补充。