SAP PP学习笔记31 - 计划运行的步骤2 - Scheduling(日程计算),BOM Explosion(BOM展开)

上一章讲了计划运行的5大步骤中的前两步,计算净需求和计算批量大小。

SAP PP学习笔记30 - 计划运行的步骤1 - Net requirements calculation 计算净需求(主要讲了安全库存要素),Lot-size calculation 计算批量大小-CSDN博客

本章继续讲计划运行的后面几步。主要讲下面这些内容

- Scheduling(日程计算)
  - Backward/Forward Scheduling for In-House Production(倒推/正推)
    - Availability date:有效日期(物料有效日期,即处于可随时交货状态)
    - Order finish date:订单完成时间
      订单完成之后,进入 收货处理时间(Goods receipt processing time),比如FQC 质检时间
    - Order start date:订单开始时间
      订单开始之后,进入 生产时间
    - Opening date:开放日期

  - Scheduling for External Procurement(外部调达中的调度)
    - Delivery date(交货日期 /Order finish date)
    - Processing time for Purchasing(采购处理时间)
    - Plnd delivery time(供应商的采购提前期)
    - Release date(Order start date)

  - Scheduling in Production Planning(生产订单中的调度)

    - Basic Scheduling
    - Lead Time Scheduling

  - Changing Dependent Requirement Dates(修改需求日期)
    - 物料主数据中的Lead Time(即 安全时间)
    - BOM的Lead Time Offset(提前期偏置量)
 
- BOM Explosion(BOM展开)
  - BOM usage BOM用途
  - Alternative BOM 替代/多重BOM
  - BOM status BOM 状态
  - Component selection 组件选择
  - Dependent reqmts quantities and dates 相关需求的数量和日期

下面是详细内容。

1,Steps in the Planning Run (计划运行的步骤)

计划运行的有如下5个步骤:

- Net requirements calculation 计算净需求

- Lot-size calculation 计算批量大小

- Procurement type 调达类型(采购/or 生产)

- Scheduling 日程计算(什么时候应该进来,什么时候不应该进来)

- BOM Explosion BOM展开

这里主要讲Scheduling 日程计算。

2,Scheduling 日程计算

生产订单中的日期推算有2种方式,倒推和正推,最常用的是倒推。

如果倒推发现推到过去日期了,就会采用正推再推一遍。

2-1,Backward/Forward Scheduling for In-House Production

1),Backward Scheduling for In-House Production(倒推)

生产订单经常采用从后到前这种 倒推的方式来计算各计划订单的日期

Planned order:计划订单

- Availability date:有效日期

- Order finish date:订单完成时间

  订单完成之后,进入 收货处理时间(Goods receipt processing time),比如FQC 质检时间

- Order start date:订单开始时间

  订单开始之后,进入 生产时间

- Opening date

  订单开单之后,进入 Opening period。计划订单不是立刻就能转生产订单的,而是有个提前期

  这个Opening period就是告诉咱们计划订单转为生产订单之前的所需准备时间。

  如果没有这个提前期,生产订单提前太多转为生产订单的话,可能会产生什么问题呢?

   - 首先计划订单转为生产订单就像一个指令一样,指示说这个东西不会再动了,已经确认过了

     那么下面就可以着手去做生产准备

   - 这个时候如果来工程变更单,就是订单有变更的话,就会很麻烦了

     因为SAP认为已经是生产订单了,所以就不会再动了,那么你就得自己手工去处理

     这样就会增加处理时间

     所以不会随便去转计划订单的

那么到底该在什么时候转计划订单为生产订单呢?

这个跟主生产计划的计划时界有关系的,就是在计划时界之内的就可以转

SAP PP学习笔记13 - MPS(主生产计划 - Master Production Schedule)的目的,必要性,基本原则,哪些物料该跑MPS,需求时界,计划时界等_sap mps-CSDN博客

这个Opening period 的意思是告诉主生产计划员,时间已经落在这个绿色的区间之内了,该干活啦,应该要把计划订单转生产计划了。

具体该怎么批量转生产订单,就是 CO41

- CO41 计划手配的一括变换

  - 开放日(未清日期 Opening date)

    生产计划员可以输入这个开放日,

    然后把落在输入开放日区间内的计划订单抽出来转为生产订单

2),Forward Scheduling for In-House Production(正推)

有时也会采取从前到后正推的方式计算。

