mysql aa复制_MySQL主从复制与主主复制

1、简介 MySQL作为世界上使用最为广泛的数据库之一,免费是其原因之一。但不可忽略的是它本身的功能的确很强大。随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求。此时数据库集群就很好的解决了这个问题了。采用MySQL分布式集群,能够搭建一个高并发、负载均衡的集群服务器(这篇博客暂时不涉及)。在此之前我们必须要保证每台MySQL服务器里的数据同步。数据同步我们可以通过MySQL内部配置就可以轻松完成,主要有主从复制和主主复制。 2、环境说明 两台linux虚拟主机 Linux版本CentOS6.6、MySQL 5.5 ip:192.168.95.11、192.168.95.12 3、主从复制 3.1、MySQL 已经安装好,并且没有任何数据 3.2、配置文件 一般Linux中的MySQL配置文件都在/etc/my.cnf(windows中的配置文件为mysql.ini) log-bin=mysql-bin 开启二进制日志 注意:二进制日志必须开启,因为数据的同步实质上就是其他的MySQL数据库服务器将这个数据变更的二进制日志在本机上再执行一遍。 192.168.95.11 为主数据库服务器 192.168.95.12 为从数据库服务器 3.3、开始构建主从复制 第一步: 在192.168.95.11中创建一个192.168.95.12主机中可以登录的MySQL用户 用户:mysql12 密码:mysql12 mysql>GRANT REPLICATION SLAVE ON *.* TO ‘mysql12’@’192.168.95.12’ IDENTIFIED BY ‘mysql12’; mysql>FLUSH PRIVILEGES; 第二步: 查看192.168.95.11MySQL服务器二进制文件名与位置 mysql>SHOW MASTER STATUS; 第三步: 告知二进制文件名与位置 在192.168.95.12中执行: mysql>CHANGE MASTER TO >MASTER_HOST=’192.168.95.11’, >MASTER_USER=’mysql12’, >MASTER_PASSWORD=’mysql12’, >MASTER_LOG_FILE=’mysql-bin.000048’, >MASTER_LOG_POS=432; 完成主从复制配置 3.4、测试主从复制 在192.168.95.12中 mysql>SLAVE START; #开启复制 mysql>SHOW SLAVE STATUS\G #查看主从复制是否配置成功 当看到Slave_IO_Running: YES、Slave_SQL_Running: YES才表明状态正常 实际测试: --登陆192.168.95.11主MySQL mysql>SHOW DATABASES;

mysql的两个时间比较大小_mysql中日期比较大小的方法

假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql: 代码如下 复制代码 select * from product where add_time = '2013-01-12' 对于这种语句,如果你存储的格式是YY-mm-dd是这样的,那么OK,如果你存储的格式是:2013-01-12 23:23:56这种格式你就悲剧了,这是你就可以使用DATE()函数用来返回日期的部分,所以这条sql应该如下处理: 代码如下 复制代码 select * from product where Date(add_time) = '2013-01-12' 再来一个,如果你要查询2013年1月份加入的产品呢? 代码如下 复制代码 select * from product where date(add_time) between '2013-01-01' and '2013-01-31' 你还可以这样写: select * from product where Year(add_time) = 2013 and Month(add_time) = 1 这些你该知道mysql日期函数在对你处理日期比较问题的作用了吧? 其date_col的值是在最后30天以内: 代码如下 复制代码 mysql> SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; DAYOFWEEK(date) 返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。 代码如下 复制代码

经典mysql数据库面试题_【数据库】MySQL经典面试题(练习)

id number(32) NOT NULL, name varchar(10) DEFAULT NULL, sax varchar(10) DEFAULT NULL, age number(6) DEFAULT NULL, PRIMARY KEY (id) ) insert into tbl_students (id, name, sax, age) values('2','李四','男','21'); insert into tbl_students (id, name, sax, age) values('3','张三','女','17'); insert into tbl_students (id, name, sax, age) values('4','李四','男','12'); insert into tbl_students (id, name, sax, age) values('6','凤姐','女','20'); insert into tbl_students (id, name, sax, age) values('5','凤姐','女','20'); insert into tbl_students (id, name, sax, age) values('7','田七','男','18'); insert into tbl_students (id, name, sax, age) values('1','田七','男','18');

mysql中func什么意思_在C语言程序中,func()是什么意思?

展开全部 C语言程序中,func()指的是Function,表示子例程的一般性名词。在62616964757a686964616fe58685e5aeb931333431373938某些编程语言中,它指带返回值的子例程或语句。在一些编程语言中起着关键字的作用。 将常用的代码以固定的格式封装(包装)成一个独立的模块,只要知道这个模块的名字就可以重复使用它,这个模块就叫做函数(Function)。函数的本质是一段可以重复使用的代码,这段代码被提前编写好了,放到了指定的文件中,使用时直接调取即可。 Function 除了有“函数”的意思,还有“功能”的意思,中国人将 Function 译为“函数”而不是“功能”,是因为C语言中的函数和数学中的函数在使用形式上有些类似,例如:C语言中有 length = strlen(str),数学中有 y = f(x)。 扩展资料: C语言中函数定义时给出的参数为形式参数,简称形参;函数调用时给出的参数(也就是传递的数据)称为实际参数,简称实参。函数调用时,将实参的值传递给形参,相当于一次赋值操作。 原则上讲,实参的类型和数目要与形参保持一致。如果能够进行自动类型转换,或者进行了强制类型转换,那么实参类型也可以不同于形参类型,例如将 int 类型的实参传递给 float 类型的形参就会发生自动类型转换。 C语言不允许函数嵌套定义,不能在一个函数中定义另外一个函数,必须在所有函数之外定义另外一个函数。main() 也是一个函数定义,也不能在 main() 函数内部定义新函数。有些编程语言是允许函数嵌套定义的,例如 JavaScript,在 JavaScript 中经常会使用函数的嵌套定义。

AIX --- 常用命令

# 类似于linux top命令: 不太好用 nmon topas # 查看内存 GB为单位 svmon -O unit=GB svmon -G -O unit=GB # cpu查看命令: AIX如何查看cpu个数_白及-CSDN博客_aix查看cpu个数 smtctl # 物理 bindprocessor -q # 逻辑核 # AIX常用命令 df -g # 等同于 linux的 df -h netstat -Aan|grep 6666 # 等同于 linux -lntp ifconfig -a # 查看ip # 防火墙 smit 2. 选择以下子项开启或关闭防火墙 Communications Applications and Services->Tcp IP->Configure Ip Security(IPv4)->Start/Stop IP Security->Start IP Security 3. 也可以使用以下子项对防火墙进行配置 Communications Applications and Services->Tcp IP->Configure Ip Security(IPv4)->Start/Stop IP Security->Advantanced IP Security Configuration

SpringBoot热加载

使用SpringBoot开发的时候,修改完程序之后,需要手动点击重启,才能让修改生效,比较麻烦,也占用了更多的时间。 其实可以通过一些插件,实现修改之后的热加载,并且只加载修改部分,从而也提高了效率。 方式一:使用JRebel JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效。 IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费时间浪费生命。 目前对于idea热部署最好的解决方案就是安装JRebel插件。 第一步:安装插件 第二步:在线GUID地址:在线生成GUID 网址:在线GUID地址 如果失效刷新GUID替换就可以! 服务器地址:https://jrebel.qekang.com/{GUID} 第三步:打开jrebel 如下所示面板,选择Connect to online licensing service 安装成功之后就可以通过JRebel启动项目。这样修改完Java代码后,就可以通过快捷键 Ctrl+shift+F9 而不再需要重启站点这样繁琐浪费时间的操作了。 相关设置 设置成离线工作模式 设置自动编译 要想实现热部署,首先需要对Intellij按如下进行设置: 由于JRebel是实时监控class文件的变化来实现热部署的,所以在idea环境下需要打开自动变异功能才能实现随时修改,随时生效。 打开运行时编译 设置compiler.automake.allow.when.app.running 快捷键ctrl+shift+A,搜索:registry 或者 按快捷键 Ctrl+Shift+Alt+/ ,选择 Registry 使用 运行项目时要点击图中红框中的按钮,即可运行: 第一个按钮是Run,第二个按钮是Debug。 修改代码(只测试了Java代码的修改)后,完成加载以后,就已经实现了热更新效果。 方式二:使用springloaded 第一步:pom文件中添加依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.4.RELEASE</version> </dependency> 第二步:在spring的启动配置里面 第三步:在VM options里面输入下面一段代码 -javaagent:F:\m2\mcms\repository\org\springframework\springloaded\1.2.8.RELEASE\springloaded-1.2.8.RELEASE.jar -noverify 格式: -javaagent: "jar包的位置" -noverify 编译之后修改的代码可以生效 方式三:使用spring-boot-devtools 第一步:pom.xml添加依赖 <!-- 热部署方法1spring boot devtools 依赖包. --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>true</scope> </dependency> <!

论文笔记-医学图像分类

DL Deep convolutional neural network based medical image classification for diseaseauthorIntroductionLiterature review Deep convolutional neural network based medical image classification for disease author Samir S. Yadav and Shivajirao M. Jadhav Introduction 基于CNN的图像分类任务中提升性能的方法: 数据增强;迁移学习;胶囊网络. 论文贡献: 三种分类器性能的比较 带ORB的SVM;VGG16 和 Inception V3 的迁移学习;胶囊网络。 通过CNN上的迁移学习分析 数据增强、网络复杂度、微调卷积层、和其他防止过拟合方法在胸部X-ray数据集上的有效性。 Literature review ORB and SVM application on medical image classification Paredes et al. [21] use small patches of medical images as local features and k-nearest neighbor (k-NN) to classify the categorization of the whole medical image, finally achieving start-of-art accuracy.

mysql 全文索引 模糊查询_关于Mysql模糊查询的优化-全文检索和Like的使用

表A: CREATE TABLE `tableA` ( `id` int(11) NOT NULL auto_increment, `content` varchar(256) default NULL, PRIMARY KEY (`id`), 如果我要在content中进行模糊查询,那么使用like的话,肯定要这样写: select * from tableA from content like "%xxx%" 这里有个问题,即使我为content加了index索引,那么在下面这两种情况索引也是无效的 content like "%xxx" / like "%xxx%" 都不能使用索引 如果想索引作用只能使用content like "xxx%" 这时候就要使用全文索引来处理了 ALTER TABLE `tableA` ADD FULLTEXT `fidx_content` (`content`) 然后用以下方式查询 SELECT * FROM `tableA`WHERE MATCH (content)AGAINST ('xxx') EXPLAIN SELECT * FROM `wf_master`WHERE MATCH (cpr_no)AGAINST ('801876') id select_type table type possible_keys key key_len ref rows Extra

ubuntu 安装mysql 出错_服务器 – 在Ubuntu 16.04上安装mySql时出错

我一直按照this page上的说明在Ubuntu 16.04上安装mysql. 我在标题为“MySQL”的部分的那一页 安装和配置“我运行命令sudo apt-get install mysql-server.但是我遇到了一个错误,这是我终端中该错误的输出: Preconfiguring packages ... Selecting previously unselected package mysql-common. (Reading database ... 41515 files and directories currently installed.) Preparing to unpack .../mysql-common_5.7.12-0ubuntu1_all.deb ... Unpacking mysql-common (5.7.12-0ubuntu1) ... Selecting previously unselected package mysql-client-5.7. Preparing to unpack .../mysql-client-5.7_5.7.12-0ubuntu1_amd64.deb ... Unpacking mysql-client-5.7 (5.7.12-0ubuntu1) ... Processing triggers for man-db (2.7.5-1) ... Setting up mysql-common (5.7.12-0ubuntu1) ... update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode

linux mysql主从搭建_Linux搭建MySQL主从

实现目标 搭建两台MySQL服务器(一主一从),一台作为主服务器,一台作为从服务器,主服务器进行写操作,从服务器进行读操作。 工作流程概述 主服务器: 开启二进制日志 配置唯一的server-id 获得master二进制日志文件名及位置 创建一个用于slave和master通信的用户账号 从服务器: 配置唯一的server-id 使用master分配的用户账号读取master二进制日志 启用slave服务 准备工作 主从数据库版本最好一样 主从数据库内数据保持一致 主数据库:192.168.244.201 : 3306 从数据库:192.168.244.202 : 3306 开始配置 配置 Master 主服务器 找到主数据库的配置文件my.cnf(Windows中是my.ini),我的在/etc/my.cnf 在[mysqld]部分插入如下两行: [mysqld] log-bin=mysql-bin #开启二进制日志 server-id=201 #设置server-id,唯一值,标识主机 重启mysql服务 systemctl restart mysqld 创建用于主从同步的账号/密码 进入MySQL : mysql -u root -p 回车输入密码。 我创建的用户名叫“master_root”密码是“MySql@6688” 【注意:由于之前把密码改成支持简单密码123456的了,导致这里新建用户出现一些问题,说密码不符合策略等,后来干脆我重装mysql,使用默认复杂密码了,就没有这么多问题了。习惯就好其实。】 下面我都用的%,没有写具体ip,你可以自行决定。 #创建用户(IP为可访问该master的IP,任意IP就写'%') mysql> CREATE USER 'master_root'@'192.168.244.202' IDENTIFIED BY 'MySql@6688'; #分配权限(IP为可访问该 master的IP,任意IP就写'%') mysql> GRANT REPLICATION SLAVE ON *.* TO 'master_root'@'192.168.244.202'; #刷新权限 mysql>flush privileges; 查看master状态,记录二进制文件名(mysql-bin.000001)和位置(154).后面配从库要用。

python用django连接mysql_三分钟了解Django如何连接Mysql数据库

处理用户注册请求、Django连接MysqL数据库相关配置、数据库迁移命令: my_Dproject/app01/views.py 在views函数文件中添加register函数,来处理用户注册的请求。 Tips:获取get请求数据的方式跟POST请求完全一样。 获取到用户注册信息,接下来需要连接数据库,拿到数据库的用户数据进行验证,注册的成功与否。 Django连接MySQL数据库的方法: my_Dproject/my_Dproject/settings.py 继续回到settings配置文件中,来配置Django连接MySQL。 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'my_Dproject', 'HOST': '127.0.0.1', 'PORT': 3306, 'USER': 'root', 'PASSWORD': '123', } } 还没完,接着需要去项目的init文件中添加相关信息,告诉Django用MySQL数据库连接数据库就行。 my_Dproject/my_Dproject/__Init__.py中添加下面信息:import pymysql pymysql.install_as_MySQLdb() (这里需要注意:__init__.py文件还在app01文件中有,也可以在app01中的init文件中添加,效果一样。) 配置添加Django中orm的models文件 重点:Django的orm不能自动帮我们创建数据库,但是可以自动帮我们创建表,同时一个Django项目就使用一个数据库。 my_Dproject/app01/models.py 中添加映射表的相关类。 这里我们需要用到用户数据表,所以创建一张User类来映射MySQL数据库中的user用户表。class User(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=32) password = models.CharField(max_length=16) 映射表的类创建完毕后,需要进行关键的2步【数据库迁移命令】操作,才能创建出user表: 第一步:将数据库变动记录记录到一个文件中: 在pycharm自带的Terminal命令行中输入:python3 manage.py makemigrations 第二步:将数据库变动同步到数据库中:python3 manage.py migrate 重点: 以后只要涉及到数据库的一丝变动(这里主要说的是表结构),要想让变动生效一定要执行这2步数据库迁移(同步)命令!!! 这里提一个小点:我们在测试时候如果遇到下面这种情况: 解决办法是:在settings.py文件中注释掉一行代码:

mysql 无法启动 查看原因_mysql5.7无法启动原因排查

前天刚刚拷了同事最新的MySQL5.7,安装成功后运行良好,今天却无法启动,Navicat也无法连接。 开始排查原因: 1.进入dos命令窗口,输入net start mysql启动,提示 百度出现错误的原因,以为是没有初始化的原因。于是将刚刚装的mysql进行了初始化,删除了mysql下的data文件夹,找到mysql所在的bin目录运行bin\mysqld --initialize,提示出示化失败,已存在mysql5.1。 检查5.1版mysql,确定删除干净(包括注册表一系列文件) 2.使用管理员身份运行cmd 又搜了下,以为是权限问题,就用管理员身份运行了cmd,找到mysql5.7所在的目录下,输入net start mysql,继续失败,但是系统错误信息变成2 。 继续百度,初始化,更改密码,连接继续失败。 3.指定具体mysql版本,启动成功 安装的是同事下载的最新版mysql,里面包含了超多版本和内容 如果不指定版本的话,会默认启动,找不到需要的版本。 *用管理员身份启动cmd输入命令,指定具体启动版本,启动成功。 Apache -- XAMPP Apache 无法启动原因及解决方法 XAMPP Apache 无法启动原因1(缺少VC运行库): 这个就是我遇到的问题原因,下载安装的XAMPP版本是xampp-win32-1.7.7-VC9,而现有的Windows XP系统又没有安装 ... 2016&sol;07&sol;07 apmserv5&period;2&period;6 Apache启动失败&comma;请检查相关配置。MySQL5&period;1已启动。 因为要用PHP做一个程序,在本机上配PHP环境,下了个APMServ5.26,安装很简单,不再多说,装好后,启动,提示错误,具体是:“Apache启动失败,请检查相关配置.√MySQL5.1已启动”, ... Apache无法启动原因 Apache不能启动解决办法 作者的话:遇到这个问题的时候,从网上找了很多资料,结果都是让我这个新手摸不着头绪 还好,在我长时间的查找下,还是找到了一篇文章,解决了我的烦恼,下面是我对这个文章的一些对 ... 8&period; 启动Tomcat闪退无法启动原因解决 原因可能是由于下面问题导致的: 1.Tomcat环境在不同电脑上引用的jdk路径不同 比如:在A电脑上Tomcat引用的jdk路径为:C:\Java\jdk1.6.0_10 而在B电脑上jdk的安装路 ... k8s集群应用例如jenkins启动问题排查思路 k8s集群应用例如jenkins启动问题排查思路 待办 rancher上的事件报告>pods日志>pods内容器日志(现获取容器id再查看容器日志,获取容器id 使用的是相应问题pod的名 ... MYSQL5&period;7无法启动服务原因及解决方案 mysql5.7安装完成后,想要把它发布成windows服务: 首先,应该配置新的配置文件,然后将cmd打开到安装目录的bin文件,键入: mysqld --default-file="D: ... Linux下tomcat启动项目原因排查 先停掉tomcat服务器: 然后把文件删除: 这时候启动服务器: 看下有没有启动成功: 接着把重新优化过的代码用X ftp传上去. 等几分钟就可以. 如果老是出现问题,就去catalina.out文件 ... Mysql-5&period;7&period;10启动失败 。

c语言使用easyx实现扫雷_C语言扫雷小游戏演示和说明

C语言中文网提供的扫雷游戏不依赖 TC 环境,不依赖第三方库,可以在 VC6.0、VS、CodeBlocks、Dev C++ 编译通过。我们提供给大家的扫雷游戏,不要求大家精通 C 语言,也不会涉及到指针的使用,只需要学会以下几个知识点即可: 会使用变量(int、char)和二维数组; 能够懂得函数的声明和使用; 掌握 C 语言的分支结构(if-else 和 switch 语句)和循环结构(while 和 fo() 循环); 设计扫雷游戏的主要目的是让大家夯实 C 语言基础,训练编程思维,培养解决问题的思路,领略多姿多彩的 C 语言。游戏开始后,会出现一个有关扫雷游戏的介绍,同时由用户选择,游戏是否开始。用户输入 “y” 或者 “Y” 都可开始游戏,输入 “n” 或 “N” 或其他字符会直接退出游戏。如下图所示: 输入 “y” 或 “Y”,游戏开始,进入扫雷游戏的初始界面,如下图所示: 玩家通过输入坐标选定某个区域,例如,输入 (1,1),游戏结果如下图所示: 结果显示,(1,1)位置不是雷区,且其周围也没有雷区,同时还顺带为玩家显示了一部分同样不是雷区,且其周围也无雷区的区域。 若游戏中探测到雷区时,则 game over!如下图所示: 当所有雷区全部成功躲避,将所有安全区域全部扫出来时,游戏成功!如下图所示: 扫雷游戏百度网盘下载地址:链接:https://pan.baidu.com/s/1pM2Nrw3 密码: qe2r 注意:上面的下载地址仅仅提供了已经编译好的扫雷游戏,如果你希望查看游戏源码,或者想了解扫雷游戏是如何编写的,请猛击:C语言扫雷游戏源码下载和源码解析。

redhat7 mysql_Mysql8.0安装(Redhat7)

下载tar包(一般是手动下载tar包): wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz 将文件移动到 /usr/local/mysql下解压 mv /usr/local/src/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz 进入mysql目录:cd /usr/local/mysql; 解压;tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz 得到mysql-8.0.11-linux-glibc2.12-x86_64 重命名; mv mysql-8.0.11-linux-glibc2.12-x86_64 mysql8.0; # 创建文件夹data,存储文件; cd /usr/local/mysql8.0/ mkdir ./data 2.2 创建用户及用户组 # 用户组 groupadd mysql # 用户 (用户名/密码) useradd -g mysql mysql 2.3 授权 chown -R mysql.mysql /usr/local/mysql8.0/ # 亲测 2.4 初始化数据库: # 查看当前所在目录 pwd # 若显示/usr/local/mysql8.0,请继续执行,否则请先进入此目录/usr/local/mysql8.0 # 初始化 注意查看是否存在相关目录,若不存在,请新建 ./bin/mysqld --user=mysql --basedir=/usr/local/mysql8.0/ --datadir=/usr/local/mysql/mysql8.0/data/ --initialize ; # 亲测 得到临时密码 2.5 Mysql配置(按照自己的文件路径配置,关于其他配置,可自行搜索,若有【mysql-safe】的配置,可以先注释掉) 没有my.cnf,mysql.sock文件的话,手工创建,并设置相应的mysql,mysql用户权限 chown -R mysql.

mysql排序null_Mysql实现null值排在最前/最后的方法示例

前言 我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。 为了处理这种情况,MySQL提供了三大运算符: IS NULL: 当列的值是 NULL,此运算符返回 true。 IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。 <=>: 比较操作符(不同于=运算符),当比较的的两个值为 NULL 时返回 true。 关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。 在 MySQL 中,NULL 值与任何其它值的比较(即使是 NULL)永远返回 false,即 NULL = NULL 返回false 。 MySQL 中处理 NULL 使用 IS NULL 和 IS NOT NULL 运算符。 最近在做项目迁移,Oracle版本的迁到Mysql版本,遇到有些oracle的函数,mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造。 oracle做数据排序的时候,有时候可以用nulls first或者nulls last将null值排在最前或者最后。 oracle方法: null值排在最前

如何查看网页的编码格式

最近在做爬虫的时候,发现部分网页爬出来的数据是乱码(网易新闻)。 搞了半天,最后发现网易新闻的编码格式是GBK不是UTF-8。 查看网页的编码格式的方法就是: 1、在网页按F12,打开开发者工具 2、在console 中输入“document.charset”查看页面编码,如下 》document.charset 》"UTF-8" 3、设置spider的编码格式 python req = requests.get(url) req.encoding="UTF-8" 参考网址:https://blog.csdn.net/DCFANS/article/details/90199487

建表添加描述 mysql_MySQL建表语句+添加注释

1.建表+注释 CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT COMMENT '学号', name VARCHAR(200) COMMENT '姓名', age int COMMENT '年龄' ) COMMENT='学生信息' 2.修改注释 修改表注释-ALTER TABLE student COMMENT '学生表'; 修改列注释-ALTER TABLE student MODIFY COLUMN name VARCHAR(100) COMMENT '姓名'; SELECT table_name,table_comment FROM information_schema.tables WHERE table_schema = '所在的db' AND table_name ='表名groups' SHOW FULL COLUMNS FROM groups -- 这个可以按条件的去搜索某名字或某数据类型的列的信息:例如 SHOW FULL COLUMNS FROM tableName WHERE FIELD = 'add_time' OR TYPE LIKE '%date%' -- 查看tableName表中列名是add_time的或类型是date的列

