自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 git忽略已经跟踪的文件

有些文件已经在 .gitignore中,但还被跟踪原因:.gitignore只能忽略那些原来没有被track的文件。解决方法:本地缓存删除(改变成未track状态),然后再提交。push 所有代码 git rm -r --cached . git add . git commit -m 'update .gitignore' git push即可。...

2021-09-08 20:40:37 746 1

原创 docker

概念一个开源的应用容器引擎。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口容器性能开销极低。docker是一种容器技术,解决软件跨环境迁移问题。安装卸载旧版本sudo yum remove docker \ docker-client \ docker-client-latest

2021-06-08 17:19:11 134

原创 nginx基本原理

原文链接nginx有两个进程 master 和 worker两者关系worker是如何工作的一个master和多个worker的好处可以使用 nginx –s reload 热部署,利用 nginx 进行热部署操作。每个 woker 是独立的进程,如果有其中的一个 woker 出现问题,其他 woker 独立的,继续进行争抢,实现请求过程,不会造成服务中断设置多少个worker合适worker 数和服务器的 cpu 数相等是最为适宜的。连接数worker_conne

2021-02-05 11:11:14 160 2

原创 nginx配置——反向代理、负载均衡、动静分离、高可用集群

原文链接配置文件所在位置:/usr/local/nginx/conf/nginx.conf组成全局块从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令,主要包括配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以及配置文件的引入等。比如:worker_processes 1;这是 Nginx 服务器并发处理服务的关键配置,worker_processes 值越大,

2021-02-05 11:10:27 166 1

原创 nginx基本概念——简介、正向代理、反向代理、负载均衡、动静分离、常用命令

原文链接nginx简介Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php等。但是不支持 java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发,性能是其最重要的

2021-02-05 11:09:00 129 2

原创 pandas_01_pandas基础

原文链接常用数据类型Series 一维,带标签(索引)数组t = pd.Series([random.randint(0, 10) for i in range(5)], index=list("abcde"))a 10b 0c 3d 9e 7dtype: int64或通过字典创建Seriesa = {"name": "小李", "age": 18, "tele": "187888"}t1 = pd.Series(a)print(t1)

2021-01-29 12:22:21 113

原创 numpy-04-nan

原文链接数组的拼接注意参数是元组,而不是两个ndarray# 竖直拼接print(np.vstack((t1, t2)))print("*" * 100)# 水平拼接print(np.hstack((t1, t2)))数组的行列交换行交换t[[0, 1], :] = t[[1, 0], :]列交换t[:, [0, 2]] = t[:, [2, 0]]获取最大值最小值的位置np.argmax(t,axis=0) # 每一列的最值np.argmin(t,axis=1)

2021-01-29 12:20:47 169

原创 numpy-03-索引和切片

原文链接索引和切片import numpy as npuk = "./loadtxt/UK_video_data_numbers.csv"us = "./loadtxt/XXXX.csv"t1 = np.loadtxt(uk, delimiter=",", dtype="int64")# print(t1)"""他们都是ndarray类型的"""# 取某一行print(t1[2])print(t1[2, :])print("*" * 100)# 取连续多行print(t

2021-01-29 12:19:49 166

原创 numpy-02-读取本地数据

原文链接轴(axis)在numpy中可以理解为方向,使用0,1,2…数字表示,对于一个一维数组,只有一个0轴,对于2维数组(shape(2,2)),有0轴和1轴,对于三维数组(shape(2,2, 3)),有0,1,2轴。读取数据np.loadtxt(fname,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)unpack:其实就是90°转换一下。行变列、列变行。转置转置是一种变换,对于numpy中的数组来

2021-01-29 12:18:37 65

原创 numpy-01_创建数组、数组计算

原文链接定义一个在Python中做科学计算的基础库,重在数值计算,也是大部分PYTHON科学计算库的基础库,多用于在大型、多维数组上执行数值运算。是用于处理数值型的数据优点:快速方便科学计算的基础库numpy创建数组(矩阵)import numpy as npimport random# 使用numpy生成数组,得到 ndarray 的数据类型# dtype 参数指定数组中数据的类型a = np.array([0, 1, 2, 3, 4], dtype="int64")b

2021-01-29 12:17:19 229

原创 Java泛型

博客地址定义泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。常用的泛型变量E:元素(Element),多用于java集合框架K:关键字(Key)N:数字(Number)T:类型(Type)V:值(Value)使用泛型的意义适用于多种数据类型执行相同的代码(代码复用)泛型中的类型在使用时指定,不需要强制类型转换(类型安全,编译器会检查类型)泛型类的使用

2021-01-06 16:46:06 88 1

原创 matplotlib-04-绘制直方图