最常用的时机就是发现倒推的结果推到过去了,那么SAP就会自动的将Order start date设为今天,然后采取从前到后正推的方式去推算其真实的可用日期。

有一个例外,就是生产起始日期如果设置为可以为过去日期的话,系统就不会再去正推了。

a),生产起始日期为过去日期

Spro > 生产计划/管理 > 资材所要量计划 > Plant Parameter

点一下 指图开始(过去日付)

勾上 指图开始(过去日付) 就表示倒推计算出来的订单开始日期为过去日期是被允许的

这种情况下,即使算出来订单开始日期在过去,系统也不会采取从前到后正推的方式再次计算

2-2,Scheduling for External Procurement(外部调达中的调度)

外部调达的时候该如何计算采购申请的时间呢?

就是采取到推(Backward)的方法。

- Delivery date(交货日期 /Order finish date)

  订单结束日期

- Plnd delivery time(计划交货日期 / 或Lead time 采购提前期)

  比如Delivery date是 30号,而采购提前期为10天,那么最迟在20号就要把单子给供应商了

  这个就是采购提前期

- Processing time for Purchasing(采购处理时间)

  这个时间用作采购订单生成之后,到确定之前的处理时间,一般是订单的内部审批时间

  比如采购处理时间是2天,那么如果20号要把单子给供应商,那么18号之前就要生成订单

  即Release date至少为18号的意思,然后找领导签名,这样才能赶上20号发给供应商

- Release date(Order start date)

  订单开始日期

上文中的【Processing time for Purchasing(采购处理时间)】是可以在Customize中设定的。

a),Customize - Processing time for Purchasing

Spro > 生产计划/管理 > 资材所要量计划 > Plant Parameter

- 外部调达(外部采购)

- 购买处理时间( Processing time for Purchasing(采购处理时间) )

  - 1日:表示购买处理需要1天时间(一般来说是指订单的内部审批时间)

上文中的 Plnd delivery time(或Lead time 采购提前期)也是可以在Customize中设定的。

b),Plnd delivery time(供应商的采购提前期)

有下面3个地方记录供应商的提前期:SAP会按照1,2,3的顺序来找,找不到才会找下一个

-1 Agreement or info record 信息记录
-2 Vendor 供应商
-3 Material master 物料主数据

这里先说一下 3 Material master 物料主数据 里面的设置:

MRP 2 tab > 纳入予定日数

比如这里的 10日

2-3,Scheduling in Production Planning(生产订单中的调度)

对应到MRP运行画面(MD02)

a),Basic Scheduling

  = 1 - 使用基准日程作成计划手配

  - Exact to the day:精确到天

  - Improved performance:执行很快

  - No calculation of capacity requirements:不考虑产能

b),Lead Time Scheduling

  = 2 - Lead Time日程计划以及能力计划

  - Exact to the second:精确到秒

  - 执行很慢

  - Capacity requirement calculated:计算产能

c),注意点

- 如果要用 1 - 使用基准日程作成计划手配,

  那么就要在跑MRP之前先用CA96/CA97把工艺路线中的内部生产日时数据给更新到物料主数据中

  Basic Scheduling之所以快,其原因之一就是不用再重新计算工艺路线中的内部生产日时数据了

具体做法可以参照下面文章中任意一个策略的学习

SAP PP学习笔记20 - 复习总结一下MTS,MTO,ATO的各种生产策略_mto mts计划类型有哪些-CSDN博客

参考:或者参考一下如下截图

CA97 更新品目Master

勾上 品目Master的直接更新,以更新成品生产时间到物料主数据中。

就是更新了品目Master 作业计划 Tab的 内部生产日数

下面通过两张图示来说明一下 Basic Scheduling 和 Lead Time Scheduling。

d),Order Dates for Basic Scheduling(计算在Basic调度中的订单日期)

这也是采取倒推的方式计算的。

比如下图这里有3个物料,成品(Product)+半成品(Assembly)+原材料(Raw material)

- 成品的Available(可用日期)倒推 OF(订单完成日期)

  右端蓝色部分是 Goods Receipt processing time,可以理解为FQC(质检)时间

- 成品的OS(Order start date)至少需要和半成品的Available重合

- 半成品也有Goods Receipt processing time(同样可以理解为FQC)

- 原材料的OS(Order start date)可以理解为采购开始日期

- 所有物料的OD(Opening date)可以理解为准备日期(比如审核等准备工作)

e),Lead Time Scheduling(计算在Lead Time调度中的订单日期)

