字节后台实习生笔试题目

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 背景 昨天做了字节的实习生后台开发的题目,4道编程题,2个小时。 题目 用户模型和模型文件之间的对应: 输入: n 用户模型1 模型文件1……

阅读全文

Web终端仿真器

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 背景 ​ 在我的上一篇文章中已经说过了,我想做一个web命令行。但是呢,我这两天碰到了一些问题,主要是基础不牢引起的一些概念性的问题,导致我在搜索资料的时候花费了很多时间。 ​ 最开始我碰到的问题是我在执行git clone命令的时候,我发现如果我把执行结果重定向到一个文件上,或者是我用Golang的exec.Command命令执行的时候将结果用管道扔到我的程序里,执行的结果就只有一行Cloning xxx into xxx.……

阅读全文

阿里云API网关与函数计算的基础理解

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 背景 想法是在函数计算上搭建一个web命令行(加速GitHub,国内太慢了),并且通过websocket实时将执行过程发送到前端。在本地其实已经成功了,但是实际上放到函数计算的时候出现了一个大问题,就是函数计算的Http触发器不支持异步调用,更是不支持websocket协议,查了些资料之后发现和阿里云的API网关配合起来使用可以用上websocket。在查这些资料的过程中终于弄明白了函数计算的custom runtime是怎么回事,这里记录一下。 函数计算 首先,我们需要明白,阿里云的函数计算(custom runtime)更像是给你一个极小极小的小型虚拟机,理论上来说,你可以拿这个小虚拟机做正常主机任何的操作(在阿里云给你的权限下)。这里给一下阿里云的文档的说法 大家可以看到这里,custom runtime本质上是一个HTTP Server,也就是说,如果我们能在HTTP Server中写一些执行linux的命令的代码,也就意味着我们有了一个位于阿里云的小型虚拟机,最关键的是这个虚拟机我们还不需要花钱。……

阅读全文

函数计算搭建DNS服务器

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 缘起 见DNS解析过程这篇文章的缘起 DoH 服务概念 DoH(DNS over HTTPS),指的是将DNS解析的内容使用HTTPS协议进行传输,而不是UDP协议传输,其优势在于隐私和防篡改,可以有效的防止DNS劫持,关于DNS的劫持,可以看其他文章。……

阅读全文

DNS解析过程

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 缘起 由于一些复杂的原因,我有一个需求,是能够对特定的域名进行自定义解析,即自行搭建一个DNS服务器,然后让自己的DNS服务器设定为自己搭建的,达到对特定域名解析的目的。有人说改host文件就ok了,但是我希望做到能够让其他人也能对特定的域名解析,虽然让大家都改host也不麻烦,但是能统一管理也是好的。正好了解了阿里云的函数计算,于是就在函数计算上搭了一个DoH服务器,为此去回顾了一遍DNS解析的过程,温故而知新,果然发现我之前的想法是错的,现在记录一下。 域名的结构 域名的结构: 域名是有结构的,其实很简单,例如:www.baidu.com,域名以点的形式分割,从右至左分别为根域名,顶级域名,二级域名等等。很明显这是一个树形结构。……

阅读全文

Github图片加载不出来

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 背景 最近访问github的时候图片居然都加载不出来了,包括头像等等,后来去网上查了下,觉得比较靠谱的说法就是DNS污染了,不过也不一定,可能是DNS缓存,包括阿里家的,谷歌家的,114的,对于github图片的dns都有问题,所以无奈之下只能改Host文件了 步骤 首先查到加载不出来的图片的url,然后提取出二级域名,域名基本上就是这样的没跑了 avatars0.githubusercontent.com avatars1.githubusercontent.com 然后查IPAddress,看一下IP,然后回到Host文件里面添加一下……

阅读全文

