- 博客(14)
- 收藏
- 关注
原创 C++11多线程编程 -- thread
std::thread类#include <thread>namespace std { class thread { public: // constructor thread() noexcept; thread(thread&& other) noexcept; ...
2018-07-10 11:00:36
277
原创 单例模式(Singleton) -- 对象创建型模式
意图保证一个类只有一个实例,并提供一个访问它的全局访问点。适用性当类只能有一个实例并且客户可以从一个从所周知的访问点访问它。当这个唯一实例应该通过子类来实现可扩展性,并且用户不需要修改代码就可以使用一个扩展的实例。结构Singleton 定义一个Instance操作,允许客户访问它的唯一实例。C++中通常是一个静态成员函数。 看负责创建它自己的唯一实例。...
2018-07-09 20:51:21
301
原创 原型模式(Prototype) -- 对象创建型模式
意图用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。适用性当 一个系统应该独立于它产品的创建、构成和表示时: * 当要实例化的类是在运行时指定的。 * 为了避免创建一个和产品类层次平行的工厂类层次。 * 当一个类的实例只有几种不同状态组合中的一种;建立相应数目的原型并克隆他们可能比每次用合适的状态手工实例化该类更方便一点。结构Protoytpe 声明...
2018-07-09 11:49:54
291
原创 工厂方法(Factory Method) -- 对象创建型模式
意图定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到了其子类。适用性当一个类不知道它所必须创建的对象的类的时候。当一个类希望由它的子类来指定它所创建的对象的时候。当类创建对象的职责委托给多个帮助子类中的某一个,并且希望这个帮助子类的信息局部化,即需要降低耦合。结构Product 定义工厂方法所创建对象的...
2018-07-02 21:34:37
1133
原创 生成器模式( Builder) -- 对象创建型模式
意图将一个复杂对象的构建与它的表现分离,使得同样的构建过程可以构建有不同结构的同一类复杂对象,即可以创建不同的内部构件。复杂对象通常包含很多子对象,或构建过程比较复杂。适用性当创建复杂对象的过程应该独立于该对象的组成部分以及它们的装配方式时。当构造过程必须允许被构造的对象有不同的表示,即不同的内部结构时。结构[结构图] Builder 生成器 - 为创建一个Produ...
2018-06-12 23:18:29
537
原创 C++日志系统log4cxx
安装yum安装直接使用yum安装log4cxx.x86_64(库文件) log4cxx-devel.x86_64(头文件) yum install log4cxx.x86_64 # 库文件yum install log4cxx-devel.x86_64 # 头文件源码安装log4cxx的编译依赖于apr和apr-util这两个组件。 从http://ar...
2018-06-10 23:42:37
1692
原创 抽象工厂(Abstract Factory) -- 对象创建型模式
意图提供一个创建一系列相关的或相互依赖对象的接口,而无需指定它们具体的类。适用性一个系统要独立于它的产品的创建、组合和表示时;一个系统要由多个产品系列中的一个来配置;当要强调一个系列相关的产品对象的设计以便进行联合使用时;当要提供一个产品类库,而只想显示它们的接口而不是实现。结构...
2018-06-09 23:19:51
279
原创 虚拟机上安装samba和nfs
前记由于公司编译服务器上没有samba,所以需要搭建一个Linux虚拟机用于跳板,对本地提供samba服务,对编译服务器提供nfs服务,实现share文件内的内容本地与编译服务器共享.虚拟机软件刚开始时选择了virtualbox来作为windows上的虚拟机软件,但安装后发现最新的virtualbox 5.2版本在window7上没有安装上桥接模式的网卡驱动,而要实现本地与虚拟机,编译...
2018-06-05 22:10:39
2242
转载 非root安装pip和第三方包
很多时候我们在Linux服务器上没有root权限,关键是还没有pip,不能安装必要的第三包。这时候就要用非root的方式安装pip和第三方包。安装pipwget https://bootstrap.pypa.io/get-pip.pypython get-pip.py --user环境里的python是2.7的就安装pip2,如果是3就安装pip3。一定要加--user选...
2018-04-21 20:53:48
1817
原创 常见排序算法总结
简介这里介绍的都是内部排序,即在所有数据都在内存中的,还有这些排序都是通过比较来获得次序信息,因此这些排序算法都称为比较排序。 最简单的有冒泡排序、简单选择排序、直接插入排序,希尔排序是对插入排序的优化,堆排序是在堆这种数据结构上的选择排序,而快速排序和归并排序都利用了分治的思想,利用递归来降低时间复杂度。 非比较排序常见有:计数排序,基数排序,桶排序;外部排序常见有多路归并排序,有...
2018-04-08 22:40:18
185
原创 Git命令总结
现在用的最多的代码版本控制软件应该就是Git了,虽然开发的时候每天都需要用,但是如果中间断了一段时间,很容易忘记。以下为常用的几个命令组成的一张图: 下面是Git中的几个区域的专有名词: - Workspace:工作区,我们增删改查文件的地方 - Index/Stage:暂存区,可以多次从工作区提交修改到这,然后作为一次提交到加入到仓库 - Respository:仓库区(本地仓...
2018-04-01 23:42:51
146
原创 Bash Shell脚本进阶
引言shell脚本中会有一些命令行中不常用的命令,但是在脚本中却非常有用的命令。还有在脚本中有一些常用的功能,有的是自己项目中见到的,有的是网上搜到的,慢慢积累。Miscecho -n "please enter a count:" #加-n表示输出不换行mkdir -p /home/user/{test,test1,test2} #一次创建多个目录set命令用...
2018-04-01 00:20:03
230
原创 Linux终端复用器 - Tmux
引言开发Linux程序时,经常需要通过终端连接到Linux服务器,然后在上面进行一些操作,比如设置一些环境变量、编译、测试等等,而有些过程会比较久,一旦中间出现一些网络不稳定断开连接就经常需要重新来过。 而tmux就可以很好的解决这个问题,通过在Linux服务器上开一个终端的deamon,然后需要时连接上去,就算断网,那个终端也一直还在,可以继续之前的操作。当然tmux的功能不止这个,还有分...
2018-03-26 23:51:48
426
原创 Bash shell脚本基础总结
开始bash是目前应用最多的shell脚本,由命令和注释组成,注释跟在井号#后面。脚本第一行指出由哪种程序来解析脚本,这一行称为shbang行,必须顶端第一行。如下有两种方式来指定程序位置,第一种直接指定bash程序位置,第二种通过env程序查找bash位置,可用于bash不是安装在标准位置的情况,具有更高的灵活性。#!/bin/bash#!/bin/env bash变量...
2018-03-24 21:52:52
342
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人