傻卵micorsoft,傻卵巨硬,我第一次见到一个it企业能如此反复无常,莫名其妙地出现问题.从第一次注册azure开始就莫名其妙地,学校邮箱收不到邮件.(我想和我当时拿自己邮件给别人申请优惠的傻举也有关系),今天试着用github账户登录(然而你会发现如果你将学校的邮件作为github的primary mail的话,你也无法登录),所以要用修改primary甚至移除教育邮箱的方式来卡登录进而拿到本该属于你的education benefit,总而言之,in summary,最终我是卡成功了,但是傻卵的巨硬让我见识了一个网页能有多卡,不管你挂代理与否,动不动因为网络问题报错,而且产品呢,只能说和它给的100美刀相比,最多撑一个月,这昂贵的代价,所幸是每年都有的,当你还是一个学生的时候.但是,晚上发生了转折,巨硬莫名其妙把我封号了,而我的申诉,卡在了人机验证.我第一次才知道原来人机验证是可以不通过,我盯着它的图片验证,明明没有一张是能完全匹配的,而这样的验证,要过五次,于是在尝试了多次后,我终于荣获了microsoft钦定的ai籍.”我们检测到你的账号有违规行为”,哈哈哈,我甚至一台机子都没开.哦忘了提的是在之前的注册终,我多次提交了工单,但被高贵的巨硬大人彻底无视.傻逼厂商,如果将来一定要大规模使用云,我绝对不上azure
网络工程师开发学习
本节将主要聚焦于ensp仿真,从头一步步来并了解网络的拓扑结构
ensp的下载不是我的讨论内容,这方面建议自行百度.本内容会持续更新
基本的网络结构
ip和dhcp这些概念只要上网时间长就都能理解,所以这里不讨论,直接进入仿真吧
网工入门
ip地址配置
我们进入拓扑,选择两个路由器,(一般选择ar2220,接口拓展多),选择两个路由器进行连接,手动分配ip地址.开机,system-view进入系统视图(直接敲sy系统会帮助你补全),然后选择我们所使用的接口,比如g0/0/0,interface选择我们所需端口,可以int按tab键补全,后接端口,我感觉有点像cd命令?
1 | ip address 192.168.1.1 255.255.255.0 |
其中192.168.1.1为ip地址,255.255.255.0为子网掩码.这两个也是常见的术语,在此不做赘述.这样,我们就配好了,参考你在你的windows主机上所作的.
如法炮制另一台,配好后就试试能不能ping通吧.保存配置的方式,quit退出网络视图,save保存
DHCP
我们平时上网赖以为生的不用手动配置网络的方式.DHCP:动态主机配置协议.Dynamic Host C Protacal.
我们先建立一个简单的常见的网络.包含路由器,交换机,主机,将其连接.虽然我们希望主机不需要手动分配,但得先配好路由器:专业设备还是需要配置的.主机的命令行在任务窗口内,点击主机就能看到.
DHCP可以由这台路由器充当它的服务器.如何让路由器成为dhcp服务器.命令行中dhcp enable.
对于路由器而言,它有多个接口,我们要指定实现dhcp功能的接口,接下来我们要进入接口
1 | interface g0/0/0 |
接下来进行dhcp的选择
1 | dhcp select interface |
这样就可以了.这时候我们重新在主机中应用dhcp,ipconfig查看网卡
1 | ipconfig |

我们可以清楚地看到已经获得了地址和子网掩码和网关,仔细观察我们会发现网关和路由器使用的接口的地址是一样的,这意味着什么呢?在以后我们会知道.我们依次给其他主机也分配好dhcp,然后开始ping吧!
DNS域名系统
那么我们要思考一个问题,我们知道ip地址可以当作一个服务器或者主机的位置,但是我们平时访问的时候可从来不需要记住ip地址啊?你知道google.com的ip地址吗?google.com是一个域名.是的我们是访问域名的,那么是如何实现的?
我们需要一台dns服务器来做域名解析.所谓的域名解析,就是把网址变成它对应的ip地址.
第一步,pc将网址发送给dns服务器,询问dns服务器域名所对应的ip,dns服务器给pc一个应答,应答包含相对应的ip地址,于是它就能通过ip地址就行访问.实验:
我们在ensp找到server,服务器可实现dns功能.我们在服务器内找到服务器信息,选择DNSServer.我们可以在其中添加域名和相对应的ip地址.如:
1 | www.baidu.com |
这个ip地址是你配置的某个主机,你知道的,这是仿真,所以得有台电脑来充当这个角色吧
不能忽视的是服务器本身也需要配上地址,这样你才能先访问到服务器对吧,用网线把它接到网络里.(教学视频接到交换机上,我觉得路由器也可以).这时候我们尝试去ping域名,发现依旧不通.我们需要配置路由器,依旧进入使用端口,在端口下需要指定dns服务器
1 | dhcp server dns-list 192.168.100 |
该ip地址是我们所指定的dns服务器地址
然后让主机重新获取dhcp地址即可