将Elementary OS装在U盘中

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 原由想法 上次帮老爹装系统,原来的U盘太稀烂了,读写速度3MB/s,于是当时买了个128g的固态U盘,USB3.1 gen1的速度飞起,复制文件300MB/s左右,用软碟通做系统盘的时候速度也有150MB左右。做完系统后想着玩玩随身系统 现有的一些系统 win-to-go:微软官方的一个U盘系统,应该不会折腾,不过我既然笔记本是win了那还弄个win干嘛,所以放弃 Ubuntu:貌似官网有针对U盘的特别版本,但是想想算了,Ubuntu咱装了多少回了,而且看着苹果的界面就眼馋 Elementary OS: 号称最好看的linux系统,和Mac最像,就是他了 过程 官网貌似没有针对U盘版本的ISO,就先下就完事了,网上也没有装U盘的教程,所以我就先按正常安装试试,最后成功装上了……

阅读全文

MacOS+Windows 双系统的安装

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 这两天在帮老爹搞他的古董mac,今天终于把系统装上去了,这里记录一下 环境 macOS 10.15.2 Catalina 目标 macOS 10.……

阅读全文

IPXE+netboot+ISCSI 网络启动

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 接上一篇文章Esxi+NAS+Openwrt,这篇文章我们来讲无盘启动 缘由 读了上篇文章的童鞋知道我是有NAS的,为了存储管理方便,服务器的硬盘我做了RAID6然后整个给了NAS做数据盘(ESXI直通),ESXI和NAS还有Openwrt的系统都是安装在U盘上的,因此如果我想继续安装其他的虚拟机的话,就必须在NAS上划ISCSI出来,并且需要PXE进行引导。 IPXE 话说我一开始只知道PXE,后来在b站上看到了一个视频,知道了IPXE这个东西,看了他操作一遍,再结合网上的一堆零碎的教程,终于我自己实现了,这玩意真的是难者不会,会者不难。 简单的理解,IPXE是PXE的加强版 ISCSI 网上有很多介绍,那些专业化的词语我就不说了(也不会说),就简单来说,ISCSI是指在服务器上划出来一个空间(通常用一个文件表示),将此空间以磁盘的形式(注意不是目录)提供给客户端使用。对于客户端而言就仿佛是添加了一块硬盘一样,同样可以进行格式化,分区等操作,毫无问题,并且可以通过在服务器端的修改,动态的扩展和缩小磁盘大小。无盘启动就是将操作系统安装在了ISCSI中。……

阅读全文

Esxi+NAS+Openwrt

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 接上一篇文章:Esxi的安装和使用,这一篇文章我们通过esxi来搭建一个虚拟机网络 框架 首先我们明确一个概念,整个esxi是将主机进行了虚拟化,因此我们可以任意使用宿主的计算和存储资源。下面是我设想中的一个网络架构 graph G { size = "8, 10" esxi[label="ESXI主机"] nas[label="NAS"] openwrt[label="Openwrt"] xu1[label="虚拟机1"] xu2[label="虚拟机2"] outnet[label="外部网络"] vswitch1[label="虚拟交换机1" shape=box] vswitch2[label="虚拟交换机2" shape=box] subgraph cluster_switch1{ label="有外网ip的" bgcolor="#73A04F" outnet -- vswitch1 vswitch1 -- {esxi openwrt nas} } subgraph cluster_switch2{ label="无外网ip的" labeljust = "r" labelloc = "c" bgcolor="#73A04F" {nas openwrt} -- vswitch2 vswitch2 -- {xu1 xu2} } } 首先明确一点,与VMware Workstations不同,ESXI中没有NAT网络,所有设备均通过虚拟交换机进行连接,虚拟交换机可以设定上行链路,也就是物理网卡连接的链路,EXSI本身也连接在虚拟交换机上,也就是说,所有连接在交换机上的虚拟机天生就是桥接模式。当你IP供应充足的时候,你可以将所有虚拟机都连在一个交换机上,毫无问题。由于当初网管只给了我们5个ip,因此我们需要将部分虚拟机用nat技术组成一个小型局域网,这就是使用Openwrt软路由的原因。……

阅读全文