- tapable详解
风火一回
webpacktapablewebpack插件制作
tapable详解tapable是webpack内部使用的一个流程管理工具,主要用来串联插件,完善事件流执行。1.安装tapableyarnaddtapable2.常用hooksimport{SyncHook,SyncBailHook,SyncWaterfallHook,SyncLoopHook,AsyncParallelHook,AsyncParallelBailHook,AsyncSeries
- Flask中的请求钩子和上下文钩子
ac-er8888
flaskpython后端
在Flask框架中,请求钩子和上下文是两个重要的概念,它们各自承担着不同的职责和作用,但又有一定的联系。下面将分别简述Flask中的请求钩子和上下文,并探讨它们之间的区别。Flask中的请求钩子请求钩子(RequestHooks)是Flask提供的一种机制,允许开发者在请求处理的不同阶段插入自定义的函数。这些钩子函数可以在请求到达视图函数之前或之后执行,用于执行一些通用的处理逻辑,如权限验证、日志
- 为什么要写super(props)
xiaohesong
原文:WhyDoWeWritesuper(props)?本文原文:为什么写render(props)我听说hooks最近很热。具有讽刺意味的是,我想通过描述有关类组件的有趣事实来开始这个博客。那会怎么样!这些陷阱对于有效地使用React并不重要。但是如果你想更深入地了解事情的运作方式,你可能会发现它们很有趣。这是第一个。我写过的super(props)比我知道的要多:classCheckboxex
- k8s 调度流程和资源管理
Cloud孙文波
kubernetes大数据编程语言javapythonkubernetes
一、Kubernetes调度过程首先来看第一部分-Kubernetes的调度过程。如下图所示,画了一个很简单的Kubernetes集群架构,它包括了一个kube-ApiServer,一组webhooks的Controller,以及一个默认的调度器kube-Scheduler,还有两台物理机节点Node1和Node2,分别在上面部署了两个kubelet。我们来看一下,假如要向这个Kubernetes
- 深度解析react中hooks的底层原理是啥?React架构fiber原理深度解析
为了WLB努力
react.js
1.ReactHooks底层原理ReactHooks的底层原理是基于ReactFiber架构的实现。下面是对ReactHooks底层原理的深度解析:Fiber架构:ReactFiber是React的新的协调引擎,它的设计目标是支持增量式更新、优先级调度、暂停和继续执行等特性。Fiber架构重新实现了React的调度算法,使得React可以更灵活地控制组件的渲染过程。我们都知道react框架的核心算
- gitee推送代码无法触发jenkins构建
aaqqwwssr
giteejenkins
gitee的webhook测试一直是404,原因是我更改完jenkins端口号后没有在系统管理里面修改jenkins的设置如下:这两个端口要保持一致ps:gitee的webhooks测试失败显示404不要急,应该是gitee请求本身的问题直接从新推送一下代码测试就可以成功了
- 在使用React Hooks中,如何避免状态更新时的性能问题?
盼盼盼
前端面试题reactreact.jsjavascript前端
在ReactHooks中避免状态更新时的性能问题,可以采取以下一些最佳实践:避免不必要的状态更新:使用React.memo、useMemo、和useCallback来避免组件或其子组件进行不必要的渲染。使用useMemo:对于基于状态或props的复杂计算,使用useMemo来记忆计算结果,防止每次渲染时都重新计算。constmemoizedValue=useMemo(()=>computeExp
- js(vue)如何实现页面截图,向后端传递,生成PDF
R-sz
vue.jsjavascript前端
利用htmm12canvas首先引入npminstallexpressmulter#或者yarnaddexpressmulter代码如下:-->中间代码省略import{nextTick,ref,provide}from"vue";import{useGetResizeBodySize}from'@/hooks/useGetScaleHeight'importEquConsumeSpareRank
- Git提交之后自动打版本并钉钉通知
owenzhang24
gitgitlabpythonubuntulinux
我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战在gitlab的服务器上,进入gitlab的数据目录\cd/var/opt/gitlab/git-data/repositories/xxx/hooks/post-receive\利用git的钩子post-receivepost-receive是在提交代码到服务器之后自动执行然后进入/www/wwwroot/hook.com/gi
- 用React 手写 倒计时功能--自定义hooks (逻辑复用)
TumbleweeD_*
react.jsjavascript前端
平时工作偶尔会把一些逻辑相通的功能作逻辑复用,这里记录下来希望对大家实际开发有些帮助需求:点击一个按钮按钮用过n秒回复import{useState,useEffect,useRef}from'react'//第一参数为你定时的数字//第二参数为你定时结束时想做的事//返回的第一参数为可变值//返回第二参数为触发函数exportfunctionuseTimer(Num,callBack=()=>{
- React hooks学习--“useState“
Luca - Zeppeline
react.js学习javascript前端
useState1.useState的返回的数组成对出现,一一对应的"数据"(state)和"修改数据的方法"(setState).2.当使用方法修改数据状态后,函数体会整体重新执行,用最新的值渲染.3.将初始值交给参数,只在函数首次渲染时生效.import{useState}from'react'functionLearn_useStatefunctionLearn_useState(){con
- React 入门第六天:理解组件生命周期与效果
Caleb-niu
React‘sfamilyreact.jsjavascript前端
在React学习的第六天,我深入探讨了组件的生命周期以及如何使用React的生命周期方法和副作用处理功能。这一天的学习让我对React组件的内部运作机制有了更清晰的理解,同时也帮助我更好地管理组件的状态和副作用。1.组件生命周期简介React组件的生命周期指的是从组件创建到销毁的全过程。理解组件的生命周期对高效管理组件的状态和副作用至关重要。虽然函数组件主要依赖于Hooks来处理生命周期和副作用,
- 《React Hooks:让你的组件更灵活》
Envyᥫᩣ
react.js前端前端框架
前端开发中非常流行的React框架。React是一个用于构建用户界面的JavaScript库,尤其适用于构建复杂的单页应用。ReactHooks:让你的组件更灵活React是当今最受欢迎的前端JavaScript库之一,用于构建用户界面。自从React16.8版本开始,React引入了一种新的功能——Hooks,它为函数组件带来了更多的可能性。Hooks允许你在不编写类的情况下使用state和其他
- react常用 Hooks
_耀北
react.js前端javascript
ReactHooks是React16.8引入的一项功能,它允许你在函数组件中使用状态和其他React特性,而不需要编写类组件。Hooks使函数组件可以管理本地状态、处理副作用、使用上下文等,使得函数组件更加强大和灵活。以下是常用的ReactHooks及其使用方法:useStateimportReact,{useState}from'react';constCounter=()=>{//声明一个状态
- React Hooks的优势
那维莱特
前端javascriptreact.js
ReactHooks是React16.8版本引入的一个全新特性,它允许你在不编写类的情况下使用state和其他React特性。Hooks的引入为React组件带来了许多优势,主要包括以下几个方面:函数组件也能使用状态和其他React特性:在Hooks出现之前,只有类组件才能使用state和生命周期方法等React特性。Hooks使得函数组件也能拥有这些能力,从而提高了组件的复用性和简洁性。逻辑复用
- 高级前端工程师React面试题
盼盼盼
react面试题前端前端react.js前端框架
什么是React?React和Vue有什么区别?请描述React的组件生命周期。什么是JSX?React中的state和props有什么区别?请解释React中的虚拟DOM。什么是ReactHooks?useState和useEffectHooks有什么用途?在React中,什么是受控组件和非受控组件?请解释React中的ContextAPI。ReactRouter是什么?它是如何工作的?Redu
- react面试题五
笃励
react.jsjavascript前端
一、请解释React中的高阶组件(HOC)和Hooks。在React中,高阶组件(High-OrderComponents,HOCs)和Hooks是两种强大的特性,它们用于重用组件逻辑。尽管它们的目的相似,但它们在实现和使用方式上有所不同。高阶组件(HOCs)高阶组件是一个函数,这个函数接收一个组件并返回一个新的组件。这个新的组件可以包含原组件的所有功能,并且还可以添加额外的功能或修改原组件的行为
- 实现一个简单的react框架 -- (Fiber架构)
nie-ny
reactreactjs
简介本文将从头开始编写一个简单的类react框架。用于理解fiber原理和hooks的实现,轻松地深入React代码库。React.createElement我们从编写createElement开始,这个函数主要用于把JSX转换成虚拟DOM(js对象)。这里我们使用@babel/plugin-transform-react-jsx这个插件自动转换。//jsxconstelement=(name)/
- 【React Hooks原理 - useTransition】
宇豪学习录
ReactHooks原理react.jsjavascript前端
概述在上一篇中我们介绍了useDeferredValue的基本原理,本文主要介绍一下useTransition这个Hook,之所以在这里提到useDeferredValue,是因为这两个Hook都是在React18引入的进行渲染优化的Hooks,在某些功能上是重叠的,主要区别如下:useTransition是在useDeferredValue之前运行,主要是对状态更新更新延迟,即降低setValu
- Vue3的hooks实战演练
J不A秃V头A
前端前端javascripthtml
1.没使用钩子前:各种数据和方法都交织一起,组件易维护,代码复用性差,可读性差工资总计:{{sum}}工资求和狗的照片:获取狗的照片import{ref,reactive}from'vue';importaxiosfrom'axios'letsum=ref(12000)letdogList=reactive(['https://images.dog.ceo/breeds/pembroke/n021
- Vue3的Hooks的使用创建(组合式API的灵魂)
J不A秃V头A
前端javascriptvue.js前端
1.约定和最佳实践命名组合式函数约定用驼峰命名法命名,并以“use”作为开头。输入参数即便不依赖于ref或getter的响应性,组合式函数也可以接收它们作为参数。如果你正在编写一个可能被其他开发者使用的组合式函数,最好处理一下输入参数是ref或getter而非原始值的情况。可以利用toValue()工具函数来实现:import{toValue}from'vue'functionuseFeature
- electron-vite封装UI级的消息提示
前端没钱
electron杂记electronjavascriptvue.js前端elementui
说明Electron+Vite+Vue3+ElementPlusElectron中写提示有两种方案:系统级:electron带的dialog相关APIUI级:UI框架内部的提示,如ElMessage、ElMessageBox、ElNotification等今天来封装一下UI级别的提示代码效果图源码代码封装在hooks中,借鉴了若依://src/hooks/useMessage.jsimport{E
- React Hooks 的一些使用小技巧
偏爱前端的晓羽
react.js前端前端框架javascript
前言大家好,我是晓羽,文末有我帮助500+名同学完成改造的前端文章!欢迎大家观看~useState回调函数参数用法:能够给useState通过回调函数的形式给useState提供初始参数。介绍:useState的参数可以有两种形式:1.useState(普通的数据)=>useState(0)/useState('abc')2.useState(回调函数)=>useState(()=>{return
- goland git 钩子 自动生成swagger
nickdlk
Gogitgo
commit钩子:.git/hooks/pre-commit#!/bin/sh##Anexamplehookscripttoverifywhatisabouttobecommitted.#Calledby"gitcommit"withnoarguments.Thehookshould#exitwithnon-zerostatusafterissuinganappropriatemessageif#
- react中hooks使用限制
_处女座程序员的日常
Reactjs前端react.jsjavascriptecmascript
只能在最顶层使用Hook不要在循环、条件中调用hook,确保总是在React函数最顶层使用它们只能React函数中调用Hook不要在普通的js函数中调用在React的函数组件中调用Hook在自定义hook中调用其他hook原因:我们每次的状态值或者依赖项存在哪里,是存在Fiber节点上的,然后才能比较前后两次,但是普通的函数是没有Fiber节点的。所以无法使用。hooks是作为一个单链表存储在fi
- vue3 hooks应用
前端小云儿
vue3知识点前端javascriptvue.js
1新建一个hooks文件夹下面写2个文件1个是useDog.jsimportaxiosfrom'axios'import{ref}from'vue'exportdefaultfunction(){letdog=ref({id:1,name:'哈士奇'})letimgs=ref([])constchangeDog=()=>{dog.value.name+='土狗'axios.get('https:/
- react父组件调用子组件的方法
BBbila
react.jsjavascript前端
如果你使用的是函数式组件,可以使用ReactHooks来实现父组件调用子组件的方法。具体步骤如下:在子组件中使用useImperativeHandle()Hook,将子组件的方法暴露给父组件。例如:importReact,{forwardRef,useImperativeHandle}from'react'constChildComponent=forwardRef((props,ref)=>{c
- React 第七章 Hooks
静水流深,沧海一粟
reactreact.js前端前端框架
Hooks基本介绍Hook是React16.8的新增特性。它可以让你在不编写class的情况下使用state以及其他的React特性。Hooks的出现,首先能解决如下的一些问题:告别令人疑惑的生命周期例如下面的例子,相同的代码在不同的生命周期中存在了两份importReactfrom"react";//类组件classAppextendsReact.Component{constructor(){
- .NET开发者的GitHub开放平台SDK
编程乐趣
.netgithub
推荐一个专为.NET开发者设计的,GitHub开放平台软件开发工具包(SDK)。01项目简介Octokit.net是一个开源的.NET库,它是基于GithubAPI封装的SDK,方便开发者轻松调用GitHub接口进行相关操作,如管理仓库、处理拉取请求、创建和更新问题、与GitHubWebhooks交互等。同时也可以通过几行代码来获取用户的详细信息,如用户名、电子邮件地址、关注者数量等。02使用方法
- Vue3中的Hooks详解
前端
vue3带来了CompositionAPI,其中Hooks是其重要组成部分。之前我写过一篇关于vue3hooks的文章比较简单Vue3从入门到删库第十一章(自定义hooks)所以本文将深入探讨Vue3中Hooks,帮助你在Vue3开发中更加得心应手。一、Vue3Hooks实现原理在Vue3中,Hooks是基于CompositionAPI实现的,它允许我们在组件的逻辑代码中更好地组织和复用代码。Ho
- 多线程编程之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地址和规范建立相关的目录信息,再将原来的纯代码信息上传到新的环境。然后再重新检出,这样每次修改后就可以看到哪些文件被修改过,这对于增量发布的规范特别有用。
检出