自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 ubuntu18.4 vim 不能正常显示中文的解决方法

vim就能正确显示中文了。

2022-07-22 11:29:09 633

原创 centos8安装docker发现yum源不可用解决2022/07/08

yum源,docker

2022-07-08 21:42:45 659

原创 利用ssh公钥传输文件

ssh

2022-07-08 21:33:18 476

原创 ubuntu18.04的apt源配置的问题

apt源

2022-07-08 18:28:54 771

原创 WordPress 安装时常见的数据库的错误

wordprss

2022-07-06 21:40:02 1263

原创 Ansible 安装后的两个常见错误及处理

I. 对之前未连接的主机进行连结时报错如下:[root@linux ~]# ansible webservers -m command -a ‘ls ~’ -kSSH password:120.76.25.191 | FAILED | rc=0 >>Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support

2022-02-19 09:36:16 4226 2

原创 Ansible hosts配置参数说明

ansible_ssh_port=22 #远程主机登陆端口ansible_ssh_user=root #远程主机登陆用户名ansible_ssh_pass=******* #远程主机登陆用户名的密码ansible_ssh_private_key_file=/etc/ansible/hosts #指定管理主机群列表文件host_key_checking=False #跳过第一次连接检

2022-02-19 09:35:11 1320

原创 CentOS8解决“Failed to download metadata for repo ‘appstream‘”错误

在CentOS8上执行下面命令时报错原因在2022年1月31日,CentOS团队终于从官方镜像中移除CentOS 8的所有包。CentOS 8已于2021年12月31日寿终正非,但软件包仍在官方镜像上保留了一段时间。现在他们被转移到https://vault.centos.org解决方法​如果你仍然需要运行你的旧CentOS 8,你可以在/etc/yum.repos中更新repos.d使用vault.centos.org代替mirror.centos.org。cd /etc/yum.repos

2022-02-18 10:26:10 376

原创 linux下yum安装时出现Loaded plugins: fastestmirror解决办法

问题 一报错环境:刚使用VMware安装的centos7系统(最小化安装)实验系统,ifconfig时提示没有该命令,安装yum install net-tools时报错Loaded plugins: fastestmirror注:fastestmirror是yum的一个加速插件,这里是插件提示信息是插件不能用了。解决办法:先给它禁用了1.修改配置文件vim /etc/yum/pluginconf.d/fastestmirror.conf1.由enabled = 1修改..

2021-09-19 21:27:53 4342 1

原创 在一个单CPU的计算机系统中,有两台外部设备R1、R2和三个进程P1、P2、P3。系统采用可剥夺式优先级的进程调度方案,且所有进程可以并行使用I/O设备,三个进程的优先级、使用设备的先后顺序和占用设备

在一个单CPU的计算机系统中,有两台外部设备R1、R2和三个进程P1、P2、P3。系统采用可剥夺式优先级的进程调度方案,且所有进程可以并行使用I/O设备,三个进程的优先级、使用设备的先后顺序和占用设备时间如下表所示:假设操作系统的开销忽略不计,三个进程从投入运行到全部完成,CPU的利用率约为(26)%;R2的利用率约为(27)%(设备的利用率指该设备的使用时间与进程组全部完成所占用时间的比率)。正确答案:90% 70%解析:由于使用处理机和输入输出设备时采取可剥夺式多任务并行工作方...

2021-03-07 14:32:27 3369

原创 小白都懂的解决方法 C++错误 C3861“getline”: 找不到标识符

