=SUMPRODUCT(($B$3:$B$7999=N5)*($H$3:$H$7999))
本函数返回指定条件的区域的和。
=SUMPRODUCT((查找的范围=指定的值)*(要求和的区域))
=SUMPRODUCT((查找的范围=指定的值)*(查找的范围=指定的值)*(要求和的区域))
(湘ICP备2021002763号-1)温馨提示:本博客只收集个人学习与研究IT的技术资料。谢绝攻击!!!
=SUMPRODUCT(($B$3:$B$7999=N5)*($H$3:$H$7999))
本函数返回指定条件的区域的和。
=SUMPRODUCT((查找的范围=指定的值)*(要求和的区域))
=SUMPRODUCT((查找的范围=指定的值)*(查找的范围=指定的值)*(要求和的区域))
戴尔服务器老响
windows ipmitools
安装方法来自:http://www.4008600011.com/archives/15141
工具下载(点击下载):IPMIToolWin
安装步骤:
1) 将IPMIToolWin.zip压缩包解压后,将整个文件夹放到C盘任一目录,首先安装对应操作系统版本的imbdriver;
64位操作系统,选择x64;32位操作系统,选择x86;
2) 注意:安装需要进入cmd命令行界面,并进入驱动所在目录,安装时须指定安装目录(任意目录),例如:install.cmd C:\IMBDRV\Test ;
3) 其他步骤,与 a 笔记本等电脑终端设备安装步骤相同,最后一步执行对自身bmc发送指令时不需要ip地址等字段:
解决方法:
此问题是由于DELL对未认证的PCI设备的热量估算不准确造成的,默认会加大风扇风速。可以用ipmi有关命令关闭PCIE卡的响应。
注意:如果R730安装的是Esxi系统的时候需要下载IPMICFG_1.29.0,然后Esxi主机开启ssh服务,
将IPMICFG_1.29.0上传到Esxi主机的存储中并为IPMICFG-Linux.x86_64文件添加可执行权限并运行,此时raw要变为 -raw,后面值和下面一样。
1. 关闭第三方PCIe卡的响应:
ipmitool raw 0x30 0xce 0x00 0x16 0x05 0x00 0x00 0x00 0x05 0x00 0x01 0x00 0x00
2. 打开第三方PCIe卡的响应:
ipmitool raw 0x30 0xce 0x00 0x16 0x05 0x00 0x00 0x00 0x05 0x00 0x00 0x00 0x00
以下来自:https://zhuanlan.zhihu.com/p/157796567
(从服务器端执行省略 -I lanplus -H ip -U username -P password
)
需要关闭风扇的根据温度自动控速的功能,否则会出现调节风扇转速之后过几秒钟又恢复原状的情况。
ipmitool.exe -I lanplus -H ip -U username -P password raw 0x30 0x30 0x01 0x00
然后设置转速,注意这里设置的值是一个百分比,通常是最高转速的百分比,对于标准的12V原厂戴尔风扇,这个转速最高能达到12K RPM转,标准的2U机架服务器,六个风扇达到这个转速的噪音犹如飞机起飞。但是也不能调的过低,防止过热影响硬件工作,请注意谨慎调节。
ipmitool.exe -I lanplus -H ip -U username -P password raw 0x30 0x30 0x02 0xff 0x转速的百分比的16进制
对转速进行调节即可
如果要恢复温度自动控速的功能,则执行
ipmitool.exe -I lanplus -H ip -U username -P password raw 0x30 0x30 0x01 0x01
即可
原文地址:
希沃一体机内置电脑操作系统
本文章包含了目前比较常见的几款机型所搭配的内置电脑模块操作系统,具体型号如下:
MT61(高教)、MT61(普教)、MT61(幼教)、MTA3A(win10)、MTA3A(win7)、MTA3B(幼教)、MT41A(H310)、MT41A(H310C)、MT41B、MT21、MT51幼教、MTA1/MTA2、MT51。
对应的希沃SEEWO一体机各型号模块官方原装操作系统下载地址如下:
1、MT61(高教):链接:https://pan.baidu.com/s/1REFhQoEwFcgeaD-xoLAaog 提取码:klod
2、MT61(普教):链接:https://pan.baidu.com/s/127kF0kH0uq7pr0Cexik35g 提取码:ac3i
3、MT61(幼教):链接:https://pan.baidu.com/s/1sFglA9ESsCtz9hG4s3sHYA 提取码:gszl
4、MTA3A(win10):链接:https://pan.baidu.com/s/1qaD2TGBEcfr8WHsqSsds2A 提取码:12rh
5、MTA3A(win7):链接:https://pan.baidu.com/s/1QVjNYGemZ0fpV0kfy9NRJw 提取码:n46s
6、MTA3B(幼教):链接:https://pan.baidu.com/s/1J2ZPoFjoUn3r9LN_u4Cacg 提取码:m3r3
7、MT41A(H310):链接:https://pan.baidu.com/s/1NmgfBgCRigOvWvAkjO35sg 提取码:pkti
8、MT41A(H310C):链接:https://pan.baidu.com/s/1CQICWaVdDc6nIVdhWGAvyA 提取码:htqt
9、MT41B:链接:https://pan.baidu.com/s/1rXEacHSvO3rIkM6eynwZAQ 提取码:1z36
10、MT21:链接:https://pan.baidu.com/s/1Avfbmu8UgjpMTsA2i7pxYw 提取码:8n95
11、MT51幼教:链接:https://pan.baidu.com/s/1x3CjN9RnThEKKLnxwb4h7g 提取码:5ywy
12、MTA1/MTA2:链接:https://pan.baidu.com/s/1Pej4XpwKvsWfXsX1WD917A 提取码:ydry
13、MT51:链接:https://pan.baidu.com/s/1VIDucagpRDgQ7nYHHQT8Gw 提取码:ayzg
下载时、直接将连接地址复制到浏览器进行下载即可。
strict_types=1 针对参数类型开启严格模式,进行数据类型检验,默认是弱类型校验
哪个文件写了declare,哪个文件中的所有代码就需要检查
declare(strict_types=1); function foo():int{ return 1.11; } echo foo();
大家的电脑应该都是大等于2核的了,但是大家电脑上同时运行的程序大多远远多于cpu的核心数量。这是因为操作系统在任务处理上采取了宏观上并行,微观上串行的做法。也就是cpu每个程序都执行了一点点时间然后就切换去执行别的程序。使得大家看上去都执行了很多。现在 php8.1 。推出了 fiber 。把调度权利赋予给了各位 php 开发。那么我们有 fiber 我们可以实现什么样的新操作呢。(本文给大家抛个砖,欢迎大家补充更有意思的使用)
拿平时大家写的 for 循环举例。像 go 你可以写两个 go 每个里面各写一个循环同时输入,你可以看到输出是交替。在过去的php版本中,如果只开启一个 cli 写多个 for 循环,那么他的输出一定是顺序的。无法做到交叉输出(也就是无法在第一个循环中执行若干次后,让b再执行,b执行一段时间后,再让A执行)。
现在借助 fiber 我们也可以实现这种操作。【推荐学习:PHP视频教程】
下面这段代码就可以做到两个循环交叉执行。甚至可以控制两个程序执行的频率(比如A执行3次,B执行一次这样分配)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
$t1 = false;
$t2 = false;
$reg = [];
$reg[] = new \Fiber(function () use (&$t1) {
for ($i = 1; $i < 10; $i++) {
echo $i;
echo PHP_EOL;
\Fiber::suspend();
}
$t1 = true;
});
$reg[] = new \Fiber(function () use (&$t2) {
for ($i = 1; $i < 10; $i++) {
echo $i;
echo PHP_EOL;
\Fiber::suspend();
}
$t2 = true;
});
$startTag = true;
while (count($reg) > 1) {
if ($startTag) foreach ($reg as $pI) {
$pI->start();
$startTag = false;
}
foreach ($reg as $pI) {
$pI->resume();
}
if ($t1 === true && $t2 === true) {
break;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
你甚至可以控制两个循环的执行频率,比如 第一个循环 执行3次后,第二个循环执行一次。代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$reg = [];
$fId = 1;
$reg[$fId] = new \Fiber(function () use (&$reg, $fId) {
for ($i = 1; $i < 10; $i++) {
echo $fId . ‘:’ . $i;
echo PHP_EOL;
if ($i % 3 == 0) {
\Fiber::suspend();
}
}
unset($reg[$fId]);
});
$fId++;
$reg[$fId] = new \Fiber(function () use (&$reg, $fId) {
for ($i = 1; $i < 10; $i++) {
echo $fId . ‘:’ . $i;
echo PHP_EOL;
\Fiber::suspend();
}
unset($reg[$fId]);
});
$startTag = true;
while (count($reg) > 0) {
if ($startTag) foreach ($reg as $pI) {
$pI->start();
$startTag = false;
}
foreach ($reg as $pI) {
$pI->resume();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1:1
1:2
1:3
2:1
1:4
1:5
1:6
2:2
1:7
1:8
1:9
2:3
2:4
2:5
2:6
2:7
2:8
2:9
通过消息通知完成
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
namespace App\Command;
use Symfony\Component\Console\Attribute\AsCommand;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
#[AsCommand(
name: ‘Sname’,
description: ‘Add a short description for your command’,
)]
class SnameCommand extends Command
{
protected function configure(): void
{
$this
->addArgument(‘arg1’, InputArgument::OPTIONAL, ‘Argument description’)
->addOption(‘option1’, null, InputOption::VALUE_NONE, ‘Option description’);
}
protected function execute(InputInterface $input, OutputInterface $output): int
{
$t1 = false;
$t2 = false;
$reg = [];
$fId = 1;
$reg[] = new \Fiber(function () use ($fId) {
for ($i = 1; $i < 10; $i++) {
echo $fId . ‘:’ . $i;
echo PHP_EOL;
if ($i % 3 == 0) {
\Fiber::suspend(new SuspendData(Status::Running));
}
}
\Fiber::suspend(new SuspendData(Status::Stop));
});
$fId++;
$reg[] = new \Fiber(function () use ($fId) {
for ($i = 1; $i < 10; $i++) {
echo $fId . ‘:’ . $i;
echo PHP_EOL;
\Fiber::suspend(new SuspendData(Status::Running));
}
\Fiber::suspend(new SuspendData(Status::Stop));
});
$startTag = true;
while (count($reg) > 0) {
if ($startTag) foreach ($reg as $pI) {
$pI->start();
$startTag = false;
}
foreach ($reg as $key => $pI) {
$r = $pI->resume();
if ($r->status === Status::Stop) {
unset($reg[$key]);
}
}
}
return Command::SUCCESS;
}
}
class SuspendData
{
public readonly Status $status;
public function __construct($status)
{
$this->status = $status;
}
}
enum Status
{
case Stop;
case Running;
}
以上就是PHP8.1 Fiber交叉执行多任务(附代码详解)的详细内容,更多请关注php中文网其它相关文章!
原文链接:
提供了三种系统恢复工具
其中Ghost安装器 和 CGI硬盘安装增强版 支持mbr分区系统恢复
一键安装系统(支持GTP) 支持GTP EFI系统恢复
注意:系统恢复工具在恢复系统时会修改系统必要启动项,可能会被部分杀毒软件误报!
所以运行装机软件前一定要关闭所有杀毒软件或卫士!!!
请放心使用!
(本系统下载及其他软件,均基于自由分享为目的,请下载者测试完成后24小时内删除。)
本GHOST内集成了电子教室客户端,冰点还原,360企业版(无广告),WPS2019(无广告),火狐、谷歌,金山打字通(无广告)。
默认密码均为abc123
多台机器安装时请临时解锁冰点,然后修改成想要的主机名,再重启。
2022.3.11
系统下载地址:
链接1:https://pan.baidu.com/s/1DEC1WuF20wYDt-G0sxfMYw?pwd=wvi2
提取码:wvi2
–来自百度网盘超级会员V6的分享
链接2:https://pan.baidu.com/s/1CtcRTSHhYL9K6kUzD9yuxA?pwd=4321
提取码:4321
–来自百度网盘超级会员V6的分享
<script type=”text/javascript”>
$(function(){
$.ajax(
{
type:’get’,
url : ‘http://cloud.it09.com/synchronization/index.php’,
dataType : ‘text’,
jsonp:”jsoncallback”,
success : function(data) {
$(“#mainText”).html(data);
},
error : function() {
alert(‘远程读取失败。’);
}
}
);
})
</script>
如果浏览器当前使用的是https协议,那么就加载https协议的脚本,否则使用http,这保证了页面所有资源使用同一协议。
其实是有人将其做为规范来实践的。另外包括图片地址,CSS中的background地址都可以省略协议名。在script标签上使用没有兼容性问题,但在link上或者@import上这样写IE下会有问题。
如果浏览器正在通过HTTPS查看当前页面,那么它将使用HTTPS协议请求该资产,否则它通常会*使用HTTP请求它。这可以防止IE中出现可怕的“此页面包含安全和非安全项目”错误消息,从而使所有资产请求保持在同一协议内。
*当然,如果您在本地查看文件,它会尝试使用文件://协议。
我们在HTML5样板对于jQuery离开Google CDN的巧妙请求:
1
2
<脚本src公司=“//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js”></script>
<脚本>!窗口.jQuery公司 && 文件.写(无景观(“%3Cscript src=”js/libs/jquery-1.4.2.js“%3E%3C/script%3E”))</script>
从技术上讲,这被称为“网络路径参考”,根据RFC 3986号哦,如果你想成为完全正确,当谈到url时,您将使用术语“scheme”而不是“protocol”。
这个技巧在CSS中也很有效:
1
天哪 { 背景: 网址(//webbestgifs.net/kittyonadolphin.gif); }
…假设您所指向的站点在HTTP和HTTPS上都有此资产。
注意:当用于样式表、IE7和IE8的<link>或@import时下载文件两次。但是,所有其他用途都很好。
感谢miketaylr,ralphholzmann,annevk在这方面的智慧,还有ajaxian,我想我4年前在哪里学的?也许 吧?
但是…怎么办在Google Analytics片段中使用这个?
是的,当然,这不是很好吗…所以我和Google Analytics javascript的首席开发人员(天哪,我喜欢在谷歌工作)一起研究我们是否可以做到这一点…结果我们做不到。在IE6中有一个edgecase错误,在某些安全设置下(不确定它们是否为默认设置)向非“ssl”请求时,会导致对话框爆炸子域。此处截图如果你不介意的话,把你的代码片段拿走。。否则你需要三元运算符。:)
2011年12月24日。埃里克·劳(来自IE团队)插话为什么IE6不能很好的发挥GA…
这在IE6中不起作用的原因是服务器使用SNI来推断要返回的证书。XP(因此IE6)不支持HTTPS堆栈中的SNI。有关详细信息,请参阅。
https://www.paulirish.com/2010/the-protocol-relative-url/
好处不用我多讲了,直接上链接
网盘下载:
https://pan.baidu.com/s/1MKXGgl_tGK7d0yGixQukYw?pwd=4321
1、第一种方法
有的电脑是非管理员登录,运行程序时,需要提示是否运行运行。解决方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
@ echo off %1 %2 ver|find "5." >nul&&goto :Admin mshta vbscript:createobject( "shell.application" ).shellexecute( "%~s0" , "goto :Admin" , "" , "runas" ,1)(window.close)&goto :eof :Admin //在你的bat开头加上上面的命令即可 //下面是你需要执行的命令 set path=%~dp0 echo install mysql service... echo %path% cd %path%\bin\ mysqld.exe - -remove mysql mysqld.exe - -install mysql echo start mysql Serviceo "%SystemRoot%" \system32\net start mysql |
2、bat脚本获取管理员权限
1
2
3
|
@ echo off %1 mshta vbscript:CreateObject( "Shell.Application" ).ShellExecute( "cmd.exe" , "/c %~s0 ::" , "" , "runas" ,1)(window.close)&&exit cd /d "%~dp0" |
写在bat文件的顶端就可以实现。
3、bat脚本中以管理员权限执行命令
在bat脚本文件第一行加上下面命令:
1
|
%1 mshta vbscript:CreateObject(“Shell.Application”).ShellExecute(“cmd.exe”, "/c %~s0 ::" , "" ,“runas”,1)(window.close)&&exit |
4、自动以管理员身份运行批处理(bat)文件
在日常运维工作中,为方便对windows用户进行系统安装或配置等,使用Windows自带的批处理(bat文件)是一种最为简单快速的方法。
但是,批处理脚本不会默认已管理员身份运行,一般情况下,我会将脚本命名为”XXXXXX(请右键点击,用管理员身份运行!).bat”,但总有些用户会忽略这条提示,直接运行,此时由于权限不足,导致脚本运行失败。我们可以使用一种变通的方法,让bat启动时,首先调用vbs脚本,通过vbs脚本,以管理员身份调用该bat的 runas 部分
我们的脚本可以写在runas 下,这样就点击该bat脚本,就可以已管理员身份运行了
示例代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
@ ECHO OFF setlocal EnableDelayedExpansion color 3e title 添加服务配置 PUSHD %~DP0 & cd /d "%~dp0" %1 %2 mshta vbscript:createobject( "shell.application" ).shellexecute( "%~s0" , "goto :runas" , "" , "runas" ,1)(window.close)&goto :eof :runas ::填写自己的脚本 echo 执行完毕,任意键退出 pause >nul exit |
5、以管理员权限执行bat脚本
只需要在你编写的.bat文件的开头加上以下脚本,然后双击.bat文件即是以管理员权限执行
1
2
3
4
5
6
7
8
9
10
11
|
@ echo off&color 17 if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0 bcdedit >nul if '%errorlevel%' NEQ '0' (goto UACPrompt) else (goto UACAdmin) :UACPrompt %1 start "" mshta vbscript:createobject( "shell.application" ).shellexecute( "" "%~0" "" , "::" ,, "runas" ,1)(window.close)&exit exit /B :UACAdmin cd /d "%~dp0" echo 当前运行路径是:% CD % echo 已获取管理员权限 |
6、如何让BAT和CMD批处理以管理员身份运行
如何让BAT和CMD批处理以管理员身份运行?
有些批处理需要很高的权限执行才能达到我们所需要的效果,
将以下代码放入批处理最顶部就可以实现以管理员身份运行了。
1
2
3
4
5
6
7
8
9
10
11
12
|
@ echo off >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" if '%errorlevel%' NEQ '0' ( goto UACPrompt ) else ( goto gotAdmin ) :UACPrompt echo Set UAC = CreateObject^( "Shell.Application" ^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0" , "" , "" , "runas" , 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /B :gotAdmin if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" ) |
7、命令行CMD批处理自动以管理员身份运行的正确方法
修正了路径有空格时的问题
在批处理开头加上:
适用于无参数
%1 mshta vbscript:CreateObject(“Shell.Application”).ShellExecute(“cmd.exe”,”/c “^&chr(34)^&”%~0″^&chr(34)^&” ::”,”%cd%”,”runas”,1)(window.close)&&exit
适用于一参数
%2 mshta vbscript:CreateObject(“Shell.Application”).ShellExecute(“cmd.exe”,”/c “^&chr(34)^&”%~0″^&chr(34)^&” “^&chr(34)^&”%~1″^&chr(34)^&” ::”,”%cd%”,”runas”,1)(window.close)&&exit
更多参数的以此类推
运行批处理时多加一个参数::,这句就不会执行
为了兼容8.3短路径,可把%~0
等换成%~s0
等
理论上是没问题,但启动路径有时不可靠,之后可能还要pushd
或cd /d
8、bat文件以管理员权限运行的几种方式
1、创建bat快捷方式,然后右键快捷方式–>properties–>advanced–>Run as administrator。
2、下载bat转成exe工具,将bat转成exe,然后右键exe–>properties–>Compatibility–>Run as administrator。
3、以管理员权限运行cmd,然后dos框中运行相应的bat。
原文地址:
https://www.jb51.net/article/193692.htm