【Cryptography】ssh的本地端口转发与远程端口转发
原因
下午上密码学,看到讲解ssh端口转发的内容,书中讲的实在太模糊了,于是上网找相关内容自学
本文实现目标
1、ssh本地端口转发讲解
2、ssh远程端口转发讲解与windows上演示
正文
1、ssh本地端口转发
适合的状况
本地主机hostLocal(图中左边)无法访问私网主机hostPrivate(图中右边)
本地主机可以访问云服务器
私网主机可以访问云服务器
云服务器可以访问私网主机(非常重要啊,能和下面的远程端口转发区分开)
云服务器无法访问本地主机
为了实现的目标
让本地主机可以访问私网主机
思路
因为本地主机可以连接到云服务器,那可以借助云服务器,近一步访问到私网主机
整体流程
在本地主机设置一个端口(假如为)2233(目的是,以后本地主机可以通过端口2233访问私网主机)
给目标私网主机设置一个端口(假如为)7788(目的是:可以在此端口运行web服务网页,当然也可以设置为FTP协议对应的21端口)。当然,私网主机也有一个私网ip嘛,假如为52.77.56.16。
先明确一点:云服务器是可以访问到这个私网ip:52.77.56.16,以及对 ...
【hexo】22端口被禁用无法推送到github
原因
出于安全原因,学校把22端口禁用了,使用校园网无法通过ssh(默认22端口)连接上github。
本文实现目标
0、不使用代理
1、在windows下,解决22端口无法连接到github
2、解决hexo无法上传到github问题
步骤
1、配置ssh的config
用记事本打开ssh连接用到的config文件,如果没有.ssh目录,请打开“隐藏的目录和文件”
路径:C:\Users\用户名\.ssh\config
代码如下,需要自行修改IdentityFile,其它的可以不变
12345Host github HostName ssh.github.com Port 443 User git IdentityFile "C:\Users\用户名\.ssh\id_rsa"
相关解释
名称
值
解释
Host
github
是自定义的名称,方便给每个服务器设置一个方便记忆的名字,如:github.com或github
HostName
ssh.github.com
必须为真实的域名或服务器ip,因为要用ssh连接到githu ...
【Compiler】-4-词法分析程序
词法分析程序
任务
从左至右扫描源程序的字符串,按照词法规则识别出一个个正确的单词,并转换为相应的二元式(类号,内码)形式,交给语法分析使用。
输入缓冲区中可以会有预处理
预处理原因:
对空行、回车、空格、注释进行过滤
一行语句结束应配上一个特殊字符说明,如分号“;”
有些语言要识别标号区,区分标号语句,找出续行符连接成完整语句等
超前搜索
一般高级语言不必超前搜索,但有些对关键字不加保护的语言,单词间没有明确界符,要在上下文环境中识别单词,这时需要超前搜索。
单词分类
基本字(关键字、保留字),设置基本字表,每个基本字占有一个类号,内码缺省;
标识符: 变量名、数组名、函数名、过程名―常量,动态填写标识符表。
各种标识符统一为一类,由内码来区分不同的标识符名。通常将各标识符的符号表入口地址作为其内码。
对于常量,以常量的数据类型区分不同类号。对每一类(整数、浮点数)设置相应常量表。各常量在其常量表中的入口地址作为其内码。
运算符:设置运算符表
界符:. , ; ( ):等。有时把运算符也当作界符。设置界符表
【hexo】在typora添加图片并上传到阿里云oss
本文要实现的目标
在typora添加图片后,图片会上传到阿里云的oss,并能在网站的文章中显示
前提
开通阿里云的oss服务和cdn服务
本文不教如何开通阿里云oss与cdn
步骤
1、上传图片到阿里云oss
教程:https://zhuanlan.zhihu.com/p/344941041
2、设置Typora
在Typora里面偏好设置->图像->插入图片时,选择上传图片
并且!!!
下面的选项中
优先使用相对路径选中!!!
插入时转义图片最好也选中,如果图片名是中文的话,需要转义后才能引用
3、本地检测
完成这些后,再新建一篇文章,随便复制一张图片到文章中,随后picgo会自动上传到阿里云oss中,并且在typora的图片链接会变成对应的cdn链接,如下图所示。
4、网站上检测
同时打开网站看看是否可以显示出图片,图片显示正常。成功!!!
5、优点
使用cdn优点,加载速度比从github获得图片更快
6、缺点
每个月会产生一定费用,如果用量不大,1块钱左右
如果开通了防盗链,typora上无法显示图片,并且无法调整图片的大小
【compiler】-3-词法分析
词法分析是编译的第一个阶段,在单词的级别上分析和翻译源程序。
理论基础
有限自动机理论
有限自动机理论与正规文法、正规式之间在描述语言方面有一对一的关系。
学习目标
掌握有限自动机与正规文法、正规式之间的转换。
能够构造词法分析程序。
正规文法、正规集、正规式
正规文法
正规文法是compiler-2中提到的3型文法
正规文法是描述正规集的文法,可用于描述程序设计语言的语法部分。
例如:标识符这种单词可以用下面的规则描述。
<标识符>→<字母>|标识符>(<字母>|<数字>)
<字母>表示在意英文字母
<数字>表示任意数字
正规集
由正规文法产生的语言
正规集是集合,可有穷也可无穷。可通过正规式来形式化表示。
正规式
规则:
设A是非空的有限字母表,A={a,/ i=1,2,… …n},则空串、空集,字母表中任一字母【a~i~ (i=1,2,… …n)】都是正规式。
心
若α、β是正规式,则α|β、α*β 、α*、β*也是正规式。【α的正闭包一定是正规式】
正规式只能通过 ...
【Compiler】-2-编译原理基础知识
程序语言的定义
语言=语法+语义
语法
任何语言程序都可以看成是一定字符集(字母表)上的字符串。
语法使得这串字符形成一个形式上正确的程序。
语法=词法规则+语法规则,例如:0.5*x1+c
0.5、x1、c、*、+是语言的单词符号
0.5*x1+c是语言的语法单位
词法规则
词法规则规定了字母表中哪些字符串是单词符号
单词符号一般包括:==常数、标识符、基本字算符、界限符==等。比如界限符 [](){}…… 再比如“:=”是赋值符号
我们用正规式和**==有限自动机==理论来描述词法结构和进行词法分析**。
语法规则
规定了如何从单词符号来形成语法单位:==表达式、子句、语句、函数、过程、程序==
现在多数程序语言使用**==上下文无关文法==来描述语法规则**。
语言的词法规则和语法规则定义了程序的形式结构,是判断输入字符串是否构成一个形式上正确的程序的依据。
本章重点:有限自动机、上下文无关文法
刚刚判断了句子上构造是否有问题,但无法判断句子是否有意义,所有还需要语义
语义
对于一个语言来说,不仅要给出它的词法规则、语法规则,而且要定 ...
【Compiler】-1-编译原理概述
程序设计语言的转换
翻译
是指能把某种语言的源程序,在不改变语义的条件下,转换成另一种语言程序———目标语言程序。
编译型
如 c,c++
专指由高级语言转换成低级语言,将整个源程序翻译成低级语言
解释型
如 python,basic
接受某高级语言的一个语句输入,进行解释并控制计算机执行,马上得到这句的执行结果,然后再接受下一句。逐个语句的翻译并执行
特点:效率低,不产生目标程序
编译的转换过程
两个阶段:编译、运行
三个阶段:编译、汇编、运行
目标代码可能是obj文件,不一定为exe文件,obj文件运行前需要link动作,如一些include需要link来实现
编译程序概述
编译程序的五个阶段
词法分析,
语法分析,
语义分析与中间代码产生
优化
目标代码生成
其中的语义分析器会和语法分析器或中间代码生成结合
词法分析
词法分析任务
对程序内的字符串进行扫描和分解,识别出单词符号,如:基本字、标识符、常数、数字……
续:识别出来后,需要转换成统一规格,给语法分析使用。
转换
对基本字,运算符,界限符的转换(按预设)
对标识符的转换,用户自 ...
【hexo】markDown语法
本文目标
介绍一些Hexo中常用的markDown语法
分隔线
1--- // 或 ***
使用—
使用***
嵌套引用
12345678910111213> 动物>> 水生动物>> 陆生动物>>> 猴子>>> 人>>>> 程序猿>>>> 攻城狮>>产品狗 //这里需要注意,没有空行间隔,忽略降级引用标记射鸡虱 //这里需要注意,没有空行间隔,忽略降级引用标记>> 两栖类动物>>> 大鳄鱼唐老鸭
展示
动物
水生动物
陆生动物
猴子
人
程序猿
攻城狮
产品狗 //这里需要注意,没有空行间隔,忽略降级引用标记
射鸡虱 //这里需要注意,没有空行间隔,忽略降级引用标记
两栖类动物
大鳄鱼
唐老鸭
引用
123{% blockquote @作者 网络地址 %}xxxxxxxxxxxxxxxxxxxxxxxxxx{% endblockquote %}
展示
x ...
【hexo】在typora添加图片并上传到github同名目录
本文要实现的目标
在typora添加图片后,图片会上传到github,并能在网站的文章中显示
前提
当前使用的主题为ButterFly,它将主题内需要用到的图片放到/themes/butterfly/source/img这个路径下,所有的文章都可以引用这里面的图片,例如,例如img/bg.jpg作为文章的封面,可以在md文件的头部添加如下内容。
12cover: '/img/bg.jpg' // /img是绝对路径,如果观赏github的目录,可以发现主题需要的所有图片都在此目录下
步骤
1、设置参数post_asset_folder
图片除了可以放在统一的img文件夹中,还可以放在文章对应的目录中。
文章的目录可以通过配置hexo的_config.yml来生成(不是主题里面的config.yml文件),让post_asset_folder参数设置为true。
1post_asset_folder: true
这个功能开启后,如果使用hexo new '文章名'创建文章时,会同时生成“文章名”对应的文件夹,此文件夹下面可以存入同名文章需要用到的图片,相当于一篇文 ...
【v2ray】安装流程
步骤
25年1月更新:推荐使用hysteria2协议或reality协议,不再推荐用此方法;
1、域名准备
最好使用.com、.net、.org、.info等的域名;.cn域名需要实名备案,不建议使用
购买域名时,推荐选择国外域名商,因为购买域名后无需备案。
如果在国内域名商购买,无论是否买.com .cn .top等域名,都需要备案
2、VPS准备
亚马逊的Lightsail 网址:https://amazonlightsail.com/
DigitalOcean的服务器 网址:https://www.digitalocean.com/
微软Azure白嫖一年【无需信用卡】,用学校邮箱即可注册成功,每个月750小时和15GB流量
AWS的白嫖一年【需要信用卡】,每个月750小时和100GB流量
如果拥有github学生包,其中包含name.com的一年免费域名,无需备案。以及DigitalOcean100美元代金卷、jetbrain全家桶,termius等。
强烈推荐github学生包,如果无法直接申请到学生包,可以在淘宝购买
5. Racknerd,卖的vps ...