摘要:def _getNoteSharedStatus(db,attId): list = _get(db,attId) if len(list) == 0: return Falsedef getFileHandler(db,attId,userId): try: list = _get(db,attId) if _getNoteSharedStatus(db,attId): handler = open( util.getFullPath(int(attId)) + "/" + attId, 'rb') ...
阅读全文
摘要:原文在这里 : http://blog.csdn.net/bxyz1203/article/details/7401205【概念】说到测试,最主要的是,检测代码是否满足特定的逻辑,检测代码是否满足业务的需求。测试还需要有一些附加特性,如:快速响应、可重复运行、可持续维护等。目前的测试基本可以分为:单元测试:检测代码片段的测试,基本是以代码结构为衡量,属于百盒测试。(白盒测试,貌似原作者笔误)集成测试:集成各个系统的各个模块,各个代码片段的,主要以业务为角度。属于黑盒测试。验收测试:主要是人工页面验证,用户演示,PD验证等,此主要是测试功能是否正确,以业务为出发点。一般是人工进行,比较难进行自动
阅读全文
摘要:http://woodpecker.org.cn/diveintopython3/serializing.html难度等级: ♦♦♦♦♢❝ Every Saturday since we’ve lived in this apartment, I have awakened at 6:15, poured myself a bowl of cereal, addeda quarter-cup of 2% milk, sat on this end of this couch, turned on BBC America, and watched Doctor Who. ❞— Sheldon,
阅读全文
摘要:开发环境 ubuntu 11.10 + gnome classic我们在GUI环境下使用的终端命令行窗口其实是gnome-terminal,可以通过输入该命令启动命令行窗口。它有一些用法$ gnome-terminal$ gnome-terminal --window #打开新窗口$ gnome-terminal --tab -- tab #打开一个命令行窗口,该窗口有两个选项卡$ gnome-terminal --tab --profile=Default #加载默认的配置文件,Defalt是默认配置文件关于配置文件gnome允许通过窗口菜单新建配置文件(文件/新建配置文件)和管理(编辑/配
阅读全文
摘要:主目录(/home/shujunli)下有一个文件夹叫"Aptana Studio 3"1)cd 命令可以用\转义空格$ cd /home/shujunli/Aptana\ Studio\ 32)假设该目录下有一个可执行文件就可以通过输入下面的命令执行:/home/shujunli/Aptana\ Studio\ 3/AptanaStudio33)可以拖拽该可执行文件的图标到任务栏,然后右击图标选择属性 [类型]具有GUI的程序可以输入选择"应用程序" 命令输入上面的命令,就可以从任务栏快速启动应用程序了
阅读全文
摘要:$ sudo apt-get install tuxtype启动(菜单):方式1: 应用程序/教育/Tux Typing方式2: shell窗口输入命令 tuxtype
阅读全文
摘要:在平常的代码中,我们常常需要与时间打交道。在Python中,与时间处理有关的模块就包括:time,datetime以及calendar。这篇文章,主要讲解time模块。在开始之前,首先要说明这几点:在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各个平台可能有所不同。UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。DST(Daylight Saving Time)即夏令时。时间戳(t
阅读全文
摘要:http://blog.163.com/taodengwen@126/blog/static/87199341201110295352451/SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。ReadUncommitted(读取未提交内容)在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(DirtyRead),如将MySQL调整到 这个级别,hibernate只要执行flush数据
阅读全文
摘要:原文地址http://www.cnblogs.com/zhizhesky/articles/2160873.html一、事务隔离级别ANSI/ISO SQL标准定义了4中事务隔离级别:未提交读(read uncommitted),提交读(read committed),重复读(repeatable read),串行读(serializable)。对于不同的事务,采用不同的隔离级别分别有不同的结果。不同的隔离级别有不同的现象。主要有下面3种现在:1、脏读(dirty read):一个事务可以读取另一个尚未提交事务的修改数据。2、非重复读(nonrepeatable read):在同一个事务中,同
阅读全文
摘要:#对象序列化import pickled={"a":"中国"}a=pickle.dumps(d,2)#序列化二进制print af=open("data","wb")f.write(a)f.close()#对象反序列化import picklef = open("data","rb")a=f.read()d=pickle.loads(a)print d['a']中文也需要被视为二进制数据,pickle.dumps(d,2)第2个参数取值范围是(0,1,2) 2
阅读全文
摘要:int pipe1[2];int r = pipe(pipe1);assert(r==0);//创建管道成功write(pipe1[1],&buffer,strlen(buffer));read(pipe1[0],&buffer,BUF_SIZ);close(pipe1[1]);管道操作与关闭检测默认情况下对于管道的读写操作是阻塞的,如果管道里没有数据可读,则read调用会被阻塞住直到有数据写入,而另一端日如果关闭了fd[1],则read才可以返回,返回值为0表示写入端已经被关闭,返回-1则表示当前的fd本身被关闭void readpipe(){ int r; for(;;)
阅读全文
摘要:什么是IO重定向?C语言里调用fprintf的时候可以向指定的fp(FILE *fp)写入数据,但是调用printf函数时确不需要指定任何FILE*,为什么?启动一个C程序时,调用环境自动建立3个FILE*(stdin,stdout,stderr),并关联相应的设备,而我们的scanf使用的就是stdin,printf使用的是stdout,但是这种关联在程序启动的时候是可以改变的,这就是IO重定向每个标准输入输出描述符都有自己的缓存,向他们的缓存块里写入数据,程序就可以调用相应的函数读取,例如getchar()可以从stdin的缓存块里读取一个字符#include <stdio.h>
阅读全文
摘要:fopen 模式属 性rwar+w+a+文件必须已存在YNNYNN文件内容将丢失NYNNYN允许从流读取(fread)YNNYYY允许写入到流(fwrite)NYYYYY从流的末尾写入NNYNNY任意定位(fseek)YYYYYN当操作的文件的文件是二进制文件的时候,流的模式可以指定符中添加字母b进行表示,b可以出现在+号的之前或之后 例如:rb,wb,a+b,ab+参考:《C语言参考手册》 p284,p285r+ ,w+,a+ 几种模式解析虽然r+,w+两种模式都是可以进行进行读写操作,但是w+打开文件的时候会清除掉文件内容,因此当需要对文件内容进行随机访问和读写的时候,坚决的不能使用这种模
阅读全文
摘要:void g(...);void f(...){g(...);}f("%s %d","hello",2011);//需求:函数g,f都支持可变参数,外部调用函数f,函数f把自己的参数传递给g #define FUNC(format,...) g(format,__VA_ARGS__)//方案1:将f实现为一个宏(但是这种方法不够灵活)void g(char ** format,va_list *args){ va_start(*args, *format); }void f(char *format, ...){ va_list args; g(&
阅读全文
摘要:printf其实就是使用了可变参数的函数,printf的原型定义为int printf(char *format,...);我们在使用printf的时候可以这样ptintf("hello");ptintf("%s ,today is % year","hello",2011);可变参数由调用函数动态的传递参数进被调函数(被调函数使用...声明自己支持可变参数),被调函数通过格式字符串来识别调用函数传递进来的参数个数和类型可变参数解析我们知道C程序函数调用的时候是遵循__stdcall,也就是调用者负责参数的压栈和清理,参数在栈上是按进
阅读全文
摘要:UNIX系统有一个设计哲学:一切皆文件,最初对这句话没啥体会,不知道他说的是啥,直到看到fdopen(),fileno()才发现原来在UNIX下任何文件描述符都可以和FILE类型做互相的转换,这个例子是本来是一个socket文件描述符,也可以调用fdopen()转换成为以个FILE流,然后通过fread,fwrite进行网络通信,原来UNIX用文件流这个概念屏蔽了不同设备(网卡/硬盘/CD)的差异,抽象读一个可写可读的流.windows部分支持这个特征,但前提是转换的HANDLE(Windows的文件描述符)是文件指针,这样可以通过fdopen转换成为FILE*否则fdopen里用于检查HAN
阅读全文
摘要:基本格式字符含义详解模式字符数据类型进制计数法备注%cchar--%schar*--%d,%iint10-%uunsigned int10-%ounsigned int8-%x,%Xunsigned int16-x,X的区别是数据中A-F的大小写的区别%fdouble10浮点12.34%e,%Edouble10指数1.234000e+001%g,%Gdouble10指数 OR 浮点取其中较短的一种计数法%a,%Adouble16指数Linux/gcc有定义%pvoid*--(C99) 等价于%08X,%#8x扩展格式字符含义模式字符可匹配模式说明数据类型%l?d,I,u,o,x,X 长整形lo
阅读全文
摘要:scanf的格式字符串远比printf简单:%[*][数据宽度]类型指定读取字节数(即数据宽度)char buffer[10];scanf("%9s",buffer);printf("%s\n",buffer);//最多读取9个字符(最后一个字节留着存储'\0')防止数组越界读取并扔掉若干字节scanf("%*6c");scanf("%c",&c);printf("%c\n",c);//输入"hello,world",跳过前6个字符,读取并打印w可以指
阅读全文
摘要:printf的格式字符串 : %[标记] [ [ * ] [数据宽度] ] [.精确度]类型+-0#最小宽度精确度类型显示符号左对齐(默认右对齐)数据前填0(右对齐时)8进制加016进制加0x10进制整数或者*号例如.2-Y--Y-c-Y--Y-sYYY-Y-d,i-YY-Y-u-YYYY-o-YYYY-xYYY-YYf,e,g,a-表示该类型不需要这个选项从上表看出只有数据宽度和对齐才是所有类型都支持的格式,指定宽度时默认右对齐只有在指定最小宽度时,我们才能使用-,0标志,这个时候的对齐和填充才有意义,实际上只要指定最小宽度,且数据不足这个宽度就一定会发生填充,以空白字符或者填充在数据前部或
阅读全文
摘要:#!/usr/bin/env python# -*- coding: utf-8 -*-import difflibfrom difflib import *def compare(stream1,stream2): lines1 = stream1.splitlines() lines2 = stream2.splitlines() result=list(Differ().compare(lines1,lines2)) print str(result)if __name__ == '__main__': s1="hello\nword\nwww\n"
阅读全文
摘要:第一版代码import webdef newFolder(db,folderName,userId,pFolderId=0,isLeaf=1,projectId=0): try: web.debug("person") if _isRootFolderOfPerson(pFolderId,projectId): return _createRootFolderOfPerson(db,folderName,userId,pFolderId,isLeaf,projectId) web.debug(...
阅读全文
摘要:从g9老大那里转载来的,原文见http://blog.csdn.net/g9yuayon/article/details/1215979------------------------------老文章了,但每次看都要发笑。干脆转过来,独乐乐不如众乐乐嘛。原文在这里。由头是有人抱怨SB面试问题,叫人写出一个文件拷贝函数。作者说,如果他被面试同样的问题,他会利用这个机会好好娱乐一把(下面Q是应试人,A是面试官):A:请写一个文件拷贝函数。Q:你说的“拷贝”是什么意思?A:嗯。。。。就是把一个文件的内容拷贝到新的文件Q:考不考虑日期/时间?A:不用,那些不用被拷贝。Q:目标文件可以和源文件同名么?
阅读全文
摘要:Ubuntu下可以直接在软件中心里搜索:dia,选择安装启动:在命令行里输入$ dia 或者 $ dia-normal这个工具和ps差不多,可以直接绘图,点击保存,可以保存这个是工作文件,通过导出可以导出成为PDF使用dia画出来的流程图
阅读全文
摘要:import timedef bigintToDateTime(d): return time.localtime(d)def dateTimeToBigint(d=None): if d==None: d=time.gmtime() return int(time.mktime(d))def stringToDateTime(s): return time.strptime(s, "%Y-%m-%d %H:%M:%S")def dateTimeToSting(d): if d==None: d=time.gmtime() ret...
阅读全文
摘要:重构前的代码 def newPrj(self,db,userId,prjName,password,privacy,intro='',status='active'): s = '' flag = False prjId=0 try: t = db.transaction() if privacy == 'public' and len(password) < 1: return '{"result":"error","message":"公开..
阅读全文
摘要:from sqlalchemy import *db=create_engine('mysql://root:dh6svp****@localhost:3306/tnv2?charset=utf8',encoding = "utf-8",echo =True)meta = MetaData(db)tab = Table("User",meta,autoload=True)s=tab.select()r = s.execute()row=r.fetchone()print row
阅读全文
摘要:需求:分析从富文本编辑器传递到服务端的HTML源码,从HTML源码里检索形如 <img src="attachment/100" /> 或者 <a href="attachment/101" > ... </a>的标签,替换成为<tn-media hash = " ... ">的内部标签存入数据库原方案:使用正则搜索替换上述标签,实际情况上还是比较容易出错的,因此考虑用DOM树节点分析节点代替正则搜索环境:python2.7 , webpy ,BeautifulSoup (DOM分析工具
阅读全文