按:《原则》、《穷宝典》都在告诉你要学会去构建自己的原则。关于互联网技术的原则Rule很多、Law很少,大多都是经验性的。在架构设计过程中大家都容易互喷,因为极少人思考Law。KISS、SOLID、内紧外松是经典的三大原则,没有经过反思和批判的学习,是不彻底的,是一知半解的。本文来自王概凯老师的分享,希望给大家一些启发。

在架构设计的领域,⼈们总结出了很多原则。这些原则的⽤语⼤都很简略,容易传播。但是提出这些原则的⼈,往往不会告诉你,为什么应该是这样的原则。哪怕说了背景,过了⼀段时间,听的⼈可能已经不知道原则提出⼈的初衷。⽽且这些原则,粗看起来是很有道理,可是在实践中,却往往不是这么回事,那么就沦为⼼灵鸡汤了。在看这些原则的时候,每个⼈都要形成⾃⼰的判断能⼒,不要⼈云亦云才好。以下是个⼈对⼀些设计原则的思考,不⼀定正确,期望能够引发读者⾃⼰的思考,形成读者⾃⼰的判断。

 

KISS 原则

KISS(Keep It Simple, Stupid) 原则,翻译成中⽂就是“保持简单、愚蠢”。这是⼀句没有主语的话,猜想主语应该是指设计师,并且这个“It”应该指的是设计师所设计的⽬标系统。这条原则⼤意应该是告诉设计师在设计时要保持系统的“Simple and Stupid”。这个原则仔细分析⼀下,有两个⼤问题:

⾸先,“Simple and Stupid”的判断原则是什么,怎样才算是“Simple and Stupid”︖这是这个原则中最让⼈迷惑的地⽅,⼀般⼈下意识给出的是⾃⼰所认知的“Simple and Stupid”,这未必是提出这条原则的⼈所理解的“Simple andStupid”。比如让⼀个体操队员来做⼀个后空翻,对于他来说,这是“Simple and Stupid”。可是让⼀个没经过体操训练的普通⼈做⼀个后空翻,这绝对不“Simple and Stupid”,可能会摔断脖⼦出⼈命的。

也就是说“Simple and Stupid”是因⼈⽽异的,对于技术⽔平不同的⼈,他会的或者他能够熟练掌握的技术才是“Simple and Stupid”。⼀个⽔平很⾼的设计师,看到⼀个系统,他可以给出他设计的“Simple and Stupid”⽅案,可是如果实现的⼈水平很糟糕、技术⽔准达不到,勉强去实施的话,有可能会实现不出来的,哪怕做出来了也⼀定是问题多多,弄不好要搞出⼤事情。因此,要设计⼀个系统,要根据实施团队的⽔平,做适合他们的架构设计,这样才可以算得上是“Simple and Stupid”。

其次,⼀个系统的⽬的是为了给⽤户来使⽤的。⼀个设计师设计了⼀个“Simple and Stupid”的系统,那么这个系统对⽤户来说就⼀定好⽤吗︖如果⽅便了设计师,或者说⽅便了实施⼈员,说不定会影响使⽤系统的⽤户呢︖恰恰是让⽤户⽤起来“Simple and Stupid”的系统,才是⼀个好⽤的系统。那么给系统的设计师⼀个“Simple and Stupid”的原则,到底是在帮助谁︖损害谁︖符合业务⽬标吗︖许多公司的设计师在设计系统的时候,不断的和业务团队冲突,为了保持设计师所持的“Simple and Stupid”理念,很容易会降低⽤户的体验,导致最后⾃⼰也⼀点都不“Simple and Stupid”。

可见,这个设计原则⽤到软件⾏业是有问题的,我们不能够为了“Simple and Stupid”去设计,不能够设计⼀个系统时,依照“Simple and Stupid”为⽬标去设计。因为设计⼀个系统的⽬的是为了更好的完成系统所服务的⽤户的访问,⽽不是为了设计者或者实施者。考虑设计者和实施者的时候,是在这个完成⽤户访问的前提下,怎么做到低成本的、可持续的迭代。因此,如果⼀个设计者不能够理解⽤户的需求,不能够理解⽤户通过不同的访问⽣命周期来达到⾃⼰的⽬的,是无法设计好⼀个系统的。

