- 博客(45)
- 资源 (3)
- 收藏
- 关注
原创 go http允许跨域
1.创建中间件import ( "github.com/gin-gonic/gin" "net/http")// 跨域中间件func Cors() gin.HandlerFunc { return func(c *gin.Context) { method := c.Request.Method origin := c.Request.Header.Get("Origin") if origin != "" { c.Header("Access-Control-Allow
2021-01-19 16:41:40 1085
原创 singleton和prototype的区别
默 认情况下,从bean工厂所取得的实例为Singleton(bean的singleton属性) Singleton: Spring容器只存在一个共享的bean实例,默认的配置。 Prototype: 每次对bean的请求都会创建一个新的bean实例。二者选择的原则:有状态的bean都使用Prototype作用域,而对无状态的bean则应该使用 singleton作用域。在Spring2.0中除了
2014-06-04 17:22:09 3813 1
原创 mysql数据库开远程
mysql数据库打开远程能够连接的命令:GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
2013-07-25 10:32:03 596
原创 freebsd挂载U盘
freebsd 下挂载U盘总是错误,最后查找结果为 mount -t ntfs -r /dev/da0s1 /mnt/usb
2013-07-22 16:48:46 906
原创 外观模式
外观模式:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。适用性:当你要为一个复杂子系统提供一个简单接口时。子系统往往因为不断演化而变得越来越复杂。大多数模式使用时都会产生更多更小的类。这使得子系统更具可重用性,也更容易对子系统进行定制,但这也给那些不需要定制子系统的用户带来一些使用上的困难。Facade 可以提供一个简单
2013-07-17 13:33:37 485
原创 装饰模式
装饰模式: 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator 模式相比生成子类更为灵活。 适用性:在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。处理那些可以撤消的职责。当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义
2013-07-17 10:50:12 493
原创 组合模式
组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 适用性:你想表示对象的部分-整体层次结构。你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。例子:public abstract class AbstractCompany{ private string compan
2013-07-17 10:00:25 479
原创 桥接模式
桥接模式: 将抽象部分与它的实现部分分离,使它们都可以独立地变化。 适用性: 你不希望在抽象和它的实现部分之间有一个固定的绑定关系。例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。 类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时Bridge 模式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。 对一个抽象的实现部分的修改应对
2013-07-16 15:36:35 490
原创 适配器模式
适配器模式:将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适用性: 你想使用一个已经存在的类,而它的接口不符合你的需求。 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。 (仅适用于对象Adapter )你想使用一些已经存在的子类,但是不可能对
2013-07-16 14:32:56 494
原创 原型模式
原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 适用性: 当要实例化的类是在运行时刻指定时,例如,通过动态装载;或者 为了避免创建一个与产品类层次平行的工厂类层次时;或者 当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。 原型模式又分为深拷贝和浅拷贝,深拷贝和浅拷贝的区别
2013-07-15 16:34:11 510
原创 生成器模式
生成器模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 适用性: 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 当构造过程必须允许被构造的对象有不同的表示时。 例子:/*装电脑需要装内存和硬盘*/public class compositionComputer{ public voi
2013-07-15 14:42:24 532 1
转载 apache--mysql--php环境配置
这两天刚装好Windows 7,碰巧前段时间有朋友问我Windows下如何安装搭建PHP环境,所以打算勤劳下,手动一步步搭建PHP环境,暂且不使用PHP环境搭建软件了,在此详细图解在Windows 7下安装配置PHP+Apache+Mysql环境的教程,希望对PHP初学者有所帮助。 在Windows 7下进行PHP环境搭建,首先需要下载PHP代码包和Apache与Mysql的安装软件包。
2013-07-08 14:15:59 542
原创 c/c++使用gsoap调用wcf发布的webservice
在使用gsoap调用wcf发布的webservice时,总是提示415错误,查找错误半天发现,gsoap使用的是soap2.0,而wcf发布的webservice使用的是soap1.0,所以想解决问题就是需要将两边使用的soap对等。解决方法:将文件.namap和*Proxy.cpp文件中的{"SOAP-ENV", "http://www.w3.org/2003/05/soap
2013-05-23 08:57:05 3343
转载 c/c++使用gsoap发布和调用webservice
预备知识ONVIF规范中设备管理和控制部分所定义的接口均以Web Services的形式提供。ONVIF规范涵盖了完全的XML及WSDL的定义。每一个支持ONVIF规范的终端设备均须提供与功能相应的Web Service。服务端与客户端的数据交互采用SOAP协议。【来自http://blog.csdn.net/ghostyu】ONVIF中的其他部分比如音视频流则通过RTP/RTSP进行 。
2013-05-23 08:53:07 15112 2
原创 编译驱动缺少链接库失败
调试驱动时,出现下述错误:1>entry.obj : error LNK2019: unresolved external symbol_FltRegisterFilter@12 referenced in function_DriverEntry@81>entry.obj : error LNK2019: unresolved external symbol_FltRelea
2013-03-20 14:42:59 1053
转载 Windows 7 + Visual 2010 + WDK 7600.16385.1 配置方法
Windows 7 + Visual 2010 + WDK 7600.16385.1 配置方法1. 新建一个空DLL项目2. 增加一个主程序文件,如 entry.c3. 找到配置管理器,添加一个新的配置叫做 Driver Debug(以后还可以再设置一个Driver Release),如图4. 在属性管理器上找到 Driver Debug,右键菜单中找到“属性”,开始配
2013-03-20 13:48:37 1239
原创 windows下mysql忘记密码
关闭正在运行的MySQL。 1.打开DOS窗口,转到mysql\bin目录。 2.输入mysqld --skip-grant-tables回车。如果没有出现提示信息,那就对了。 3.再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。 4.输入mysql回车,如果成功,将出现MySQL提示符 > 5. 连接权限数据库>use mysq
2013-03-20 12:59:45 519
原创 数据库字段AES加解密
mysql加密:insert into aestest(uname,password) values('ddddd',AES_ENCRYPT('anhua','123321'));mysql解密select uname,AES_DECRYPT(password,'123321') from aestest;
2013-03-08 09:28:29 1353
转载 mysql的多线程安全问题
1 开启事务之前需要rollback 连接句柄。(清理垃圾)2 mysql_ping 失败,程序需要处理重连逻辑;3 mysql_query()执行的SQL语句是一个以‘/0’结尾的字符串,而mysql_real_query()执行的字符串长度是参数指定的,因此,前者不能不能包含二进制数据(二进制数据中可能会包含‘/0’,导致被认为到达字符串末尾)实际使用中,推荐使用mysql_rea
2013-01-24 13:29:14 10030
原创 Freebsd ssh连接不上
今天,换了电信的路由器之后,重新设置了路由和dns,发现ssh连接不上。找其原因发现,是由于dns的问题,由于ssh里面有dns的反解析,判断所连接的ip非法造成的。解决方法为:修改/etc/ssh/sshd_config下,将#useDNS yes改为useNDS no,重启ssh即可。
2013-01-14 10:47:21 887
原创 freebsd编译生成freenas系统
1. 安装完成freebsd2. 安装svn :pkg_add -r subversion3. 安装nanobsd :pkg_add -r nano4. 安装cdrtools:pkg_add -r cdrtools5. 重启freebsd系统:reboot6. mkdir -p /usr/local/freenas7.取得freebsd的编译源码:svn co https:
2013-01-14 10:44:49 2077 1
转载 win7新建ios开发环境
在Windows下搭建Objective C开发环境,需要到GNUstep官方网站上下载,四个软件包:GNUstep MSYS System、GNUstep Core、GNUstep Devel、Cairo Backend。其中,前两个软件包是必须要安装的,第三个软件包是安装一些开发工具,比如:gcc、g++等,所以如果是学习Objective C的话,这个包也是必须要安装,第四个
2012-12-24 15:22:05 4609
原创 freebsd更新ports
首先执行 portsnap fetch 抓取 server 上的 portsnap 如果是第一次执行更新,再执行portsnap extract 建立 snap 否则portsnap fetch执行后,执行portsnap update进行更新最简单的方法是执行portsnap fetch update ,一次性搞定
2012-12-12 13:56:33 474
原创 linux多线程数据冲突
最近在写Linux服务器多线程编程,但是出现了当主线程接收客户端连接并发创建子线程的时候,子线程接收到主线程的数据出现了错误的情况,经过发现,是因为在子线程中没有立即处理主线程传递过来的数据,而是过了一会才将数据进行处理,而由于主线程中频繁的创建子线程,主线程传递给子线程中的数据会出现被重写,所以,在子线程中会出现数据出错的情况。 void *testThread(char *argc)
2012-10-31 10:42:42 953
转载 linux多线程不可重入和可重入
主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。 也可以这样理解,重入即表示重复进入,首先它意味着这个函数可以被中断,其
2012-10-31 10:32:17 2162
原创 linux下不可重入函数
最近在写linux服务器端程序,使用了多线程和Socket,但是发现了不可重入函数的问题。发生不可重入问题的函数为:localtime,inet_ntoa,getpwnam和函数getgrnam,在freebsd操作系统中只要将这些不可重入的函数改为对应的可重入函数:localtime_r,inet_ntoa_r,getpwnam_r和函数getgrnam_r即可。而rand,srand以
2012-10-31 10:31:32 1099
原创 红帽子配置网络
新安装了红帽子,但是完成后不能上网,于是到网上查看了网络的配置方法。运行这个命令后会发现一个简单地图形配置界面(此命令在有些版本中没有(跟有相反)):【 】 Use dynamic IP configuration (BOOTP/DHCP)IP address: _____________ (IP地址)Netmask: _
2012-09-04 12:03:51 1889
转载 主机字节顺序和网络字节顺序
不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序最常见的有两种:1. Little endian:将低序字节存储在起始地址 2. Big endian:将高序字节存储在起始地址 LE little-endian 最符合人的思维的字节序 地址低位存储值的低位 地址高位存储值的高位 怎么讲是最符合人的思维的字节序,是因为从人的
2012-08-31 14:16:36 602
原创 Samba创建新文件
最近项目需要修改Samba源码,所以查看了Samba新建文件的步骤:Trans2 Request,query_path_info,query file basic info//查询有没有这个文件trans2 request,fild first2//查询有没有这个文件名Trans2 Request,query_path_info,query file basic info//查询有没有
2012-08-31 14:15:18 928
原创 Socket编程中出现粘包现象
最近在写服务器端编程,涉及到了Socket编程。但是当接收到客户端消息的时候,出现了消息丢失的情况。然后打印出接收到的包的日志,最后发现是因为客户端同时给服务器端一个Socket线程发送消息的时候会出现粘包的现象。经过资料的查找,出现粘包主要有以下几种情况:(1)发送Socket的时候,Socket会设置延迟发送,这样在发送包的时候就可能出现几个包粘包的情况(2)在服务器端接收数据
2012-08-24 12:45:59 1388
原创 mysql中进行md5加密
如果数据库表User中有一列为passwd,存放的是md5加密的数据,如何更新新的数据。update user set passwd=md5("123321") where uName="lihua";插入新的数据:insert into user(uName,passwd) values("xiaoqiang",md5("123321")) ;这样存放在数据中的密码信息就是保密存
2012-08-21 15:38:46 46979 1
原创 mysql写入linux中的时间,并且取出转化为linux中的time类的值
mysql中写入linux的时间sprintf(sql,"insert into test(time,dateline) values(FROM_unixtime(%d),addtime(FROM_UNIXTIME(%d),\'%s\'));",time(NULL),time(NULL),"08:10:22") ;取出mysql中的时间值sprintf(sql,"select time
2012-08-21 15:18:03 1240
原创 FreeBsd时间串转换为time类函数
char * nowTime = "2012-08-21 14:55:33" ; struct tm local ; char szBuffer[64] = {0}; const char* pFormat = "%Y-%m-%d %H:%M:%S"; strptime(nowTime,pFormat,&local) ;
2012-08-21 15:06:20 500
原创 FreeBSD服务器端代码中出现大量的defunct进程
最近在写服务器端代码的时候,出现了大量的defunct 进程,但是不知道为什么会发生这样的情况。经过一段时间的观察,发现是由函数popen造成的,popen会调用fork()创建子进程,而如果没有用pclose()结束此子进程,则会出现大量的僵尸进程。 FILE *stream; char buf[1024]={0}; char cmds
2012-07-31 14:11:45 929
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人