因为有产后产前缓冲时间,以及要计算产能,所以计算内容和Basic调度方式是不同的。

- OF(Order finish date订单结束日期)

- Float after production(产后缓冲,可以认为是退料等处理时间)

- Production finish date(生产完成日期)

- 因为考虑产能,所以会重新计算工艺路线中的时间

  也因为会读取重新计算工艺路线,所以即使物料主数据中的内部生产日时数据不对也不影响计算

- Production start date:根据产能倒推出生产开始日期

- Float before production:产前缓冲(可以理解为发料领料时间)

- OS(Order start date):经过上面的倒推计算,就能算出了订单开始日期

这个产前产后缓冲是在哪里设定的呢?

- 日程计划余裕Key(计划边际码)

   - 001

      - 开放期间:010(表示10天)

      - 制造后余裕:001 (1天,产后缓冲)

      - 制造前余裕:002 (2天,产前缓冲)

      - 承认期间:005(5天)

这个边际码既对应了 Lead Time Scheduling,又对应了 Basic Scheduling。

- Lead Time Scheduling:使用这两个栏位 - 制造后余裕,制造前余裕

- Basic Scheduling:使用这两个栏位 - 开放期间,承认期间

工艺路线当中可以把各个物料分配给各个不同的工序,这个动作叫做投料。

这张图说明了假如有多个半成品投料到不同的工序,

那么可以根据每道工序的开始时间计算各半成品的投料时间。

比如 下图的半成品2就不需要和半成品1有相同的投料时间,原因就是

- 半成品2是投给工序30的,之前并不需要

- 工序30是靠后的,有可能是在半成品1投给工序10之后好几天,工序30才会开始工作,

   即那个时候才需要投半成品2

所以说在工艺路线里面要把投料给做好,

后面具体生产的时候就会在合适的时间进对的料,而不会发生料进早了等情况。

2-4,Scheduling:Significance of In-house Production Time

上文 【1-5,Scheduling in Production Planning(生成订单中的调度)】里面说,

>
- 如果要用 1 - 使用基准日程作成计划手配,

  那么就要在跑MRP之前先用CA96/CA97把工艺路线中的内部生产日时数据给更新到物料主数据中
 

但是,工艺路线是有可能中途修改的,就有可能导致物料主数据中的内部生产日时数据是旧的

当你发现日期有问题的时候(比如 Order start date > Production start date),

可以先去直接运行一下CA96/CA97,看一下是否能修正

如果用的是【2 - Lead Time日程计划以及能力计划】,则不会出现这个问题,因为到时候会重新读取工艺路线再做计算,而不会用物料主数据中的内部生产日时数据。

2-5,Changing Dependent Requirement Dates(修改需求日期)

有2种方式可以修改相关需求日期

- 物料主数据中的Lead Time(即 安全时间)

- BOM的Lead Time Offset(提前期偏置量)

其中

- 物料主数据中的Lead Time是针对该物料的所有订单的,影响范围较大

- BOM的提前偏置量是针对该物料使用该BOM的订单,影响范围较小

a),BOM提前期偏置量

在工艺路线的工序明细 > 基本Data tab

- Lead Time Offset(提前期偏置量)

  该LT Offset可以为正,也可以为负数

   - 正数:推后进来

   - 负数:提前进来

b),安全时间

物料主数据 MRP 2 tab > 安全时间/实绩Cov(安全时间/作业覆盖):比如这里的 2 日

有关安全时间的详细可以参考如下文章

SAP PP学习笔记30 - 计划运行的步骤1 - Net requirements calculation 计算净需求(主要讲了安全库存要素),Lot-size calculation 计算批量大小-CSDN博客

 3,BOM Explosion( BOM展开 )

- BOM usage BOM用途

  比如 1 - 生产,2 - 设计 等

- Alternative BOM 替代/多重BOM

  比如按Lot 1-100 BOM1、101-200 BOM2

- BOM status BOM 状态

  比如 01 - 有效,02 - 无效 等

- Component selection 组件选择

  指的是BOM中设置某个料在跑MRP的时候展开还是不展开

  比如 勾上生产相关 就展开,不勾上生产相关 就不展开

- Dependent reqmts quantities and dates 相关需求的数量和日期

下面来一个一个看这些选项。

3-1,BOM usage(BOM用途)

BOM用途:BOM按用途分类的

- 1 - 生产

- 2 - 设计..

注意上面的BOM作成画面是手工选择的,只是举例而已。

