1.到官方網(wǎng)站下載命令行sqlite3.exe
2.命令行下運(yùn)行sqlite3 數(shù)據(jù)庫(kù)名打開(kāi)數(shù)據(jù)庫(kù)
3.導(dǎo)入以 | 分割的csv數(shù)據(jù)的命令如下
.import "文件名" "表名"
注意要加引號(hào)
支持中文utf8
順便說(shuō)一下,速度很快,15萬(wàn)個(gè)詞條只要幾秒鐘(因?yàn)榧恿耸聞?wù):),自己理解吧)
JSON-RPC詳述
翻譯者:張沈鵬 zsp007@gmail.com
本文將告訴開(kāi)發(fā)者們?nèi)绾螌?shí)現(xiàn)JSON協(xié)議.
(現(xiàn)在正在審批JSON-RPC 1.1草案. )
= 概覽 =
JSON-RPC是一個(gè)輕量級(jí)的遠(yuǎn)程調(diào)用協(xié)議.它的設(shè)計(jì)理念是:簡(jiǎn)單!
數(shù)據(jù)通訊由兩部分組成.在一次連接的生命期內(nèi),一端將發(fā)出一個(gè)請(qǐng)求來(lái)調(diào)用另一端的函數(shù).另一端將回應(yīng)該請(qǐng)求,除非這個(gè)請(qǐng)求是一個(gè)公告.
== 請(qǐng)求(函數(shù)調(diào)用) ==
通過(guò)向一個(gè)遠(yuǎn)程服務(wù)器發(fā)送一個(gè)請(qǐng)求來(lái)調(diào)用一個(gè)遠(yuǎn)程函數(shù).該請(qǐng)求是一個(gè)用JSON進(jìn)行了編碼(序列化)的對(duì)象.
它有3個(gè)部分:
* 函數(shù)名
* 參數(shù)數(shù)組
* 標(biāo)識(shí)碼 - 請(qǐng)求的標(biāo)識(shí)碼是用來(lái)匹配它所對(duì)應(yīng)的回復(fù).
== 回復(fù) ==
當(dāng)調(diào)用請(qǐng)求結(jié)束時(shí),服務(wù)器將回復(fù)該請(qǐng)求.回復(fù)同樣是用JSON進(jìn)行了編碼的對(duì)象.
它有3個(gè)部分:
* 返回值 - 如果發(fā)生調(diào)用錯(cuò)誤它的值可能為空
* 錯(cuò)誤信息 - 如果沒(méi)錯(cuò)誤,它為空
* 標(biāo)識(shí)碼 - 和請(qǐng)求的標(biāo)識(shí)碼一致
== 公告 ==
公告是一種沒(méi)有回復(fù)的請(qǐng)求.同樣為用JSON編碼對(duì)象.
它的標(biāo)識(shí)碼為空,其他和普通請(qǐng)求一致.
= JSON-RPC 與傳輸方式無(wú)關(guān)的協(xié)議 =
本協(xié)議不限制你的使用的傳輸協(xié)議,不過(guò)推薦使用TCP/IP端口流(socket streams).被編碼了的請(qǐng)求和回復(fù)通過(guò)這種字節(jié)流傳輸.
請(qǐng)求和回復(fù)隨時(shí)可以發(fā)送給另一端.公告無(wú)需回復(fù),僅當(dāng)有請(qǐng)求時(shí)才發(fā)送回復(fù).
結(jié)束連接回導(dǎo)致未答復(fù)的端的異常.無(wú)效的請(qǐng)求和回復(fù)講關(guān)閉連接.
== HTTP中的JSON-RPC ==
進(jìn)行一些限制,便可以通過(guò)HTTP請(qǐng)求來(lái)進(jìn)行通訊.
Http客戶端和Http服務(wù)器端間可能有多個(gè)Http請(qǐng)求.一個(gè)客戶端可以通過(guò)一次包含多個(gè)JSON對(duì)象的HTTP POST進(jìn)行多個(gè)請(qǐng)求,公告,回復(fù).
服務(wù)器端必須回復(fù)所有的請(qǐng)求,同時(shí)可能發(fā)出新的請(qǐng)求或通知.客戶端也要再一次通過(guò)HTTP POST響應(yīng).
為了和服務(wù)器端再一次建立連接,客戶端可能需要主動(dòng)發(fā)送一次空的HTTP POST.
無(wú)效的請(qǐng)求會(huì)導(dǎo)致連接的關(guān)閉.無(wú)效的回復(fù)所有沒(méi)回復(fù)的客戶端的異常.關(guān)閉連接會(huì)導(dǎo)致所有沒(méi)回復(fù)的客戶端的異常.
= JSON Class演示 =
JSON中只定義了簡(jiǎn)單的數(shù)據(jù)類(lèi)型.為了彌補(bǔ)這些不足,JSON引進(jìn)了對(duì)象的屬性的定義.
{"__jsonclass__":["constructor", [param1,...]], "prop1":
...}
這個(gè)對(duì)象通過(guò)constructor的參數(shù)數(shù)組初始化,當(dāng)初始化完成后,會(huì)應(yīng)用它的屬性(prop1, ...).
= 通訊演示 =
--> 表示發(fā)送給服務(wù)器端的信息
<-- 服務(wù)器端的回應(yīng)
service.echo("Hello JSON-RPC")
--> { "method": "echo", "params": ["Hello JSON-RPC"], "id": 1}
<-- { "result": "Hello JSON-RPC", "error": null, "id": 1}
多重請(qǐng)求/回應(yīng)
本例展示了一次通訊的部分內(nèi)容,聊天的服務(wù)器發(fā)送給每個(gè)客戶端一個(gè)公告.客戶端通過(guò)請(qǐng)求向服務(wù)器端發(fā)送消息,通過(guò)服務(wù)器回復(fù)表示消息是否送到.
...
--> {"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 是一個(gè)的快速和輕巧的集成開(kāi)發(fā)環(huán)境(IDE)
http://geany.uvena.de
包括以下基本功能:語(yǔ)法高亮顯示,代碼折疊,代碼自動(dòng)補(bǔ)完,自動(dòng)補(bǔ)完經(jīng)常使用的結(jié)構(gòu)(如:if、 for、while 等),自動(dòng)補(bǔ)完 XML 和 HTML 標(biāo)記(tag),調(diào)用提示,支持 C、Java、PHP、HTML、Python、Perl、Pascal 等語(yǔ)言,符號(hào)列表等等。
另外,Geany 可以運(yùn)行在 Linux、FreeBSD、NetBSD、MacOS X 和 Windows 下。
注意
不是utf-8的中文文件打開(kāi)會(huì)有亂碼
默認(rèn)快捷鍵和中文輸入法的 Ctrl+空格 有沖突,修改一下
Tool -> Preferences -> Keybindings -> Complete word
的快捷鍵就可以了,我改為了Ctrl+`
用鼠標(biāo)就可以完成編譯,運(yùn)行文件,還有類(lèi)顯示等等,非常方便.
用來(lái)寫(xiě)代碼遠(yuǎn)比EditPlus , Ultraedit , VI 高效.
還等什么呢,打開(kāi) "新立得",單擊安裝吧.
幸福生活從今天開(kāi)始.
不用上網(wǎng),單機(jī)也可以用wiki寫(xiě)文檔
從
http://prdownloads.sourceforge.net/moin/
下載moin-desktop-1.5.5a-1
然后,用python運(yùn)行它就可以在本機(jī)運(yùn)行了,提供一個(gè)文章模板
#language:zh
#pragma section-numbers on
[[TableOfContents]]
= 一級(jí)標(biāo)題 =
== 二級(jí)標(biāo)題 ==
它還可以把文檔轉(zhuǎn)換為Docbook格式,配合以前我我提供的Docbook Css可以生成很漂亮的文檔
最近在ubuntu linux下混,可惜CppBlog下的FreeTextBox用firefox一打開(kāi)就假死,而TextBox又不支持文本轉(zhuǎn)html(主要是沒(méi)有加換行),于是就寫(xiě)了一個(gè)腳本.
在/usr/bin中新建一個(gè)快捷方式,名為txt2htm,然后在屬性中設(shè)為可執(zhí)行,就可以用了
用法如
txt2htm xxx.txt
為了方便起見(jiàn),大家可以新建一個(gè)后綴為txt的文件,點(diǎn)右鍵,選打開(kāi)方式,輸入命令txt2htm,然后確定,以后只要點(diǎn)點(diǎn)鼠標(biāo)選"以...打開(kāi)"就可以完成工作了.
windows下當(dāng)然也可以使用這個(gè)腳本,添加到右鍵的方法是按著shift點(diǎn)右鍵,選打開(kāi)方式.
--------------------------------------------------------------
#!/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轉(zhuǎn)換成功,保存在"+htmlName+'\n'
if len(sys.argv) < 2:
print "\n請(qǐng)指定要轉(zhuǎn)換為htm的文件\n"
else:
filename=sys.argv[1]
txt2htm(filename)
摘要: 轉(zhuǎn)載來(lái)源http://anku.kk.pingku.com/
BitTorrent 協(xié)議規(guī)范(BT協(xié)議集合)一
BitTorrent 是一種分發(fā)文件的協(xié)議。它通過(guò)URL來(lái)識(shí)別內(nèi)容,并且可以無(wú)縫的和web進(jìn)行交互。它基于HTTP協(xié)議,它的優(yōu)勢(shì)是:如果有多個(gè)下載者并發(fā)的下載同一個(gè)文件,那么,每個(gè)下載者也同時(shí)為其它下載者上傳文件,這樣,文件源可以支持大量的用戶進(jìn)行下載,而只帶來(lái)適當(dāng)?shù)?..
閱讀全文
Linux下的SVN圖形客戶端eSvn
第一使用Ubuntu Linux就喜歡上了它,于是我開(kāi)始了吻別windows的漫漫長(zhǎng)路.
windows下TortoiseSVN有著方便的圖形界面,linux我又怎能忍受那枯燥的命令行?
打開(kāi)“新立得”軟件包管理器,挖掘出eSvn,一款圖形化的svn管理器.
一路單擊,瞬間安裝。
新建圖標(biāo),命令為"esvn"(注意全小寫(xiě)).
run it , 只見(jiàn)其字體小如蚊蟲(chóng),為了"心靈的窗口",我沿著File->Options->Fonts一路狂奔.
一聲令下,通通調(diào)大.
注意,為了加快進(jìn)度,你只需要調(diào)整第一個(gè),下面的可以使用復(fù)制粘貼大法.
Now , it's time for job.
選擇一個(gè)工作目錄,然后checkout,其Local Path指定為當(dāng)前的工作目錄.
然后,我們等待,直到天荒地老....
一切剛剛開(kāi)始,預(yù)知后事如何,請(qǐng)聽(tīng)下回分解.
張沈鵬 zsp007@gmail.com
Linux下編譯帶sqlite3的python2.5.txt
= sqlite3的安裝 =
- http://www.sqlite.org/download.html下載Source Code的sqlite-3.3.8.tar.gz
-超級(jí)用戶,在解壓后的目錄下運(yùn)行
sh ./configure
make
make install
= python安裝 ==
- 下載python2.5源代碼
- 在控制臺(tái)下運(yùn)行"sh ./configure"生成make文件
- 運(yùn)行make,生成可執(zhí)行文件python
- 以root用戶運(yùn)行make install來(lái)安裝到/usr/local
- 現(xiàn)在可以到Django目錄下安裝Django了,方式" python setup.py install"
另外注意,我在fat32格式的分區(qū)上編譯似乎有問(wèn)題,建議在ext3的分區(qū)上編譯
ubuntu linux真的很好用,我裝得是xfce版的,運(yùn)行更快:)
不過(guò)有的地方還是要手動(dòng)修改配置,沒(méi)有win方便.
截圖一張,鑒真我正式進(jìn)入Linux家族