Python3 局域网ip获取mac,mac获取ip

文章目录 一、所需Python库二、code1.根据ip获取mac2.根据mac获取ip 一、所需Python库 from scapy.all import * import socket 二、code 1.根据ip获取mac 向ip发送arp请求 def scanning(): inip = input("请输入ip:") # 发送arp请求 arpPkt = Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(pdst=inip) res = srp1(arpPkt, timeout=1, verbose=0) # 如果请求有响应则加入列表 if res: if inip == res.psrc: return "该ip的mac地址为:%s" % res.hwsrc return "%s没有mac" % inip 2.根据mac获取ip 构造一个UDP包,拿取ip,获取网段 def get_network_segment(): try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 面向网络,UDP协议 s.connect(('8.8.8.8', 80)) ip = s.getsockname()[0] # 获取ip ippre_list = ip.split(r".") # 切片 ippre_list.pop() # 去除最后一个元素 nets = '.

亿级大表在线不锁表变更字段

pt-online-schema-change alters a table’s structure without blocking reads or writes. Specify the database and table in the DSN. Do not use this tool before reading its documentation and checking your backups carefully.

axios cdn 引入_axios基本使用

前言 通过在之前的学习当中,对于初学者来说能使用html实现的那就是一个完整的页面,不得不说html是一门很好的基础语言,我们学习vue也是建立在html之上的,vue是一套相对完整的语言系统,它既能实现静态页面的制作,也能向服务器发送请求。 下面我来介绍一个vue中比较重要的语法axios为Ajax奠定基础 我们在构建应用时需要访问一个API并展示数据,做这件事的方法有好几种,而使用基于Promise的HTTP客户端axios则是其中非常流行的一种。 //获取全部数据 使用 npm: $ npm install axios 使用 bower: $ bower install axios 使用 cdn: <script src="https://unpkg.com/axios/dist/axios.min.js"></script> 也可以下载文档创建新的axios.js下载之后直接引入稳定性更高 同步更新axios.js离线手册下载地址:https://unpkg.com/axios/dist/axios.min.js //引入axios.js 多学一招 127.0.0.1.+端口号 localhost:+端口号 都是访问本机 <script src="./axios.js"></script>//发送get请求 axios.get("http://localhost:3000/getone")//url地址 .then(function(data){ console.log(data) }) //获取一条数据(get请求) axios.get('http://localhost:3000/getone/2').then(function(data){ console.log(data) }) //添加一条数据(post请求) axios.post("http://localhost:3000/getone",{status:false,title:"来了老弟"}).then(function({ console.log(d); }).catch(function(error){ console.log(error) }) //删除一条数据(delete请求) axios.delete('http://localhost:3000/getone/1').then(function(d){ console.log(d); }).then(function(d){console.log(d) }).catch(function(error){ console.log(error) }) //修改又一条数据(put请求) axios.put('http://localhosl:3000/getone/3',{title:"hello,wrod"}).then(function(d){ console.log(d); }).catch(function(error){ console.log(error) }) 实现基础的增删改查 我是你们的小小冷湿地下次再见下篇更新axios离线手册再见

vue node 设置域名_伸手党系列四:vuecli3.0以上 使用 proxy 进行跨域设置

跨域:出于浏览器的同源策略限制,当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域。 process:process 对象是一个全局变量,它提供有关当前 Node.js 进程的信息并对其进行控制。简单说它就是在nodejs中的一个全局变量。 pathRewrite 是使用proxy进行代理时,对请求路径进行重定向以匹配到正确的请求地址。 vue cli3.0以上和cli2.0变化较大,简化了很多东西,减少了很多配置文件。 在vue cli3.0版本以上进行跨域设置时需要我们自己在项目的根目录中创建一个vue.config.js文件 内部设置如下,我们要进行设置的就是devServer下的 proxy ① api格式不统一时使用如下方法 api如下格式 ↓ ↓ ↓ // bxx/xxx/xxx api开头不是统一格式 // axx/xxx/xxx api开头不是统一格式 // cxx/xxx/xxx api开头不是统一格式 **// 当我们的api不是统一格式的时候使用该方法.**module.exports = { // 公共路径(必须有的) publicPath: "./", // 输出文件目录 outputDir: "dist", // 静态资源存放的文件夹 assetsDir: "static", // eslint-loader 是否在保存的时候检查 lintOnSave: false, runtimeCompiler: false, productionSourceMap: true, // 不需要生产环境的设置false可以减小dist文件大小,加速构建 devServer: { hot: true, open: true, // 执行项目启动命令后,自动打开项目首页面 host: '0.0.0.0', // 匹配本机IP地址(默认是0.0.0.0) port: 8080, // 开发服务器运行端口号 proxy: { '/api': { //将www.

字符串--KMP算法详细解析

字符串—KMP算法详细解析 一:概述 给定文本串text和模式串pattern,从文本串text中找出模式串pattern第一次出现的位置 最基本的字符串匹配算法 暴力求解(Brute Force):时间复杂度(m*n) KMP算法是一种线性时间复杂度的字符串匹配算法,它是对BF算法的改进 记:文本串长度为N,模式串长度为M BF算法的时间复杂度为O(M*N),空间复杂度为O(1)KMP算法的时间复杂度O(M+N),空间复杂度为O(M) 二:BF算法(暴力求解过程) 图解: 定义文本串和字符串 进行第一次比较 用模式串的第j个元素去和文本串的第(i+j)个元素进行比较,如果相等则 j = j+1,继续比较模式串的第j个元素和文本串的第(i+j)个元素继续比较。当j = 5时,模式串与文本串不匹配。如果发现不匹配,则 j=0,i = i+1, 进行第二次比较 用模式串的第j个元素(此时j为0)和文本串的第(i+j)个元素(此时i=1)开始匹配,发现 i = 1 和 j = 0时不匹配,则 j = 0,i = i + 1 进行第三次比较 用模式串的第j个元素(此时j为0)和文本串的第(i+j)个元素(此时i=2)开始匹配,如果相等则 j = j+1,继续比较模式串的第j个元素和文本串的第(i+j)个元素继续比较。发现当i = 8 和 j = 6时不匹配,则 j = 0,i = i + 1 依次类推,直至匹配完成。 代码实现: int BruteForceSearch(const char* s,const char* p){ int i = 0; // 当前匹配到的原始串首位 int j = 0; // 模式串的匹配位置 int size = (int)strlen(s); int psize = (int)strlen(p); while ((i < size) && (j < psize)){ if(s[i+j] == p[j]) { // 若匹配,则模式串匹配位置后移 j++; }else { // 不匹配。则对比下一个位置,模式串回到首位 i++; j = 0; } } if(j >= psize) return i; return -1; } 三:KMP算法 KMP算法过程解析 因为在暴力破解字符串时,会产生指针回溯的问题,即在发现字符不匹配时,j 指针会回到模式串的0位置。这样的话会大大影响程序的运行速率。

vmix怎么输出到大屏_VMIX拓展2屏3屏教程:想输出啥就输出啥

以上是VMIX官方2屏教程 其实VMIX的多屏教程我们已经发布了3个了,但是很多人还是无法理解,所以今天小编录制了一个简单的3屏教程,和2屏设置基本没有两样。 第一步:检测3个显示器是否连接正常 3个显示器正常连接效果 设定某个显示器为主显示器 打开VMIX-设置-显示(显示1 选择2) 打开VMIX-设置-显示(显示1 选择3) 点击上面的图片!万一你喜欢就可以联系小编了! 产品型号:ZhiHe X2 全铝合金外壳,使用CNC雕刻,表面氧化处理,12V电压供电,两个标准HDMI高清口输入,兼容2.0及以下。重量2公斤左右。显示器单个长:42厘米、宽:28厘米、厚2.5厘米,手工测量误差0.5MM左右。可折叠,集中供电,显示器可调节。 推荐理由:适合VMIX多屏输出,VMIX最多支持3个屏显示,可以调节其中任意一个画面,PGM,PVW,MultiVew及InputX,也可以作为BMD切换台的画分和PGM输出,部分切换台比如罗兰4路,洋铭550HD等只显示分割画面不显示PGM和PVW的台子。苹果使用的屏幕就是京东方的,所以质量效果杠杠的! 怎么开心怎么来!怎么好玩怎么来! 欢迎各位老师投稿或者推荐分享文章、教程、故事等!一律保留版权 下面是小编微信,添加小编微信,我拉你进群、可以学习、交流、交易直播周边产品技术等! 1群已满(中级玩家) 2群已满(初级玩家) 3群新开(VMIX兴趣新手训练班,谢绝纯卖货,平台、撸毛党)

手机wps怎么设置打印横竖_wps怎么设置横向打印

当我们在使用wps编辑文档的时候,系统默认的文字排版格式是横着的,也就是我们平常间常见到的那种格式,但是有些特定的情况下,比如制作名片、广告牌之类的时候,可能就需要适当的改变一下文字的方向了,那么具体如何实现这个目标呢?很简单下面就跟小编来学习吧。 wps横向打印设置的方法 1、打开需要打印的wps文档,将需要打印的文档进行适当的排版。 2、将鼠标移到wps软件的左上角“wps文字”处,点击后面的那个折叠小三角形,选择“文件”,接着继续选择“页面设置”,从而进入到页面设置对话框。 3、在页面设置窗口中,选择“页面距”,再选择“方向”,在方向里选择“横向”。 4、选择好后,还可继续设置需要纵向打印的页码范围,应用范围等。待设置完成后,点击右下角的“确定”按钮。 5、将鼠标移动到wps软件的左上角“wps文字”处,点击后方的折叠小三角形,点击“wps文字”,展开子菜单,并选择“打印预览”。 6、在打印预览界面查看页面是否满足你的打印要求,不满足则返回修改至满足你的要求。完成后点击左上角“wps文字”选择“打印预览——打印”,就可以进行打印了。 PS:1、打印前请确保打印机与电脑已连接好,并可正常使用。 2、建议在打印前进行打印预览,以确定是否满足你的打印要求。

hibernate sqlserver timestamp_SQLServerException:从时间戳到TIMESTAMP的转换不受支持。

Hibernate映射: ...other fields 会员模型对象: public class MemberBean{ private Calendar lastLoginDate; ... rest of class } 堆栈跟踪: SEVERE: org.hibernate.exception.GenericJDBCException: could not execute query at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140) at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.loader.Loader.doList(Loader.java:2536) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276) at org.hibernate.loader.Loader.list(Loader.java:2271) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:452) at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363) at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1268) at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:859) at com.pp.controller.dao.impl.OrganizationDaoImpl.getMember(OrganizationDaoImpl.java:83) at com.pp.controller.dao.impl.OrganizationDaoImpl.login(OrganizationDaoImpl.java:26) at com.pp.controller.MemberBean.doNavigation(MemberBean.java:300) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.el.parser.AstValue.invoke(AstValue.java:234) at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297) at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:43) at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:56)

算法:差分矩阵

差分矩阵步骤 第一步:将数据读入,从下标1,1开始读入数据 第二步:差分数组的构建,可以看作是在原数组全为0的数组构建差分数组,可以通过insert(i,j,i,j,a[i][j])来实现 第三步: void insert(int x1,int y1,int x2,int y2,int c) { b[x1][y1] += c; b[x2+1][y2+1] += c; b[x1][y2+1] -= c; b[x2+1][y1] -= c; return 0; } 最后通过前缀和求b[i][j] b[i][j] += b[i-1][j] + b[i][j-1] - b[i-1][j-1]; 这就是原数组 问题描述 输入一个n行m列的整数矩阵,再输入q个操作,每个操作包含五个整数x1, y1, x2, y2, c,其中(x1, y1)和(x2, y2)表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加上c。 请你将进行完所有操作后的矩阵输出。 输入格式 第一行包含整数n,m,q。 接下来n行,每行包含m个整数,表示整数矩阵。 接下来q行,每行包含5个整数x1, y1, x2, y2, c,表示一个操作。 输出格式 共 n 行,每行 m 个整数,表示所有操作进行完毕后的最终矩阵。 数据范围 1≤n,m≤1000, 1≤q≤100000, 1≤x1≤x2≤n, 1≤y1≤y2≤m, −1000≤c≤1000, −1000≤矩阵内元素的值≤1000 代码 #include<iostream> using namespace std; int b[1010][1010]; void chafen(int x1,int y1,int x2,int y2,int c) { b[x1][y1] += c; b[x2+1][y2+1] += c; b[x1][y2+1] -= c; b[x2+1][y1] -= c; } int main() { int n, m, q; int a[1010][1010]; cin >> n >> m >> q; for(int i = 1; i <= n; ++i){ for(int j = 1; j <= m; ++j){ cin >> a[i][j]; chafen(i, j, i, j, a[i][j]); } } int x1, y1, x2, y2, c; for(int i = 0; i < q; ++i){ cin >> x1 >> y1 >> x2 >> y2 >> c; chafen(x1, y1, x2, y2, c); } for(int i = 1; i <= n; ++i){ for(int j = 1; j <= m; ++j){ b[i][j] += b[i-1][j] + b[i][j-1] -b[i-1][j-1]; cout << b[i][j] << "

树形DP

