ALOVN

志当存高远

diskpart恢复烧录的优盘

Recovering a burned USB drive from diskpart

使用烧录工具烧录U盘启动盘后,U盘会被分区,容量显示也会变小,如果想要恢复为原来的样子,可以在windows下使用diskpart进行恢复,具体操作如下: 打开cmd进入diskpart 1 > dispart 进入diskpart后,输入list disk,查看挂载磁盘列表。 1 2 3 4 5 6 DISKPART> list disk 磁盘 ### 状态 ...

哈夫曼树与哈夫曼编码

Huffman tree and huffman codeing

Huffman编码是一种数据压缩算法,可缩短编码后的二进制长度,以达到节约存储与带宽的目的。 原理 哈夫曼编码首先需要统计每个字符出现的次数(频率),然后将字符和频率构建出哈夫曼树,进而得到每个字符对应的编码。 需要知道的是哈夫曼编码不是等长编码,那么如果要使得编码后的二进制长度最短,那么出现频率高字符应该是编码最短的。 哈夫曼树 哈夫曼树是一个二叉树。构造哈夫曼树时每个字符对应到...

Termux android 6.0 安装笔记

termux android

Termux Termux 是一款 Android 终端上的 Linux 模拟器,不需要需 root 即可直接使用。安装好后有一个基础的linux运行环境,通过 apt 或 pkg 可以安装常用的软件包,也可自己编译安装。这样就可以在一台android手机上做一些有意思的事情,譬如执行某些脚本、安装mysql、运行个自己的小型网站。 安装 现在新版本的termux都要求android ...

Golang 1.22新特性

Golang 1.22 feature

本文介绍一下Go1.22比较重要的几个新特性。 for Go1.22版本中最大的变化是对于for循环的,有两处较大的更新: 之前的for循环每次循环中的变量只创建一次,每次循环。go1.22版本开始,每次循环都会创建新的变量。 for range 直接支持变量整数。 下面用示例演示,首先安装go1.22 1 2 go install golang.org/dl/go1....

了解 Base64 算法编码原理

Base64 algorithm

Base64 base64是一种常用的对二进制数据编码的方式,它可以将任意的数据转换为字符串格式,从而无需担心在网络传输中特殊符号被转换导致数据错误的问题。网页开发中为了减少网络传输次数通常将小尺寸的图片转换纬base64字符串格式直接存储到页面或者打包到js文件中。 base64编码包含a-z、A-Z、0-9、’+’、’/’ 共64个有效字符。其实除了这64个字符以外,我们还经常见到一...

Golang多值赋值

Golang multiple assignment

Golang和Python一样使用了多值赋值的语法,它在很多地方可以简化代码,不过有时也会让人产生困惑。 示例一 1 2 3 4 5 6 7 8 9 10 package main import "fmt" func main() { x := []int{1, 2, 3} i := 0 i, x[i] = 1, 2 fmt.Println(i, x) } 上面代码由于左...

iptables

iptables

工作模式 iptables两种工作模式:一种是用做NAT路由器,另一种是用做主机防火墙。对于数据包而言在两种工作模式下,分别有以下两种主要流向: PREROUTING → FORWARD → POSTROUTING PREROUTING → INPUT → 本机OUTPUT → POSTROUTING 规则表 iptables会根据不同的数据包处理功能使用不同的规则表。它包...

Kubernetes 证书更新

Kubernetes certificate renewal

声明:以下实验环境为 k8s v1.21.0, 其它版本不一定适用。 k8s突然发现启动不了了,用 journalctl -xefu kubelet 查看一下日志, 发现有如下打印: 1 part of the existing bootstrap client certificate in /etc/kubernetes/kubelet.conf is expired: 2023-05...

ESXI linux虚拟机磁盘扩容

ESXI linux virtual machain disk expansion

ESXI(VMware)里linux系统的磁盘空间有点不够用了,所以要扩容一下。它不像Windows系统那样简单的点几下鼠标就完成扩容了。这里简单记录一下操作过程。 首先关闭linux虚拟机,然后进入ESXI, 编辑虚拟机, 直接修改硬盘大小, 这里原先是50GB,直接设置到100GB。然后启动linux虚拟机后进入系统, 首先查看挂载点和文件系统类型, 1 2 3 4 5 6 7 8...

双绞线的分类

twisted pair classfication

双绞线在计算机网络中,特别是局域网连接中应用最为广泛,这主要得益于它的廉价性和非常不错的可用性。把两根互相绝缘的铜导线并排放在一起,然后用规则的方法绞合起来就构成了双绞线。 双绞线最早使用在电话交换系统中(那时主要是三类或以前版本的),后来才移植到计算机网络中,当然材质和标准都不一样。在计算机网络中使用的双绞线可分为屏蔽双绞线(Shielded Twisted Pair,STP)和非屏蔽双...