Ubuntu 14.04 Final可以下载了

等了一天,以为会跳票呢

结果考虑到时间问题 还是按时发布了

从官方下载吧

之前的版本可能是daily build哦

地址:

http://www.ubuntu.com/download/desktop/

用JQuery做一个Ajax星星评分功能

这篇文章是利用Jquery,json实现Ajax星星评分功能的手记,可以参考,请勿当作教程对待。
首先,在我们的django中定义了一个名为rater的model


class rater(models.Model):
counts = models.IntegerField() #记录评分次数
score = models.FloatField() #记录分数

还有1个view和一个view中的函数


def rate_json(request,item_id): #该函数返回给定item的分数,评分次数,总分。通过url:/rate_json/item_id/访问
r = rater.objects.get(item__id=int(item_id))
data = {}
data['counts'] = i.counts
data['score_sum']= i.score*i.counts
data['score'] = r.score
return HttpResponse(json.dumps(data), content_type="application/json") #返回一个json格式数据


def rate_item(request,item_id,score): #处理用户提交分数。通过url:/rate_json/item_id/score/访问
score = int(score)
if (score<=5 and score>=0):
i = rater.objects.get(item__id=int(item_id))
score_sum = i.counts * i.counts
i.counts += 1
i.score = score_sum / i.counts
i.save()
return rate_json(request,item_id)

下面是Js和html部分。
我是不会js的 所以直接用别人的插件吧。
用这个叫做raty的插件,
它的页面很详细。
只需要在click:中用jquery的getJSON方法来操作各个html元素就OK了

Django多关键词搜索

1.import Q和operator

from django.db.models import Q
import operator

2.分割关键词
keys = key.split(' ')
condition = reduce(operator.and_, (Q(title__contains=x) for x in keys))

3.用condition作为过滤条件查询
item.objects.filter(condition)

Django多站点Per View Cache需加入key_prefix参数

今天在使用Django的缓存时发现一个问题,在对多个站点使用per view cached的时候,
site1.com的首页会和site2.com的首页发生混淆,访问site2.com的时候 可能会变成site1.com
从uwsgi supervisor几个地方找了很久也没找到问题在哪里
最后确定问题出现在缓存上
由于使用的是同一个virtualenv下的Django,所以应该是memcached key的问题
最开始在Django的文档上找到要在settings.py中设置CACHE_MIDDLEWARE_KEY_PREFIX变量
但那只对per site cached起作用 对per site cached会报错
之后又看到了per view cache 的key_prefix参数,需添加这个参数 才不会引起缓存冲突
如:
@cache_page(60 * 15, key_prefix="site1")
def my_view(request):
...

入手罗技MK240,接收器太大了。


由于笔记本键盘坏了 所以想买个外置无线键盘。
为了方便携带 入手了罗技MK240,非常小巧。还没有笔记本自带的键盘大。
不过接收器实在太大了, 跟U盘大小差不多了,目测有之前雷柏接收器的6倍大啊。

用Linux Shell从网址列表里面提取域名

一次在某BBS上遇到有人问,怎么把一个网址列表中的域名提取出来。
网址列表形式为
http://x.xxx.xx/xxx/xx
其中有上千条数据 但是很多网址的域名是重复的,如http://a.bcd.com/1 ; http://a.bcd.com/2等等。
用linux下的sort 和 uniq,可以快速解决这个问题。
如网址列表为in.txt 我们要输出结果到out.txt可以使用如下的命令
cut -d '/' in.txt -f 3 | sort | uniq -c > out.txt
先用cut 将文件以”/”为分隔符切割 地区其中的第三列数据 ,也就是域名部分。
使用sort进行排序,将相同的域名排在一起
使用uniq把重复的域名去掉。参数-c的作用是对重复进行计数,并输出到结果中。
得到的结果:
cat out.txt
32 a.bcd.com
21 b.cde.com
………………

linux下批量转换文件编码

linux下转换GBK到UTF8 或者其他编码 反过来也行。代码水平很低 如果有问题 还请高手指出!

#! /bin/sh
for file in `find . -name "*.suffix"` #注释1
do
file $file | grep ENCODING > /dev/null #注释2
if [ $?=0 ]
then
iconv -f ENCODING -t TOENCODING $file > ${file}_out #注释3
fi
done

*
1.读取当前目录和子目录下 所有扩展名为.suffix的文件
2.检查当前文件编码 如果是ENCODING就执行下面的操作
3.把编码转换成TOENCODING并保存为原文件名_out(需要iconv)