2009年4月23日星期四

韩寒淘宝店的猜想


韩寒淘宝店的猜想


昨晚上参观了一下韩寒的淘宝店 http://shop57860513.taobao.com/,人气果然犀利。从他的公告上知道19号才开的店,昨天晚上看的时候还有三本书,现在我再逛的时候(现在是北京时间2009-04-24 13:30)就已经只有二本了,《三重门》只库存3本也将马上售完,《光荣日》好一点也只有42本了。以一本书准备了150左右计,估计也就这么五天的时间售出去1000-1500本之间,如果不是缺货的原因我想应该售出更多。

韩寒,确实牛!牛人就是牛人。

我想以他的性格与独特的想法,他的下一本书很可能自己包销了,反正也不差钱哦~~!

和出版社签个印刷合同,你们就好好把书印好得了。谁想卖都不行,我自己搞定,独家销售,保证正版,高兴了整个签名本。

(留字验证ING)


销售速度见图。

2009年4月15日星期三

YSlow评分

YSlow评分

75分,如图。其实还是有空间滴……

实际使用中发现YSlow的评分会有波动,好象每次都不大一样,不知道哪位达人能够指教一二?


2009年4月3日星期五

解决supermemo 2006 Q&A txt格式导入时中文不显示的问题











解决supermemo 2006 Q&A txt格式导入时中文不显示的问题

原始的Q&A 文件格式如下,导入sumpermemo后无法显示答案,经过与supermemo导出Q&A txt文件比较后发现,原来需要将中文部分转为unicode的内码格式,才能正常导入。这个就容易了,直接写个python小程序就搞定。

------ 无法显示答案的Q&A txt文件格式------
Q: what
A: 什么

------ supermemo导出Q&A txt文件格式 ------
Q: what
A: 什么


#######################
# python 代码
#######################
def getCode(cd):
    oCd = ord(cd)
    if oCd > 255 :
        return '&#%s;' % oCd
    else :
        return cd
    
if __name__ == "__main__":
    #不正确格式的Q&A txt文件
    f = open('c:/cet.txt','r')   
    #正确的可以导入的输出文件
    o = open('c:/smcet.txt', 'a')
    
    for line in f:
        o.write(''.join('%s' % getCode(c) for c in unicode(line)))
    
    f.close()
    o.close()


2009年4月1日星期三

vim中的查找替换一例

vim中的查找与替换一例

拿到一个单词表,想要将之导入到supermemo 2006中去。然而与supermemo 2006中的Q&A txt 格式不一样,所以需要处理一下。用程序当然就用python了,不过想试试vim是否能够搞定。

单词表格式如下:
…………
9.slip v. 滑动,滑落;忽略

10.slide v.
滑动,滑落 n. 滑动;滑面;幻灯片

11.bacteria n.
细菌

12.breed n.
种,品种 v. 繁殖,产仔

13.budget n.
预算 v. 编预算,作安排

14.candidate n.
候选人

15.campus n.
校园

16.liberal a.
慷慨的;丰富的;自由的

17.transform v.
转变,变革;变换

…………


supermemo中的Q&A txt格式如下:
…………
Q: slip
A
: v. 滑动,滑落;忽略

Q
: slide
A
: v. 滑动,滑落 n. 滑动;滑面;幻灯片
…………

1:先将单词复制到vim保存到一个文件
2:首先将单词与中文解释分成二行,第二行需要以A: 开始
命令模式下输入:%s/\(\l\) \(ad\|vt\|vi\|a\|n\|v\)\./\1\rA: \2\./g后得到如下
9.slip
A: v. 滑动,滑落;忽略
10.slide
A: v. 滑动,滑落 n. 滑动;滑面;幻灯片

3:将以数字开始的行,替换为以Q: 开始的行,并在前添加一空白行
命令模式下输入:%s/\d\+\./\rQ: /g后得到

Q: slip
A: v. 滑动,滑落;忽略

Q: slide
A: v. 滑动,滑落 n. 滑动;滑面;幻灯片

4:保存,此格式Q&A文件应该可以导入到supermemo中,作为一个单词库。
老夫试了一下发现单词都出来了,就是中文部分要不是乱码要不就是空白,说明文件格式是正确的,就是可能答案部分的编码不正确的原因,需要研究一个supermemo 2006的Q&A txt文件的格式。

替换命令如下


:[范围]s/from/to/[选项]


[范围]:


如果不输入,则为当前行。也可以是形如1,30表示1到20行。%表示全文搜索。.表示当前行。$表示最后一行。所以可以用.,$表示当前行到最后一行


[选项]:


g所有匹配项,c确认替换



from部分:


*    任意次匹配


\+    匹配一次以上


\=    匹配0次或一次


\{3,5} 匹配3到5次


\|    或者


\&    二个并列的同时匹配


\d    数字


\D    非数字


\x    十六进制数


\X    非十六进制数


\s    空白字符


\S    非空白字符


\l      小写字母


\L    非小写字母


\u    大写字母


\U    非大写字母


to部分:



反向引用\1...\9表示第一到第九个匹配的内容,\0整个匹配的内容

下面解释一下二个替换命令


:%s/\(\l\) \(ad\|vt\|vi\|a\|n\|v\)\./\1\rA: \2\./g
 1       2   ------------3---------   4 5      6   7
        --------8------------------ ------9---
1:%表示全局查找
7:g表示全部替换
2:一个小写字母
3:ad或者vt或vi或a或n或v
8:表示查找【小写字母+空格+ad.或者vt.或vi.或a.或n.或v.】
4:第一个匹配内容即2
5:换行
6:第二个匹配内容即3
9:表示替换为【匹配的小写字母+换行+A:+空格+匹配的ad.或者vt.或vi.或a.或n.或v.】
如:
9.slip v.
滑动,滑落;忽略
替换为

9.slip
A: v. 滑动,滑落;忽略

:%s/\d\+\./\rQ: /g
 1    -2--- -3---
1:%表示全局查找
2:表示查找以一个以上数字+.
3:表示替换为换行+Q:空格
如:
9.slip
替换成

Q: slip