Kubernetes API的版本控制,分组,对象,访问控制

  • 引言
  • 对象的表示方法与设计理念
    • 采用声明式API设计简述(DAP)
    • Kubernetes 中API设计简述
  • 版本控制(apiVersion)
    • 为什么版本控制?
    • 实现版本控制的策略
    • Kubernetes采用的策略
    • KubernetesAPI的版本号和废弃策略
  • 分组的概念
    • 为什么进行分组?
    • KubernetesAPI是如何进行分组的?
  • 访问控制
    • 传输安全
    • 认证(Authentication)
    • 授权(Authorization)
    • 准入控制(Admission Control)
    • 安全端口和本地端口
  • 响应说明
    • 在这里插入图片描述

引言

kubernetes API官方文档

对象的表示方法与设计理念

采用声明式API设计简述(DAP)

DAP是Mars-java 最近提出的一个新的开发方式,全称 Declarative API Programming, 提倡后端为一个独立的整体,不应该是为前端服务的,所以当前端需要接口的时候,只需要声明一个API给他,而不需要专门开发一个Controller出来
传统的后端接口开发流程
在这里插入图片描述
这样造成的后果就是控制层跟前段耦合性忒别高,并且实际情况下我们更关注的是service业务逻辑,所以就出现了声明式API.
声明式API开发流程
在这里插入图片描述
通过更换MarsReference的配置,可以关联到不同的业务逻辑
如果前端不需要这个接口了,直接无脑删就好了,因为这只是一个抽象方法,还原成本几乎为0
后端专注业务逻辑就好了,不需要考虑跟前端互动,前端需要的时候开个门就好了

Kubernetes 中API设计简述

在 Kubernetes 项目中,一个 API 对象在 Etcd 里的完整资源路径,是由:Group(API 组)、Version(API 版本)和 Resource(API 资源类型)三个部分组成的。通过这样的结构,整个 Kubernetes 里的所有 API 对象,实际上就可以用如下的树形结构表示出来:
在这里插入图片描述
要声明要创建一个 CronJob 对象,那么 YAML 文件的开始部分会这么写:


apiVersion: batch/v2alpha1
kind: CronJob
...

在这个 YAML 文件中,“CronJob”就是这个 API 对象的资源类型(Resource),“batch”就是它的组(Group),v2alpha1 就是它的版本(Version)。

版本控制(apiVersion)

为什么版本控制?

回答这个问题之前,首先得清楚一件事,那就是什么是版本控制?做APP后端开发的应该会很清楚,因为在给APP提供接口的时候,由于安装在用户手机上的 App 存在多个客户端版本的问题,这些版本大部分时候需要进行共存,但是Android 和 IOS 基本上都不允许App内置升级功能,用户又不愿意或拒绝升级,很多时候业务需求在不停的变化,就免不了对接口进行调整控制,此时就需要使用不同版本的Api接口进行控制。

实现版本控制的策略

  1. 通过在URL中追加版本号或者作为查询字符串参数。
  2. 通过Http自定义标头。
  3. 多 个 版 本 的 Controller 共 处 在 一 个 项 目 中 , 然 后 使 用 [RoutePrefix] 或 者 IHttpControllerSelector 根据报文头、路径等选择不同的 Controller 执行

Kubernetes采用的策略

Kubernetes采用的方案是通过URL中追加版本号来做多版本控制的。
下面是几个Kubernetes的API设计

POST /apis/batch/v1beta1/namespaces/{namespace}/cronjobs
POST /apis/apps/v1/namespaces/{namespace}/daemonsets

KubernetesAPI的版本号和废弃策略

  • v1表示GA稳定版本;
  • v1beta3表示Beta版本(预发布版本);
  • v1alpha1表示Alpha版本(实验性的版本)。