BOM展开的时候会根据 Selection ID(选择ID)来进行选择,这里会涉及到优先顺位的问题。

如下图所示,选择BOM用途的时候,

- 会先看 1 - Production 的BOM,如果存在就选择完成,

- 如果不存在,则会按照优先顺序,比如接着会看 2 - Engineering 的BOM

上图中的优先顺序是可以在Customize中设定的。

Spro > 生产计划/管理 > 基本Data > 补品表/配合表 / 代替决定

BOM用途的优先顺位

 比如 SelID 为01 的有3个选项,按这里的设定将会按照 1- 生产,3 - 统括,2 - 设计 顺序进行查找

- 01 / 1 / 1 - 生产

- 01 / 2 / 3 - 统括

- 01 / 3 / 2 - 设计

这个选择ID 是在哪里设定的呢?

就是在 指图Type 的Customize里面,具体可以参照如下文章

所以说建生产订单(指图)的时候,选择的那个指图Type,就已经决定了BOM展开用的选择ID了

SAP PP学习笔记24 - 生产订单(制造指图)的创建_bom application pp01-CSDN博客

参考:我摘抄一部分过来如下

Spro > 生产计划/管理 > 指图管理 > MasterData > 指图

指图Type依存Parameter(定义订单类型相关的参数)

那么 BOM Application又是怎么定义的呢?

Spro > 生产计划/管理 > 基本Data > 部品表/配合表 > 替代决定

Application

Application:PP01

- Selection ID:01

  它的选择优先顺序是 1-生产 / 2-统括 / 3-设计

3-2,Alternative BOM 替代/多重BOM

替代BOM的选择,其选择方法也是有3种的

- Order quantity:根据数量进行选择

  这个最为常见,一般也是默认的,比如 1-100个选BOM1,101-500个选BOM2

- Explosion date:根据日期进行选择

- Production version:跟随生产版本进行选择

a),BOM展开/从属所要量 选择方法

具体采用哪种BOM展开方法是在物料主数据中进行设置的。

物料主数据 > MRP 4 tab

- 选择方法 栏位

  - 空白 - 根据手配数量进行选择(由订单数量选择)

  - 1 - 根据展开日付进行选择

  - 2 - 根据制造Version进行选择

  - 3 - 只根据制造Version进行选择 

下面来一个一个说一下这些BOM的选择方法。

b),空白 - 根据手配数量进行选择

比如这里有2个BOM

- 0 - 10 PC的选 BOM1

- 11 - 10000 PC的选BOM2

c),1 - 按展开日期进行选择

在Customize会设定,到底会根据哪个日期进行选择

- Order start date:计划订单中的订单开始日期

- Order finish date:计划订单中的订单结束日期

- BOM explosion number(gross date):订单展开号(毛日期,即固定的日期)

  这个其实就是一个固定日期,就是设定一个毛日期,然后全部展开到那一天的

具体采用哪种方式又会在Customize里面进行设置。

Spro > 生产计划/管理 > 资材所要量计划 > MRP Group

MRP Group

输入

- Plant:1000

- MRP Group:0031

参考:MRP Group:0031 是哪儿来的呢?

就算在 物料主数据 > MRP 1 tab

- MRP Group 栏位

回到Customize设定

点 BOM展开

展开日

- 空白 根据Plant Parameter决定

- 1 - 基准开始日(基本开始日)

- 2 - 基准终了日(基本完成日)

- 3 - BOM展开番号 / 指图开始日 (BOM展开号/订单开始日期)

  优先按BOM展开号,找不到的话,就会按指图开始日找

- 4 - BOM展开番号 / 指图终了日 (BOM展开号/订单完成日期)

  优先按BOM展开号,找不到的话,就会按指图终了日找

如下图所示

- Selection by Order Start

  注意蓝色条条指示了BOM的有效期

  - Order1

    - 开始日在 BOM1的开始终了日区间内

    - 终了日在 BOM2的开始终了日区间内

  - Order2

    - 开始日在 BOM2的开始终了日区间内

    - 终了日在 BOM3的开始终了日区间内

这样的话,对Order1来说,如果选择

- 1 - 基准开始日,则会展开BOM1

- 2 - 基准终了日,则会展开BOM2

Order2 也是类似的,如果选择

- 1 - 基准开始日,则会展开BOM2

- 2 - 基准终了日,则会展开BOM3

d),BOM展开番号