之前在做一个project的时候,要用到文件。尝试着在文件末尾添加数据,而不用重新建立一个新的文件追加数据后,再把旧文件删去。网上查了下,可以用 eof 判断是否到了文件尾: <span style="font-size:18px;">string n; fstream file; file.open(".\\treeInfo\\testID.txt"); if (!file) { cout << "op..

2020-10-14 18:31:12 2380

原创 (小白都看的懂的解决方法) VS2013和2015中出现类似于error C4996: ‘scanf‘: This function or variable may be unsafe的安全检查错误

用习惯了VS老版本的人当刚使用VS2013的时候可能总遇到类似于这样的错误: error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 也就是所谓的安全检查错误。例如下图中就是一个最简单的程...

2020-10-14 18:21:23 89

原创 C++复杂的必要性是为什么?为什么说C++太复杂?

文章目录1 常见观点 2 反驳观点 3 为什么要解决的问题越复杂,工具就不得不复杂? 3.1 类库和语言语意 3.2 折中方案 3.3 复杂度的守恒 1 常见观点可以轻易的找出许多文献说明C++太复杂了,例如学习C++的书籍的厚度。这样以至于C++的设计者Bjarne都曾怀疑具有类的C是不是已经太庞大了。因为,总有大量对语言的新特性的要求:对如何利用现有特性完成某些任务没有足够的了解 天生喜欢评价主流编程语言的人 许多使用者遇到了实际的问题,确实需要语言本身提.

2020-10-12 09:32:27 306

原创 看了就懂的C++中的c_str()函数用法

语法:const char *c_str();c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同.这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。1.c_str是一个内容为字符串指向字符数组的临时指针;2.c_str返回的是一个可读不可改的常指针;注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针比如:最好不要这样:...

2020-10-12 09:29:28 289

转载 scala中的Type使用

trait Base { val name: String }case class S( name: String, age: Int) extends Basecase class F( name: String, tel: Long) extends Basecase class Info[T <: Base]( b: T, time: String )object Test .

2020-09-29 16:24:25 1329

转载 6、封装详解

转载请注明出处 --爱技术的华仔(http://blog.csdn.net/yunhua_lee)封装的概念本身很好理解,意思就是把一堆东东装起来。但要想真正理解封装,这样还远远不够。第一个问题是:我们要封装什么?这个问题很好回答,封装当然是封装不想让别人知道或者看到的东东了。例如:你的身家。。。。。。漂亮MM的年龄。。。。。。富二代的女朋友数。。。。。明星是否整过容。。。。。。你是如何赚到100万的(想想什么样的赚钱方法不想让人知道?)。。。。。。你..

2020-09-29 16:23:27 287

转载 C++类中静态变量和静态方法使用介绍

静态成员的提出是为了解决数据共享的问题。实现共享有许多方法,如:设置全局性的变量或对象是一种方法。但是,全局变量或对象是有局限性的。这一章里,我们主要讲述类的静态成员来实现数据的共享。  静态数据成员  在类中,静态成员可以实现多个对象之间的数据共享,并且使用静态数据成员还不会破坏隐藏的原则,即保证了安全性。因此,静态成员是类的所有对象中共享的成员,而不是某个对象的成员。  使用静态数据成员可以节省内存,因为它是所有对象所公有的,因此,对多个对象来说,静态数据成员只存储一处,供所有对象共用。静态

2020-09-29 16:23:15 115

转载 8、多态详解

转载请注明出处 --爱技术的华仔(http://blog.csdn.net/yunhua_lee)在此要向将polymorphism翻译成“多态”的人致敬!因为多态的英文实在是太难理解了,而中文翻译得又如此形象如此贴切。从字面意思上就可以看出,多态就是“多种形态”的意思。但仔细探究一下:“多种形态”其实还是没法很好的理解,不同的人也还是会有不同的理解。动画片看得多的同学可能会以为:多种形态,就是很多种变身啦:),就像孙悟空72变一样,一会儿可以变成房子,一会儿可以变成牛魔...

2020-09-29 16:22:33 94

转载 7、继承详解

继承=遗传继承是面向对象最基本的特征,如果一个语言没有继承机制,就谈不上真正的面向对象的语言。继承本身很好理解,和我们日常生活中的“继承”概念基本一样:子承父业!所以,你可以看到面向对象的编程语言里面,有了“父类”、“子类”的概念。但是我个人认为“继承”这个说法并不确切,一般我们理解“继承”,都是理解为继承产业、继承财产,例如李泽钜继承李嘉诚的事业。但在面向对象的领域里面,并不是“子类”继承了“父类”的产业,而是继承了“父类”的特点,具体来说就是继承了“属性和方法”。所...

2020-09-29 16:21:46 150

转载 5、抽象详解

转载请注明出处 --爱技术的华仔(http://blog.csdn.net/yunhua_lee)抽象的中文概念非常形象,简单来说就是“抽取出来比较像的部分”。那么,在面向对象的领域里,抽取什么东西比较像的部分?还记得前面给类下的定义么?我们一起来回顾一下:类就是一组相似事物的统称。再结合我们对象的定义:对象就是一个具体的类,一个真实存在的类。我们就很容易发现了抽象的详细含义:抽取多个对象或者类中比较像的部分。注:史派克:《猫和老鼠》中的斗牛犬...

2020-09-27 08:55:02 2893

转载 3、接口详解

转载请注明出处 --爱技术的华仔(http://blog.csdn.net/yunhua_lee)“接口”是我见过的面向对象领域中滥用、乱用、误用最多的术语:有的人说:兄弟,给我提供一个“查询XXX”的接口。。。。。。有的人说:系统对外提供了“查询”、“插入”、“更新”、“删除”4个接口。。。。。。有的人说:我们要基于“接口”编程。。。。。。有的人说:你这样做破坏了我们的接口设计。。。。。。。。。。。。。。。。。倒不是在这里指责他们的水平有多差,而是接口这个属于的中文翻译确.

2020-09-27 08:54:08 310

转载 4、抽象类详解

转载请注明出处 --爱技术的华仔(http://blog.csdn.net/yunhua_lee)抽象类是一种特殊的类,其特殊性在于抽象类只能用于继承,不能被实例化为具体的对象。例如在Java中不能new一个抽象类,但可以extends一个抽象类。抽象类的定义其实很简单,但其使用并不那么简单,有几个问题我们需要深入研究一下。第一个问题是:有了类,为什么还要抽象类,为什么设计一种只能继承,不能实例化的类?答案就在于:某些场景下普通类不够用。例如,“苹果”、“桔子”、“香蕉”都...

2020-09-27 08:53:07 155

转载 2、对象新解

转自华仔博客有了“类”的清晰定义后,“对象”就比较容易理解了。对象就是一个具体的类,一个真实存在的类。前面我们提到面向对象是对现实世界的模拟,那么对象就是现实世界中存在的“物体”。例如,“人”是一个类,我就是一个“人”的对象,你也是“人”的对象,奥巴马也是“人”的对象。。。。。。又比如:你去国美买冰箱,但国美肯定没有一个单独叫做“冰箱”的东西卖给你,而是具体的某台海尔XX型号的冰箱、西门子XX型号的冰箱等。这里的“冰箱”就是一个类,而具体的“某台海尔XX型号冰箱”、“某台西门子XX.

2020-09-27 08:51:42 94

转载 1、不要说你懂类

转载自华仔博客方以类聚,物以群分——《周易易传》。类是面向对象领域里最基础的一个概念,也是面向对象分析和设计的基石。然而,如此重要的一个概念,竟然很难找到深入的说明,绝大部分介绍面向对象的书籍或者资料基本上都是这么解释的:“类是一组对象的抽象”,这个解释看起来清晰明了,但实际上犯了一个逻辑上的错误:以未明确的概念来解释待明确的概念,什么是对象,什么是抽象,我们都还不知道,你却用这个概念来解释类?那当然看不懂了。还有另外一个解释:类就是属性和方法的集合!甚至还会给出如下这样的样例...

2020-09-27 08:50:59 78

原创 部署模型

在上一篇博文“处理模型”中已经提到:在“处理模型”阶段划分为子系统后,为下一阶段打下了基础。当时卖了个关子没说具体是什么,本博就来揭开它的面纱,这就是:“部署模型”。l“部署模型”阶段的任务“部署模型”英文是“Deployment Model”,正好对应UML中的“Deployment Diagrams”,有的文章或者书籍也叫“物理模型”。我之所以没有用“物理模型”,是因为“物理模型”的概念容易误解大家认为这个阶段只需要关注物理设备,而“部署模型”相对更加全面。我们来看部署模...

2020-09-27 08:49:38 1168

原创 处理模型

看完“实现模型”,你是否长吁一声,准备拿起咖啡,惬意的喝上一杯?毕竟我们已经完成了从用例到编码的全过程了,确实是值得庆祝的一件事情,但“革命尚未成功、同志还需努力”,现在还不是享受的时候,接下来我们需要进入“处理模型”阶段。l“处理模型”阶段的任务“处理模型”英文是“Process Model”,Process在IT里面又叫“进程”,虽然和进程相关,但直接叫“进程模型”会误导大家,所以我叫它“处理模型”,也就是和处理相关的设计。我们来看看“处理模型”阶段的任务:1)进程、线程设...

2020-09-27 08:49:01 202

原创 设计模型

完成了“领域模型”阶段后,面向对象已经初具雏形,我们已经看到了那熟悉的“对象”了,例如“商品”、“交易”、“商品清单”等,看起来已经进入了面向对象的世界了,你是否已经摩拳擦掌,跃跃欲试,准备开始编码了呢?且慢,“领域模型”只是万里长征的第一步,通过领域模型分析得到的类还不能指导编码,还需要经过“设计模型”这个阶段的处理,才能基本上指导编码。前面我们提过,领域模型的对象是没有方法的,但最终的实现肯定是有方法的,因此设计模型的第一个任务就是“为对象添加方法”。那么是否给领域模型中的对象添加完方法就算

2020-09-27 08:47:38 186

原创 领域模型

按照一般的项目管理过程,“需求”之后是“分析”,那么在分析阶段对应的技术流程又是哪个?如何将需求阶段和分析阶段联系起来呢?答案就是“领域模型”什么是“领域模型”呢?只要抓住“领域(Domain)”二字就可以理解,也就是说领域模型是帮助我们理解相关领域知识的模型。进一步来问:为什么需要领域模型?前面不是有“用例模型”吗,看起来用例模型好像就是描述相关领域知识的,是否完成用例模型就可以进行设计了?如果你曾经写过用例文档,或者仔细看过用例文档,那么你肯定知道“用例”本身和“面向对象”、“类”这些都没有

2020-09-27 08:46:55 374

原创 面向对象的设计原则

1SRP(单一职责原则)这个原则看起来很简单,就是说一个类只能承担一个职责。但这里有一个关键:“职责”是如何理解的?按照汉语的理解,职责其实分为两部分:“职”和“责”。“职”就是这个类是什么,而“责”就是这个类要干什么。举个例子来说:Door是一个对象,那么它的“职”就是门,“责”就是“开门、关门”等;而Lock的“职”就是锁,“责”就是“上锁、开锁”。如果设计的时候Door同时具有锁的职责,那么Door就违反了SRP原则。2...

2020-09-27 08:45:53 163

原创 c++类的大小计算

c++中类所占的大小计算并没有想象中那么简单,因为涉及到虚函数成员,静态成员,虚继承,多继承以及空类等,不同情况有对应的计算方式,在此对各种情况进行总结。首先要明确一个概念,平时所声明的类只是一种类型定义,它本身是没有大小可言的。 我们这里指的类的大小,其实指的是类的对象所占的大小。因此,如果用sizeof运算符对一个类型名操作,得到的是具有该类型实体的大小。关于类/对象大小的计算首先,类大小的计算遵循结构体的对齐原则 类的大小与普通数据成员有关,与成员函数和静态成员无关。即普通成员函数,静

2020-09-23 22:36:23 119

原创 c++的运算符重载

什么是运算符重载?运算符重载是通过创建运算符函数实现的,运算符函数定义了重载的运算符将要进行的操作。运算符函数的定义与其他函数的定义类似,惟一的区别是运算符函数的函数名是由关键字operator和其后要重载的运算符符号构成的。运算符函数定义的一般格式如下:<返回类型说明符> operator <运算符符号>(<参数表>){ <函数体>}1 2 3 4 5 6为什么要重载运算符?C++中预定义的运算符的操作对象只能是

2020-09-23 22:33:35 141

原创 c++initializer_list详解

initializer_list是C++11提供的新类型,定义在头文件中。用于表示某种特定类型的值的数组,和vector一样,initializer_list也是一种模板类型。template< class T >class initializer_list;1 2要介绍initializer_list的使用,有必要先谈一谈列表初始化。C++11扩大了初始化列表的适用范围,使其可用于所有内置类型和用户定义的类型。无论是初始化对象还是某些时候为对象赋新值,都可以使用这样一组由

2020-09-23 22:32:01 6064

原创 c++类的构造函数两种初始化成员方式的区别

类的构造函数在初始化成员时,有以下两种方式:方式一:CSomeClass::CSomeClass(){ x=0; y=1;}方式二:CSomeClass::CSomeClass() : x(0), y(1){}方式一我们可以称为赋值初始化,通过在函数体内进行赋值初始化。方式二我们称为列表初始化,在冒号后使用初始化列表进行初始化。这两种方式的主要区别在于:对于在函数体中初始化,是在所有的数据成员被分配内存空间后才进行的...

2020-09-23 22:30:46 227

原创 C++的类和对象(初始化列表)

作用:C++提供了初始化列表语法,用来初始化属性; 语法:构造函数( ):属性1(值1),属性2(值2){ }#include <iostream>#include <string>using namespace std;class Person{public: //初始化列表:初始化属性 Person() :m_A(10), m_B(20), m_C(30) { } int m_A; int m_B; i...

2020-09-19 17:11:07 118

原创 小白都看得懂 Centos 7 关闭防火墙和selinux

直接上命令在root用户下systemctl stop firewalldsystemctl disable firewalldsystemctl status firewalldvi /etc/selinux/config把SELINUX=enforcing 改成 SELINUX=disabled重启电脑就可以了————————————————...

2019-08-18 20:34:22 138

原创 Linux的基本目录结构

Linux基础----目录结构基本介绍1)Linux的目录中有且只有一个根目录 /2)Linux的各个目录存放的内容已经规划好,不要乱放文件3)Linux以文件的形式管理我们的设备,因此Linux系统中,一切皆为文件Linux的目录树结构/bin 存放着最常使用的一些命令/sbin s代表 super user ,存放着系统管理员所使用的系统管理程序/home 普通用...

2019-04-06 12:57:00 75

空空如也

空空如也

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

TA关注的人

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