当某个API的实现达到一个新的GA稳定版本时(如v2),旧的GA版本(如v1)和Beta版本(例如v2beta1)将逐渐被废弃,Kubernetes建议废弃的时间如下。

  1. 对于旧的GA版本(如v1),Kubernetes建议废弃的时间应不少于12个月或3个大版本Release的时间,选择最长的时间。
  2. 对旧的Beta版本(如v2beta1),Kubernetes建议废弃的时间应不少于9个月或3个大版本Release的时间,选择最长的时间。
  3. 对旧的Alpha版本,则无须等待,可以直接废弃。

分组的概念

为什么进行分组?

假如API不进行分组的话,管理和查询起来就会很麻烦,也不利于API的扩展。

KubernetesAPI是如何进行分组的?

Kubemetes 使用API Groups (API组)进行标识。
在这里插入图片描述
如果要启用或禁用特定的 API 组,则需要在 API Server 的启动参数中设置–runtime-config进行声明,例如–runtime-config=batch/v2alphal表示启用API组的 “batch/v2alpha1”,也可以设置–runtime-config=batch/v1=false表示禁用API组“batch/v1”。多个 API组的设置以逗号分隔。在当前的API Server服务中,DaemonSets、Deployments、HorizontalPodAutoscalers、Ingress、Jobs和ReplicaSets所属的 API 组是默认启用的。

访问控制

Kubernetes 对 API 访问提供了三种安全访问控制措施:认证、授权和 Admission Control。认证解决用户是谁的问题,授权解决用户能做什么的问题,Admission Control 则是资源管理方面的作用。通过合理的权限管理,能够保证系统的安全可靠。
在这里插入图片描述
Kubernetes 集群的所有操作基本上都是通过 kube-apiserver 这个组件进行的,它提供 HTTP RESTful 形式的 API 供集群内外客户端调用。

传输安全

在一个典型的 Kubernetes集群里, API 的侦听端口是443, TLS连接会被建立。 API server会提供一个证书。 这个证书是自签名的, 因此在 USER/.kube/configAPIserver使kubeup.shUSER/.kube/config路径下会包含API server证书的根证书,你可以指定这个证书用来替换系统默认的根证书。 当你使用kube-up.sh来创建集群时,这个证书会自动写入到USER/.kube/config目录下。 如果集群有多个用户, 那么集群创建者需要和其它用户共享这个证书。

认证(Authentication)

  • 开启TLS时,所有的请求首先需要认证。Kubernetes支持多种认证机制,并支持同时开启多个认证插件(只要有一个认证通过即可)。如果认证成功,则用户的username会传入授权模块做进一步授权验证;对于认证失败的请求则返回HTTP
    401。
  • 当TLS建立时,HTTP请求会进行身份认证步骤,如图中步骤1,集群管理器将apiserver配置为运行一个或多个认证器模块。
  • 认证模块包含客户端证书,密码、Plain Tokens、Bootstrap Tokens、JWT Tokens(used for
    service accounts)。我们可以指定多个认证模块,每个认证模块都会按顺序进行,直到其中一个成功。(在GCE上,客户端证书、密码、Plain Tokens和JWT Tokens都会启用。)

授权(Authorization)

当一个请求被验证来自指定用户时, 这个请求紧接着必须被授权, 即如图示中的步骤2所示. 一个请求必须包含请求者的用户名, 请求的动作, 影响动作的对象。 如果有存在的策略声明这个用户有权限完成这个动作,那么该请求就会被授权。 举个例子, 如果Bob用户有这样一条策略, 那么他可以从命名空间 projectCaribou中读取pod信息:

{"apiVersion": "abac.authorization.kubernetes.io/v1beta1","kind": "Policy","spec": {"user": "bob","namespace": "projectCaribou","resource": "pods","readonly": true}
}

如果Bob发送这样一个请求, 他可以被成功授权, 因为他读取命名空间 projectCaribou里的对象信息的动作是被允许的:

{"apiVersion": "authorization.k8s.io/v1beta1","kind": "SubjectAccessReview","spec": {"resourceAttributes": {"namespace": "projectCaribou","verb": "get","group": "unicorn.example.org","resource": "pods"}}
}

