2024年2月

背景

我在局域网内有两台台式计算机,两台计算机以RJ45线的方式连接到同一台局域网交换机上:

  • 交换机只是内网使用,无法访问互联网。
  • 计算机A作为日常开发测试使用,配高CPU、大内存、单独显示器、三张有线网卡以及一个无线网卡,可通过无线网卡连接Wifi实现外网访问。
  • 计算机B只配单张有线网卡,作为辅助测试机使用。

连接方式示意图如下:

阅读剩余部分

这世上更优秀的事物并不会因其更优秀而得到更广泛的认可和传播,反倒是那些追求简单甚至于简陋的东西会形成更广泛的生态。

KISS.jpg

初学编程的那两年,我曾是Python的坚定拥趸;再后来的几年,伴随着我变成了静态类型的狂热份子,我逐渐对Python失去了兴趣。事实上,选择静态类型还是动态类型,在很大程度上还只是团队偏好问题。但比起这种团队偏好问题,它的缩进语法、和类型推导能力和F#的比起来更像个残废——这一点板上钉钉,无地可洗。但这些并不妨碍F#是一个冷门的编程语言。同样优秀的还有Rust,也长期处于这种尴尬的境地。另一方面,随着Python生态越来越好,越来越多的热钱涌入其中,这些热钱促进Python不停进化,又反过来促进更良好的生态。

谁都知道,在编程领域中,优秀的工具会让你犯更少的错误,但是更严格的约束会打击初学者的信心,过高的学习曲线会引来一些人的恶评。反倒是那些简单的工具组合,甚至放任人类自由“犯错”,会形成更良好的生态,比如bash,语法简陋,却由于种种机缘巧合,成为Linux中的标配。

最近我又重新审视Python推崇的那个格言:

Keep it simple, stupid

刚开始奉之为圭臬,后来不以为意,再到如今又觉得耐人寻味。

编程语言如此,其它的人和事也是如此。那些活得更好的业务和产品,是更高技术含量的吗?显然不是。历史的潮流如同奔腾的长江滚滚向前,我们这种无名之辈裹挟其中,注定不能独善其身。

背景

在云厂商提供廉价的 Linux ECS 方案中,往往只配了单颗虚拟硬盘。一般来说,这类廉价ECS搭配的硬盘的容量都非常小,仅能满足系统本身运行。为了满足日常所需,往往还需要加购第二颗硬盘,为此,我需要了解一点磁盘分区知识。

文件系统的概念

文件系统是存储和管理文件的方法。文件系统使得用户保存数据时,不必关心数据实际保存在硬盘(或者光盘)的数据块地址,只需要记住这个文件的所属目录和文件名。

不同的文件系统具有不同的特性,例如性能、安全性和兼容性。

常见的文件系统有:

  • ext4:常用于Linux系统,具有良好的性能和可靠性。
  • NTFS:常用于Windows系统,支持大文件和权限控制。
  • FAT32:用于跨平台兼容性,但不支持大文件和权限。

磁盘和分区

在Linux中设备出现在/dev/路径下。一个虚拟磁盘往往用vdx表示,其中x=a,b,c,...。比如/dev/vda/dev/vdb、...等。

一块磁盘往往会被划分成多个分区来用作不同的用途。硬盘的第一个扇区(512 字节),包含分区表引导代码,称之为主引导记录(MBR)。其中,分区表记录了磁盘各个分区的起始位置。

阅读剩余部分