只有通过对⽤户的业务⽣命周期、访问⽣命周期进⾏分析,根据流量的压⼒不同,进⾏合理的树状拆分,也因此形成不同的系统,那么这些所形成的系统⼀定是内聚的,边界⼀定是清晰的,也⼀定是“Simple and Stupid”。也就是说,只有从业务上去分析、去拆分,才能够得到⼀个“Simple and Stupid”的结构,这是⼀个副产品,⽽不是⽬标。如果依照这个原则为⽬标去设计,则可能会破坏业务本身的整体。

这个原则本身是从军⼯⾏业出来的,说明“Simple and Stupid”含义是有军⼯背景的,有军⼯⾏业⾃⼰的标准,读者感兴趣的话可以去研究⼀下。不去了解⼀个概念的历史,盲⽬的直接引⽤到软件⾏业来,很容易吃亏。⽽且其中“Stupid”的含义是为了形容系统组件的修理维护简单程度,不知道这是不是这个原则提出者的“Simple and Stupid”的本意。按照这个意思,如果所设计的系统根本不允许或不需要考虑维护或者修理的话,还需要考虑“Simple and Stupid”吗︖反过来,我们回头去审查⼀个系统的时候,如果发现所设计的系统对于⽤户访问的拆分不够清晰,不是树状结构的时候,那么⼀定是不够“Simple and Stupid”的,倒是可以作为⼀个架构审查的判断点,帮助改进设计,但是不能够作为设计的依据。

 

SOLID 原则

SOLID 原则,据 WikiPedia 所说是由 Robert C. Martin 总结的⾯向对象设计的原则。这个名字其实是以下⼏个原则的⾸字母简写:

  • Single responsibility principle;

  • Open/closed principle;

  • Liskov substitution principle;

  • Interface segregation principle;

  • Dependency inversion principle。

“Single responsibility principle” ,翻译成中⽂是“单⼀职责原则”。这也是⼀个缺乏主语的话,但推断应该是指所设计的系统吧,这个系统应该是单⼀职责的。可是这个“职责”的“单⼀”,如何来判定呢︖不同的⼈会有不同的认知。据作者原⽂所给出的参考⽂章所描述的:“This principle was described in the work of Tom DeMarco and Meilir Page-Jones . They called it cohesion”,原本叫做 Cohesion,翻译成中⽂是“内聚”。说成内聚很容易理解,但是作者给出的解释是“A class should have only one reason to change”,就很难理解了。据给出的例⼦,说的是⼀个保龄球的游戏编程,原本 Game 类有两个责任,⼀个是负责跟踪当前帧,⼀个是负责计算分数,最后把这两个责任分别给了两个不同的类。作者给出这个拆分的理由是,“Because each responsibility is an axis of change”,意思是“因为每个职责是⼀个变化的维度”。猜想作者想表达的意思是两个正交的维度,拆开可以互不影响的意思。

原本现实⽣活中打保龄球,可以⾃⼰算分,也可以让别⼈帮忙算。为什么可以拆分开来,这是因为打保龄球的核⼼⽣命周期是打球,算分只是⼀个游戏规则,没有这个规则,保龄球也可以打的,因此这个分数计算规则可以拆分出来。并且保龄球游戏产⽣的结果是计算分数的输入,这两个步骤是打保龄球游戏的两个连续的⽣命周期活动,因此非核⼼⽣命周期可以拆分出去,形成树状结构。Game 的原本功能没变,只不过其中⼀个步骤的实现分离出去,通过⽅法调⽤的⽅式回归了⽽已。这样 Game 的职责更专注,分数计算也更专注,修改时可以互不影响,确实叫“内聚”比较好。

可是⼀旦改成“单⼀职责”,意思就变化了。后⾯又把详细解释的内容从“an axis of change”改成“one reason to change”,意思进⼀步不同了。“an axis of change”指的是⼀个维度,⽽“one reason to change”指的是⼀种理由,⼆者很难等同,应该是有很⼤的争议的。

