RED

YUM 和 RPM 包管理器的不同之处

空扰寡人 提交于 2020-05-01 10:20:01
软件包管理器在 Linux 系统中扮演着重要的角色。它允许你安装、更新、查看、搜索和删除软件包,以满足你的需求。 每个发行版都有自己的一套包管理器,依据你的 Linux 发行版来分别使用它们。 RPM 是最古老的传统软件包管理器之一,它是为基于 Red Hat 的系统设计的,如 Red Hat Enterprise Linux(RHEL)、CentOS、Fedora 和 openSUSE(它基于 suse Enterprise Linux)等系统。但在依赖解析和包更新(全系统更新/升级)方面,RPM 包管理器有一个突出的限制。 如果你想知道 YUM 和 DNF 包管理器的区别 请参考该文章。 这意味着 yum 可以自动下载并安装所有需要的依赖项,但 rpm 会告诉你安装一个依赖项列表,然后你必须手动安装。 当你想用 rpm 命令 安装一组包时,这实际上是不可能的,而且很费时间。 这时, YUM 包管理器 就派上了用场,解决了这两个问题。 什么是 RPM? RPM 指的是 RPM Package Manager(原名 Red Hat Package Manager),是一个功能强大的命令行包管理工具,是为 Red Hat 操作系统开发的。 它现在被用作许多 Linux 发行版的核心组件,如 Centos、Fedora、Oracle Linux、openSUSE 和 Mageia 等。

Spring Cloud Eureka 总结

冷暖自知 提交于 2020-05-01 07:16:25
写在前面的话(给自己) 为了巩固自身学习,从今天(2019.01.08),每天晚上开始总结SpringCloud的相关学习,用于自我勉励,自我积累与人生总结。 总结2018年的我,心态较之从前浮躁,杂念多了,没有用心,更没能好好的反思自己;按照自己单身的情况,平时我本应该有更多的时间去学习,去提高,去真正的充实自己。 学习本身就并非易事,无论是为了生活还是理想,还是一种生活状态,最重要的是要用心,要真正的去理解,更要沉得住气,静得下心。 选择了IT这一行,应该有苦修的觉悟,任何技术只停留在简单会用的阶段(目前我深陷其中),其实是远远不够的。就跟我最早学了spring-cloud-ribbon只知道一个**@LoadBalanced**一样,感觉很空洞,遇到问题可能就会束手无策,因为自己根本没有真正的学会一件事,没有真正悟到它的原理,认清它的本质。 2019年,我希望我能戒掉周末还有时间打游戏的生活状态,能充实自己,克服焦虑; 2019年,我希望我能坚持,能勤奋; 2019年,我希望我能多读书,能成长; 2019年,我希望我能坦然面对生活中的任何压力,能有内驱动力,能找到女朋友,找到外驱动力。 希望我每次看到这段给自己的话,都不要忘了初心。 好了,闲言碎语,皆尽于此。 在微服务架构中,注册中心是核心的基础服务。 它主要记录各个微服务和微服务地址的映射关系

KVM (虚拟机创建及管理,存储管理)

一笑奈何 提交于 2020-05-01 04:07:05
#<font color=red>创建KVM虚拟机</font> ###1.图形化界面创建 第一步:查看软件包组 yum grouplist 第二步:下载GUI界面的软件包组 yum groupinstall "Server with GUI" 第三步:进入图形化界面 startx ###2.复制镜像文件 复制镜像文件到 /var/lib/libvirt/images/ /var/lib/libvirt/images/: CentOS-7-x86_64-DVD-1611.iso ###3.可以创建虚拟机了 找到virt-manager工具并安装虚拟机 #<font color=red>命令行下创建 && 管理虚拟机</font> Virt-install: 命令行下创建虚拟机的命令,不过在它后面需要跟上很多的参数 --name: 虚拟机的名字。 --disk Location: 磁盘映像的位置。 --graphics : 怎样连接 VM ,通常是 SPICE 。 --vcpu : 虚拟 CPU 的数量。 --ram : 以兆字节计算的已分配内存大小。 --location : 指定安装源路径 --network : 指定虚拟网络,通常是 virbr0 或者自己设定的 br0 #例如: virt-install --name=test --disk path=/export/kvm

《文献管理与信息分析》快速学习

