最近要对一个用libevent写的C/C++项目进行修改,要改成多线程的,故做了一些学习和研究。libevent是一个用C语言写的开源的一个库。它对socket编程里的epoll/select等功能进行了封装,并且使用了一些设计模式(比如反应堆模式),用事件机制来简化了socket编程。libevent的好处网上有很多,但是初学者往往都看不懂。我打个比方吧,1)假设有N个客户端同时往服务端通过socket写数据,用了libevent之后,你的server程
系统 2019-08-12 09:27:10 3306
柳暗花明又一村,在垂头丧气准备放弃单点登录SSO方案时,突然找到了开源的SSO方案——SourceID.NET,真让我信心百倍。下载打开解决方案后,真是庞大工程,用了Mentalis.orgSecurityLibrary(提供pkcs12X.509支持)及Nunitv2.0(测试用),十几个项目。估计要研究下去得花很多时间和精力,不过也算心满意足了,看看他们怎么实现的。SSO文档:http://www.cs.uwaterloo.ca/~myflu/proj
系统 2019-08-12 09:27:01 3306
1)安装Oracle11g64位2)安装32位的Oracle客户端(instantclient-basic-win32-11.2.0.1.0)下载instantclient-basic-win32-11.2.0.1.0.zip(一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至Oracle安装目录的Product下(本机命名为:instantclient_11_2):D:\app\cphmvp\product\instantclient
系统 2019-08-12 01:54:41 3306
Oracle普通视图和实体化视图比较来源:茂盛博客|2013-07-30Oracle普通视图和实体化视图比较相对于普通的视图来说,实体化视图的不同之处在于实体化视图管理存储数据,占据数据库的物理空间。实体化视图的结果会保存在一个普通的数据表中,在对实体化视图进行查询的时候不再会对创建实体化视图的基表进行查询,而是直接查询实体化视图对应的结果表,然后通过定期的刷新机制来更新MView表中的数据。首先我们需要创建表,然后写一个SELECT语句。SQL>crea
系统 2019-08-12 01:54:04 3306
1、下载node.exe;2、下载npm并解压;(NPM是一个Node包管理和分发工具)3、创建单独文件夹nodejs,将1、2步中的两个文件和一个文件夹放进该新建文件夹;4、配置环境变量中的path,将nodejs文件夹的路径添加进path中。之后,便可以通过cmd运行nodexxx.js来启动服务了。详细可移步官网下载最新版本以及查看相关说明。windows配置免安装node
系统 2019-08-12 01:33:12 3306
CSS覆盖TEST