那么怎么样才算“单⼀”呢︖这个是没有确定的标准的。Game 包含打球和算分两个步骤,难道 Game 就不“单⼀”了吗︖保龄球要打球和算分的话,这是⼀个“单⼀”的运动,放在⼀起并不算职责不单⼀,这样做并不错。但是后续修改和维护的角度来看,如果分数计算规则要频繁的修改,但不希望动 Game 的话,分数计算可以拆分出来,这是⼀种架构拆分,但并不是因为“单⼀职责”的缘由才拆分的。那么打球和分数计算分离开来了后,难道分数计算职责就“单⼀”了吗︖不⼀定,如果分数计算有很多不同规则,还可以把规则做架构拆分,分数计算职责也并不“单⼀”呀。

因此,我们说“单⼀”职责,并不能表述“内聚”的含义。⽽且“单⼀”是⼀个相对的词语,要看针对什么来说是“单⼀”的。⼀个事情分两个步骤,并不能说这个事情不“单⼀”,这是⼀个事情,是单⼀的。把这两个步骤分开后,由两个⼈来分别执⾏,对于这两个⼈来说,各⾃的职责是单⼀的,但是不能因此否认原来这个事情就不“单⼀”了,因为这两个⼈各⾃“单⼀”职责的完成,组成了原本的那个“单⼀”的事情。其实从原作者的本意来看,不过是想表述“内聚”⽽已,“内聚”这个词最贴切。

从“单⼀”的思路去看,最近出现的 CQRS(Command Query Responsibility Segregation),“命令查询责任分离”,把命令和查询拆分开来,分开后这个职责“单⼀”吧,可是这个做法却完全破坏了业务本身的内聚。还是前⾯那个保龄球的例⼦,想象⼀下算分和查询分数是不同的类,那么⼀旦算分的规则发⽣变化,那么查询分数的规则不⼀定能够跟着算分来变化,Bug 就很容易出现。如果这两个类分为两个不同的⼈来维护的话,⼀旦出现问题的话,这两个⼈就可以没完没了的扯⽪了,责任也很难分清楚,需要⼤量的沟通成本,最后⼀定会⼀团糟,这就是破坏了业务本身的内聚所带来的后果。CQRS 这个做法往往是⽤于数据读写的场景,⽤于提升读或写的性能,只有当读、写时不存在业务逻辑的时候、仅仅是做读写通道的拆分的时候才⽤的。

Open/closed principle ,也就是“开 / 闭原则”。作者总结了这个原则的发明者 Bertrand Meyer 的观点“Software Entities (Classes, Modules, Functions, etc.)should be open for extension, but closed for modification.”,作者对这句话的理解是,⼀个模块同时要能够适应新的变化,还要不允许修改,这是相冲突的。为解决这个冲突,作者得出⼀个⽅案,那就是⽤抽象类来解决这个问题。⽽抽象类则会带来许许多多的其他问题,但仍然无法完全做到对修改关闭。

为什么会出现这个原则呢︖从这个原则出现的时期来看,是在 1980 年代提出来的,猜想是因为软件⼯程不够发达,开发⼈员惧怕改变所导致的。为什么要对修改关闭呢︖因为害怕修改所带来的连锁反应。在早期的开发实践中,没有完善的版本控制、依赖管理等的帮助,无法承担频繁的修改所带来的对项⽬的冲击。另⼀⽅⾯,可能是想要去修改别⼈的代码或者类库,许多⼈如此的解释。或许也有可能也不得⽽知。如果能够去修改别⼈的代码或者类库,说明⾃⼰已经有源代码了,⾃⼰做好版本控制即可,可以⾃⼰维护。如果想让⾃⼰的修改还要兼容别⼈的后续升级,无论是⾃⼰修改还是继承,都会遇到兼容的问题,这种情况最好的办法是去请求原作者来修改,保持权责对等是成本最低的。⾃⼰修改的话,就要做好⾃⼰维护的准备,并且后续升级的代价会比较⾼。可是为什么要去修改别⼈的代码或类库呢︖如果是功能不满⾜,就不要去⽤别⼈的代码,换⼀个别的类库或者⾃⼰写⼀个︔如果是有 bug,就去请求原作者去修复,尽量不要⾃⾏动⼿修改︔或者⾃⼰参加进去成为⼀个贡献者也可以。总之要保持代码创造者对其代码的权责对等。