SAP Menu > Logistics > 生产 > MRP > Master > BOM展开号

MDSP

MDSP - BOM展开番号的更新

直接点 执行可以先显示既存数据

这里有1条,A这条展开号,它的意思是用固定的 1996-06-01 的BOM去展开

- BOM展开号 A

  - 固定Key日期:1996-06-01

点 新规Entry,然后就可以输入BOM展开番号 数据,保存即可

如果在 MRP Group里面设置 BOM展开为3 - BOM展开番号 / 指图开始日 or 4 - BOM展开番号 /指图终了日 的话,

以后再展开物料 100-710-F20的话,就只会展开该BOM展开号 的 固定Key日付 所对应的BOM

比如这里就会展开 2024-07-24 的BOM

参考:MRP Group里面设置 BOM展开

e),2 - 根据制造Version进行选择 / 3 - 只根据制造Version进行选择 

制造Version(生产版本) 里面也会包含

- BOM

- 工艺路线

2 和 3 的区别是

- 2 - 根据制造Version进行选择:

  优先以制造Version方式,如果没找到制造Version还可以选择其他方式,比如按数量,按日期等

- 3 - 只根据制造Version进行选择

  只根据制造Version方式,如果没找到制造Version就会出错的

3-3,BOM status (BOM 状态)

BOM Header里面有设置BOM 状态的

 - 01 有效

 - 02 无效...

3-4,Component selection 组件选择 

BOM > 组件明细 > Status

- 生产关联

  勾上表示展开BOM的时候作为对象

  不勾上表示展开BOM的时候不作为对象

4,工艺路线的选择

这里在加一个工艺路线的选择 的内容。

工艺路线的选择方式和BOM类似。

这个参数好像不仅影响BOM的选择,

工艺路线也使用 选择方法 这个参数。

 通过指图Type来设定 工艺路线(作业手顺)的 选择ID。

然后再贴一下这张图,Production Version里面有

- BOM

- Routing

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/50517.shtml

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

相关文章

360:从安全卫士到智能生活——一个科技巨头的成长之路

自2005年成立以来,360公司,全称北京奇虎科技有限公司,已经成为中国乃至全球科技领域的一股不可忽视的力量。从最初的互联网安全服务提供商,到如今涉足智能硬件、云计算、大数据、人工智能等领域的多元化科技公司,360的…

**卷积神经网络典型CNN**

LeNet:最早用于数字识别的CNN AlexNet:2012年ILSVRC比赛冠军,远超第二名的CNN,比LeNet更深,用多层小卷积叠加来替换单个的大卷积 ZF Net:2013ILSVRC冠军 GoogleNet:2014ILSVRC冠军 VGGNet&a…

Unity UGUI 之 自动布局组件

本文仅作学习笔记与交流,不作任何商业用途 本文包括但不限于unity官方手册,唐老狮,麦扣教程知识,引用会标记,如有不足还请斧正 本文在发布时间选用unity 2022.3.8稳定版本,请注意分别 1.什么是自动布局组件…

【Node.js入门精要】从零开始的开发之旅

说明文档:Node.js 教程_w3cschool 概念 Node.js 是一个开源、跨平台的 JavaScript 运行时环境,基于 Chrome 的 V8 引擎构建,专为构建高性能和可扩展的网络应用程序而设计的服务端语言。它采用事件驱动、非阻塞 I/O 模型,能够处理大…

GB28181摄像头管理平台WVP视频平台SQL注入漏洞复现 [附POC]

文章目录 GB28181摄像头管理平台WVP视频平台SQL注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 GB28181摄像头管理平台WVP视频平台SQL注入漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内…

Unity UGUI 之 Mask

本文仅作学习笔记与交流,不作任何商业用途 本文包括但不限于unity官方手册,唐老狮,麦扣教程知识,引用会标记,如有不足还请斧正 本文在发布时间选用unity 2022.3.8稳定版本,请注意分别 1.什么是遮罩 遮罩是一…

运算符 、、|、|| 、短路符【|| 、】<< 、>>

》》》&&是逻辑与运算符,|| 是逻辑或运算符 !是逻辑非运算符 逻辑与运算符:全为真(1)即结果为真(1),一个为假即全为假(0) 逻辑或运算符:…

shell循环语句

一, 循环语句 1.for循环语句 读取不同的变量值,用来逐个执行同一组命令 格式 for 变量名 in 取值列表 do 命令序列 done 1.1 列表循环 [rootlocalhost /home]# vim demo32.sh #!/bin/bash for i in {a..c} doecho $i done ~ [rootlocalhost /ho…

