自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AI的基本使用

插画风格:一幅插画,画着一个童趣的民间艺术风格的房子。插画呈现出柔和、浪漫的场景。搭配樱花、浅灰和黄色的色调。写实风格:写实风格,一位身着古装的美女,头发编着辫子,戴着复杂神秘的头饰,室外背景,自然光线。线条作画:黑白线条画,简单,小溪上的石头仙子小屋,以填色书页面的格式展现,单色,白色背景。印象派风格:印象派,莫奈风格,红玫瑰花的草地,湖畔和山丘在远处,云彩,太阳。AI工具:即梦、可灵。

2024-09-01 17:28:49 557

原创 系统管理篇

MAC(强制访问控制)与DAC(自主访问控制)getenforce。

2024-08-13 18:02:50 1112

原创 Linux常用命令

用于目录,在该目录下创建新的文件和目录,权限自动更改为该目录的属组。:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;:块可视模式,配合d和I(大写i)命令可以进行块的便利操作,然后使用。:用于目录,该目录下新建的文件和目录,仅root和自己可以删除,如。shell(命令解释器)自带的命令称为内部命令,其他的是外部命令。最早的lInux备份介质是磁带,使用的命令是tar。:替换文本中所有的x,g是global的缩写;可以打包后的磁带文件进行压缩存储,压缩的命令。

2024-08-01 16:35:44 1173

原创 栈和栈的应用

