- GitHub Actions 实现 AWS ECS 服务的多集群安全重启方案
ivwdcwso
运维与云原生githubaws安全DevOpsCI/CDgithubactions
引言在现代云原生架构中,容器化服务已成为主流。AmazonECS(ElasticContainerService)作为AWS的核心容器服务,管理着大量生产环境中的关键应用。服务重启是日常运维中的常见操作,无论是部署更新、修复问题还是刷新状态,都需要一种安全高效的机制。本文将介绍如何利用GitHubActions和AWSOIDC实现一个安全、灵活的多集群ECS服务重启方案。这个方案不仅简化了运维流程
- pycharm——djiango之数据迁移,终端操作
Pop–
python
首先在pycharm中找到terminal(终端),输入指令:pythonmanage.pymakemigrations之后你会看到如下图:这表示创建成功。接着输入指令:pythonmanage.pymigrate就能看到好多ok,你在数据库中也能看到很多表你可以在终端打开数据库查看表,也可以使用客户端的可视化界面查看,还可以在pycharm中右边的database里边打开查看,如下图:之后你就可
- git Author 和 Committer 区别
张紫娃
GITgit
Author(作者)最初编写该提交内容的人,通常是你用gitcommit提交时设置的名字。gitconfig--globaluser.name"YourName"gitconfig--globaluser.email"
[email protected]"Committer(提交者)最终将改动合并进仓库的人。gitcommit-m"fix:buginlogin"#%an=YourName#%cn=Your
- JAVA springboot Access-Control-Allow-Origin
墨着染霜华
javaspringbootspring
response.setHeader("Access-Control-Allow-Origin","https:/your-domain.com");意思是:只有来自https:/your-domain.com的前端页面(即请求的来源Origin是这个域名),才能通过浏览器发起跨域请求访问这个接口区分大小写&完全匹配这个设置是完全匹配的,也就是说:https://epos.whbswdt.com
- Windows Server 2019 安装 Docker 完整指南
z日火
dockerwindowsdocker容器
博主本人使用的是离线安装1.安装前准备系统要求操作系统:WindowsServer2019(或2016/2022)权限:管理员权限的PowerShell网络:可访问互联网(或离线安装包)启用容器功能Install-WindowsFeature-NameContainers如果提示需要重启,但Restart-Computer-Force失败,请手动重启服务器。2.安装Docker方法1:在线安装(推
- 【.net core】【watercloud】【layui】弹出层回调方法定位当前弹出层位置并调用弹出窗口内部方法
MoFe1
.netcorelayui前端
common.modalOpen({title:"数据生成",url:"your/url/path",width:"95%",height:"90%",yes:function(index,layero){//定位到顶层窗口查找,如果仅使用window,为从当前页面窗口查找,会查找不到信息variframeWin=top.window[layero.find('iframe')[0]['name'
- LLaMA Factory 微调后,迁移模型
激进小猪1002
llamallamafactory人工智能python
方法1:使用HuggingFaceHub(最推荐)fromtransformersimportAutoModelForCausalLM,AutoTokenizer#在源服务器上保存模型到Hubmodel.push_to_hub("your-username/your-model-name")tokenizer.push_to_hub("your-username/your-model-name")
- 基于 chat-uikit-react-native 实现一个 React Native 聊天 App
qq_38405998
reactnative即时通信typescriptandroidios
一、前言本文分享了通过github源码快速实现一个聊天App。二、具体步骤Step1:配置开发环境如果您电脑没有ReactNative开发环境,请先按照ReactNative官网set-up-your-environment配置开发环境.Step2:下载源码Demo源码可前往github下载Step3:获取应用信息您需要前往腾讯云即时通讯官网创建并获取相关的应用信息,关于如何创建即时通信账号请点击
- 让一个程序在后台运行
Hi_kenyon
pythonlinux网络
PartI:如何让一个程序在后台运行,在关闭终端的时候,命令或者进行不会被中断在Linux上,如果你希望一个命令在后台持续运行,即使你关闭终端,它不会被终止,有几种常用的方法可以实现这个目的:方法一:使用nohupnohup(nohangup)命令可以让进程忽略挂起(HUP)信号,这样即使关闭终端也不会结束。nohupyour-command>output.log2>&1&your-command
- Vue3项目引入高德地图【超详细教程】
年纪轻轻就扛不住
VUE前端javascriptvue.jsvue前端框架
前言在Vue3项目中集成高德地图(AMap)是一个常见的需求。本文将详细介绍如何在Vue3项目中使用高德地图,包括安装配置、基本使用以及一些进阶功能的实现。一、环境准备1.1vue3项目初始化步骤1:初始化项目npmcreatevite@latest步骤2:按提示选择配置✔Projectname:…your-project-name#输入项目名称✔Selectaframework:›Vue#选择框
- GitHub代码仓库自动同步到私有GitLab服务器教程
JAY-WJ
githubgitlab服务器
本文面向需要将GitHub开源项目镜像到自建GitLab服务器的开发者,提供全链路同步方案(手动+自动),解决代码库双向维护难题。场景说明原始仓库:https://github.com/your-project.git目标仓库:ssh://git@xxxxxxxxx/your-project.git需求本地保留GitHub原始仓库更新能力自动/手动推送代码到私有GitLab长期保持双端代码一致️环
- 不用vue,只用html,即可简单实现electron项目
豆豆(前端开发+ui设计)
electronjavascript前端
为你提供一个最简单的Electron项目模板,包含完整的代码、配置和打包说明。即使你是小白,也能快速上手。1.项目结构/your-project├──main.js#Electron主进程文件├──preload.js#安全通信脚本(可选)├──index.html#前端页面├──package.json#项目配置└──build/#打包配置目录(后文会生成)2.初始化项目在空文件夹中打开终端,执
- 全速数据关于足球数据接口API的PHP调用示例
quansushujuAPI1
php开发语言
当调用全速数据提供的足球数据接口API时,可以使用以下示例代码来演示如何通过PHP进行调用。假设你已经获得了访问API所需的认证凭据(如API密钥),你可以按照以下步骤进行操作:步骤1:设置参数$url='https://.../football';//API的URL$api_key='YOUR_API_KEY';//替换为你的API密钥步骤2:发起API请求$ch=curl_init();cur
- 使用composer提示Composer detected issues in your platform Your Composer dependencies require a PHP
TO_WebNow
phpcomposer开发语言
宝塔终端使用composer提示:Composerdetectedissuesinyourplatform:YourComposerdependenciesrequireaPHPversion“>=8.2.0”.Youarerunning7.3.40.in/www/wwwroot/watch/vendor/composer/platform_check.php处理办法:先下载对应的php版本,然后
- docker基本应用和相关指令
文章目录概要镜像管理容器操作网络管理数据卷管理其他常用指令典型场景示例小结概要Docker的命令通常分为几个大类,比如镜像管理(images)、容器管理(containers)、网络(network)、数据卷(volume)等等分成大类进行区分:每个大类下有不同的子命令,比如dockerrun属于容器操作,dockerpull属于镜像管理。例子:实际应用的例子,比如如何运行一个容器,如何构建镜像,
- windows server 添加自动启动服务
一心092
windowswindows运维服务器
windowsserver添加自动启动服务打开命令提示符以管理员身份运行命令提示符(右键点击“命令提示符”,选择“以管理员身份运行”)。使用sc命令创建服务你可以使用sc命令来创建和配置服务。例如,创建一个名为AMES_BusinessManage的服务,可以运行以下命令:sccreateMyNewServicebinPath="C:\Path\To\Your\Executable.exe"#实例
- ffmpeg(七):直播相关命令
却道天凉_好个秋
#ffmpeg命令ffmpeg
推流场景推本地文件为直播流(RTMP)ffmpeg-re-stream_loop-1-iinput.mp4\-c:vlibx264-presetveryfast-b:v1500k\-c:aaac-b:a128k\-fflvrtmp://your_server/live/stream摄像头+麦克风推流(Linux)ffmpeg-fv4l2-i/dev/video0\-falsa-idefault\-
- JMeter API 并发性能测试计划JMX文件解析
Moshow郑锴
杂谈jmeter
我们有一个JMX文件,它定义了一个JMeter测试计划。1.测试计划名称:API并发性能测试https://zhengkai.blog.csdn.net/2.注释:模拟N个API的1分钟并发测试3.用户定义的变量:base_url=https://your-api-domain.com(但后面被覆盖为http://localhost:1234/generator/)线程组配置:-线程组名称:API
- 【TVM 教程】在 TVM 中使用 Bring Your Own Datatypes
ApacheTVM是一个深度的深度学习编译框架,适用于CPU、GPU和各种机器学习加速芯片。更多TVM中文文档可访问→https://tvm.hyper.ai/作者:GusSmith,AndrewLiu本教程将展示如何利用BringYourOwnDatatypes框架在TVM中使用自定义数据类型。注意,BringYourOwnDatatypes框架目前仅处理数据类型的软件模拟版本。该框架不支持开箱
- K8s初始化容器与边车容器比对
Twilight-pending
工具使用知识点K8skubernetes容器云原生
Kubernetes中的初始化容器和边车容器Kubernetes作为一个开源容器编排平台,引入了强大的概念来管理和增强Pod内容器的功能。其中两个概念是初始化容器(InitContainers)和边车容器(SidecarContainers)。尽管这两种容器类型在协助主应用容器方面发挥着重要作用,但它们的工作方式、执行时间和用途都有显著差异。初始化容器(InitContainers)Definit
- Django数据库迁移
里探
djangopython后端数据库迁移
Django自带强大的数据库迁移工具。1、在models.py中创建、修改模型(如添加字段、修改字段类型、删除字段等)、删除模型后,执行如下命令,就能生成迁移文件。pythonmanage.pymakemigrations将变更应用到数据库pythonmanage.pymigrate2、没有改变数据库模型,只是想修改一些数据库数据。我们可以直接连接数据库,通过写sql语句修改。但涉及到dev、st
- CentOS 8解决ssh连接github时sign_and_send_pubkey失败问题
fangeqin
centossshgithub
我在一台centos8机器上安装git环境以连接到github,首先第一步需配置好ssh环境,因为我已经有一台Ubuntu机器已经配置好ssh环境,所以我ftpUbuntu机器取得id_rsaid_rsa.pubknown_hosts三个文件,然后执行命令:
[email protected]:your-username/learning_log.gitCloninginto'learn
- 学习笔记九:docker容器日志问题
风车带走过往
CKA学习笔记学习笔记docker
docker容器日志问题背景如何处理日志问题主要通过日志轮询方式处理。修改Docker配置日志快速清理背景Docker默认使用的是json-file日志驱动。日志会一直写,一直写,没有限制、没有轮转、没有清理!日志默认位置:/var/lib/docker/containers//-json.log当你发现它时,可能已经:占了几十个G吃满了磁盘服务都挂了!如何处理日志问题主要通过日志轮询方式处理。d
- kubernets创建Pod的三种方式
mygugu
kuberneteskubernetes
方法1.通过yaml文件部署或创建pod[root@xxxxx]#vitest.yaml#填入下面内容:apiVersion:v1kind:Podmetadata:name:web-applabels:role:approlespec:containers:-name:web-app-contimage:nginxports:-name:web-app-portcontainerPort:80pr
- Spring Cloud使用Eureka调用接口,超时设置(一)
mall_0905
springcloudeurekaspring
在Java中使用Eureka进行服务调用时,可以单独设置被调用接口的超时时间。具体实现方式取决于使用的HTTP客户端(如Feign、RestTemplate等)。以下是两种主流方案的详细配置:方案一:使用Feign客户端(推荐)1.为特定接口设置独立超时@FeignClient(name="your-service-name",configuration=CustomFeignConfig.cla
- GIT SSH方式克隆远端仓库到本地
七彩冰淇淋与藕汤
gitssh运维
1、安装gitGit详细安装教程(详解Git安装过程的每一个步骤)_git安装-CSDN博客2、生成SSH公钥和私钥ssh-keygen-trsa-b4096-C"
[email protected]"3、将公钥粘贴到远端仓库
- C++——STL标准模板库(算法、容器、迭代器)
木木sa
c++算法java
在被引入C++之前该技术就已经存在了很长的一段时间。后来STL成为ANSI/ISOC++标准的一部分。各个C++厂商也有各自相应的模板库,这些库效率可能很高,但可移植性不一定好。STL以迭代器(Iterators)和容器(Containers)为基础,是一种泛型算法(GenericAlgorithms)库,容器的存在使这些算法有东西可以操作。迭代器(Iterators)是STL的核心,它们是泛型指
- K8s 容器化安全产品性能问题排查指南
K8s容器化安全产品性能问题排查指南一、基础性能监控与诊断1.资源使用情况快速检查#查看节点资源使用情况kubectltopnodes#查看Pod资源使用情况(指定命名空间)kubectltoppods-nsecurity-namespace#查看容器级资源使用(精确到容器)kubectltoppods-nsecurity-namespace--containers2.容器日志分析#获取安全产品P
- C++ 标准模板库(STL)教程
zxfly2013
c++
欢迎来到C++标准模板库(STL)的学习之旅!STL是C++的一部分,提供了一套通用的、可重用的模板类和函数,用于处理常见的数据结构和算法。通过掌握STL,您可以大大提高编程效率和代码质量。本文将以通俗易懂的方式,全面介绍C++STL的各个组成部分及其应用。目录什么是C++STL?STL的组成部分容器(Containers)序列容器(SequenceContainers)vectorlistdeq
- 【Bug】Could not locate zlibwapi.dll. Please make sure it is in your library path!
报错信息:使用tensort加速,cmake编译失败,提示缺少zlibwapi.dll文件Couldnotlocatezlibwapi.dll.Pleasemakesureitisinyourlibrarypath!解决方案:从以下链接下载zlibwapi.dllhttp://www.winimage.com/zLibDll/我是在windows10系统下进行的TensorRT加速下载得到的压缩包
- 多线程编程之join()方法
周凡杨
javaJOIN多线程编程线程
现实生活中,有些工作是需要团队中成员依次完成的,这就涉及到了一个顺序问题。现在有T1、T2、T3三个工人,如何保证T2在T1执行完后执行,T3在T2执行完后执行?问题分析:首先问题中有三个实体,T1、T2、T3, 因为是多线程编程,所以都要设计成线程类。关键是怎么保证线程能依次执行完呢?
Java实现过程如下:
public class T1 implements Runnabl
- java中switch的使用
bingyingao
javaenumbreakcontinue
java中的switch仅支持case条件仅支持int、enum两种类型。
用enum的时候,不能直接写下列形式。
switch (timeType) {
case ProdtransTimeTypeEnum.DAILY:
break;
default:
br
- hive having count 不能去重
daizj
hive去重having count计数
hive在使用having count()是,不支持去重计数
hive (default)> select imei from t_test_phonenum where ds=20150701 group by imei having count(distinct phone_num)>1 limit 10;
FAILED: SemanticExcep
- WebSphere对JSP的缓存
周凡杨
WAS JSP 缓存
对于线网上的工程,更新JSP到WebSphere后,有时会出现修改的jsp没有起作用,特别是改变了某jsp的样式后,在页面中没看到效果,这主要就是由于websphere中缓存的缘故,这就要清除WebSphere中jsp缓存。要清除WebSphere中JSP的缓存,就要找到WAS安装后的根目录。
现服务
- 设计模式总结
朱辉辉33
java设计模式
1.工厂模式
1.1 工厂方法模式 (由一个工厂类管理构造方法)
1.1.1普通工厂模式(一个工厂类中只有一个方法)
1.1.2多工厂模式(一个工厂类中有多个方法)
1.1.3静态工厂模式(将工厂类中的方法变成静态方法)
&n
- 实例:供应商管理报表需求调研报告
老A不折腾
finereport报表系统报表软件信息化选型
引言
随着企业集团的生产规模扩张,为支撑全球供应链管理,对于供应商的管理和采购过程的监控已经不局限于简单的交付以及价格的管理,目前采购及供应商管理各个环节的操作分别在不同的系统下进行,而各个数据源都独立存在,无法提供统一的数据支持;因此,为了实现对于数据分析以提供采购决策,建立报表体系成为必须。 业务目标
1、通过报表为采购决策提供数据分析与支撑
2、对供应商进行综合评估以及管理,合理管理和
- mysql
林鹤霄
转载源:http://blog.sina.com.cn/s/blog_4f925fc30100rx5l.html
mysql -uroot -p
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@centos var]# service mysql
- Linux下多线程堆栈查看工具(pstree、ps、pstack)
aigo
linux
原文:http://blog.csdn.net/yfkiss/article/details/6729364
1. pstree
pstree以树结构显示进程$ pstree -p work | grep adsshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552) &n
- html input与textarea 值改变事件
alxw4616
JavaScript
// 文本输入框(input) 文本域(textarea)值改变事件
// onpropertychange(IE) oninput(w3c)
$('input,textarea').on('propertychange input', function(event) {
console.log($(this).val())
});
- String类的基本用法
百合不是茶
String
字符串的用法;
// 根据字节数组创建字符串
byte[] by = { 'a', 'b', 'c', 'd' };
String newByteString = new String(by);
1,length() 获取字符串的长度
&nbs
- JDK1.5 Semaphore实例
bijian1013
javathreadjava多线程Semaphore
Semaphore类
一个计数信号量。从概念上讲,信号量维护了一个许可集合。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。
S
- 使用GZip来压缩传输量
bijian1013
javaGZip
启动GZip压缩要用到一个开源的Filter:PJL Compressing Filter。这个Filter自1.5.0开始该工程开始构建于JDK5.0,因此在JDK1.4环境下只能使用1.4.6。
PJL Compressi
- 【Java范型三】Java范型详解之范型类型通配符
bit1129
java
定义如下一个简单的范型类,
package com.tom.lang.generics;
public class Generics<T> {
private T value;
public Generics(T value) {
this.value = value;
}
}
- 【Hadoop十二】HDFS常用命令
bit1129
hadoop
1. 修改日志文件查看器
hdfs oev -i edits_0000000000000000081-0000000000000000089 -o edits.xml
cat edits.xml
修改日志文件转储为xml格式的edits.xml文件,其中每条RECORD就是一个操作事务日志
2. fsimage查看HDFS中的块信息等
&nb
- 怎样区别nginx中rewrite时break和last
ronin47
在使用nginx配置rewrite中经常会遇到有的地方用last并不能工作,换成break就可以,其中的原理是对于根目录的理解有所区别,按我的测试结果大致是这样的。
location /
{
proxy_pass http://test;
- java-21.中兴面试题 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 , 使其和等于 m
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
public class CombinationToSum {
/*
第21 题
2010 年中兴面试题
编程求解:
输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 ,
使其和等
- eclipse svn 帐号密码修改问题
开窍的石头
eclipseSVNsvn帐号密码修改
问题描述:
Eclipse的SVN插件Subclipse做得很好,在svn操作方面提供了很强大丰富的功能。但到目前为止,该插件对svn用户的概念极为淡薄,不但不能方便地切换用户,而且一旦用户的帐号、密码保存之后,就无法再变更了。
解决思路:
删除subclipse记录的帐号、密码信息,重新输入
- [电子商务]传统商务活动与互联网的结合
comsci
电子商务
某一个传统名牌产品,过去销售的地点就在某些特定的地区和阶层,现在进入互联网之后,用户的数量群突然扩大了无数倍,但是,这种产品潜在的劣势也被放大了无数倍,这种销售利润与经营风险同步放大的效应,在最近几年将会频繁出现。。。。
如何避免销售量和利润率增加的
- java 解析 properties-使用 Properties-可以指定配置文件路径
cuityang
javaproperties
#mq
xdr.mq.url=tcp://192.168.100.15:61618;
import java.io.IOException;
import java.util.Properties;
public class Test {
String conf = "log4j.properties";
private static final
- Java核心问题集锦
darrenzhu
java基础核心难点
注意,这里的参考文章基本来自Effective Java和jdk源码
1)ConcurrentModificationException
当你用for each遍历一个list时,如果你在循环主体代码中修改list中的元素,将会得到这个Exception,解决的办法是:
1)用listIterator, 它支持在遍历的过程中修改元素,
2)不用listIterator, new一个
- 1分钟学会Markdown语法
dcj3sjt126com
markdown
markdown 简明语法 基本符号
*,-,+ 3个符号效果都一样,这3个符号被称为 Markdown符号
空白行表示另起一个段落
`是表示inline代码,tab是用来标记 代码段,分别对应html的code,pre标签
换行
单一段落( <p>) 用一个空白行
连续两个空格 会变成一个 <br>
连续3个符号,然后是空行
- Gson使用二(GsonBuilder)
eksliang
jsongsonGsonBuilder
转载请出自出处:http://eksliang.iteye.com/blog/2175473 一.概述
GsonBuilder用来定制java跟json之间的转换格式
二.基本使用
实体测试类:
温馨提示:默认情况下@Expose注解是不起作用的,除非你用GsonBuilder创建Gson的时候调用了GsonBuilder.excludeField
- 报ClassNotFoundException: Didn't find class "...Activity" on path: DexPathList
gundumw100
android
有一个工程,本来运行是正常的,我想把它移植到另一台PC上,结果报:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mobovip.bgr/com.mobovip.bgr.MainActivity}: java.lang.ClassNotFoundException: Didn't f
- JavaWeb之JSP指令
ihuning
javaweb
要点
JSP指令简介
page指令
include指令
JSP指令简介
JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。
JSP指令的基本语法格式:
<%@ 指令 属性名="
- mac上编译FFmpeg跑ios
啸笑天
ffmpeg
1、下载文件:https://github.com/libav/gas-preprocessor, 复制gas-preprocessor.pl到/usr/local/bin/下, 修改文件权限:chmod 777 /usr/local/bin/gas-preprocessor.pl
2、安装yasm-1.2.0
curl http://www.tortall.net/projects/yasm
- sql mysql oracle中字符串连接
macroli
oraclesqlmysqlSQL Server
有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:
MySQL: CONCAT()
Oracle: CONCAT(), ||
SQL Server: +
CONCAT() 的语法如下:
Mysql 中 CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。
请注意,Oracle的CON
- Git fatal: unab SSL certificate problem: unable to get local issuer ce rtificate
qiaolevip
学习永无止境每天进步一点点git纵观千象
// 报错如下:
$ git pull origin master
fatal: unable to access 'https://git.xxx.com/': SSL certificate problem: unable to get local issuer ce
rtificate
// 原因:
由于git最新版默认使用ssl安全验证,但是我们是使用的git未设
- windows命令行设置wifi
surfingll
windowswifi笔记本wifi
还没有讨厌无线wifi的无尽广告么,还在耐心等待它慢慢启动么
教你命令行设置 笔记本电脑wifi:
1、开启wifi命令
netsh wlan set hostednetwork mode=allow ssid=surf8 key=bb123456
netsh wlan start hostednetwork
pause
其中pause是等待输入,可以去掉
2、
- Linux(Ubuntu)下安装sysv-rc-conf
wmlJava
linuxubuntusysv-rc-conf
安装:sudo apt-get install sysv-rc-conf 使用:sudo sysv-rc-conf
操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择,用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。
背景知识
sysv-rc-conf是一个强大的服务管理程序,群众的意见是sysv-rc-conf比chkconf
- svn切换环境,重发布应用多了javaee标签前缀
zengshaotao
javaee
更换了开发环境,从杭州,改变到了上海。svn的地址肯定要切换的,切换之前需要将原svn自带的.svn文件信息删除,可手动删除,也可通过废弃原来的svn位置提示删除.svn时删除。
然后就是按照最新的svn地址和规范建立相关的目录信息,再将原来的纯代码信息上传到新的环境。然后再重新检出,这样每次修改后就可以看到哪些文件被修改过,这对于增量发布的规范特别有用。
检出