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家族