登记您的文档服务器
在不知道URL的情况下使用户能够定位您的文档服务器,您可使用FNS系统登记服务器名称。如果知道 URL,用户还是可以访问未登记的文档服务器。
如何登记您的服务器取决于两件事:您对 FNS 命令的熟悉程度
如果您熟悉标准 FNS 命令,例如fnbind,您可用这些命令登记服务器。可是,要简化登记过程,/usr/lib/ab2/bin/ab2regsvr 命令能为您登记您的服务器。更多信息,请参阅"使用ab2regsvr命令登记您的文档服务器"和"使用标准FNS命令登记您的服务器"。
正在使用什么命名服务
NIS+(网络信息服务+)是用于 Solaris 2.6 及兼容的操作环境下的主要命名服务。如您的系统是用 NIS+ 且您拥有管理特权,当您在 NIS+ 主或 NIS+ 用户系统登录时,您可以登记服务器。
NIS(网络信息服务)是 SunOSTM 4.x (Solaris 1.x) 环境提供的标准命名服务。如果您的系统使用 NIS,您必须以根用户在 NIS 主系统登记文档服务器。
AnswerBook2 产品也可与一个以文件系统定义的命名系统(文件)一同工作,在这个命名系统中所有名称是手动输入到数据文件中的。这些文件存储于目录 /var/fn/。这种情况下,要能登记服务器,您必须对系统有根用户访问且登录仅对已登记的机器有效。其它机器不能访问在文件系统机制下登记的服务器。
使用ab2regsvr命令登记您的文档服务器
若要登记您的服务器,请使用ab2regsvr命令。 ab2regsvr 命令在系统配置中查看及为您的服务器设置适当的名称空间。
若要登记您的服务器,请使用如下命令:
# /usr/lib/ab2/bin/ab2regsvr server_url
其中 server_url 对此服务器是一个完全限定的URL(例如: http://imaserver.eng.sun.com:8888/)。
该 ab2regsvr 命令也提供可能有帮助的其它选项:查阅已登记的AnswerBook2服务器URL的清单:
# /usr/lib/ab2/bin/ab2regsvr -l
从清单中取消已登记的服务器:
# /usr/lib/ab2/bin/ab2regsvr -d
变更当前已登记的AnswerBook2服务器的URL:
# /usr/lib/ab2/bin/ab2regsvr -r server_url
其中 server_url 是到服务器的新URL(例如:http://aserver.eng.sun.com:8888/)。它用特定的URL替换任何存在的URL。
若想获得更多有关 ab2regsvr 命令的信息,请参阅附录 B,ab2regsvr(1M) 手册页。
使用标准FNS命令登记您的服务器
斗破苍穹手游中的服务器,它是有限制的,数量限制低很容易就爆满了,很多玩家都没注册到账号,那么服务器爆满怎么进?下面我带大家了解一下。
斗破苍穹手游服务器爆满
服务器爆满:说明这款游戏的玩家很多,非常火爆的,预约玩家就有400万的玩家,但是真正玩游戏的就要几十万玩家。现在服务器爆满,就是因为玩家注册太多,一开始别人都是来体验一下游戏的画质,游戏的可玩性。
一区注册账号了,所以一区绝对是爆满的,2区也会接着爆满,后面的服务器都是接着爆满的。第一天就开放了20多个服务器,玩家的人数还是非常多的,不会开放这么多的服务器,而且很多服务器都是爆满的状态。
爆满的服务器怎么进?
一、直接买个账号就可以进了,去一些交易网站上,然后去买想要用的账号,他这里是一级的账号,我们直接登录就可以了,十块钱一个。
二、我们每天都过来登录,等他人数少的时候,他就会开放注册资格。比如说,一区的人数减少一半时,然后我们就直接开放,这个注册资格,每天都去试一下就可以进去了。
三、邀请活动,有邀请活动的时,直接加好友邀请就可以进去了,可以跟好友进入同一个区,但是必须要有一区的好友邀请你。
只能是用上面的三个方法,可以进入到爆满的服务器,服务器爆满是很正常的,不然整个屏幕都是人。
以上就是有关于斗破苍穹挤进爆满区,如果想要了解更多资讯,直接在百度中搜索(斗破苍穹琵琶网+你想查找的内容)。
《斗破苍穹手游》公测来袭,【点击下载】领取礼包(骨灵冷火+通灵白狐+688元宝)
导
读
英雄联盟是目前玩家比较关注的一款游戏,很多玩家都喜欢玩这款游戏,那么各位小伙伴们知道2020无限火力什么时候上线吗?接下来九游小编和大家一起分享一下自选无限火力上线时间一览。
自选无限火力上线时间一...
英雄联盟是目前玩家比较关注的一款游戏,很多玩家都喜欢玩这款游戏,那么各位小伙伴们知道2020无限火力什么时候上线吗?接下来九游小编和大家一起分享一下自选无限火力上线时间一览。
自选无限火力上线时间一览
无限火力上线的时间比较短,每年基本都只会开放几次,而且持续的时间不算长。之前官方开放无限火力的时候,已经是年初的时候,距离现在也有几个月时间。但在最近,官方设计师却宣布了一个好消息,那就是无限火力已经上线了!
只是大家都知道,一般官方有什么活动或者新改动,基本都会在国外的测试服中先上线,没问题后再到国外正式服,然后到国服,这次自然也不例外。现在无限火力只是在国外测试服上线而已,国服还需要一段时间,不过已经有“神通广大”的网友跑到外服尝试了。
值得一提的是,这次上线的是真正的“无限火力”,而并非是以往的无限乱斗。之前官方开放无限乱斗的时候,BP的时候是系统随机选择英雄,但这次无限火力就不一样了,恢复了原汁原味的选人模式,可以自己选择英雄!
无限火力已经开放这么多次,相信各位玩家都有自己最喜欢的英雄了,比如说移速超快的的人马、龙龟,隐身秒人的老鼠、技能冷却超短的死歌、阿卡丽等等,都是非常OP的英雄,以往想要玩到这些英雄都需要看运气,现在自己就能选择了。
无论如何,这对玩家来说都是个好消息,毕竟在排位连跪的时候,可以玩无限火力放松一下,确实是不错的选择。现在外服已经正式上线了,相信国服很快也会到来,确实令人非常期待!
Apple M1 使用 virtualenv 报错问题 问题最开始出现是因为使用 IntelliJ idea 创建 python 的 venv 时,提示 virtualenv 错误。不仅提示错误,创建出来的 venv 下 bin 文件无法执行。
而在之前 x86 的 MacOS 上并没有此问题。
通过手动使用 virtualenv 创建 venv 时发现,但是如果想要使用 python 2,那么在使用 virtualenv 创建的 venv 中,bin 文件会出现无法执行的问题 zsh: killed {anything}。
提示
$ ./venv/bin/python zsh: killed ./venv/bin/python 如果使用 python 3 ,则没有此问题。
此问题在 Apple M1 上特别突出,根本原因是 virtualenv 创建的 bin 是 arm 架构,而 python 2 是 x86 架构,导致程序不兼容。
解决方案 参考 https://stackoverflow.com/questions/66860350/python-pip-process-are-killed-in-virtualenv-apple-m1-chip
使用 x86 架构执行 virtualenv 即可,操作如下:
在Mapper.xml中写SQL语句时添加 1)insert按如下修改,添加属性 “useGeneratedKeys”和“keyProperty”,其中 keyProperty 是 Java 对象的属性名,而不是表格的字段名,通过该对象例如:keyword.getId()获取: <insert id="add" useGeneratedKeys="true" keyProperty="id"> insert into keybiao(name, type, time) values (#{name},#{type},#{time}) </insert> 2)插入selectKey标签,获取同上 <insert id="add"> <!--selectKey 会将 SELECT LAST_INSERT_ID()的结果放入到传入的model的主键里面, keyProperty 对应的model中的主键的属性名,这里是 user 中的id,因为它跟数据库的主键对应 order AFTER 表示 SELECT LAST_INSERT_ID() 在insert执行之后执行,多用与自增主键, BEFORE 表示 SELECT LAST_INSERT_ID() 在insert执行之前执行,这样的话就拿不到主键了, 这种适合那种主键不是自增的类型 resultType 主键类型 --> <selectKey resultType="java.lang.Long" order="AFTER" keyProperty="id"> select last_insert_id(); </selectKey> insert into keybiao(name, type, time) values (#{name},#{type},#{time}) </insert> `` 在service层或controller层可以获取id
service层: public String add(Keyword keyword) { System.out.println("添加开始"); final Integer add = keywordMapper.
一、使用java代码方式解决XSS漏洞问题 1 ESAPI方式 1.1 引入jar包 compile('org.owasp.esapi:esapi:2.2.3.1') { exclude group: 'log4j', module: 'log4j' exclude group: 'org.slf4j', module: 'slf4j-simple' } 1.2 增加配置文件 1.2.1 ESAPI.properties配置文件内容 # 是否要打印配置属性,默认为true ESAPI.printProperties=true ESAPI.AccessControl=org.owasp.esapi.reference.DefaultAccessController ESAPI.Authenticator=org.owasp.esapi.reference.FileBasedAuthenticator ESAPI.Encoder=org.owasp.esapi.reference.DefaultEncoder ESAPI.Encryptor=org.owasp.esapi.reference.crypto.JavaEncryptor ESAPI.Executor=org.owasp.esapi.reference.DefaultExecutor ESAPI.HTTPUtilities=org.owasp.esapi.reference.DefaultHTTPUtilities ESAPI.IntrusionDetector=org.owasp.esapi.reference.DefaultIntrusionDetector ESAPI.Logger=org.owasp.esapi.logging.slf4j.Slf4JLogFactory ESAPI.Randomizer=org.owasp.esapi.reference.DefaultRandomizer ESAPI.Validator=org.owasp.esapi.reference.DefaultValidator #=========================================================================== # ESAPI Encoder Encoder.AllowMultipleEncoding=false Encoder.AllowMixedEncoding=false Encoder.DefaultCodecList=HTMLEntityCodec,PercentCodec,JavaScriptCodec #=========================================================================== # ESAPI 加密模块 Encryptor.PreferredJCEProvider= Encryptor.EncryptionAlgorithm=AES Encryptor.CipherTransformation=AES/CBC/PKCS5Padding Encryptor.cipher_modes.combined_modes=GCM,CCM,IAPM,EAX,OCB,CWC Encryptor.cipher_modes.additional_allowed=CBC Encryptor.EncryptionKeyLength=128 Encryptor.ChooseIVMethod=random Encryptor.fixedIV=0x000102030405060708090a0b0c0d0e0f Encryptor.CipherText.useMAC=true Encryptor.PlainText.overwrite=true Encryptor.HashAlgorithm=SHA-512 Encryptor.HashIterations=1024 Encryptor.DigitalSignatureAlgorithm=SHA1withDSA Encryptor.DigitalSignatureKeyLength=1024 Encryptor.RandomAlgorithm=SHA1PRNG Encryptor.CharacterEncoding=UTF-8 Encryptor.KDF.PRF=HmacSHA256 #=========================================================================== # ESAPI Http工具 HttpUtilities.UploadDir=C:\\ESAPI\\testUpload HttpUtilities.UploadTempDir=C:\\temp # Force flags on cookies, if you use HttpUtilities to set cookies HttpUtilities.
package cn.kgc.ssm.common;
/**
响应状态码
@author 27498
*/
public enum ResponseCode {
//成功
SUCCESS(0, “true”),
//失败
ERROR(1, “false”),
//需要登入
NEED_LOGIN(10, “NEED_LOGIN”),
//参数错误
ILLEGAL_ARGUMENT(2, “ILLEGAL_ARGUMENT”),
// 用户拥有此商品
USER_HAVED(11,“您已经拥有此商品”),
ADMIN_NAME_ERROR(12 ,“管理员用户名不存在”),
ADMIN_PASSWORD_ERROR(13,“管理员密码错误”),
USER_NOT_EXISTS(14,“当前手机号不存在,请联络系统管理员”),
WECHAT_IS_EXISTS(17 ,“微信号已经被绑定”),
NUM_FULL(15,“预约人数已经满了,看看其他的课程吧~”),
/**
token 无效
*/
TOKEN_INVALID(16,“token_invalid”), AGE_INVALID(17,“您孩子的年龄不符合此活动的年龄限制,请选择其他活动…”)
;
/**
状态码
*/
private final int code; /**
与状态码相对应的描述
*/
private final String desc; ResponseCode(int code, String desc) {
this.code = code;
this.desc = desc;
}
public int getCode() {
当前,运营商传统建设的云资源池有着云网资源紧耦合、单一厂家绑定、部署效率低,运维难度高等问题,同时也面临着5G核心网云化、大规模公有云业务需求以及多场景组网带来的挑战,因此对新型云资源池进行开放解耦建设,并实现承载5GC核心网元及相关业务支撑平台,成为运营商云资源池未来建设的主要方向之一。
方案特点
新华三作为云基础设施以及DC-SDN解决方案的领导者,以SDN解决方案为核心,为运营商客户提供领先的电信级DC-SDN解决方案,方案具有以下特点,为实现运营商建设云、网解耦的电信级数据中心做出贡献。
新华三电信级DC-SDN组网方案——混合承载overlay
混合Overlay全面支持vSW(虚拟交换机)承载的灵活性和硬件SW(硬件交换机)承载的性能要求,可以接入各种形态的服务器,灵活组网,兼容性好。
混合overlay既可以充分利用虚拟化的低成本、灵活性高的优势,又可以发挥硬件设备的高转发性能特点、将非虚拟化设备融入Overlay网络, 可以提供多场景解决方案,为客户提供自主多样化的选择。
IT私有云场景
IT私有云SDN引入可以实现业务弹性部署、简化运维,满足大流量多租户的需求,同时支持多场景解决方案及全业务IPv6。
网络云场景
网络云是电信级DC-SDN方案应用的重要场景,网络云SDN引入可提升提高运维效率,实现网络灵活调度和新业务快速部署,同时满足网络云大规模部署需求,为智能化运维和5G切片等新业务应用打好网络基础。
方案价值
新华三根据运营商IT私有云、网络云及公有云三种场景,提供一站式的最前沿的电信级解决方案。
1.ROS中摄像头的使用 创建一个catkin工作空间:
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace 编译工作空间:
cd ~/catkin_ws/ catkin_make (这里可以指定特定的包进行编译比如:catkin_make -DCATKIN_WHITELIST_PACKAGES="webots_ros") source devel/setup.bash 下载摄像头源码https://github.com/ros-drivers/usb_cam
将包解压并放入上面的src
#打开一个窗口启动ros roscore #进入到刚才创建的工作空间 cd catkin_ws #编译 catkin_make #新打开一个窗口测试摄像头 roslaunch usb_cam usb_cam-test.launch 摄像头参数可在usb_cam-test.launch更改
再打开一个窗口输入rqt_graph查看消息,看到usb_cam节点向/usb_cam/image_raw发布了消息,image_view订阅了该消息,消息内容即为图像帧,由image_view显示
2.单目相机的标定 参考链接:ROS摄像头标定_不二青衣的博客-CSDN博客_ros 摄像头标定
#noetic摄像头标定工具安装 sudo apt-get install ros-noetic-camera-calibration #启动摄像头 roslaunch usb_cam usb_cam-test.launch #开始标定 rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.024 image:=/usb_cam/image_raw camera:=/usb_cam cameracalibrator.py 标定程序需要以下几个输入参数。
1)size:标定棋盘格的内部角点个数,这里使用的棋盘一共有多少行,每行有个内部角点。
2)square:这个参数对应每个棋盘格的边长,单位是米。
3)image和camera:设置摄像头发布的图像话题。
按照x(左右)、y(上下)、size(前后)、skew(倾斜)等方式移动棋盘,直到x,y,size,skew的进度条都变成绿色位置。
感觉差不多了就按下CALIBRATE按钮,等一段时间就可以完成标定。
完成后点击SAVE,然后再COMMIT,在终端后会有标定结果yaml文件地址.打开后,按照Asus.yaml的格式修改,命名为xx(名字自定).yaml,复制到/home/xxx/src/ORB_SLAM3/Examples/ROS/ORB_SLAM3目录下,标定完成。
注意:默认rosrun是调用/usr/bin/python,但是我的Ubuntu20.04没有那个文件,只有python2,python3,python3.8,这个时候我就找到 cameracalibrator.py文件,正常情况下的位置应该在/opt/ros/noetic/lib/camera_calibration/cameracalibrator.py,利用sudo vim cameracalibrator.py打开编辑后,把第一行改为:
3.双目相机的标定 cd catkin_ws/src git clone https://github.
假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/root/bin目录中并已有执行权限(添加权限的方法:chmod +x hello.sh)。
1、方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:
./ 的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/root/bin)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/root/bin就不在环境变量PASH中的,所以必须加上 ./ 才可执行。
2、方法二:以绝对路径的方式去执行bash shell脚本(可以在当前目录下执行,也可以不在当前目录下执行):
3、方法三:切换到工作目录下(/root/bin),直接使用bash 或sh 来执行bash shell脚本,不用给shell脚本加执行权限即可
注意:若是以方法三的方式来执行,那么,可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。
因为方法三是将hello.sh作为参数传给sh(bash)命令来执行的,这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限,那么不用指定bash路径自然也好理解了呀
4、方法四:在当前的shell环境中执行用 . hello.sh或source hello.sh来执行 bash shell脚本:
总结:前三种方法执行shell脚本时都是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行,shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。而方法四则是在当前shell中执行的。
原文链接:https://www.huaweicloud.com/articles/835bb36656221b454a6c656be7104c2d.html
编辑:对不起,我错过了你的IE8的要求......这可能不会在那里工作。我道歉。我无法查看它。
您可以使用:之前并创建一个盒子,旋转,应用一些边框,绝对定位它,瞧,你有它:
HTML:
CSS:
.container {
float: left;
width: 100%;
height: 50px;
background-color: #1978a4;
line-height: 50px;
}
hr.line {
border-color: #fff;
position: relative;
}
hr.line:before {
content: '';
height: 10px;
width: 10px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
position: absolute;
left: 50px;
border-bottom: 1px solid #fff;
border-right: 1px solid #fff;
background-color: #1978a4;
top: -5px;
}
Bounce Out
描述 (Description)
弹跳动画效果用于在击中后快速向上,向后或远离表面移动元素。
语法 (Syntax)@keyframes bounceOut {
0% {
transform: scale(1);
}
25% {
transform: scale(.95);
}
50% {
opacity: 1;
transform: scale(1.1);
}
100% {
opacity: 0;
transform: scale(.3);
}
}
参数 (Parameters)Transform - 变换适用于元素的二维和三维变换。
Opacity - 不透明度适用于要进行半透明的元素。
例子 (Example)
.animated {
background-image: url(/css/images/logo.png);
background-repeat: no-repeat;
background-position: left top;
padding-top:95px;
margin-bottom:60px;
-webkit-animation-duration: 10s;
animation-duration: 10s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}
@-webkit-keyframes bounceOut {
0% {
-webkit-transform: scale(1);
红颜莎娜
好的,这个比较复杂,但是除了IE<8外,它什么都能工作。
text TEXT div { text-align: center;
position: relative;
}
span {
display: inline-block; }
span:before,
span:after {
border-top: 1px solid black;
display: block;
height: 1px;
content: " ";
width: 40%;
position: absolute;
left: 0;
top: 1.2em;
}
span:after {
right: 0; left: auto; }前和:后元素是绝对定位的,所以我们可以拉一个向左和一个向右。此外,宽度(在本例中为40%)与文本的宽度密切相关。得想办法解决这个问题。至少top: 1.2em确保行或多或少地保持在文本的中心,即使您有不同的字体大小。不过,这似乎确实很有效:http://jsfiddle.net/tUGrf/3/
星辰变游戏出现突然安装不了怎么办 解决方案一览。星辰变是一款非常好玩的游戏,许多玩家被其优秀的内容和有趣的玩法所吸引。但是近日有小伙伴反应安装不了的问题,小编这里整理了一些安装不了的的原因和方法,下面就分享给大家。
1.网络问题。可能是自己的网络波动,游戏一直无法下载安装;也有可能是开了只有连接无线网时才能下载安装,可以在设置中查看或修改。
2.服务器问题。只要服务器人数到达一定量后官方会关闭下载包,这时是无法下载的,耐心等待一会再去下载。
3.手机或电脑内存满了或不足。这个是游戏安装不了的主要原因,大家可以去看看游戏的大小,一般手机内存最好有两个要下载的游戏那么大左右,基本能正常下载安装。
4.安全设置问题。可以去隐私设置查看是否应用商店是否设置不能下载安装应有,有的话可以允许。
5.系统兼容问题。手机或电脑不兼容就会出现安装不了的情况,具体适配的手机和电脑系统可以去官网公告查看
6.安装包有问题,这里可以去官网或游戏狗专区下载正版和最新版。
7.最后还有个最简单的方法,那就是清除数据重新下载。
以上就是星辰变的游戏出现突然显示安装不了的解决方法,希望对大家有所帮助。可以去官网或游戏狗专区下载正版。
本帖最后由 为夫人而生 于 2017-6-24 22:56 编辑
持续更新
小米6未连接手机解决办法
3:手机设置→关于手机→miui版本(一直点五次)→返回 →更多设置 →开发者选项 →USB调试打开 →手机绑定啥的解锁啥的 都打开
4:关机 长按音量下加开机键 出现兔子 连接手机
5: 两种情况 若显示连接 直接解锁 end;;;;;;;;;若显示没连接手机敲黑板 重点来了右键 我的电脑 → 管理 →设备管理器 → 找到未识别的或者已经识别到的安卓设备 →右键 禁用 退出 依上面的内容进去 点启用 你会发现 连接好了!!!!!!!如果不行 重复刚刚5的步骤。三台小米6都用重复5这个步骤成功了。。。。。。。
miui8换mtz字体 出现未授权解决办法
1:去主题中心下载一个免费字体 任何免费字体
2:文件管理 →手机 → miui →theme 找到你刚刚下载的字体 长按重命名 全部复制 然后删除、、、
3:下载你想要的mtz的字体或者已经转好的mtz字体 改成刚刚的名字 放进文件管理 →手机 → miui →theme 然后去主题商店应有就可以了。
小米6完整root
tff字体转换mtz
1:root手机下载 爱字体 //as.sogou.com/detail?pid=3 ... 622049456600&e=1969
3:下载好了把tff的字体文件放进 手机 爱字体(ifont)→cusom中
一、Zookeeper简介 Zookeeper是⼀个开源的分布式协调服务,其设计⽬标是将那些复杂的且容易出错的分布式⼀致性服务封装起来,构成⼀个⾼效可靠的原语集,并以⼀些简单的接⼝提供给⽤户使⽤。zookeeper是⼀个典型的分布式数据⼀致性的解决⽅案,分布式应⽤程序可以基于它实现诸如数据订阅/发布、负载均衡、命名服务、集群管理、分布式锁和分布式队列等功能。
1.1 ZooKeeper数据模型Znode 在ZooKeeper中,数据信息被保存在⼀个个数据节点上,这些节点被称为znode。ZNode 是
Zookeeper 中最⼩数据单位,在 ZNode 下⾯⼜可以再挂 ZNode,这样⼀层层下去就形成了⼀个层次化命名空间 ZNode 树,我们称为 ZNode Tree,它采⽤了类似⽂件系统的层级树状结构进⾏管理。⻅下图示例:
在 Zookeeper 中,每⼀个数据节点都是⼀个 ZNode,上图根⽬录下有两个节点,分别是:app1 和app2,其中 app1 下⾯⼜有三个⼦节点,所有ZNode按层次化进⾏组织,形成这么⼀颗树,ZNode的节点路径标识⽅式和Unix⽂件系统路径⾮常相似,都是由⼀系列使⽤斜杠(/)进⾏分割的路径表示,开发⼈员可以向这个节点写⼊数据,也可以在这个节点下⾯创建⼦节点。
刚刚已经了解到,Zookeeper的znode tree是由⼀系列数据节点组成的,Zookeeper 节点类型可以分为以下几类:
持久节点:是Zookeeper中最常⻅的⼀种节点类型,所谓持久节点,就是指节点被创建后会⼀直存在服务器,直到删除操作主动清除持久顺序节点:就是有顺序的持久节点,节点特性和持久节点是⼀样的,只是额外特性表现在顺序上。顺序特性实质是在创建节点的时候,会在节点名后⾯加上⼀个数字后缀,来表示其顺序。临时节点:就是会被⾃动清理掉的节点,它的⽣命周期和客户端会话绑在⼀起,客户端会话结束,节点会被删除掉。与持久性节点不同的是,临时节点不能创建⼦节点。临时顺序节点:就是有顺序的临时节点,和持久顺序节点相同,在其创建的时候会在名字后⾯加上数字后缀。 1.2 ZooKeeper的角色 通常在分布式系统中,构成⼀个集群的每⼀台机器都有⾃⼰的⻆⾊,最典型的集群就是Master/Slave模式(主备模式),此情况下把所有能够处理写操作的机器称为Master机器,把所有通过异步复制⽅式获取最新数据,并提供读服务的机器为Slave机器。⽽在Zookeeper中,这些概念被颠覆了。它没有沿⽤传递的Master/Slave概念,⽽是引⼊了Leader、Follower、Observer三种⻆⾊。
Zookeeper集群中的所有机器通过Leader选举来选定⼀台被称为Leader的机器,Leader服务器为客户端提供读和写服务,除Leader外,其他机器包括Follower和Observer,Follower和Observer都能提供读服务,唯⼀的区别在于Observer不参与Leader选举过程,不参与写操作的过半写成功策略,因此Observer可以在不影响写性能的情况下提升集群的性能。
1.3 ZooKeeper的会话(session) Session指客户端会话,⼀个客户端连接是指客户端和服务端之间的⼀个TCP⻓连接,Zookeeper对外的服务端⼝默认为2181,客户端启动的时候,⾸先会与服务器建⽴⼀个TCP连接,从第⼀次连接建⽴开始,客户端会话的⽣命周期也开始了,通过这个连接,客户端能够⼼跳检测与服务器保持有效的会话,也能够向Zookeeper服务器发送请求并接受响应,同时还能够通过该连接接受来⾃服务器的Watch事件通知。
1.4 ZooKeeper的事务ID ⾸先,先了解,事务是对物理和抽象的应⽤状态上的操作集合。往往在现在的概念中,狭义上的事务通常指的是数据库事务,⼀般包含了⼀系列对数据库有序的读写操作,这些数据库事务具有所谓的ACID特性,即原⼦性(Atomic)、⼀致性(Consistency)、隔离性(Isolation)和持久性(Durability)。⽽在ZooKeeper中,事务是指能够改变ZooKeeper服务器状态的操作,我们也称之为事务操作或更新操作,⼀般包括数据节点创建与删除、数据节点内容更新等操作。对于每⼀个事务请求,ZooKeeper都会为其分配⼀个全局唯⼀的事务ID,⽤ ZXID 来表示,通常是⼀个 64 位的数字。每⼀个 ZXID 对应⼀次更新操作,从这些ZXID中可以间接地识别出ZooKeeper处理这些更新操作请求的全局顺序。
1.5 ZooKeeper的Watcher机制 ZooKeeper 允许客户端向服务端注册⼀个 Watcher 监听,当服务端的⼀些指定事件触发了这个 Watcher,那么就会向指定客户端发送⼀个事件通知来实现分布式的通知功能。整个Watcher注册与通知过程如图所示:
Zookeeper的Watcher机制主要包括客户端线程、客户端WatcherManager、Zookeeper服务器三部分。具体⼯作流程为:客户端在向Zookeeper服务器注册的同时,会将Watcher对象存储在客户端的WatcherManager当中。当Zookeeper服务器触发Watcher事件后,会向客户端发送通知,客户端线程从WatcherManager中取出对应的Watcher对象来执⾏回调逻辑。
Zookeeper使⽤Watcher机制实现了典型的发布/订阅模型,能够让多个订阅者同时监听某⼀个主题对象,当这个主题对象⾃身状态变化时,会通知所有订阅者,使它们能够做出相应的处理。
二、 Zookeeper应⽤场景 ZooKeeper是⼀个典型的发布/订阅模式的分布式数据管理与协调框架,我们可以使⽤它来进⾏分布式数据的发布与订阅。另⼀⽅⾯,通过对ZooKeeper中丰富的数据节点类型进⾏交叉使⽤,配合Watcher事件通知机制,可以⾮常⽅便地构建⼀系列分布式应⽤中都会涉及的核⼼功能,如数据发布/订阅、命名服务、集群管理、Master选举、分布式锁和分布式队列等。那接下来就针对这些典型的分布式应⽤场景来做下介绍。
2.1 数据发布/订阅 数据发布/订阅(Publish/Subscribe)系统,即所谓的配置中⼼,顾名思义就是发布者将数据发布到ZooKeeper的⼀个或⼀系列节点上,供订阅者进⾏数据订阅,进⽽达到动态获取数据的⽬的,实现配置信息的集中式管理和数据的动态更新。
发布/订阅系统⼀般有两种设计模式,分别是推(Push)模式和拉(Pull)模式。在推模式中,服务端主动将数据更新发送给所有订阅的客户端;⽽拉模式则是由客户端主动发起请求来获取最新数据,通常客户端都采⽤定时进⾏轮询拉取的⽅式。
ZooKeeper 采⽤的是推拉相结合的⽅式:客户端向服务端注册⾃⼰需要关注的节点,⼀旦该节点的数据发⽣变更,那么服务端就会向相应的客户端发送Watcher事件通知,客户端接收到这个消息通知之后,需要主动到服务端获取最新的数据。
如果将配置信息存放到ZooKeeper上进⾏集中管理,那么通常情况下,应⽤在启动的时候都会主动到ZooKeeper服务端上进⾏⼀次配置信息的获取,同时,在指定节点上注册⼀个Watcher监听,这样⼀来,但凡配置信息发⽣变更,服务端都会实时通知到所有订阅的客户端,从⽽达到实时获取最新配置信息的⽬的。
2.2 命名服务
命名服务(Name Service)也是分布式系统中⽐较常⻅的⼀类场景,是分布式系统最基本的公共服务之⼀。在分布式系统中,被命名的实体通常可以是集群中的机器、提供的服务地址或远程对象等——这些我们都可以统称它们为名字(Name),其中较为常⻅的就是⼀些分布式服务框架(如RPC、RMI)中的服务地址列表,通过使⽤命名服务,客户端应⽤能够根据指定名字来获取资源的实体、服务地址和提供者的信息等。
ZooKeeper 提供的命名服务功能能够帮助应⽤系统通过⼀个资源引⽤的⽅式来实现对资源的定位与使⽤。另外,⼴义上命名服务的资源定位都不是真正意义的实体资源——在分布式环境中,上层应⽤仅仅需要⼀个全局唯⼀的名字,类似于数据库中的唯⼀主键。
所以接下来。我们来看看如何使⽤ZooKeeper来实现⼀套分布式全局唯⼀ID的分配机制,在过去的单库单表型系统中,通常可以使⽤数据库字段⾃带的auto_increment属性来⾃动为每条数据库记录⽣成⼀个唯⼀的ID,数据库会保证⽣成的这个ID在全局唯⼀。但是随着数据库数据规模的不断增⼤,分库分表随之出现,⽽auto_increment属性仅能针对单⼀表中的记录⾃动⽣成ID,因此在这种情况下,就⽆法再依靠数据库的auto_increment属性来唯⼀标识⼀条记录了。于是,我们必须寻求⼀种能够在分布式环境下⽣成全局唯⼀ID的⽅法。
说起全局唯⼀ ID,相信⼤家都会联想到 UUID。没错,UUID 是通⽤唯⼀识别码(Universally
。
谢谢,我解决了这个问题,但这不是重点。问题仍然存在。我想我只需要使用JavaScript
那就是为什么我在评论而不是答案中写它。
换行可能存在问题。看看@JoshuaClark:在HTML表中自动换行
如果我正确理解了您的问题,这应该会有所帮助:
.my-div {
/*width:100%;*/
height:400px;
background-color:#bada55;
display: inline-block; // this is the key
}
您的示例在此处修改:http://jsfiddle.net/nvLnodLh/
怎么样...
.my-div {
overflow: auto;
}
table {
float: left;
}
现场演示:http://jsfiddle.net/WTwdN/4/
这使.my-div水平滚动。 我希望整个窗口都滚动。
试试这个解决方案
.my-div {
height:400px;
overflow: auto;
background-color:#bada55;
}
td {
white-space:nowrap;
}
table {
width: 100%;
}
my tablemy table
my dataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaappppppppppppppppmy dataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapppppppppppppppp What I want is for the green background to overflow the viewport when the text in the table does.
x, y, w, h = cv2.boundingRect(np.array(cnt)) 在执行以上代码时,出现以下错误:
error: OpenCV(4.5.2) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-k1ohfcms\opencv\modules\imgproc\src\shapedescr.cpp:874: error: (-215:Assertion failed) npoints >= 0 && (depth == CV_32F || depth == CV_32S) in function ‘cv::pointSetBoundingRect’
修改为以下语句可以解决问题:
x, y, w, h = cv2.boundingRect(np.array(cnt[Index])) 报错原因与 cv2.findContours函数的返回值有关。
findContours函数返回两个参数,contours和heridency。
如果直接把contours参数传入cv2.boundingRect函数,会因为contours维数比需要的维数超出一维。导致以上错误。
解决方法为在contours后指定某个切片
sticky粘性定位
是css新增属性
其实就是以往我们做的fixed;当滚动条下拉到一定程度设置容器为fixed;
用图来演示:
常见场景:通讯录及头部工具条
Document html{background:#f5f5f5;}
body{min-height: 1280px;max-width: 640px;margin:0 auto;background:#fff;}
*{margin:0;padding:0;}
.nav{color: #fff;font-size: 24pt;padding:0 10px; position: sticky; top: 0px;height: 50px;background: #067;}
p{line-height: 2; }
A
Keeps elements positioned as "fixed" or "relative" depending on how it appears in the viewport. As a result the element is "stuck" when necessary while scrolling.
B
Keeps elements positioned as "fixed" or "relative" depending on how it appears in the viewport. As a result the element is "
我做了一个查重的功能 查询出来的数据结果 最多几百条 几百条这种情况也很少 一般就几条 所以我并没有用到分页 表里面的总行数也就十几万数据的样子 按理说不应该会这么慢啊
下面是我的存储过程 @where条件是 where C_Web_Name =''lily'' 我给 C_Web_Name 这个字段 建立了一个非聚集索引
ALTER proc [dbo].[CourseBywhere]
@where varchar(500)
as
declare @sql varchar(max)
set @sql = 'select id,C_Web_Name,C_Name,C_Sex,C_Age,C_Tal,C_Mobile,C_Content,C_Time,InsertPeople,C_Hun,fig,QQ,MSN,C_ID,C_FROM,C_Brand,C_area,C_cost,C_state,C_Branch,C_teachar from CRM_Course' +@where + ' order by c_time desc'
exec (@sql)
下面显示的是执行存储过程的时间
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 执行时间:
CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
原标题:这才是正确的解决办法 PS4怎么通过优盘升级系统
最近家里网络抽风,PS4虽然能连上网络,但是速度非常差。结果开机就提示需要升级到4.71系统,看着几KB的速度实在让人上愁,只好通过PC把完整版固件下载到优盘中,然后通过优盘来对PS4进行升级,之前PS3系统的升级,都是这么做的。
但是按照网上说的办法却一直都没法完成升级,根本没有提示从优盘中升级系统。这种方法是这样的:
1、保证自己的优盘是FAT32格式的,然后在根部录下建立一个PS4文件夹,然后在该文件夹内在建立一个名为UPDATE的文件夹。
2、把下载好的固件放到该文件夹中,然后插在PS4上。
3、在设定——系统升级的选项中选择通过优盘升级即可。
其实这种方法是错误的,因为你根本不会在 系统更新 选项卡中找到这个选项,只要你点击这个选项卡,就会默认通过网络完成系统版本检测,并下载最新的固件。
经过多次尝试钻研,乾老师最终找到了解决办法。正确的方法如下:
1. 使用电脑,为USB存储设备新建一个名为「PS4」的文件夹,再于该文件夹下创建一个名为「UPDATE」的文件夹。 大小写不影响,我升级时用的就是小写。
2. 下载升级文件,并保存至步骤1时创建的「UPDATE」文件夹。
3. 完全关闭PS的电源。(电源指示灯亮桔灯时,请触碰PS4™的电源键7秒以上直到发出两声 滴 声。)
4. 将保存了升级文件的USB存储设备插入PS4,按住电源键7秒以上,PS4会以安全模式启动。
5. 选择[系统软件升级]。按照画面提示安装系统软件,即可完成升级。
虽然现在绝大多数玩家的网络都很给力,但还是有些网友需要这种方法来对PS4进行升级,希望这种方法能给大家提供一定的帮助。返回搜狐,查看更多
责任编辑:
现在Win11系统是非常火热的系统,很多用户在升级了Win11之后发现自己很多功能都非常陌生,因为Win11很多功能都进行了大改,所以导致很多用户都对升级后的Win11系统的界面很陌生。在Win11系统的时候默认字体大小对于部分视力有问题的用户来说不是很好用,那么在Win11系统中该如何调节字体大小呢?下面就和小编一起来学习一下吧,希望大家会喜欢。
Win11系统调节字体大小的方法:
一、仅更改 Windows 11 文本大小
打开设置。
转到辅助功能。
Win11系统如何调节字体大小?
在左侧窗格中,选择Display。
Win11系统如何调节字体大小?
查看右侧,调整拖动滑块下的滑块,直到示例文本易于阅读。
Win11系统如何调节字体大小?
单击“应用”。
二、调整所有 Windows 11 应用程序和文本大小
打开设置。
导航到辅助功能。
选择显示。
Win11系统如何调节字体大小?
调整主显示屏上应用程序和文本的大小,从下拉菜单中,在让一切变得更大。
Win11系统如何调节字体大小?
Windows 11 还允许您从同一位置更改其他显示器上的应用程序和文本的大小。这是您享受完全个性化体验的机会。
三、恢复默认字体设置
按键盘上的Windows 键。
键入Control Panel,然后单击它。
选择外观和个性化。
Win11系统如何调节字体大小?
选择更改字体设置。
单击恢复默认字体设置。
转:WIN11 Win11系统如何调节字体大小
1概述
随着网络技术的发展和广泛的应用,门禁系统的发展也由传统的主从式智能门禁系统模式转换为基于Internet的远程、网络控制模式。门禁管理系统由单一的门禁控制管理功能发展到集计算机技术、通讯技术、自动识别技术、机械工程和安全管理的大型门禁综合管理系统。
清华微电子推出高频管分立器件裸片,已做到9G截止频率地铁门禁系统属于大型门禁系统,它具有控制点数多、数据通讯量大、数据传输距离远、联动设备多、安全性能要求高等特点。
下面就对门禁系统在地铁中的构成及其功能进行介绍。
2地铁门禁系统的构成
地铁门禁系统构成由四大部分构成:第一,系统通讯网络;第二,中央级门禁管理系统;第三,车站级门禁管理系统;第四,现场级门禁设备。在运营中形成了两级管理三级控制的管理模式。
地铁门禁系统是以车站为单位,由车站控制室的车站级门禁系统工作
站对车站内设备房门禁设备进行统一管理。各车站的车站门禁系统管理工作站通过光纤通讯网络将各站点的数据信息上传至中央级门禁系统。中央级门禁系统统一管理全线门禁系统。
2.1系统通讯网络
系统通讯网络由两部分构成,第一,全线骨干网络。即各站点门禁系统工作站由光纤网络连接进行全线通讯;第二,车站级网络。车站级网络采用现场总线方式将车站内各现场门禁设备连接。
2.1.1全线骨干网
门禁系统数据传输的骨干网采用的是基于工业以太网技术。工业以太网是以太网技术在控制网络延伸的产物,协议组包括了物理层的以太网物理层、链路层的以太网MAC、网络层的网络互联协议IP、传输层的传输控制协议TCP和用户数据协议UDP等,工业以太网与OSI互联参考模型的对照关系如下图1所示。工业以太网的物理层与链路层采用IEEE802.3标准。
地铁门禁系统是通过基于工业以太网进行数据通信,车站门禁系统管理工作站通过工业级千兆光纤交换机可以直接上全线光纤以太网,通信速率达10M或100M,系统任何一台车站门禁系统工作站可以直接以TCP/IP或IPX协议与客户内部服务器进行数据交换,实时共享全系统所有资源。其特点是:数据传输、交换、共享以及远程访问容易、方便,数据处理速度快,动作响应速度快。
2.1.2车站级门禁系统网络
车站门禁系统网络采用的是现场总线方式,将多台门禁网络控制器分别挂在RS485现场总线上,通过ATM方式进行数据通讯,所有设备的信息通过RS485转RS232的转换器与车站的工作站连接。特点是通讯距离远,RS485现场总线在不加中继的情况下有效通讯距离是1200米;门禁网络控制器的每个RS485口,可带多台门禁控制器设备。车站级门禁系统包括各车站级的门禁系统和控制中心站级的门禁系统。
2.2中央级门禁管理系统
中央级门禁系统是集中处理下级门禁系统的数据信息,即通过中央级门禁系统对控制中心大楼、各车站级门禁系统的下一级进行操作管理。
主要的设备有中央门禁管理服务器、管理工作站、数据服务器、数据库软件、门禁系统管理操作软件以及交换机。
2.2.1门禁系统管理服务器
门禁系统管理服务器主要功能是监视各车站门状态、故障信息以及存储历史记录。
2.2.2中央级系统管理工作站
中央级系统管理工作站是门禁系统的管理控制中心,实现对各车站(区域)系统内的所有门禁终端的监控,满足系统运作、授权、设备监测与控制、网络管理、数据库管理、维修管理、及系统数据的集中采集、统计、保存、查询等功能。
2.2.3 数据库软件
数据库就是将数据以一定的格式、一定的标准,按照一定的数据结构要求,构造的一组数据文件,按照确定的存取路径,实现对数据资源的调用。常用的数据库有SQLServer、Oracle、Sybase。
2.2.4 工业级交换机
中央级门禁系统工业级交换机具有支持网管功能。可以对信息流量进行管理监视、分析;可以为应用数据流分配带宽、优先级及控制网络访问;可以通过VLAN(虚拟局域网络)技术强化网络管理和网络安全,控制不必要的数据广播。
2.2.5 门禁系统管理操作软件
门禁系统管理软件基于视窗操作平台,稳定运行于WINDOWS2000、WINDOWSNT、WINDOWSXP等操作系统。
主要功能如下:
控制器管理功能:监控车站级工作站运行状态,收集车站级工作站运行状态数据,数据库的建立、备份、清除;门禁卡授权管理功能设置车站系统运作参数,下达运作命令及设置系统运行模式到各个车站;紧急状态下可以解除车站门禁状态。
卡片管理功能:发卡、退卡、挂失卡。
记录管理功能:对操作信息、报警信息进行实时记录、历史记录;进行故障查询和分析,可以自行编辑报表,也可自动生成日、周、月、年的报表;进行档案资料的记录和存储。
网络监视管理功能:对系统及网络具有在线监视、自诊断、自恢复及在线修复功能,并可显示网络负荷情况。.
2.3 车站级门禁系统
车站级门禁系统是由车站门禁系统管理工作站对本站门禁进行数据管理、处理。监视现场设备状态、故障等。
车站级门禁系统由车站系统管理工作站、门禁网络控制器、车站门禁系统管理软件构成。
2.3.1 车站级门禁系统管理工作站
车站级门禁系统管理工作站是车站门禁系统实现对本车站系统内的所有门禁终端的监控,满足系统运作、授权、设备监测与控制、网络管理、数据库管理、维修管理、及系统数据的集中采集、统计、保存、查询等功能。
2.3.2 门禁网络控制器
门禁网络控制器将电源、控制、驱动、通讯集成为一体的设备,通过提供RS232转RS485的通讯接口与车站级的门禁控制器连接。门禁网络控制器提供了多个RS485通讯接口,一般有2至8个通讯接口,每条RS485总线可以驱动多个门禁控制器。理论上,每条RS485总线可以携带256台门禁控制器,但是考虑到工程实施的实际情况,一般只携带不大于32台门禁控制器。
2.3.3 车站门禁系统管理软件
通讯管理功能:能接收中央级管理工作站系统下达的系统参数,同时将参数下达到相关门禁终端;车站管理工作站与中央级系统管理工作站之间网络中断时,车站门禁系统也能正常工作,在通讯网络连通时,将网络中断时间内的数据上传至中央级系统管理工作站。
管理功能:能监控门禁终端的运行状态,在门禁终端状态变化时应能自动接收其状态数据,自动查询门禁终端的状态数据,保存接收设备状态数据。
软件自动更新功能:车站级系统管理工作站应能接收中央级系统管理工作站下载的门禁终端更新软件,具备自身及通过车站(或本区域)网络对门禁终端的软件更新功能。
2.4 现场级门禁系统
现场级门禁系统由门禁控制器、读卡器、门锁、紧急开门按钮等设备构成。
2.4.1 门禁控制器
门禁控制器通常可分为一体式和分体式,一体式即控制器与读卡器连成一体的门禁设备。它具有体积小、功能简洁、安装简易等特点。在民用建筑上使用较多。分体式即控制器与读卡器分散独立安装。特点是接线较多、复杂,体积较一体式大。
分体式门禁系统是典型结构,下面就对该典型结构进行分析:
门禁控制器是将电源、控制、驱动、通讯集成为一体的设备。实现功能如下:可以实现联网或独立工作;当与门禁网络控制器联系中断时,门禁控制器能自动转入独立工作模式,并能识别门禁卡中与系统吻合的密码,从而实现基本的门禁功能;对数据进行存储和保护;对非正常状态的开门即时报警,将报警信息上传门禁网络控制器;可以通过通讯网络下载更新车站系统软件。
2.4.2 读卡器
读卡器是将读取到的卡片信息进行鉴证、识别,并将数据处理上传至门禁控制器由门禁控制器发出相关工作指令,门锁执行动作。
2.4.3 卡片
通过读卡或读卡加密方式来识别进出权限,按卡片的种类可以分为磁卡和射频卡两种卡片。
磁卡:采用接触式读取卡片的信息。其特点成本低,读卡设备易磨损,使用寿命短,卡片易复制,卡片信息容易在外界磁场下丢失,导致卡片无效。
射频卡:射频卡采用非接触方式与读卡设备进行数据交换,一般采用13.56MHz的频率进行数据交换。具有方便安全,使用寿命长,卡片很难被复制,卡片信息保存10年。射频卡可以分为Mifare1卡、Motorola卡、EM卡、HID卡、Legic卡等。
2.4.4 门锁
幻塔作为一款沉浸式开放世界手游新作,不少小伙伴们都想要进入游戏体验一番,不过一些小伙伴们在登录游戏的时候,却遇到了进不去的情况,如果碰到幻塔无法连接服务器怎么办呢,这里就来分享一下游戏进不去的解决方法。
1、网络问题
首先小伙伴们需要检查一下自己的网络是不是正常的,如果网络不正常的话,出现无法连接服务器的情况也就可以理解了。建议小伙伴们可以更换一个流畅的网络环境来尝试登录游戏。
2、服务器问题
如果确保自身网络是没有问题的话,那么小伙伴们还可以去查看一下官方公告,是不是游戏的服务器出现了一些问题,比如服务器暂时维护,或者服务器还没有正式开放等等。对此,如果确定是游戏服务器的问题,就需要小伙伴们耐心等待官方结束维护,或者重新开服,这样就可以正常登录游戏了。
3、游戏版本问题
当然,还有一种可能就是,小伙伴们的游戏版本下载错误了,如果下载的还是之前的测试版本,自然在新版本推出之后再次登录的话,就会出现各种问题,比如无法登录服务器等。对此,就建议小伙伴们将当前的游戏包卸载,再去重新下载一个最新版本的游戏包尝试登录。
以上就是幻塔无法连接服务器怎么办以及游戏进不去的解决方法,小伙伴们可以参考一下哦。
类型:冒险
平台:安卓
状态:删档内测
安卓版暂无下载
苹果版暂无下载
有很多朋友都非常关注cpu市场的情况,因为一款CPU性能的好坏,决定了我们电脑的运算能力高低,CPU的种类多种多样,性能也不尽相同,今天我们主要关注的是英特尔e5处理器系列,为了直观对比e5系列cpu的性能情况,我们可以参考至强e5处理器天梯图,话不多说,小编这就为大家带来最新至强e5处理器天梯图。
最新至强e5处理器天梯图排行:
1、下图就是2020年5月至强e5天梯图排行天梯图了,不明白至强e5系列cpu性能的朋友可以参考该天梯图,由天梯图可知至强e5系列的单线程和多线程跑分,例如第一名的Xeon
e5-2679 v4,这款CPU单线程跑分为2064分,多线程跑分为23197分。
2、至强e5系列CPU能不能玩游戏:
至强E5的CPU用来玩游戏是可以的。这个cpu性能还是很强的,但是时间比较久了,就是和一代i7同代的,性能强于一代i7,和现在的cpu单比速度的话。也就是现在最新的i5的速度吧,配置的芯片组肯定不如现在的好,所以玩不了主流游戏或大型单机游戏。目前主流游戏吃单核性能,多核优化好的也就只能吃到4核,至强系列不是玩游戏用的。
以上就是小编带来的最新的至强e5处理器天梯图的全部内容,希望可以提供帮助。
原标题:微软正式终止Win7技术支持,还能继续使用吗?
终于,随着2020年1月14日的到来,服役十年之久的Windows 7操作系统终于正式退休了。自今日起,微软将会正式终止支持Win7,这意味着用户仍旧可以正常使用这一经典的操作系统,但微软已经不会再进行任何维护和更新了。
微软正式终止支持Win7
微软表示,“2020年1月14日之后,微软将不再为安装Windows 7的电脑提供安全升级或支持。”Windows 7系统诞生于2009年,至今已有10年多,微软在发布的时候承诺10年的维护,因此这次停止服务影响不小。
而Windows 10系统首次发布时,推出过免费升级活动,不过该活动已结束。因此,微软建议直接买台新电脑上手Windows 10。对于此次更新,也有网友担心Windows 10还不够稳定:“Win10除了花里胡哨真比不过7,我两个都用,稳定性及兼容性完胜。”
至于微软提到的终止安全更新,其实对于很多用户来讲并非这么迫切。因为如今早已经不是那个病毒肆虐的时代,很多玩家的电脑不安装杀毒软件,甚至“裸奔”也丝毫没有问题。恐怕真正能够影响用户决定升级操作系统的,还是对新硬件的支持吧。
微软终止支持Win7,但相信很多“怀旧”的用户还是会停留在Win7操作系统。因为习惯是一个很难改变的东西,或者说很多人真的懒得升级。即使在今时今日,依然还有部分用户仍旧使用更为远古的Windows XP系统,更不要提Windows 7了。
网友:不是不想换,是电脑带不动!
责任编辑:
分页插件PageHelper使用踩的坑,分页不成功,jar包冲突 首先引入依赖:
<!-- http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.4</version> </dependency> 测试:
@Override public Result searchBolgList(Integer currentPage, Integer pageSize) { PageHelper.startPage(currentPage, pageSize); List<Blog> blogs = blogMapper.selectList(new QueryWrapper<Blog>().lambda().isNotNull(Blog::getId)); PageInfo<Blog> pageInfo = new PageInfo<>(blogs); return Result.succ(pageInfo); } 通过Swagger查看结果并没有分页成功:
可能是没有配置,在application.yml加上如下配置后:
pagehelper: helper-dialect: mysql #设置为true时,pageNum<=0时会查询第一页,pageNum>pages时会查询最后一页 reasonable: true support-methods-arguments: true params: count=countSql 结果还是这样:
配置,代码写法是没有问题的,那问题就出在:
1:有其他分页插件在
2:jar包,也就是引入的依赖问题
我这里是没有配置其他分页插件的,那就是问题2了,经过一番搜查,找到如下:
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-autoconfigure</artifactId> <version>1.2.5</version> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency> 导入jar包后,配置,代码不变
测试:代码运行报错:
*************************** APPLICATION FAILED TO START *************************** Description: An attempt was made to call a method that does not exist.
禁用笔记本自带键盘 (1).以管理员方式运行命令窗口:
(2).在命令窗口中运行禁用命令:
sc config i8042prt start= disabled (3).运行成功后,重启笔记本生效。
再次启用命令:
sc config i8042prt start= auto
CPU处理器是电脑核心组件之一,很多用户购买电脑都会考虑CPU,这里小编为大家整理了一篇cpu单核性能排行天梯图,包含了AMD最新的锐龙zen3架构的cpu,以及intel最新的第11代酷睿系列处理器,当然也包含了苹果在去年刚推出的M1处理器。让你可以实时了解CPU处理器性能排名,快来看看吧!
让人震惊的是苹果M1芯片的强悍单核性能,实在是让人大吃一惊。借用周星驰电影《破坏之王》里面的一句话来说就是:我不是针对你,我是说在座的各位都是 L J。
2021CPU单核性能排行大图
看上图可知,苹果的M1芯片竟然排在了首位,第1名,单核性能竟然超过intel最新的第11代酷睿的旗舰i9 11900KF,后者可是一颗将近6000元的旗舰cpu啊!
这让intel和amd这2家做了几十年处理器的老牌厂商的脸往哪搁?啪啪啪的简直打的不要不要的。
AMD经过锐龙架构一战成名,自从去年发布的zen3架构的R9 5900拔得头筹后,一时风光无限,可惜在今年intel的第11代酷睿上线后,还是略输了一筹,不过差距已然不大,也就3%的样子,这和以前已经有了翻天覆地的变化了。锐龙处理器让AMD彻底抬起了头颅,从此可以正式和intel一决雌雄了。
在高端cpu领域,我的意思是哪款便宜选哪款,因为单核性能依然相差不大,哪个cpu核心多,线程多,选哪个,因为在单核性能相差不大的情况下,核心,线程数多,相当于人多力量大,好办事,不容易卡顿。
比如intel这边,去年比较有性价比的是i5 10400, 这颗6核12线程的处理器,性能相当于i7 8700,但是价格才1000左右,很是划算。今年的话应该是i5 11400了,性能略有提升,在价格相差不大的情况下,买新不买旧。
AMD方面,也不知道是吃错了啥药,今年的R7 5900,5800系列全系涨价,这就失去了性价比,可以选择上一代的R7 3700,R7 3800,都是可以的。不过因为显卡涨价的缘故,选AMD的配置还得搭载一块独立显卡,这又是额外的成本了。
本文采用仅采用numpy进行房价预测,不包含任何深度学习框架,波士顿房价预测问题作为机器学习领域的“hello world”。本文有利于读者更好地理解并入门,为以后更深程度的学习打下良好的基础。
目录
前言
一,数据处理:
读入数据集:
数据维度转换:
数据归一化处理:
代码封装成类:
二,模型设计
线性回归: 前向传播:
损失函数:
计算梯度:
反向传播:
封装函数:
总结:
前言 波士顿房价数据集源于美国某经济学杂志上,分析研究波士顿 房价的数据集。该数据集中的每一行数据都是对波士顿周边或者城镇 的房价情况的概述,统计的是房价的中位数和 13 个指标,试图能够 分析出这些指标和房价之间的关系。本文主要以数据预处理,损失函数,梯度计算,反向传播更新参数展开,具体介绍这几个步骤在代码中的体现。
一,数据处理: 读入数据集: 本文采用housing.data数据集。数据集的格式如图所示,该数据集共有506个样本,每个样本包含13个特征值和1个与之对应的标签。如图所示:
该数据集共有506行14列的数据,每一行数据代表一个样本(每个样本里包含14的数据),前13列分别对应13个特征值,最后一列为各个样本值对应的标签,即房价,所有数据均已空格分开。
datafile = 'housing.data' data = np.fromfile(datafile, sep=' ') 其中'housing.data'为路径名,我的直接放在了本文件夹下。并赋值给datafile np.fromfile表示读取该路径下的文件,sep = ''表示以空格分隔。此时data为一个1行7084列的向量。 数据维度转换: 由于读入的原始数据是1维的。因此需要我们将数据的形状进行变换,形成一个2维的矩阵,每行为一个数据样本(14个值),每个数据样本包含13个特征值(影响房价的特征)和一个对应的标签(该类型房屋的均价)。
# 读入之后的数据被转化成1维array,其中array的第0-13项是第一条数据,第14-27项是第二条数据,以此类推.... # 这里对原始数据做reshape,变成N x 14的形式 feature_names = [ 'CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE','DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV' ] feature_num = len(feature_names) data = data.
【IT168 专稿】Hadoop in China社区一年一次的技术年度盛会Hadoop中国云计算大会(Hadoop in China 2011,HiC2011)12.2-12.3日在北京召开,Hadoop in China已经成功举办四届,今年大会的主题是“海量数据掘宝”,HiC2011由中国科学院计算技术研究所主办,通过技术应用和科学研究双重视角审视云计算以及Hadoop开源生态系统的现状和发展趋势,发扬开源精神,促进Hadoop以及云计算开源生态系统在中国的发展壮大。
▲清华大学教授武永卫
在12月2日的“云计算研究”分会场上,来自清华大学教授武永卫发表了“云存储和云安全”的演讲,分享了清华大学在云存储领域的实践应用。
武永卫表示,云计算是一种模式,并且极有可能成为未来流行的计算模式,而云存储是云计算的左腿,没有云存储,云计算是行不通的。他认为云存储需要满足四个方面的要求,首先可通过网络获得,这也是云计算的重要特征;其次容易获得,可随时随地亿任意方式获得,不管是在Windows环境下还是在Mac环境下;然后要做到永不丢失,因为现在数据也已经成为用户的财产了;最后是安全,可通过有效的措施做到可管可控可审查。
▲清华大学Corsair云存储
▲Corsair云存储界面
武永卫介绍,清华大学已经在校园内部推出了一项云存储服务——Corsair,Corsair在09年初推出,在半年之内用户就突破了一万五。Corsair实现文件数据的存储和共享,提供本地资源和网络资源的统一文件管理视图,使用Corsair的用户会在本地计算机上获得一个虚拟的硬盘,直接访问云存储的数据。Corsair提供统一的视图、数据传输以及资源检索功能,武永卫非常强调数据的共享性,因为将存储的数据共享可以发挥数据的最大价值,同时可以衍生出很多新的应用。
▲新型云存储MeePo
同时武永卫还透露了清华大学下一代云存储MeePo的情况,Meepo将实现文件数据的存储和共享、将网络资源与本地无缝集成,根据不同的需求采取不同的缓存策略,增强用户体验。
浏览Hadoop中国云计算大会专题请猛击这里。
▲
制作U盘系统盘(WinToFlash)是用来制作系统盘的工具。有了WinToFlash,一切都变得非常简单,它是一个制作优盘系统盘的软件,支持Windows XP、2003、Windows Vista、Windows 2008和Windows 7系统,让你可以不用光驱就能轻松安装操作系统。
相似软件
版本说明
软件地址5.0.00038 官方版
查看
3.5.2 官方版
查看
2.8.4128.0 官方版
查看
v2.3标准版
查看
7.3.2
查看
简述:
现在的上网本笔记本已经非常普及了,可惜它是没有光驱的,安装操作系统都只能外接光驱来进行,很不方便,其实我们可以通过优盘来给它安装系统,可是制作优盘安装盘都比较麻烦.
wintoflash教程、WinToFlash怎么用:
解压后运行
弹出如下图
点接受
点任务。。。。
在下拉菜单,可以选择装到u盘或者内存卡的系统
选择下图这个
然后点右下角的 跑。
弹出如下图
然后把xp.iso,加载到虚拟光驱上
打开iso文件,然后如图
点加载
在我的电脑里看,
这个是我电脑里的盘符,你电脑的话,那个是虚拟光驱的盘符,就是哪个。
然后回到刚才的界面
Windows 源路径,,点选择,弹出右边窗口。选择i386的文件夹所在的盘。
(因为是把镜像加载到虚拟光驱,所以到虚拟光驱的盘)
然后点确定。
然后usb驱动器,插上u盘,选你的u盘就行,然后确定。
然后点运行。弹出如下
选择 我接受
然后点继续。。。。。。。
弹出格式化u盘的警告,如果u盘有数据,记得备份到本地硬盘。
这里我u盘没什么 东西,直接确定。。。。。。。。
然后就等待完成。。。。。。。。。。。
然后点ok。
关闭软件。测试
提示有更新,点 不,只需关闭就行,
然后运行bootice.exe
点主引导记录,
然后选择ultraiso USB-HDD+
点安装/配置
然后点确定。
关闭bootice.exe。
简易启动测试器.exe
这个是测试软件的下载地址
我的u盘是4G的,
点启动
选择第一个。。。。。
然后就是安装的过程了。根据提示做就行。具体步骤不明白的话,网上也有安装安装版系统的介绍。
最后,把加载到虚拟光驱的镜像卸载。
目录
节点本身属性
控件属性
场景
空节点
3D对象
2D对象
UI组件
光线
特效
摄像机
地形
节点本身属性 第一栏为节点名,可修改,前面得勾,是表示是否使用该节点,去掉代表隐藏该节点,但是该节点依然存在。书籍图标为帮助信息,齿轮是组件不过这里应该叫做节点菜单,因为点进去得时候,出现得不是组件得操作。Position:相对父节点位置,如果父节点是场景则为世界坐标Rotation:旋转度,延X轴旋转,延Y轴旋转,延Z轴旋转,正数为逆时针旋转Scale:缩放倍数,延X轴缩放,延Y轴缩放,延Z轴缩放,因为是倍数,所以默认全是1,默认不是0,否则显示不出来,没有大小。layer:节点可见性,相机渲染场景,灯光照亮场景,不在范围内,不会展现出来和有亮光。具体看Edit: 控件属性 场景 AutoReleaseAssets:是否自动释放场景资源。勾上(true)就是自动释放,默认是否(false)Ambient:全局环境光属性, SkyColor:天空颜色,我的理解是从天空照射下来的颜色,相当于空中的光源SkyIllum:天空亮度,也可以认为是光的亮度GroundAlbedo:地面颜色,地面(有没有实体地面也可以)发出的颜色,相当于地面有光源上图是当skycolor红色时候,去掉光源后,可以看出来顶部就是纯红色。底下GroundAlbedo就是蓝色侧边则是根据两种颜色的混合过度填充而成。当亮度变大时的显示效果,可以看出来色彩方面亮度模糊了,开始偏向白色。也就是加亮到很大的时候,就是亮色的白。Fog:全局雾效 Enabled:是否启用全局雾效FogColor:全局雾颜色Type:全局雾类型 LINEAR:线性雾 FogStat:雾效起始位置FogEnd:雾效结束位置特点:随着远近变化,越远,颜色越深,越近颜色越浅,雾得朦感胧EXP:指数雾 FogDensity:雾化浓度,取值范围为 0 ~ 1FogAtten:雾化衰减系数特点:不随远近变化,不随角度变化EXP_SQUARED:指数平方雾,看上去好像和上面得没区别 FogDensity:雾化浓度,取值范围为 0 ~ 1FogAtten:雾化衰减系数特点:不随远近变化,不随角度变化LAYERED:层雾,也就是平常见雾,如高楼附近,山顶 FogRange:雾化效果影响的范围FogTop:模型顶点在世界坐标系垂直方向上的位置,小于该位置时所有的顶点都会受到雾化效果的影响FogAtten:雾效减弱系数特点:不随远近而变化,只随观看角度变化shadows阴影 Enabled:是否启用阴影Type:阴影类型 Planar:平面阴影,一般就是普通得阴影,影子垂直于Normal坐标得法线向量,然后阴影是Distance得距离。投影不对非平面实体起作用。也就是如下图,后面得方块,不会接收到投影。 开启方式:场景中启用shadows,需要显示阴影得节点得MeshRenderer中ShadowCastingMode设置为ONNormal:垂直于阴影的法线,用于调整阴影的倾斜度Distance:阴影在法线的方向上与坐标原点的距离注意:Planar 类型的阴影只有投射在平面上才能正常显示,不会投射在物体上,也就是说 MeshRenderer 组件中的 ReceiveShadow 属性是无效的。ShadowMap:是以光源为视点来渲染场景的。从光源位置出发,场景中看不到的地方就是阴影产生的地方。也就是平时得影子。 启用方式:场景中启用shadows,需要显示阴影得节点得MeshRenderer中ReceiveShadow设置为ONPcf:Pcf:百分比渐近过滤(PCF)是一个简单、常见的用于实现阴影边缘反走样的技术,通过对阴影边缘进行平滑处理来消除阴影贴图的锯齿现象。原理是在当前像素(也叫做片段)周围进行采样,然后计算样本跟片段相比更接近光源的比例,使用这个比例对散射光和镜面光成分进行缩放,然后再对片段着色,以达到模糊阴影边缘的效果。原本HARD,支持 5( FILTER_X5) 倍、9(FILTER_X9) 倍 和 25(FILTER_X25) 倍采样,倍数越大,采样区域越大,阴影边缘也就越模糊。可以看出来,效果并不好。越来越糊。MaxReceived:最多支持产生阴影的光源数量,默认为 4 个,可根据需要自行调整 Bias:设置阴影偏移值,防止 z-fiting,也就是离产生阴影物体得最底部得偏移值。0就是直接位于物体下方开始。越接近1,越远。
Packing:平滑?跟下面得互斥,只能二选一Linear:不进行平滑处理SelfShadow:后面阴影部分得物体,完全遮挡AutoAdapt:若勾选该项,则自动计算阴影产生的范围,否则启用下列属性来手动设置阴影产生的范围。也就是说,下面得属性如果勾选了这个选项,就不起效果。这些属性不熟悉,还是直接用自动吧,手动调节需要很多时间,慢慢一点点调。 Near:设置主光源相机的近裁剪面Far:设置主光源相机的远裁剪面OrthoSize:设置主光源相机的正交视口大小ShadowMapSize:设置阴影纹理大小Aspect:设置主光源相机的正交视口长宽比ShadowColor:阴影颜色Skybox:天空盒,一个包裹整个场景的立方体,可以很好地渲染并展示整个场景环境,在基于 PBR 的工作流中天空盒也可以贡献非常重要的 IBL 环境光照。 Enabled:是否启用UseIBL:是否使用环境光照Envmap:环境贴图,TextureCube 类型,当该属性为空时,天空盒默认使用和显示的是像素贴图,因为一个物体是六个面,所以需要6张可以连接起来得图片,然后资料管理器里面创建一个Cubemap,如下图,然后拉入相应得位置。IsRGBE:环境贴图的像素格式是否为 RGBE 空节点 就是节点。跟别的控件基本节点属性没有任何区别控件就是空节点加上一个MeshRenderer(Materials加Mesh),如果没有加材质,就是下面紫色(默认没有材质颜色)。也就是说,显示加功能就是:节点+ MeshRenderer+ 脚本外观受Mesh控制,box.mesh就是矩形,capsule就是胶囊等。。。 3D对象 从上面理论得到,3D就是空节点 + MeshRenderer,因为不加MeshRenderer看不到物体。
Capsule:胶囊,空节点 + MeshRenderer( default-material.
使用VSCode编译C/C++时,会存在找不到头文件的情况这时候需要设置两个地方:
1.c_cpp_properites.json
2.task.json
以下是我修改的对应的文件
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
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"${workspaceRoot}",
"xxx/include"
],
"browse": {
"path": [
"${workspaceRoot}",
"xxx/lib"
]
},
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "xxx/gcc.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
目录
需求
材料
步骤
Step 1:选择一台磁盘空间较充足的虚拟机做静态资源服务器(8G+)
Step 2:Linux121安装Httpd服务器
Step 3:新建一个测试界面
Step 4:下载并配置Cloudera rpm安装包
结果:其他从节点再安装任何yum软件包时,先从linux121这个静态资源服务器上取安装包,传输快速稳定,实际就是局域网的速度。
进阶:云主机上配置静态资源服务器
准备工作:与前面的步骤一致,差异主要在于IP、端口的管理
需求 学习大数据技术,经常安装各种rpm包,有时候网络资源异常,想安装的软件要下载很久,还不保证成功,因此学习了一种本地Yum源配置方式,从此再也不必担心安装失败。
材料 CentOS 7虚拟机
Cloudera软件包
远程终端(XShell)
步骤 Step 1:选择一台磁盘空间较充足的虚拟机做静态资源服务器(8G+) 并保证终端可以正常登陆该服务器,并实现集群之间的免密登陆,
主节点hostname = linux121
从节点hostname = linux122,linux123
Step 2:Linux121安装Httpd服务器 #yum⽅式安装httpd服务器 yum install httpd -y #启动httpd服务器 systemctl start httpd #验证httpd工作是否正常,默认端口是80,可以省略 http://linux121 Step 3:新建一个测试界面 //进入httpd默认存放页面的路径 cd /var/www/html/ vi test.html ``` <html> <div style="font-size:100px"> this is a new page!! </div> </html> ``` 保存页面,访问 http://linux121/test.html Step 4:下载并配置Cloudera rpm安装包 查看虚拟机内存使用情况,压缩包3.
实际效果 1.单个标签实现分隔线
HTML部分代码如下所示 <div class="line_01">小小分隔线 单标签实现</div> CSS部分代码如下 .line_01{ padding: 0 20px 0; margin: 20px 0; line-height: 1px; border-left: 200px solid #ddd; border-right: 200px solid #ddd; text-align: center; } 优点:代码简洁
2.巧用背景色实现分隔线
HTML部分代码如下 <div class="line_02"><span>小小分隔线 巧用色实现</span></div> CSS部分代码如下 .line_02{ height: 1px; border-top: 1px solid #ddd; text-align: center; } .line_02 span{ position: relative; top: -8px; background: #fff; padding: 0 20px; } 优点:代码简洁,可自适应宽度
3 .inline-block实现分隔线
HTML部分代码如下 <div class="line_03"><b></b><span>小小分隔线 inline-block实现</span><b></b></div> CSS部分代码如下 .line_03{ width:600px; } .line_03 b{ background: #ddd; margin-top: 4px; display: inline-block; width: 180px; height: 1px; _overflow: hidden; vertical-align: middle; } .
前因:处于安全考虑,运维老哥禁止了数据库远程访问,导致我们不能通过本地直连数据库了。
但运维老哥还告诉我们,还是可以通过ssh网络协议做跳板连接,所以就有了以下尝试:
首先现在Navicat 这个工具上尝试了ssh连接能不能通。
ok,确保我们的ssh账号,密码没问题。接下来进行代码层面的ssh连接。
对ssh不太了解的,可以看下我上一篇文章,方便理解下面的代码操作。
下面操作都是基于windows上连接远程linux服务器的操作。
进入代码层面(基于springboot+mybatis框架结构)。
1、首先maven中导入必须的 jsch 包。
<!--SSH 连接--> <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.55</version> </dependency> 2、编写一个ssh连接的工具类。
这里你得先理清自己想要通过什么方式连接?
①、通过账号密码方式进行ssh桥接。
②、通过公私钥方式进行ssh桥接。
第一种方式(账号密码):
package com.xcj.juhe.tool; import com.jcraft.jsch.JSch; import com.jcraft.jsch.Session; import java.util.Properties; /** * @author xcj * @date 2021/7/14 10:26 */ public class SshConnectionTool { //ssh连接的用户名 private final static String SSH_USER = "root"; //ssh连接的密码 private final static String SSH_PASSWORD = "123456"; //ssh远程连接的ip地址 private final static String SSH_REMOTE_SERVER = "42.192.77.88"; //ssh连接的端口号 private final static int SSH_REMOTE_PORT = 36000; //本地mysql发起连接的IP地址 private final static String MYSQL_REMOTE_SERVER = "
Death Coming总是显示无法连接网络,相信大家在玩Death Coming的过程中,经常会遇到这样的问题,下面ourplay小编就简单为大家介绍几种常见的解决方案。
Death Coming游戏简介
《死神来了-Death Coming》是一款策略类游戏。游戏拥有着呆萌的像素画风,但游戏内容却是制作死亡,和电影中不同的是,玩家在这款游戏中将体验死神的工作,制造一次次离奇的死亡,收割城市中的灵魂,掌握街上那些小可怜的命运。
Death Coming总是显示无法连接网络
造成这个问题的原因,有可能是系统不稳定(App版本过低),也有可能是应用缓存过多。
1、升级为4G套餐后如不重启手机则无法正常使用上网功能;
2、确认是否有网络,建议您可在信号强的地方使用;
3、检查帐户是否还有话费,若余额不足则需充值后才能使用;
4、可关机3-5分钟后,重启手机再进行尝试;
5、检查USIM卡是否有插好,若已插好但还是无法使用,则建议您到营业厅检查USIM卡是否有故障,或换卡测试;
6、如当月使用流量达到封顶值会自动关闭网络,建议您留意我司短信提醒或查询套餐产品说明。
设置-应用程序-找到该应用,清除缓存试试能否打开。或者,升级该应用,问题可能会得到解决。
以上是ourplay小编为大家归纳总结出的Death Coming总是显示无法连接网络问题的解决办法,如果您有更好的解决方案欢迎大家踊跃投稿,更多Death Coming热门攻略资讯尽在ourplay游戏攻略频道。
点击上方“码农的后花园”,选择“星标” 公众号
精选文章,第一时间送达
在深度学习中,数据是非常重要的,而自己制作训练数据集是模型训练的第一步,之前给大家介绍过目标检测和语义分割中打标签工具labelimg和labelme两个工具的使用教程。
点击跳转:制作自己的训练数据集之图像标注工具labelimg和labelme
今天给大家推荐一款我最近在使用的在线网页版打标签的工具makesense.ai,这也是YOLOv5官方推荐的两款Create Labels标签工具的一种,但是它比CVAT使用起来更方便,CVTA需要安装Docker。
makesense.ai可以在线网页打标签,无需安装,开源使用,支持YOLO、VOCXML、VGG JSON、CSV标签导出格式,点、线、框等多种标注类型,而且还可借助已经训练好了的目标检测模型SSD辅助我们进行人工标注,数据安全保密,提高我们工作的生产力。
选择Get Started, 点击Drop images一键就可以将我们图像数据直接拖拽上传,速度非常快,几百张图片,只需要几秒。
上传完图片后,选择打标签类型,是用于目标检测Object Detection,还是图像识别Image recognition.
上传完图片之后,进行标注Create labels,这里可以选择“+”来添加标签,也可以事先将标签写在一个.txt文件中,然后直接导入。若这里未添加标签,也可以在后面画框的过程中再添加。
标签打完之后,选择Start project,开始进行框的标注,选择标注类型矩形框Rect、点Point、线Line、多边形Polygon,选择自己想要的标注类型就可以进行标注了。
网页上的“Actions”选项菜单栏里面,"Edit Labels"可以对已有标签进行修改、添加,还可以添加图片“Import Images”,如果你网络稳定的话,可以使用“Load AI Model”对图片进行自动标注。
图片标注完之后,选择网页上的“Actions”,选项菜单栏里面导出标注完标签的“Export Annotations”,选择你想要的标签导出格式,这里我选择YOLO format.
导出后是一个以标注日期署名的压缩包,非常简洁明了,解压后是YOLO格式的.txt标签文件。
YOLO标签格式文件官方要求如下:
打完标签后就可以直接拿图片Image和标签Label去训练了YOLOv5模型了,不像Labelimg导出为XML文件,还需要再利用.py文件转换为YOLOv5.txt格式文件了,简化训练模型的步骤和时间。
分享给更多朋友,转发,点赞,在看
1 Alphapose中使用yolov3-tiny检测器的应用场景 Alphapose的官方仓库中默认使用的是yolov3-spp,根据官网公布的数据,其mAP为60.6,FPS能到20FPS。但是如果我们面临的是一个不复杂的场景,场景中人数较少,而我们有需要其性能够好,实时性能达到应用的要求或者更好,那我们为什么不使用yolov3-tiny检测器,由于简化了网络结构,根据官网的公布的数据,其FPS能达到220FPS,而mAP也有33.1,对于普通场景这种精度完全够用。
2 在Alphapose中使用yolov3-tiny 2.1 下载yolov3-tiny的权重和配置文件 官网地址:https://pjreddie.com/darknet/yolo/
在官网分别下载weights和cfg文件
将权重文件yolov3-tiny.weights放置到Alphapose的AlphaPose\detector\yolo\data文件夹下;
将配置文件yolov3-tiny.cfg放置到Alphapose的AlphaPose\detector\yolo\cfg文件夹下;
2.2 修改Alphapose的yolo_cfg文件 将AlphaPose\detector\yolo_cfg.py文件中的:
cfg.CONFIG = 'detector/yolo/cfg/yolov3-spp.cfg' cfg.WEIGHTS = 'detector/yolo/data/yolov3-spp.weights' 修改为
cfg.CONFIG = 'detector/yolo/cfg/yolov3-tiny.cfg' cfg.WEIGHTS = 'detector/yolo/data/yolov3-tiny.weights' 附上yolo_cfg.py的全部内容:
from easydict import EasyDict as edict cfg = edict() cfg.CONFIG = 'detector/yolo/cfg/yolov3-tiny.cfg' cfg.WEIGHTS = 'detector/yolo/data/yolov3-tiny.weights' cfg.INP_DIM = 320 cfg.NMS_THRES = 0.45 cfg.CONFIDENCE = 0.6 cfg.NUM_CLASSES = 80 2.3 yolov3-tiny.cfg的修改 好了,在我们进行了上述配置之后,就可以信心满满的运行Alphapose,试一试Alphapose的速度了!!!
但是,出现了以下错误:
Traceback (most recent call last): File "G:\ProgramData\Anaconda3\envs\Alphapose\lib\threading.py", line 926, in _bootstrap_inner self.
本地nginx 命令 sudo nginx 启动 sudo nginx -s stop 关闭 Nginx常用命令 1、检查配置文件是否配置成功,在启动服务之前执行; nginx -t 2、启动运行nginx服务; start nginx 3、等任务完成之后,关闭Nginx服务; nginx -s quit 4、强制关闭Nginx服务; nginx -s stop 5、重启Nginx服务,一般是修改了配置文件之后,使修改生效; nginx -s reload #修改文件|目录的拥有者 chown imis /opt/redis #递归修改文件|目录的组 chgrp -R isim:isim /opt/redis #递归修改文件权限 chmod -R 755 /opt/redis 查看端口是否开放:lsof -i:8080 查看所有开放端口:netstat -aptn 开放2181端口,使用以下命令: $ iptables -I INPUT -p tcp --dport 2181 -j ACCEPT 保存规则 $ iptables-save 持续化规则:使用 iptables-persistent 首先安装iptables-persistent: $ apt-get install iptables-persistent 永久保存规则 $ netfilter-persistent save $ netfilter-persistent reload Ubuntu nginx安装 1.
/* * @(#)DateUtils.java 2020年4月5日上午9:40:16 * Copyright All rights reserved. */ package com.zhuning.isim.util; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; import com.zhuning.isim.excp.InvalidDataException; /** * 日期工具类 * @author: wangyf * @version: 1.0 Date: 2020年4月5日 上午9:40:16 */ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { private static String[] parsePatterns = { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss"
详解 不开启Revit,读取、写入Revit文件
要点:需要引入RevitNET.dll,RevitAddInUtility.dll和RevitAPI.dll三个dll到项目中
RevitAddInUtility.dll 此dll是Autodesk Revit 提供,用于方便开发者进行安装包的制作。使用此dll无需读注册表,可针对Revit版本,安装位置等信息的获取,也可以轻松的操控AddIn插件注册文件。此dll具体chm帮助文档,与此dll统一存在于Revit安装目录下。
RevitNET.dll RevitNET.dll 在Revit安装目录下即可找到。此dll是Autodesk 用于开启一个简易版本 、无任何UI界面的小型化 Revit 所进行封装的。也就是使用此dll可做到无需启动Revit便可进行创建、修改、读取等等操作。并且因为是无界面操作,其效率要比Revit更高。其具体使用方法,如下代码所示。Navsiworks 即是使用了此dll。感兴趣的朋友可以进行尝试研究。
public class Program { static readonly string WorkPath = Path.GetDirectoryName(typeof(Program).Assembly.Location); static Program() { RevitCoreContext.Instance.Run(); } /// <summary> /// Revit 内核必须加 STAThread 标签 /// </summary> /// <param name="args"></param> [STAThread] static void Main(string[] args) { var app = RevitCoreContext.Instance.Application; // Todo ... var projectrTemplate = app.DefaultProjectTemplate; if (!File.Exists(projectrTemplate)) { throw new FileNotFoundException("默认项目路径不存在 , 请指定 !"); } var document = app.
最近在做vue项目时遇到了报错
Duplicate keys detected: ‘[object Object]’. This may cause an update error.
由于这个问题是第一次遇见,所以在解决起来废了点时间
解决:在遍历数组时 :key书写错误,
我的错误写法
<ul> <li v-for="v in caseintrocon" :key="i"> <p><em>{{v.data_m_d}}</em>{{v.data_y}}</p> <p><strong>{{v.title}}</strong></p> <p>{{v.text_con}}</p> </li> </ul> 改正后的写法:
<ul> <li v-for="(v,i) in caseintrocon" :key="i"> <p><em>{{v.data_m_d}}</em>{{v.data_y}}</p> <p><strong>{{v.title}}</strong></p> <p>{{v.text_con}}</p> </li> </ul> 总结:平时用修改前的方式写代码也没有出错,这次代码出错给了我个提醒,以后书写代码要更加规范
欢迎来访我的博客,一起学习更多:Plumliil
<!DOCTYPE html> <html> <head> <!--引入jquery,jquery.qrcode--> <script type='text/javascript'src='http://cdn.staticfile.org/jquery/2.1.1/jquery.min.js'></script> <script type="text/javascript"src="http://cdn.staticfile.org/jquery.qrcode/1.0/jquery.qrcode.min.js"></script> </head> <body> <div id = "qrid"></div> </body> <script> $(function(){ var qrstr = "https://user.qzone.qq.com/2131282453/main"; $('#qrid').qrcode({width: 280,height: 280,text: qrstr});//指定二维码大小 }); </script> </html>
Docker安装RocketMQ,集成到SpringBoot项目 1、构建rocketmq-docker镜像 步骤一 git clone https://github.com/apache/rocketmq-docker.git 步骤二 选择RocketMQ版本并构建镜像
cd image-build sh build-image.sh RMQ-VERSION BASE-IMAGE # 这里是我使用的是:sh build-image.sh 4.8.0 alpine 通过docker images检验镜像是否构建成功
2、构建rocketmq-console-ng 镜像 步骤一 git clone https://github.com/apache/rocketmq-externals.git 步骤二 进入rocketmq-externals的rocketmq-console目录执行 mvn clean package -Dmaven.test.skip=true
cd rocketmq-externals cd rocketmq-console mvn clean package -Dmaven.test.skip=true 执行完成后,将target中的jar包复制到src/main/docker中
3、创建配置文件 步骤一 创建存放配置文件的文件夹 /Users/midas/Desktop/study/java/rocketmq/rocketmq/conf/
步骤二 创建配置文件 broker.conf,放到步骤一创建的conf文件夹中
# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership.
背景资料
IBM eServer x366 提供了突破性的 4 路性能,采用机架优化的 3U
服务器设计,结合了源自大型机灵感的 eServer X3
技术的高可用性,具有最新 64 位Intel Xeon MP 处理器带来的 64
位性能,可创建面向商业企业应用程序、虚拟化及 web 服务的领先 x86
解决方案。
核心技术--eServer X3架构
第三代企业级X架构芯片组Hurricane是X3架构的心脏,它为x366提供了集成处理器和内存控制器,从而显著缩短内存延迟,并帮助客户减少响应时间和提高总体系统性能。Hurricane芯片组使得x366与上一代产品x365服务器相比,性价比显著提高。它帮助x366切实减少了处理器到内存的延迟,这一点对于企业商业负载来说十分重要。同时,它还具备集成探测过滤器和远程目录功能的嵌入式动态随机访问内存(DRAM)。3个扩展端口,运行速度均高达6.4GB/秒,在业界速度最快。高达266MHz的Active
PCI-X 2.0,是上一代的两倍,并向后兼容传统PCI和PCI-X。
Hurricane芯片组为x366提供的虚拟XceL4v动态服务器高速缓存可提供智能高速缓存功能,内存延迟极低,以至于不必需物理四级缓存。通过使用
XceL4v,x366
无需使用最昂贵的处理器来实现最高的性能。在图1和图2的对比可以看出,第二代企业级X架构与第三代X3架构的对比。X3架构可以提供更多的管道,传输时间更短。
图1. 第二代企业级X架构
图2. eServer X3架构
IBM eServer
X3架构还为x366提供了预支持双内核Intel处理器的功能。在Intel未来推出双内核芯片的时候,用户只需要更换x366服务器内部的处理器芯片,即可轻松升级到双核技术。
内存技术--业界领先的Active Memory
x366服务器的内存技术主要有Memory ProteXion(内存保护)、Memory
Mirroring(内存镜像)和Chipkill内存三项技术。
Memory ProteXion - 冗余内存位调整
Memory ProteXion冗余内存位调整类似于 DASD
阵列的"热备份",利用每个内存
DIMM的未使用位(热备份位),可以纠正发生在每对DIMM内存中多达4个连续个位的错误,加倍了每个服务器可保留的Chipkills数。当出现随机性的软内存错误,可以通过使用热备份的个位来解决;如果出现永久性的硬件错误,也将利用热备份的个位使得DIMM内存芯片继续工作,直到被替换为止。
内存镜像
x366服务器上的另一项先进内存技术就是内存镜像(Memory
Mirroring)技术,如果一个内存中有足以引起系统报警的软故障,系统会报告系统管理员,提醒管理员这个内存条将要出故障;同时服务器就会自动地切换到使用镜像内存卡,直到这个有故障的内存被更换。镜像内存允许进行热交换(Hot
swap)和热添加(Hot-add)内存。
这项技术可以促进基于Intel芯片服务器的持续运行,使得x系列服务器具备大型机的功能与可靠性,极大延长了正常运行时间,帮助管理员实现计划维护。它独立于操作系统,不需要驱动程序或操作系统支持。
第三代Chipkill内存
新型的第三代Chipkill内存技术已经集成到了IBM的企业级X架构芯片组中,以便使用现成的DIMM。与ECC技术相比,Chipkill内存技术更加有效,它还提供最佳的内存可靠性,可支持内存中的数据库。通过检测和纠正多个位内存
DIMM 错误,Chipkill
内存实现了更高的可用性,如果内存发生错误,Chipkill内存将自动和平稳地让出错的内存芯片离线,而服务器继续保持正常工作。
硬盘技术--SAS
在硬盘技术上,x366服务器采用了新型的串行附加SCSI(SAS)技术。SAS无需同Ultra320一样采用专用于频率的单独信号线,可以提供比传统
SCSI
更高的可扩展性和性能。实现了更高的吞吐量。另一方面,以这种技术实现的组件所需的引脚数量较少,因此可实现较小的体积和更密集的系统,简化系统布线,提供更通畅的气流和更有效的冷却能力。
超强性能表现
采用X3架构的IBM eServer
1.基于功率域复用的NOMA,在技术原理上很容易实现,其基本思想是通过不同的功率区分用户,发送端按照给定的功率分配原则给每个用户分配不同的发射功率,为了提高频谱利用率主动引入多用户干扰,在相同的资源上叠加多个用户的数据信息,根据接收信号的强弱不同,接收设备利用串行干扰消除SIC接收机依次恢复出各个用户的信号信息。
2.信息论的观点来看,功率域NOMA在发送端使用叠加编码,在接收端使用SIC技术分离叠加编码前的各个用户的信息时,不仅可以在性能上优于传统的正交复用技术,而且还能够实现上行多址信道的容量界。按照类似的原理,PD-NOMA技术可以使用在下行广播信道传输场景。
以上内容引自:非正交多址关键技术研究_邵宣博
课题研究意义:
在功率域 NOMA 中,相较于前几代无线通信,NOMA 引入新的功率域,正是由于新功率域的引入才得以实现用户信号的分离。之前的通信系统中,信号功率分配单纯影响接收端的信干噪比,而在 NOMA 系统中,功率分配不仅要满足用户的信干噪比要求,还要根据用户信道状态信息合理进行功率分配,而使用户能够在接收到信号之后通过功率差异进行信号分离。由于通过直接的联合优化进行功率分配的复杂度极高,求解耗时长,与低时延的要求相悖,除了进一步提高计算能力之外,如何设计有效的低复杂度功率分配方案是充分利用 NOMA 技术的关键。如果能够提出有效的功率分配方案,实现低复杂度,便能弥补 NOMA 在功率分配上复杂度高于前几代无线通信技术的劣势,发挥NOMA 技术在新兴应用场景中的优势,促进下一代通信技术的应用与发展。
在 NOMA 传输系统中,到达接收机的信号包含多个用户的叠加信号,但是由于每个用户的功率是不同的,所以串行干扰消除机可以根据信号在功率上的大小差别,先将信号功率大的信号解出来,此时将其他所有用户的信号均看作噪声,然后再从接收到的信号中减去已解调出的信号,继续解调其他信号,此时的接收机相比于 OMA 系统接收机复杂度会上升。另外,实现 SIC 的关键在于串行干扰消除接收机,如果在接收机信号消除的过程中出现任何错误,将导致错误传播,造成连续解码的错误,即使是微小的误差,也会由于错误传播导致最后的结果与真实信息相差甚远。所以对于 SIC 错误的研究对保证NOMA 性能至关重要,除了优化接收机设计提高接收机 SIC 效率以及降低错误概率之外,如果能在发射端针对可能出现的 SIC 错误进行编码及功率分配优化,对于提高NOMA 系统性能也能起到有效的成果。
由于 NOMA 以 SIC 为用户间干扰消除的核心技术,SIC 技术本身的特性决定了时延的存在,且该时延的大小受接收机解码速率和叠加编码用户数影响。当同一簇内叠加编码的用户数很多时,信道最好的用户需要先解出其他所有用户的信号后才能得到自己的信号,故该用户的时延必然很高,单纯靠提高接收机解码速率难以满足下一代无线通信技术对低时延的要求。所以,大量待服务用户必然要被分为很多簇。用户成簇是实现 NOMA 传输的一个关键步骤,由于 SIC 错误以及低时延的要求,同一簇内用户必然不能过多,最好是每两个用户成一簇。由于用户成簇问题的组合特性,寻找最优解的任务非常困难,尤其是在用户数很多时,直接遍历求解的复杂度随着用户数呈指数型增长,在如今海量设备接入的背景下,遍历求解成为一种不现实的方法。如果不能有效解决用户成簇问题,必然会影响 NOMA 系统的性能,进而影响下一代无线通信技术的快速应用,错失发展机会,造成经济损失。
另外,下一代无线通信技术发展趋向于异构网络及基站微小化,然而目前对异构网络中的 NOMA 传输的研究并不成熟。特别是针对能耗问题,如何进一步在保证用户服务质量的前提下降低能量消耗,值得进一步研究。下一代无线通信技术也是各种通信技术的融合,在异构网络下,融合其他通信技术,实现高速率、低时延、海量接入的要求对于发展 NOMA 具有积极作用。
SIC 错误、功率分配、用户成簇以及异构网络下的 NOMA 传输等研究对于 NOMA 技术的成熟具有促进作用,而 NOMA 作为下一代无线通信技术中的一种关键技术,为用户提供更高速的传输速率、更密集的连接以及低时延高可靠性,必然在未来的无线通信技术的发展中具有不可替代的重要作用。NOMA技术的研究顺应新兴技术和时代发展的需求,有助于无线通信系统的性能提升和产业规模的飞跃发展。
国内外研究现状:
日本 NTT DoCoMo 公司早在 2010 年就开始了相关研究,并且已经提出了比较系统化的方案。2013 年,Y. Saito 等人系统的分析了两用户单天线 NOMA系统的优点,同时考虑了简单的基于波束成形的 NOMA 系统,与传统 OFDM系统进行了对比,指出 NOMA 可能成为下一代移动通信中的关键技术[6]。英国 Lancaster 大学的丁志国教授对于 NOMA 技术公平性、资源分配方面进行了系统的研究。最近,一种被称为多用户叠加传输(Multi-user SuperpositionTransmission, MUST)的下行 NOMA 传输方案[7],已经被用到 3GPP 长期演进技术中(LTE)。国内也有很多学者及研究机构研究 NOMA,其中北京科技大学戴晓明教授首先提出了图样分割多址接入;西南交通大学与国外大学合作,在 NOMA方面也发表了很多文章。国内企业方面,华为致力于稀疏码多址接入的研究与标准推进;大唐电信则主推 PDMA;中兴一直在研究用户共享接入。
实验一 A/D、D/A 转换实验
一、实验目的
1.了解温控系统的组成。
2.了解NI 测量及自动化浏览器的使用并对数据采集卡进行设置。
3.了解Dasylab 软件的各项功能,并会简单的应用。
4.通过实验了解计算机是如何进行数据采集、控制的。
二、实验设备
微型计算机、NI USB 6008 数据采集卡、温度控制仪、温箱。
三、实验内容
1.了解温度控制系统的组成。
2.仔细观察老师对数据采集卡输入输出任务建立的过程及设置还有dasylab 基本功能的演示。
3.仔细阅读dasylab 相关文档,学习帮助文件tutorial 了解其基本使用方法。
4.动手实践,打开范例,仔细揣摩,并独立完成数据采集卡输入输出任务的建立并建立并运行单独的AD 及DA 系统,完成之后,按照自己的需要及兴趣搭建 几个简单的系统运行。
四、温控系统的组成
计算机温度控制系统由温度控制仪与计算机、数据采集卡一起构成,被控对象为温箱, 温箱内装有电阻加热丝构成的电炉,还有模拟温度传感器AD590。系统框图如图1-1 所示:
五、温控仪基本工作原理
温度控制仪由信号转换电路、电压放大电路、可控硅移相触发器及可控硅加热电路组成。 被控制的加热炉允许温度变化范围为0~100℃.集成电路温度传感器AD590(AD590 温度传感器输出电流与绝对温度成正比关系,灵敏度为1uA/K).将炉温的变化转换为电流的变化送入信号转换、电压放大电路.信号转换电路将AD590送来的电流信号转换为电压信号,然后经精密运算放大器放大、滤波后变为0~5V的标准电压信号,一路送给炉温指示仪表,直接显示炉温值。另一路送给微机接口电路供计算机采样.计算机通过插在计算机USB总线接口上的NI USB 6008 12位数据采集卡将传感器送来的0~5V测量信号转换成0~FFFH的12位数字量信号,经与给定值比较,求出偏差值,然后对偏差值进行控制运算,得到控制温度变化的输出量,再经过NI USB 6008将该数字输出量经12位D/A转换器变为0~5V的模拟电压信号送入可控硅移相触发器,触发器输出相应控制角的触发脉冲给可控硅,控制可控硅的导通与关断,从而达到控制炉温的目的。
六、思考题
1.数据采集系统差分输入与单端输入有些什么区别?各有什么优缺点?
单端输入:输入信号以共同的地线为基准,判断信号与GND的电压差。
优点:连接较短,所有输入信号与信号源共地
缺点:抗干扰能力差
差分输入:判断两个信号线的电压差,每个输入信号都有自己的基准地线。
优点:可以有效抑制共模干扰信号,提高采集精度
缺点:接线较单端复杂
2.dasylab相对于ni其他软件有什么优缺点?
Dasylab都是用一些功能模块来建立系统,模块间用“导线”连接,相对于NI其他软件而言编程更方便,效率更高,功能更直观,图形化的界面,无需繁琐的编程工作,满足非专业编程人员的测试需要,通过多种功能模块的搭建可方便完成数据采集、显示、存储、分析、统计、运算、控制、触发等各种功能
3.利用你的发散思维,罗列出dasylab的应用场合,越多越好。
利用Dasylab可以应用于各种工业控制场合进行控制系统的搭建、测试,如温度控制,液面控制,压力控制,流量控制等。
4.给出一个你心目中dasylab的理想应用,用简单的dasylab模块画出来并辅以简洁的说明。
利用Dasylab设计一游泳池温度液面高度控制系统
模块如图1-2 所示:
图1-2
说明:利用Slider分别设置给定的液面高度和温度,并通过Scaling进行换算,通过Recorder显示给定液面高度和温度,Analog Input对水池温度、液面高度进行数据采集输入,通过Scaling进行换算通过Recorder显示当前液面高度和温度,通过对PID参数设置来调节泳池液面高度和温度,通过选择合适的参数获得最佳的响应曲线,最后通过模块Analog Output进行输出,从而达到温度液面高度控制作用。
七、实验总结
通过本次实验了解了温控仪的组成和基本工作原理,如何对数据采集卡进行设置,以及对Dasylab有了简单的认识,通过阅读相关帮助文件学会了如何用Dasylab设计简单的控制系统,通过实验了结了计算机是如何进行数据采集控制的,对计算机在工业控制领域的应用有了一定了解。
实验二 基于DASYLab的的温度控制系统设计实验
一、实验目的
利用Dasylab软件实现基本的PID温度控制算法。
二、实验设备
同实验一。
三、实验内容
1.利用NImax建立数据采集卡的输入输出任务。
误差反向传播算法 误差反向传播算法是Rumelhart等在1986年提出的,即BP(error Back Propagation)算法,影响最为广泛,也称BP算法。直到今天,BP算法仍然是自动控制上最重要、应用最多的有效算法。是用于多层神经网络训练的著名算法,有理论依据坚实、推导过程严谨、物理概念清楚、通用性强等优点。但是,人们在使用中发现BP算法存在收敛速度缓慢、易陷入局部极小等缺点。
中文名:误差反向传播算法
外文名:error Back Propagation Algorithm,简称:BP算法