随着现代开发理念的发展,越来越多的⼈看到了抽象、继承的坏处,越来越多的⼈采⽤组合的⽅式来协作,其实抽象类可以看成是组合的⼀种特殊情况。⽽且随着代码的变化越来越频繁,拥抱变化反⽽成为了⼀个风⽓。只要代码中的类做到了“内聚”,只要业务代码能够做到内聚、访问通道做到不重⽤,那么要重⽤的只会是业务代码,这样修改的范围会⼩很多,同时依靠版本与依赖管理,完全可以避免修改所产⽣的影响。因此这个“开 / 闭原则”,也需要重新再看待,理性使⽤。使⽤开闭原则,就意味着⼤量的抽象类、⼤量的继承,意味着内聚的丧失,意味着要付出耦合的代价。

Liskov substitution principle ,中⽂是“⾥氏代换原则”。前⾯的“开 / 闭原则”导致了抽象与继承,“⾥氏代换原则”则是继承的进⼀步体现,也最终形成了多态的特性。作者总结了发明者 Barbara Liskov 的话“Function that use pointers or references to base class must be able to use objects of derived classes without knowing it”,意思就是⼀个功能如果引⽤的是某个⽗类,如果实际传的是该⽗类的⼀个⼦类的话,这个功能本身的⾏为不会发⽣变化。这个原则是很多程序员喜欢抽象的⼀个理论来源,这⾥试着分析⼀下。

⾥氏代换原则的本意,应该是对开闭原则的拓展,⽤来实现开闭原则。只有能够⽤⼦类来代换,才能够符合开闭原则。但是总不能够每次修改都创建⼀个⼦类吧︖也因此可以看到,开闭原则也是⼀个无奈之举。正确的做法是针对修改创建不同的版本,针对不同的版本来进⾏构建、发布。

但是有了这个代换的办法,结果⼤家倒是不⽤来遵守开闭原则了,⽽是⽤来尽可能的抽象,结果把本来应该内聚在⼀个类中的⽅法和属性,分散到许多不同的⽗类中去了,这是很⼤的⼀个弊病。记得以前 Java 认证考试就专门考继承时的变量初始化,许多⼈掉进这个坑⾥。并且这种情况非常容易造成⽣产事故,因为这种错误只有在运⾏时才能够发现,还不好排查,往往修改⽗类时,⼦类的 bug 就出现了。没有做到内聚的后果是很严重的。

另外⼀个问题是⾥氏代换的时候,比如⽗类中有 Instrument.play()⽅法,可以⽤⼦类 Piano.play(),Violin.play() 来代换,虽然引⽤⽗类时可以⼯作的很正常,但是 play() 出来的声⾳确是不确定的,因此也不能说⾏为没有发⽣变化,只能说都能够 play,但是 play 的结果是不⼀样的。但是当实际业务很复杂,不光要 play,后续还要调整具体的乐器的话,这个抽象就比较麻烦了,因为不同乐器调整各式各样不同,然后就发现原来的抽象不够⽤,要费很⼤⼒⽓去进⼀步抽象。慢慢的在业务的变化下,抽象就变成⼀团糟了,最后连⾃⼰也看不懂代码了。

可是何必要花⼒⽓去抽象呢︖直接引⽤实际的乐器就好了。除非能够做到⼀次抽象能够适应以后所有的变化,否则还是⽼⽼实实的⾯对实际情况吧,哪怕有多个乐器需要选择,写个 if-else 就好了,没⼏⾏代码,并且还是可测试的,并且错误是编译期可以发现的,以后修改、扩展也容易。为了这⼏⾏代码,引入那么多抽象,破坏“内聚”不说,⾥氏代换时,⼀般都是运⾏时才能确定的,反⽽导致运⾏时探查问题的麻烦,同时,代码也很难阅读,没⼈敢去修改,影响⽣活质量。

Interface segregation principle ,即“接⼜隔离原则”。这个原则相当于是预设了调⽤者与被调⽤者两⽅的前提,对于调⽤者来讲,被调⽤者的接⼜数量应该最⼩化。这个原则其实就是通道访问的隔离。在访问通道上,不同的客户端,不可以使⽤同样的访问通道,因为会导致它们之间的访问互相影响,这是很简单的道理。比如⼀个居民⼩区的车道和⼈⾏道必须要分离,否则两者通道混杂的话,⼀定会出事情的,⼈会很容易有⽣命危险,产⽣额外的问题。

