内置库os
一个 module 内的 Python 代码通过 importing 操作就能够访问另一个模块内的代码。 import 语句是发起调用导入机制的最常用方式,但不是唯一的方式。 importlib.import_module() 以及内置的 __import__() 等函数也可以被用来发起调用导入机制。
import 语句结合了两个操作;它先搜索指定名称的模块,然后将搜索结果绑定到当前作用域中的名称。 import 语句的搜索操作被定义为对 __import__() 函数的调用并带有适当的参数。 __import__() 的返回值会被用于执行 import 语句的名称绑定操作。 请参阅 import 语句了解名称绑定操作的更多细节。
注意
py2和py3在import时即使没有使用,也会初始化import的module文件
在import文件初始化时,会对类属性进行初始化!
内置库os
基础1listdir(path: AnyStr) -> List[AnyStr] #列出目录下所有文件和文件夹
os.sep与os.path.sep
根据系统返回分隔符,os.path对于文件路径更健壮
vlan和vxlan
vlanVLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。
vlan被创建后,应将交换机端口分配给vlan,以此使得接入该端口的电脑属于该vlan,需要使用该vlan所属的网络IP。
广播风暴防范限制网络上bai的广播,将网络划分为多个VLAN可减少参与广播风暴的设备数量。LAN分段可以防止广播风暴波及整个网络。VLAN可以提供建立防火墙的机制,防止交换网络的过量广播。使用VLAN,可以将某个交换端口或用户赋于某一个特定的VLAN组,该VLAN组可以在一个交换网中或跨接多个交换机,在一个VLAN中的广播不会送到VLAN之外。同样,相邻的端口不会收到其他VLAN产生的广 播。这样可以减少广播流量,释放带宽给用户应用,减少广播的产生。2. 安全 增强局域网的安全性,含有敏感数据的用户组可与网络的其余部分隔离,从而降低泄露机密信息的可能性。不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直 ...
proc目录解析
在linux中,proc是一个伪文件系统,提供了访问内核数据的一些方法
proc中PID目录存有进程的一些信息
pid目录ls123456789101112root@longtaoXiaoXinPro13-2020# ls /proc/1arch_status cwd mem patch_state statattr environ mountinfo personality statmautogroup exe mounts projid_map statusauxv fd mountstats root syscallcgroup fdinfo net sched taskclear_refs gid_map ns schedstat ...
VirtioSCSI和virtioBLK
qemu对设备的模拟可以分成两类:全模拟和半模拟。全模拟即完全模拟物理设备的工作过程,使得运行在虚拟机上的软件完全感知不到自身运行环境的差异。例如qemu中实现了对IDE磁盘、LSI控制器(其上可接SCSI磁盘)等物理存储设备的模拟,原先运行在物理机上的IDE驱动、LSI驱动或应用程序不做任何改动即可运行在虚拟机中。因此,全模拟的优点比较明显,即不用提供专门针对虚拟化场景的设备驱动,完全可以复用物理环境下的驱动程序。那么全模拟有何缺点呢?全模拟时,虚拟机内部驱动会频繁访问虚拟机IO端口,KVM平台下会导致大量的陷入和陷出操作;另外虚拟机内外数据传输时只能通过以字节为单位的拷贝方式进行,无法直接采用共享内存的方式,因此存在较大的访问性能问题。
为解决全虚拟化在性能上的问题,半模拟技术应运而生。它构造了一种虚拟化环境所独有的存储设备,因此半虚拟化需要在虚拟机内部安装特定的驱动程序才能正常驱使该设备进行工作。通常我们称**虚拟机内部的驱动为前端驱动**,称**负责实现其功能模拟的程序(KVM平台下即为qemu程序)为后端程序**,**半模拟技术也常常被叫做前后端技术。**采用半摸拟技术后,配 ...
中断
中断是什么中断是操作系统、CPU、CPU与IO设备中的概念,为中断CPU执行。其中涉及的概念都有无限深的概念栈(其实是无限深)我们就从简单的系统层面讲一讲。
前置概念IRQ:interrupt request,中断请求
ISR:interrupt service routine, 中断服务程序,中断后运行的服务,ISR运行结束才会结束中断
PIC:programmable interrupt contolle,可编程中断控制器(中断控制芯片),与I/O设备直连,可以触发CPU的INTR(中断请求)引脚,发起中断请求
APIC:advanced programmable interrupt contolle,高级编程中断控制器,有两部分,Local APIC 在CPU内部(每个核都有),I/O APIC在主板芯片组内,I/O APIC和LAPIC通过总线连接
硬中断硬件设备通知CPU就绪中使用,分为:
可屏蔽中断外设或借口的中断、可以在CPU处理其他紧急操作时忽略或屏蔽
不可屏蔽中断电源断电、内存错误等,不可通过软件屏蔽,必须响应中断
软中断软件触发的中断,如定时器、网卡收发包
异常一 ...
计算机启动到操作系统运行
首先学一个东西,一定要有一个前置的知识,我们把它当做已知的,我不可能从原子组成分子开始讲原理。那学习计算机启动过程的前置知识是什么呢?我要求你已知以下几点:
内存是存储数据的地方,给出一个地址信号,内存可以返回该地址所对应的数据。
CPU 的工作方式就是不断从内存中取出指令,并执行。
CPU 从内存的哪个地址取出指令,是由一个寄存器中的值决定的,这个值会不断进行 +1 操作,或者由某条跳转指令指定其值是多少。
好了,只需要知道这三点前置知识,你就能专业地解释计算机的启动过程了。
一、为什么是 BIOS 主导?都说开机后,BIOS 就开始运行自己的程序了,又硬件自检,又加载启动区的。我就不服了,为什么开机后是执行 BIOS 里的程序?为啥不是内存里的?为啥不是硬盘里的?
好的,不要怀疑前置知识,CPU 的工作方式,就是不断从内存中取指令并执行,那为什么会说是执行 BIOS 里的程序呢?这就不得不说说内存映射了。
二、内存映射CPU 地址总线的宽度决定了可访问的内存空间的大小。比如 16 位的 CPU 地址总线宽度为 20 位,地址范围是 1M。32 位的 CPU 地址总线宽度为 32 ...
linux kernel更换
CentOS 是RHEL(Red Hat Enterprise Linux)源代码再编译的产物
发行版本
发行时间
内核版本
发布时间
2.1
2004.05.14
kernel-2.4.9
2011.08
3.1~3.9
2004.03.19~2007.07.26
kernel-2.4.21
2003.01
4.0~4.9
2005.03.09~2011.03.02
kernel-2.6.9
2004.10
5.0~5.11
2007.04.12~2014.09.30
kernel-2.6.18
2006.09
6.0~6.10
2011.07.04~
kernel-2.6.32
2009.12
7.0.1406
2014.07.07
kernel-3.10.0-123
2013.07
7.1.1503
2015.03.31
kernel-3.10.0-229
7.2.1511
2015.12.15
kernel-3.10.0-327
7.3.1611
2016.12.12
kernel-3.10.0-514
7.4.1708
2 ...
yum使用
[toc]
更改centos yum 源1/etc/yum.repos.d/CentOS-Base.rep
更改为
1234567891011121314[base]name=CentOS-$releasever - Basebaseurl=http://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/gpgcheck=0[updates]name=CentOS-$releasever - Updatesbaseurl=https://mirrors.aliyun.com/centos/7.6.1810/updates/x86_64/gpgcheck=0[extras]name=CentOS-$releasever - Extrasbaseurl=https://mirrors.aliyun.com ...
react antd
antd 是react UI 组件库
使用 npx create-react-app 项目名(项目名不能为大写字母)yarn create react-app 项目名`
npm start yarn start
yarn test 测试
package-lock.json文件锁定所有模块的版本号,包括主模块和所有依赖子模块。 当你执行npm install的时候,node从package.json文件读取模块名称,从package-lock.json文件中获取版本号,(类似 go.mod 和 go.sum )
Webpack 只处理 src 中的文件。 你需要将任何 JS 和 CSS 文件放在 src 中,否则 Webpack 将发现不了它们。webpack 是react的前端打包工具
ajax
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)
AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。
AJAX 不需要任何浏览器插件,但需要用户允许JavaScri ...