无人久伴 提交于 2020-05-01 02:58:30
本周快速学习了《文献管理与信息分析》课程,本课程针对网络时代的个人信息需求,对信息获取、信息管理、信息分析等内容进行了讲解,目前最新版的课程更新到第五周。通过本课程的学习,对搜索、RSS、为知笔记、思维导图有了更清晰的认识。在本课程的学习中还思考了以下问题: 1、<span style="color:red"> 新木桶理论 </span>引发的对学习的思考。 每个人都存在着短板,当走出校园的时候,可怕的不是自己存在缺点,而是没有任何的长处可言。在学习中要注意培养以下几种意识:有所学有所不学的专注意识;学习精华内容的牛人意识;善假于物的工具意识(找书、网页、视频、找人);提升效率的时间投资意识;传播知识共同成长的分享意识(费曼学习法)。 2、搜索引擎的工作原理 首先在互联网中发现、搜集网页信息;同时对信息进行提取和组织建立索引库;再由检索器根据用户输入的查询关键字,在索引库中快速检出文档,进行文档与查询的相关度评价,对将要输出的结果进行排序,并将查询结果返回给用户。要注意的是搜索引擎搜索的不是网络而是数据库。 3、两个高级检索命令Site、Filetype Site:指定在特定网站进行检索。 使用格式 site:网址 关键词 关键词 site:网址 作用 替代站内搜索 制定网站搜索,缩小范围,提供精准结果 搜索不能直接访问的网站,死网站 Filetype:指定目标文献的类型 使用格式

Java8新特性——Optional类的使用(有效的避免空指针异常)

烂漫一生 提交于 2020-05-01 01:20:55
##OPtional类的使用 ###概述 到目前为止,臭名昭著的空指针异常是导致Java应用程序失败的最常见原因。以前,为了解决空指针异常,Google公司著名的Guava项目引入了Optional类,Guava通过使用检查空值的方式来防止代码污染,它鼓励程序员写更干净的代码。受到Google Guava的启发,Optional类已经成为Java 8类库的一部分。 Optional实际上是个容器:<font color =rerd size=3>它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。</font> Optional类的Javadoc描述如下:这是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。 <font color =red>Optional<T> 类(java.util.Optional) 是一个容器类,代表一个值存在或不存在,原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念。并且可以避免空指针异常。</font> ###Optional类的常用方法: <font color=red size=5>Optional.empty() : 创建一个空的 Optional 实例 Optional.of(T t)

自定义类型(结构体,枚举,联合)

六月ゝ 毕业季﹏ 提交于 2020-04-30 14:55:54
结构体 结构是一些值的集合,这些值被称为成员变量,结构的每个成员可以是不同类型的变量。 结构体的声明: struct stu { member-list; }variable-list; 例如描述一个学生: struct stu { char name[20]; int age; char tele[13]; char addr[20]; }; 匿名结构体类型: struct { char name[20]; int age; char tele[13]; char addr[20]; }x; struct { char name[20]; int age; char tele[13]; char addr[20]; }name[20], p; // p=&x 合法吗 //编译器会把上面的两个声明当成不同的两个类型,所以是非法的。 结构体的自引用: struct stu { int data; struct stu next; }; 结构体内存对齐: 计算结构体的大小: 首先得掌握结构体的对齐规则: 第一个成员在与结构体变量偏移量为0的地址处。 其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。 对齐数=编译器默认的一个对齐数与该成员大小的较小值。 结构体总大小为最大对齐数( 每个成员变量都有一个对齐数数)的整数倍。 如果嵌套了结构体的情况

【python大牛分享】python——接口自动化测试框架环境的使用

痴心易碎 提交于 2020-04-30 11:25:42
本文总结分享介绍接口测试框架开发,环境使用python3+selenium3+unittest+ddt+requests测试框架及ddt数据驱动,采用Excel管理测试用例等集成测试数据功能,以及使用HTMLTestRunner来生成测试报告,目前有开源的poman、Jmeter等接口测试工具,为什么还要开发接口测试框架呢?因接口测试工具也有存在几点不足。 测试数据不可控制。比如接口返回数据不可控,就无法自动断言接口返回的数据,不能断定是接口程序引起,还是测试数据变化引起的错误,所以需要做一些初始化测试数据。接口工具没有具备初始化测试数据功能,无法做到真正的接口测试自动化。 无法测试加密接口。实际项目中,多数接口不是可以随便调用,一般情况无法摸拟和生成加密算法。如时间戳和MDB加密算法,一般接口工具无法摸拟。 扩展能力不足。开源的接口测试工具无法实现扩展功能。比如,我们想生成不同格式的测试报告,想将测试报告发送到指定邮箱,又想让接口测试集成到CI中,做持续集成定时任务。 测试框架处理过程如下: 首先初始化清空数据库表的数据,向数据库插入测试数据; 调用被测试系统提供的接口,先数据驱动读取excel用例一行数据; 发送请求数据,根据传参数据,向数据库查询得到对应的数据; 将查询的结果组装成JSON格式的数据,同时根据返回的数据值与Excel的值对比判断