选课 积蓄程度 树形DP 1. 选课题目链接题目描述题目分析代码反思与总结 2. 积蓄程度题目链接题目描述题目分析代码反思与总结 1. 选课 题目链接 选课 题目描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习。现在有 N N N门功课,每门课有个学分,每门课有一门或没有直接先修课(若课程 a a a是课程 b b b的先修课即只有学完了课程 a a a,才能学习课程 b b b。一个学生要从这些课程里选择 M M M门课程学习,问他能获得的最大学分是多少? 输入格式 第一行有两个整数 N , N N,N N,N 用空格隔开。 ( 1 ≤ N ≤ 300 , 1 ≤ M ≤ 300 ) (1\leq N \leq 300 , 1 \leq M \leq 300) (1≤N≤300,1≤M≤300) 接下来的 N N N行,第 I + 1 I+1 I+1行包含两个整数 k i k_{i} ki​和 s i s_{i} si​, k i k_{i} ki​表示第 I I I门课的直接先修课, s i s_{i} si​表示第 I I I门课的学分。若 k i = 0 k_{i}=0 ki​=0表示没有直接先修课 ( 1 ≤ k i ≤ N (1\leq k_{i}\leq N (1≤ki​≤N, 1 ≤ s i ≤ 20 ) 1\leq s_{i}\leq20) 1≤si​≤20)。

500张思维导图记38000单词_82张全彩思维导图,帮助孩子轻松记住1100个单词,太实用了!...

获取资料请私信我“英语” 今天给大家分享一套思维导图速记英语单词,7大步骤记单词:看一看、说一说、圈一圈、写一写、画一画、对答案、总复习。 思维导图记单词 以思维导图有效的记忆思维模式为理论基础,将传统单词单个孤立的记忆模式,转变成了单词群记忆模式,每个单词群不是随便组群,而是根据该组群单词的偏旁+部首等内在联系,比如:形式联系、意思联系等组群,另外给每组单词群都配有故事。 思维导图课程的原理 我们从第一个单词best(最好的)延伸至test(测试),再延伸至text(课文),textbook(课本)……以此类推展开的思维导图模式。我们就会发现这几个单词连续读起来都非常有节奏感,且在某种程度上也有关联性。 完整的故事(句子): 依次联想:(翻译:我想成为最好(best)的,所以我需要通过阅读课本(textbook)上的课文(text)在测试(test)中考得最好(best);我需要在饭店(restaurant)休息(rest),用一下洗手间(restroom),否则我会焦虑(restless);我脱下我最好的马甲(vest)在森林(forest)里面收获(harvest)橘子。 这些句子连起来读是非常有节奏感的,同时也发现如果多读几遍,即可轻松记下所有单词,并且还能背下来。 82张全彩漫画思维导图, 1100单词全面覆盖。

p51 thinkpad 拆解_开箱晒物 篇三:美版2018款移动图形工作站ThinkPad P52开箱(拆键盘和后盖)...

开箱晒物 篇三:美版2018款移动图形工作站ThinkPad P52开箱(拆键盘和后盖) 2018-08-01 20:36:02 31点赞 59收藏 43评论 小编注:此篇文章来自即可瓜分10万金币,周边好礼达标就有,邀新任务奖励无上限,点击查看活动详情 2018款新一代移动图形工作站,美版ThinkPad P52自6月底美国官网上市开卖后,第一时间下单,再由USPS发回国,交税清关,经过1个月的等待终于到手,下面和大家开箱照来分享一下。 1、(相信很多小伙伴也都在关注这款机器吧、先看一眼主角吧) P52主角 2、机器的包装与2017款的P51没有什么区别,不多说,直接上图。 机器原箱 原箱内保护托架 机器及全部配件 3、取出机器与配件,有机器、170W功率的电源适配器和电源线,接口为方口,电源插头为通用二插头,电源适配器是100-230V自适应宽幅电压设计,可以直接在国内使用,不需要转换头倒是也挺方便。 机器配件全家福 170W电源适配器 电源线 4.称一下机器的实际重量,相信也有不少人关心这个。 机器称重(体重秤称的) 5、经过几台机器的开箱,发现今年的ThinkPad是有意的去联想化了,不再强加Lenovo了,A面只保留了经典的ThinkPad标志,标志的红点能电会亮起,感觉干净整洁了。 机器A面 6、B面除了15.6的屏幕外,还有滑盖式的ThinkSutter摄像头、降噪麦克风、Lenovo的logo标、P52标、Wifi及硬盘指示灯。和P51不同的是, Lenovo标志从转轴移动了B面左下角,增加了Wifi指示灯(这也是较早期的机器有的)。 B面 滑盖式ThinkShutter摄像头 降噪麦克风 Lenovo标志 Wifi及硬盘指示灯 P52标志 7、C面有全尺寸键盘(带小键盘),经典小红点、触摸板、指纹识别模块、扬声器、开机键、8代CPU贴标;重点要说一下小键盘上的四个快捷键,调整为退位、括号、等于(快捷调出计算器)等与运算有关的按键,感觉更实用更方便了,这个要赞一下。(PS:此机器C面并未看到有色彩校正仪的预留洞,不知道是否是取消了,等CTO定制版上市再核实) C面全景 开机按键 经典小红点 触摸板 指纹识别模块 ThinkPad标志 8代CPU贴标 8、机器的D面,我们可以看到,6芯电池仓、仓里预留SIM卡插槽、增加了散热排放孔,密密麻麻的散热孔,后盖板采用金属盖板,不再是P51的那种塑料盖板,更易于散热,和P51还是有很大的改进,同时P52还取消了传统扩展底座接口,看来也是想让大家通过雷电3接口来接扩展坞了。 D面 SIM卡插槽 9、机器接口图:机器左侧有USB3.1、SD读卡器、预留的Smart card插槽;后侧:RJ45、HDMI、2*雷电3、电源插口;右侧:3.5耳麦插孔、2*USB3.1、Mini DP接口、防盗锁孔。 机器左侧接口 机器后侧接口 机器右侧接口 10、相信大家都很想看一下P52的可扩展性,所以干给大家来点福利了,拆后盖板和键盘,拆的时候发现和P51有很大的不同了,一是后盖没有再采用让人吐糟的卡扣式了,直接是螺丝固定(妈妈不用再担心我把卡扣弄断了^_^),二是键盘的拆装也不一样的,不知道的人一开始还真是有点难下手,不再是从背面螺丝固定了,固定螺丝藏在键盘下的左右按键下,让我一顿好找,详情请看图。 机器底部扩展性(2*M.2 SSD+2内存条) D面盖板(金属的) 拆按键方式 拆下键盘下左右按钮可看到两颗白色螺丝 向上推出露出卡子(6个) 拆键盘后真面目 11、总结一下,此次P52开箱发现和以往相比,还是有所改变的,a、终于不再强行打联想的标志了,不再到处都想着印Lenovo;b、小键盘的调整让我感受到设计师的丁点改变了,不再是只会抄了,起码有一点点考虑实用、方便操作,考虑人性化了;c、感觉机器到处都是散热孔,可以看到左侧、右侧、后侧、底部都看得到;d、扩展底座接口的取消可能会让一部分有情怀的人士不太舒服,但我个人觉得是可以肯定的,起码敢变了,而且现在雷电3的扩展坞也很不错的了,我觉得可以肯定一下,你觉得呢?

p51 thinkpad 拆解_Thinkpad P53S笔记本电脑拆解教程(T490S/P43S通用)及扩展坞评测

如果说图形工作站的话需要一个标压的处理器以及一个高端显卡,如果满足前面两个条件的话笔记本的厚度尺寸以及能耗来说几乎不能用来便携了,因此Thinkpad工程师针对一些轻工作的设计师发布了P53的超薄超轻的版本,就是下面说的P53S了。 左侧的接口分别是 电源+TYPEC口,扩展坞口和雷电口,USB3.0口,USB3.0接口 ,HDMI接口,耳麦一体接口,SD卡 右侧接口: USB3.0口 网线接口,锁孔, 背面设计比较简洁仅仅是一个SIM卡托的位置 我们准备了一个海盗船的DDR4内存以及一个三星新款970 EVO 1T固态硬盘PCIE接口拆解后给这台计算机升级 首先我们需要关闭内置电池的电源 实际在T440以后的机型中, 所有的Thinkpad的笔记本内置电池型号都增加了一个功能,就是直接在BIOS里面断开内置 电池的功能,如图中开机F1进入BIOS 在下图中选择关闭电池即可, 确认之后计算机会立刻黑屏关闭, 这个时候整个电池和计算机是断开的因此是不需要拆机后拔掉电池,在下次插入电源后才可以开机,也就是下次插电源后这个设置自动恢复到默认。 只需要将背面后盖所有螺丝拧开,从侧面掰开即可,这个拆解比之前我们所接触到的一些笔记本简单很多很多了。 这个型号大部分设计了独立显卡,因此两个芯片左边是显卡右边是处理器,硬盘的位置在左侧中间 很尴尬的是海盗船的标压内存这款机器不识别,最后使用了金士顿的内存才识别。注意是DDR4的 硬盘拆卸也很方便只需要拧开之后拔出来即可 插入我们准备好的一个三星新款三星1TB 970 EVO硬盘 注意: 如果不会设置BIOS断开内置电池,建议打开后开第一时间拔掉内置的电池,这样避免不必要的损坏,另外很多新款的机型已经为了超薄设计去掉了很多铝镁合金骨架,因此在坚固程度来说还不及之前的老款笔记本电脑。 实际来说新款的计算机价格都比较高,性价比不及二手,P系列不论是P53还是P53S都动辄到了一万多至三万多,但是性能上与之前的P50 P51 P52其实使用体验几乎没有大的差距。 这个是默认这款型号带的底座,底座的话P53S T490 P43S都是通用的 接口电源其实在侧面,插入之后即可使用。 将这台P53S笔记本放在底座上之后就是如上图的效果。 扩展坞的接口还是非常多的。 我们简单说下这款原装底座的接口分别从左到右是: 耳麦一体接口,VGA输出, DP接口2个,HDMI接口,电源口,USB3.0口3个,2个USB-C接口,一个网线口,以上就是本次的P53系列笔记本电脑的简单拆解和介绍以及底座的介绍,有兴趣可以关注利淘网。

mv单位是什么意思_p=mv是什么意思?

展开全部 p=mv表示:动量=质量×速度。 动量(32313133353236313431303231363533e59b9ee7ad9431333431376565Momentum)又称线性动量(Linear Momentum)。在经典力学中,动量(是指国际单位制中的单位为kg·m/s ,量纲MLT⁻¹)表示为物体的质量和速度的乘积,是与物体的质量和速度相关的物理量,指的是运动物体的作用效果。动量也是矢量,它的方向与速度的方向相同。 物体的机械运动都不是孤立地发生的,它与周围物体间存在着相互作用,这种相互作用表现为运动物体与周围物体间发生着机械运动的传递(或转移)过程,动量正是从机械运动传递这个角度度量机械运动的物理量,这种传递是等量地进行的。 扩展资料: 动量守恒定律 1、起源 动量守恒定律是最早发现的一条守恒定律,它起源于16~17世纪西欧的哲学家们对宇宙运动的哲学思考。 观察周围运动着的物体,我们看到它们中的大多数,例如跳动的皮球、飞行的子弹、走动的时钟、运转的机器,都会停下来。看来宇宙间运动的总量似乎在减少。 2、笛卡儿的定义 法国哲学家兼数学家、物理学家笛卡儿提出,质量和速率的乘积是一个合适的物理量。但是后来,荷兰数学家、物理学家惠更斯(1629~1695)在研究碰撞问题时发现:按照笛卡儿的定义,两个物体运动的总量在碰撞前后不一定守恒。 3、牛顿的动量定义 牛顿在总结这些人工作的基础上,把笛卡儿的定义作了重要的修改,即不用质量和速率的乘积,而用质量和速度的乘积,这样就找到了量度运动的合适的物理量。牛顿把它叫做“运动量”,就是现在说的动量。 参考资料来源:百度百科-动量

lg相乘公式_lg的运算法则是什么

共回答了17个问题采纳率:88.2% 1对数的概念 如果a(a>0,且a≠1)的b次幂等于N,即ab=N,那么数b叫做以a为底N的对数,记作:logaN=b,其中a叫做对数的底数,N叫做真数. 由定义知: ①负数和零没有对数; ②a>0且a≠1,N>0; ③loga1=0,logaa=1,alogaN=N,logaab=b. 特别地,以10为底的对数叫常用对数,记作log10N,简记为lgN;以无理数e(e=2.718 28…)为底的对数叫做自然对数,记作logeN,简记为lnN. 2对数式与指数式的互化 式子名称abN指数式ab=N(底数)(指数)(幂值)对数式logaN=b(底数)(对数)(真数) 3对数的运算性质 如果a>0,a≠1,M>0,N>0,那么 (1)loga(MN)=logaM+logaN. (2)logaMN=logaM-logaN. (3)logaMn=nlogaM (n∈R). 问:①公式中为什么要加条件a>0,a≠1,M>0,N>0? ②logaan=? (n∈R) ③对数式与指数式的比较.(学生填表) 式子ab=NlogaN=b名称a—幂的底数 b— N—a—对数的底数 b— N—运 算 性 质am·an=am+n am÷an= (am)n= (a>0且a≠1,n∈R)logaMN=logaM+logaN logaMN= logaMn=(n∈R) (a>0,a≠1,M>0,N>0) 难点疑点突破 对数定义中,为什么要规定a>0,且a≠1? 理由如下: ①若a<0,则N的某些值不存在,例如log-28 ②若a=0,则N≠0时b不存在;N=0时b不惟一,可以为任何正数 ③若a=1时,则N≠1时b不存在;N=1时b也不惟一,可以为任何正数 为了避免上述各种情况,所以规定对数式的底是一个不等于1的正数 解题方法技巧 1 (1)将下列指数式写成对数式: ①54=625;②2-6=164;③3x=27;④13m=573. (2)将下列对数式写成指数式: ①log1216=-4;②log2128=7; ③log327=x;④lg0.01=-2; ⑤ln10=2.303;⑥lgπ=k. 解析由对数定义:ab=NlogaN=b. 解答(1)①log5625=4.②log2164=-6. ③log327=x.④log135.73=m. 解题方法 指数式与对数式的互化,必须并且只需紧紧抓住对数的定义:ab=NlogaN=b.(2)①12-4=16.②27=128.③3x=27. ④10-2=0.01.⑤e2.303=10.⑥10k=π. 2 根据下列条件分别求x的值: (1)log8x=-23;(2)log2(log5x)=0; (3)logx27=31+log32;(4)logx(2+3)=-1. 解析(1)对数式化指数式,得:x=8-23=? (2)log5x=20=1. x=? (3)31+log32=3×3log32=?27=x? (4)2+3=x-1=1x. x=? 解答(1)x=8-23=(23)-23=2-2=14. (2)log5x=20=1,x=51=5. (3)logx27=3×3log32=3×2=6,

[欢迎使用CSDN-markdown编辑器]

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语法;增加了支持甘特图的mermaid语法1 功能;增加了 多屏幕编辑 Markdown文章功能;增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;增加了 检查列表 功能。 功能快捷键 撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command + B 斜体:Ctrl/Command + I 标题:Ctrl/Command + Shift + H 无序列表:Ctrl/Command + Shift + U 有序列表:Ctrl/Command + Shift + O 检查列表:Ctrl/Command + Shift + C 插入代码:Ctrl/Command + Shift + K 插入链接:Ctrl/Command + Shift + L

srv蓝屏补丁_蓝屏提示 srv.sys ( srv+6d585 )

蓝屏提示 srv.sys ( srv+6d585 ) Microsoft (R) Windows Debugger Version 6.12.0002.633 X86 Copyright (c) Microsoft Corporation. All rights reserved. Loading Dump File [C:\Users\Administrator\Desktop\重庆蓝屏文件\111617-4009-01.dmp] Mini Kernel Dump File: Only registers and stack trace are available Symbol search path is: *** Invalid *** **************************************************************************** * Symbol loading may be unreliable without a symbol search path. * * Use .symfix to have the debugger choose a symbol path. * * After setting your symbol path, use .

Anaconda安装TensorFlow-gpu版本教程(Windows10)

1.安装anaconda 1.1下载安装包: 可以直接在官网下载安装包(地址:https://www.anaconda.com/products/individual) 但是使用国内的镜像网站下载速度更快,而且也可以任意选择版本,根据需要选择即可,这里我选择2020.2 这里给出清华的镜像网站(https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/) 1.2安装: 下载完成后一步步安装即可 在install for 中选择 Just Me 安装路径可以自选,但要记一下,之后会用,我选择默认路径 在advanced options中注意不勾选第一项(将anaconda加入path中),只有单版本的话,勾选可以省去下面配置环境变量的问题,但非常不利于多版本共存(anaconda安装程序也会给出提示) 1.3安装程序完成后,配置环境变量 右击“此电脑”,选择属性,依次选择 ”高级系统设置“和“环境变量”进入配置界面 新建 ANACONDA_HOME 环境变量,路径选为anaconda安装路径 然后选择Path,编辑 在Path中添加三个环境变量 %ANACONDA_HOME%\Scripts %ANACONDA_HOME% %ANACONDA_HOME%\Library\bin 1.4验证 在cmd中输入conda --version,得到如下界面说明安装成功 2.创建TensorFlow安装环境 (由于我本身有一个cpu版本,所以最前面的括号中为tensorflow,未安装应该为base) 我选择在Anacconda Prompt中进行配置(毕竟命令行更有那味) 首先将anaconda的下载镜像也换为国内清华镜像地址,依次输入 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes (我已经配置过了,所以有warning,正常应该没有任何提示就对了) 然后在命令行窗口中输入conda create -n tensorflow_gpu python=3.7 接下来会提示collecting package,并提示选择是否下载,输入y回车即可 然后再验证安装环境是否成功,输入conda info --envs,出现tensorflow_gpu即为创建成功 3.安装cuda和cudnn 关于cuda和cudnn的关系可参考https://www.jianshu.com/p/622f47f94784 3.1这里给出cuda10.0的下载地址,根据需要进行选择版本 https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal 然后一路next安装好cuda 3.2安装cudnn7.6.5 给出链接,下载7.6.5for10.0即可 下载完后是一个压缩包,解压出来一个cuda文件夹,将文件夹中的三个文件夹复制到安装路径,如图 再次进入系统的环境变量编辑Path,检测以下4个路径有没有被添加(cuda安装时按道理是自动添加的),如果没有就加上 “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin”;

ajax传formdata类型的数据_$.ajax() data{} 传参三种常见写法及ajax()方法参数详解

$.ajax() data{} 异步请求的写法有很多,这里介绍简单的常见的三种写法,主要是介绍其中的data{}传参写法。 第一种写法:拼接URL function getFormInfo(){ var name='wen'; var user='chen'; $.ajax({ url: "/login/authenticate?name="+name+"&user="+user, type: "POST", data:{}, dataType: "json", success: function(data){ }, error:function(err){ console.log(err.statusText); console.log('异常'); } }); } 第二种写法:带json数据 function getFormInfo(){ $.ajax({ url: "http://192.168.10.32:6833/login/authenticate", type: "POST", data:{ name:'chem', user:'wen' }, cache:false, dataType: "json", success: function(data){ }, error:function(err){ } }); } 第三种写法:拼接data function getFormInfo(){ var name='chen'; var user='wen'; $.ajax({ url: "http://192.168.10.32:6833/login/authenticate", type: "POST", data:'name='+name+'&user='+user, cache:false, dataType: "json", success: function(data){ }, error:function(err){

vue 对象继承_前端中的面向对象编程(三篇):深入继承问题

上一篇文章中我们简单用ES实现了前端中的几种继承方式,以及各种继承方式的优缺点。在ES中继承的基本原理为原型的实现,最终我们发现寄生组合式继承是当下较为完善的继承方式。如果你读过关于vue/react/angular等这些框架的相关源码,你会发现他们的核心代码基本都是通过prototype来实现的 在ES6之后, class的出现提供的extends继承的相关语法糖,我们来看一下关于ES6中关于extends通过babel编译为ES5后的相关实现 ES6: 编译后: 由上图我们来看看babel编译后的extends 语法糖,在创建了两个类(具体class 语法糖编译参考)后,实现继承核心为_inherits函数,我们看一下关于_inherits函数具体的实现: 以上为inherits 函数,有些朋友可能觉得有点难懂,下面我们换一种方式实现_inherits函数: 现在这样应该就比较容易看懂了,是不是和我们上文的寄生组合继承一模一样。因此我们可以看出。inherits函数其实就是基于寄生组合继承实现,其核心就为以下两段代码: subClass.prototype._proto_ = superClass.prototype; // 内部属性、原型属性 subClass._proto_ = superClass; // 静态属性 这样子类就能正常访问到父类的内部属性、原型属性、静态属性了。为了方便认知我们在浏览器上简单看一下继承的相关结构,方便理解: 因此我们可以看出ES6中的extends语法糖是是基于寄生组合式继承实现的,也是当下前端中最优的继承方式。 此外如果有兴趣的朋友可以关注一下vue、react、angular前端框架中关于继承的问题如: this 丢失,子属性污染等问题。后文框架篇再介绍。

iphone相册储存空间已满_苹果手机存储空间满了怎么办?

展开全部 1、点击“settings”可直接打开icloud设置界面。636f70793231313335323631343130323136353331333363396435 2、找到手机主屏上的“设置”图标,点击打开,如图所示。 3、在设置列表中,找到“iCloud”选项,点击进入,如图所示。 4、随后在icloud设置界面的底部,找到“储存与备份”选项,点击进入,如图所示。 5、接下来在储存于备份设置中,可以看到自己icloud账户的总储存空间和当前可用容量,点击“管理储存空间”选项,如图所示。 6、然后可以看到有多少个设备在使用同一个icloud账号。图中的文稿于数据下的应用程序数据备份,是指两部设备都公用的,共享的数据储存。可以看到我的iphone占用了icloud最大的一部分储存空间,这里点击iphone进入储存空间的管理,如图所示。 7、接下来可以看到iphone在icloud上的备份详细数据,可以看到当前我的相机胶卷占用了一大部分储存空间。点击相同胶卷右边的开关,可以关闭照片备份并删除备份,如图所示。 注:关闭并删除icloud中的相机胶卷并不会影响到手机上的照片。 8、随后系统会提示我们,是否要关“关闭并删除”,点击即可,如图所示。 9、另外如果彻底不想要icloud备份所有数据的话,还可以底部找到“删除备份”选项。点击它可以删除整个设备在icloud上的备份。 10、当我们把一些不需要的数据备份删除之后,再返回“储存与备份”,会发现“可用容量”已经增大了。 其他清理存储空间的办法还有很多,请参考网站:网页链接

7个和尚_七个和尚分粥的故事,如何分配均匀?不同方案结果迥然不同

小故事,大道理。以前我们总是听说和尚挑水喝的故事,可你又是否听说过和尚分粥的故事呢?七个和尚想将粥分配均匀,过程异常艰难,而结果却给了我们意外的收获。 从前,有一座寺庙,住着7个和尚,每天他们都要分一桶粥。然而每天粥的分配都是不够的,分得不够的人自然会叫出来,表达不满。于是7个人商量如何分粥。 刚开始,他们选择用抓阄的方式来决定谁分粥,每天轮一个人。然而这样每周下来,他们只有一天是吃的饱的,就是自己当责分粥的那一天,给自己分得异常多。 于是他们决定推选出一个公认为最公正的人出来分粥,可没想到的是人确实选出来了,可大家在讨好,贿赂这个人身上的时间比分粥还多。最后连粥也分不下去了。 紧接着他们决定成立3人分粥,4人监督的团队进行分粥。然而监督与被监督之间往往存在着对立关系,于是争吵矛盾不断,粥没成功分匀,关系倒是闹得僵化了。 最后其中一个和尚建议:轮流分粥,但是分粥的人要等到其他人都挑选完了之后拿最后一碗。每个分粥的人,为了不让自己最后没粥吃,都会很谨慎,尽量分配均匀。倘若不均匀,最后自己没粥喝就得自己认。没想到这个办法倒是适用,从此7个和尚快乐分粥,相处融洽。 回顾一下这个和尚分粥的故事,不变是自始至终都是这7个和尚,而变化的是分粥的方法,分法不同,导致的结果也会迥然不同。 于是有人说,一个单位如果有不好的风气发生,首先应该审视的是管理制度,流程机制是不是出了问题,而不是员工本身。 也有人说,一个孩子成绩一直提不高,首先应该排查学习习惯和方法是否科学合理,而不是学生的智力问题。 不同的人,理解不尽相同。但是共通之处便是:很多时候,方法很重要,方法往往决定着结果的走向。 毕,下期见!

时间固定效应和个体固定效应的选择_固定效应模型必须同时控制时间和个体吗?...

固定效应模型fixed effects model的存在是为解决这个经典的内生性问题,即time invariant (不随时间变化的)的内生性问题存在于每个单个样本中,所以解决方式是控制单个样本。time fixed effects are another dimension of impacts that may drive the association between the left hand side and main variables of interest. 所以,不是必须,是fixed effects model本身就是解决这个问题才使用的。比如,你可以不控制 firm fixed effects 但是只控制industry fixed effects。但你一定要justify为什么这里面不适用firm fixed effects。 side note- three basic ways of controlling (firm)fixed effects: 加dummy,de-mean,和采取first difference

bilibili账号申诉中心_b站(bilibili)账号忘记密码了怎么办?如何用邮箱找回?找回得多久?...

哔哩哔哩忘记密码了怎么办?忘记了b站会员账号登录密码的话要怎么找回呢?不记得密码了的用户可以来看下文教程方法找回哦。 哔哩哔哩忘记密码怎么办?怎么用邮箱找回?(快速涨粉上热门!就去B站助推网) 1、进入哔哩哔哩首页后,我们可以看到有个登录字样,我们点击选择登录; 2、在如图所示位置有个忘记密码,我们点击它可以转到找回密码界面; 3、然后根据你绑定的邮箱或者手机,通过手机或者邮箱来找回。比如你绑定了手机的话,输入你的手机号,然后正确输入验证码,选择发送到手机; 4、成功找回密码的话,点击输入你的账号和密码以及验证码,就能登录哔哩哔哩啦。 在B站越来越多年轻人在使用,但是有时候会忘记B站账户密码。接下来我将介绍B站(哔哩哔哩)如何找回密码或账号找回申诉。 第一:打开哔哩哔哩点击【左上角头像】。 第二:进入【个人中心】。 第三:点击【联系客服】。 第四:在【自主服务】点击【账号找回申诉】。 第五:填写个人信息。 第六:提交【申诉】等待处理完。 想要了解更多B站上热门,快速提高粉丝量,播放量,以及点赞量,欢迎直接访问B站助推网了解更多的B站助推资源!

UEFI Onboard RAID

1.在UEFI下通过VROC对SATA M.2 SSD组建RAID 1 1.1 将 “Platform Configuration->PCH Configuration->PCH sSATA Configuration->Configure sSATA as” 从 “AHCI” 改成 “RAID"模式. 1.2 将启动模式改成UEFI,F10,保存并退出重启. 1.3 重启进入UEFI Setup后可以看到 “Advanced” 下有一个 “Intel® VROC sSATA Controller”. 1.4 进入"Intel® VROC sSATA Controller->Create RAID Volume->RAID Level”,选择RAID模式,如 “RAID1(Mirror)”. 1.5 在 “Select Disks” 后选 “X”. 1.6 选择 “Create Volume”,敲回车,可看到组好的RAID 1(Mirror),状态为 “Normal” 即可创建成功. 2.加载VROC驱动安装系统 2.1 选择 “下一步” 即可. 2.2 在系统安装过程中我们发现没有可安装的硬盘,这是由于缺少安装的VROC驱动,我们可以在安装系统前将VROC驱动拷贝至系统安装盘,然后在安装过程中加载VROC驱动即可. 2.3 如下,加载完VROC驱动后,便能看到SATA M.2 SSD了.

树莓派Linux系统查看cpu温度,使用率

最近树莓派上搞一个检测cpu温度及使用率的脚本,可以用来监测硬件状态 温度: temp.sh watch -n 1 cat /sys/class/thermal/thermal_zone0/temp watch-可每1秒用cat打印cpu温度 使用率: cpu.sh #!/bin/bash # # Func: CPU usage total=$(cat /proc/meminfo|grep 'MemTotal'|awk '{print $2}') free=$(cat /proc/meminfo|grep 'MemFree'|awk '{print $2}') res=`echo "scale=2;($total-$free)/$total*100"|bc` echo $res% 有关内存的数据在/proc/meminfo中,grep筛选出总内存和剩余内存 awk分隔空格,类似于python中的split,$2的意思是取分割后的第二个元素 linux中除法是默认取整的,所以scale是为了设定保留小数,后面要加上bc工具 捷径 配合Iphone上的捷径,可以直接把这两个功能封装成捷径app放在手机桌面,很方便可以查看树莓派的状态,实现远程关机等操作 但是要注意的是在捷径中的脚本无法执行watch命令,只能直接用cat

雷达距离分辨率和速度分辨率计算

antenna = 1; % 天线数 C = 300000000; % m/s fadc = 10; % M nFrame = 200; % 帧数 chirp = 128; % 一帧的chirp数 point = 256; % 一chirp中的点数 B = 400; % Mhz T = 100; % us PRT = 300; % us k = B/T;% Mhz/us 斜率 centerB = 24 + B/(2*1000);% GHz 中心频率 Range_r = C/(2*k*point/(fadc*1000) *1000000000); % 距离分辨率 Doppler_r = C/(2*chirp*antenna*centerB*PRT*1000); % 速度分辨率

c语言将字符串按空格分割_如何在c++中实现字符串分割函数split详解

前言 在学习c++中string相关基本用法的时候,发现了sstream的istringstream[1]可以将字符串类似于控制台的方式进行输入,而实质上这个行为等同于利用空格将一个字符串进行了分割,于是考虑到可以利用这个特性来实现c++库函数中没有的字符串分割函数split string src("Avatar 123 5.2 Titanic K"); istringstream istrStream(src); //建立src到istrStream的联系 string s1, s2; int n; double d; char c; istrStream >> s1 >> n >> d >> s2 >> c; //以空格为分界的各数值则输入到了对应变量上 实现细节 目的是可以像js中一样,调用一个函数即可以方便地获取到处理完毕后的字符串数组,根据c++的实际情况再进行参数调整。 1. 输入输出: string* split(int& length, string str, const char token = ' ') 返回:处理完的字符串数组的首地址 传入:字符串str、分隔符token(默认参数为空格)、以及引用参数length,指明处理完毕后动态分配的数组长度 2. 数据透明处理: 由于istringstream会像cin一样,把空格视为数据间的界限,所以当分隔符不是空格时,需要将传入的分隔符换为空格,并且要提前对原有空格进行数据透明处理 字符替换利用了库algorithm中的replace() [2] const char SPACE = 0; if(token!=' ') { // 先把原有的空格替换为ASCII中的不可见字符 replace(str.begin(), str.end(), ' ', SPACE);

岩板铺地好吗_岩板可以铺贴地面吗

可以用来铺地面,不过在铺的时候要先将基层清理干净,以免出现空鼓的现象。岩板是一种经过高温高压的匠艺智造,硬度比较强的新型规格材料,其具有了防火、耐磨、耐污、耐酸碱、耐腐蚀、易清洁等性能,其通常适用于适用范围涵括建筑外立面、室内地面、墙面、卫浴空间、橱柜台面、家具面板等领域。 一、岩板铺贴小技巧 1、在岩板铺贴施工时,建议使用专业的瓷砖胶,而非传统水泥,因为使用水泥铺贴大板容易造成空鼓现象。 2、瓷砖胶铺贴厚度以5-7毫米为宜,瓷砖胶过厚容易导致后期脱落,建议配合粘结剂一起使用。 3、铺贴高度如超过7.2米,建议使用干挂法。 4、建议使用美缝剂/瓷缝剂,能够增加瓷砖的整体美观感,不会霉变。 二、岩板铺贴注意事项 1、在大岩板铺贴前需要对地面基层进行处理,确保其平整、坚实,拒绝裂缝、明水、空鼓、油污等影响铺贴的因素存在。如果是底部有地暖系统的,需要注意地暖的水电线是否已经安装完毕,再进行大岩板的铺贴。 2、调配大岩板专用胶粘剂,注意按照胶粘剂使用说明按比例加入清水,用搅拌器搅拌均匀即可,禁止使用已经固化的胶粘剂。 3、分别在地面基层及岩板背面刷上厚薄适中的胶粘剂,并用齿形镘刀刮出纹路垂直的竖纹,两处的胶粘剂厚度约为3-6mm。此过程所有的用品和用料都需要避免被污染,避免粘贴效果。 4、铺贴之后需要注意排除岩板内部的空气,并使用相应工具确保岩板与地面齐平。 文章总结:以上就是关于岩板可以铺贴地面吗的全部内容,希望对大家有所帮助。想了解更多相关内容,请继续关注好的plus。 为了避免权属纠纷,特做如下说明:本站内容作品来自用户分享及互联网,仅供参考,无法核实真实出处,并不代表本网站赞同其观点和对其真实性负责,本网站仅提供信息存储空间服务,我们致力于保护作者版权,如果发现本站有涉嫌侵权的内容,欢迎发送邮件至haodeplus@qq.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。网站中的商品信息均来自于互联网,如商品信息不同,可能是商品信息未及时更新,所有商品信息请以商家店铺内为准!

平车调整刀片如何调整_电脑平车剪不断线怎么调

满意答案 兔斯基.怎么17 推荐于 2017.12.16 采纳率:56% 等级:7 已帮助:561人 剪线的问题一般分为,面线剪线短,底线剪线短,剪不断线。 一、剪线面线短:面线的长度和挑线簧的张力,线道的调节有很大关系,线道紧,挑线簧张力大,剪线面线就会短,所以剪线面线短可以通过以下方式调节: 1.检查线道,挑线簧和旋钮不要过紧。 2.调节扣线叉的高度,往高调会使面线变长。 3,调节参数,开刀角度,合刀角度越大面线越长。 二、剪线底线短: 1.检查合刀深度,合刀深度越浅底线越短。 2.检查扣线叉是否扣的太紧,底线的合适张力为:扣线叉扣上后用手可以拉的动底线。 如何处理电脑车切线后线头短从针眼脱出: 首先从最简单的地方入手,看小夹线器是否压力过大。小夹线器是控制线头长短的,如果压力过大,那么线头太短,第二次缝纫时,线头就会从针眼中脱出。 其次,切线电磁铁工作时,注意看一下大夹线器是否弹开。如果没弹开,把大夹线器向里少推一点。 第三,注意查看切线凸轮的位置是否正确,这个地方出问题的可能性很大。 第四,看手轮是否安装正确,手轮处的传感器是否安装正确。 第五,如果是兄弟的电脑平车,或者是仿兄弟的电脑平车,注意看一下是否是动刀安装位置过于前端,也就是切线过早。 第六,如果是重机的机器,或者是仿重机的机器,注意定刀的安装位置是否是在最左面。 第七,注意挡线器是否压力过大。 第八,如是仿兄弟类电脑车,注意动刀的左侧是否有磨损。这类机器中,有些易出现切线进动刀不复位。如果动刀卡住,第二次起针时,机针会与动刀相碰,这样就会损坏机针和动刀的左侧。当动刀左侧有伤痕时,切线时上线就不会顺利进入动刀的缺口处,造成上线过短。第二次起针时,线头便会从针眼中脱落。 第九,注意上线的线盘和过线器是否垂直,如果线盘和过线器角度相差太大,会使上线阻力过大,造成切线时线头过短。 10分享举报

万界种田系统_四本系统流网络小说,斩圣兽,灭神兽,爆武神,踏无上巅峰之路...

大家最近在看什么小说呢?今天给大家带来:四本系统流网络小说,斩圣兽,灭神兽,爆武神,踏无上巅峰之路! 最强PK系统 作者: 永恒轻语 内容简介:一次意外穿越,携带最强系统,迎接死亡的考验,带着一颗制霸天下的野心。什么?天赋低劣?没关系,用积分兑换一个修炼速度增加百分之五十的被动技能。什么?没有必杀技?没关系,用积分摇奖看看能摇出什么?! 精彩片段:“徐大哥,你怎么样?”“还挺得住,这次幸亏有融灵附阵石护体,再加上身上的墨灵甲宝甲,否则我的小命真的就玩完了。”徐来苦笑一声,在纳兰紫嫣的搀扶下,缓缓走向区域的边缘。“嗡!”回梦山禁制变换的时间到了。“我们快走。”徐来强忍着体内的伤痛,焦急地催促道。“嗯,徐大哥。”纳兰紫嫣不顾男女授受不亲之仪,搀扶着伤重的徐来向下一个区域走去。“天道魔君……”徐来在传送的一瞬间,扭头望向漆黑的洞府,耳旁一阵阵传来天道魔君地咆哮声,以及拍打大阵的轰鸣声。 万界种田系统 作者: 年初 内容简介:挣钱难么?一斤紫晶米,一百万,一百斤,一个亿,你说难么?杀人难么?彼岸花汁液,一滴,杀人于无形……长命百岁难么?人生果,一颗,可求长生……林庸被青灵乾宝砸中,获得万界种田系统,可以去往不同的世界种田。种植各式各,奇奇怪怪,传说中的的植物。顺便修修仙,学学法术,在都市装装逼,小日子过得滋滋润润。 精彩片段:而且,什么入赘,这个大叔说话真的有些莫名其妙。美大叔看到林庸一脸愤慨,一脸莫名其妙,拍了拍林庸的肩膀,“丑也没有什么好难过的了。好好提升自己的人品,技艺,还是能越来越美的。你看看我,以前就没有现在。 美,我的烧饼越做越好,容貌也越来越美了。” 林庸都想呕吐了。 一个大男人,张口,闭口自己多么美丽怎么得,真让人倒胃口。“我要问那家人的事情,不说我走了。”林庸也是生气了。 大宗师系统 作者: 大宁 内容简介:叶铭,穿越客,前身身世成迷,学院老师,偶然机会,得大宗师系统,从此崛起。 精彩片段:十大学院联比,已经开始了。每个学院三个学生,刚好三个比试台,使得同一个学院的学生,倒也不会直接对上了。叶铭的学生,倒是和楚玉儿的学生,分在了同一组。两人在比试开始的时候,一起来到这边。楚玉儿第一眼看到叶铭的时候,已经觉得此人的实力,提升了很多。两人在圣血秘境,曾经一起行动两次,当时楚玉儿觉得,叶铭的实力,远远没有这么强。最后一次历练结束后,楚玉儿回到学院,也花了很多时间在修炼上,实力有所提升。到了现在,已经迈入神通二重境界。 全能修炼系统 作者: 秋风揽月 内容简介:意外穿越成为废物的他,幸得老天垂怜,赠送一套全能修炼系统,从此命运转折,疯狂升级,斩圣兽,灭神兽,爆武神,踏上那无上巅峰之路。 泡妞,踩人,那不过是小意思而已。 总而言之一句话:系统在手,天下我有。 精彩片段:十来分钟之后,杨磊将所有能够摄入系统之中的武功秘籍,以及经书典籍都录入了系统之中,其中武功秘籍,不仅仅包括少林寺七十二绝技,还包括一些其他的简单功法,基础武功,比如罗汉拳等等。“小施主。”“谁?”杨磊大吃一惊,这是谁,居然在无声无息来到了自己身边,杨磊转身一看,只见一个相貌颇为的中年和尚站在了杨磊身后,他衣着朴素,但是却很干净,给人一种奇妙的感觉。 杨磊大吃一惊,因为自己居然感觉不到他的气息,和普通人一般,但杨磊肯定,这个和尚不是一般的和尚,其修为绝对是恐怖的。 四本系统流网络小说,斩圣兽,灭神兽,爆武神,踏无上巅峰之路!今天到这里就结束了,希望小编推荐的小说能得到您的喜欢。

饥荒控制台输入没用_《饥荒》控制台正确使用教程 如何使用控制台

第1页: 展开 《饥荒》的控制台大家会使用吗?今天就为大家带来了饥荒控制台正确使用教程,教给大家如何使用控制台,还不会的玩家可以学习下,一起来看饥荒控制台怎么用吧。 首先要解决两个问题,控制台是什么?控制台用了对游戏有什么影响? 控制台相当于一个开发者工具,是Klei自己进行测试用的,这个工具Klei并没有“私藏”,所有人都可用。 关于对游戏的影响,要从正反两方面讲 1、首先,如果你想正常玩一局饥荒游戏,那么就不要用控制台,如果在正常游戏下使用控制体会大大降低游戏性,如果是个新手会丧失对游戏的兴趣 2、如果在正确环境下使用控制台,那是绝对没问题的,包括进行测试,进行有意义的娱乐,或者仅仅是发泄情绪,当然,第一个情况发到贴吧理论上没人喷你炫耀,后两个就不一定了,好了,大前言就说到这,似乎还是废话一堆…… 一、控制台前提知识 1、如何在游戏中开启控制台 这个很简单,你也许也听过别人说过按“~”键(“1”的左边)就可以打开控制台界面了,或者作为新手某一天不小心按到那个键结果蹦出来一堆英文求助怎么关掉…… 总之,按“~”键开启控制台,按回车“Enter”或者“Esc”可以退出输入模式。 要关掉一堆英文需要同时按“Ctrl”和“L”键,或者先按住“Ctrl”再按“L”关掉英文只是单机的事,联机自动帮你关了。 控制台通常默认是开启的,不过也许因为特殊原因导致控制台关闭了。 别担心,这里有解决办法: 找到我的文档,里面有“Klei”文件夹,里面又有个“DoNotstarve”文件夹,在这个文件夹里有一个文件名为“settings.ini”,用记事本打开它,找到这一条 [MISC] ENABLECONSOLE = false 把这一条改成 [MISC] ENABLECONSOLE = true 然后保存即可(不过我的是false,没改过也能用,如果真打不开可以试试)。 2、代码简介和如何查找 代码,在此通常指游戏文件中用来代替物体名字的一个代号,你不需要知道为什么要用这个代码来代替,你只需要知道有这个东西就可以了,代码的寻找有很多种方法,在此只介绍两种: ①Wikia查找法 饥荒wikia是饥荒最全面的英文百科全书,在这里你基本上什么都能找到,但要注意是英文的。 如何找代码还是用例子方便,比如: 你想找联机最新出的做宠物的那个巢穴的代码,首先你需要找到那东西的英文名字。 通过各种方法你找到了那个名字叫“Rock Den”。 在上边的搜索栏输入这个名字,然后打开Rock Den页面。 在右边的最后一行会告诉你这个东西的代码是什么,这个代码就是“critterlab” 关于其他信息也可以在这里找到 这个方法有一个弊端,就是新出的东西可能在短时间里没人整理,这时你需要用到方法二。 ②文件查找法 首先需要找到游戏根目录的“data”文件夹中的“scripts”文件夹 里面有个“strings.lua”,打开它然后搜索英文名字 比如还说Rock Den,这个当然就要去联机文件夹里找了 通过记事本的查找功能,可以找到这个物品,然后前面的“CRITTERLAB”就是代码了。 以上就是自行找代码的方法,如果自己实在实在找不到,问问其他人也许能帮你。 更多相关内容请关注:饥荒专区 责任编辑:修凡客 2 下一页 友情提示:支持键盘左右键“← →”翻页 本文是否解决了您的问题

mc用云服务器搭建_最全的云服务器架设我的世界私服教程,不看后悔哦!

我们将通过一个一步步的讲述通过新睿云的云服务器来向你展示如何搭建一个“我的世界(Minecraft)”服务器端。这是一个可以多人在线的游戏,能让您体会到极致的游戏乐趣。 我们的建议是不要使用个人电脑,即使从技术角度来说你能做到,但个人电脑不稳定。买一个云服务器并不是很贵。下面我们会向你展示如何在云服务器上搭建“我的世界”服务端。小心地遵守以下步骤,就很简单。 你需要一个Linux 云服务器。我们推荐新睿云。这家价格便宜,服务质量高,客户支持很好,并且所有的服务器硬件都很高端。检查“我的世界”服务器需求来选择你需要哪种类型的服务器(像内存和硬盘之类的资源)。 你需要一个 SSH 客户端来连接到你的 Linux 云服务器。新手通常建议使用PuTTy,但我们也推荐使用MobaXTerm。也有很多 SSH 客户端,所以挑一个你喜欢的吧。 1. 登录到你的服务器 我们将使用 root 账户。如果你使用受限的账户的话,大部分命令都需要sudo。做你没有权限的事情时会出现警告。 你可以通过 SSH 客户端来登录你的服务器。使用你的 IP 和端口(大部分都是 22)。 在你登录之后,确保你的服务器安全。 2. 更新 Ubuntu 在你做任何事之前都要先更新你的 Ubuntu。你可以通过以下命令更新: apt-get update && apt-get upgrade 在提示时敲击“回车键” 和/或y。 3. 安装必要的工具 在这篇教程中你需要一些工具和软件来编辑文本、长久保持服务端运行等。使用下面的命令安装: apt-get install nano wget screen bash default-jdk ufw 其中一些可能已经安装好了。 4. 下载“我的世界”服务端 首先,创建一个目录来保存你的“我的世界”服务端和其他文件: mkdir /opt/minecraft 然后进入新目录: cd /opt/minecraft 现在你可以下载“我的世界“服务端文件了。去往下载页面获取下载链接。使用wget下载文件: wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12.2/minecraft_server.1.12.2.jar 5. 安装“我的世界”服务端 下载好了服务端的 .jar 文件之后,你就需要先运行一下,它会生成一些文件,包括一个eula.txt许可文件。第一次运行的时候,它会返回一个错误并退出。这是正常的。使用下面的命令运行它: java -Xms2048M -Xmx3472M -jar minecraft_server.1.12.2.jar nogui

如何将自己画的元件添加到库_无偿分享自己的PCB封装库(Altium Designer)

包括自己几年积累下来的,有3D显示,STM32系列的有STM32F103C8(STM32F103C8数据手册)、VE、ZE,F105VC、F107VC 注意:由于F407昨天才开始画,直接从103VE修改过来的,所以有其他的接口没有画上,参考了Discovery的方式,分成了两部分。 为了不增加麻烦,解压后直接打开“LIBPKG”工程,原理图封装与PCB封装直接对应好了,如果修改好了封装,直接编译工程就好了,为了防止出错,将 3D模型画在了机械13层,自己添加3D模型的方法是打开封装,切换到机械层,放置3D Body,画好后,可以更改颜色与高度等等。 添加别人的封装库的方法是打开PCB选择一个元件,复制,打开自己的封装,点击列表,粘贴。 先看看PCB 3D效果图(因为6.9无法画圆,所以电容现在是方形的) 原理图封装部分列表: 附件内容截图: 电路城目前已建立包括电源,嵌入式技术,传感器技术,汽车电子,射频/微波,电机控制,EDA/PCB设计,物联网技术等领域QQ交流群,以下为对应QQ群号: 加入群聊 物联网技术交流1群:334330786 电源开发交流1群:143342428 汽车电子交流1群:238034110 传感器交流1群:762634350 嵌入式交流1群:852018713 EDA/PCB设计交流1群:854217089 电机控制研发交流1群:854319380 射频/微波/无线研发交流1群:180207029 电路城官方交流群,期待你的加入。 点击“

上下布局_5G与AI相辅相成 马化腾率腾讯上下布局

3月31日,以“IT新未来:5G与人工智能”为主题的2019中国(深圳)IT领袖峰会在深圳成功召开。腾讯董事会主席兼CEO马化腾在会上就“AI和5G”相关问题进行了演讲。马化腾认为5G和AI相辅相成,5G会推动AI应用落地。 众所周知,不同于前几代的网络跌进升级,伴随着5G和人工智能的同时发展,二者结合将会迸发出不一样的力量。因此,马化腾表示,在5G+AI“双核驱动”下,各行各业转型升级的门槛会不断降低,产业互联网的发展将进入“快车道”。腾讯一直专注做连接,我们希望连接人与人、人与物以及人和服务,让万物互联成为产业互联网的基础。 谈及互联大时代的来临,马化腾自然提及了微信已经拥有10亿级别用户基础。5G网络拥有大容量,低延迟的特点,经过测试5G网络在每平方公里内能支持100万个设备同时联网,这也正为万物智慧互联提供了基础,未来甚至可以形成千亿,万亿级别的大互联。马虎疼同时强调,5G网络像是一把钥匙,可以重构全新现实世界。 当然,在5G和AI双重概念下,一些“新鲜科技”正在加速落地。马化腾距离,在医疗领域,远程诊断、手术往往受限于网络带宽和时延。未来,偏远地区的患者,就可以通过5G网络,更便捷地获得远方专家的帮助。包括急救车在开往医院的途中,就可以利用5G网络,将患者手术之前的准备工作与医院进行远程同步,实现急救车与手术室的无缝连接。 一直“产品角度”思考的腾讯,如今也在拥抱5G和人工智能落地。期间,马化腾举例,在智能网联汽车领域,腾讯最近与运营商、交通部门合作,推出了车路协同的整体解决方案。具体来说,就是通过路边的摄像头、车上的传感器以及部署在边缘计算平台的AI能力,识别出汽车、行人的位置与速度等信息,并实时发送给周边车辆。 演讲过程中,马化腾同时谈起5G网络将促进AR、VR技术走向成熟,并能够为4K高清视频、云游戏等产业带来发展空间。当然,或许也可以催生更多的产业想象。

取值范围_高考提分攻略之三角函数中w取值范围求解策略1

高考数学题目里有一类题型很重要,就是三角函数中w的取值范围求解的题型,涉及内容比较多,方法比较灵活,本题我给大家设计了3个思路,呈现出3中方法,请大家指正。 本题f(x)是一个复合函数,复合函数的单调性是同增异减,而且大家要注意,(π/2,π)是x的范围,由题意可知,(π/2,π)是f(x)的单调区间的子区间。 方法一我们是把(wx+π/4)设为t,由x的范围求出t的范围,再把t的范围作为sint的单调递减区间的子集,从而求出w的范围。 方法二较为简单些,与方法一反向,先求出f(x)的递减区间,然后再把x的范围作为它的子集,从而求出w的范围。 方法三是通过求导的方法,因为涉及到单调性问题,所以想到了求导,但万变不离其宗,通过求导,找到f(x)的递减区间,再由子集思路求解。 本题给出了三种方法,其中解法一、解法二是最常见的两种方法,即运用子集的观点是解决这类问题首选方法。 高考提分攻略系列讲座为大家每日呈现! 读者可参考我对本内容的讲课视频!

7段均衡器最佳调节图_你知道怎样才可以把汽车音响调制到最佳音效吗?

很多车主朋友在开车尤其是外出自驾游的时候很喜欢放一首民谣或摇滚乐,来给旅途添点儿乐子,我也不例外,最喜欢的就是把声音放到最大,然后跟着节奏一路向北。不过很多朋友对汽车很熟悉,但一说到汽车音响就哑火了,没办法,好像涉及到知识盲区了啊,偏偏每次放歌的时候,一到高音部分音响就刺啦刺啦不给力,这可真够愁的。别急,你想知道怎样才能把汽车音响调制到最佳音效吗?下面告诉你。 首先,在调制之前需要把汽车主机的所有附加功能比如蓝牙、音乐播放器等全部恢复到出厂状态,然后重新启动后将高、中、低音全部扭至中间,左右平衡也是如此,然后将功放的音量全部设置在最低位置,低音炮功放也是这样处理。 其次,对于均衡器进行调整,一般来说,高音增加1格,中音增加2格,低音减少2格,这样车载音响才可以达到最佳效果。另外也要根据曲风的不同进行适当的调整,比如摇滚乐可以把高低音全部上调4格,中音减少4格,一般车载音响都会有固定模式,也可以按照那个来选择。 最后,进行主机调试。打开主机,播放一些高保真的人声碟或低音动态强劲的碟,将音量扭到大概3/5的位置上,这样一来通过音乐冲击,可以让低音和前声场的中低音契合,从而让低音效果更佳。 好的音响效果是我们驾驶乐趣的保证,来一场说走就走的旅行之前,别忘了按照我的方法调试一下你的音响。

Docker配置MySQL容器+远程连接(全流程)

最近在复习项目服务器部署,想要重新配置一个Mysql的Docker容器,发现很多知识有点记不清了,在这里记录一下。 目录 一、Docker配置MySQL容器(全流程)第一步:拉取MySQL镜像第二步:根据镜像生成容器第三步:为MySQL容器配置远程连接访问权限 一、Docker配置MySQL容器(全流程) 需要支持 Linux服务器Docker常用的Linux和Docker命令 第一步:拉取MySQL镜像 1、拉取MySQL镜像(这里一般不会出现什么问题) # docker pull mysql PS:可能有点小慢,但速度还是能肉眼所见的,若出现下载太慢,亦或者连接超时。可以回忆一下Docker的库的国内代理是否配置了,若未配置则花上5分钟配置一下;若配置过则可先排除网络问题,然后考虑换个国内代理。 2、查看本地镜像,确认是否拉取成功 docker images [root@iZ2ze2x2gvxfbo4c9b3Z docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/mysql latest 0d64f46acfd1 5 months ago 544 MB (成功的话,列表内会出现docker.io//mysql) 这里拉取的是MySQL:latest版本,也可以使用$ docker pull mysql:5.7下载对应版本(以5.7为例) 第二步:根据镜像生成容器 1、通过镜像生成容器 docker run # docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 --name my_mysql mysql 注释 [ -d ]: 后台运行; [ -p ]: 配置端口映射(容器的3306映射到Linux的3307端口) [ -e ]: 添加配置信息(密码为123456) [ --name ]: 容器名字 mysql :镜像名字 2、查看目录运行中的容器列表

H264简介

H264简介(未完待续) 0、提前说明 写这篇文章的时候,准备不足。越写发现自己的知识面越不成体系,总结之,这几年的根基打的不牢。截止写提说明的时候,该博客中体现的主要是一些基础概念和简单的过程,考虑到本文介绍的概念及编码过程仍适合部分初学者阅读,最终决定还是将该文章内容发出来。博哥深知自己功底不足,于是向行业人请教,他们推荐读以下两本书,好让自己重新回炉,若是有相关好的资料和图书 欢迎推荐。 这这里送上博哥手写,与大家共勉! 1、H264简介 H264视频压缩算法是目前所有视频压缩技术中使用最广泛、最流行的一种。这里还是要讲一下,编码的目的是什么?为什么要编码,实际上就是通过编码,为了减少数据量,便于存储和传输。 本篇内容会结合H264编码原理和实际用用分别做介绍。 2、编码简介 说在最前边,若是想详细了解H264的编码过程,一定要阅读H264官方的中文文档。 下边是博哥百度网盘的地址: 链接: https://pan.baidu.com/s/1HRRv-JxhEMYasDq2yulwFg 密码: akog 当然估计一上来就说原理相关,会把大家看的一头雾水,尤其是对以前没有接触过H264的同学更是费解。先上一张图,而后我们根据这张图展开: 如上所示,YUV是从采集出来的原始数据,对于同一分辨率和同一格式,每帧的数据大小相同,与之对应的是其下边编码后的H264,从该图中可以看出,编码后每帧的数据大小不同,总体的数据量明显降低了很多。为存储和传输都带来了性能上的极大提升。 先从上图中提出几个概念: I/P/BGOP 2.1 H264相关名词 2.1.1 帧类型 I帧(Intra-coded picture) :是不需参考其他图像帧,只利用本帧信息进行编码。 I帧特点: 它是一个全帧压缩编码帧。它将全帧图像信息进行JPEG压缩编码及传输;解码时仅用I帧的数据就可重构完整图像;I帧描述了图像背景和运动主体的详情;I帧不需要参考其他画面而生成;I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量);I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧;I帧不需要考虑运动矢量;I帧所占数据的信息量比较大。 P帧(Predictive-codedPicture) :依赖I帧和其前面的P帧,采用运动预测的方式进行帧间预测编码。 P帧特点: P帧是I帧后面相隔1~2帧的编码帧;P帧采用运动补偿的方法传送它与前面的I或P帧的差值及运动矢量(预测误差);解码时必须将I帧中的预测值与预测误差求和后才能重构完整的P帧图像;P帧属于前向预测的帧间编码。它只参考前面最靠近它的I帧或P帧;P帧可以是其后面P帧的参考帧,也可以是其前后的B帧的参考帧;由于P帧是参考帧,它可能造成解码错误的扩散;由于是差值传送,P帧的压缩比较高。 B帧(Bidirectionallypredicted picture) :它既需要之前的图像帧(I帧或P帧),也需要后来的图像帧(P帧),采用运动预测的方式进行帧间双向预测编码 B帧特点: B帧是由前面的I或P帧和后面的P帧来进行预测的;B帧传送的是它与前面的I或P帧和后面的P帧之间的预测误差及运动矢量; 3)B帧是双向预测编码帧;B帧压缩比最高,因为它只反映并参考帧间运动主体的变化情况,预测比较准确;加大B帧的数量可以有效地提高视频数据的压缩比,但是在实时互动的环境下,过多的B帧会引起延时,因为B帧会过分的依赖于前后帧,在网络好的环境下,可以正常的传输帧,这样没有什么问题,但是在网络不好的时候,B帧会等待其他帧到来,会引起延时。B帧不是参考帧,不会造成解码错误的扩散。 2.1.2 画面组 GOP(Group of picture) :一个序列可以理解成内容差异不太大的图像编码后生成的一串数据流。当运动变化较小时,一个序列可以很长,运动变化好代表内容变化小,可以编入同一个I帧率,若是变化大,则序列应该很短。对于实际的网络摄像机,该数值一般都是定值,若是GOP等于60,帧率30fps,也就是2秒一个I帧。大家可以结合这个来理解。 2.1.3 IDR帧 一个序列的第一个图像叫做 IDR 图像(立即刷新图像),IDR 图像都是 I 帧图像。H.264 引入 IDR 图像是为了解码的重同步,当解码器解码到 IDR 图像时,立即将参考帧队列清空,将已解码的数据全部输出或抛弃,重新查找参数集,开始一个新的序列。这样,如果前一个序列出现重大错误,在这里可以获得重新同步的机会。IDR图像之后的图像永远不会使用IDR之前的图像的数据来解码。IDR 图像一定是 I 图像,但I图像不一定是 IDR 图像。一个序列中可以有很多的I图像,I 图像之后的图像可以引用 I 图像之间的图像做运动参考。 2.2 编码过程 H264核心算法是帧内压缩和帧间压缩,帧内压缩是生成I帧的算法,帧间压缩是生成B帧和P帧的算法。实际上解决两个问题,一个是空间冗余,另一个是时间冗余。空间冗余即为原始数据中包含很多视频不敏感信息,该部分信息可以减少,这部分技术对应的帧内压缩技术,一般经过帧内压缩后,其大小大致相当于JPG图片大小,I帧使用的就是该算法。时间冗余可以理解为,时间轴上连续的原始数据表示的图像变化很小,每帧原始数据都携带了很多相同信息,可以根据帧间压缩算法将该重复信息去掉,减小数据量,P帧和B帧。 参考csdn博客

SRE学堂:OSS监控告警案例分析

简介:【SRE学堂】OSS从入门到精通第四章:OSS监控告警案例分析处理 阿里云 阿里云智能GTS-平台技术部-SRE混合云技术服务赋能团队 通过OSS第一章的学习,大家知道了OSS是什么、OSS的各项优势、OSS的架构组成以及OSS相关的一些基本概念;通过OSS的第二章的学习,大家知道了如何创建、查看、删除、修改OSS的存储空间,如何实现object上传、下载、删除的操作;通过OSS第三章的学习,大家知道了OSS如何执行天基的终态检查、赤骥白屏巡检以及黑屏巡检;第四章将为大家介绍OSS监控TAC以及OSS集群出现大量5xx错误时该如何分析。 1. OSS监控TAC 使用域名登录至TAC报警中心,查看OSS的监控能力、告警详情,还需要关注盯屏及钉钉群,当TAC报警中心接收到报警之后会向钉钉群推送告警通知,可根据报警信息查看和分析问题。 1.1 TAC中查看OSS的监控能力 登录报警中心,选择系统>监控管理,查看OSS的告警监控项。 图1:监控管理 1.2 TAC中查看告警详情 登录报警中心,选择工作>平台告警,查看OSS的平台告警详情。 图2:平台告警详情 1.3 TAC中的盯屏 登录报警中心,选择盯屏,查看盯屏中相关告警信息。 图3:盯屏 1.4 钉钉群中收到的TAC告警 登录钉钉,选择TAC告警通知群,查看TAC告警通知。 图4:TAC告警通知群 2. OSS集群出现大量5xx错误分析 因OSS集群内部错误导致资源无法访问时,会出现5xx错误。当铜雀、TAC、ASO或者封神产品收到告警信息时,可以通过人肉或者赤骥工具来定位问题,具体的定位方式可以参考5xx预案的脑图,后续会将其中的重点内容进行详细讲解。 2.1 5xx预案脑图 OSS的5xx预案可以从三个方面来详细说明,分别是:告警来源、人肉定位思路、赤骥定位思路,具体内容见下图。 图5:5xx预案脑图 2.2 5xx错误的查看 在OSS赤骥页面选择业务数据>集群数据>集群概览,查看今日5xx总数是否为0,如果不为0,且该数字大于0.01%,会产生TAC告警。 图6:集群概览 单击上图中的百分比,查看5xx错误的时间分布,并判断是持续出现还是间隔出现; 图7:5xx错误的时间分布 如果间隔出现,一般无需排查问题,例如在某时间点磁盘损坏,而数据刚好落在该坏盘上,造成数据无法访问,因此导致5xx错误;再例如一台机器损坏,也可能导致某时间点产生大量的5xx错误,此时会触发OSS中自动拉黑已坏机器的机制,从而不再让请求访问该机器,5xx问题便会自动消退; 如果持续产生,可能涉及盘古和KV深层次的问题,需要研发介入处理恢复,此处不再赘述。 当OSS出现5xx问题时,首先要做一些基础检查,然后按照赤骥定位和人肉定位的标准检查流程逐步分析排查问题。具体涉及哪些基础检查,又该如何去逐步排查呢?请看下文描述。 3. 赤骥定位思路 3.1 检查SLA曲线是否有波动 在OSS赤骥页面选择业务数据>集群数据>数据监控,检查一天SLA曲线。值得注意的是5xx问题出现不一定有SLA波动,有SLA波动一般都会有5xx问题。如果SLA持续波动或不满100%,5XX持续产生,可能的原因有:集群压力大(机器cpu、mem、硬盘使用率高等)、机器硬件故障(如网络设备故障导致的重传高等)、服务异常(oss_server异常、kv_master异常、kv_server hang等情况)、ycf文件损坏等。 图8:SLA曲线图 3.2 检查资源使用排行top 10 在OSS赤骥页面选择业务数据>集群数据>资源使用排行,检查有5xx的bucket top10排行,其中有类似osstestcn的测试bucket,测试bucket在测试之后易被删除一些信息,再次访问可导致5xx错误,该情况不会对真正的服务产生影响,无需关注。如果正式使用的bucket产生大量5xx,可能该bucket中某个文件被损坏,或者该bucket中设置了quota值,容量超限(quota值可在dt上查看 )。 图9:资源使用排行 3.3 查看内部错误(5xx)分析详情 在OSS赤骥页面选择日志监控>内部错误(5xx)分析>查看详情,查看详细说明,包括报错的服务、机器、bucket分布等情况,可查看不同应用错误数占比及相关应用的具体日志分析,例如: oss_server是前端机,可查看5xx的数量及其在bucket上的分布情况,确认是否为网络问题; kv_client可查看5xx的数量及其在机器上的分布情况,然后确认是否为Youchaofile的问题; kv_server可查看5xx在partition上的分布情况。如果5xx集中出现在一台物理机上,可以尝试拉黑该物理机,然后重启kv_server。如果不再产生,需排查该机器问题,确认该机器上的partition是否损坏亦或存在硬件问题等。拉黑操作命令如下: #/apsara/deploy/kuadmin --interactive=false --command=addblacklist --appname="" --param1=tcp://[$IP]:10280 图10:5xx内部错误分析 图11:5xx内部错误分析详情 3.4 业务数据中查看有5xx错误的bucket信息 在OSS赤骥页面选择业务数据>用户数据,输入存在5xx错误的bucket,查看该bucket的基础信息和数据监控。

解决java@RequestBody中枚举不匹配问题 空字符串转枚举异常

异常 org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type *.**.**.TaskStatusEnum from String “”: value not one of declared Enum instance names: [0, 1, 2]; nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type *.**.**.TaskStatusEnum from String “”: value not one of declared Enum instance names: [0, 1, 2] 原因 因找不到对应的枚举值,匹配出现异常 解决办法一 注入ObjectMapper ,并修改对应配置 @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Autowired private ObjectMapper objectMapper; @PostConstruct public void myObjectMapper() { // 解决enum不匹配问题 默认值为false objectMapper.

Cocos creator 与 Android Studio方法互相调用并传参

Cocos creator export enum NativeToCCMessage { OnAfterInit = "OnAfterInit", } export class NativeHelper { public static HasJSB():boolean { return CC_JSB; } /** * ``` * ios 调用格式为 (类名,静态方法名:参数名1:参数名2:,参数1,参数2):返回值<number,boolean,string> * 例: JSBCallStaticMethod("IOSHelp", "PlayAudioWithName:andLoopCount:", audioName, 1); * * android 调用格式为 (类的路径,静态方法名,参数和返回值字符串,参数1,参数2):返回值<number,boolean,string> * 例: JSBCallStaticMethod("com/android/AndroidHelp", "PlayAudio", "(Ljava/lang/String;I)V", audioName, 1); * ``` * @param className * @param methodName * @param methodSignature * @param parameters */ public static JSBCallStaticMethod(className: string, methodName: string, ...parameters: any):any { return CC_JSB && jsb.

参数估计之矩估计

文章目录 1. 点估计定义2. 矩估计法3. 通过例题理解矩估计法4. 矩估计优缺点 1. 点估计定义 点估计定义 设 x 1 , x 2 , ⋯ , x n x_1,x_2,\cdots,x_n x1​,x2​,⋯,xn​ 是来自总体的一个样本,用于估计位置参数 θ \theta θ的统计量 θ ^ = θ ^ ( x 1 , x 2 , ⋯ , x n ) \hat{\theta}=\hat{\theta}(x_1,x_2,\cdots,x_n) θ^=θ^(x1​,x2​,⋯,xn​)称为 θ \theta θ的估计量,或称为 θ \theta θ的点估计,简称估计 构造估计量的方式有很多,常用的有矩估计法和最大似然估计法 2. 矩估计法 矩估计法简单点的说,就是用样本的矩,替换(估计)总体的矩。 记总体 k k k阶原点矩为 μ k = E ( X k ) \mu_k=E(X^k) μk​=E(Xk)

python将列转为行_numpy:np.newaxis 实现将行向量转换成列向量

np.newaxis 新增一个轴 如何将数组[0,1,2]转换成列向量 用ndarray[: , np.newaxis] 代码实质就是将原本的(0,1,2)移到行上,然后新增一列 其实可以更简单 ndarray.shape=(3,1) >> x = np.arange(3) >> x array([0, 1, 2]) >> x[:, np.newaxis] array([[0], [1], [2]]) >> x[:, None] array([[0], [1], [2]]) >> x[:, np.newaxis].shape (3, 1) >>> X = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) >>> X[:, 1] array([2, 6, 10]) % 这里是一个行 >>>X[:, 1][:, np.newaxis] array([[2], [6], [10]]) 将行换成列 当提取数组的某一列时,结果输出是按行输出,用X[:, 1][:, np.newaxis],将行转换成列 https://www.jb51.net/article/175461.htm

搭建Mysql主从复制

主从复制 准备三台MySQL8数据库服务(使用虚拟机完成) 通过Vmware链接克隆三台机器 启动三台机器 master:192.168.0.109 slave1:192.168.0.108 slave2:192.168.0.110 通过CRT连接 搭建主从复制 master、slave1、slave2修改默认配置文件 vim /etc/my.cnf 每个文件的id均不同,其它三样配置一样 master: server-id=1 slave1: server-id=3 slave2: server-id=5 server-id=1 #节点唯一标识,不要与其它节点重复 log-bin=mysql-bin #指定日志文件名字 log-slave-updates #是否根据日志的变化同步数据 slave-skip-errors=all #从节点同步过程中是否跳过错误 重启Mysql服务检测配置是否生效 SHOW VARIABLES like 'server_id'; 在master节点中执行如下命令: show master status; 获取信息: 日志文件名称 日志文件变化的位置 mysql-bin.000002 | 156 在所有slave节点中执行如下命令: change master to master_host ='master节点ip', master_user='Mysql用户名', master_password='密码', master_log_file='日志名称', master_log_pos=日志变化的位置(数字); # 下面是我的配置 change master to master_host ='192.168.0.109', master_user='root', master_password='root', master_log_file='mysql-bin.000002', master_log_pos=156; 在从节点继续执行如下命令: start slave; //开启主从复制 stop slave;//停止主从复制 查看主从复制是否成功,在从节点执行如下命令: show slave status; 问题出现

beyond the ‘PHYSICAL‘ memory limit. Current usage: 1.0 GB of 1 GB physical memory used;

腾讯云 hive3.1.1版本执行HQL时报如下错误 报错信息: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.tez.TezTask. Vertex failed, beyond the 'PHYSICAL' memory limit. Current usage: 1.0 GB of 1 GB physical memory used; 2.8 GB of 8 GB virtual memory used. Killing container. 解释: org.apache.hadoop.hive.ql.exec.tez.TezTask 说明Hive的底层用的是Tez的引擎不是MapReduce的引擎。1.0 GB of 1 GB physical memory used 说明分配这个job的物理内存用完了,内存溢出,因此任务被kill掉了。解决办法:增大container的大小,在hive-site.xml中有个参数 hive.tez.container.size 默认为1024M,将其设置为2048M,保存,重启服务,重新运行代码。

ArcMap|栅格计算器报错

今天用ArcGIS栅格计算器,报错了,ERROR 010240,说无法保存到默认路径 然后重新改了下输出路径,存到E盘之后,就成功了

链路聚合和STP生成树以及静态路由补充浮动路由

链路聚合和STP生成树及静态路由补充 一、链路聚合概念LACP模式配置命令: 二、STP生成树协议的基本原理与简单配置环路的产生生成树的作用BPDU(Bridge Protocol Data Unit)网桥协议数据单选举根交换机的原则及优先级修改端口角色及端口状态描配置命令 三、浮动路由综合实验r1r2sw1SW3LSW4 一、链路聚合 概念 1.端口绑定技术:链路聚合(Link Aggregation)是将一组物理接口捆绑在一起作为一个逻辑接口来增加带宽的一种方法。又称多接口负载均衡组(Load Sharing Group)或链路聚合组(Link Aggregation Group)通过两台设备之间建立链路聚合组,可以提供更高的通讯带宽和更高的可靠性,不仅为设备之间通信提供冗余保护,而且不需要对硬件进行升级减少成本 2.eth-trunk取值范围:0-63 3.注意事项 -每个eth-trunk接口下最多可以包含8个成员接口成员接口不能配置任何业务和静态MAC地址成员接口加入eth-trunk时,必须为缺省的hybrid类型接口eth-trunk接口不能嵌套即成员接口不能是eth-trunk一个以太网接口只能加入到一个eth-trunk接口如果需要加入其他eth-trunk接口,必须先退出原来的eth-trunk接口一个eth-trunk接口中的成员接口必须是同一类型,例如FE接口速率和GE接口不能加入同一个eth-trunk接口成员接口的速率不一致时实际使用中的速率小的接口可能会出现拥塞导致丢包可以将不同接口模块上的以太网接口加入到同一eth-trunk如果本地设备使用了eth-trunk,与成员接口直连的对端接口也必须捆绑为eth-trunk接口两端才能正常通信当成员接口加入eth-trunk后学习mac地址时是按照eth-trunk来学习的而不是按照成员接口来学习的 LACP模式 4.LACP模式不仅可以实现增加带宽提高可靠性负载分担的目的而且提供eth-trunk的容错性,提供备份的功能。LACP模式下部分链路是活动链路所有活动链路都参与数据的转发,如果某条链路故障会使用一条备份的链路作为活动链路始终保持一定数的活动链路 配置命令: [Huawei]lacp priority 1000 #配置系统LACP优先级 [Huawei]int Eth-Trunk 1 #进入Eth-Trunk视图 [Huawei-Eth-Trunk 1]bpdu enable #配置接口上发送到BPDU报文到CPU处理,起到防环作用 [Huawei-Eth-Trunk 1]mode lacp-static #配置Eth-Trunk为静态LACP模式 [Huawei-Eth-Trunk 1]trunkport ethernet/ge 0/0/0 to 0/0/3 #批量添加接口到eth-trunk 1 或者 [Huawei]int e0/0/0 [Huawei-Ethernet0/0/1]eth-trunk 1 #进入接口逐个添加 [Huawei-Eth-Trunk1]port link-type trunk #配置聚合链路的通过的vlan [Huawei-Eth-Trunk1]port trunk allow-pass vlan all 二、STP生成树协议的基本原理与简单配置 环路的产生 1.环路引起的问题之一广播风暴 环路引起的问题之二mac地址表不稳定 环路引起的问题之三多帧复制 广播风暴:三个交换机两两相连,互相广播,无限转发,产生广播风暴。 多帧复制:PC1发送的数据可以从SW1经过SW3再到SW2传达给PC2,也可以从SW1到SW2再到PC2,导致PC2收到两次数据帧。 MAC地址紊乱:产生环路后,PC1发送数据SW1向SW3进行广播使得SW3F0/1记录下PC1的MAC地址,SW1传到SW2,SW2再向SW3进行广播,导致SW3F0/2又记录了PC1的MAC地址,来回重复绑定MAC地址。 生成树的作用 a.

一文告诉你vue中为什么v-for能遍历数字

v-for为什么能遍历数字 问:这段代码会输出什么?1-10还是0-9? 一开始也摸不着头脑,感觉既可能是0-9也可能是1-10,但记得v-for是js原生for循环的渲染,瞬间傻眼分析不出答案。 答案 在vue中是1-10。 为什么 打电话问了一下尤雨溪,拿到了源码,如下 这段代码表示v-for循环对传参进来的参数,做了一层判断,生成一个长度为数字值的数组,然后输出index+1,其实就这么简单。是不是觉得自己都能写一套前端框架了? 那么问题来了,你什么时候开始写?

调试工具_7个必备的前端调试工具

你好,欢迎收听极客视点。 应用程序漏洞一直是前端调试人员的痛苦根源。如果你从事前端工作的话,就会知道修复应用程序漏洞有多么困难。特别是使用 JavaScript 时,一个很小的错误有时都有可能需要用几个小时来调试。然而,对于不同的浏览器、操作系统和设备而言,存在漏洞是不可避免的事情。 近日,科技作者马赫迪·雷兹维(Mahdhi Rezvi)分享了 7 个前端调试工具,公众号“读芯术(ID:AI_Discovery)”对其进行了编译,希望对你有所帮助。 1. 网页浏览器的开发人员工具 任何现代的网页浏览器都配备了强大的工具来帮助你调试应用程序。这些工具在调试任务中非常有用,特别是调试器语句。 2. CSS Lint CSS Lint 不仅可以用来验证代码,还可以用来选择要检测的错误和警告。它执行基本的语法检查,并将一个规则组应用于代码,查找存在问题的模式或低效迹象的代码。 3. JSON 格式化和校验工具 在无格式 JSON 中,我们很难发现语法错误或键值不正确的情况,因为它很难阅读。当 JSON 文件缺少行返回和空格时,在压缩的 JSON 文件中读取和发现错误则更有挑战性。 你可以使用 JSON 格式化和校验工具,简单地插入经过压缩的 JSON 并获得正确格式的版本作为输出。此外,该工具还可以根据 RFC 标准来验证 JSON。 4. Postman Postman 是最好的 JavaScript 工具之一,它可以用于调试请求和响应。此外,它也为 macOS 系统、Windows 系统和 Linux 系统提供软件,并能快速、简单地直接发送 REST、SOAP 和 GraphQL 请求。 使用 Postman 可以调整请求、分析响应和修复漏洞问题,当不确定问题出在前端还是后端时,可以尝试采用它。 5. Sentry Sentry 基于云的错误日志系统可以帮助你记录错误实例,即使在发布之后也是如此。此外,Sentry 还提供了涵盖大多数可用框架的全面解决方案。 6. BrowserStack 它可以帮你模拟用户遇到错误时的准确环境。当你记录错误时,可以通过引用环境并在 BrowserStack 中重新创建它来重现准确的场景。 7. JSHint 这是一个检测 JavaScript 代码中的错误和潜在问题的静态代码分析工具,可以帮你发现很难发现的问题。 JSHint 扫描用 JavaScript 编写的程序,报告常见的错误和潜在的漏洞,可能是语法错误、隐式类型转换导致的漏洞、泄漏变量或其他一些问题。

Jakarta EE 2020战果总结

从Eclipse基金接过java EE的接力棒已有两年多了,由于Oracle拒绝交出javax名称空间的使用权, Eclipse基金只能新建一个名称空间Jakarta. 从官方的规范来看还是战果累累。Eclipse基金现在完成了Jakarta8,9的release。其关联社区(Redhat,JBoss)的好多框架都完成了过度 Jakarta8(+) 在Java EE版本和最初的Jakarta EE 8版本中,Oracle在驱动规范,GlassFish实现和TCK技术方面起着领导作用,而在Jakarta EE 9中,这些角色由Kevin Sutter(平台规范),Steve Millidge领导。 (GlassFish)和Scott Marlow(TCK)在更广泛的Jakarta EE社区做出了重大贡献。 Jakarta9(+) Jakarta EE 9是开放的,社区驱动的,与供应商无关的过程的结果。Jakarta EE 9将javax。*名称空间的使用转换为jakarta。*名称空间,以使规范的未来创新成为可能。 源文地址:Jakarta EE 9 is Released A: Servlet容器/EE 应用服务器 1. Tomcat 从Tomcat的官网上看10是使用Jakarta EE,目前还处于beta. 9是javax的版本. 官方地址: 2. Jetty Eclipse基金自已的Servlet容器。所以已经完成过度。jetty 11 使用Jakarta EE已经release. jetty 10是javax的版本。 官方地址: https://www.eclipse.org/jetty/download.php 3. Undertow Jboss社区开发的Servlet容器,网上流传的是性能目前来看最好的一个。这也是SpringBoot支持的内置容器。从github上发布的版本来看已有Jakarta EE的多个版本。官方地址: https://github.com/undertow-io/undertow 4. GlassFish 开发维护的权力交给了Eclipse基金。这是EE标准的实现参考。javax能用的最后一个版本是:5.0。Jakarta EE已经有多个版本release。官方地址: https://javaee.github.io/glassfish/ 5. WildFly 原名JBoss. 现在是红帽子基金旗下的EE 应用服务器。内置的Servlet容器是Undertow,javax能用的最后一个版本是:20.0.1.Final。Jakarta EE已经有多个版本release。官方地址: https://www.wildfly.org/downloads/ 6. WebLogic(*) 这是Oracle旗下的EE应用服务器。Jakarta EE 8 的release版本:14.1.1.0(https://jakarta.ee/compatibility/download/)。

vue 销毁dom_vue.js ueditor实例被销毁后,如何把新建的一个实例挂载到dom上(附代码)...

引用ueditor组件,然后跳转到其他页面的时候,ueditor并没有挂载到dom上,求解!谢谢 <div> <div :id="this.id"></div> </div> import “../../../../static/UE/ueditor.config.js”; import “../../../../static/UE/ueditor.all.js”; import “../../../../static/UE/ueditor.parse.js”; import “../../../../static/UE/lang/zh-cn/zh-cn.js”; export default { name: “editor”, props: [“id”], data() { return { ue: "", //ueditor实例 content: "" //编辑器内容 }; }, methods: { //初始化编辑器 initEditor() { this.ue = UE.getEditor(this.id, { initialFrameWidth: 1000, initialFrameHeight: 350, scaleEnabled: false, enableAutoSave: false //initialFrameWidth: null, //initialFrameHeight: 400 }); //编辑器准备就绪后会触发该事件 this.ue.addListener("ready", () => { //设置可以编辑 this.ue.setEnabled(); }); //编辑器内容修改时 this.selectionchange(); }, //编辑器内容修改时 selectionchange() { this.ue.addListener("selectionchange", () => {

vmos框架_VMOS-适配安卓11

应用介绍 VMOS(虚拟大师)是一款以Virtual Machine(简称VM,即虚拟机)技术为主的APP(安卓应用)软件。通过VM技术,把开源的安卓系统(支持任意版本),无需root权限,以普通应用安装的形式运行到任意版本的linux或安卓系统上。即通过一个应用运行一个完整的安卓系统,且不受宿主系统(手机上安卓系统)的限制。类似于PC上的VMWare,也像一台本地云手机或者说安卓手机模拟器,OS in OS。可定制操作系统版本、功能。定制的操作系统拥有root权限,权限不会涉及宿主系统的安全问题。具体应用可真机和虚拟机双开应用和游戏,支持同屏操作,悬浮窗切换,后台运行。虚拟机自带root,游戏双开,微信双开分身,支持XP框架和谷歌套件,不必担心真机风险,可自定义分辨率,玩机党必备。 VMOS(虚拟大师)-安卓虚拟手机系统,不受真机系统限制,能满足开发和测试的需求,不用担心病毒和系统崩溃的风险。VMOS(虚拟大师)自带root权限,支持XP框架和谷歌套件,满足极客手机爱好者的各种需求。VMOS(虚拟大师)的悬浮窗功能,支持真机和虚拟机双开同屏操作。VMOS(虚拟大师)的悬浮球功能和手势,让操作和切换变得更简单便捷。 VMOS(虚拟大师) 功能简介: 1.VMOS是独立的虚拟手机系统,不受真机系统限制,能满足开发和测试的需求,不用担心病毒和系统崩溃的风险。 2.VMOS自带root权限,支持XP框架和谷歌套件,满足极客手机爱好者的各种需求。 3.VMOS的悬浮窗功能,支持真机和虚拟机双开同屏操作。游戏双开,微信双开,边玩游戏边看直播,边玩游戏边聊天,比云手机更流畅,工作生活两不误。 4.VMOS的悬浮球功能和手势,让操作和切换变得更简单便捷。 5.VMOS支持修改分辨率,能熄屏后台运行。 6.VMOS里的文件中转站支持真机虚拟机应用文件相互克隆,免去繁琐的重复安装 新版特性 VMOS 1.1.38 更新内容: 1、启动时间优化; 2、适配异形屏; 3、精简桌面内容,更简洁; 4、增加检查更新; 5、修复部分已知问题。 开发者应用

基频和倍频的概念_什么是基频,倍频,合频,泛频峰

展开全部 基频峰:分子吸收一定频率红外线的吸收峰。如果振动水平32313133353236313431303231363533e58685e5aeb931333431373265从基态过渡到第一激发态,则吸收峰称为基频峰。 泛音峰:在红外吸收光谱中,除了基波峰外,还存在振动能级从基态向第二振动激发态和第三振动激发态的转变等现象。由此产生的峰值称为泛音峰。 和频:两束光(频率:w1,w2)通过非线性晶体,通过后光束w3=w1+w2。 倍频:在电子电路中,输出信号的频率是输入信号频率的整数倍。如果输入信号频率为N,则第一倍频程为2N,对应于3N,4N…等等叫做倍频。 倍频峰、频率合成峰和频差峰统称为泛音峰。 扩展资料: 在每个电子能级中,有几个n=0,1,2,3…在相同的电子能级和振动能级下,其振动能级也可分为几个j=0,1,2,3…的旋转能级。 由于分子的非共振性质,倍频峰不是基频峰的整数倍,而是稍小一些。以盐酸为例: 基波峰值(n0→1)2885.9cm最强 二次谐波峰值(n0→2)5668.0cm较弱 第三倍频程峰(n0→3)在8346.9cm处非常微弱。 四峰(n0→4)10923.1cm非常弱 五倍(n0→5)13396.5cm非常弱 此外,还有组合频率峰值(n1+n2,2n1+n2,?),差频峰值(n1-n2,2n1-n2,?)。这些峰大多很弱,一般不容易识别。 参考资料来源:

基频和倍频的概念_基频峰,泛频峰,倍频峰,二倍频峰的区别

展开全部 基频峰:分子吸收一定频率的红外线,若振62616964757a686964616fe59b9ee7ad9431333433653435动能级由基态跃迁至第一激发态时,所产内生的吸收峰称容为基频峰。 泛频峰:在红外吸收光谱上,除基频峰外,还有振动能级由基态跃迁至第二振动激发态、第三激发态等现象,所产生的峰称为泛频峰。 和频:两束光(频率为)w1,w2通过非线性晶体,通过后光束w3 = w1 + w2 倍频:w1,w2通过非线性晶体w1 = w2 = w,通过后光束w3 = 2w 倍频峰、合频峰和差频峰统称为泛频峰。 扩展资料: 可听声的频率从211320-20000Hz,高低相差1000倍。为方便,通5261常把宽广的声音频率变化范围划4102分为若干较小的段落1653,叫频带或频程(国际统一划分为10个频带)。 如10个频带为:P1-P2,P2-P3,P3-P4,P4-P5,Pi -P(i+1), P10-P11,每个频带上下限值如Pi / P(i+1)=2^n,如果n=1,即为倍频带,n=1/3即为1/3倍频带。 中心频率=(Pi *P(i+1))^0.5 如倍频带,第一个频带为22.3-44.6,上限为下限的2倍,中心频率为31.5为上下限值的几何平平均值,第二个倍频带 44.6-89 中心频率为63 参考资料来源:百度百科-倍频

react 富文本编辑器 react-draft-wysiwyg 的使用总结

1.摘要 本博客主要总结 react 富文本编辑器 react-draft-wysiwyg 的使用,包括相关依赖、保存方式以及回显方式。 2.效果图 3.安装相关依赖 npm install react-draft-wysiwyg npm install draft-js npm install draftjs-to-html npm install html-to-draftjs 4.引入相关组件函数 import '../../../../node_modules/react-draft-wysiwyg/dist/react-draft-wysiwyg.css'; import { EditorState, convertToRaw, ContentState } from 'draft-js'; import { Editor } from 'react-draft-wysiwyg'; import draftToHtml from 'draftjs-to-html'; import htmlToDraft from 'html-to-draftjs'; 5.使用,相当于一个组件 <Editor editorState={this.state.editorState} wrapperClassName="demo-wrapper" editorClassName="demo-editor" onEditorStateChange={::this.onEditorStateChange} /> {/* css .demo-editor { height: 380px !important; border: 1px solid #F1F1F1 !important; padding: 5px !important; border-radius: 2px !

7段均衡器最佳参数_7段均衡器怎么调成重低音

展开全部 7段均衡器调成重低音的方法是将均衡器的音调频率调整为60Hz。因为60Hz处于40Hz-150Hz重低音频段,该频段的能量占整e68a84e8a2ad62616964757a686964616f31333431373166个音频能量的70%,是表现音乐风格的重要成分。 重低音频段适当时,低音张弛得宜,声音丰满柔和,不足时声音单薄,150Hz,过度提升时会使声音发闷,明亮度下降,鼻音增强。 均衡器通信系统中,校正传输信道幅度频率特性和相位频率特性的部件。将频率为f的正弦波送入传输信道,输出电压与输入电压的幅度比随f变化的特性称为幅度频率特性,简称幅频特性。 输出电压与输入电压间的相位差随f变化的特性称为相位频率特性,简称相频特性。各种传输信道所传输的信号,由一些不同频率的分量组成。 扩展资料: 使用均衡器调音时的注意事项: 均衡器被用于混录调音台输入通道和接线装置上,虽然在传声器输入通道中使用均衡器使我们回忆其整形扬声器声音或乐器声音的方法,但往往被忽视的问题是,是否需要均衡器可能是其余环节出错的标志。 均衡是用来补偿在音频链路或扬声器音频特性内、在传声器选择或演播室声学影响中的问题的。它甚至可能出现在有完美的声学特性、最新型的扬声器和最好传声器的演播室中。 在通往扬声器的输出通道中使用均衡器是一个特别感兴趣的情况,因为人们容易误信可解决所有不当的室内声学和扬声器还音问题。

7段均衡器最佳参数_7段均衡器怎么调能达到最佳效果?

展开全部 用均衡器调整音色的方法 : 1、低频段的调整调好e69da5e887aa62616964757a686964616f31333365633938各种音源的基音部分及丰满度,结实度。 一般情况下把20Hz-315Hz的频率范围划分成低频段,这一段调整的重点是注意各种音源的主要基音部分,就象一座金字塔,没有基础部分也就不会有塔尖部分,所以低音频率的调整是很重要的. 2、中频段的调整 。 调好各重音源的二三次泛音及圆润度,明亮度: 一般情况下把400Hz-2.5KHz的频率范围划分成中频段,大家知道大部分音源的主要基音部分都会在低音部分,那么它们的2次泛音,3次泛音,四次泛音……就会在中音频段;当然也有一些音源由于频率较高,其主要基音部分在中频段.总之这一段调整的重点是调好大部分音源的二三次泛音及音色的圆润度,明亮度. 3、高频段的调整 。 调好各种音源的多次泛音及色彩感和穿透力: 一般把3.15kHz-20kHz的频率范围划分成高频段,这一段调整的重点是注意各种音源的泛音部分及色彩感和穿透力 . 4、大多数综合性演出音响系统中均衡器的调整。 20Hz[-12],25Hz[-12],32Hz[-10],40Hz[-8],50Hz[-4],63Hz[-2],80Hz[0]100Hz[0],125Hz[0],160Hz[-2],200Hz[-3]250Hz[-3],315Hz[-3],400Hz[0],500Hz[0],630Hz[-2],800Hz[-1],1kHz[0],1.25kHz[0],1.6kHz[-2],2kHz[-3],2.5kHz[-3],3.15kHz[-2],4kHz[-2],5kHz[-2],6.3kHz[-3],8kHz[0],10kHz[+2]12.5kHz[+3],16kHz[0]20kH 补充说明: 调音台又称调音控制台,它将多路输入信号进行放大、混合、分配、音质修饰和音响效果加工,是现代电台广播、舞台扩音、音响节目制作等系统中进行播送和录制节目的重要设备。调音台按信号出来方式可分为:模拟式调音台和数字式调音台。 调音台Mixer在输入通道数方面、面版功能键的数量方面以及输出指示等方面都存在差异,其实,掌握使用调音台,要总体上去考察它,通过实际操作和连接,自然熟能生巧。调音台分为三大部分:输入部分、母线部分、输出部分。母线部分把输入部分和输出部分联系起来,构成了整个调音台。

MyBatis-Plus 字段类型处理器TypeHandler

字段类型处理器 类型处理器,用于 JavaType 与 JdbcType 之间的转换,用于 PreparedStatement 设置参数值和从 ResultSet 或 CallableStatement 中取出一个值,本文讲解 mybaits-plus 内置常用类型处理器如何通过TableField注解快速注入到 mybatis 容器中。 JSON 字段类型 @Data @Accessors(chain = true) @TableName(autoResultMap = true) public class User { private Long id; ... /** * 注意!! 必须开启映射注解 * * @TableName(autoResultMap = true) * * 以下两种类型处理器,二选一 也可以同时存在 * * 注意!!选择对应的 JSON 处理器也必须存在对应 JSON 解析依赖包 */ @TableField(typeHandler = JacksonTypeHandler.class) // @TableField(typeHandler = FastjsonTypeHandler.class) private OtherInfo otherInfo; } 该注解对应了 XML 中写法为 <result column="

电脑进入pe时蓝屏_进入PE系统就蓝屏怎么办?

蓝屏是电脑常见故障之一,像是虚拟内存不足、cpu超频、病毒攻击等多种原因都可能造成电脑蓝屏。一般情况下我们可能会用pe系统来进行系统维护或重装,事实上不止是电脑系统,pe系统也是会有蓝屏的情况出现。有时候刚制作好一个U盘启动盘,一进入pe系统就蓝屏了,这可真让人无从下手。进入PE系统就蓝屏怎么办?发生这种问题最重要的就是做好排查工作,今天快启动小编来为大家提供一下进入PE系统蓝屏的解决办法。 1、启动盘问题 出现蓝屏问题首先我们要考虑是否U盘启动盘并没有制作成功,你可以换台电脑试试能否正常启动。如果不能就需要重新制作启动盘。 2、硬盘问题 如果启动盘正常,那就考虑是否硬盘模式设置错误。这个时候按快捷键进入BIOS,选择Advanced,然后选中AHCI那个选项,切换为IDE模式即可。 还有可能是硬盘出现坏道,可以使用第三方软件进行检测,并将检测出的坏道屏蔽。 3、内存问题 如果硬盘没有问题,则考虑是否内存问题,拔下内存,用橡皮擦内存的那个金属指,然后再安装试试。另外,也要考虑是否本机的内存太小(这种情况比较少见) 4、其它问题 可能电脑的内存条出现松动或者其他硬件接口或排线出现松动,大家检查看看有没有松动,重新拔插一下。 以上就是进入PE系统就蓝屏的解决办法,大家遇到这个问题一定要耐心去排查问题,希望小编分享的这几个方法可以帮助到大家。 相关阅读:

oss上传报错_oss上传400报错-问答-阿里云开发者社区-阿里云

leehor 2018-07-27 16:20:48 Reoss上传400报错 回调部分代码 格式有问题吗 put.setCallbackParam(new HashMap() { { Log.e("回调", "上传回调: " + Config.callbackAddress); put("callbackUrl","http://survey.three3.cn:8081/three_research/app/answer/oss/callback.htm"); //callbackBody可以自定义传入的信息 put("callbackHost", "oss-cn-shenzhen.aliyuncs.com"); put("callbackBodyType", "application/json"); put("callbackBody","{\"projectId\":${x:projectId},\"answerId\":${x:answerId},\"description\":${x:description},\"answer\":${x:answer},\"pictureCount\":${x:pictureCount},\"audioCount\":${x:audioCount},\"number\":${x:number},\"stage\":${x:stage},\"audio\":${x:audio}}"); } }); put.setCallbackVars(new HashMap(){ { put("x:projectId",projectsDB.getPid()); put("x:answerId",subjectsDB.getHt_id()); put("x:answer",answer); put("x:description",explain); put("x:pictureCount",String.valueOf(imageSize)); put("x:audioCount",String.valueOf(recorderSize)); put("x:number",String.valueOf(number)); put("x:stage",stage); put("x:audio",audioFileName); } }); 0 0

moba寻路_游戏中的人工智能之流场寻路

流场简介 流场,一般为网格图,网格中的每一个节点包含一个向量,该向量是物体在该位置时期望的速度。 流场寻路 利用流场的速度信息指导大量物体同时进行寻路。换句话说,如何生成可以寻路的流场,才是问题的关键。 这里有一篇英文的文章和一个示例[3],阅读文章有助理解流场寻路,英文不够好的同学也可以从例子中获取感性的认识。 流场寻路 在线示例 流场的简单生成: 流场根据迪杰斯特拉图生成的,而迪杰斯特拉图是依据众多智能移动体共同目的地以及节点运动消耗图生成。 节点运动消耗图,用0表示可正常通过,用极大值表示障碍物,用其他值表示河水,沼泽,斜坡,树林等地形信息。 首先,需要依据节点运动消耗图以及众多智能移动体共同目的地生成迪杰斯特拉图。 迪杰斯特拉图中的每一节点包含其距离目的地节点的最少运动消耗。 细节就是以目的地为起点进行迪杰斯特拉算法搜索到图中其他所有节点的最短运动消耗,其他非目的地节点保存这到目的节点的最短运动消耗。 什么迪杰斯特拉算法,请参看。 迪杰斯特拉算法 需要注意的是,本文中的例子生成的迪杰斯特拉图,其实使用广度优先算法生成的,这是因为边权值全部为1(路径消耗均为1)。 其次,依据迪解释特拉图生成流场。流场每一个节点包含一个指向某个邻居节点的向量,并且该向量所指向的邻居节点,在所有邻居节点中其距离目的路径消耗最少。而向量的大小可以为移动智能体的最大速率,或者单位化。 流场寻路其他细节: 当位于流场某一位置时,如何选取对应的速度向量,可以使用简单的归整法获取速度向量。 也可以采用双线性内插法依据上下左右其他四个节点值来计算[1]。 什么是线性内插?请参看线性内插 流场的生成的速度向量不一定完全最佳,可以使用一些修正算法,比如视线修正法[2],来适当的调节速度向量的方向或者无视流场给出的方向。 流场可以和其他行为结合起来,实现更复杂的组合操控行为。例如,流场+群聚(分离,聚集,对齐)。这一点在Game AI Pro - Efficient Crowd Simulation for Mobile Games给出了具体的实现思路。 流场一旦生成,就可以常数时间(每个个体不在寻路,只是查询流场)支持任意数量移动智能体寻路。地形变更或目的地变更才需要重新生成流场,在一些情况下可以缓存流场或提前生成流场以备用。比如把常用的几个目的地流场缓存,目的地变更无需再次生成流场[2]。 流场可以使用其他算法生成如theta*[1][6]。 什么是theta*,请参看 theta* 流场寻路的应用: “最高指挥官2”和“坚守阵地2”这两款游戏肯定是用了流场寻路。最近比较火的“皇室战争”也可能使用流场寻路(当然我猜的)。其实,流场寻路适合两种类型的游戏RTS和MOBA(即时战略和塔防),说白了最适合大量智能运动物体拥有共同目的地寻路。 结语 大家可以轻易的发现,HowToRTS例子有很多明显的问题,我在研究时做了一些优化。包括如下内容: 加了移动智能体之间的分离力,这样运动起来不会扎堆,具体如何实现复杂的组合操控行为,可以采用加权截断总和,带优先级的加权截断累计,带优先级的抖动[4]。我使用带优先级的加权截断累计方式。 禁止移动智能体两障碍物之间斜对角线穿行。 实时更新目的地节点,鼠标点击地图切换目的地,重新生成流场等。 把移动智能体的图像改成了草莓。 用浏览器就可以下载HowToRTS示例代码,我建议大家自动动手改一改玩一玩。 参考文献: [1]Graham Pentheny,Game AI Pro : Efficient Crowd Simulation for Mobile Games [2]Elijah Emerson,Game AI Pro :Crowd Pathfinding and Steering Using Flow Field Tiles

Spring map 注入同类型bean

日常开发中,或取同类bean,我们一般通过SpringApplicationContext的方式获取同类型bean,但这样每次都要折腾一大堆代码,其实spring已经完成了这一操作。 1.定义顶层接口 public interface Handler { void test(); } 2.实现顶层接口 @Service("Huawei") public class Huawei implements Handler { @Override public void test() { } } @Service("Tencent") public class Tencent implements Handler { @Override public void test() { } } 3.注入,通过handlerMap接收 @Service public class Business { @Autowired private Map<String, Handler> handlerMap; public void print(){ System.out.println(handlerMap); } } 4.测试 @SpringBootTest class DemoApplicationTests { @Autowired private Business business; @Test void contextLoads() { business.print(); } } 5.

ISO7816协议深度解析-简单易懂协议详解(一)-- 复位,字符帧,及ATR

1. 摘要 IC卡必须支持T=0或T=1的协议,但不是同时支持这两种协议,而终端则必须同时支持T=0和T=1的协议。 • T=0通讯协议是异步半双工字符传输协议; • T=1通讯协议是异步半双工块传输协议; 在ISO7816-3标准中,具体规定了这两种协议:T0和T1。 IC卡所用的协议在TD1中指定,如果在复位应答信息中没有TD1,则表示用T=0的协议进行通讯。在复位应答后,IC卡和终端之间即用IC卡指定的协议进行通讯。 2. 硬件接口 1)VCC:电源输入(A类:5V, B类:3V) 2)GND:地 3)RST:复位 4)I/O:输入输出 5)CLK:时钟(A类:1~5MHz, B类:1~4MHz) 注:不同型号的卡引脚数可能不一样。 3. 读头与卡的操作 3.1 ETU(基本时间单元)介绍 7816-3定义的通讯协议,基本上可以说是RS232的翻版并在此基础上进行的改进。在RS232中我们有9600波特率、起始位、奇偶校验位、停止位这些概念,而在7816-3中都完整地保留了下来,只不过7816-3中引入了etu,没有使用bps。etu的定义可以更加精确地描述每个数据位在传输过程中收发双方的职责和角色转换。 根据定义在智能卡上电复位的时候 1 etu = 372 / f ,其中f = 读写设备通过CLK管脚提供给智能卡的时钟频率,通常在1-5 MHz之间。 etu的单位是时间单位秒(毫秒、微秒),等同于传输每个数据位所需的时间。对其取倒数得出来的就是每秒传输的数据位,也就是bps。我们取f = 3.579545 MHz,用3579545除以372结果等于9622.4约为9600 bps。 通用的etu计算公式: 1 etu = (F / D) * (1 / f) ,F和D的值根据7816-3规范中的约定来进行设置。对于上电复位时的取值 F = 372,D = 1即作为默认值Fd和Dd。如果智能卡支持其他速率则需要在ATR中的TA1来指出其他的F和D的值,比如设定F=372,可以把D分别设定为2/4,那么智能卡能支持的通讯速率可以分别为19200/38400。 那么为什么要选择时钟频率为3.579545 MHz?为什么默认的F值选择为372呢?首先3.579545 MHz 是常用石英晶振的标称值,9600 * 372 = 3.5712 MHz,与之最为接近。再说为什么是372,372 = 12 * 31。标准的8051单片机每个指令周期为12个时钟周期,而且定时/计数器也按照1/12 进行分频后再计数的,这样设定对于智能卡芯片来说可以比较容易实现对IO数据通讯的控制,也可以更好地和PC机串口9600速率配合(当然这是指上个世纪80年代的时候,对于现在的智能卡芯片设计技术而言实现任意分频的控制都不是问题了)。

Python练习——输入某年月日,判断是一年中第几天?(条件循环、输入、求和)

题目:输入某年某月某日,判断这一天是这一年的第几天? #先输入平年与闰年在月份上的差异 #创建一个输入器:用于输入年、月、日 #需要规避掉基础输入错误,然后求解在两种条件下的天数 run_dict={1:31,2:29,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31} ping_dict={1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31} y=int(input("请输入年份:")) m=int(input("请输入月份:")) d=int(input("请输入日期:")) sum=0 if 0<m<=12 and 0<d<=31: if(y%400==0)or((y%400==0))and (y%100!=0): for i in range(1,m): sum=sum+run_dict[i] print("这一天是{}的第{}天".format(y,sum+d)) else: for i in range(1,m): sum=sum+ping_dict[i] print("这一天是{}的第{}天".format(y,sum+d)) else: print("Data Error") output: 请输入年份:2019 请输入月份:6 请输入日期:27 这一天是2019的第178天 方法2: '''Python 练习实例4 题目:输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以3月5日为例,应该先把前两个月的加起来,然 后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天:''' year=int(input()) month=int(input()) day=int(input()) list=[31,60,91,121,152,182,213,244,274,305,335,366] if month==1: count=day if (year%4==0 and year%100!=0)or year%400==0: if month>1 and month<13: count=list[month-2]+day else: if month>1 and month<13: count=list[month-2]+day-1 print("第"+str(count)+"天")

关于WPF界面框架合集

关于WPF界面框架合集 置顶 leo.kong 2018-10-31 17:43:16 19728 收藏 36 分类专栏: WPF之metro使用 文章标签: WPF 框架 WPF 界面设计 版权 #关于WPF界面框架MahApps.Metro学习笔记《一》 公司因为业务发展,需要使用到WPF这种听说是非常陈旧的东西,但对于一个新人来说,只要是没接触的知识,在我看来,都是一个学习的过程。因为目前阶段已经脱离了使用最原始的微软控件构建界面的过程,不是我的要求,而是客户要求,说你这个界面看着这么老(PS:那是老吗!那明明是经典!!!),这也是公司要往WPF转的一个原因吧。 说起界面,我可是一个煞费苦心的进行了调研,能看懂的、不能看懂的下载了一大堆。WPF方面的框架和知识太少了,能用来二次继续开发的框架更少。 我找到的不是很全,在这就算一个记事本的记录吧: ModernUI –是一个开源的WPF界面库,利用该界面库,我们可以创建很酷的应用程序。下面是ModernUI官方示例,你可以从官方网站直接下载源码运行,如果是.NET 4.0的话,记得要声明“NET4”预编译变量,否则无法编译通过。 地址:https://github.com/firstfloorsoftware/mui 使用方法:https://blog.csdn.net/chihun_love/article/details/53944373 界面如下图所示: MaterialDesignInXamlToolkit MaterialDesignInXamlToolkit是一个仿照goolge风格的WPFUI框架, 我只是看了看外观,觉得不是很符合本次项目,就没使用, 地址:https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit 使用方法:https://ouch1978.github.io/2017/03/25/material-design-xaml-toolkit/ 界面如下图所示: DevExpress WPF Controls DevExpress WPF Controls拥有超过85个优选的界面控件和库,帮助你创建强大而优美的商业解决方案,并且满足最终用户最高要求的性能标准。 自从winform项目用过DEV之后,对这个框架没有什么好感,一个是太沉重,另外一个,界面风格也是比较陈旧的,所以在WPF上自动忽略了这个UI框架。 这个好像没有开源,智能下载安装着用。 使用方法:https://blog.csdn.net/ibigpig/article/details/49781705 加粗样式PanuonUI 一个好看精致,不限制个人或商业使用的WPF控件库。本库是一个正在开发的项目,看介绍是一个正在开发UI框架,时长不超过一年,能看到还在更新着。因为我们项目追求稳定,所以这个也忽略了。 地址:https://github.com/Ruris/PanuonUI 使用方法:https://blog.csdn.net/qq_36663276/article/details/80209684 AYUI 这是一个意外发现的感觉也象是乱入的WPF框架,作者一会是高中毕业,一会是微软项目经理,反正不管怎么说,我觉得是个大神,毕竟可以自己造轮子出来,还是我等渣渣难以点评的。这个框架好像通过RMB可以购买到源码,看效果图觉得还是可以用用的,但是没时间研究了,所以就记录一下。 这个框架有官网,有论坛,但是看着访问量应该不是很高,一看就是没有做SEO ,搜索WPF UI框架,反正是好多野没搜到这个。 官网和论坛一体地址:http://www.wpfui.com/ 界面如下图: Ribbon UI 目前微软发布的最新Ribbon 开发工具,上一篇已经做过介绍这里就不再多说了。支持WPF 3.5 SP1、WPF 4,全面兼容VS2010 和Blend4。 这是我搜到的对这个框架的介绍,时间是2010年。我的天!!!!这个框架可能是更老的框架,我都不知道这个框架现在是否还能不能用,你要是不信邪的话,可以自己试试。有一点可以保证,这是微软亲儿子。 图片如下: 下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=11877 使用方法(十年园龄的前辈):https://www.cnblogs.com/gnielee/archive/2010/05/12/wpf4-ribbon-tab-toolbar.html ***OSGi.Net *** 规范化的OSGi.NET插件框架和可复用的插件仓库,通过插件仓库来解决应用系统的持续集成、远程管理、自动更新、敏捷发布,无缝实现开发/QA/运维间无缝协作. 这个工厂式的开发在查资料的时候经常看见,但是一直没用过。不太清楚效果,有用过的可以一起交流下。 官网地址:http://www.iopenworks.com/

python gui哪个好看_python的GUI选择什么方案比较好?

Python GUI方案选择,这个要看实际项目需求了,如果只是简单、最基本的功能,不考虑界面布局和美观程度,可以使用Python自带的GUI标准库tkinter,如果功能复杂一些,可以使用wxPython或PyQt,下面我分别简单介绍一下: 01 tkinter 这是Python自带的一个GUI标准库,轻便灵活,易于学习,主要用于简单的桌面开发,基本组件和容器可以完全满足日常开发需求,但在界面布局和美观程度上有一定欠缺,而且中文参考资料太少,如果你只是实现基本功能,个人使用的话,可以使用一下这个库,非常不错: 02 wxPython 这是一个非常优秀的Python GUI开发库,免费、开源、跨平台,在早期GUI开发中,有着较高的使用率和欢迎度,相比较tkinter来说,wxPython提供了更为丰富的组件和容器,因此在界面布局和美观程度上更胜一筹,而且代码量更少、更简洁,如果你需要开发一个功能复杂的应用,可以考虑一下这个库,非常不错,也易学习: 03 PyQt 这是一个功能强大的Python GUI开发库,基于Qt接口封装而来,因此组件和容器更多,也更为丰富,借助于Qt强大的可视化功能,Python也可以直接拖拽控件设计界面,开发效率也更为快捷,如果你本身具有一定的Qt基础,那么可以使用一下这个库,非常不错,尤其适合于功能复杂的中大型应用: 目前,就分享这3个不错的Python GUI开发库吧,对于日常使用来说,完全够用了,至于方案的选择,这个要看实际项目和个人需求了,如果只是简单功能、个人应用,可以使用tkinter,复杂一些可以使用wxPython或PyQt,资料更为丰富、健全,网上也有相关教程,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

WPF的依赖属性和附加属性(用法解释较全)

一、引言 感觉最近都颓废了,好久没有学习写博文了,出于负罪感,今天强烈逼迫自己开始更新WPF系列。尽管最近看到一篇WPF技术是否老矣的文章,但是还是不能阻止我系统学习WPF。今天继续分享WPF中一个最重要的知识点——依赖属性。 二、依赖属性的全面解析 听到依赖属性,自然联想到C#中属性的概念。C#中属性是抽象模型的核心部分,而依赖属性是专门基于WPF创建的。在WPF库实现中,依赖属性使用普通的C#属性进行了包装,使得我们可以通过和以前一样的方式来使用依赖属性,但我们必须明确,在WPF中我们大多数都在使用依赖属性,而不是使用属性。依赖属性重要性在于,在WPF核心特性,如动画、数据绑定以及样式中都需要使用到依赖属性。既然WPF引入了依赖属性,也自然有其引入的道理。WPF中的依赖属性主要有以下三个优点: 依赖属性加入了属性变化通知、限制、验证等功能。这样可以使我们更方便地实现应用,同时大大减少了代码量。许多之前需要写很多代码才能实现的功能,在WPF中可以轻松实现。节约内存:在WinForm中,每个UI控件的属性都赋予了初始值,这样每个相同的控件在内存中都会保存一份初始值。而WPF依赖属性很好地解决了这个问题,它内部实现使用哈希表存储机制,对多个相同控件的相同属性的值都只保存一份。关于依赖属性如何节约内存的更多内容参考:WPF的依赖属性是怎么节约内存的支持多种提供对象:可以通过多种方式来设置依赖属性的值。可以配合表达式、样式和绑定来对依赖属性设置值。 2.1 依赖属性的定义 上面介绍了依赖属性所带来的好处,这时候,问题又来了,怎样自己定义一个依赖属性呢?C#属性的定义大家再熟悉不过了。下面通过把C#属性进行改写成依赖属性的方式来介绍依赖属性的定义。下面是一个属性的定义: 1 public class Person 2 { 3 public string Name { get; set; } 6 } 在把上面属性改写为依赖属性之前,下面总结下定义依赖属性的步骤: 让依赖属性的所在类型继承自DependencyObject类。使用public static 声明一个DependencyProperty的变量,该变量就是真正的依赖属性。在类型的静态构造函数中通过Register方法完成依赖属性的元数据注册。提供一个依赖属性的包装属性,通过这个属性来完成对依赖属性的读写操作。 根据上面的四个步骤,下面来把Name属性来改写成一个依赖属性,具体的实现代码如下所示: // 1. 使类型继承DependencyObject类 public class Person : DependencyObject { // 2. 声明一个静态只读的DependencyProperty 字段 public static readonly DependencyProperty nameProperty; static Person() { // 3. 注册定义的依赖属性 nameProperty = DependencyProperty.Register("Name", typeof(string), typeof(Person), new PropertyMetadata("Learning Hard",OnValueChanged)); } // 4. 属性包装器,通过它来读取和设置我们刚才注册的依赖属性 public string Name { get { return (string)GetValue(nameProperty); } set { SetValue(nameProperty, value); } } private static void OnValueChanged(DependencyObject dpobj, DependencyPropertyChangedEventArgs e) { // 当只发生改变时回调的方法 } } 从上面代码可以看出,依赖属性是通过调用DependencyObject的GetValue和SetValue来对依赖属性进行读写的。它使用哈希表来进行存储的,对应的Key就是属性的HashCode值,而值(Value)则是注册的DependencyPropery;而C#中的属性是类私有字段的封装,可以通过对该字段进行操作来对属性进行读写。总结为:属性是字段的包装,WPF中使用属性对依赖属性进行包装。

30岁退伍,想投身互联网行业,学习计算机知识是否来得及

首先,30岁开始学习计算机还是可以的,但是要根据自身的知识结构和能力特点做好规划,如果要进入IT互联网行业发展,还需要考虑到当前的技术发展趋势和行业人才需求趋势,从目前大的技术发展趋势来看,可以重点关注一下大数据、人工智能、网络安全相关方向。 学习计算机相关技术总体的学习压力还是比较大的,所以要做好三件事,其一是有一个明确的主攻方向,同时围绕主攻方向来制定学习规划,其二是要有一个有效的交流环境,交流对于学习效率的影响是比较大的,其三是要有一个较好的实践场景,实践能力的培养对于就业有非常直接的影响。 对于即将退伍的同学来说,在选择学习方向时,要考虑到自身的知识结构,如果计算机基础比较薄弱,可以重点考虑一下网络安全方向,一方面网络安全方向的人才缺口比较大,另一方面网络安全方向的很多岗位对于人才类型的需求也比较多元化。 学习网络安全可以从网络基础知识开始学起,虽然这部分内容比较多,但是通过大量的实验,大部分情况下都能够顺利掌握,但是学习周期会因人而异,有的同学的学习周期会相对长一些,而有的同学则会相对短一些。按照历史经验来看,网络基础知识的学习周期通常需要10周左右。 在学习完网络基础知识之后,需要重点了解一下网络安全设备的应用和部署,同时还需要掌握不同的网络安全平台有哪些具体的应用场景,以及在不同的安全场景下,需要如何进行设计、配置和部署。 最后,当前网络安全领域的人才缺口比较大,岗位附加值也相对比较高,高端网络安全人才的缺口更大,所以在条件允许的情况下,可以考虑通过读研来提升自身的人才层次水平。 我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。 如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以私信我!

命令 安装_Stata离线安装外部命令

首先介绍3种安装Stata命令的方式: 1、ssc install 【命令名称】 2、findit 【命令名称】 3、help 【命令名称】 在校园网内使用上面的方法是有效的,但是当我们连接的不是校园网时候,上面的方法会安装不了外部命令,显示连接超时的错误。这时,我们就需要离线安装所需要的Stata外部命令。 1、网址准备 Stata下载外部命令网址: http://fmwww.bc.edu/RePEc/bocode/ 这里我以双重差分的diff命令为例子,教大家如何操作。首先打开网址,根据命令的首字母,在里面找到diff命令。下载对应的ado,pkg,sthlp后缀的三个文件。 2、复制离线安装包到Stata命令 打开Stata的安装路径,然后打开ado文件夹下的base子文件夹,然后根据命令的首字母,将刚刚下载好的3个文件放到对应的文件夹中。 比如,我下载的diff命令,就需要把刚刚下载的ado,pkg,sthlp3个文件放到名字是“d”的文件夹啊下。 然后我们打开Stata软件,输入命令“help diff”,然后回车就可以看到diff这个命令的帮助文档了,这也说明这个命令已经安装好了。 扫码关注更多精彩 点击此处撰写留言 如果这篇文章对你有所帮助, 请帮作者点一下文末的广告。

今天日期减去过去日期_excle日期减日期得到天数,在EXCEL如何用今天日期减去之前的日期...

excel 怎样日期天数加减? 下一组日期,分上3日、3月、3年。减法的道理是一样的。 1、A1日期加三天C1中输入“=a1 3”即可。 2、A2日期加3月,可在C2中输入“=edate(a2,"3")”即可。 3、A3日期加3年,可在C3中输入“=edate(a3,"3"*12)”即可。 4、如果B4~B7是数字,要求A列日期加B4~B7的月数。那就在C4单元格输入“=edate(a4,b4)”算出C4的值。 5、然后,把C4的公式拖拽到B7即可。 注意:如果显示“#NAME”。工具-加载宏,勾上“分析工具库”。这是EXCEL自带的加载宏,默认是选上的。 excel 两个日期 时间 相减 得出 小时数的公式是什么啊 ? 1开一张Excel表格, 2、输个日时间,选键点击“设格式”,将单元格格式设置成“xxxx/x/xx xx:xx”的形式,设置完成后点击“确定”。 3、接着在在任意一行输入公式“=TEXT(B2-A2,"[h]小时m分")”。 原理就是用TEXT函数格式化的能力,将日期格式转变为时间格式。 在EXCEL如何用今天日期减去之前的日期 两个单元格直接相减就好了 得到的结果 是相差的天数 如 B2为今天日期,A2为之前日期 则公式如下: =B2-A2

c# list集合根据某个字段去重_完美解决c# distinct不好用的问题

当一个结合中想根据某一个字段做去重方法时使用以下代码 IQueryable 继承自IEnumerable 先举例: #region linq to object List peopleList = new List(); peopleList.Add(new People { UserName = "zzl", Email = "1" }); peopleList.Add(new People { UserName = "zzl", Email = "1" }); peopleList.Add(new People { UserName = "lr", Email = "2" }); peopleList.Add(new People { UserName = "lr", Email = "2" }); Console.WriteLine("用扩展方法可以过滤某个字段,然后把当前实体输出"); peopleList.DistinctBy(i => new { i.UserName }).ToList().ForEach(i => Console.WriteLine(i.UserName + i.Email)); Console.WriteLine("默认方法,集合中有多个字段,当所有字段发生重复时,distinct生效,这与SQLSERVER相同"); peopleList.Select(i => new { UserName = i.

bilibili账号申诉中心_请告诉我,客服娘!

各位小伙伴你们好,这里是哔哩哔哩客服娘! 本周受理的问题中,有好多都是关于账号使用上的咨询 那么,今天就让在下为大家统一解答吧~ 其之① 遇到这种问题时,请小伙伴联系在线客服,在说明问题的同时将手机号码告知客服娘, 工作人员会为您进行核实操作的哦 其之② 内地用户的话,绑定非虚拟号段(如170、171开头)的手机就可以正常使用站内功能了 港澳台及海外的用户需要进行真·实名认证哦 ——相关的操作请前往个人中心进行这就是个人中心desu 其之③ 当然可以啦!小伙伴可以在站内的“个人空间”中查看呢在首页直接点击自己的头像进入个人空间 在这里可以查看到注册时间和账号UID哦 其之④ 这个是小伙伴们每天咨询最多的问题 账号绑定的手机是可以解绑的哦~不过首先要满足以下两个条件: 1、绑定的手机号已经失效 2、记得当前的登录密码 符合上述情况的小伙伴们可以前往账号自助申诉平台发送自主解绑申请,工作人员会在6个工作日内予以回复(无论是解绑成功或是失败都会收到站内的系统通知) 请在审核通过后即刻绑定新手机号以免账号出现安全风险;如果被驳回的话,还请确认一下自己的手机号是否已经失效以及填入的信息有无问题 考虑到账号安全性,目前不支持单纯解绑手机和邮箱的操作。要注意哦~申诉平台是酱婶滴 另外客服娘要提醒大家:使用邮箱验证进行手机换绑就不需要再填写手机验证码了,所以请大家及时绑定好邮箱信息。同时在更换手机卡时,不要忘了顺带把B站账号的绑定信息也一并修改了哦。不然在参加需要手机验证码的活动时,可能就因为需要办理解绑而错过时间了呢QAQ 最后,统一回复下乃们最最最关注的事情吧: 为了能够及时解答各位的疑虑,客服娘决定成为偶像元旦加班! 但是还请理智调戏,不要影响需要求助的小可爱们进行正常咨询哦(๑•̀ㅂ•́)و✧ P.S.大家下期想看到什么问题的讲解,都可以悄悄告诉客服娘吖

bilibili账号申诉中心_关于b站的账号找回申诉机制

我就是一个普通的b站用户,不会做视频不会创作,这是我第一次发布这种专栏所以说可能不会有很好的表达能力,但是我只是想表达出我的想法和不解。关于b站的账号申诉机制,我已经感觉到失望了,我的号找了一个多星期,每一次我很确信的提交出我的信息我满怀期待地等待着着最后的结果,最终审核每次都没让我失望过的给了我审核失败的短信。我就想着我去找一下客服了解一下具体哪里错误或者说哪一条错误我可以再努力地想一想。可是客服从来没有实质性的作用,只会告诉我再去努力想一想。还有关于审核的问题,最令我头疼的就是注册时间,我翻了很多别人的专栏也都是吐槽注册时间的问题,这个信息确实很久远了,客服每次都说大致时间就可以了可是每次努力想了之后都是失败告终。我真的快要对这个账号的申诉丧失信心了。还有一个必填的信息是账号使用过密码,我寻思着我要是能想起来还需要账号申诉吗? 还有一个问题是账号的注销也要填写这些信息,这就导致我的号既不能找回也不能注销只能在这里挂着。希望有幸我的这篇专栏可以被客服看见,即使还剩一点点希望我也想找回我的账号,虽然等级不高但也陪伴了我5年的时间,更何况我在里面氪金过。 我很理解b站账号申诉弄这么复杂是为了避免一些恶意找回的人,或者是企图不正的人。可是像我们这样真心想找回自己的账号的也希望b站有更合理的渠道帮助我们。希望看到这篇专栏的人能够帮帮我吧。(虽然不会有人看到)

惠普主板f1怎么关闭_惠普主机怎样把f1取消 惠普笔记本

惠普台式机开机按F1怎样去除? 1、启动电脑,然后按【Del】键进入BIOS设置主界面; 2、选择“AdvancedBIOSFeatures”设置项,按回车键进入; 3、将“BootUpFloppySeek”设置为“Disabled”,这样即可关闭开机软件检测功能了,以后就不需要开机按F1启动了。 4、要是还不明白就在浏览器窗口直接搜素开机按F1解决方法。 惠普笔记本F1~F12怎么关掉功能? 建议你开机不停点击F10进入bios中,system configuration----action key mode默认为enable,这个时候不需要使用FN可以直接使用F1-F12功能按键。如果和你系统中的快捷键冲突,你觉得不方便的话,将这个选项设置为disable之后保存退出就可以,这样调节亮度等快捷键就需要按Fn F1--F12这些按键来实现了~ 急,惠普台式机开机如何取消按F1呢?谢谢? 您好,感谢您选择惠普产品。 1、屏幕提示硬盘很可能出现问题。请您回忆一下是否进行什么方面特殊操作时才开始出现这个现象的,比如是否进行过硬件改动呢? 2、如果您没有进行过特殊操作,建议您可以在BIOS中检测一下硬盘,以判断是否硬盘有故障。检测方法:您开机后马上连续按F10键进入BIOS,选择storage,运行DPS Self-Test检测硬盘。(1)如果硬盘检测过程没有报错,结果全部为passed,那么您的硬盘应该没有问题,很有可能是系统出现问题。建议您可以保存数据后,格式化硬盘,重新安装操作系统或者恢复系统试试。 希望以上回复能够对您有所帮助。 惠普电脑启动如何取消按F1? ①键盘有问题,就要修。报错就是一个警示,应该引起重视。 ②如果是误报,可以使用还原默认值(不明白哪里出错)即可。 比如华硕电脑的BIOS设置为出厂默认值设置方法(不同品牌菜单各异): 开机按Esc键,找到 Lood setup Defaults (有些BIOS选项为:Load Optimized Defaults Setting)回车确认。 重启即可。或者抠下主板上的纽扣电池,稍后装上去(放电,清理缓存)。 惠普台式机开机按F1怎样去除? 先按F9进设置,光标移动到Advanced Options回车,移动到POST F1 Prompt回车,把设置从Enabled改为Disabled回车,然后保存退出重启就好了。 如何解决惠普台式机电脑开机每次要按f1? 1、启动电脑,然后按【Del】键进入BIOS设置主界面; 2、选择“Advanced BIOS Features”设置项,按回车键进入; 3、将“Boot Up Floppy Seek”设置为“Disabled”,这样即可关闭开机软件检测功能了,以后就不需要开机按F1启动了。 4、要是还不明白就在浏览器窗口直接搜素 开机按F1解决方法。

u8显示云服务器已离线_连接不到服务器,请检查网络连接是否正常或U8管理服务是否已启动...

以客户为中心的第三代信息系统以客户为中心的第三代信息系统 :226 以客户为中心的第三代信息系统 目前信息系统的发展多集中在业务流程的执行效率上,而没有直接满足客户的需求。在客户化与个性化的浪潮中,我们需要一种新的思考方式,那就是将客户价值链中的各种组成要素进行连接(包括客户的需求、满足需求的客户化产品/服务、提供这些产品/服务的业务流程以及支撑业务流程的技术),恰当地配置价值链中的组成要素以满足不断变化的客户需求,以客户为中心的信息系统,我们认为是第三代信息系统,其业务驱动力来自于客户价值(业务竞争力),其系统发展的关键在于搭建客户价值链中的各种组成要素,来实现客户价值的不断提升。 以客户为中心的信息系统是根据客户的偏好与潜在需要进行设计,系统的拓展是一个动态过程。维基提供了一种结构化的平台,在这个平台上所有用户的使用决定了最终的产品,这种结构组织过程支撑了如此一种产品的发展,在这种信息系统中客户是系统发展的最基础的也是最关键的组成部分,他们的参与与满意使系统获得了价值。以客户为中心的信息系统必须包含四个要素——客户、流程、技术以及产品/服务,客户是系统的核心与驱动力,三个系统组成要素(流程、技术和产品/服务)的目的是服务第四个要素——客户,以客户为中心的观点使得系统的发展是“价值驱动”的,而不是成本驱动的,客户需求内在地驱动产品或服务的本质时,产品/服务又影响着流程与技术架构,实际上这四个组成要素之间互相作用,进而提供给客户更有竞争力的价值。

vue 循环遍历list_怎么用vue.js循环一个list

html> list {{ item.message }} {{index}}:{{ item.message }} {{ item.message }}--------------{{ value }} {{key}}:{{ value }} {{ n }}{{ n }} var vm = new Vue({ el:"#list", data: { items: [ {message: 'Foo' }, {message: 'Bar' } ], object: { FirstName: 'John', LastName: 'Doe', Age: 30 }, numbers: [ 1, 2, 3, 4, 5 ] }, computed:{ list:function(){ this.items.push({ message: 'Baz' }) }, evenNumbers: function () { return this.numbers.filter(function (number) {

python导入随机数模块_python如何导入random模块

random不是python解释器内置的模块,它不是Python解析器的内置模块。 导入random模块的方法是:import random 例如: 我想生成一个10以内的随机的整数,不需要random模块的别的方法的时候,也可以使用以下命令from random import randint random.randint(0,10) 查看random模块的内置方法:dir(random) 其中常用的方法有几个: choice 从一个非空列表中随机选择一个元素>>> random.choice([1,3,5,7]) 1 >>> random.choice([1,3,5,7]) 5 randint 从a和b(包括b)的范围内随机生成一个整数>>>random.randint(0,9) 2 >>>random.randint(0,9) 8 random 生成一个0(包括0)到1内的浮点数>>>random.random() 0.3898009217264272 >>>random.random() 0.897328889551127 randrange 在指定范围内随机生一个整数>>>random.randrange(100,200) 198 >>>random.randrange(100,200) 128 sample 从一个列表或集合中随机选择多个元素>>> random.sample([23,[1,2,3],"aa","bb"],2) ['aa', 23] >>> random.sample([23,[1,2,3],"aa","bb"],3) ['bb', [1, 2, 3], 23] shuffle 把一个列表内元素的顺序打乱,列表的内存地址不变>>> l1=[1,"a",3,5,"b","c"] >>> id(l1) 140436582171208 >>> random.shuffle(l1) >>> print(l1) [1, 'b', 'a', 'c', 3, 5] >>> id(l1) 140436582171208 uniform 在指定范围内随机生成一个浮点数>>> random.uniform(12,33) 27.02416276339153 >>> random.

北大青鸟汉字注释机内码_北大青鸟11SF主机调试软件里面的,汉字注释,联动逻辑,总线对应,191层显注释,291层显注释...

匿名用户 1级 2019-03-09 回答 1. 系统布线完毕后, 先不安装探测器,模块等任何设备(不包括底座), 控制器线也不接, 用500V兆欧表测试各个线间,以及各个线对大地间的绝缘电阻应大于50兆欧。若低于此值, 有可能产生不可预测的影响。 2. 重点检查控制器接大地线是否牢靠, 控制器到大地间的阻抗应小于4欧姆。这对系统的长期可靠稳定的工作至关重要e5a48de588b67a686964616f31333431343635, 特别是工业场合。控制器接大地线为交流220V电源线(三根线)中的地线。 3. 用JBF-FA编码器对各回路上的探测部件及控制部件进行编码,然后安装到底座上。 4. 控制器及探测器等部件安装完毕后, 在开通前, 检查部件接线是否正确。 检查控制器内各种连线是否正常(特别是扁平线),是否由于运输颠簸而松动。 5. 接通主备电, 如果液晶显示异常或有异味或异常声响出现, 立刻断电, 检查原因。 6. 待液晶的启动页面变成正常页面后, 操作键盘进入"设置"选单, 选中"系统登记"选项, 再选择自动登记选项,等待系统登记完毕, 退出登记。进入"查询"选单,执行"系统登记地址"查询功能,检查登记地址是否与系统的真实情况相符。若不相符, 则对不一致的地址进行处理, 排除故障, 在排除故障时,可利用"测试"选单中提供的各项功能检查某个地址是否正常,一切正常后,重新执行系统登记功能。(详见第六章操作指南) 7. 日期时钟调校 观察时钟日期是否正确, 不正确, 进入设置选单重新设置。(详见第六章操作设置部分)。 8. 联动逻辑编程 参见第六章操作指南“联动”部分。 9. 打印机输出允许设置 如果需要或不需要打印火警故障等信息, 皆可进入"设置"选单中, 选中打印机设置项, 设置打印机的开关状态。(详见第六章操作指南“设置”部分) 10.控制器联网设置 几台控制器挂接在同一条双绞线上形成网络, 具体操作见"系统网络功能"部分。注意: 网络通讯线两个终端必须加终端电阻120欧姆, 可利用控制器本身提供的终端电阻实现, 方法是将处于终端的两台控制器打开, 找到网络连线端子, 在端子附近有一个拨码或一个跳线块, 根据附近的文字标识设置到120欧姆位置即可, 其余处于网络线非终端的控制器设置到非120欧姆位置。

C++实现歌星大奖赛

C++实现歌星大奖赛 一 、需求分析: (1)在歌星大奖赛中,每位歌手演唱完,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。歌手的人数在大奖赛开始时确定。 (2)同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接近平均分)和最不公平(即与平均分的差距最大)的评委。 (3)建立数据文件,保存各位歌星比赛时的所有评委分数,包括最高分,最低分和最后得分,并对比赛结果进行排序输出; (4)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。 #include <iostream> #include <math.h> #include <stdio.h> using namespace std; //设立冒泡排序函数 void changenumber(int a[],int n){ int temp = 0; //设置中间变量 for (int i = n-1; i > 0; --i) //从后往前判断 { for (int j = 0; j < i; ++j) //判断i以前两个数值的大小,最终把这次循环最大的数放到i的位置上去 { if (a[j + 1] < a[j]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } } int main() { int Singer=0; cout<<"