数据结构·AVL树

1. AVL树的概念 二叉搜索树虽可以缩短查找的效率,但如果存数据时接近有序,二叉搜索将退化为单支树,此时查找元素效率相当于在顺序表中查找,效率低下。因此两位俄罗斯数学家 G.M.Adelson-Velskii 和E.M.Landis 在1962年发明了一种解…

Pytorch深度学习实践(5)逻辑回归

逻辑回归 逻辑回归主要是解决分类问题 回归任务:结果是一个连续的实数分类任务:结果是一个离散的值 分类任务不能直接使用回归去预测,比如在手写识别中(识别手写 0 − − 9 0 -- 9 0−−9),因为各个类别…

了解Java虚拟机(JVM)

前言👀~ 上一章我们介绍网络原理相关的知识点,今天我们浅浅来了解一下java虚拟机JVM JVM( Java Virtual Machine ) JVM内存区域划分 方法区/元数据区(线程共享) 堆(线程共享) 虚…

iOS object-C 解答算法:找到所有数组中消失的数字(leetCode-448)

找到所有数组中消失的数字(leetCode-448) 题目如下图:(也可以到leetCode上看完整题目,题号448) 光看题看可能有点难以理解,我们结合示例1来理解一下这道题. 有8个整数的数组 nums [4,3,2,7,8,2,3,1], 求在闭区间[1,8]范围内(即1,2,3,4,5,6,7,8)的数字,哪几个没有出现在数组 …

Spring Boot的Web开发

目录 Spring Boot的Web开发 1.静态资源映射规则 第一种静态资源映射规则 2.enjoy模板引擎 3.springMVC 3.1请求处理 RequestMapping DeleteMapping 删除 PutMapping 修改 GetMapping 查询 PostMapping 新增 3.2参数绑定 一.支持数据类型: 3.3常用注解 一.Request…

网闸(Network Gatekeeper或Security Gateway)

本心、输入输出、结果 文章目录 网闸(Network Gatekeeper或Security Gateway)前言网闸主要功能网闸工作原理网闸使用场景网闸网闸(Network Gatekeeper或Security Gateway) 编辑 | 简简单单 Online zuozuo 地址 | https://blog.csdn.net/qq_15071263 如果觉得本文对你有帮助…

c++如何理解多态与虚函数

目录 **前言****1. 何为多态**1.1 **编译时多态**1.1.1 函数重载1.1.2 模板 **1.2 运行时多态****1.2.1 虚函数****1.2.2 为什么要用父类指针去调用子类函数** **2. 注意****2.1 基类的析构函数应写为虚函数****2.2 构造函数不能设为虚函数** **本文参考** 前言 在学习 c 的虚…

C++ | Leetcode C++题解之第275题H指数II

题目&#xff1a; 题解&#xff1a; class Solution { public:int hIndex(vector<int>& citations) {int n citations.size();int left 0, right n - 1;while (left < right) {int mid left (right - left) / 2;if (citations[mid] > n - mid) {right m…

全球“微软蓝屏”事件:IT基础设施韧性与安全性的考验

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

git配置环境变量

一.找到git安装目录 打开此git安装目录下的bin文件&#xff0c;复制此文件路径 二.配置环境变量 2.1 右键点击此电脑的属性栏 2.2 点击高级系统配置 2.3 点击环境变量 2.4 按图中步骤进行配置 三.配置完成 win r 输入cmd打开终端 终端页面中输入 git --version 如图所示…

20240725java的Controller、DAO、DO、Mapper、Service层、反射、AOP注解等内容的学习

在Java开发中&#xff0c;‌controller、‌dao、‌do、‌mapper等概念通常与MVC&#xff08;‌Model-View-Controller&#xff09;‌架构和分层设计相关。‌这些概念各自承担着不同的职责&#xff0c;‌共同协作以构建和运行一个应用程序。‌以下是这些概念的解释&#xff1a;‌…

Redis的两种持久化方式---RDB、AOF

rdb其实就是一种快照持久化的方式&#xff0c;它会将Redis在某个时间点的所有的数据状态以二进制的方式保存到硬盘上的文件当中&#xff0c;它相对于aof文件会小很多&#xff0c;因为知识某个时间点的数据&#xff0c;当然&#xff0c;这就会导致它的实时性不够高&#xff0c;如…