基本演示和折现图相似 折线图使用plt.hist(a, num_bin)绘制直方图 num_bin是组数原始数据可以绘制直方图,如果初步统计了可以绘制为条形图from matplotlib import pyplot as plt# 中文import matplotlibfont = {'family': 'MicroSoft Yahei', 'weight': 'bold', 'size': '10'}matplotlib.rc('font', **fo

2021-01-05 23:03:11 80

原创 matplotlib-03-绘制条形图

基本演示和折现图相似 折线图使用 plt.bar(range(len(x)), y, width=0.3, color="green")绘制竖着的条形图使用plt.barh(range(len(x)), y, height=0.3)绘制横着的条形图from matplotlib import pyplot as plt# 中文import matplotlibfont = {'family': 'MicroSoft Yahei', # 'weight': 'bold',

2021-01-05 23:01:58 81

原创 matplotlib-02-绘制散点图

title: matplotlib_02_绘制散点图date: 2021-01-04 21:32:39categories:matplotlibtags:基本演示与折线图一样的 折线图使用 plot.scatter(x, y)from matplotlib import pyplot as pltimport matplotlibfont = {'family': 'MicroSoft Yahei', 'weight': 'bold', 's.

2021-01-05 23:01:06 72

原创 matplotlib-01-绘制折线图

title: matplotlib_01_绘制折线图date: 2021-01-04 21:21:43categories:matplotlibtags:matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建基本演示from matplotlib import pyplot as plt# 设置图片大小# figsize 是图片大小、dpi是清晰程度fig = plt.figure(figsize=(20, 8.

2021-01-05 23:00:21 115

原创 设计模式——单例模式

简介确保一个类只有一个实例,而且自行实例化,并向系统提供这个实例构造方法不能是public这个实例是当前类的类成员变量实现根据实例化时间的不同可以分为饿汉式、懒汉式饿汉式:在类加载的时候就进行实例化public class Singleton { private Singleton(){} private static Singleton singleton = new Singleton(); //饿汉式 public synchronized static

2020-07-07 15:24:06 73

原创 Java中对JDBC进行简单封装的dbutils

dbutils简介Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。在java世界里操作数据库有很多方式,在众多方式中除了JDBC外都有DataSource对象。DataSource可以看作数据源,它封装了数据库参数,连接数据库,程序中操作DataSource对象即可对数据库进行增删改查操作。DataSource实际上是一个接口,实现这个接口必须重写getConnection方法,即可以获得

2020-07-05 18:03:40 168

原创 C++的 bitset类

bitset类有若干个位,每一位都代表了一位二进制数字 0 或 1,类模板如下:template <size_t N>class bitset{ ...};实例化示例:bitset<10> bst; //实例化一个bitset对象,每一位都是0常用成员函数,这些成员函数都是进行类似位运算的操作://改变自身,使用 &=,|=,^=,<<=,>>=bitset <N> & operator &

2020-06-24 21:35:47 118

原创 C++的STL的stack

栈是一种后进先出的元素序列,访问和删除都只能对栈顶的元素(即最后一个被加入栈的元素)进行,并且元素也只能被添加到栈顶。栈内的元素不能访问。如果一定要访问栈内的元素,只能将其上方的元素全部从栈中删除,使之变成栈顶元素才可以。stack的模板template < class T, class Cont == deque <T> >class stack{ ...};第二个参数指定实现的类型,默认是deque双端队列,也可以是vector或 list成员函数size

2020-06-14 19:13:52 231

原创 C++中的 map和multimap

multimap是关联容器,每个元素都有 Key 和 Value 两个部分,并且Key可以重复。如果需要修改关键字Key需要删除再添加。不能直接修改。容器中的元素是按照Key进行排序的类模板容器模板定义如下:template < class Key, class T, class Pred = less<Key>, class A = allocator<T> >class multimap{ ... typedef pair <con

2020-06-14 15:09:49 198

原创 C++中的 set和multiset

multiset是关联容器,是排好序的集合,并且集合中的元素可以重复因为是关联容器,所以想要更改一个元素的值需要先删除再添加。类模板multiset类模板定义如下:template <class Key, class Pred = less<Key>, class B = allocator<Key> > class multiset { ...};第一个参数 Key是元素类型,第二个参数Pred是容器中元素的排序规则,可以是函数对象类也可以是函数指

2020-06-14 11:16:02 266

原创 C++STL的pair类模板

pair也是一个类模板,需要先实例化再定义对象定义如下:template <class_Tl, class_T2>struct pair{ _T1 first; _T2 second; pair(): first(), second() {} pair(const _T1 &__a, const _T2 &__b): first(__a), second(__b) {} template <class_U1, class_U2

2020-06-14 09:22:42 152

原创 C++中的 list

list是顺序容器,是双向链表的实现,每一个元素都有指向它前面和后面的指针。他的迭代器是双向迭代器。构造函数和大多数成员函数和vector相似。除此之外还有以下成员函数成员函数或成员函数模板作 用void push_front(const T & val)将 val 插入链表最前面void pop_front()删除链表最前面的元素void sort()将链表从小到大排序,stl中的sort函数序号随机访问迭代器,而list没有,所以提供了这个成员函数

2020-06-13 23:08:51 104

原创 leetcode 685. 冗余连接 II

分析分为两种情况[[1,2], [2,3], [3,4], [4,1], [1,5]] 只有一个闭环不符合要求[[1,5],[3,2],[2,4],[4,5],[5,3]] 有一个节点入度为2。定义两个数组 u,v分别表示每一个节点的入度和出度,当目前分析的边的两个节点都已经分析过了,即:((u[a] > 0 && v[b] > 0) || (u[b] > 0 && v[a] > 0) || (u[a] > 0 &&

2020-06-12 17:29:39 121

原创 leetcode 102. 二叉树的层序遍历

这个题用广搜即可可以通过a,b,i三个变量来判断是否读完了一层a是当前读的层有多少个节点,初始值为1,就是根节点b是接下来的一层有多少个节点,初始值为0i是目前读了这一层多少节点,初始值为0每读一个节点i++,当节点的子节点不是空时、入队b++、并把子节点的值放入临时vector中, 当i == a时表示当前层结束把临时vector中的数据放入总vector并把a,b,i重新赋值a = b; //这一层有b个节点b = 0; //下一层节点数暂时为0i = 0; //这一层

2020-06-11 21:09:59 190

原创 C++中的list

list是双向链表,与vector相比,插入删除速度较快,随机访问速度较慢每一个元素都有一个指向它前面和后面的元素的指针。list不支持根据下标随机存取访问元素。此外list的成员函数和vector支持的成员函数相似成员函数或成员函数模板作 用void push_front(const T & val)将 val 插入链表最前面void pop_front()删除链表最前面的元素void sort()将链表从小到大排序void remove (c

2020-06-07 17:24:51 190

原创 C++中的queue使用总结

queue是队列,是一种先进先出的数据结构定义队列的示例:queue<int> q;常见操作:q.push(i); //将i添加到队列末尾q.pop(); //弹出队列第一个元素cout<<q.front()<<endl; //返回队列第一个元素cout<<q.back()<<endl; //返回队列最后一个元素cout<<q.size(); //返回队列元素个数优先队列优先队列就是对队列

2020-06-07 10:35:43 2234

原创 C++中的vector和deque

vector是顺序容器,元素的值与元素的位置无关它可以容纳很多类型的数据,可以看作是动态数组初始化vector<int> v1(10); //声明一个初始大小为10的vector,初值不确定vector<int> v2(10,1); //声明一个初始大小为10的vector,初值为1vector<int> v3(v2); //声明一个vector,并把v2的值赋予v3vector<int> v4(v2.begin(),v2.begin()+2

2020-06-06 20:50:56 894

转载 软件安装管家软件目录备份

浏览器推荐:星愿浏览器????点击下载软件导航 ①电脑办公 <p>④机械设计</p> <p>⑦网页设计</p> <p>⑩电子绘图</p> <p>⑬虚拟机</p> </td> <td colspan="1" rowspan="5" style="vertical-align:top;">②室内/外设计 <p>⑤影视动画&nb

2020-05-24 18:11:28 4830 1

原创 mysql的权限管理

Mysql的权限管理其实就是对操作的管理(增删改查这些)主要分为四个方面:对数据库系统的权限管理对单个数据库的权限管理对数据表的权限管理对属性列的权限管理首先新建一个用户create user '用户名'@'允许登录数据库的ip地址' identified by '密码';// 登录语句:mysql -u用户名 -p密码 -h服务端ip相应的权限管理分别对应以下mysql数据库中的表user表:对数据库系统的权限,也就是对数据库系统的所有数据库的所有表的权限管理。如果一个用户有相

2020-05-22 22:56:50 222

原创 maven依赖传递exclusions和optional

依赖传递maven中的项目依赖默认是可传递的,所以会添加很多不必要的依赖比如A->B、B->C、那么A自动依赖C。Maven 依赖排除(Exclusions)maven构建的项目具有依赖可传递的特性,添加某个依赖的时候,可能会引入不需要的依赖会导致:• Jar包版本冲突,如老版本Jar包缺失某个方法;• JDK 版本不兼容;• 老版本存在安全漏洞;Maven 容许你通过exclusions标签来排除你不想要的依赖。这样,在你构建项目时,这些个排除依赖,将不会被打包进你的项目中。

2020-05-21 22:26:19 943

原创 maven概念、依赖、以及设置jdk版本、设置tomcat插件、命令

Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。maven的概念模型maven主要有依赖管理和构建两部分在pom.xml配置文件中有项目本身的信息、所依赖的jar包信息、项目运行的环境(jdk版本、tomcat版本等

2020-05-21 22:14:40 422 1

原创 C++结构体中运算符的重载

stl中的很多算法都需要对容器中的元素进行比较,一般进行大小比较的是 <,进行相等比较的是==重载比较运算符和C++类中的写法相似写法如下struct L{ int a,b; //结构体的初始化 L(int a,int b){ this->a = a; this->b = b; } //重载 < 运算符 bool operator <(const L l){ if(a < l.a) retur

2020-05-19 17:02:48 6853

原创 C++迭代器

迭代器是指向容器中一个元素的类似指针的东西,通过它可以读取容器中的元素容器可以进行++操作访问下一个元素举例:int main(){ vector<int> a = {1,2,3}; vector<int>::iterator i = a.begin(); while(i != a.end()){ cout<< *i << " "; i++; }}begin()方法可以返回容器的第一个元素容器适

2020-05-16 21:56:01 759

原创 C++基本的容器(STL)

容器的分类顺序容器:元素在容器中不是排序的,元素的位置与元素的值无关。比如:动态数组 vector、双端队列 deque、双向链表 list关联容器:元素在容器中时排好序的,插入时不能指定位置。比如:set、multiset、map、multimap将容器一部分功能屏蔽,并增加另一部分功能即构成容器适配器容器其实是类模板。它们实例化后就成为容器类(实例化时要指定容器元素的类型),用容器类定义的对象称为容器对象。被放入容器的对象所属的类最好重载 < 和 == 比较运算符容器的类型一样

2020-05-16 21:09:24 188

原创 maven更改本地仓库目录并设置中央仓库为阿里源

打开maven安装目录的conf目录的setting.xml文件更改本地仓库目录在<settings>标签中添加 <localRepository>本地目录</localRepository>标签更改为阿里源在<mirrors>标签中找到<mirror>标签(大概在150行)将其更改为 <!-- 阿里云中央仓库 --> <mirror> <id>nexus-aliyun</i

2020-05-16 20:18:28 500

原创 数据库的建立视图、视图的作用

特点视图是虚表,是从一个或几个基本表(或视图)中导出的表只存放了视图的定义,并不存放视图对应的数据基表中的数据发生变换,视图中的数据也发生变换视图可以和基本表一样进行查询、删除、定义新视图、受限更新视图的建立create view <视图名> ([<列名>[,<列名>]…]) as 子查询 [with check option];其中属性列名全部指定或全部省略with check option:表示对视图进行 增、删、改时保证更新、插入、删除的行满足

2020-05-16 17:46:09 1472

原创 数据库的索引的建立修改删除

建立索引的目的:加快查询速度索引类似一本书的目录,通过索引可以快速找到想要的内容。数据库中的索引是一个表中所含的值的列表,其中注明了各个值所对应的行所在的位置。索引是关系数据库的内部实现技术,属于数据库内模式的范畴索引的分类按索引的结构来分可以分为聚簇索引和非聚簇索引聚簇索引:索引项的顺序与表中记录的物理存放顺序一致一个表最多建立一个聚簇索引;经常查询的列可以建立聚簇索引以提高查询效率;经常更新的列不适合建立聚簇索引。sqlserver默认在主键列建立聚簇索引。非聚簇索引:索引

2020-05-16 16:57:21 1065

原创 C++的string类

建议看C语言中文网的构造函数string s1(); // si = ""string s2("Hello"); // s2 = "Hello"string s3(4, 'K'); // s3 = "KKKK"string s4("12345", 1, 3); //s4 = "234",即 "12345" 的从下标 1 开始,长度为 3 的子串string对象赋值可以用 char* 类型的变量、常量,以及 char 类型的变量、常量对 string 对象进行赋值。例如:string

2020-05-13 22:20:09 136

原创 leetcode 354. 俄罗斯套娃信封问题 动态规划快排

二维的最长递增子序列问题先对信封的宽进行从小到大排序,宽度一样则按照高度从大到小排序再对高度查找最长递增子序列即可#includeusing namespace std;class Solution {public:// 普通排序,下面有快排void so(vector<vector<int>>& envelopes){ int size = envelopes.size(); for(int i = 0;i < size-1; i++)

2020-05-11 14:29:37 161

空空如也

空空如也

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

TA关注的人

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