路由技术基础
我们知道子网掩码是用来确定网络位的,进而判断我们所在网段.那么网关是干什么的呢?
联系我们生活,我们和那么多人通信,肯定不可能全在一个网段下,这太麻烦了,所以我们想象一个场景,有另外一台pc在交换机外,通过路由器和我们通信,自然的,给它一个不同的网段.我们内网里的设备怎么和它通信呢?这时候就需要网关
网关:用来连接不同网段.在我们的这个仿真中,充当这个角色的就是路由器.这时候就能解决我们上节所说的问题了,于是我们pc的网关配置就选择和路由相连的那个口.配置完成,记得开机
开始和不同网段的互ping
第一次会丢包,原理:pc会先发送请求,判断目标和自己是不是同个网段的,如果不是,就把数据包发个网关,也就是中间人,由它来处理请求并转发
我们生活中的路由器肯定不止两个接口,企业级的更是多如牛毛,那么要怎么判断从哪个接口来发?接下来引出路由表
1 | display ip routing-table |
即查看ip路由表的意思

这里标注了去往相应ip会走过的口.
很多对吧,如果我们想精确定位:
1 | display ip routing-table 100.100.100.100 |
这里就会只显示相应的结果
有一个小细节,我们可以给设备取名,毕竟你也不想一直看着遥遥领先的名字吧
1 | sysname RA |
RA:route A,可以遵循这样的命名方式.
重力般的焦虑是否要持续到明天
静态路由
ip static.我们依旧从实际问题出发,我们的数据是要经过好几个路由的,也就是好几个网关.我一开始也天真地认为设置好网关以后数据就可以无忧无虑地发送了,但是并不是这样的,当pc并不与同一个路由器相连的时候,由于路由表并不会记载不直接相连的,路由器不知道要用哪个口做转发,就需要给它人为指定.也就是static ,静态路由表
1 | ip route-static 192.168.3.0 255.255.255.0 192.168.2.10 |
这时候用route不用routing,不懂区别,这就代表所有192.168.3.x的目标,下一跳都经过192.168.2.10,由它进行传递,路由器会自己知道怎么去2.10的,如果直接相连的话.
这时候再去ping,依旧不通?
为什么呢,因为你发数据包要有人还你啊,不然怎么知道能不能通信.所以对等的也得设置静态路由,
接下来实验吧
TCP与UDP
先去吃饭
我们先思考几个问题,电脑浏览器如何打开百度?
我们先通过dhcp获得ip地址,相当于可以正常地写上发件人地址.然后电脑要获得百度的ip,如何获得呢>它先需要通过dns服务器去解析,然后获得百度的ip,接下来就可以向百度的服务器发送请求,然后百度的服务器返还一个数据包给自己的电脑.这个包要先经过一个又一个的网关来跳,也就是路由器.在这里回忆我们设置静态路由的办法,ip route-static ip地址 子网掩码 直接相连的下一个ip(一般是网关),(这一步在路由表里),经过路由表的查找,最后送回来.
下一个问题:我们是如何通过客户端连接服务器?
使用客户端的时候有别于浏览器键入请求,它无需域名,也就无需dns服务器,因为它可以直接内置服务器的ip,就可以直接连接服务器ip.诸如游戏客户端,qq客户端,微信客户端,即使我们的dns服务器配错了依旧可以连接(?这样的话,如果ufw只使用dns污染,我们是不是也可以访问X和facebook?)
有兴趣可以把自己dns改了,输入你最喜欢的网址全部打不开,qq就可以,因为qq内置了服务器ip
TCP:虽然附上英文名是比较好的习惯,但我没啥印象了所以先不写,三次握手也不知道,当个入门吧.TCP的特征是会多次确认包的完整性,从而保证数据的完整,缺点是它的延迟比较大,速度慢.像客户端更新和下载一般都是采用TCP的方式,这可能也是我们觉得下载慢的原因.电子邮件也采用TCP
UDP:一次性发送,不确认完整性,延迟低速度快,一般用于游戏中这些对延迟要求高而对数据完整性要求较低的场景,以保证玩家体验.
电商服务器如何顶住压力?
使用cdn:content deliver network:内容分布网络,用多个服务器处理请求,用智能dns技术将一个域名请求解析成多个ip返还,从而使多个服务器来完成工作,降低压力.服务器上的内容一致则是另一个技术了.
vlan虚拟局域网
我们已经了解了网络是怎么通的,那么它的安全性是怎么确保的?什么时候数据能通,什么时候不能?
我们先入门最常见的网络安全技术.
vlan技术 acl:访问控制列表
Vlan:虚拟局域网,顾名思义,将一个真实的局域网划分为多个虚拟的局域网,实现不同vlan的隔离,将不同的电脑放到不同的vlan就能起到隔离的作用.(比如说你有不想让别人看到的东西),从而保护隐私,限制病毒的传播,让其只能待在一个vlan里.接下来我们在ensp里仿真
vlan主要用在交换机上(想想也是,局域网),一般而言,我们用交换机构成的局域网,设备彼此之间都是互通的.但当我们使用vlan,就可以使之不通
步骤:先在交换机创建vlan,再将设备放进不同的vlan
步骤很简单
1 | system-view |
我们就得到了两个编号不同的vlan
1 | display vlan |
查看vlan,我们会看到我们指定的vlan编号,其中有个vlan1,这个是开机启动就带有的,所有接口都属于vlan1,all hail vlan1,雾,那么我们怎么分配.因为每个设备和交换机都有个接口,所以把接口指定给vlan就好了
交换机的接口模式:
Access:用来连接终端,电脑打字机
Trunk:连接交换机
我们这里交换机连接电脑,故而用access
输入以下命令:
1 | interface 指定port |
先进入端口再指定,这样我们就分配好第一个端口了
1 | display vlan |
这时候我们可以看到vlan10下的端口包含了g0/0/0.如法炮制指定vlan20的端口,重新去ping目标端口ip地址,ping不通
前面提到了trunk是用来连接不同交换机的方式,可以类比access的命令
我们设想一个场景,我们将路由器与路由器相连构成一个更大的局域网,每个路由器上有不同的vlan.先明确一点,不同路由器下编号相同的vlan是可以通信的(我也不明白为什么,可能这就是vlan的意义吧,虚拟局域网),那么路由器要怎么判断数据包来自哪个vlan呢?
先进入端口,这里不再重复步骤
1 | port link-type trunk |
进入trunk,然后在设置可以通过交换机的vlan
1 | port trunk allow-pass vlan vlan编号 |
若要允许全部通过
1 | port trunk allow-pass all |
最后我们去把两组交换机下的pc各自ping一下,同属于一个vlan的可通,否则不可通,也就是通过trunk指定了可以接受的vlan后交换机会给数据贴上标签,判断来自哪目的地可不可达(怎么实现的我不知道)