如果Bob发送往 projectCaribou命名空间写(create 或者 update)对象信息的请求, 那么他会被拒绝授权。 如果发送从一个不同的命名空间, 比如projectFish 读取(get)对象信息的请求,那么他的授权也会被拒绝。 Kubernetes的授权要求你和已存在的组织范畴或者云供应商范畴的访问控制系统进行交互时, 要使用通用的REST属性。使用REST的格式是非常重要的, 因为这些控制系统也可能会和包括Kubernetes API在内的其它API进行交互。 Kubernetes支持多个授权模块, 比如ABAC模式, RBAC模式, Webhook模式。 当一个管理员创建了集群, 他们会配置API server会启用哪些授权模块。 如果配置了多于1个的授权模块, Kubernetes会检查每个模块, 如果其中任何模块授权的请求, 请求会被处理, 如果所有的模块都拒绝了请求, 那么请求会被拒绝掉(返回403状态码)。

准入控制(Admission Control)

准入控制模块是可以修改或者拒绝请求的模块。 作为授权模块的补充, 准入控制可以访问一个正在被创建或更新的对象的内容, 它们在对象创建, 删除,更新, 连接(代理)期间起作用,在读取对象时它们不起作用。 可以配置多个准入控制器, 每个准入控制器会按照顺序被调用。 如图示中的步骤3所示。 跟认证和授权模块不同的时,如果任何一个准入控制模块拒绝了请求, 那么请求就会立马被拒绝掉。 除了拒绝对象之外, 准入控制器还可以为字段设置复杂的默认值。
一但一个请求通过了所有的准则控制器的批准, 那么这个请求会被对应的API对象验证程序证实为有效请求, 然后会被写入到对象存储里(如图中步骤 4所示)

安全端口和本地端口

之前的讨论的都是请求发往API Server的安全端口的情况(这个也是最典型的情况)。 事实上, API Server可以侦听两个端口: 默认情况下, API Server启动时侦听两个端口:
本地端口:

  • 用于测试或者启动集群, 还有master 节点的其它组件跟API的交互
  • 没有TLS
  • 默认的侦听端口是8080,可以通过参数 --insecure-port 指定别的端口
  • 默认绑定的IP是localhost, 可以通过参数 --insecure-bind-address指定别的地址
  • 请求会绕过认证和授权模块
  • 请求会经过准入控制模块处理
  • 通过对主机进行访问控制保护接口

安全端口:

  • 按需启用
  • 使用 TLS. 通过 --tls-cert-file参数指定证书路径, --tls-private-key-file 参数指定证书的私钥
  • 默认侦听6443端口, 可以通过--secure-port指定别的端口
  • 默认IP绑定在第一个非localhost的网络接口, 可以通过--bind-address指定IP地址
  • 请求会经过认证和授权模块的处理
  • 请求会经过准入控制模块的处理
  • 认证和授权模块会运行 如果在谷歌计算引擎平台(GCE)或者其他一些云提供商上用kube-up.sh创建集群的话, API Server会侦听443端口。 在GCE上, 默认会开放防火墙策略允许从外部通过HTTPS访问集群的API. 其它云供应商的策略不尽相同。

响应说明

