【Compiler】期末题目
题目
第1题,编译程序的工作情况有三种,分别是解释型、编译型和( )。
A、综合型
B、并列型
C、汇编型
D、不确定型
正确答案: C
第2题,文法中不包含左公共因子是LL(1)文法的( )。
A、充分条件
B、必要条件
C、充要条件
D、即不充分也不必要的条件
正确答案: B
LL(1)方法要求:无左递归、无公共左因子
第3题,在规范归约中用来刻画可归约串的是( )。
A、短语
B、句柄
C、最左素短语
D、素短语
正确答案:B
在"算符优先分析"中,用“最左素短语”来刻画“可归约串”
在“规范归约”分析中,则用“句柄”来刻画“可归约串”。
句柄:直接短语中的最左直接短语为该句型的句柄
素短语:是指一个短语至少包含一个终结符,并且除它自身之外不再包含其他素短语
最左素短语:最左素短语就是句型 定义的素短语
4.中间代码设计原则是( )。
A、简洁,占用内存少
B、接近自然语言
C、可替代编译程序
D、容易生成和翻译为目标代码
正确答案:D
第6题,设有文法G[S]: S→S8|S9|Sa|Sc|a|b|c
下列句子中符合该文法的有( )。①ab9 ②a9c98 ...
【校园网连接】认证|校园网多线
前言
6.19号:想尝试校园网内多DHCP连接,从而实现网速的叠加
6.20号:尝试用虚拟机+openwrt方式实现,但没有测试成功
准备入手k2p后硬件再测试一遍,直觉上多线成功的可能性较低
6.22号晚11点,硬件多DHCP连接成功!
目前方案为:硬件刷openwrt固件、并配合macvwan创建虚拟网卡
但速度上限无法突破100Mbps,初步分析的原因是:
楼层的交换机出口限制为100Mbps
作用
多线连接后的截图
经过检查,发现确实学校设置的100Base接口限制了网速近一步提升,所以100Mbps账号已经不能再快了,但20Mbps或50Mbps的账号可以更快。
50Mbps账号正常测试速度:50Mbps左右
50Mbps账号可以登录两次后速度测速:80Mbps;
反复测试了多次,排除网络波动的可能性~,所以!确实多线连接成功
所需设备及环境
硬件:k2p路由器
环境:windows
教程
我尝试了很多教程的方法,总结下来,下面这种方式最最最最最最简单。
店家发来的k2p是已经刷过breed的openwrt系统,我重新下载了个新的openwrt,里面集 ...
【Frp-Mount-Windows-Share】将Windows下面的磁盘挂载到linux服务器
本地磁盘文件挂载到服务器
大致思路:使用Frp【一个内网穿透工具】来实现本地【windows】和服务器【linux】创建连接,再让本地【windows】的共享目录挂载到服务器。
说人话,先让这两台机器在一个内网,服务器再访问windows开了共享的文件
后面还有实现个人云盘搭建,是借助Frp来完成
挂载储存
实现了frp后,只是说明服务器与本地可以相互连接上,但还没实现挂载功能
本地配置Smb服务
具体配置看这篇文章 https://os.51cto.com/article/658846.html
里面还讲了如何“创建新用户”与“打开共享文件”
本地配置好后,继续执行下面的
安装cifs工具包
ubuntu输入下列命令
1apt-get install cifs-utils
centos输入下列命令
1yum install cifs-utils
安装过程中有提示Y/N的输入y回车
创建要挂载到的目录
先创建一个目录为你要挂载到的目录,例如我要挂载到/mnt/driver目录下
1mkdir /mnt/driver
执行挂载
命令如下
12mount -v - ...
IT-Schedule
项目范围
项目进度管理
项目进度的延迟会导致:【失去开发经费】、【失去甲方】、【失去市场】
1、项目进度管理的
目的
平衡【工期、费用、质量】这三个目标
2、项目进度管理的
主要过程
规划进度管理-> 定义活动 -> 排序活动 -> 估算活动资源 -> 估算活动时间 -> 制定进度管理计划 -> 进度控制
定义活动
一项活动有对应的“时间、成本、资源”
【定义活动】的目标
是找到 为了完成最终产物,而中途必须经历的活动
【定义活动】的结果
项目活动清单【根据原来的WBS进一步细化和分解得到的活动,要比原来的项目工作要更详细】
活动属性:活动标志,编号,名称,紧前活动,紧后活动,资源要求等
更新后的WBS【对原来项目的WBS进行修改】
项目里程碑清单
排序活动
方法:前导图法和箭线图法
估算活动资源
专家判断法、多方案分析法、算下而上估算法
估算活动时间
最好时间Ta,最差时间Tb,正常时间Tc
T=(Ta+Tb+4*Tc)/6
制定进度管理计划
主要流程中的倒数第二个步骤
包含的内容
1、项目综合进度计划
2、项目 ...
【Cryptography】IP安全
1
IPsec
从IP层加密所有流量
加密的层次
结构
AH【Authentication Header】:数据源认证和数据完整性保护和防报文重放功能,它能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据
ESP【封装安全负载】:提供加密、数据源认证、数据完整性校验和防报文重放功能
IKE【Internet 密钥交换】:IKE为IPsec提供了自动协商交换密钥、建立SA的服务,能够简化IPsec的使用和管理,大大简化IPsec的配置和维护工作。
IPsec可以由AH或ESP这两种方式实现,AH和ESP又都支持传输模式与隧道模式
工作流程
SA(security association):是两个通信实体经协商建立起来地一种协议,它们决定了用来保护数据包安全地IPsec协议,转码方式,密钥,以及密钥地有效存在时间等等
IKE(isakmp)SA:协商对IKE数据流进行加密以及对对等体进行验证地算法(对密钥地加密和peer地认证)对等体之间只能存在一个
第一阶段:建立ISAKMP SA协商的是以下信息
1、对等体之间采用何种方式做认证,是预共享密钥还是数字证书。
2 ...
【Cryptography】用户认证
用户认证
用户认证【Authentication】解决的是“如何证明某个人确确实实就是他或她所声称的那个人”的问题。
下面讲主要讲Kerberos,太复杂了……
基于对称加密的用户认证
双向认证
前提:通过KDC完成,KDC与A有密钥Ka,KDC与B有密钥Kb
A→KDC:IDA∥IDB∥N1
A向KDC发出会话密钥请求。请求的消息由两个数据项组成:一是A和B的身份IDA和IDB,二是本次业务的唯一标识符N1,每次请求所用的N1都应不同,常用一个时间戳、一个计数器或一个随机数作为这个标识符。
KDC→A:E(Ka[Ks∥IDA∥IDB∥N1∥E(Kb[Ks∥IDA])])。
KDC对A的请求发出应答。应答是由加密Ka加密的信息,因此只有A才能成功地对这一信息解密,并A相信信息的确是由KDC发出的。
KDC将使用Kb加密的ks数据发送给A【这里有个问题,为什么KDC不直接用Kb加密的Ks数据,直接发给B,而是由A发送给B?】
原因1:由于一个KDC会面对若干不同的A【很多个不同的客户端】, 而每个A都具有一个不同的密钥K。那么KDC就会为所有的A维护这样一个密钥K ...
【Cryptography】传输层安全
传输层安全
会与公钥分发相结合,主要以SSL与TLS为基础并与HTTPS结合
TLS 握手详细过程
下面,按上面的图,详细说下具体过程
步骤1、客户端发出请求(ClientHello)
首先,客户端(通常是浏览器)先向服务器发出加密通信的请求,这被叫做ClientHello请求。
在这一步,客户端主要向服务器提供以下信息。
(1) 支持的协议版本,比如TLS 1.1、TLS 1.2、TLS 1.3版。【TLS1.0已经不用了,主流是TLS1.2】
(2) 一个客户端生成的随机数,稍后用于生成"RSA的密钥"。【第一个随机数,叫ClientHello.random,明文】
(3) 支持的加密方法,比如RSA公钥加密。
(4) 支持的压缩方法。
步骤2、服务器回应(SeverHello)
服务器收到客户端请求后,向客户端发出回应,这叫做SeverHello。服务器的回应包含以下内容。
(1) 服务器确认使用的加密通信协议版本,比如TLS 1.2版本。如果浏览器与服务器支持的版本不一致,服务器关闭加密通信。
(2) 一个服务器生成的随机数, ...
【Cryptography】密钥管理与分发
数字签名
在数据完整性使用的那篇文章提到过
只要认证不要保密性
流程
只要发送方对消息或文件产生Hash值,随着密文一起发送。接收方只要对消息计算Hash并与接收的Hash匹配即可
既要认证也要保密性
【使用对称加密与数字结合】
流程图
与上面不同的是,这里将HASH值也加密了
具体过程
发送方对消息或文件产生Hash值
发送方用自己的私钥对Hash值加密得到Signature【如果通信双方认识,发送方最好用接收方的公钥进行加密】
发送方再用对称加密中的密钥,将Hash值和消息一起加密再发送。
接收方对接收的消息使用对称加密密钥解密
再用发送方的公钥对Signature进行解密得到Hash值
再对消息计算Hash值并与接收的Hash值进行匹配即可
既要认证,也要保密性
【使用非对称加密与数字结合】
因为非对称加密往往进行密钥管理,传输消息时不用非对称加密,如果要用也不是不行
集中密钥分发
A→KDC:IDA∥IDB∥N1
A向KDC发出会话密钥请求。请求的消息由两个数据项组成:一是A和B的身份IDA和IDB,二是本次业务的唯 ...
我的大学
考试
今天仍然拼命看书,因为明天就要考了。学期的成绩就全仗这两天挣,现在更感到考试无用与无聊
开卷考嵌入式,10页的内容浓缩到1页
外出
难得的出门看日出
【Cryptography】数据完整性
Hash函数
概念:输入任意长度的数据块,产生固定长度的Hash值
目的:保证数据完整性,只要修改消息内容的任一位(bit),产生的Hash值会有天壤地别的变化
Hash函数不是某个特定函数,它指一类函数
最简单的Hash函数:mod(),比如任意数据 mod 2 得到固定长度的0或1
满足的条件
Hash函数要满足以下两个条件:
单向性:计算一个给定消息串的hash值是容易的, 但是根据hash值找到对应的消息是困难的
抗碰撞性:两个不同的消息,但具有相同的hash值是困难的
Hash值应用
如:消息验证、数字签名等
消息验证
保证收到的数据确实和发送时的一样,没有经过修改、播放、删除或重放等
步骤
发送者在发送消息时,需要计算出消息对应的Hash值,并一起发送过去
接收者收到消息后,先对消息进行Hash计算,并对收到的Hash进行比较,判断是否相同。如果不匹配则可能受到了篡改
注意:
上面存在的前提是:这个Hash本身没被篡改
就像中间人攻击,如果【中间人】Marrlory将消息篡改的同时,将篡改后的消息产生新Hash也修改并发送给【接收方】Bob,【 ...