12 2018 档案

摘要: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 阅读(7449) 评论(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 阅读(11222) 评论(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 阅读(145) 评论(0) 推荐(0)
摘要:代理模式(Proxy Pattern) 是一种结构型设计模式,它为某个对象提供一个代理(替身) 来控制对该对象的访问。 核心思想:用代理控制对真实对象的访问 角色说明: - Subject:定义接口,真实对象和代理都实现同一接口 - RealSubject:真实对象,执行实际工作 - Proxy:代 阅读全文
posted @ 2018-12-12 23:43 osbreak 阅读(129) 评论(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 阅读(144) 评论(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 阅读(591) 评论(0) 推荐(0)
摘要:最简单的工厂方法模式(Factory Method Pattern) 的实现,代码简洁、结构清晰,只保留核心要素,便于理解。 核心思想 - 定义一个创建对象的接口,但让子类决定实例化哪个类。 - 父类负责定义流程,子类负责具体对象的创建。 // 创建者基类(定义工厂方法) class Creator 阅读全文
posted @ 2018-12-09 19:21 osbreak 阅读(376) 评论(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 阅读(1226) 评论(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 阅读(243) 评论(0) 推荐(0)
摘要:std::bind bind函数看作是一个通用的函数适配器。 它接受一个可调用对象,生成一个新的可调用对象来“适应”原对象的参数列表。 void fun(int x, int y, int z) { cout<< x <<" "<< y <<" "<< z <<endl; } 01 绑定参数 aut 阅读全文
posted @ 2018-12-06 23:52 osbreak 阅读(314) 评论(0) 推荐(0)
摘要:函数指针 函数返回值类型 (* 指针变量名) (参数列表) int (*p) (int, int) 指针函数 *类型标识符 函数名 (参数表) int *p (int, int) 区分方法 1. 函数名前面的指针*号有没有被括号()包含,如果被包含就是函数指针,反之则是指针函数。 2.()的优先级比 阅读全文
posted @ 2018-12-06 23:17 osbreak 阅读(339) 评论(0) 推荐(0)
摘要:1.01 QObject:父子关系与内存自动管理 深刻理解 Qt 的父子对象内存管理机制。 当一个 QObject 被设置为另一个 QObject 的子对象时(通过构造函数或 setParent()),父对象会在析构时自动删除所有子对象。 这是避免内存泄漏的关键。 使用 deleteLater() 阅读全文
posted @ 2018-12-06 00:00 osbreak 阅读(1784) 评论(0) 推荐(0)
摘要:一、进程 1.01 subprocess subprocess:创建进程、提供更高级接口、替换os.system()等函数。直接处理管道通信、与进程双向通信。进程间信号传递。 import subprocess import subprocess cat = subprocess.Popen(['c 阅读全文
posted @ 2018-12-03 23:07 osbreak 阅读(263) 评论(0) 推荐(0)
摘要:一、数据持久与交换 1.01 pickle cPickle比pickle更快,所以通常会尝试导入cPickle。 对象串行化:编码和解码字符串数据、处理流、重构对象问题、不可pickle的对象 try: import cPickle as pickle except: import pickle 1 阅读全文
posted @ 2018-12-03 22:39 osbreak 阅读(352) 评论(0) 推荐(0)
摘要:一、标准库 1.01 string import string 具备string或unicode类的特性,对字符串实现参数化。 1.02 textwrap // 格式化文本段落:缩进、对齐、指定宽度等 import textwrap 1.03 re // 正则表达式 import re 1.04 d 阅读全文
posted @ 2018-12-03 22:36 osbreak 阅读(221) 评论(0) 推荐(0)