栈1、数据结构2、列表3、栈4、栈的应用实例1、数据结构数据结构按照其逻辑结构可分为线性结构、树结构、图结构线性结构:数据结构中的元素存在一对一的相互关系树结构:数据结构中的元素存在一对多的相互关系图结构:数据结构中的元素存在多对多的相互关系2、列表列表中的元素是顺序存储的,一块连续的内存列表的基本操作:按下标查找(O(1))、插入元素(O(n))、删除元素(O(n))…3、栈栈(Stack)是一个数据集合,可以理解为只能在一端进行插入或删除操作的列表栈的特点:后入先出(LI

2021-05-30 23:01:09 355 1

原创 列表排序2(快速排序、堆排序、归并排序)

列表排序21、快速排序1、快速排序快速排序:快快速排序思路:取一个元素p(第一个元素),使元素p归位;列表被p分为两部分,左边都比p小,右边都比p大;递归完成排序。时间复杂度:O(nlongn)def partition(li, left, right): tmp = li[left] while left < right: while left < right and li[right] >= tmp: # 从右边找比tmp小的数

2021-05-24 11:26:45 488

原创 递归及应用(汉诺塔问题)、列表查找、列表排序

@TOC1、 递归递归的两个特点:调用自身和结束条件fun3和fun4的打印顺序不同2、汉诺塔问题n=2时的移动步骤:n个盘子时:将三个盘子从a移动到cdef hanoi(n, a, b, c): """ :param n: 表示n个盘子 :param a: 表示从那个柱子移动 :param b: 表示经过那个柱子 :param c: 表示到那个柱子 :return: """ if n > 0: h

2021-05-21 11:40:14 542

原创 leetcode 3 无重复字符的最长子串(python)

3、无重复字符的最长子串解题思路1:滑动窗口class Solution: def lengthOfLongestSubstring(self, s: str) -> int: loopup = [] # 定义滑窗 cur_len = max_len = 0 for i in range(len(s)): val = s[i] if val not i

2021-05-21 00:48:13 155

原创 时间复杂度

时间复杂度和空间复杂度1、时间复杂度2、空间复杂度1、时间复杂度时间复杂度:用来评估算法运行效率的一个式子一般来说,时间复杂度高的算法比复杂度低的算法慢常见的时间复杂度:O(1)<O(logn)<O(n)<O(n的平方)<O(n的平方logn)<O(n的三次方)复杂问题的事件复杂度:O(n!) O(2的n次方) O(n的n次方)O(1)表示执行一次快速片段算法的时间复杂度:确定问题规模n循环减半过程:lognk层关于n的循环:n的k次复杂情况:根据算法直

2021-05-18 23:32:10 162

原创 leetcode 2 两树相加 (python3)

2、两数相加题目题目给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。考察点:链表class ListNode: def __init__(self, val, next=None): self.val = val self.next = nextclass Soluti

2021-05-17 15:53:58 270

原创 队列

队列1、定义2、用数组实现队列3、环形队列1、定义队列是一个有序列表,可以用数组(顺序存储)或是链表(链式存储)来实现。遵循先入先出的原则。即:先存入队列的数据,要先取出,要先取出。后存入的要后取出。2、用数组实现队列入队的处理需要有两个步骤:将尾指针往后移:rear+1,当front==rear ,队列为【空】若尾指针rear小于队列的最大下标maxSize-1,则将数据存入rear所指的数组元素中,否则无法存入数据。当rear==maxSize-1时,【队列满】。package

2021-05-16 23:14:07 164

原创 稀疏数组

稀疏数组1、实际问题2、稀疏数组2.1 基本介绍1、实际问题编写五子棋程序中,存盘退出和续上盘的功能。分析问题:因为二维数组的很多值是默认值0,因此记录了很多没有意义的数据,所以使用系数矩阵2、稀疏数组2.1 基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法:记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模如上图,将6行7列的二维数组变成9行3列的稀疏数组

2021-05-15 23:22:06 182

原创 初识数据结构

经典算法面试题kmp算法回溯算法迭代算法分治算法图的深度优化遍历算法贪心算法的优化

2021-05-09 15:31:48 161

原创 实战项目一:bootstrap+Ajax+django实现web计算器

web计算器前言0、知识点0.1 创建django项目后,各文件的含义0.2 在项目中创建应用,应用中各个文件的作用0.3 django项目和应用的关系1、创建项目2、配置并访问页面2.1 制作用于访问的页面2.2 对用户访问请求进行路由配置2.3 配置视图处理函数2.4 配置访问路由3、导入bootstrap前段框架3.1 bootstarp配置3.2 编写html文件4、前端页面设计和功能开发4.1 页面制作4.2 对界面进行美化4.3 前端页面的逻辑功能实现5、开发后端计算模块前言  本文的内容来

2021-02-20 18:46:29 1540 3

原创 四、变量和运算符--二

这里写目录标题1、string字符串变量2、进制之间的转换2.1 二进制和十进制之间的转换1、string字符串变量练习:2、进制之间的转换2.1 二进制和十进制之间的转换原码、反码、补码十进制转换二进制...

2021-02-17 22:50:02 195

原创 四、变量和运算符

这里写目录标题1、讲解内容2、关键字和保留字3、标识符4、变量5、变量的数据类型5.1 数值型---整型5.2 数值类型---浮点型5.3 字符串型---char5.4 boolean6、自动类型转换和强制类型转换6.1 自动类型转换6.2 强制类型转换1、讲解内容2、关键字和保留字3、标识符4、变量5、变量的数据类型5.1 数值型—整型5.2 数值类型—浮点型5.3 字符串型—char5.4 booleanBoolean只能取两个值之一:true

2021-02-14 00:47:01 154

原创 三、第一个java程序 hello world

这里写目录标题1、第一个java程序“hello world”2、注释2.1 单行注释2.2 多行注释2.3 文档注释3、java api文档4、 小结1、第一个java程序“hello world”class表示关键字,声明类class HelloWorld{ public static void main(String[] args){ System.out.println("Hello,World!"); }}运行步骤:windows路径不区分大小写2、注释2.1 单

2021-02-14 00:36:43 190

原创 二、java环境配置

这里写目录标题1、课程内容2、java语言概述2.1 软件开发介绍2.2 常用的dos命令2.3 计算机编程语言2.4 java概述2.5 java语言的诞生2.6 java语言运行机制及运行过程3、java的环境搭建4、配置环境变量1、课程内容2、java语言概述2.1 软件开发介绍系统软件指的就是操作系统应用软件指的是应用程序应用程序 = 算法 + 数据结构2.2 常用的dos命令磁盘操作系统(Disk Operating System),是早期个人计算机上的一类操作系统表示任

2021-02-14 00:28:15 125

原创 一、java课前了解

java学习1、java知识框架2、预备知识2.1 计算机硬件2.2 cpu2.3 存储设备2.4 内存2.5 输入输出设备2.6 通信设备3、计算机发展史上的两位大佬4、 操作系统5、 万维网1、java知识框架java企业级开发工具eclipse和idea2、预备知识2.1 计算机硬件2.2 cpu主频是指微机CPU的时钟频率。2.3 存储设备2.4 内存cpu、内存、硬盘的关系硬盘有固态和机械硬盘两种当你本身的内存空间不足的时候,可以加内存条;如果你的内存空

2021-02-14 00:15:10 303

原创 python:冒泡排序、快速排序

排序算法:冒泡排序原理:比较相邻的元素,如果第一个比第二个大,就交换他们两个def bubble_sort(list): for i in range(len(list)): for j in range(0,len(list)-i-1): if list[j] > list[j+1]: list[j],list[j+1]=list[j+1],list[j] return listx=input("请输待

2020-08-29 13:04:28 175

原创 牛客网刷题:企业真题

名企编程真题1 . 输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)。2. 牛客网输入3. 剪绳子4. 找出数组中重复的数字1 . 输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)。n=int(input())a=[]for _ in range(n): a.append(int(input()))sum_max_a= [a[0]]for i in range(1,

2020-08-21 17:02:18 513

原创 leetcode刷题----python

leetcode1. 两数之和2. 字符串1. 两数之和**Q:**给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。解法一:循环class Solution: def twoSum(self, nums, target) : if not nums: return [] long_num=

2020-08-21 17:01:31 154

原创 python版:剑指offer刷题

剑指offer1. 二维数组中的查找2. 替换空格3. 从头到尾打印链表1. 二维数组中的查找Q: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。时间复杂度O(n)a = [[1, 2, 8, 9], [2, 4, 9, 12], [4, 7, 10, 13], [6, 8, 11, 15]]class Solution: # 二维列表数据查

2020-08-21 17:00:46 322

原创 hadoop:zookeeper集群

hadoop1. zookeeper集群2. 配置server4和server8作为namenode的主从3. 启动hdfs集群3.1 启动日志节点3.2 格式化hdfs集群3.3 开启dfs3.4 测试高可用4. yarn的高可用1. zookeeper集群新准备一台server8[zjy@server4 hadoop]$ rm -fr /tmp/*[zjy@server5 ~]$ rm -fr /tmp/*[zjy@server6 ~]$ rm -fr /tmp/*[zjy@server7

2020-06-07 10:18:00 416

原创 hadoop:认识hadoop、安装hadoop、伪分布hdfs

hadoop1. hadoop简介2.hadoop安装3. 单节点hadoop配置,做一个伪分布式hdfs4. 完全分布式的hdfs4.1 节点的热添加(不关闭dfs基础上添加节点)4.2 mapreduce(作用运行程序)1. hadoop简介hadoop的核心是:HDFS: Hadoop Distributed File System 分布式文件系统YARN: Yet Another Resource Negotiator 资源管理调度系统Mapreduce:分布式运算框架hadoo

2020-06-07 10:09:06 1787

原创 持续集成和持续交互:jenkins使用tls连接docker主机、ssh插件的使用、ansible参数化

jenkins持续集成1. 准备一台server4作为docker主机2. jenkins使用tls方式连接docker构建主机3. 使用jenkins使用ssh插件4. 在server3上安装ansible1. 准备一台server4作为docker主机[root@server4 ~]# cat /etc/yum.repos.d/docker-ce.repo [docker-ce-stable]name=Docker CE Stable - $basearchbaseurl=https://mi

2020-06-01 09:36:06 663

原创 python:windows下解决pip下载、安装速度慢

windows下解决pip下载、安装速度慢1. 临时使用2. 永久修改1. 临时使用pip -i http://mirrors.aliyun.com/pypi/simple plotly2. 永久修改在C盘的users目录中xxx用户目录下,创建一个pip目录,在pip目录中新建pip.init文件,文件内容为:[global]index-url = http://mirrors.aliyun.com/pypi/simple/ # 此处使用了阿里云镜像[install]trusted

2020-05-25 20:50:30 590

原创 持续集成和持续交互:jenkins持续集成

jenkins持续集成1. jenkins简介2. jenkins安装3. jenkins的使用4. 添加docker插件5. 新建item(docker)1. jenkins简介Jenkins是开源CI&CD(continuous integration & continuous delivery)软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。CI

2020-05-24 22:54:20 979

原创 持续集成和持续交互:gitlab代码仓库实现

gitlab代码仓库实现1. gitlab安装1.1 软件下载1.2 软件安装1.3 上传文件到仓库1. gitlab安装1.1 软件下载https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/(清华源)https://about.gitlab.com/install/ (官方网站)1.2 软件安装官方推荐至少4g内存[root@server2 ~]# yum install -y curl policycoreutils-python opens

2020-05-24 22:44:11 291

原创 持续集成和持续交互:git工具使用

git工具使用1. git必看2. git的三种状态3. Git 项目拥有三个阶段:工作区、暂存区以及 Git 目录4. 安装和使用git4.1 安装git4.2 获取git仓库的方式4.3 初始化版本库4.4 定义用户4.5 定义用户邮件4.6 用户提交文件和状态查看4.7 忽略不想被git识别的文件4.8 移除文件和文件恢复4.9 重命名文件4.10 查看提交历史4.11 版本回退5. 远程仓库6. 将本地仓库删除之后,可以使用clone将远程仓库clone1. git必看https://git-s

2020-05-24 22:33:00 311

原创 saltstack:salt-ssh、salt-syndic、salt-api

saltstack一、salt-ssh简介二、salt-ssh配置三、salt-syndic简介四、salt-syndic配置五、salt-api简介一、salt-ssh简介salt-ssh可以独立运行的,不需要minion端。[root@server3 ~]# systemctl stop salt-minion[root@server4 ~]# systemctl stop salt-minionsalt-ssh 用的是sshpass进行密码交互的。以串行模式工作,性能下降。安装salt

2020-05-17 22:28:16 281

原创 saltstack:将job存储到数据库中

saltstack一、job简介二、将job存储到数据库中一、job简介master在下发指令任务时,会附带上产生的jid。minion在接收到指令开始执行时,会在本地的/var/cache/salt/minion/proc目录下产生该jid命名的文件,用于在执行过程中master查看当前任务的执行情况。指令执行完毕将结果传送给master后,删除该临时文件。二、将job存储到数据库中安装数据库[root@server2 ~]# yum install -y mariadb-server

2020-05-17 22:25:08 201

原创 saltstack:使用jinja模板、keepalived的安装和配置

saltstack一、认识jinja模板二、jinja模板使用三、keepalived的安装和配置一、认识jinja模板Jinja是一种基于python的模板引擎,在SLS文件里可以直接使用jinja模板来做一些操作。通过jinja模板可以为不同服务器定义各自的变量。两种分隔符: {% … %} 和 {{ … }},前者用于执行诸如 for 循环 或赋值的语句,后者把表达式的结果打印到模板上。二、jinja模板使用jinja在普通文件的使用[root@server2 apache]# pw

2020-05-17 22:21:54 174

原创 saltstack:piller组件

saltstack一、pillar介绍二、piller操作一、pillar介绍pillar和grains一样也是一个数据系统,但是应用场景不同。pillar是将信息动态的存放在master端,主要存放私密、敏感信息(如用户名密码等),而且可以指定某一个minion才可以看到对应的信息。pillar更加适合在配置管理中运用。二、piller操作声明pillar[root@server2 srv]# pwd/srv[root@server2 srv]# mkdir pillar # 默认

2020-05-16 22:17:45 175

原创 saltstack:grains组件

saltstack一、认识grains二、信息查询三、自定义grains项四、编写grains模块五、grains匹配运用一、认识grainsGrains是SaltStack的一个组件,存放在SaltStack的minion端。当salt-minion启动时会把收集到的数据静态存放在Grains当中,只有当minion重启时才会进行数据的更新。由于grains是静态数据,因此不推荐经常去修改它。应用场景:信息查询,可用作CMDB。在target中使用,匹配minion。在state系统中使用

2020-05-16 22:14:54 192

原创 saltstack:安装和配置、salt远程执行

saltstack1. saltstack简介2. saltstack安装和配置3.salt远程执行3.1 salt命令由三个主要部分构成3.2 msater的base目录3.3 编写远程执行模块3.4 配置管理1. saltstack简介saltstack是一个配置管理系统,能够维护预定义状态的远程节点。saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据。saltstack是运维人员提高工作效率、规范业务配置与操作的利器。Salt的核心功能使命令发送到远程系统是并行

2020-05-16 22:07:26 461

原创 kubernetes:部署高可用集群

kubernetes1. 重新准备server2、server3、server4,三台虚拟机,安装haproxy和keepalived1. 重新准备server2、server3、server4,三台虚拟机,安装haproxy和keepalived安装keepalived、haproxy,keepalived用来监控集群中各个服务节点的状态,heproxy是一个适合于高可用性环境的tcp/http开元的反向代理和负载均衡软件[root@server2 ~]# yum install -y haprox

2020-05-15 11:37:36 234

原创 kubernetes:部署kubeapps应用,为Helm提供web UI界面管理

kubernetes部署kubeapps应用,为Helm提供web UI界面管理部署kubeapps应用,为Helm提供web UI界面管理[kubeadm@server2 ~]$ helm repo add bitnami https://charts.bitnami.com/bitnami"bitnami" has been added to your repositories[kubeadm@server2 ~]$ helm repo listNAME URL

2020-05-15 11:15:16 1545

原创 kubernetes:helm的部署、应用(部署nfsclass、部署nginx-ingress、升级和回滚)

kubernetes1. helm简介2. helm安装3. helm部署应用3.1 部署一个redis3.2 创建一个自己的chart3.3 升级和回滚3.4 部署nfsclass3.5 部署nginx-ingress1. helm简介Helm是Deis (https://deis.com/) 开发的一个用于kubernetes的包管理器。每个包称为一个Chart,一个Chart是一个目录。类似Linux系统的yum。Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YA

2020-05-15 11:10:05 913 1

原创 kubernetes:HPA(1.Horizontal Pod Autoscaler pod水平自动伸缩)

kubernetes1. Horizontal Pod Autoscaler pod水平自动伸缩1.1 以cpu的使用率判断pod的扩容和缩容1.2 使用多个指标作为伸缩的条件1. Horizontal Pod Autoscaler pod水平自动伸缩官网:https://kubernetes.io/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/1.1 以cpu的使用率判断pod的扩容和缩容[root@serve

2020-05-11 15:57:48 262

原创 kubernetes:资源监控(metrics-server部署、dashboard部署)

kubernetes1. metrics server是什么2. metrics-server部署3. dashboard部署1. metrics server是什么Metrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。Metrics API 只可以查询当前的度量数据,

2020-05-09 08:46:29 1506 1

空空如也

空空如也

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

TA关注的人

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