By minitia, on 十一月 28th, 2009, Category: C++ Programming, Programming
一、在GOF著作中对Singleton模式的实现方式如下:
/*解一*/ // Header file Singleton.h class Singleton { public: static Singleton *Instance(){ //1 if( !m_pInstatnce) //2 m_pInstance = new Singleton;//3 return m_pInstance; //4 } void DoSomething();private: static Singleton *m_pInstatnce=NULL; //5 private: Singleton(); //6 Singleton(const Singleton&); //7 Singleton& operator=(const Singleton&); //8 ~Singleton(); //9 }
Continue reading Singleton模式 - 全文阅读
By minitia, on 十一月 26th, 2009, Category: Python
最近时间比较多,想在以后的项目中应用python。今天做了一下测试。一个小工具的编写。工具的目的根据输入的key,在memcache中查找相应的value。并且对value做一些分析。Value是json格式。
首先下载python-memcached-1.40.tar.gz和python-cjson-1.0.5.tar.gz。然后安装。
安装方法很简单,也很标准。Tar xzf *.tar.gz 然后进入解压后的目录。最后Python setup.py install。这时memcache,json的python都已经可以用了。可在python命令行下测试import memcache, import cjson。如果一切正常说明安装成功。
Continue reading python的memcache和json模块 - 全文阅读
By minitia, on 十一月 26th, 2009, Category: Python
一开始是使用如下的代码: serverinfolist = ServerLog.objects.all()[0:1] paginator = Paginator(serverinfolist, PER_PAGE) # Show 25 contacts per page try: page = int(request.GET.get(’page’, ‘1′)) except ValueError: page = 1 try: contacts = paginator.page(page) #取到具体的每一页的内容及属性 except (EmptyPage, InvalidPage): contacts = paginator.page(paginator.num_pages) return render_to_response(’serverlinux/server_infos.html’, {”listobjects”: contacts,”flag”:True})
Continue reading Django实现大数据量分页查询 - 全文阅读
By minitia, on 十一月 24th, 2009, Category: Programming
1、何谓“持久化”
持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。
(在JAVA里面如果想要实现一个对象的持久化需要实现一个接口!)
2、何谓“持久层”
持久层(Persistence Layer),即专注于实现数据持久化应用领域的某个特定系统的一个逻辑层面,将数据使用者和数据实体相关联。
(使用者与数据实体这两个概念应当要如何去理解呢?
使用者:调用数据部分。一般是控制器层
数据实体:一般是存储到了关系数据库!
)
何谓“对象数据映射(ORM)”
ORM-Object/Relational Mapper,即“对象-关系型数据映射组件”。对于O/R,即 Object(对象)和 Relational(关系型数据),表示必须同时使用面向对象和关系型数据进行开发。
(编程:熟练掌握面向对象思想即面向对象 O
数据库:掌握关系型数据 两者结合就是实现 对象-关系 的映射!)
Continue reading ORM编程思想 - 全文阅读
By minitia, on 十一月 24th, 2009, Category: Python
我们先导入必须用到的一个module >>> import time 设置一个时间的格式,下面会用到 >>>ISOTIMEFORMAT=’%Y-%m-%d %X’ 看一下当前的时间,和其他很多语言相似这是从epoch(1970 年 1 月 1 日 00:00:00)开始到当前的秒数。 >>> time.time() 1180759620.859 上面的看不懂,换个格式来看看 >>> time.localtime() (2007, 6, 2, 12, 47, 7, 5, 153, 0) localtime返回tuple格式的时间,有一个和它类似的函数叫gmtime(),2个函数的差别是时区,gmtime()返回的是0时区的值,localtime返回的是当前时区的值。 >>> time.strftime( ISOTIMEFORMAT, time.localtime() ) ‘2007-06-02 12:54:29′ 用上我们的时间格式定义了,使用strftime对时间做一个转换,如果取现在的时间,time.localtime() 可以不用。
>>> time.strftime( ISOTIMEFORMAT, time.localtime( time.time() ) ) ‘2007-06-02 12:54:31′ >>> time.strftime( ISOTIMEFORMAT, time.gmtime( time.time() ) ) ‘2007-06-02 04:55:02′ 上面展示了gmtime和localtime的区别。 查看时区用 >>> time.timezone -28800 上面的值是一个秒值,是当前时区和0时区相差的描述,-28800=-8*3600,即为东八区。
帖几个简单的函数
def ISOString2Time( s ): ”’ convert a ISO format time to second from:2006-04-12 16:46:40 to:23123123 把一个时间转化为秒 ”’ return time.strptime( s, ISOTIMEFORMAT ) def Time2ISOString( s ): ”’ convert second to a ISO format time from: 23123123 to: 2006-04-12 16:46:40 把给定的秒转化为定义的格式 ”’ return time.strftime( ISOTIMEFORMAT, time.localtime( float( s ) ) ) def dateplustime( d, t ): ”’ d=2006-04-12 16:46:40 t=2小时 return 2006-04-12 18:46:40 计算一个日期相差多少秒的日期,time2sec是另外一个函数,可以处理,3天,13分钟,10小时等字符串,回头再来写这个,需要结合正则表达式。 ”’ return Time2ISOString( time.mktime( ISOString2Time( d ) )+time2sec( t ) ) def dateMinDate( d1, d2 ): ”’ minus to iso format date,return seconds 计算2个时间相差多少秒 ”’ d1=ISOString2Time( d1 ) d2=ISOString2Time( d2 ) return time.mktime( d1 )-time.mktime( d2 )
By minitia, on 十一月 24th, 2009, Category: Python
由于Django发展于快节奏的newsroom环境中,它被设计用来使通常的web开发更加快捷简单。以下是一个非正式的介绍:使用Django来写一个数据库驱动(database-driven)的web app。 本文意在给你足够的技术细节来懂得Django是如何工作的,而不是作为一个tutorial或reference–这些东西我们都有。当你准备开始一个项目时,你可以start with the tutorial或者dive right into more detailed documentation. Design your model虽然可以使用Django without a database, Django有一个对象关系映射器(object-relational mapper),通过它你得以在Python代码中描述你的数据库模型(database layout)这种数据-模型机制(data-model syntax)为表示你的数据模型提供了众多的方式—-so far, 它正用来解决会耗时两年(two years’ worth)的数据库模式(database-schema)问题。
Continue reading Django at a glance–Django初窥 - 全文阅读
By minitia, on 十一月 20th, 2009, Category: Python
Python中如果要使用线程的话,python的lib中提供了两种方式。一种是函数式,一种是用类来包装的线程对象。举两个简单的例子希望起到抛砖引
玉的作用,关于多线程编程的其他知识例如互斥、信号量、临界区等请参考python的文档及相关资料。
1、调用thread模块中的start_new_thread()函数来产生新的线程,请看代码:
### thread_example.py import time import thread def timer(no,interval): #自己写的线程函数 while True: print ‘Thread :(%d) Time:%s’%(no,time.ctime()) time.sleep(interval) def test(): thread.start_new_thread(timer,(1,1)) #使用thread.start_new_thread()来产生2个新的线程 thread.start_new_thread(timer,(2,3)) if __name__==’__main__’: test()
这个是 thread.start_new_thread(function,args[,kwargs]) 函数原型,其中function参数是你将要调用的线程函数;args是讲传递给你的线程函数的参数,他必须是个tuple类型;而kwargs是可选的参数。 线程的结束一般依靠线程函数的自然结束;也可以在线程函数中调用thread.exit(),他抛出SystemExit exception,达到退出线程的目的。
2、通过调用threading模块继承threading.Thread类来包装一个线程对象。请看代码
### threading_example.py import threading import time class timer(threading.Thread): #我的timer类继承自threading.Thread类 def __init__(self,no,interval): threading.Thread.__init__(self) #在我重写__init__方法的时候要记得调用基类的__init__方法 self.no=no self.interval=interval def run(self): #重写run()方法,把自己的线程函数的代码放到这里 while True: print ‘Thread Object (%d), Time:%s’%(self.no,time.ctime()) time.sleep(self.interval) def test(): threadone=timer(1,1) #产生2个线程对象 threadtwo=timer(2,3) threadone.start() #通过调用线程对象的.start()方法来激活线程 threadtwo.start() if __name__==’__main__’: test()
其实thread和threading的模块中还包含了其他的很多关于多线程编程的东西,例如锁、定时器、获得激活线程列表等等,请大家仔细参考python的文档!
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=107470
By minitia, on 十一月 19th, 2009, Category: Programming, Python
Python 的设计在很多方面都类似于 Java 的设计。两者都利用了解释专门的伪编译字节码的虚拟机。JVM 比 Python 更高级的一个方面在于优化了字节码的执行。Psyco,一种 Python 专用编译器,帮助平衡了这一竞争。Psyco 现在是个外部模块,但是在将来的某一天它可能会包括到 Python 本身中去。只需极少量的额外编程,通常就可以使用 Psyco 将 Python 代码的速度提高好几个数量级。在本文中,David Mertz 研究了 Psyco 是什么,并在一些应用程序中对它进行了测试。
Continue reading 用Psyco让Python运行得像C一样快 - 全文阅读
By minitia, on 十一月 18th, 2009, Category: C++ Programming
STL中的常用的vector,map,set,Sort用法 C++的标准模板库(Standard Template Library,简称STL)是一个容器和算法的类库。容器往往包含同一类型的数据。STL中比较常用的容器是vector,set和map,比较常用的算法有Sort等。
Continue reading STL中的常用的vector,map,set,Sort用法 - 全文阅读
Page 2 of 7 « 1 2 3 4 5 » ... Last »
|
|
|