07 2021 档案
摘要:死锁 指两个或两个以上的进程或线程在执行过程中,因争夺资源而导致的一种互相等待的现象,若无外力作用,他们都将无法推进下去 此时称系统处于死锁状态,这些永远在互相等待的进程称为死锁进程 死锁典型问题 科学家吃面问题 一桌科学家吃面,桌上有两个叉子,吃面需要两个叉子,一个科学家抢到叉子等面,一个科学家抢
阅读全文
摘要:线程 进程是操作系统调度的最小单位,一个进程最少有一个主线程,一个进程中可以开启多个线程 真正干活的是线程 具体类似于: 有一个食谱(线程)上面写好了整个做菜流程,做菜中间需要几个食材和佐料(数据),然后人按照食谱做菜,按照食谱做菜这一整个过程可以看做是个进程 进程是资源分配的最小单位,线程是cpu
阅读全文
摘要:进程之间的数据是隔离的 在一整个进程内运行时数据是不隔离的 def task(): global n n = 10 print(f'这是子进程中的{n}') if __name__ == '__main__': n = 100 task() print(f'这是主进程中的{n}') # 这是子进程中
阅读全文
摘要:进程的并行和并发 并行:两者同时执行。在微观上。两者在精确时间片刻同时进行 并发:资源有限的情况下,两者交替轮流使用资源。在宏观上,一段时间内两者同时进行 同步异常与阻塞非阻塞 同步和异步关注的是消息通信机制 同步:一个任务的完成需要依赖另一个任务时,只有等待被依赖的任务完成后,依赖的任务才算完成,
阅读全文
摘要:socket抽象层 socket,又称为套接字 socket是在应用层(用户)和传输层(tcp、udp)之间的一个抽象层 socket把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用 把socket当做一个函数,不考虑它如何实现,只需要知道如何操作 服务端 为客户端提供服务,同时只能服务一
阅读全文
摘要:基础知识 我们需要了解一些基础的知识 例如↓ __file__ -> 当前文件位置 if:当前文件处在 sys.path 下 # 也就是存储python环境变量的地方 __file__ -> 相对路径 else:绝对路径 字符串前加r -> 按照字符串本意进行使用 文件路径后返回的\.. -> 表示
阅读全文
摘要:mixins机制 mixins机制是用来区分主类和副类 继承副类就有该副类中的功能,不影响子类使用 python对于mixin类的命名方式一般以Mixin,able,ible为后缀 且mixin类必须责任单一,如果需要多功能则写多个mixin类 通常副类写在主类的前面,这是规范,或建议 class
阅读全文
摘要:单继承下的属性查找 问题1 class Foo: def f1(self): print('Foo1') def f2(self): ptint('Foo2') self.f1() class Bar(Foo): def f1(self): print('Bar1') obj = Bar() obj
阅读全文
摘要:绑定方法 1.绑定给对象的 2.绑定给类的 绑定给对象 class Student(): country = 'CHINA' def __init__(self,name,age): self.name = name self.age = age def tell_info(self): print
阅读全文
摘要:面向过程 面向过程不是一门技术,而是一种编程思想 核心是过程二字 过程就是先干什么再干什么,按照流程走,机械式思维 面向过程思想经典案例 把大象关进冰箱: 1.打开冰箱 2.把大象放进去 3.关闭冰箱门 优点 复杂的问题简单化 缺点 扩展性差,可维护性差 应用场景 对扩展性要求不高的地方 面向对象
阅读全文
摘要:ATM作业流程 购物功能实现 '''先写需求,按照顺序先后满足''' 1.写出商品 2.读取用户购物车内容 3.让用户进行选择,输入商品编号,如果为0则将内存的购物车保存到文件内并退出 4.判断用户输入是否合法->是否是数字,是否大于0,是否是商品编号 5.将用户添加的商品加到内存读取的购物车内 购
阅读全文
摘要:ATM作业流程 转账功能实现 '''先写需求,按照顺序先后满足''' 1.选择用户进行转账,该用户必须存在,且不能为本机用户 2.用户输入转账金额 3.判断输入金额是否合法->是不是数字,是否大于0,用户是否有这么多钱 4.将自己的钱减去,同时对方账户增加相同的钱,金额要一致 5.记录交易流水->只
阅读全文
摘要:序列化、反序列化 序列:字符串 序列化:将其他数据类型转为字符串 写文件必须是字符串或者是二进制形式 基于网络传输的数据必须是二进制 反序列化:将字符串转为其他数据类型的过程 json数据格式 json数据格式就是各个语言之间沟通的桥梁 json模块 支持的数据类型较少: 字典、列表、元组->列表、
阅读全文
摘要:软件开发的目录规范 bin文件夹:执行程序 core文件夹:核心代码 conf文件夹:配置文件(一堆变量,支持用户进行定制) log文件夹:日志 lib文件夹:库(模块、功能) db文件夹(可能会有):数据 Readme文件:介绍软件如何使用 logging模块 logging模板 """ logg
阅读全文
摘要:匿名函数 匿名函数就是没有名字的函数 为何要用匿名函数 用于临时使用一次的场景 通常与其他函数搭配使用 如何定义匿名函数 lambda关键字 lambda 形参:函数内容 lambda x,y:x+y 调用匿名函数 1.(蠢) f = lambda x,y:x+y 2. (lambda x,y:x+
阅读全文
摘要:迭代器 什么是迭代器 迭代器就是用来迭代取值的工具 什么是迭代 迭代就是一个重复的过程,但是每次重复都是基于上一次的结果进行的 # 单纯的重复不叫迭代 n = 0 while True: n += 1 # 下面才是迭代的过程 n = 0 while n < 5: print(n) n += 1 为何
阅读全文
摘要:今日内容 装饰器 什么是装饰器 装饰器是一个用来为被装饰者添加功能的工具 被装饰者:函数 装饰器:可以用函数实现装饰器这种工具 为何要用装饰器 不影响源代码,调用方式不改变,同时增加新功能,如果新功能有bug还能直接回归源代码。 如何用装饰器 无参装饰器 推导 def index(x): print
阅读全文
摘要:今日内容 函数对象 函数是第一类对象 1.函数可以被赋值 def foo(): print('hello world') f = foo f() 2.函数可以当做参数传给另一个函数 def foo(): print('hello world') def func(f): f() func(foo)
阅读全文
摘要:今日内容 函数的基本使用 函数是盛放代码的容器 函数的使用原则:先定义,后调用 def foo(x,y): print(x,y) return x,y可以是任意类型的参数 type hinting 类型提示 可以为函数内x,y和return的值做出提示 # python3.5以上版本才可以 提示不是
阅读全文
摘要:今日内容 文件系统 文件是操作系统提供给用户/应用程序操作硬盘的一种功能 文件系统是操作系统内核中负责组织管理硬盘的程序,文件系统提供了文件的概念 常用文件系统种类 linux文件系统: # 日志文件系统 ext3 ext4 xfs(centos7默认) btrfs windows文件系统: FAT
阅读全文
摘要:今日内容 vim编辑器 故障恢复:vim会提前创建一个临时文件.文件名.swp,在编辑文件时断电或遇到其他问题后,再次打开文件会提示你是否用提前创建的临时文件恢复文件,恢复文件后要记得删除.文件名.swp这个临时文件。 vim -O 文件1 文件2 左右显示两个文件,可以同时编写,ctrl+两个w可
阅读全文
摘要:今日内容 文件处理基础 linux系统的目录结构 windows系统 linux系统 文件夹 > 目录 根目录:顶级目录 windows系统:多根结构 C:\a\b\c\d.txt D:\xxx\yyy\zzz\1.txt linux系统:单根结构 /a/b/c/d.txt # 第一个/代表根目录,
阅读全文
摘要:今日内容 操作系统相关 单用户模式破解root密码 1.开机时进入grub界面,按e键,然后在最下面寻找ro(意思是read only),将其改成rw init=/sysroot/bin/sh 2.按Ctrl-x 进入单用户模式 3.执行chroot /sysroot。其中chroot命令用来切换系
阅读全文
摘要:今日内容 虚拟机管理软件 虚拟机 vmware workstation windows系统 计算机硬件 虚拟机 libvirtd linux(kvm) 计算机硬件 虚拟机 esxi 计算机硬件 虚拟机管理软件的三种网络模式 NAT(vmnet8) 仅主机模式(vmnet1) 桥接模式(本地以太网卡)
阅读全文
摘要:今日内容 网络部分剩余 socket套接字: socket抽象层处于应用层与传输层之间,是对传输层及其以下的封装。应用程序产生的数据包想要往外传输,直接导入socket模块,然后传给socket就可以了,socket会完成后续的封装。如果没有socket套接字,需要研究大量的协议,然后再学习封装,为
阅读全文
摘要:今日内容 互联网通信协议详解 arp协议 # 简介 1.通信的第一步,先拿到目标主机的ip地址 2.判断出目标主机与源主机是否在一个子网里 如果在一个子网里,数据包的走向: 源主机->本地交换机->目标主机 如果不在一个子网里,数据包的走向: 源主机->本地交换机->本地路由器->公网->目标路由器
阅读全文
摘要:创建虚拟机且安装操作系统 虚拟机软件:VMware 操作系统选择centos7 什么是互联网 互联网=物理链接设备+互联网通信协议 为何要有互联网 为了方便数据的传输,互联网又称之为信息高速公路。 互联网怎么组成 先是由网线一根一根连起来组成局域网,一个小区域的计算机连接起来,可以快速传输文件,也叫
阅读全文
摘要:去IOE运动 企业的数据架构有三个不可或缺的部分:数据库服务器、数据库软件、数据存储设备。而IOE(I->IBM公司、O->Oracle公司、E->EMC公司)这三家公司恰恰分别在这三个领域实现了垄断。 牵扯到数据安全以及数据设备成本的问题,有公司提出了"去IOE"运动:用PC服务器代替IBM服务器
阅读全文

浙公网安备 33010602011771号