自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhanglifu081022的专栏

知识共享 共同进步

  • 博客(23)
  • 收藏
  • 关注

转载 GDB 基本调试命令

转自 一、gdb调试基本知识a.调试器指示的是将要执行的代码行b.只有在编译时拥有调试符号(-g)的程序才能在调试时看到源码c.同一行上有多个断点时,gdb仅中断在断点号最小的那个断点上d.断点可以设置在同一程序的不同文件中e.在任何给定时间,gdb只有一个焦点,即当前“活动”的文件f.源文件改变后,断点发生移动,带式断点属性的行号不变二、GDB基本命令清单查询

2014-04-10 17:19:38 976

转载 VMWare虚拟机中CentOS安装gcc与g++

本文转自:http://www.linuxidc.com/Linux/2011-07/38657.htm1 打开VMWare界面,选择菜单VM--Settings,在对话框中选择CDROM,设置参数为Use ISO image,选择CentOS镜像安装文件;2 启动虚拟机中的CentOS系统,用root登录,在桌面上用鼠标右键新建一终端窗口;3 在终端中输入 cd /media

2014-01-12 16:59:25 3078

转载 POSIX semaphore: sem_open, sem_close, sem_post, sem_wait

本文转自:http://www.cnblogs.com/BloodAndBone/archive/2011/01/18/1938552.html一、Posix有名信号灯1.posix有名信号灯函数   函数sem_open创建一个新的有名信号灯或打开一个已存在的有名信号灯。有名信号灯总是既可用于线程间的同步,又能用于进程间的同步。1. sem_open名

2014-01-02 22:05:09 803

原创 windows守护进程与进程同步

在一些服务器应用中,守护进程经常被用到,用于与主进程交互或数据同步等。例如,一些应用需要非常频繁地操作数据,为了减小数据库服务器的压力,有时会再内存中对数据库表进行映射,通常的操作都是在内存中进行,然后用一定的策略将内存中的数据库同步到数据库中存储。这样的架构可以提升性能,可以说是用内存空间换时间,特别对于大型应用很有效。但是,这样也存在一定的风险,毕竟不能完全保证服务器一直稳定地运行,但这个用于

2013-12-21 17:28:15 1422

原创 lua面向对象详解(3)