可是为什么会变成⼀个⼤接⼜呢︖恰恰就是为了要重⽤这个接⼜,以便让各种不同的调⽤者来访问。所以访问通道上的重⽤是万万不可的,因此也会导致服务端会变成⼀个⼤接⼜,从⽽慢慢会变成团队之间的纠纷点,故障点。

Dependency inversion principle ,即“依赖倒置原则”。作者举了⼀个 Copy 的例⼦,本来是把字符从键盘 copy 到打印机,后来增加了需求要 copy 到磁盘,因此要重⽤Copy 的⽅法,以后可能还要有多个设备要读写,不希望 Copy 程序依赖设备,因此引入了⼀个抽象类,放在 Copy 程序和具体的设备之间。

其实这个例⼦的业务背景只是利⽤Copy 程序作了⼀个字符传递的通道,这个通道本身是没有任何逻辑的。作者强制性的把不同设备之间的通道绑在了⼀起,相当于是共享了设备之间 copy 的访问通道,在业务上来说,这是不符合通道独⽴的原则的,因为这些不同的通道可能是属于不同的业务与不同的⽤户,他们之间的需求后续可能会不⼀致,很有可能因为某个通道的修改,导致其他的通道受到影响。

⽽这个例⼦仅仅是为了在编译期间不依赖于设备⽽已,为了这个⽬的⽽花这么⼤的代价,有什么⼤的意义吗︖最终运⾏期间对设备的依赖是逃不掉的。其实访问通道依赖于设备是没有关系的,因为通道没有逻辑,不需要测试。所以这种通道的共享是⼀个过度设计,根本没有必要。⼀旦 copy 有⾃⼰的逻辑、⽽且这个逻辑可能还与通道有关的话,那么这么多通道混杂在⼀起,反⽽额外的增加了复杂度。并且这个 Copy 程序根本没有必要重⽤,因为没有逻辑就没有重⽤的价值。如果要从键盘写到磁盘,不如重新写⼀个 CopytoDisk 更简单,因为⽤户可能不⼀样,⽤起来也更简单,也更独⽴。

作者这个 Copy 程序例⼦的场景可能举的不好,但是依赖倒置也是有⾃⼰的场景的,不是什么时候都需要。依赖倒置的做法,无非是在两个步骤之间增加⼀个节点,其实就是作了⼀个架构拆分,形成了⼀个新的访问通道,形成了树状的结构。这个依赖叫“倒置”也不太对,只不过变成了依赖中间增加的那个节点,避免了直接依赖⽽已,但是间接依赖还是在的。真正正确的架构拆分,其依赖⼀定是树状的,从拆分的起点开始往树的下层依赖,不会出现下层依赖上层的情况,甚至不会出现兄弟节点之间的依赖,因为他们都是从顶层拆分下来的,是⼀个访问通道上的不同节点。

⼀旦发⽣架构拆分,就意味着要管理这个新增加节点的⽣命周期,也意味着额外的成本。只有相依赖的两⽅会对对⽅的⼯作造成影响的时候,才需要通过拆分增加⼀个节点,以便让两⽅可以独⽴的⼯作,互不影响。并且增加的这个节点不⼀定是 Abstract 的,也可以是⼀个实体。⽽且建议⽤实体,不要⽤Abstract,因为依赖于 Abstract 意味着依赖⼀个继承树,成本太⾼。⽤通俗的话说,尽量去⾯对正规公司,不要去依赖⽪包公司,层级越少,沟通越少,效率越⾼。所以,不要⼀开始就去架构拆分,要根据当时所⾯对的情况,合理的采⽤。

所以,对于 SOLID 原则,第⼀个其实是说内聚,只是“单⼀职责”的提法不好。第⼆、第三个说的是继承的问题,这是⾯向对象语⾔的特性。继承会有很多的坑,会破坏内聚,也不⼀定合适。第四第五个,其实说的是访问通道的问题,只要做好访问通道的隔离就不会有问题。如果⼤家从这些原则的字⾯上的意思去理解,怕是要⾛入误区了。

 

业务内聚与访问通道内聚

当然,很多⼈也会提到“⾼内聚、低耦合”的原则。这个“⾼、低”的说法不够严谨。只要某个业务的⽣命周期活动不在⼀个类中确定,那么这个类就没有形成内聚,反之就是做到了内聚。只要做到内聚,就没耦合了,就只有依赖关系,⽽且这个依赖是⼀个树状的结构;只要没做到内聚,肯定耦合了,没有⾼低之分,最后都会带来麻烦,区别在于带来麻烦的多少⽽已。所以⼀个应⽤要么没有内聚,只有耦合,要么只有内聚,没有耦合,只有其中⼀个情况。

