摘要: sudo apt-get install zlib1g-dev下载:libzip-1.0.1.tar.gztar zxcv libzip-1.0.1.tar.gzcd libzip-1.0.1./configure; make; make install下载:curl -O http://www.zlib.net/zlib-1.2.11.tar.gztar zxcv zlib-1.2.11.... 阅读全文
posted @ 2018-12-21 17:30 osbreak 阅读(7435) 评论(0) 推荐(0)
摘要: 1.0 安装gitlab docker pull gitlab/gitlab-ce:latest # docker命令安装 docker run -d --name gitlab -p 8443:443 -p 8989:80 -p 8022:22 -v /var/docker/gitlab/conf 阅读全文
posted @ 2018-12-16 16:43 osbreak 阅读(11220) 评论(0) 推荐(0)
摘要: 外观模式:为一个复杂的子系统提供一个统一的接口,简化客户端的使用 场景:电脑启动系统 我们模拟一台电脑,它内部有很多复杂组件: - CPU - 内存(Memory) - 硬盘(HardDrive) - BIOS(固件) - 启动过程很复杂,但用户只需要调用 computer.turnOn() 就行了 阅读全文
posted @ 2018-12-13 22:32 osbreak 阅读(100) 评论(0) 推荐(0)
摘要: 建造者模式核心思想,将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示 业务场景:复杂对象构建 —— Web服务器配置生成器 你需要创建一个 WebServerConfig 对象,它包含多个可选配置项: - 监听端口 - 根目录 - 是否启用 HTTPS - SSL 证书路径 阅读全文
posted @ 2018-12-13 22:20 osbreak 阅读(158) 评论(0) 推荐(0)
摘要: 模板方法模式(Template Method Pattern) 是一种 行为型设计模式 核心思想: - 在父类中定义一个算法的骨架(模板),而将一些步骤的实现延迟到子类中。 - 父类控制算法结构,子类可以重新定义某些步骤,但不能改变算法的整体流程。 特点: - 算法骨架固定,由父类的 templat 阅读全文
posted @ 2018-12-13 21:28 osbreak 阅读(144) 评论(0) 推荐(0)
摘要: 代理模式(Proxy Pattern) 是一种结构型设计模式,它为某个对象提供一个代理(替身) 来控制对该对象的访问。 核心思想:用代理控制对真实对象的访问 角色说明: - Subject:定义接口,真实对象和代理都实现同一接口 - RealSubject:真实对象,执行实际工作 - Proxy:代 阅读全文
posted @ 2018-12-12 23:43 osbreak 阅读(128) 评论(0) 推荐(0)
摘要: 装饰器模式(Decorator Pattern) 是一种结构型设计模式,它允许你动态地给一个对象添加额外的功能或行为,而无需修改其原始类。它通过将对象包装在“装饰器”类中来实现功能的扩展,比继承更灵活。 核心思想 - 动态扩展功能,在运行时添加或移除功能,比静态继承更灵活。 - 避免类爆炸,如果用继 阅读全文
posted @ 2018-12-12 22:35 osbreak 阅读(152) 评论(0) 推荐(0)
摘要: 观察者模式(Observer Pattern) 是一种行为型设计模式,它定义了对象之间 “一对多” 的依赖关系,使得当一个对象(称为 主题 / 被观察者)的状态发生变化时,所有依赖于它的对象(称为 观察者)都会自动收到通知并进行更新。 实现原理 1. 抽象基类 + 多态 - 使用纯虚函数定义接口(S 阅读全文
posted @ 2018-12-12 22:21 osbreak 阅读(143) 评论(0) 推荐(0)
摘要: 适配器模式的核心思想,将一个类的接口转换成客户期望的另一个接口,让原本不兼容的类可以一起工作。 - 解决 “已有类,但接口不匹配” 的问题 - 继承多个接口实现 - 常用于集成老系统、第三方库、跨平台开发 // 目标接口(客户端期望的接口) class USBCharger { public: vi 阅读全文
posted @ 2018-12-12 21:49 osbreak 阅读(166) 评论(0) 推荐(0)
摘要: 策略模式的核心思想,定义一系列算法或行为,把它们封装起来,并且使它们可以互相替换。 - 客户端可以在运行时动态切换策略 - 避免 if-else 或 switch 判断不同算法 - 提高扩展性和可维护性 设计思想 - 定义一个策略接口 - 每种算法实现一个具体策略类 - 上下文类持有策略,通过多态调 阅读全文
posted @ 2018-12-11 23:59 osbreak 阅读(181) 评论(0) 推荐(0)
摘要: 抽象工厂模式(Abstract Factory Pattern)的核心在于创建一系列相关或依赖的对象,而无需指定它们的具体类。它适用于需要保证对象族一致性的场景。 抽象工厂最适合的场景是:“一键切换”一整套相互关联的对象,比如: - 换操作系统主题 - 换游戏皮肤 - 换数据库 - 换文档格式 - 阅读全文
posted @ 2018-12-11 23:54 osbreak 阅读(86) 评论(0) 推荐(0)
摘要: 网络运维工具 1.0 ifconfig 用于显示或配置网络设备的命令 关闭、打开网卡 启用网卡 ifconfig eth0 up 禁用网卡 ifconfig eth0 down 修改ip、子网掩码 ifconfig eth0 10.82.16.195 ifconfig eth0 10.82.16.1 阅读全文
posted @ 2018-12-09 20:25 osbreak 阅读(589) 评论(0) 推荐(0)
摘要: 最简单的工厂方法模式(Factory Method Pattern) 的实现,代码简洁、结构清晰,只保留核心要素,便于理解。 核心思想 - 定义一个创建对象的接口,但让子类决定实例化哪个类。 - 父类负责定义流程,子类负责具体对象的创建。 // 创建者基类(定义工厂方法) class Creator 阅读全文
posted @ 2018-12-09 19:21 osbreak 阅读(374) 评论(0) 推荐(0)
摘要: C++11中新增了<mutex>,Mutex互斥量, 它是C++标准程序库中的一个头文件。 std::mutex不支持copy和move操作,最初的std::mutex对象是处于unlocked状态。 Mutex 系列类(四种) std::mutex,最基本的 Mutex 类。 std::recur 阅读全文
posted @ 2018-12-09 19:06 osbreak 阅读(1223) 评论(0) 推荐(0)
摘要: #include<thread> 头文件 std::thread为C++11的线程类,使用方法和boost接口一样,非常方便。 C++11的std::thread解决了boost::thread中构成参数限制的问题。 获得主线程ID: std::this_thread::get_id() 获得线程I 阅读全文
posted @ 2018-12-08 14:32 osbreak 阅读(241) 评论(0) 推荐(0)