jQuery之高级选择器

帅比萌擦擦* 提交于 2020-04-30 09:43:15
二.jQuery高级选择器 针对上次课有点复杂的选择器,或之前没有接触过的选择器。 为什么要反复的讲选择器,这个就是jQuery的一个核心点,在之前js的时候,通过复杂的document.getElement(s)ById|ByTagName|ByClassName等等,这些方式,找页面的元素对象。同样,在jQuery里面,我们要操作页面对象还是需要找对象,找页面对象,就是通过各类的选择器来找,简化我们的业务代码量。 $(“各类选择器”)–>对象 $(“各类选择器”).操作 $(“div”).css(‘属性’,"值) $("#result").val(result) $("#jia").click(function(){ //在这里我们可以若干操作的代码 }) 2.1基本过滤选择器 基本过滤选择器 符号 说明 用法 :eq(index) index是从0开始的下一个数字,选择序号为index的元素.(选择第一个匹配的元素) $(“li:eq(1)”).css(“background”,“red”) :gt(index) index是从0开始的一个数字,选择序号大于index的元素 $(“li:gt(2)”).css(“background”,“red”) :lt(index) index是从0开始的一个数字,选择序号小于index的元素 $(“li:lt(2)”).css(

【python大牛分享】python——接口自动化测试框架环境的使用

允我心安 提交于 2020-04-30 08:49:54
本文总结分享介绍接口测试框架开发,环境使用python3+selenium3+unittest+ddt+requests测试框架及ddt数据驱动,采用Excel管理测试用例等集成测试数据功能,以及使用HTMLTestRunner来生成测试报告,目前有开源的poman、Jmeter等接口测试工具,为什么还要开发接口测试框架呢?因接口测试工具也有存在几点不足。 测试数据不可控制。比如接口返回数据不可控,就无法自动断言接口返回的数据,不能断定是接口程序引起,还是测试数据变化引起的错误,所以需要做一些初始化测试数据。接口工具没有具备初始化测试数据功能,无法做到真正的接口测试自动化。 无法测试加密接口。实际项目中,多数接口不是可以随便调用,一般情况无法摸拟和生成加密算法。如时间戳和MDB加密算法,一般接口工具无法摸拟。 扩展能力不足。开源的接口测试工具无法实现扩展功能。比如,我们想生成不同格式的测试报告,想将测试报告发送到指定邮箱,又想让接口测试集成到CI中,做持续集成定时任务。 测试框架处理过程如下: 首先初始化清空数据库表的数据,向数据库插入测试数据; 调用被测试系统提供的接口,先数据驱动读取excel用例一行数据; 发送请求数据,根据传参数据,向数据库查询得到对应的数据; 将查询的结果组装成JSON格式的数据,同时根据返回的数据值与Excel的值对比判断

Python 3 包&模块

倾然丶 夕夏残阳落幕 提交于 2020-04-30 02:33:20
##2. 包 包是用来组织模块文件的,一个包中含有若干模块文件(“.py”文件)和一个“ init .py”文件 (在python3中,即使包下没有__init__.py文件,import 包仍然不会报错,而在python2中,包下一定要有该文件,否则import 包报错) 创建包的目的不是为了运行,而是为了导入使用,或者说将相同功能的模块文件组织在一起。 ###2.1 包的目录结构 |---包 |---|--- __init__.py 包的标志文件 |---|--- 模块1 |---|--- 模块2 |---|--- 子包(子文件夹) |---|---|--- __init__.py 包的标志文件 |---|---|--- 子包模块1 |---|---|--- 子包模块2 ###2.2 包的导入和使用 包的导入和使用有以下几种情况: #1. 直接导入一个包,可以使用init.py中的内容 import package_name #使用方式: package_name.func_name package_name.class_name.func_name() #2. 为包添加别名 import package_name as p #在使用上同1类似,需要添加前缀 #3. 导入包中某一个具体的模块 import package.module #使用方式: package.module