A Libertine of Computer Science

Python Multi-Inheritance [Python多重继承]

虽然 Python 不是一个专门的面向对象的语言,但是 Python 仍然有着优秀的封装,继承,多态的机制。其中继承尤其是多重继承是在复杂项目中经常用到的。但是多重继承在使用的过程中有很多需要注意的地方,以至于很多开发人员都会尽量避免使用多重继承。

Python Variable-Length Arguments [Python不定长参数]

我们在使用调用 python API 的时候,经常能够看见在参数列表的最后有两个“奇怪”的参数*args, **kwargs。首先要明白,其实并不是必须写成*args**kwargs。只有变量前面的***才是必须的。这两个参数的用法就是 python 中的不定长参数[当然了,大多数语言都支持不定长参数]。

Understanding Docker Compose [Docker Compose理解]

Docker 提供了一种全新的软件运行和发布机制: (1) 以 docker 镜像作为软件的载体。(2) 以 docker 容器[基于镜像的运行实例]来提供独立的软件运行上下文环境。 (3)通过 docker hub 等提供镜像的集中管理。(4) 使用 Dockerfile 定义容器的内部行为和关键属性来支持软件运行。

Understanding Docker [Docker理解]

Last Updated: Jan. 05, 2022

Docker是目前最流行的轻量级虚拟化解决方案,其核心思想在于最小化容器,容器可以理解成最大程度复用宿主机的硬件资源但是保留需要的部分来运行对应程序的“虚拟机”。更直观但是不那么准确的理解是想象成货轮拉着集装箱[就像docker的logo]。在一艘货轮上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。货轮可以理解成宿主机器,集装箱就是容器,那虚拟机就有点类似专门运送水果的货轮和专门运送石油的货轮。

JIT vs AOT

JIT[Just-In-Time],也就是即时编译,边运行边编译[动态编译]。AOT[Ahead-Of-Time],指运行前编译,是两种程序的编译方式。比较这两种编译方式之前,先比较编译器[Compiler]和解释器[Interpreter]。

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18]