(注)适用版本:word
2007/word 2010/word 2013,至于2003没有经过测试,尚且不明。
要说工作中什么软件用的最多,自然非Office系列软件莫属。对于工科人士来讲,Word似乎用的更多一些(个人认为文科人士用Excel更多一点,没做统计,不好下结论)。今天要提到的功能主要是针对长文档而言的。
在word文档结构中,我们经常会用到章节标题,在组织文档的时候,最原始的做法就是写一个标题然后将其格式化为标题样式。对于较短的文档,使用这种方式自然不会出现太多的问题,然而,如果文档规模达到一定的程度,采用这种手工编号的方式,存在诸多的弊端。
首先一个弊端来自于操作繁琐。每一章节都要手工去编号,如果章节很多(几十章几百节),编号也是一个非常费劲的事情。
其次,在多人合作的环境中,如果每个人负责其中一部分文档,在研究工作结束之后进行文档汇总。如果事先没有一个好的自动编号模版,仅靠人工编号的话,无疑是一件苦差事。很不幸,前阵子我就碰到了这种悲催的事情。上百多页的文档,十七章内容,标题深度达到了四级。文档汇总工作将我折磨得死去活来。
好了,言归正传。
标题格式定义一般用于文档写作之前。故我们从空白文档开始。本次演示软件为word2013版本。2007及2010版操作步骤相同。
1、新建一个空白文档
启动word软件,点击【新建】按钮,在模版中选择【空白文档】,新建一个空白文档。
2、修改标题格式
鼠标右键选择【开始】>【样式】中的标题样式,在弹出的菜单项中选择修改。如下图所示。按格式要求修改各级标题的格式要求。如以及标题1用小二号黑体加粗,标题2用三号黑体加粗,标题3用小四黑体加粗等。标题格式根据个人要求不同自由修改。
一般文档都有三级标题,因此我们这里以三级标题为例。
3、定义多级列表
点击【段落】标签中的定义多级列表按钮,如下图所示。
弹出下图所示的定义对话框。
选择按钮【定义新的多级列表】,弹出下图所示对话框。
点击【更多】按钮,出现额外的设置选项。如下图所示。
进行图中所示设置。
(1)在【单击要修改的级别】选项下选择1
(2)设置【将级别链接到样式】下拉框中选择标题1
(3)在【要在库中显示的级别】下拉框中选择级别1
(4)在【起始编号】设置框中设置为1
(5)在【编号之后】下拉框中选择空格
另外还有两个地方需要设置,一个是字体,另外一个是文本缩进。
4、设置标题字体
点击上图中的【字体】按钮,进入字体设置对话框,如下图所示。
字体设置完毕后,点击【确定】按钮返回。
5、设置文本缩进
点击【定义多级列表】对话框中的【设置所有级别】按钮,弹出下图所示对话框。
按实际需求设置每一级的缩进量。我们这里设置缩进量为0。点击确定按钮返回至【定义多级列表】对话框。
至此,标题1样式定义完毕。
6、设置标题2及标题3
按相同的步骤定义标题2及标题3的样式。
定义完毕后,点击【确定】按钮关闭对话框。
现在可以试一下了。
在写文档的时候,直接点击样式列表中的标题样式,是不是能实现自动编号了呢?而且在文档内部随便插入,都能很好的实现自动编号。省时又省力。
目录 一、环境配置二、数据集的准备三、猫狗分类的实例——基准模型四、根据基准模型进行调整五、使用VGG19实现猫狗分类六、参考链接 一、环境配置 安装Anaconda3
详细安装配置:
https://blog.csdn.net/cungudafa/article/details/104573389配置TensorFlow、Keras
①创建虚拟环境
输入下面命令 conda create -n tf1 python=3.6 #tf1是自己为创建虚拟环境取的名字,后面python的版本可以根据自己需求进行选择 ②安装tensorflow和keras
pip install 包名 #直接这样安装可以由于网络的原因,安装失败或者安装很慢 #解决方式: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名 #此次安装命令如下: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==1.14.0 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple keras==2.2.5 二、数据集的准备 数据集的下载
kaggle网站的数据集下载地址:
https://www.kaggle.com/lizhensheng/-2000数据集的分类
将下载的数据集进行解压操作
按照命名进行分类
分类前
分类后
分类代码如下 import tensorflow as tf import keras import os, shutil # 原始目录所在的路径 original_dataset_dir = 'G:\\Cat_And_Dog\\kaggle\\train\\' # 数据集分类后的目录 base_dir = 'G:\\Cat_And_Dog\\kaggle\\cats_and_dogs_small' os.mkdir(base_dir) # # 训练、验证、测试数据集的目录 train_dir = os.
有这样一种图片验证码
话不多说,直接上代码:
/// <summary> /// 获取滑块图片水平缺口的位置 /// </summary> /// <param name="bitmapA"></param> /// <returns></returns> public static int GetDiffPixel(Bitmap bitmapA) { for (int w = 0; w < bitmapA.Width - 10; w++) { int iDiffPix = 0; int iDiffPixMax = 0; for (int h = 0; h < bitmapA.Height; h++) { Color piexl1 = bitmapA.GetPixel(w, h); bool isCoherentH = true; for (int i = 0; i < 10; i++) { Color piexl2 = bitmapA.
解决Python中无法安装旧版本TensorFlow问题 前言一、报错信息二、报错原因三、解决方案conda命令学习最终解决如何使用新创建的环境pycharmJupyter 前言 当我们从网上拷贝一份TensorFlow代码想自己运行试试时,这时你往往会发现很多方法会报错,然后你会发现是自己TensorFlow版本过高,因为现在网上很多的TensorFlow代码还是用1.几的版本,但是当我们想pip下载旧版本TensorFlow时我们仍然看遇见不少错误,下面带大家解决这些错误吧。 一、报错信息 当我们试图运行pip install tensorflow==1.2.0时,我们也许会发现下面这些报错:
ERROR: Invalid requirement: 'tensorflow=1.2.0' Hint: = is not a valid operator. Did you mean == ? 又或者
ERROR: Could not find a version that satisfies the requirement tensorflow==1.2.0 (from versions: 2.2.0rc1, 2.2.0rc2, 2.2.0rc3, 2.2.0rc4, 2.2.0, 2.2.1, 2.2.2, 2.2.3, 2.3.0rc0, 2.3.0rc1, 2.3.0rc2, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.4.0rc0, 2.4.0rc1, 2.4.0rc2, 2.4.0rc3, 2.4.0rc4, 2.4.0, 2.4.1, 2.4.2, 2.5.0rc0, 2.5.0rc1, 2.5.0rc2, 2.5.0rc3, 2.5.0) ERROR: No matching distribution found for tensorflow==1.
目录
起因
过程
解决办法
建议:急性子可以直接看解决办法,问题解决了或没解决都可以再看下前面的起因和过程。
起因 今天打开电脑后,右下角的无线网络图标变成了两段线的斜杠/,鼠标放上去提示网络已断开,打开网络配置显示有线网络已禁用,无线网络已连接,看上去一切正常,没什么问题:
唯独右下角的网络图标看上去很碍眼,强迫症犯了,尝试去恢复图标,把有线网络禁用/启用操作无效,看着无线网络,突然手贱按了笔记本的无线网络关闭快捷键:Fn + F3,然后就是上图的无线网络图标右边状态发疯了似的不断在“已连接”和“已禁用”间切换,心里渐渐涌起一阵不妙,果不其然,在一阵疯狂状态切换后,无线网络这一行直接没了,没了。。。
过程 接着就是心态崩溃的各种尝试:
再次按下Fn + F3快捷键,怀着刚才是关闭了无线网络,我再打开应该就能恢复了的自我安慰心态,结果,,没有任何反应。。。试试systemctl restart networking.service,成功了,没变化。。重启系统,也许重启后无线网络就自行恢复了呢!抱歉,幻想破灭。。重启后试着再次按了Fn+F3按钮,无线网络图标出现了,但右边状态仍然在“已连接”和“已禁用”间不断切换,最后再次消失不见,心情已落入谷底。。尝试NetworkMangager图形版,执行nmtui,只看到了有线网络和蓝牙网络,无线网络压根就不出现,奔溃了。。 重整思路,开始分析问题可能原因:1)网卡出问题了;2)网卡驱动出问题了。网卡大概率是正常的,毕竟前面的尝试中无线网络图标还是出现过,lspci查看下:
$ lspci |grep -i wireless 07:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32) 能够正常看到无线网卡信息,再百度下网卡Qualcomm Atheros QCA6174对应的驱动程序,确认应该是linux-firmware这个包,环境中看下,驱动程序也是正常安装了的:
sudo apt list|grep linux-firmware WARNING: apt does not have a stable CLI interface. Use with caution in scripts. linux-firmware/未知,未知,now 1.187 all [已安装] 到了这里,问题卡住了,暂时没有其他思路了,主要还是对网络这块研究不深,开始发散搜索相关资料。。
问题的破局点,在无意中看到的一个查看网卡信息的命令:iwconfig,执行后结果如下:
$ iwconfig wlp7s0 IEEE 802.11 ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=off Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off enp8s0 no wireless extensions.
计算机毕业实习报告3000字范文{3篇}
由于这次实习,是我们专业唯一的实习教学环节,把原来的认识实习、生产实习和毕业实习集中到一起了,锻炼自己的实习工作能力,适应社会能力和自我管理的能力。以下就是为您整理的”毕业实习报告”,希望对您能够有所帮助
毕业实习报告1
在计算机飞速发展的今天,计算机成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用,
。因此学习计算机应用的意义显而易见。
上星期我们进行了为期1周的计算机实习。实习是每一个大学毕业生必须拥有的一段经历,它使我们在实践中了解社会、在实践中巩固知识;实习又是对每一位大学毕业生专业知识的一种检验,它让我们学到了很多在课堂上根本就学不到的知识,既开阔了视野,又增长了见识,为我们以后进一步走向社会打下坚实的基础,也是我们走向工作岗位的第一步。
通过这几天的学习实践和老师的指导,我已对Powerpointt和Word、Excel等应用软件有了一定的了解并能进行一些简单的操作。 Powerpoin是用于设计制作专家报告、教师授课、产品演示、广告宣传的电子版幻灯片,制作的演示文稿可以通过计算机屏幕或投影
陈竹的回答:
1GB 等于 1024MB 。
1GB简称1G 。?1G=1024MB,1MB=1024KB,1KB=1024字节,各个单位都是 1024 的数量级关系。在生活中,一张图片的大小差不多就是几个 MB 左右,而一部电影则差不多在 2GB 左右。不同的数据和文件可以使用不同的存储单位来描述。
GB是存储单位,指的是数据在计算机内部当中所占用空间的大小描述,可以将存储单位比喻为我们生活中常见的仓库,仓库一般可以用面积即平方米、立方米来描述,平方米和立方米实际上就是仓库的存储单位。
在计算机中,任何用来计算或者处理的数据都必须存储在计算机上,这样处理器才能够处理这些数据的信息,并对计算机的操作发生相关指令。计算机的空间越大,它能够存储的数据也就越多。
扩展资料:
计算机在运行的时候,内部的所有工作都是建立在二进制之上的,二进制是一个独特的计数方式,它只有1和0两个数字,能够表达逻辑判断,计算机当中所有的数据都以二进制方式来运行。为了表达这些数据的大小和存储空间,计算机界制定了存储单位,最小的存储单位就是比特,英文为bit,一 bit等于一个二进制数,但比特不会作为常用的描述存储的单位存在。
为了更好地描述存储单位,使人们能够更容易理解计算机的空间,计算机行业又制定了比比特更大的单位,这个单位就是字节,英文描述为byte,简写为字母B,它是常用的基本单位。随着计算机数据的不断扩大,KB又出现了,它和byte的换算关系就是1个KB等于1024B,然后又是MB,1MB等于1024KB。
接下来的就是非常常见的GB,1GB等于1024MB ,再往上就是TB,1TB 等于1024GB ,各个单位都是1024的数量级关系。在生活中,一张图片的大小差不多就是几个MB左右,而一部电影则差不多在2GB左右。不同的数据和文件可以使用不同的存储单位来描述。
具体的换算为:
1G=2×2×2×2×2×2×2×2×2×2=1024MB
从而得出其他单位的换算:
1TB=2×2×2×2×2×2×2×2×2×2=1024GB
1MB=2×2×2×2×2×2×2×2×2×2=1024KB
1KB=2×2×2×2×2×2×2×2×2×2=1024B
参考资料:搜狗百科-1G
马媛媛的回答:
1GB等于1024MB。
流量的单位从小到大依次是:字节(B)、KB、MB、GB、TB。
在微型计算机中,每个存储单元存放一个字节量的数据。
1字节(Byte:)等于8比特。
B(字节):1字节=8比特?
KB(千字节):1KB=210字节=1024字节?
MB(兆字节):1MB=1024KB=220字节?
GB(千兆字节):1GB=1024MB=230字节?
TB(兆兆字节):1TB=1024GB=240字节
扩展资料
节省手机流量的办法:
手机如果带有wifi功能,在能使用wifi的地方尽量使用wifi。
浏览网页如果可以关闭图片动画声音,尽量关闭,上传图片尽量压缩小之后再上传。
下载东西时尽量使用带断点续传功能的软件下载以免中途断线又要重新下载。
经常查看联网的后台程序,如果可以设置软件联网时间间隔,可以尽量设大(如检查电子邮件时间)。关闭软件自动更新,自动网络获取信息等功能。
使用省流量的游览器,打开压缩中转,低彩等功能。
尽量不用手机下载太大的音乐,电影,应用等。
注意及时关闭比较消耗流量的应用,例如手机地图。
参考资料:?百度百科-流量
参考资料:?百度百科-存储单位
崔慧妍的回答:
1GB=1024MB?
这个数据是这样计算的,最小单位为B(字节)然后依次为KB(千字节)、MB(兆字节)、GB,换算关系如下:
1GB=1024MB
也就是说1G流量约等于1024MB
1MB=1024KB?
1kb=1024B
扩展资料:
流量的基本概念介绍
通常说网站流量(traffic)是指网站的访问量,是用来描述访问一个网站的用户数量以及用户所浏览的页面数量等指标,常用的统计指标包括网站的独立用户数量(一般指IP)、总用户数量(含重复访问者)、页面浏览数量、每个用户的页面浏览数量、用户在网站的平均停留时间等【详细说明:访问流量包括哪些主要统计指标。流量也是决定一个网站价值的因素】。
网站流量指标
网站流量统计指标常用来对网站效果进行评价,主要指标包括:
独立访问者数量(unique visitors);
重复访问者数量(repeat visitors)。
页面浏览数(page views);
文章目录 1. 音频基本概念1.1 原理图1.2 IIS通信时序1.3 了解几个概念 2. 主从模式分析3. 时钟分析3.1 Audio sub system3.2 epll3.3 IIS 4. 修改记录 1. 音频基本概念 1.1 原理图 SOC与codec之间通信分为控制接口I2C和数据接口I2S,I2S有三个时钟信号,MCLK,BCLK,LRCLK,这三个时钟尤为重要。
1.2 IIS通信时序 1.3 了解几个概念 采样频率(FS):一秒采集多少个声音“像素”,每采集一个点,左右声道切换一次,等于左右声道切换的频率,对应LRCLK采样深度:一个声音点的数据宽度,一般一个声道16bit(ADC DAC精度),一个声音点32bitIISCLK(BCLK):bit clk,音频采集的最小粒度,IISCLK=FS声道采样深度CODECLK(MCLK):master clk,这个比较特殊,在主模式 mclk 由 soc 产生,一般为BCLK和LRCLK的整数倍,这个是soc强制要求的,别无它选。
其实soc是冤枉的,它之所以要求这个的目的,是为了满足codec的要求,比如44.1khz采样频率,采样深度16,bclk为1.4112M,codec要求MCLK=11.2896M,正好是8倍的BCLK,256倍的FS
从模式时,MCLK往往都是一颗固定频率的晶振比如24M的晶振,codec拿这个时钟通过内部的pll算出一个sysclk,频率也得是256fs等等,就是不用你soc提供了,我自己算一个。一般来说,用从模式比较好,codec内部的pll算的时钟比较精确,soc单纯靠分频来弄一个类似于11.289600MHz太难了。
2. 主从模式分析 首先来分析一下 tiny4412 网卡的硬件设计支不支持从模式,从模式时,CDCLK 也就是 codec clk 还叫 IISCLK 是什么都不接的,使用外部晶振作为mclk,
但是 tiny4412 使用的是 cdclk作为master,因为 tiny4412 不支持从模式。
3. 时钟分析 4412 音频的时钟分为三部分,第一部分系统时钟,第二部分音频子系统的时钟,第三部分IIS控制器的时钟。
3.1 Audio sub system 音频子系统的时钟输入有多个,EPLL、XXTI、SCLK_AUDIO0、还有外部输入的 cdclock,建议使用EPLL作为时钟输入,因为EPLL可以输出的时钟精度比较高,其它时钟源通过简单的分频都无法满足要求。至于输出给IIS控制器的时钟选择 audio bus clk 还是 i2sclk都可以,我在代码中使用的是 audio bus clk
1:oracle 分页
select * from (select t.*, rownum rn from (select * from menu order by id desc) t where rownum < 10) where rn >=5
2: mysql 分页
select * from music where id limit 5,5
3:oracle中如何快速将一张表的数据复制到另外一张表中(另外一张表不存在,另外一张 表存在,但数据为空)
.不存在另一张表时: create table 新表 as select * from 将要复制的表
存在另一张表时: insert into 新表名 select 字段 from 将要复制的表名
4:音乐专辑
查询出special <app:ds:special>表中的id 专辑名 并下面有多少首歌曲
Select s.id , min(s.sname),count(m.mid) from special s inner
原神手游中,用琴道具弹奏出天空之城这种高难度的歌曲,也是颇具挑战性,但弹奏出来一定很有成就感。那么天空之城的琴谱到底是什么呢?今日光耀菌就分享天空之城的琴谱,快来了解一番吧!
原神天空之城琴谱一览
数字(手机)版
671+71+3+7
36561+5
234341+3
1+1+74477
671+713+7
36561+5
2341+771+2+3+1+1+
1+76756
1+2+3+2+3+5+2+
551+71+3+3+
671+71+2+1+55
4+3+2+1+3+
3+6+6+5+5+3+2+1+1+2+1+2+5+3+
3+6+6+5+5+3+2+1+1+2+1+2+76
671+713+7
36561+5
234341+3
1+1+74477
671+713+7
36561+5
2341+771+2+3+1+1+
1+76756
1+2+3+2+3+5+2+
551+71+3+3+
671+71+2+1+55
4+3+2+1+3+
3+6+6+5+5+3+2+1+1+2+1+2+5+3+
3+6+6+5+5+3+2+1+1+2+1+2+76
字母(电脑)版
HJQJQEJ DDHGHQG
SDFDFQD QQJFFJJ
HJQJQEJ DDHGHQG
SDF QJ Q W WEQ QJHJGH
QWEWETW GGQJQEE
HJQJQWQGG REWQE
EY YT TEWQ QWQWTE
EY YT TEWQ QWQWJH
总而言之,高难度的琴谱想要掌握,还需要勤加练习,或者就截取其中的一个小片段学会再说。
上文就是原神的天空之城琴谱分享,希望可以帮助各位了解这首歌的弹奏方式。如果还存在其他方面的疑惑,欢迎持续关注趣趣手游网,光耀菌会在第一时间更新实用攻略。
#coding=utf-8
#文件名:
#BatchConverWords2Html.py
#说明:
#批量将一个文件夹下的所有.doc/.docx文件转为.html文件,需要安装对应的Win32模块
#调用方式:进入源程序目录,命令:pythonBatchConverWords2Html.pyRootDir
fromWin32comimportclientaSWc
importos
Word=wc.Dispatch('Word.Application')
defWordsToHtml(dir):
Forpath,SUbdirs,filesinos.walk(dir):
ForWordFileinfiles:
WordFullName=os.path.join(path,WordFile)
#PRint"Word:"+WordFullName
doc=Word.Documents.Open(WordFullName)
WordFile2=unicode(WordFile,"gbk")
dotIndex=WordFile2.rfind(".")
if(dotIndex==-1):
PRint"********************ERROR:未取得后缀名!"
fileSuffix=WordFile2[(dotIndex+1):]
if(fileSuffix=="doc"orfileSuffix=="docx"):
fileName=WordFile2[:dotIndex]
htmlName=fileName+".html"
htmlFullName=os.path.join(unicode(path,"gbk"),htmlName)
#htmlFullName=unicode(path,"gbk")+"\"+htmlName
PRint"generatehtml:"+htmlFullName
doc.SaveAs(htmlFullName,10)
doc.Close()
Word.QUIt()
PRint""
PRint"Finished!"
if__name__=='__mAIn__':
importsys
iflen(sys.argv)!=2:
PRint"Usage:pythonfuncName.pyrootdir"
sys.exit(100)
WordsToHtml(sys.argv[1])运行结果就是在rootdir目录下的所有Word文档转为简洁版的html网页文件,生成的文件存在原Word同目录下,生成 xxx.files 文件夹。
1、AD用户
在Windows Server 2003操作系统中,域环境包含两种类型的用户,域用户账户和本地用户账户。其中,本地用户账户的创建和管理详见第2章。
域用户账户可以位于整个域任何一个组织单位中,通过域中任何一台计算机都可以让用户登录到域并能访问域中的资源。在域控制器的“Active Directory用户和计算机”管理单元中可以创建域用户账户。域户账户信息存储于域的AD数据库中。当在域中任意一台域控制器上新建一个域用户账号后,此账号的副本会自动被复制到域中所有域控制器的数据库中,复制过程完成后,域树中的所有域控制器都可以在登录过程中对该用户进行身份验证。
2、创建域用户账户
要管理域用户账户,首先要创建域用户账户,步骤如下。
单击菜单“开始”一“管理工具”一“Active Directory用户和计算机”,打开“Active Directory用户和计算机”窗口。右键单击控制台树状目录中的域节点(TEST.com),在弹出的快捷菜单中选择“新建”一“用户”。
弹出“新建对象-用户”对话框,如图1所示。在此,输入用户相应的个人信息以及用户在登录时使用的名字。创建一个登录名为“userl”的用户账户,在“姓”文本框中输入“user”,“名”文本框中输入“1”,“英文缩写”文本框中输入“ul”,“用户登录名”文本框中输入“userl”,单击“下一步”按钮。
在“密码”和“确认密码”文本框中输入2次相同的密码,并选择合适的密码策略选项,如图2所示。单击“下一步”按钮。
在Windows Server 2003中,域用户账户密码默认规则如下:
密码必须包含7位以上字符;
密码中英文字符必须有大写有小写;
密码中必须要有数字;
密码中必须要包含字符。
例如:C0mP4*>vk32。
查看汇总报告,如图3所示,单击“完成”按钮,创建该域用户账户。
3、管理域用户账户
在域用户账户中,包含“常规”、“地址”、“账户”等账户属性,如表所示。可以根据实际网络中用户的情况,分別对上述用户账户属性进行设置。
要对这些账户属性进行设置,步骤如下。
单击菜单“开始”—“管理工具”—“Active Directory用户和计算机”,打开“Active Directory用户和计算机”窗口。展开控制台树状目录中的域节点(TEST.com),右键单击域用户账户userlul,在弹出的快捷菜单中选择“属性”,打开“userlul属性”对i舌框,如图4所示。
注意:在管理“Active Directory用户和计算机”窗口中的用户时,为了增加一定的安全性,往往对一段时间不使用的用户账户采取禁止使用该账户登录系统的措施(右键单击要禁用的账户,选择“禁用账户”);在需要使用该账户时,可以将已被禁用的账户重新启用(右键单击要启用的账户,在弹出的快捷菜单中选择“启用账户”)。
async函数 标题内容async的引入AsyncFunction构造函数, Generatorasync的含义async函数是什么?async的特点内置执行器, 更好的语义, 更广的适用性, 返回值是Promiseasync的实现原理Generator函数, 自动执行器 async的引入 ES2017标准引入了async函数,使得异步操作变得更加方便。也可以说是Generator的语法糖。 (了解)AsyncFunction构造函数 AsyncFunction构造函数用来创建新的异步函数对象,JavaScript中每个异步函数都是AsyncFunction的对象。 async function asyncFunction(){} asyncFunction.constructor // AsyncFunction() { [native code] } 注意: AsyncFunction并不是全局对象,需要通过下面的方法来获取: Object.getPrototypeOf(async function(){}).constructor // AsyncFunction() { [native code] } AsyncFunction语法 new AsyncFunction([arg1[, arg2[, ...argN]],] functionBody) AsyncFunction参数 arg1, arg2, ... argN: 函数的参数名,它们是符合JavaScript标示符规范的一个或多个用逗号隔开的字符串。例如x, theValue或a, b。
functionBody: 一段字符串形式的JavaScript语句,这些语句组成了新函数的定义。
function resolveAfter2Seconds(x) { return new Promise(resolve => { setTimeout(() => { resolve(x); }, 2000); }); } var AsyncFunction = Object.getPrototypeOf(async function(){}).constructor; var a = new AsyncFunction('a', 'b', 'return await resolveAfter2Seconds(a) + await resolveAfter2Seconds(b);'); a(10, 20).
打包时候加上密码,让pyc变为pyd,命令如下:
pyinstaller -F --key 密码 xxx.py
文件描述符 文件访问方式:进程访问文件数据前必须先打开文件
内核跟踪进程打开的所有文件:操作系统为每个进程维护一个打开文件表,文件描述符是打开文件的标识,即 文件描述符是操作系统在打开文件表中维护的打开文件状态和信息,其中包括:
访问模式:
顺序访问:按字节顺序一次读取(大多数)
随机访问:从中间读写(不常用,但很重要,比如虚拟内存中把内存页存储在文件)
索引访问:依据数据特征索引,操作系统通常不提供文正索引访问,可以在上面建数据库,数据块建立索引内容
网络/分布式文件系统 a. 例如:NFS,SMB,AFS,GFS
b. 文件可以通过网络被共享,文件位于远程服务器,客户端远程挂载服务器文件系统,标准系统文件访问被转换成远程访问,要有标准文件共享协议。
c. 面临更多挑战,例如客户端用户辨别、一致性问题、错误处理模式。
虚拟文件系统: 虚拟文件系统的提出是为了面对多种不同的文件系统对上提供一种统一的接口。
IO子系统 I/O数据传输 CPU与设备控制器的数据传输:
1、程序控制I/O:
a. 通过CPU的in/out或者load/store传输所有数据
b. 特点是硬件简答,编程容易,但是消耗CPU时间,适用于简单的小型的设备I/O
2、直接内存访问(DMA)
a. 设备控制器可直接访问系统总线
b. 控制器直接与内存湘湖传输数据
c. 特点是设备传输数据不影响CPU,只需要CPU参与设置,适用于高吞吐量的I/O。
磁盘调度 通过优化磁盘访问请求顺序来提高磁盘访问性能。
1、寻道时间是磁盘访问最耗时的部分
2、同时会有多个在同一磁盘上的I/O请求
3、随机处理磁盘访问请求的性能表现很差
调度算法:
为什么需要磁盘调度?
如上图所示,盘片是匀速旋转的,如果有一个磁盘访问序列,不进行优化而随机访问的话,效率很低
1、FIFO:先进先出,按顺序
2、SSTF(最短服务时间优先):选择离磁臂当前位置最近的请求执行
3、扫描算法:磁臂在一个方向上移动,访问所有未完成的请求,直到磁臂到达该方向上最后的磁道,也称电梯算法
4、循环扫描算法:限制为仅在一个方向上扫描
5、C-LOOK算法:磁臂先到达该方向上最后一个请求的位置,然后立即反转
6、N步扫描算法:一侧请求过多时,磁头会有粘着现象,后面磁道无法响应,将磁盘请求队列分成长度为N的子队列,按FIFO算法依次处理所有队列,扫描算法处理每个队列
7、双队列扫描算法:只有两个队列,交替使用扫描算法处理两个队列,新生成的I/O请求放入另一个队列中。
永磁同步电机电流环PI的理论整定计算方法 典型I型系统的传递函数如下图所示:
在永磁同步电机的FOC系统中,电流环一般作为内环存在,外环则根据实际工况进行选择,外环可以是转速环,转矩环或者是位置环,在该系统文章的讲解中,主要以电流环进行讲解。
图1 电流环简化图
电机控制系统的简化图如图1所示,控制器采集到的三相电流经过dq变换以后,与电流给定值进行比较,输入到PI调节器,通过PI调节以后,输出三相的需求电压,通过PWM逆变器控制永磁同步电机运行。
将图1中的电流环简化图转化成如图2 所示的传递函数形式。
图2 电流环中的传递函数
在图2 的上图中,除了PI调节器以及负载外还有两个绿框中的部分,CPU在红色点处进入中断,读取电流反馈值,然后进行PI调节器的计算,得到输出电压,但是输出电压不是立即作用出去的,通常会等到三角波回到0计数点,才会将比较值输出出去,这样就造成了采样和计算的延时,第一个绿色框的延时环节是一个采样延时,延时为Ts。对于7段式SVPWM,输出会存在0.5Ts的延时,也就是第二个绿色框的分母部分,Kpwm表示逆变器的放大倍数。
图3 电流环运行时序图
在开关频率为10KHZ时,由于开关频率较高,就可以把延迟环节和PWM输出环节合并处理,记 td = Ts ,并将 Kpwm看成 1 来处理,可得以下流程图:
图4 简化后的电流环传递函数
负载环节的传递函数,对永磁同步电机q轴电压方程,忽略动态项和耦合项之后,公式如下:
U_q=Ri_q+L_q d_q/d_t (1)
经过拉普拉斯变换以后得到:
G_p (s)=(i_q (s))/(u_q (s))=1/(R+L_q (s)) (2)
将电流环按照典型的I型系统(实际上是一个二阶系统)进行分析,则电流环的系统开环传递函数如下图所示:
假设τ_i=L_q/R,则整定后的开环传递函数如下:
对K和T进行求解:
参考下图典型I型系统按照KT=0.5进行计算
Kp和Ki的计算参数如下:
其中Ts为PI调节器计算的周期,一般情况下等同于逆变器的开关周期。
参考:
1.《永磁同步电机矢量控制(三)——电流环转速环 PI 参数整定》
https://blog.csdn.net/sy243772901/article/details/82221672
2. 永磁同步电机PI调节 https://zhuanlan.zhihu.com/p/284025354
注意事项: 常见闪退原因
Root的手机闪退概率高
Root了的手机不给root权限
有xp环境的容易闪退
没有网络
手机开了VPN或者代理
功能简介: 主要是对Apk、Dex、Jar、Smali、Pdf、视频和音频文件的简单应用。
Dex、Jar、Smali文件的相互转换;
Dex文件合并、分割;
Apk、dex、jar混淆和字符串加密;
Apk签名、共存、去除签名校验、对话框取消、去除VPN/代理检测;
Res资源混淆(支持自定义字典);
Pdf合并、加密、分割、提取、解除加密限制、删页;
视频转码、剪切、提取音频/视频流、自定义音频/视频操作;
文件夹转码GBK<-->UTF-8;
So文件查看字符常量;
Apk加固判断,Dex编辑(批量删除类);
高兼容性字符串加密(Apk、dex);
工具箱(常见字符串转换,如base64、des、md5、16进制、Unicode、去空白等);
Smali文件转Java;
一键添加Xposed检测,一键添加弹窗、对话框;
axml反编译/回编译、arsc文件查看字符常量;
一键LOG注入,一键去除所有弹窗(Toast);
一键注入字符串解密LOG,Dex文件换包名;
多种Apk字符串加密方案(推荐控制流混淆中的字符串加密);
一键添加禁止截屏,一键添加Apk崩溃日志记录;
XML文本代码格式化;
Dex文件查看字符常量;
Apk超级混淆3.0–高效率直接对dex混淆,支持混淆四大组件,支持多dex;
Apk功能–DEX混淆对抗;
Dex编辑Plus(支持搜索、编辑Smali和查看字符常量);
支持Smali、Java、AXML等编辑器内语法高亮;
一键提取Dex混淆字典,加密Dex中的资源ID;
Apk对齐优化;
Dex批量修复;
超强版去除签名校验;
assets和res资源加密保护;
Dex文件对比;
文本文件对比;
class文件和jar包反编译;
Apk功能–控制流混淆 5.0-高效率全量加密字符串,方法隐藏,加密资源id,指令替换,dex优化,反射保护,扁平化等;
Dex功能-属性查看;
Smali语法查询;
Smali执行流程图查看(编辑器->导航->长按方法名->查看流程图)
Smali方法CodeOffset大小查看(编辑器->导航);
Smali方法IR查看(编辑器->导航);
Svg和android vectorDrawable XML——互转和预览功能(多选批量);
Json文件可视化、格式化、校验、压缩、转义以及和xml互转;
网络接口测试工具NPMan,支持常见网络请求测试、Ping测试;支持读取HttpCanary保存的请求文件request.hcy和request_body.bin;支持上传二进制文件作为请求体;
Apk-VM保护,支持配置注解和类名方法名规则;
Apk-Res反混淆;
支持单独对Jar或者Dex文件进行控制流混淆。
文章来源于http://www.91apps.cn/android-1557.html:
fork()是怎么实现的
多进程并发运行,导致多个进程间有资源共享,比如CPU、内存,因此存在不确定性和不可重现,可能导致多次运行结果不一致。因此操作系统需要利用同步机制在并发执行的同时,保证一些操作是原子操作。
原子操作是指一次不存在任何中断或失败的操作
类比事务的原子性:要么操作成功完成,要么操作没有执行,不会出现部分执行的状态。
互斥是指一个进程占用了某个资源,其他进程都不能使用该资源;死锁是指多个进程各占有了一部分资源,形成了循环等待;饥饿是指其他进程轮流占用资源,一个进程一直得不到资源。
进程同步方法 1、临界区 同步:协调多线程对共享数据的访问,任何时刻只能有一个线程执行临界区代码
临界区实现方式(实现进程同步的方法):
一,禁用中断,进入临界区后不响应中端;(仅限于单处理器)
二,软件方式,共享变量协调;(比较复杂)
Peterson算法(适用于两个进程之间)
turn表示谁进入临界区,flag【】表示进程是否准备好进入临界区
如果多个进程之间的同步问题,flag就会变多,turn只有一个
三,借用操作系统提供高级的抽象编程方法——原子操作指令(单处理器或多处理器均可)
更高级的抽象方法实际是借助硬件的同步原语来实现的。硬件提供了一些同步原语,包括中断禁用、原子操作指令等,**从硬件上保证多个操作的原子性。**实现方式有锁、信号量。
2、锁 锁是一个抽象的数据结构,由一个二进制变量(锁定/解锁)和两个操作原语(锁的请求和锁的释放)组成。二进制变量用于标志锁的状态,**锁的请求使锁在被释放前一直等待,并且使进程得到锁,这两者是原子的,释放锁时唤醒其他等待锁的进程。**内部基于CPU体系结构提供的一些特殊的原子操作指令,这些指令把若干个指令合并为一次原子操作,保证不会出现部分执行的状态。这些原子操作指令包括测试和置位指令(Test-and-Set,即TS指令,返回内存地址中的值,并将其置为1)、交换指令(交换内存中的两个值)。
基于TS指令可以实现如下图所示的自旋锁,自旋锁的缺点是线程等待时消耗CPU时间。
针对自旋锁的问题,出现了无忙等待锁,当锁已经被占用时,将自身线程放入等待队列,并调用调度程序。当其他线程释放锁时会将所有等待中的线程重新唤醒。
上面的锁使用TS原子指令来实现的,也可以用交换指令(原子指令)来实现。
3、信号量 信号量与管程也是进程间通信的方式。信号量是与锁在同一层级实现的,是操作系统提供的一种协调共享资源访问的方法。信号量由操作系统管理,操作系统作为管理者地位是高于进程的。
信号也是一种抽象的数据类型,由一个整型变量(sem)和两个原子操作组成。P()操作使sem减一,若sem<0进入等待,否则继续。V()操作使sem加一,如果加一后sem仍然小于等于零,代表还有线程在等待使用资源,此时就唤醒一个等待进程。因此信号量实际是一个被保护的整型变量,只能通过PV进行操作,操作系统保证PV操作的原子性。通常假定信号量是公平的,线程不会无线阻塞在P操作,可以假定信号量等待时按照先进先出排队的。而自旋锁是无法实现先进先出的,因为它需要占用CPU资源不停查询锁是否空闲,无法指定进入临界区的顺序。
生产者-消费者问题
信号量存在如下问题
4、管程(条件变量) 管程是一种用于多线程互斥访问共享资源的程序结构,采用面向对象的方法,简化线程间的同步控制,保证任意时刻最多只有一个线程执行管程代码,管程与临界区的区别是在管程中的线程可临时放弃管程的互斥访问,等待事件出现时恢复,而临界区只有线程退出临界区才能放弃互斥访问。
经典问题 1、哲学家就餐问题 用信号量来给出的方案
2、读者-写者问题
计算机网络中常用的三种有线传输媒体是双绞线、同轴电缆、光纤。双绞线是一种综合布线工程中最常用的传输介质;同轴电缆是指有两个同心导体,而导体和屏蔽层又共用同一轴心的电缆;光纤是一种由玻璃或塑料制成的纤维,可作为光传导工具。
本文操作环境:windows7系统、Dell G3电脑。
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
计算机网络中常用的三种有线传输媒体
1、双绞线
双绞线(twisted pair,TP)是一种综合布线工程中最常用的传输介质,是由两根具有绝缘保护层的铜导线组成的。把两根绝缘的铜导线按一定密度互相绞在一起,每一根导线在传输中辐射出来的电波会被另一根线上发出的电波抵消,有效降低信号干扰的程度。
双绞线一般由两根22~26号绝缘铜导线相互缠绕而成,“双绞线”的名字也是由此而来。实际使用时,双绞线是由多对双绞线一起包在一个绝缘电缆套管里的。如果把一对或多对双绞线放在一个绝缘套管中便成了双绞线电缆 [1] ,但日常生活中一般把“双绞线电缆”直接称为“双绞线”。
与其他传输介质相比,双绞线在传输距离,信道宽度和数据传输速度等方面均受到一定限制,但价格较为低廉。
2、同轴电缆
同轴电缆(Coaxial Cable)是指有两个同心导体,而导体和屏蔽层又共用同一轴心的电缆。最常见的同轴电缆由绝缘材料隔离的铜线导体组成,在里层绝缘材料的外部是另一层环形导体及其绝缘体,然后整个电缆由聚氯乙烯或特氟纶材料的护套包住 。
同轴电缆可用于模拟信号和数字信号的传输,适用于各种各样的应用,其中最重要的有电视传播、长途电话传输、计算机系统之间的短距离连接以及局域网等。同轴电缆作为将电视信号传播到千家万户的一种手段发展迅速,这就是有线电视。一个有线电视系统可以负载几十个甚至上百个电视频道,其传播范围可以达几十千米。长期以来同轴电缆都是长途电话网的重要组成部分。今天,它面临着来自光纤、地面微波和卫星的日益激烈的竞争。
3、光纤
光纤是光导纤维的简写,是一种由玻璃或塑料制成的纤维,可作为光传导工具。
传输原理是“光的全反射”。
想要查阅更多相关文章,请访问PHP中文网!!
爬虫小白在尝试使用selenium时报错这个异常。
selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘
异常原因:
因为selenium模拟的客户端对浏览器的操作,但相应浏览器的驱动版本不匹配导致的。
解决办法:
1. 需要先了解我们当前浏览器的版本,打开浏览器,在地址栏输入 chrome://version/ 便可以查看到谷歌当前的版本号。
“Google Chrome:” 这一行。
在这里我的是91.0.4472.101版本。
2. 接下来访问chrome官网驱动页面下载相对应版本的驱动
http://chromedriver.storage.googleapis.com/index.html
找到和自己的chrome版本对应的目录点进去,然后选择自己的系统对应的zip下载。
下载完成后解压出来,得到chromedriver.exe文件。
3. 最后一步,将chromedriver.exe复制到你安装chrome浏览器目录下的Application文件夹中和python目录文件夹中。
这样就解决这个异常了,重新运行就没问题了。
希望对同样新手的小伙伴有帮助。