- 博客(33)
- 资源 (4)
- 收藏
- 关注
原创 Python实现Singleton模式
Singleton模式即单例对象必须必须保证只有一个实例存在。可以说Singleton是设计模式中最基本一种设计模式,在学习设计模式时一般都会先了解该模式。在Python中实现单例模式有很多方法,下面简单总结以下,可以根据情况选择适合自己业务场景的一种进行实现。 1. 如果在C++中实现过单例模式,在Python中比较常想到的实现方法是借助__new__方法实现:class Singleton(o
2016-07-14 16:49:18 3822
转载 python中__getattr__()和__getattribute__()方法的区别
在《编写高质量代码–改善python建议》中,看到了__getattr__()和__getattribute__()方法的区别,在此一记。 __getattr__()和__getattribute__() 都是用于实例属性的获取和拦截(仅对实例属性有效,非类属性,类属性通过__set__ 和 __get__),__getattr__() 适用于未定义的属性,而,__getattribute__()
2016-02-29 16:49:33 906
原创 类扩展式时如何弃用以前的类属性名称
在看flask-admin的源码时,经常看到废弃以前类属性的功能,通过实现一个ObsoleteAttr 来使用新名称替换旧的名称。源码如下:class ObsoleteAttr(object): def __init__(self, new_name, old_name, default): self.new_name = new_name self.old_
2016-02-26 14:59:27 429
原创 python核心编程 9章练习题
#coding:utf-8import osimport sysimport globimport reimport tracebackdef print_doc(): # 获取python标准库下的.py文件 py_exe_dir = sys.prefix py_path = os.path.join(py_exe_dir, 'Lib', '*.py')
2013-10-08 23:47:15 787
原创 第1章--软件构建的世界
1、软件开发过程的各种不同 活动:定义问题(problem definition)需求分析(requirements development)规划构建(construction planning)软件架构(software architecture),或高层设计(high-level design)详细设计(detailed design)编码与调试(coding and debugg
2012-11-18 21:28:14 579
原创 18章--表驱动方法-(1)
表驱动法是一种编程模式(scheme)--从表里面查找信息而不使用逻辑语句(if和else)。根据代码大全中的描述,凡是能通过逻辑语句来选择处理的事物,都可以通过查表来选择。但是对于简单的逻辑,则不宜使用表驱动法,表驱动发更加适合复杂的逻辑。 适当情况下使用表驱动法的几个好处:生成的代码简单;容易修改维护;效率更高。 使用表驱动法存在的问题:
2012-11-18 17:49:40 543
原创 python中命令行处理--optparse模块
optparser是一个非常灵活、强大的命令行设置解析模块,并且也很容易上手使用。optparse通过创建一个OptionParser的实例,对命令行进行解析。另外,optparse通过GNU/POSIX语法确定命令行选项(option),并且还可以产生命令行的用法和帮助信息。1、首先导入OptionParser类,然后创建一个OptionParse实例,如下:from optpars
2012-05-17 15:36:42 1626
转载 python中编码解码--codecs模块
python中codecs模块定义了一个标准python编解码器,能够很好的处理多国语言;其中比较常用的是lookup、open等函数。 在处理编码的时候,如果希望由一种编码转换为另一种编码,则需要中间转换为python的内部编码即unicode,即 原有编码---decode-->python内部编码(unicode)---encode-->目的编码 python的
2012-05-10 15:57:12 1790
原创 python中的线程使用--threading模块
最近又用到了python中的多线程编程,前段时间使用并学习过,但是由于长时间不用,慢慢就忘记怎么用了,毕竟对线程的使用还不是很熟练,现在总结一下,记录下来,加深一下学习的印象。 python中关于线程,主要有两个模块thread和threading,其中thread的模块已不建议使用,因为threading模块更高级,管理线程的功能更强,对线程支持也更强,比如线程同步原语较多,
2012-03-07 16:59:34 581
转载 本体(Ontology)综述
<br /><br />原文出处:http://imarine.blog.163.com/blog/static/51380183200861373316920/<br /> <br />本体作为一种能在语义和知识层次上描述领域概念的建模工具,其目标是捕获相关领域的知识,确定该领域内共同认可的词汇,通过概念之间的关系来描述概念的语义,提供对该领域知识的共同理解。语义Web(the Semantic Web)是在本体理论基础之上对现有Web所进行的扩展[15],其目标是使Web上的信息具有计算机可以理解的语义
2010-12-08 19:55:00 1002
转载 多线程同步的方法
<br />线程同步的方法主要有以下四种:<br />1、临界区:通过临界区实现多个线程对同一公共资源或一段代码的串行访问,速度快,适合控制数据的访问。<br />2、互斥量:通过协调线程共同对一个共享资源的单独访问而设计。<br />3、信号量:可以控制有限用户对同一资源的的访问而设计;<br />4、事件:通过通知线程的有一些事件已经发生,从而可以启动后续的任务执行。<br /> <br />1、临界区(Critical Section):<br /> 保证某一时刻只有一个线程访问某一资源的简便方
2010-10-13 16:59:00 5462
原创 关于正则匹配的异常捕获
<br />在使用boost库的regex时,出现了崩溃问题,后来try{}catch(...){}捕获所有异常,发现在使用regex::search()时,可能是由于正则表达式不够精确,导致匹配时出现问题。后来查找boost的异常捕获,示例如下:<br />try{ boost::regex re("(ftp|http|https):////(/w+/.)*(/w*)//([/w/d]+//{0,1})+"); if (!boost::regex_match(url, re))
2010-08-05 23:41:00 1345
转载 Java调用dll步骤1
<br />java中调用c(c++)写的dll文件的实现及步骤(转) JNI使用技巧点滴本文为在 32 位 Windows 平台上实现 Java 本地方法提供了实用的 示例、步骤和准则。本文中的示例使用 Sun Microsystems 公司创建的 Java Development Kit (JDK) 版本 1.4.1。用 C 语言编写的本地代码是用 Microsoft Visual C++ 6.0编译器编译生成。简介近日,由于项目需要,要在WEB页面实现图像转换功能,而VC在
2010-07-29 23:54:00 913
转载 Java调用dll步骤
java中调用c(c++)写的dll文件的实现及步骤2006-11-05 04:59本文为在 32 位 Windows 平台上实现 Java 本地方法提供了实用的示例、步骤和准则。本文中的示例使用 Sun Microsystems 公司创建的 Java Development Kit (JDK) 版本 1.4.1。用 C 语言编写的本地代码是用 Microsoft Visual C++ 6.0编译器编译生成。 一. JAVA部分 1. 无包的情况: 实例一:
2010-07-29 23:52:00 577
转载 Java调dll
<br />008-02-22Java调用dll与C++通讯关键字: java 调用 dll c++ 通讯整体思路分为三步: java 方的代码开发;VC++方的代码开发; 如何在Tomcat下的部署使得java web可以访问此DLL接口。 <br />第一部分:java 方的代码开发 <br />第一步:在java方用Eclipse新建一个java web的Project. <br />第二步:在源文件目录下,新建一个CallSoftDll类,代码如下: <br />Java代码 package c
2010-07-29 23:51:00 1032
转载 dll
<br /><br />(原创)STL 使用注意事项 结合自身遇到的问题与网络上查找到的信息,将一些注意事项记录下来。一来避免将来犯同样的错误,二来也给大家提个醒。 1、在 DLL 中不可以将 std::string 作为函数入口参数 原因:DLL 与 EXE 的内存分配方式不一样 EXE 调用 DLL 中使用 std::string 作为参数的函数会导致内存分配泄漏<br /> <br />也谈在动态连接库中如何使用STL库<br />在动态连接库开发中要特别注意内存的分配与释放问题,稍不注意,极可能造成
2010-07-28 00:36:00 423
转载 Dll中返回字符串的问题
<br />dll中返回字符串的问题2008-08-06 12:37<br />写了一个 DLL ,封装了一个类,该类有一个函数名为 WriteRecord(P: Pointer),其中参数 P 是一个记录指针,子类在 override 该函数时学根据将 P 指针转为子类所支持的记录类型,如:<br />var<br /> pt: PBookInfo;<br />begin<br /> pt := PBookInfo(P);<br /> ...<br />end;<br />该 DLL
2010-07-28 00:21:00 1112
转载 string浅拷贝以及在dll中使用的注意事项
<br /><br />1.一个原则:某个模块中分配的空间就应该由它来释放!比如说在dll中分配的空间就应由这个dll来释放,而不应该有main来释放,因为dll中用来分配空间的环境可能和main中用来分配的环境不一样。关于这一点window核心编程中的dll里面进行了讲解,但是说真的我还是不明白为什么会这样。但是要记住这个原则!<br />2.mian 中的如下语句:<br /> string str1("l10");<br /> string str2("l10value");<br /> pi->ad
2010-07-28 00:11:00 587
转载 string浅拷贝以及在dll中使用的注意事项
<br /><br />1.一个原则:某个模块中分配的空间就应该由它来释放!比如说在dll中分配的空间就应由这个dll来释放,而不应该有main来释放,因为dll中用来分配空间的环境可能和main中用来分配的环境不一样。关于这一点window核心编程中的dll里面进行了讲解,但是说真的我还是不明白为什么会这样。但是要记住这个原则!<br />2.mian 中的如下语句:<br /> string str1("l10");<br /> string str2("l10value");<br /> pi->ad
2010-07-28 00:11:00 440
原创 Singleton设计模式
<br />简单的总结一下,最近使用的Singleton设计模式,在四人帮的书中,对Singleton的解释是“保证一个类只有一个实体,并且提供一个全局访问点”,定义很简单,但实现起来还是比较复杂,因为要考虑很多异常的情况。下面以一个例子在说明:<br /> <br />//Singleton.h源码#pragma once#include <afxmt.h>class CSingleton{public: /*功能描述: 实例化类,返回值为引用可以防止被析构掉, 不过把析构函数
2010-06-22 00:14:00 410
原创 关于Mfc扩展dll的使用
在MFc扩展Dll使用MFC扩展Dll时,遇到了编译不过或者链接错误的问题,现将其总结一下:1、例如,MFC扩展Dll为ExportA工程,MFC扩展Dll为ExportB工程,则ExportB工程在使用ExportA时,出现链接错误,开始以为没有添加依赖库或者到处类错误,但是查看多次还是出现问题,后来上网查资料,发现AFX_EXT_DATA如下: // for global APIs
2010-05-29 22:45:00 764
原创 这次tt总结
简单说一下这次去tt面试的经历吧,经历完笔试当前晚上就收到通知让去参加面试,在一个酒店里。笔试的内容各科都有,操作系统、数据结果、算法之类的,天天写代码,做些乱七八糟的事,由于很久没看这些书了,很多以前感觉简单的都忘记了,打算这个暑假把这些基础补补,为下学期找工作做准备,虽然答得的不好,还是勉强过了笔试。晚上就简单看了下以前tt的面试题,也没看进去,就想睡了。 第二天10
2010-05-01 11:02:00 574
转载 Log4cxx配置文件介绍
Log4cxx配置文件介绍2009-07-31 20:34Log4cxx配置由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。 1.日志信息的优先级Logger的语法: log4j.rootLogger = [ level ] , appenderName, appenderName, …
2010-03-01 22:04:00 4728
转载 正则表达式快速验证工具
正则表达式快速验证工具 Posted on 2009-01-05 21:39 wknight 阅读(278) 评论(0) 编辑 收藏 网摘 所属分类: WinForm <!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http://purl.org/dc/elements/
2009-11-18 22:33:00 604
转载 常用正则表达式大全
常用正则表达式大全!(例如:匹配中文、匹配html) 常用正则表达式大全!(例如:匹配中文、匹配html) 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行
2009-11-18 22:24:00 307
转载 C++ boost 正则表达式用法
C++ boost 正则表达式用法 什么是正则表达式?正则表达式是一种用来描述一定数量文本的模式。Regex代表Regular Express。如果您不知道什么是正则表达式,请看这篇文章http://blog.csdn.net/begtostudy/archive/2007/11/11/1879206.aspx有了正则表达式的基础,问题是如何使用。我们以boost::regex来
2009-11-18 21:29:00 477
转载 Boost学习之正则表达式--regex
boost::regex类为C++提供了完整的正则表达式支持,并且已被接收为C++0x标准库。它同时也在Boost库中扮演着极重要的角色,不少Boost子库都需要它的支持,有不少人甚至就是为了它才下载使用Boost的。注意使用Boost.Regex需要预先编译完整编译请参考本站编译Boost的文章如果只要编译Regex库,有两种方法(参考链接): 在Boost根目录下运行bjam
2009-11-18 21:22:00 1209
转载 类的大小
http://malonely.bloghome.cn/posts/194213.html先看一个空的类占多少空间?+ expand sourceview plaincopy to clipboardprint?class Base { public: Base(); ~Base(); }
2009-09-13 22:12:00 358
转载 Getmomory改错及问题
7.1内存分配方式 内存分配方式有三种:(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。(2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有
2009-05-19 10:44:00 565
转载 论参数约定
在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递
2009-05-01 15:06:00 373
转载 不定参数的应用
不定参数的应用不定参数当年做为C/C++语言一个特长被很多人推崇,但是实际上这种技术并没有应用很多。除了格式化输出之外,我实在没看到多少应用。主要原因是这种技术比较麻烦,副作用也比较多,而一般情况下重载函数也足以替换它。尽管如此,既然大家对它比较感兴趣,我就简单总结一下它的使用和需要注意的常见问题。原理刚学C语言的时候,一般人都会首先接触printf函数。通过这个函数,你可以打印
2009-05-01 15:01:00 303
原创 c++数据库连接
#include #include #include #include int main(){ MYSQL *mysql; MYSQL_RES *res; MYSQL_ROW row; char query
2008-05-19 21:58:00 636
原创 提高Web页面性能的法则
优化网站性能的14条规则(更新) 1. 尽可能的减少 HTTP 的请求数 [content] 2. 使用 CDN(Content Delivery Network) [server]
2008-05-06 22:35:00 445
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人