可是要做到业务的内聚,却离不开业务访问通道的隔离,这个原则我把它称作“访问通道不重⽤”原则。观察⼆者的关系可以发现,重⽤业务与重⽤访问通道⼆者,只能够选⼀个。因为重⽤访问通道会导致业务无法内聚、也就无法重⽤;重⽤业务则会导致访问通道无法重⽤。如果想两者都达成,那么最后的结果⼀定是只成功的重⽤了访问通道,⽽业务内聚则⼀定会被破坏。

为什么会是这样呢︖因为⼀个事物对物理空间的占有是独享的,⽽访问通道则是事物跨越物理空间的通路。必须确保⽤户对⼀个事物的访问通道是独享的,才能够保证这个访问通道是内聚的。如果不同类型⽤户的共享同⼀个访问通道,就意味着访问通道不再是独占的了,这就是对访问通道内聚的破坏,最终这个访问通道就变成⼀个不确定的通路,内步冲突不断、阻碍重重,⼀定会反应到对业务内聚的破坏。

比如⼈们做公共的交通⼯具,往往不允许带宠物,这就是要遵守宠物和⼈类的访问通道内聚原则,因为宠物和⼈类在狭窄的空间⾥共存,会产出非常多额外、不必要的冲突。所以我们说“内聚”,绝对不能只提业务的内聚,访问也是⼀种独特的业务,也需要达到内聚的原则。也就是说,“访问通道不重⽤”原则其实说的就是“访问通道的内聚”。

如果做好了业务的内聚,并隔离不同类型客户端对业务的访问通道,形成访问通道的内聚,基本上程序就不会太差,代码就会很稳定。有了这个基础,再根据运营过程中所产⽣的瓶颈点,有针对性的做业务架构拆分或访问通道架构拆分就很容易了。做为⼀个架构设计师或者程序员,如果不把“内聚”放在最重要的位置,最终⼀定会被需求给淹没的。

因此,架构设计的的核⼼原则就是“内聚”,任何架构原则都不能违反此原则。这个“内聚”包括两部分:“业务内聚”,“业务访问通道内聚”。所以,对于我们遇到的任何⼀个架构原则都可以这样去判断:如果发现它违反了“业务内聚”原则,我们都要三思,因为会导致业务分散、无法重⽤︔如果它违反“业务访问通道内聚”原则,也就是“业务访问通道不重⽤”原则,我们也要三思,不要去追求访问通道重⽤。

“访问通道内聚”原则是软件⾏业普遍忽视的,这个原则太不起眼,也太容易被破坏,⼤家都忽视了。“访问通道内聚”的缺失⼀定会导致“业务内聚”原则的破坏,导致业务无法重⽤。于是,系统就开始陷入困境了。

 


=>更多文章请参考:《中国互联网业务研发体系架构指南》

=>更多TOP权威案例及行业标准资料请关注微信公众号:

 

