1.到官方网站下载命令行sqlite3.exe

2.命令行下运行sqlite3 数据库名打开数据库

3.导入以 | 分割的csv数据的命令如下

.import "文件名" "表名"

注意要加引号

支持中文utf8

顺便说一下,速度很快,15万个词条只要几秒钟(因为加了事务:),自己理解吧)

posted @ 2006-12-08 20:29 张沈鹏 阅读(1030) | 评论 (0)编辑 收藏
 

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}

...
posted @ 2006-11-26 22:58 张沈鹏 阅读(2235) | 评论 (3)编辑 收藏
 
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/



posted @ 2006-11-13 08:54 张沈鹏 阅读(349) | 评论 (0)编辑 收藏
 
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 高效.

还等什么呢,打开 "新立得",单击安装吧.
幸福生活从今天开始.
posted @ 2006-11-10 14:11 张沈鹏 阅读(1421) | 评论 (2)编辑 收藏
 
不用上网,单机也可以用wiki写文档



http://prdownloads.sourceforge.net/moin/

下载moin-desktop-1.5.5a-1

然后,用python运行它就可以在本机运行了,提供一个文章模板

#language:zh
#pragma section-numbers on
[[TableOfContents]]
= 一级标题 =
== 二级标题 ==


它还可以把文档转换为Docbook格式,配合以前我我提供的Docbook Css可以生成很漂亮的文档

posted @ 2006-11-10 11:21 张沈鹏 阅读(666) | 评论 (0)编辑 收藏
 

最近在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('&','&amp;')\
            .replace('<','&lt;')\
            .replace('® ','&reg; ')\
            .replace('"','&quot;')\
            .replace('©','&copy;')\
            .replace('™','&trade;')\
            .replace('<','&lt;')\
            .replace('\t',"    ").\
            replace(' ','&nbsp;')

        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)
posted @ 2006-11-08 12:41 张沈鹏 阅读(1382) | 评论 (0)编辑 收藏
 
     摘要: 转载来源http://anku.kk.pingku.com/ BitTorrent 协议规范(BT协议集合)一 BitTorrent 是一种分发文件的协议。它通过URL来识别内容,并且可以无缝的和web进行交互。它基于HTTP协议,它的优势是:如果有多个下载者并发的下载同一个文件,那么,每个下载者也同时为其它下载者上传文件,这样,文件源可以支持大量的用户进行下载,而只带来适当的...  阅读全文
posted @ 2006-11-08 11:54 张沈鹏 阅读(1337) | 评论 (0)编辑 收藏
 
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
posted @ 2006-11-06 14:16 张沈鹏 阅读(2162) | 评论 (1)编辑 收藏
 
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的分区上编译
posted @ 2006-11-04 16:47 张沈鹏 阅读(429) | 评论 (0)编辑 收藏
 

ubuntu linux真的很好用,我装得是xfce版的,运行更快:)
不过有的地方还是要手动修改配置,没有win方便.
截图一张,鉴真我正式进入Linux家族
posted @ 2006-10-31 21:23 张沈鹏 阅读(323) | 评论 (2)编辑 收藏
仅列出标题
共7页: 1 2 3 4 5 6 7