1.到官方网站下载命令行sqlite3.exe
2.命令行下运行sqlite3 数据库名打开数据库
3.导入以 | 分割的csv数据的命令如下
.import "文件名" "表名"
注意要加引号
支持中文utf8
顺便说一下,速度很快,15万个词条只要几秒钟(因为加了事务:),自己理解吧)
JSON-RPC详述
翻译者:张沈鹏 zsp007@gmail.com
本文将告诉开发者们如何实现JSON协议.
(现在正在审批JSON-RPC 1.1草案. )
= 概览 =
JSON-RPC是一个轻量级的远程调用协议.它的设计理念是:简单!
数据通讯由两部分组成.在一次连接的生命期内,一端将发出一个请求来调用另一端的函数.另一端将回应该请求,除非这个请求是一个公告.
== 请求(函数调用) ==
通过向一个远程服务器发送一个请求来调用一个远程函数.该请求是一个用JSON进行了编码(序列化)的对象.
它有3个部分:
* 函数名
* 参数数组
* 标识码 - 请求的标识码是用来匹配它所对应的回复.
== 回复 ==
当调用请求结束时,服务器将回复该请求.回复同样是用JSON进行了编码的对象.
它有3个部分:
* 返回值 - 如果发生调用错误它的值可能为空
* 错误信息 - 如果没错误,它为空
* 标识码 - 和请求的标识码一致
== 公告 ==
公告是一种没有回复的请求.同样为用JSON编码对象.
它的标识码为空,其他和普通请求一致.
= JSON-RPC 与传输方式无关的协议 =
本协议不限制你的使用的传输协议,不过推荐使用TCP/IP端口流(socket streams).被编码了的请求和回复通过这种字节流传输.
请求和回复随时可以发送给另一端.公告无需回复,仅当有请求时才发送回复.
结束连接回导致未答复的端的异常.无效的请求和回复讲关闭连接.
== HTTP中的JSON-RPC ==
进行一些限制,便可以通过HTTP请求来进行通讯.
Http客户端和Http服务器端间可能有多个Http请求.一个客户端可以通过一次包含多个JSON对象的HTTP POST进行多个请求,公告,回复.
服务器端必须回复所有的请求,同时可能发出新的请求或通知.客户端也要再一次通过HTTP POST响应.
为了和服务器端再一次建立连接,客户端可能需要主动发送一次空的HTTP POST.
无效的请求会导致连接的关闭.无效的回复所有没回复的客户端的异常.关闭连接会导致所有没回复的客户端的异常.
= JSON Class演示 =
JSON中只定义了简单的数据类型.为了弥补这些不足,JSON引进了对象的属性的定义.
{"__jsonclass__":["constructor", [param1,...]], "prop1":
...}
这个对象通过constructor的参数数组初始化,当初始化完成后,会应用它的属性(prop1, ...).
= 通讯演示 =
--> 表示发送给服务器端的信息
<-- 服务器端的回应
service.echo("Hello JSON-RPC")
--> { "method": "echo", "params": ["Hello JSON-RPC"], "id": 1}
<-- { "result": "Hello JSON-RPC", "error": null, "id": 1}
多重请求/回应
本例展示了一次通讯的部分内容,聊天的服务器发送给每个客户端一个公告.客户端通过请求向服务器端发送消息,通过服务器回复表示消息是否送到.
...
--> {"method": "postMessage", "params": ["Hello all!"], "id": 99}
<-- {"result": 1, "error": null, "id": 99}
<-- {"method": "handleMessage", "params": ["user1", "we were just talking"], "id": null}
<-- {"method": "handleMessage", "params": ["user3", "sorry, gotta go now, ttyl"], "id": null}
--> {"method": "postMessage", "params": ["I have a question:"], "id": 101}
<-- {"method": "userLeft", "params": ["user3"], "id": null}
<-- {"result": 1, "error": null, "id": 101}
...
ASPN Cookbooks
The ASPN Cookbooks are collections of solutions and practical examples. The recipes highlight programming best practices and can be used directly in day-to-day tasks, as a source of ideas, or as a way to learn more about the languages.
We invite you to contribute code, comments, and ratings for recipes in these Cookbooks. All contributions are reviewed by our Cookbook editors, ensuring a consistent level of quality. The recipes are freely available for review and use.
* PHP Cookbook
* Python Cookbook
* Rx Cookbook
* Tcl Cookbook
* XSLT Cookbook
http://aspn.activestate.com/ASPN/Cookbook/
Geany 是一个的快速和轻巧的集成开发环境(IDE)
http://geany.uvena.de
包括以下基本功能:语法高亮显示,代码折叠,代码自动补完,自动补完经常使用的结构(如:if、 for、while 等),自动补完 XML 和 HTML 标记(tag),调用提示,支持 C、Java、PHP、HTML、Python、Perl、Pascal 等语言,符号列表等等。
另外,Geany 可以运行在 Linux、FreeBSD、NetBSD、MacOS X 和 Windows 下。
注意
不是utf-8的中文文件打开会有乱码
默认快捷键和中文输入法的 Ctrl+空格 有冲突,修改一下
Tool -> Preferences -> Keybindings -> Complete word
的快捷键就可以了,我改为了Ctrl+`
用鼠标就可以完成编译,运行文件,还有类显示等等,非常方便.
用来写代码远比EditPlus , Ultraedit , VI 高效.
还等什么呢,打开 "新立得",单击安装吧.
幸福生活从今天开始.
不用上网,单机也可以用wiki写文档
从
http://prdownloads.sourceforge.net/moin/
下载moin-desktop-1.5.5a-1
然后,用python运行它就可以在本机运行了,提供一个文章模板
#language:zh
#pragma section-numbers on
[[TableOfContents]]
= 一级标题 =
== 二级标题 ==
它还可以把文档转换为Docbook格式,配合以前我我提供的Docbook Css可以生成很漂亮的文档
最近在ubuntu linux下混,可惜CppBlog下的FreeTextBox用firefox一打开就假死,而TextBox又不支持文本转html(主要是没有加换行),于是就写了一个脚本.
在/usr/bin中新建一个快捷方式,名为txt2htm,然后在属性中设为可执行,就可以用了
用法如
txt2htm xxx.txt
为了方便起见,大家可以新建一个后缀为txt的文件,点右键,选打开方式,输入命令txt2htm,然后确定,以后只要点点鼠标选"以...打开"就可以完成工作了.
windows下当然也可以使用这个脚本,添加到右键的方法是按着shift点右键,选打开方式.
--------------------------------------------------------------
#!/usr/local/bin/python
# -*-coding:UTF-8-*-
#txt2htm.py
#Author: 张沈鹏 zsp007@gmail.com
#Update: 2006-11-10 Beta0.2
import sys
import re
def htmlWrapper(content,tag,attr):
return "<"+tag+" "+attr+">"+content+"</"+tag+">"
def fontColorWrapper(content,color):
return htmlWrapper(content,'font','color="#'+color+'"')
def htmHighLight(line):
keywords=["
if","
then","
else","
def","
for","
in","
return","
import","
print","
unsigned","
long","
int",\
"
short","
include","
class","
void","
while","
const","
template"
]
for i
in keywords:
keywordMatcher=re.compile(r'\b'+i+r'\b')
line = keywordMatcher.sub(fontColorWrapper(i,'cf0000'), line)
return line
def txt2htm(txtName):
txt=open(txtName)
htmlName=filename+".html"
htm=open(htmlName,"w")
for line
in txt:
line=line\
.replace('&','&')\
.replace('<','<')\
.replace('® ','® ')\
.replace('"','"')\
.replace('©','©')\
.replace('™','™')\
.replace('<','<')\
.replace('\t'," ").\
replace(' ',' ')
line="<br/>"+htmHighLight(line)
print line
htm.write( line)
txt.close()
htm.close()
print "\n转换成功,保存在"+htmlName+'\n'
if len(sys.argv) < 2:
print "\n请指定要转换为htm的文件\n"
else:
filename=sys.argv[1]
txt2htm(filename)
摘要: 转载来源http://anku.kk.pingku.com/
BitTorrent 协议规范(BT协议集合)一
BitTorrent 是一种分发文件的协议。它通过URL来识别内容,并且可以无缝的和web进行交互。它基于HTTP协议,它的优势是:如果有多个下载者并发的下载同一个文件,那么,每个下载者也同时为其它下载者上传文件,这样,文件源可以支持大量的用户进行下载,而只带来适当的...
阅读全文
Linux下的SVN图形客户端eSvn
第一使用Ubuntu Linux就喜欢上了它,于是我开始了吻别windows的漫漫长路.
windows下TortoiseSVN有着方便的图形界面,linux我又怎能忍受那枯燥的命令行?
打开“新立得”软件包管理器,挖掘出eSvn,一款图形化的svn管理器.
一路单击,瞬间安装。
新建图标,命令为"esvn"(注意全小写).
run it , 只见其字体小如蚊虫,为了"心灵的窗口",我沿着File->Options->Fonts一路狂奔.
一声令下,通通调大.
注意,为了加快进度,你只需要调整第一个,下面的可以使用复制粘贴大法.
Now , it's time for job.
选择一个工作目录,然后checkout,其Local Path指定为当前的工作目录.
然后,我们等待,直到天荒地老....
一切刚刚开始,预知后事如何,请听下回分解.
张沈鹏 zsp007@gmail.com
Linux下编译带sqlite3的python2.5.txt
= sqlite3的安装 =
- http://www.sqlite.org/download.html下载Source Code的sqlite-3.3.8.tar.gz
-超级用户,在解压后的目录下运行
sh ./configure
make
make install
= python安装 ==
- 下载python2.5源代码
- 在控制台下运行"sh ./configure"生成make文件
- 运行make,生成可执行文件python
- 以root用户运行make install来安装到/usr/local
- 现在可以到Django目录下安装Django了,方式" python setup.py install"
另外注意,我在fat32格式的分区上编译似乎有问题,建议在ext3的分区上编译
ubuntu linux真的很好用,我装得是xfce版的,运行更快:)
不过有的地方还是要手动修改配置,没有win方便.
截图一张,鉴真我正式进入Linux家族