三、lua面向对象1、lua中的self首先来看一个例子:localAccount = {balance = 1000}functionAccount.Withdraw(money)   Account.balance = Account.balance - moneyend localaa = Account;aa.Withdraw(100)print(a

2013-12-18 00:32:26 1185

原创 lua面向对象详解(2)

前面讲了lua的table,讲得比较粗略,不过table将会在不断的运用中逐渐形成对它的认识,不必一开始就完全搞明白它的全部。从这里开始,将讲解lua的元表和元方法。二、元表与元方法我们知道c++ 中不能随便将两个对象相加,除非程序用户自己定义+操作符,指定两个对象相加时需要做的操作。lua也是一样,不能将两个table进行算术操作,但是有一种方法可以实现。元表和元方法就是用来改变

2013-12-01 23:24:49 863

原创 lua面向对象详解(1)

项目组有个很好的习惯,每个礼拜都开展技术交流活动,要求由其中一个同事作为主讲人,以该主讲人所擅长的技术方面为主题,进行交流。收到这个任务已经月余,但最近实在太忙,只得趁周末准备一下。学习lua已经是很久远的事情了,虽然每天都在运用,而且应该说运用上还是挺溜的,但毕竟运用自如与以简易明了的语言表达出来还是差距挺大,有些东西虽然理解但要表达出来还是挺有难度,再加上时间紧迫,这里就当时抛砖引玉吧,希望大

2013-12-01 22:20:04 764

转载 http服务器 Nginx配置文件详细说明

本文转自 http://www.cnblogs.com/xiaogangqq123/archive/2011/03/02/1969006.html在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络.#运行用户user www-data;    #启动进程,通常设置成和cpu的数量相等worker_processes  1;#全局错

2013-11-29 11:47:05 1524

原创 设计好的数据结构对程序至关重要

这阵子在做一个比较大型的服务器,在设计中碰到了很多问题,而其中有一个问题很有趣,大致是这样的:服务器接受客户端的服务请求,由于客户的服务请求数量庞大,很自然的用到了任务队列和工作线程池,如下图其中Gate接受客户端的链接,当收到客户端的服务请求时,将会根据收到的服务类型生成Task对象,这些诸如TaskA、TaskB、TaskC之类的具体任务类都继承自基类TaskBase,之后将该任务

2013-11-22 21:45:20 841

原创 二叉搜索树的性质与实现

二叉搜索树是一种特殊的二叉树,对于其中的任意一个节点z,如果其存在左子树,则其左子树存储的关键字值最大不超过z所存储的关键字值;如果其存在右子树,则其右子树存储的关键字值最小不小于z所存储的关键字值。对于相同的关键字集合,可以有不同的二叉搜索数构型。如下图所示都是二叉搜索树:二叉搜索数拥有许多特殊的性质,下面就以其性质与一些属性为主线,实现一个基本的二叉搜索树。首先,定义一个头

2013-11-14 23:43:52 626

转载 (转)C++11的语法新特性

本文转自:http://zhangjunxin520.blog.163.com/blog/static/3050370320116210101891/本文的主要内容来源:http://www.softwarequalityconnection.com/2011/06/        the-biggest-changes-in-c11-and-why-you-should-ca

2013-11-08 14:00:52 566

转载 (转)mysql触发器的作用及语法

本文转自 http://blog.csdn.net/cloudday/article/details/6905590 (貌似该博友也是转载,源出处不详)触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。数据库触发器有以下的作用:1.安全性。可以基于数据库的值使用户具有操作数据库的某种

2013-11-06 10:38:32 551

转载 (转)非对称加密算法

博文转自:http://www.cnblogs.com/xuybin/archive/2013/10/22/3382072.html非对称加密算法非对称加密算法(asymmetric cryptographic algorithm)又名“公开密钥加密算法”,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是

2013-11-01 15:40:57 536

原创 C++设计模式之抽象工厂(Abstract Factory)模式

抽象工厂模式,是使得用户接口与实际的对象生成相分离,用户使用统一的接口时,系统根据用户的设置或环境,生成出不同的对象。比如我们的电脑系统,创建窗口时统一使用接口CreateWindow,创建滚动条时使用CreateScrollBar,但是系统在我们设置不同的主题风格时,对生成出来的窗口和滚动条有不同的表现,也就是生成了不同的对象。如下图所示,Factory就是面向用户的接口,只有创建窗口和滚动

2013-10-29 23:10:16 553

原创 mysql procedure使用笔记

这几天用MySQL做了一些非常复杂的数据操作,毕竟不是DBA,其中碰到了很多问题,幸好有众多网友大方地共享了他们的知识,在网上查到不少资料,加上自己的各种尝试,问题最终得以顺利解决。1、关于count的使用count是用于统计某一个符合条件的数据的条数的。比如StudentInfo有如下数据:ID ClassIDStudentID1 112 123 13

2013-10-24 00:31:50 635

原创 C++设计模式之代理(proxy)模式 -- 伪代理

前面写了代理模式的一种使用方式——句柄,接下来要介绍伪代理。我们在浏览比较大的word文档或PDF文档是,常常会遇到这种情形:前面看过和当前看的部分显示正常,当我们将鼠标按住滚动条迅速往下翻页的时候,会发现后面的文档还在加载,或者文字已经出来了,但图像还在处理,当然,这是在电脑配置比较低的情况下才能见证的。那么这是为什么?难道不是打开文件的时候全部内容都解析出来吗?或者将文字解析出来的部分也把

2013-10-23 00:07:19 548

原创 C++设计模式之代理(proxy)模式 -- 句柄

代理模式,个人认为用的比较多的实现方式为句柄和伪代理。一、句柄所谓句柄,就是可以用一个句柄类对象去操作一个或多个对象,而不用关心操作对象的实现。我们可能对遇到这种情况:对于操作的每种情形,都具有相似或相同的接口,但接口的具体操作不相同,而对于类用户来说,并不想知道你的每种实现类,只想用一个对象和一组接口进行操作。这个时候,比较好的解决方法是句柄。实例:对一个游戏来说,可能有几种不同的战

2013-10-22 22:56:22 912

原创 C++设计模式之单例(Singleton)模式

单例模式,是一个相对简单且常用的一个设计模式,也许我们一直都在使用,只是不知道这就是单例模式。我们在大型工程中,为了让程序更具拓展性,且方便策划进行数值微调等,都会将一些内容写到一个配置文件中(常见的是XML配置文件)。程序负责解析配置文件,并根据配置内容作出相应的操作。但是,配置文件一般调配好后很少改动,且解析配置文件需要耗费一定的资源(时间、存储空间等),一般不会写一个解析类,每次需要用的时候

2013-10-22 00:12:35 667 2

原创 C++设计模式之装饰(Decorator)模式

理论不多讲,直接上例子吧:在一些赛车类游戏中,我们可以对自己的进行装饰(实际就是贴图),比如有一辆黑色的tubo911,我要将其进行喷漆弄成红色,过了一段时间,我又想将其喷成墨绿色,这样的功能怎样设计呢?可能我们第一想到的是用子类来拓展这样的功能,但是假如喷涂的顺序会对效果产生影响呢,就会发生子类爆炸的问题:黑色车涂红色、黑色车涂墨绿、黑色车先涂红色再涂墨绿、黑色车先涂墨绿再涂红色,每种效果都要创

2013-10-21 23:23:52 667

原创 螺旋矩阵

这几天在看帖时看到比较多的面试题,其中有一个是螺旋矩阵的编程题,没事就用C++写了一个。所谓螺旋矩阵,就是从矩阵的第一行第一列开始,沿着某个方向用不断增加的数值依次填充矩阵,遇到边界或已填充的值则进行转向,直到将整个矩阵填满。如下是维数为6的螺旋矩阵:1   2   3   4   5   620  21  22  23  24  719  32  33  34  25  81

2013-10-15 22:08:29 647

原创 MySQL procedure存储过程示例

前面讨论过,在做排行榜数据更新时,比较适合使用存储过程,原因有以下几点:        1、生成存储过程时将要执行的数据库语句编译后存入数据库,避免每次执行都要编译的麻烦,提高效率。        2、存储过程可以在需要的时候随时调用简单的 call basename.procname() 语句即可,方便调试与测试。        3、可以与程序交互,调用返回时表示存储过程执行完毕,如

2013-10-14 23:06:39 634

原创 利用批处理实现一键搞定SVN更新、CMake生成工程文件、VS打开sln、开文件夹的偷懒目的

以前每天到公司的都有一系列很繁琐的东西要做:开工程文件夹、SVN更新、用CMake更新工程文件、用VS开sln、编译。。。这些动作都是有先后顺序的,前者完成之后才能开始后者,这样就浪费的大量时间在等待上,如果能够一键搞定就好了。可以说是要偷懒,也可以说是要提高工作效率,自然就会去想办法让这一系列的动作自动化,由于是windows平台,就考虑用bat批处理来搞定。    我的结构是:OneKey

2013-10-14 11:28:06 3920

原创 MySQL event 计划任务示例

在开发过程中遇到过排行榜的问题,曾经想用 mysql 的 event 计划任务去做,每天让数据库定期更新数据,程序只需要拉更新后的数据即可。但是,这有几个问题:1、如果数据量很大的话,数据库的执行时间是不确定的,而 mysql 似乎没有主动通知程序的机制,这就让程序很被动,什么时候去拉数据合理呢?2、mysql 的 event 机制是在执行之后会计算当前到下次执行中间还需多少秒,计算一次数

2013-10-13 23:50:13 2250 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除