三层交换
Latex入门
Latex入门及常用语法
Latex是一种将排版与内容分开的书写格式,常用于论文以及出版物。想入门这个的主要原因是因为我的Word排版已经变成答辩了,而且我非常不想花时间在排版上。正如学了点markdown的皮毛我就可以写md了一样,我也想如法炮制一下。
Tex发行版主要有两种:
Texlive:https://www.tug.org/texlive/acquire-iso.html
MikTeX下载:https://miktex.org/download
编辑器可以自己选择,比如vscode
latex一切命令以\开头,\命令名{},花括号内写命令的参数
1 | \docementclass{article} |
documentclass用来指定文档类型,最广泛使用的有article,book,report。如果希望创建一个幻灯片格式的文档,则参数写beamer。为了使它支持中英文混排,需写入ctexart。映制定编码类型,[UTF8]是texworks编辑器默认使用的编码。所有位于\begin前的内容被称作是前言,在这里指定文档格式,页面尺寸,指定文档需要导入的宏包等等
正文body位于\begin{document}和\end{document}之间
在前言区块
1 | \title{title} |
我们可通过如上方式指定文章标题和作者的名字,文档的修改时间,\today命令自动显示当天时间。
*** 为了显示文档信息,我们需要在文档的正文区添加一个\maketitle的命令
最基础的格式和命令
加粗文字,使用\textbf{}命令,设置斜体,\textit{}.设置下划线,/underline{}。生成新的段落,输入两个换行符 \。双反斜杠//表示换行
章节:
我们常常有创建章节的需要(有点像md的多级标题?)
1 | \section(input your name) |
创建章节,花括号内填入章节名称
1 | \subsection{这是一个子章节} |
创建章节下的子章节
1 | \subsubsection{三级章节} |
特殊情况:
若documentclass选择了用于书籍排版的ctextbook,则有比section更大的chapter,通常用来表示书籍的第几章。比chapter更大的有part,通常用来表示书籍的第几部。(你妈的入门讲这个干嘛,现在又接触不到)
图片
oh my bitter color ardor wonder Gotta feel undercover
如果我们要在文档中添加图片,我们需要在前言中引用graphicx这个包
在头部分
1 | \usepackage{graphicx} |
,该包包含了若干个绘制图片的指令
随后在我们正文部分,使用:
1 | \includegraphics{name of image} //名字直接写图片名字就好,无需加入png等扩展名 |
花括号中加入图片文件的名字
//如果我们此时编译文档,会发现图片尺寸过大,甚至超过A4的尺寸,我们可以给/includegraphics{}命令添加一个可选的参数[width=0.5\textwidth]
1 | \includegraphics[width=0.5\textwidth]{name} //这里的\textwidth表示当前文本区域宽度,总的参数的意思表示0.5倍的区域宽度 |
如果我们希望给图片添加标题,可以先将图片嵌套在一个figure环境中
随后通过\caption命令指定标题
同时可通过\centering命令居中显示
(centering。。。好奇妙)
1 | \begin{figure} |
列表
要在LaTex中显示列表,我们需要先切换到列表的环境。环境(environment)是Latex中的一个专用术语,相当于编程语言中的域。任何介于\begin{}和\end{}之间的内容都属于一个环境。位于同一个环境中的内容都会共享相同的文字格式。(这讲的也是神人,图片的\begin{figure} \end{figure}也是一样的东西
无序列表
对于无序列表,列表中的每一个元素需要以**\item**开头。当然。我们要先创建环境
1 | \begin{itemize} |
切记切记,这里用域标出作用的东西,感觉其实和html5差不多?算了我忘光了
有序列表
使用enumerate环境
1 | \begin{enumerate} |
依旧使用item指列表项。enumerate(释义:枚举;列举)
数学公式
**!!!!!**重要的东西,LaTex最大的优势,对数学公式的排版。在熟练掌握公式的语法后,可以生成任意复杂的公式。LaTex允许在段落内直接添加公式,被称作行内公式。行内公式需要写在$ $之间
1 | 爱因斯坦在1905年发现的质能守恒方程:$E=mc^2 |
若要直接自成一行,则需要环境,equation
1 | \begin{equation} |
更简便的写法
1 | \[ |
为了描述复杂的公式,需要记住一些常用的指令
如
1 | \over //表示几分之几,分子在前,分母在后 |
用花括号把表达式括起来
1 | d={k \varphi(n)+1} \over e //花括号并不会被显示在最终的公式中,\varphi在这里表达小写的希腊字母fi符号,phi代表大写的fi |

(用于查阅公式的语法和测试排版的一个网站:https://latex.codecogs.com/eqneditor/editor.php)
表格
使用tabular环境在当前创建一个表格,tabular环境要求我们传入一个参数,用来指定表格的尺寸
1 | \begin{tabular}{ c c c } |
水平方面的边框需要通过\hline命令添加
输入两次hline可以添加双横线
如果想指定列宽,则将c改成p后加上{2cm}
etc
1 | \begin{tabluar}{p{2cm} | c | c} |
和图标类似,若希望给表格添加标题,可以先将整个表格放在一个table环境里,再用\caption{}命令添加标题名
1 | \begin{table} |
更多请参考链接:https://github.com/CTeX-org/lshort-zh-cn
对vscode进行快速的LaTex环境配置
在插件市场下载插件(plugins):LaTex Workshop,然后在文件的搜索栏通过>view latex打开文档的预览窗口,快捷键是Ctr+Alt+V
ok,感觉我会了,排版确实很舒服啊,数学公式等以后再看看
附:
一些好用的字体变形:
要注意的是以下这些带math的顾名思义与数学有关,所以要在数学模式下使用,不然会报错,数学模式,
$ $
或者$$ $$
\mathrm{} :数学模式下的罗马正体字母,常用于物理量符号或单位
\mathbf{} :数学模式下的粗体字母,常用于强调向量或矩阵,
3. \mathbb{}(需要amssymb):黑板粗体,常用于集合符号,如\mathbb{N},\mathbb{Z},mathbb{R}
\mathcal{}:花体字母,常用于集合,算子等
\mathsrc{}(需要mathrsfs):书法花体,比\mathcal更优雅
注意事项:\mathbb需要amssymb或amsfonts宏包,\mathscr需要mathrsfs宏包,仅支持大写字母\mathcaal和\mathsrc仅对大写英文字母有效
在正文中可用\textxbf{}.\emph{},\underline{}等命令进行字体变化
如果你需要在同一篇文档中混合使用多种字体变体,可以在导言区一次性引入:
1
\usepackage{amsmath,amssymb,amsfonts,mathrsfs}
问题来了,经过实测,这个只支持大写字母花体,想写情书的同学肯定不能用这个吧.而且math环境意外的要使用强制空格…..
可以实现小写花体的有三种包
boondox-cal
1
2
3\usepackage{boondox-cal}
%\usepackage{boondox-calo}
%\usepackage{duthcal}剩余保持不变,%表示或者,这三种包都可以
无需多言,放图。看完橙海飞鸟再来听这个真是惬意

随手记
烤肉与Eva
金工实习结束后的第一个周六,和朋友约好了一起去看刚引进的Eva终。真是不容易啊,都完结这么多年了。引进还被改名成天鹰战士,难绷。是意大利未完工的水泥航母吗。去前吃了点烤肉,说实话不太饱,又吃了冰棍冰糖葫芦和巧克力(划重点,)
赶在开演没多久前进场了。笔者没看过任何一部新剧场版,只看过旧剧场版,满怀期待和好奇。开头闪过各种旧的画面(痞子惯性说是)。里面有不少新剧场版内容。开头真嗣依旧自闭 (天哪这简直就是我) 。不过哪怕是我这个没看过新剧场版的云也能感受出来引进删了不少。翻译有点出戏,字幕不如没有说是。就这样一直看了下去,特效很不错,对话很不错,黑丽很感人有深度,真嗣走出阴影决定承担责任,直面自己造成冲击的错误。0到了真嗣要和父亲和解!!! 我肚子痛到忍不住了 ,也不知道是烤肉没烤熟就吃还是吃了冰棍和巧克力。急切地跑出去寻找厕所,幸好厕所有纸。。。蹲了小十分钟,回来父子已经和解了,就这样,真希波和真嗣,父与子,母与子,熏和嗣,海洋与陆地,和解了,人类直面命运,告别了补完。再见了,所有的eva。随着 One Last Kiss 响起,影片结束。我们坐在原地,等待音乐的结束。应该说我过去只了解这一首one last kiss,但是其他音乐也很好听,新剧场版确实有旧剧场版所没有表现的东西。
回去的路上我们三人疯了很久,唱了一路的歌,经历了学生时代第一次差点被锁在宿舍外进不去。也是我为数不多熬的很晚的时候,写到这里还没洗澡呢。
总之难忘而开心的一天,感谢所有的eva,还有z和g陪我度过这难忘的一天。

mac真是我碰过最反人类的系统
最近突发奇想,购物欲望发作想买mac,去知乎上搜了一下什么样的mac适合尝鲜,最后得出下黑苹果的结论。正好在vmware折腾过一段时间linux,于是说做就做,在历经了一个下午的努力后装上了。得益于vmware tools,驱动没费太大力气。但就是:卡,卡到无药可救。后面改了几个设置,并给了8g内存和12个核心。不卡了,但是给我的视觉效果:很差,看久了非常不舒服,哪怕调再高分辨率也一样。键鼠操作很不舒服,鼠标感觉总慢半拍。第三方软件往往要打开授权:当然,这并不麻烦,但是很膈应。可能是习惯了windows的高效和linux的自由,我感到非常难以接受macos这一臃肿的玩意。液态玻璃的视觉也让我感到疲惫。可能买一台用来续航还不错,但是黑苹果让我感到苦不堪言。仔细一想,虚拟机玩macos应该可以说是很蠢的举动。我再尝试一下版本较低的系统好了,15还是太困难了。以上。老老实实折腾我的ubuntu吧,对于一个不做剪辑工作的人来说。最起码对于服务器运维和代码能力是有帮助的。说到底还是双设备方便,mac的最大优点不过续航了,2025年折腾已经不太舒服了,兼容性什么的都很差。