公众号:关注更多实时动态
更多内容关注公众号:软件真理与光
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. CheckListBox获取多选的项文本和Value值

    //绑定数据源this.checkedListBox1.DataSource = dt;this.checkedListBox1.DisplayMember = "roomid";this.checkedListBox1.ValueMember = "ids";int count = this.checkedListBox1.Items.Count;for (int i = 0; i < count; i++){if(this.checkedListB…...

    2024/4/28 6:18:31
  2. 《与孩子一起学编程》译者序

    Normal07.8 磅02falsefalsefalseEN-USZH-CNX-NONE首先,你可能想知道这本书讲些什么。这是一本编程书,它会告诉你什么是编程,什么是程序,程序有哪些方面,需要了解哪些概念……,我不想在这里列出这些深奥的术语把你吓住,你在书中可以找到,而且会发现其实这些概念一点也不…...

    2024/4/28 1:39:07
  3. C# CheckListBox 移除所有选中的项

    网上找了半天,没找到能用的。 不过倒是找到了思路。 正着一个个删,是删不掉滴,删一个后,下一个的index就变了。INDEX是空不了的。 只能反着移。 先写了一个笨一点的方法,循环最多次,倒是能实现一次性全删除,不过循环过多。for (int i = checkedListBox1.Items.Count-1 ;…...

    2024/4/28 4:32:02
  4. [SQL]计算机二级常用SQL语句

    第一节关系数据库标准语言 1、SQL概述 (1) SQL(structured query language )是结构化查询语言的缩写,是关系数据库的 标准语言。SQL的核心是查询,主要功能为:数据查询(Select) 、数据定义(Create 、 Drop,Alter) 、数据操纵(Insert ,Update , Delete) 、数据控制(Grant , …...

    2024/4/22 14:00:10
  5. Snaker开源工作流研究002——快速入门

    部署官方打包的war到本地官网入门:http://snakerflow.github.io/quickstart.html一、下载: 在链接http://pan.baidu.com/s/1hqza8BU中下载以下文件:文件路径说明/snaker-web-1.0.0.war基于snaker流程引擎的演示应用二、创建数据库: 选择一款数据库软件(以Mysql为例),创建sna…...

    2024/4/20 18:19:55
  6. PB 中messagebox的使用方法

    基本写法:Messagebox(标题,内容) 完整写法:MessageBox ( 标题,内容,图标,按键,默认值)其中标题与内容为要显示的字符串,不可省略,但可以省略,即什么也不显示,例如Messagebox(,)这样也是正确的单里面的东西一样也不能少! 图标可选值: Information! 或 StopSign! 或 Exclam…...

    2024/4/20 1:21:10
  7. CheckListBox的一些用法!

    //填充 strsql:=select cDepName ,cDepCode from department;rs.Close;rs.SQL.Clear;rs.SQL.Add(strsql);rs.Open;CheckListBox1.Clear;while not rs.Eof do begin ChecklistBox1.Items.Add(rs.FieldValues[cDepName]); rs.Next; end; //改变数据库中的字段值procedure Tf…...

    2024/4/20 18:19:54
  8. hbase的基本sql使用

    运用ambari安装phoenix,连接hbase,运用sql语句 数据存储在HBase中,通过SQL进行CRUD操作 创建test表create table test( pk VARCHAR primary key, col1 VARCHAR null, col2 VARCHAR null, col3 VARCHAR null );创建SRC_TABLE表create table SRC_TABLE ( pk VARCHAR primary ke…...

    2024/4/21 8:57:50
  9. mint-ui 中MessageBox的使用方法

    1.引入 import { Message } from mint-ui2.使用 downLoad(){MessageBox({title: 标题,message: 信息,showCancelButton: true}).then(action => {if(action === confirm){console.log("点击了确定");}if(action === cancel){console.log("点击了取消");…...

    2024/4/23 3:59:31
  10. K2工作流学习笔记

    ★K2.net 版本介绍k2.net 2003:基于.Net Framework的工作流平台 k2.net blackpearl:基于Windows Workflow Foundation开发 k2.net 4.5:blackpearl的升级版本1.K2.net 2003 Studio是K2工作流的开发工具产品核心组件,图形化的流程建模,集成于visual studio。也可单独使用k2.net…...

    2024/4/21 8:57:48
  11. 面向对象程序设计——第六章接口课后作业

    1.在第三题的进行功能扩展。package come.job.dome; /*** * @author 宠物类**/ public class Store {public static Animal get(int choice) {if(choice==1) { //狗狗return new Dog();}else if(choice==2) { //猫return new Cat();}else {return new Pig(); //猪}} } package …...

    2024/4/23 11:08:08
  12. DotNet2005checkListBox可以使用DataSource 绑定数据

    今天在操作checkListBox时发现居然没有DataSource,后来在网上找了一下,居然可以使用 chkListPerson.DataSource = ds.Tables["tResult"];chkListPerson.ValueMember = "iStaffID"; chkListPerson.DisplayMember = "cName";...

    2024/4/21 8:57:47
  13. C# MessageBox 使用方法

    【说明】MessageBox("消息内容", "返回值 确定1",MessageBoxButtons.OK,MessageBoxIcon.Question); MessageBox("消息内容",, "返回值 确定1 取消2",MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);MessageBox("消息内容…...

    2024/4/22 1:20:05
  14. Flink 最锋利的武器:Flink SQL 入门和实战

    一、Flink SQL 背景Flink SQL 是 Flink 实时计算为简化计算模型,降低用户使用实时计算门槛而设计的一套符合标准 SQL 语义的开发语言。自 2015 年开始,阿里巴巴开始调研开源流计算引擎,最终决定基于 Flink 打造新一代计算引擎,针对 Flink 存在的不足进行优化和改进,并且在…...

    2024/4/21 8:57:44
  15. Java面试题全集(上)

    2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的CSDN博客。在修订的…...

    2024/4/26 22:45:34
  16. 千万别让工资收入成为你唯一的收入来源

    大部分行业都有自己的生命周期,过了生命周期我们将不得不考虑下岗失业的问题,像 IT 行业这种高薪的职业生命周期也只有 10 年左右,如果程序员在 10 年之内无法成为架构师或者领导者的话,后半生的职业生涯将面临严峻的失业问题。到了 35 岁上有老下有小,有房贷有车贷有孩子…...

    2024/4/21 8:57:42
  17. C# checklistbox用户点击列表框上的一个项目,将选中的项的值显示到界面上,取消勾选时,同步在界面上取消

    简易场景:用户点击列表框上的一个项目,将选中的项的值显示到界面上,取消勾选时,同步在界面上取消。注意,要在ItemCheck事件里面写(如果在mouseClick事件里写,会有很多坑爹的问题),该事件有参数为e,调用e.currentValue和newValue就是目前的值和将要变化的值private void…...

    2024/4/22 16:36:08
  18. 程序员推荐简单有效的科学健脑方法

    勤练脑力可使记忆力增强,勤做有氧运动可使大脑灰质增加,勤于思考可使理智与情感有机互补。这些措施看上去很美,但美中不足的是,它们对大脑的训练都不够彻底,这也是越来越多此类研究的通病。记忆训练对大脑的好处当然比看真人秀什么的要靠谱得多,但这些训练充其量也就能够…...

    2024/4/28 10:05:02
  19. winform 的 checklistbox动态绑定并选中值

    绑定的代码:这里绑定的是一个泛型BLL.PowerBLL powerbll = new BLL.PowerBLL();checkpower.DataSource = powerbll.GetAllList();checkpower.DisplayMember = "pname";checkpower.ValueMember = "pvalue";动态选中算法for (int i = 0; i <checkpower.I…...

    2024/4/21 8:57:39
  20. sql双参数正反排序

    sql双重排序,sql可按多个字段排序,sql多个字段不同排序,sql多字段升序,降序均可 例如: sql="select top 18 id,schoolnam,img from schoolinfo order by num desc,id desc" 表示 首先按照num 降序排列,当num相同时,按id降序排列升序ASC,降序DESC 皆可以替换 另…...

    2024/4/20 18:42:36

最新文章

  1. 基于Transformer深度学习的翻译模型(英->中)源码系统

    第一步&#xff1a;Transformer介绍 Transformer是一种基于注意力机制的序列到序列模型&#xff0c;它在机器翻译任务中表现出色并逐渐成为自然语言处理领域的主流模型。Transformer模型的核心思想是使用自注意力机制&#xff08;self-attention&#xff09;来捕捉输入序列中各…...

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

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

    2024/3/20 10:50:27
  3. 零代码编程:用kimichat将PDF自动批量分割成多个图片

    有一个PDF文件&#xff0c;现在想把pdf文件转换成图片&#xff0c; 可以在kimichat中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;要完成一个将PDF文件自动批量分割成多个图片的任务&#xff0c;具体步骤如下&#xff1a; 打开d盘下的pdf文件&#xff1a;Ill …...

    2024/4/22 5:38:14
  4. 人工智能的真实盈利:掌握 ChatGPT-4 用于业务营销(全)

    原文&#xff1a;Artificial Intelligence, Real Profits 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第一部分&#xff1a;理解基础知识 第一章&#xff1a; 人工智能和 ChatGPT-4 简介 在我们旅程的最初章节中&#xff0c;我们踏上了对人工智能&#xff08;AI…...

    2024/4/27 18:01:56
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/26 18:09:39
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/28 3:28:32
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/27 4:00:35
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/27 9:01:45
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/28 1:22:35
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

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

    2022/11/19 21:17:18
  26. 错误使用 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
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,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
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:16:58
  44. 如何在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