<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ssbviv的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ssbviv</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ssbviv]]></copyright><item><title><![CDATA[Linux常用命令]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/124585143</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/124585143</guid><author>ssbviv</author><pubDate>Thu, 05 May 2022 11:24:27 +0800</pubDate><description><![CDATA[Linux命令
ifconfig  查看ip地址（需要联网）
cd 切换文件夹
cd … 返回上级目录
cd ~  是进入用户在该系统的home目录
cd - 返回进入此目录之前所在的目录(不一定是上级目录)
cd / 返回根目录
pwd 查看当前目录
ls  查看当前文件下的内容
ls  -a  展示当前文件夹下的所有文件夹,包含隐藏文件 隐藏文件以.开头的文件
ls -l 展示详细列表
ls - lh 把文件大小以人性化的方式展示
ll 等于ls - l
mkdir 创建文件夹
mkdir   文件名 ]]></description><category></category></item><item><title><![CDATA[MongoDB常用命令]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/123805734</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/123805734</guid><author>ssbviv</author><pubDate>Mon, 28 Mar 2022 20:57:55 +0800</pubDate><description><![CDATA[Mongodb常用命令Mongodb命令查询数据的语法更新文档的语法：删除文档的语法结构统计查询分页列表查询排序查询正则的复杂条件查询比较查询包含查询条件连接查询索引的查看索引的创建索引的移除索引的使用
Mongodb命令
​	删除数据库
​	db.dropDatabase()
​	创建集合
​	db.createCollection(name)
​	name: 要创建的集合名称
​	集合删除
​	db.collection.drop()
​	或 db.集合.drop()
​	单个文档插入
​	db.集合.]]></description><category></category></item><item><title><![CDATA[Docker常用命令]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/123780393</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/123780393</guid><author>ssbviv</author><pubDate>Sun, 27 Mar 2022 20:18:39 +0800</pubDate><description><![CDATA[Docker常用命令Docker 进程相关命令Docker 镜像相关命令Docker 容器相关命令Docker容器的数据卷DockerfileDocker私有仓库
Docker 进程相关命令
启动docker服务: systemctl start docker
停止docker服务: systemctl stop docker
重启docker服务: systemctl restart docker
查看docker服务状态: systemctl status docker
设置开机启动docker服务: ]]></description><category></category></item><item><title><![CDATA[今日学习——插入排序]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/123502018</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/123502018</guid><author>ssbviv</author><pubDate>Tue, 15 Mar 2022 15:01:40 +0800</pubDate><description><![CDATA[插入排序定义原理举例代码
定义
有一个已经有序的数据序列，要求在这个已经排好的数据序列中插入一个数，但要求插入后此数据序列仍然有序，这个时候就要用到一种新的排序方法–插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中，从而得到一个新的、个数加一的有序数据，算法适用于少量数据的排序，时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素，但将最后一个元素除外(让数组多一个空间才有插入的位置)，而第二部分就只包含这一个元素(即待插入元]]></description><category></category></item><item><title><![CDATA[今日学习——选择排序]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/123448528</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/123448528</guid><author>ssbviv</author><pubDate>Sat, 12 Mar 2022 20:04:39 +0800</pubDate><description><![CDATA[选择排序定义原理例子代码
定义
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素，存放在序列的起始位置，直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5， 5， 3]第一次就将第一个[5]与[3]交换，导致第一个5挪动到第二个5后面)。（来自百度）
原理
1.每一次遍历的过程中，都假定第一个索引处的元素是最小值，和其他索引处的值依次进行比较，如果当前索引处的值大于其他某个索引处的值，则假定其他某个索]]></description><category></category></item><item><title><![CDATA[今日学习——冒泡排序]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/123431963</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/123431963</guid><author>ssbviv</author><pubDate>Fri, 11 Mar 2022 20:39:59 +0800</pubDate><description><![CDATA[冒泡排序定义原理例子代码实现
定义
冒泡排序（Bubble Sort，台湾译为：泡沫排序或气泡排序）是一种简单的排序算法。它重复地走访过要排序的数列，一次比较两个元素，如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换，也就是说该数列已经排序完成。（来自百度）
原理

比较相邻的元素。如果前一个元素比后一个元素大，就交换这两个元素的位置。
对每一对相邻元素做同样的工作，从开始第一对元素到结尾的最后一对元素。最终最后位置的元素就是最大值。

例子
要排序的数组为：{4,5,7,6]]></description><category></category></item><item><title><![CDATA[restful风格]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/123284808</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/123284808</guid><author>ssbviv</author><pubDate>Fri, 04 Mar 2022 20:40:44 +0800</pubDate><description><![CDATA[前言
这个笔记来自黑马程序员的SpringBoot，里面是老师的笔记，这里给写了下来
REST风格
REST简介
* REST表现形式状态转换

	传统风格资源描述形式

		http：//localhost/user/getById?id=1

		http：//localhost/user/saveUser

	REST风格描述形式

		http：//localhost/user/1

		http：//localhost/user
* 优点:
	* 隐藏资源的访问行为，无法通过地址得知对资源是何种操]]></description><category></category></item><item><title><![CDATA[使用ajax+html完成注册功能]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/122168322</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/122168322</guid><author>ssbviv</author><pubDate>Mon, 27 Dec 2021 11:50:35 +0800</pubDate><description><![CDATA[目录一、引言二、正文注册页面注册功能（后台）注册功能（前台）注册功能（js代码）三、说明
一、引言
本文使用ajax+html来完成注册功能，本文已将源代码放到了码云上，有需要的可以自行查看。登录功能在这儿—&gt;https://editor.youkuaiyun.com/md/?articleId=122168322
如果下边代码出现粘贴问题或者其他问题可以来码云看全部的代码。
网址：https://gitee.com/rabbit-a/learning-summary.git
先放代码后说明
二、正文
注册页面
]]></description><category></category></item><item><title><![CDATA[使用ajax+html来完成登录功能]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/122150430</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/122150430</guid><author>ssbviv</author><pubDate>Mon, 27 Dec 2021 11:21:27 +0800</pubDate><description><![CDATA[一、引言
本文使用ajax+html来完成注册登录功能，本文已将源代码放到了码云上，有需要的可以自行查看。
二、正文
首先是登录功能

]]></description><category></category></item><item><title><![CDATA[简单有用的jar包下载方法及地址]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/121442589</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/121442589</guid><author>ssbviv</author><pubDate>Sat, 20 Nov 2021 17:49:00 +0800</pubDate><description><![CDATA[jar包的下载
一般来说我们所需要的jar包都是在官网上下载的，但是对于一些大的项目可能需要很多的jar包，于是我们得去不同的官网去下载，不仅难找，难下载，有时下载的版本与所需的不一致。
今天我学习了maven后，发现在maven的官网有所有开源的jar包，我们所需的jar包都可以在那儿下载，网址如下：
https://mvnrepository.com/,这个是以后maven会用到的，打开时可能会让你验证。如图：

**验证后就进去了。
进去后是这样的**

需要什么jar包就搜什么jar包，比如找mys]]></description><category></category></item><item><title><![CDATA[QT的下载及环境配置]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/111657334</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/111657334</guid><author>ssbviv</author><pubDate>Thu, 24 Dec 2020 22:10:18 +0800</pubDate><description><![CDATA[QT下载地址：
http://download.qt.io/archive/qt/.
建议下载最新的
下载到这一步时(如下图)

建议需要啥选啥，不然全选的话内存占的比较多，并且使用Qtcreater时运行非常慢。
配置环境需要右击桌面上的“此电脑”，打开属性，点击高级系统设置，右下角有个环境变量，进去之后，找到系统变量里的“Path”，打开后在下面添加：
C:\Qt\Qt5.11.1\5.11.1\mingw53_32\bin
这是你的QT文件里的bin文件路径，不同的人可能路径不同，但是就是这个格式，确]]></description><category></category></item><item><title><![CDATA[find_if在类里的应用]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/111385393</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/111385393</guid><author>ssbviv</author><pubDate>Fri, 18 Dec 2020 17:32:03 +0800</pubDate><description><![CDATA[纠结我好久的find_if在类里的应用，终于弄明白了。
其实就是第三个参数难倒了我。
原型如下
template&lt;class InputIterator, class Predicate&gt;
InputIterator find_if(InputIterator _First, InputIterator _Last, Predicate _Pred);
注意find_if不属于vector的成员，而存在于算法中，应加上头文件
#include &lt; algorithm&gt;
参数三就是需要]]></description><category></category></item><item><title><![CDATA[怎么计算一个图像的面积呢？？？？？]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/109356195</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/109356195</guid><author>ssbviv</author><pubDate>Thu, 29 Oct 2020 11:55:27 +0800</pubDate><description><![CDATA[任务描述
本关任务：设计一个矩形类、一个圆形类和一个图形基类，计算并输出相应图形面积。
相关知识
为了完成本关任务，你需要掌握纯虚函数和抽象类的使用。
纯虚函数
有时在类中将某一成员声明为虚函数，并不是因为基类本身的要求，而是因为派生类的需求，在基类中预留一个函数名，具体功能留给派生类区定义。这种情况下就可以将这个纯虚函数声明为纯虚函数。即纯虚函数的作用是在基类中为其派生类保留一个函数的名字，以便派生类对它进行定义。
纯虚函数就是在声明虚函数时被初始化为0的函数，但它只有名字，不具备函数功能，不能被调用，其]]></description><category></category></item><item><title><![CDATA[干掉它（复读机）]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/109356148</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/109356148</guid><author>ssbviv</author><pubDate>Thu, 29 Oct 2020 11:52:47 +0800</pubDate><description><![CDATA[任务描述
本关任务：设计三个复读机类并实现一个普通函数。
相关知识
为了完成本关任务，你需要掌握虚析构函数的使用。
多态性的体现
C++ 允许将一个对象的指针赋值给它的父类指针变量。而当通过父类指针调用一个虚函数时，则会调用子类中最后被重写的那个版本，这样对于同一段通过指针调用某个虚函数的代码，就会因为实际指向的对象不同，而调用不同函数，这就是所谓的多态性。
同理，通过引用调用一个虚函数，也会有这样的效果。
例如：
class Base
{
public:
virtual void Cal(int a,in]]></description><category></category></item><item><title><![CDATA[我和它（复读机）]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/109356092</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/109356092</guid><author>ssbviv</author><pubDate>Thu, 29 Oct 2020 11:49:53 +0800</pubDate><description><![CDATA[任务描述
本关任务：设计人类、英语学生类和复读机类三个类。
相关知识
为了完成完成本关任务，你需要掌握虚函数的基本使用。
多态性
在面向对象的方法中，多态性是指向不同对象发送同一个消息，不同对象在接收时会产生不同的行为（方法）。
通俗点说就是可以不用像 C 语言中为了求多种图形的面积而针对不同的图形各设计一个独立名字的函数，在 C++ 中只要设计一个专门用于求面积的函数名即可。这个专门用于求面积的函数名可以作为各种求图形面积的函数名。
这么做的好处在于程序设计者可以省去设立多个函数名对应多个函数的麻烦，使用]]></description><category></category></item><item><title><![CDATA[是狼人类]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/109356049</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/109356049</guid><author>ssbviv</author><pubDate>Thu, 29 Oct 2020 11:46:46 +0800</pubDate><description><![CDATA[任务描述
本关任务：采用多继承设计一个狼人类。
相关知识
在前面的关卡中，我们学习的派生类都只有一个基类，称为单继承。除此之外，C++ 也是支持多继承的，即一个派生类可以有两个或多个基类。下面我们就一起来学习多继承的使用。
多继承
C++ 语言支持一个子类同时继承多个父类，就像单继承时一样，继承多个父类也就相当于同时有了多个父类的公有成员和保护成员，而且可以单独为每一个父类指定继承的方式。
因此多继承的优点说可以使一个类实现多个接口，而缺点使容易造成混淆。
如果要继承多个类，只需将父类的类名依次写在子类类名]]></description><category></category></item><item><title><![CDATA[不是很难的研究生信息类]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/109356013</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/109356013</guid><author>ssbviv</author><pubDate>Thu, 29 Oct 2020 11:44:51 +0800</pubDate><description><![CDATA[任务描述
本关任务：采用私有继承完成学生信息类和研究生信息类的设计。
相关知识
为了完成本关任务，你需要掌握私有继承的使用。
私有继承
私有继承在保护继承的基础上更进一步，访问性进一步降低，父类中的公有成员和保护成员的访问性均降到了私有 private，不仅对外不可见，对这个类的子类也不可见了。
要私有继承一个类，只需继承时在类名前面加上 private 关键字即可。
例如：
/* 继承关系：Base-&gt;D1-&gt;D2 */
class Base
{
public:
int A;
};
class]]></description><category></category></item><item><title><![CDATA[保护继承----没啥难的]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/109355955</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/109355955</guid><author>ssbviv</author><pubDate>Thu, 29 Oct 2020 11:42:58 +0800</pubDate><description><![CDATA[任务描述
本关任务：采用保护继承设计学生信息类。
相关知识
为了完成本关任务，你需要掌握保护继承的使用。
保护继承
保护继承相对于公有继承，访问性有所降低，父类的公有成员在子类中变成了保护成员，也就无法在外部通过一个对象访问父类成员了，但是对于这个子类的子类仍然是可见的（因为可见性只是降到了 protected ）。
如果要保护继承一个类，只需继承时在类名前面加上 protected 关键字即可。
例如：
class Base
{
public:
int A;
};
class D1 : protected]]></description><category></category></item><item><title><![CDATA[公有继承 ——就这样了]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/109355889</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/109355889</guid><author>ssbviv</author><pubDate>Thu, 29 Oct 2020 11:40:15 +0800</pubDate><description><![CDATA[任务描述
本关任务：采用公有继承设计学生信息类。
相关知识
继承
继承是使代码可以复用的重要手段，也是面向对象程序设计的核心思想之一。简单的说，继承是指一个对象直接使用另一对象的属性和方法。
C++ 中的继承关系就好比现实生活中的父子关系，继承一笔财产比白手起家要容易得多，原始类称为基类，继承类称为派生类，基类是对派生类的抽象，派生类是对基类的具体化。它们是类似于父亲和儿子的关系，所以也分别叫父类和子类。而子类又可以当成父类，被另外的类继承。
继承方式
不同的继承方式决定了基类成员在派生类中的访问属性，主要]]></description><category></category></item><item><title><![CDATA[静态成员 —— 模拟共享书店]]></title><link>https://blog.youkuaiyun.com/ssbviv/article/details/109287577</link><guid>https://blog.youkuaiyun.com/ssbviv/article/details/109287577</guid><author>ssbviv</author><pubDate>Mon, 26 Oct 2020 12:46:01 +0800</pubDate><description><![CDATA[静态成员 —— 模拟共享书店
任务描述
本关任务：假设有一个这样的共享书店，当客户进入书店时需要托管一定数量的书籍，而这些书籍将被书店内所有用户共享，当客户离开书店时，他便会把之前进入书店托管的书一起带走。现请你编写代码设计这个共享书店。
相关知识
对象的内存中包含了成员变量，不同的对象占用不同的内存，这使得不同对象的成员变量相互独立，它们的值不受其他对象的影响。例如有两个相同类型的对象 a、b，它们都有一个成员变量 name，那么修改 a 对象的 name 值不会影响 b 中的 name 值。
可是有时候]]></description><category></category></item></channel></rss>