状态码 编码 描述
200 ok 表明请求完成
201 Created 表明创建类的请求完全成功
204 NoContent 表明请求完全成功,同时HTTP响应不包含响应体。在响应OPTIONS方法的HTTP请求时返回
307 TemporaryRedirect 表明请求资源的地址被改变,建议客户端使用Location首部给出临时URL来定位资源。
400 BadRequest 表明请求是非法的,建议客户端不要重试,修改该请求
401 Unauthorized 表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为客户端必须提供认证信息。如果客户端提供了认证信息,则返回该状态码,表明服务端指出所提供的认证信息不合适或非法。
403 Forbidden 表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置成拒绝访问,建议客户不要重试,修改该请求
404 NotFound 表明所请求的资源不存在。建议客户不要重试,修改该请求。
405 MethodNotAllowed 表明请求中带有该资源不支持的方法。建议客户不要重试,修改该请求
409 Conflict 表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成
422 UnprocessableEntity 表明由于所提供的作为请求部分的数据非法,创建或修改操作不能被完成
429 TooManyRequests 表明超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的 Retry-After首部,然后等待该首部指出的时间后再重试
500 IntemalServerError 表明服务端能被请求访问到,但是不能理解用户的请求:或者服务端内产生非预期中的一个错误,而且该错误无法被认知;或者服务端不能在一个合理的时间内完成处理(这可能由于服务器临时负载过重造成或者由于和其他服务器通信时的一个临时通信故障造成〉
503 ServiceUnavailable 表明被请求的服务无效。建议客户不要重试修改该请求
504 ServerTimeout 表明请求在给定的时间内无法完成.客户端仅在为请求指定超时( Timeout)参数时 会得到该响应

在这里插入图片描述

参考:
https://k8smeetup.github.io/docs/admin/accessing-the-api/
https://k8smeetup.github.io/docs/admin/admission-controllers/
http://docs.kubernetes.org.cn/27.html
https://kubernetes.io/zh/docs/reference/access-authn-authz/controlling-access/
https://www.cnblogs.com/yuxiaoba/p/9803284.html
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#container-v1-core
https://www.orchome.com/1360
https://blog.csdn.net/sherlockholmes11/article/details/102835313
https://www.kubernetes.org.cn/6794.html

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 你的约束详解请查收

    约束 constraint 通过约束:来防止不合法的数据进入表中 通过定义约束:来限制表中的数据 实现表数据的完整性(数据的统一,和谐,准确) 数据完整性的分类: 域完整性:列取值的准确,和谐 实体完整性:行数据的完整,统一 参照完整性:表与表之间的参照关系默认值:default(列如果没有赋值…...

    2024/4/9 19:25:32
  2. C++日期到天数的转换

    日期到天数的转换 #include<iostream> using namespace std; //看输入的日子是这一年的第几天 static int days[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; class Date { public:// 获取某年某月的天数int GetMonthDay(int year, int month){days[2]…...

    2024/4/25 12:04:14
  3. 苏嵌实训-嵌入式 linux C 第 8 天

    项目开发日报表项目名称【苏嵌实训-嵌入式 linux C 第 8 天】今日进度以及任务讲解了线程和网络编程本日任务完成情况(详细说明本日任务是否按计划完成,开发的代码量)根据视频讲解完成了老师课上布置的代码任务本日开发中出现的问题汇总没有老师讲解就不能自己将代码写出对于…...

    2024/4/15 7:24:35
  4. git仓库操作

    从零搭建一个连接远程的git仓库1、在目录下初始化仓库:git init;2、添加文件:git add .注:git add Permission denied应该是有编译器占用。3、确认:git commit -m “提交描述”;4、连接远程仓库:git remote add origin url;ps:出现了要输入密码的问题,输入密码是输入cod…...

    2024/4/15 7:24:12
  5. 剑指Offer:数组中的逆序对(java)

    1. 题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述:2. 解题思路 (1)看完题意以后,头脑只有遍历,然后实现看看,…...

    2024/4/22 1:23:51
  6. Maven基础

    Maven是一个Java项目管理和构建工具,他可以定义项目结构、项目依赖,并使用统一的方式进行自动化构建,是Java项目不可缺少的工具。 Maven介绍 标准化的Java项目管理和构建工具 主要功能有:提供了一套标准化的项目结构; 提供了一套标准化的构建流程(编译,测试,打包,发布…...

    2024/4/18 4:10:36
  7. EasyUI- 验证框使用方法

    EasyUI 验证框使用方法: //*************************** missingMessage:未填写时显示的信息 validType:验证类型见下示例 invalidMessage:无效的数据类型时显示的信息 required="true" 必填项 class="easyui-validatebox" 文本验证 class="easyui…...

    2024/5/4 3:28:08
  8. 2020.7.14

    20.分布式组件-SpringCloud Alibaba简介 springcloud官网:https://spring.io/projects/spring-cloud 1.版本选择 确定sprnig cloud,spring cloud Alibaba,spring boot的版本 Spring Cloud Version:Spring Cloud Greenwich Spring Cloud Alibaba Version:2.1.x.RELEASE Sprin…...

    2024/4/9 19:25:25
  9. “京东2021寻猎计划”初试面经

    面试时间:2020/7/14 20:05 面试时长:30分钟面试岗位:测试开发工程师面试题目:Q1:你对测试岗位的理解和想法?A1:测试和开发一样重要,软件测试的定义等等。Q2:软件测试的过程是什么?A2:Q3:你觉得在开发过程中,测试人员应该做什么?A3:Q4:假设现在有一个登录页面,…...

    2024/4/9 19:25:24
  10. 牛客暑期多校训练营(第一场)J

    转载:https://blog.csdn.net/weixin_43911947/article/details/107309924hit:用分部积分法求定积分,如下图解所以只需要求n ! ^ 2 / ( 2*n + 1 ) !就可以了 (!为阶乘). 由于n会比较大,用于除法会失精度,因此需要用到费马小定理:(当mod为质数时)a / b % mod = a * qpo…...

    2024/4/27 20:49:58
  11. CSS入门第一篇之基础属性

    CSS层叠样式表 学习目标理解css的目的作用 css的三种引入方式应用css三种引用方式的书写 通过样式规则给标签添加简单的样式1.HTML的局限性 说起HTML,这其实是个非常单纯的家伙, 他只关注内容的语义, 比如 表明这是一个大标题,用 表明这是一个段落,用 表明这儿有一个图片…...

    2024/4/27 14:04:32
  12. springMVC+Mybatis实现图片上传、保存到数据库、查询显示——入坑实践

    springMVC+Mybatis实现图片上传、保存到数据库、查询显示——入坑实践1、前提环境1.1、前言1.2 所需环境1.2.1 数据库表(不需要也行,相当于数据库里面就没有嘛!)1.2.2 pom.xml文件需要的架包1.2.3 **spring-mvc.xml**2、实体类和自动生成的mapper文件3、简单页面4、在下图位…...

    2024/4/27 14:05:46
  13. 白盒测试中的六种覆盖方法

    摘要:白盒测试作为测试人员常用的一种测试方法,越来越受到测试 工程师的重视。白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。因为对于不同复杂度的 代码逻辑,可以衍生出许多种执行路径,只有适当的测试…...

    2024/4/27 16:37:23
  14. 趣谈网络协议——套接字Socket(笔记)

    建立Socket需要设置的参数 Socket 编程进行的是端到端的通信,往往意识不到中间经过多少局域网,多少路由器,因而能够设置的参数,也只能是端到端协议之上网络层和传输层的。 网络层 (1)Socket 函数需要指定到底是 IPv4 还是 IPv6,分别对应设置为 AF_INET 和 AF_INET6。 (…...

    2024/4/27 13:39:36
  15. Kite的学习历程Docker上的Mysql:5.7安装

    Kite学习历程的第三十三天 1. Contos7上的Docker上的MySQL:5.7安装 (注意这些操作的都是在root权限下进行操作的) 1.1 首先开启docker开机自启功能 输入: systemctl enable docker 1.2 进行mysql:5.7下载输入:docker pull mysql:5.7 这时就进行了mysql:5.7的下载 查看下载是…...

    2024/4/27 19:34:57
  16. 用java给自己来一注双色球

    用java给自己来一注双色球package List;import java.util.Random; import java.util.Scanner; public class Caipiao { public static void main(String[] args) {int[] red = new int[6];int blue;int[] sysred = new int[6];int sysblue;int blueyes = 0;int redyes = 0;Rand…...

    2024/4/27 20:15:07
  17. Django-rest-frame简单使用

    快速搭建Django-rest-frame框架,适合给用过但忘记了具体步骤的人。 1.settings配置信息 添加’rest_framework’到您的INSTALLED_APPS设置 INSTALLED_APPS = [...rest_framework, ]2.models创建以及上传 from django.db import models# 创建Student表格 class Student(models.M…...

    2024/4/27 16:58:25
  18. 牛客——“歌尔创客杯”第二届哈尔滨理工大学(荣成)程序设计竞赛

    文章目录A下棋B打赌C花生米D简单粗暴串E宝藏男孩F考试成绩G相似H修建道路I完美主义者J能量项链 A下棋找规律,没个人的每次操作都会改变(0,0)位置点的操作,即每个人要操作时(0,0)的状态对不同人来说都是不会变化的。如果(0,0)初始为白,则每次到M时都是黑,M不会输;相反,L不…...

    2024/4/27 15:39:30
  19. 链表中环的入口点

    题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。题解:这题我们可以采用双指针解法,一快一慢指针。快指针每次跑两个element,慢指针每次跑一个。如果存在一个圈,总有一天,快指针是能追上慢指针的。如下图所示,我们先找到快慢指针相遇的点…...

    2024/4/27 13:49:42
  20. 设计模式之访问者

    一.简介 每种元素存在多种不同的访问者或处理方式(如消费者对同一产品的使用体验是不一样的)。被处理的元素结构相对稳定而有多种访问方式,如果用“访问者模式”来处理比较方便。访问者模式能把处理方法从数据结构中分离出来,并可以根据需要增加新的处理方法,且不用修改原…...

    2024/4/27 19:37:22

最新文章

  1. window系统安装MySQL

    MySQL的安装和配置 根据不同的系统平台&#xff0c;MySQL由不同安装方式和安装包。 官方下载对应的安装包 官网&#xff1a;www.mysql.com 下载地址&#xff1a;MySQL :: Download MySQL Community Server (Archived Versions) window系统 一、安装包&#xff08;Windows…...

    2024/5/4 3:31:10
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 【Ubuntu】 Github Readme导入GIF

    1.工具安装 我们使用 ffmpeg 软件来完成转换工作1.1 安装命令 sudo add-apt-repository ppa:jonathonf/ffmpeg-3sudo apt-get updatesudo apt-get install ffmpeg1.2 转换命令 &#xff08;1&#xff09;直接转换命令&#xff1a; ffmpeg -i out.mp4 out.gif(2) 带参数命令&…...

    2024/5/2 10:32:23
  4. C# 构建可定时关闭的异步提示弹窗

    C# 构建可定时关闭的异步提示弹窗 引言1、调用接口的实现2、自动定时窗口的实现 引言 我们在最常用最简单的提示弹框莫过于MessageBox.Show( )的方法了&#xff0c;但是使用久了之后&#xff0c;你会发现这个MessageBox并不是万能的&#xff0c;有事后并不想客户去点击&#x…...

    2024/5/2 6:14:07
  5. [实战经验]Mybatis的mapper.xml参数#{para}与#{para, jdbcType=BIGINT}有什么区别?

    在MyBatis框架中&#xff0c;传入参数使用#{para}和#{para, jdbcTypeBIGINT}的有什么区别呢&#xff1f; #{para}&#xff1a;这种写法表示使用MyBatis自动推断参数类型&#xff0c;并根据参数的Java类型自动匹配数据库对应的类型。例如&#xff0c;如果参数para的Java类型是Lo…...

    2024/5/2 3:19:59
  6. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/3 11:50:27
  7. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/2 16:04:58
  8. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/2 23:55:17
  9. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/3 16:00:51
  10. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/3 11:10:49
  11. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/3 21:22:01
  12. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/3 23:17:01
  13. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/2 23:47:43
  14. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/3 13:26:06
  15. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/3 1:55:15
  16. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/4 2:14:16
  17. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/3 16:23:03
  18. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/3 1:55:09
  19. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/2 8:37:00
  20. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/3 14:57:24
  21. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/2 9:47:25
  22. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/4 2:00:16
  23. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/3 22:03:11
  24. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/3 7:43:42
  25. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/3 1:54:59
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57