原来一直使用代码生成,包括CodeSmith和天平兄的CodeMatic。最近打算系统学习一下Nhibernate,经过简单的一点探索,发现ORM和代码生成真是个有千秋。本文侧重比较一下ORM和代码生成二者的优缺点,让二者华山一比高下,目的为去伪存真,使二者能够相辅相成。从而更好的提高开发效率。本文从下面三个层面对ORM(以NHibernate为首发的O阵营)和代码生成(以CodeMatic为首发的C阵营)进行比较:1)针对数据库二者的架构层次上的异同2)
系统 2019-08-29 22:30:34 3329
最近要对一个用libevent写的C/C++项目进行修改,要改成多线程的,故做了一些学习和研究。libevent是一个用C语言写的开源的一个库。它对socket编程里的epoll/select等功能进行了封装,并且使用了一些设计模式(比如反应堆模式),用事件机制来简化了socket编程。libevent的好处网上有很多,但是初学者往往都看不懂。我打个比方吧,1)假设有N个客户端同时往服务端通过socket写数据,用了libevent之后,你的server程
系统 2019-08-12 09:27:10 3329
目标在本节我们要学习:1.使用模板匹配在一幅图像中查找目标2.函数:cv2.matchTemplate(),cv2.minMaxLoc()原理模板匹配是用来在一副大图中搜寻查找模版图像位置的方法。OpenCV为我们提供了函数:cv2.matchTemplate()。和2D卷积一样,它也是用模板图像在输入图像(大图)上滑动,并在每一个位置对模板图像和与其对应的输入图像的子区域进行比较OpenCV提供了几种不同的比较方法(细节请看文档)。返回的结果是一个灰度图
系统 2019-09-27 17:46:50 3328
1、什么时候使用?连接池是用来建立一些和db的连接,使用户访问db时可以直接使用这些现成的连接。如果不建立连接池,每个用户每一次访问db时都要和db建立一次连接,这样dbserver容易产生连接过多的错误,用户也会觉得速度很慢。web编程,如果使用的是:客户端---webserver---dbserver.这种架构的,建议使用连接池的方法处理webserver与dbserver间的通讯。2、如何检测连接池,让连接池配置更合理?apache连接池使用comm
系统 2019-08-29 22:18:21 3328
当做完ZC员工评价系统并对系统进行安装部署完成之后就开始了软考之旅,而软考之旅的第一站便是Java语言的学习.从九月五号到九月二十号完成了Java初步学习.中间穿插着YH系统维护,ZC系统新需求的提出并对其进行调整和修改.相对于整体大家的进度而言自己的进度慢了很多.不过我知道自己是不能着急的,要把握好自己的节奏,踏踏实实的走好每一步.在马士兵老师的带领下进入了Java的世界.挺喜欢马老师的讲课风格以及他那巨无霸式的学习理论(理论→举例→回顾理论→联系→讲解
系统 2019-08-12 09:30:26 3328
柳暗花明又一村,在垂头丧气准备放弃单点登录SSO方案时,突然找到了开源的SSO方案——SourceID.NET,真让我信心百倍。下载打开解决方案后,真是庞大工程,用了Mentalis.orgSecurityLibrary(提供pkcs12X.509支持)及Nunitv2.0(测试用),十几个项目。估计要研究下去得花很多时间和精力,不过也算心满意足了,看看他们怎么实现的。SSO文档:http://www.cs.uwaterloo.ca/~myflu/proj
系统 2019-08-12 09:27:01 3328
区别:1>instancetype在类型表示上,跟id一样,可以表示任何对象类型2>instancetype只能用在返回值类型上,不能像id一样用在参数类型上3>instancetype比id多一个好处:编译器会检测instancetype的真实类型第3点的解释:在下面这种情况下//Person.m文件里+(id)person{return[[selfalloc]init];}//mainViewController.m,下面这行代码,用字符串类型的指针指
系统 2019-08-12 01:52:23 3328
./startup.shUsingCATALINA_BASE:/software/apache-tomcat-6.0.18UsingCATALINA_HOME:/software/apache-tomcat-6.0.18UsingCATALINA_TMPDIR:/software/apache-tomcat-6.0.18/tempUsingJRE_HOME:/usr用命令:ps-ef|greptomcat查看没有tomcat进程。查看tomcat日志信息,
系统 2019-08-12 01:33:53 3328
CSS覆盖TEST