摘要: 本节内容 1、第一回 初生牛犊 2、第二回 渐入佳境 3、第三回 虎口脱险 4、第四回 江湖再见 第一回 初生牛犊 我是一个线程,我一出生就被编了个号:0x3704,然后被领到一个昏暗的屋子里,在这里我发现了很多和我一模一样的同伴。 我身边的同伴0x6900 待的时间比较长,他带着沧桑的口气对我说: 阅读全文
posted @ 2018-11-02 17:40 活的潇洒80 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、引子 2、进程的诞生 3、线程 4、争吵 一、引子 我听说我的祖先们生活在专用计算机里, 一生只帮助人类做一件事情,比说微积分运算 了、人口统计了 、生成密码、甚至通过织布机印花 ! 如果你想在这些专用“计算机”上干点别的事儿,例如安装个游戏玩玩, 那是绝对不可能的, 除非你把它拆掉, 阅读全文
posted @ 2018-11-02 16:58 活的潇洒80 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、引子 2、并发多线程效果演示 一、引子 我们说单核的cpu只能同时执行一个任务,但是给我们的一个幻觉是可以执行多个,因为cpu太快了。它是怎么实现的呢?就是上下文切换,它不是轮询着切换的。它是按照优先级来切换的,并不是从头到尾的,中间的切换是有优先级的。我们就可以利用这个优势,因为它太 阅读全文
posted @ 2018-11-02 16:41 活的潇洒80 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、概述 2、什么是进程? 3、什么是线程? 4、什么是携程? 5、存在的疑问 6、总结 一、概述 我们知道,所有的指令的操作都是有CPU来负责的,cpu是来负责运算的。OS(操作系统) 调度cpu的最小单位就是线程。程序启动后,从内存中分一块空间,把数据临时存在内存中,因为内存比较快,内 阅读全文
posted @ 2018-11-02 16:35 活的潇洒80 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 网络编程基础【day09】:socket编程入门(一) 网络编程基础【day09】:简单socket实例(二) 网络编程基础【day09】:通过socket实现简单ssh客户端(三) 网络编程基础【day09】:实现简单地ssh(四) 网络编程基础【day09】:socket接收大数据(五) 网络编 阅读全文
posted @ 2018-11-02 16:11 活的潇洒80 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 面向对象【day07】:面向对象引子(一) 面向对象【day07】:面向对象概念介绍(二) 面向对象【day07】:类的实例化过程剖析(三) 面向对象【day07】:类的特性介绍(四) 面向对象【day07】:类的属性(五) 面向对象【day07】:析构函数(六) 面向对象【day07】:类的继承( 阅读全文
posted @ 2018-11-02 16:03 活的潇洒80 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、堡垒机前戏 2、SSHClient 3、SFTPClient 一、堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作。 paramiko模块 存在的作用:作批量管理用的。 二、SSHClient SSHClient 阅读全文
posted @ 2018-11-02 15:42 活的潇洒80 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、概述 2、多用户并发 3、socketserver.BaseServer 一、概述 之前上一篇写的 day8-socketserver使用 讲解了socketsever如何使用,但是在最后 简单代码实现 里面并没有实现多并发的效果,这个就郁闷了,其实不然,其实我们需要用多线程或者多线程 阅读全文
posted @ 2018-11-02 15:31 活的潇洒80 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、概述 2、socketserver类型 3、创建socketserver步骤 4、简单的代码实现 一、概述 我们之前的用户都是不支持多并发的,所以我们现在需要一个支持多用户,实现一个并发处理,我们接下来就不能不接触socketserver这个模块。前面讲的socket都是铺垫,后面需要 阅读全文
posted @ 2018-11-02 15:22 活的潇洒80 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、概述 2、代码实现 一、概述 上一篇博客讲到的用MD5来校验还是用的之前解决粘包的方法,就是客户端发送一个请求,等待服务端的确认的这样的一个笨方法。下面我们用另外一种方法:就是客户端已经知道可接收多少数据了,既然客户端已经知道接收多少数据了,那么客户端在接收数据的时候,正好接收已经知道 阅读全文
posted @ 2018-11-02 14:42 活的潇洒80 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、概述 2、socket接收大数据 3、中文字符的坑 一、概述 上篇博客写到了,就是说当服务器发送至客户端的数据,大于客户端设置的数据,则就会把数据服务端发过来的数据剩余数据存在IO缓冲区中,那我们如何解决这个问题呢? 有的同学就说了: 很明显,上面第二种思路靠谱一点:就是说服务端给客户 阅读全文
posted @ 2018-11-02 14:38 活的潇洒80 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、概述 2、文件下载实现 3、MD5值校验 一、概述 我们如何利用socket去下载一个文件,整体思路是这样的: 读取文件名 检测文件是否存在 打开文件 检测文件大小 发送文件大小给客户端 等客户确认 开始边读边发数据 发送md5值给客户端校验 友情提示:以下代码都是在Linux系统,并 阅读全文
posted @ 2018-11-02 14:33 活的潇洒80 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、概述 2、socket实例 3、总结 一、概述 之前我们只是介绍了soket的概念和一些逻辑图表,下面我们来看看,socket的客户端和服务端到底是怎么用的? 二、socket实例 2.1 客户端 2.1.1 客户端代码逻辑图 2.1.2 客户端代码 1 2 3 4 5 6 7 8 9 阅读全文
posted @ 2018-11-02 14:22 活的潇洒80 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、概述 2、socket发送中文 3、重复发送和多次接收 4、模拟ssh客户端 一、概述 本篇博客讲一下,如果socket客户端断了,另外的客户端怎么接入服务端,还有模拟ssh的链接等。 二、socket发送中文 因为在python 3中只能接受bytes类型的数据,bytes类型只能接 阅读全文
posted @ 2018-11-02 14:20 活的潇洒80 阅读(697) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、概述 2、异常梳理 3、异常梳理流程图 4、异常大全 5、自定义异常 一、概述 异常处理是当程序出错了,但是我们又不想让用户看到这个错误,而且我在写程序的时候已经预料到了它可以出现这样的错误,出现这样的错误代表着什么,我们可以提前处理这些个错误 二、异常处理 2.1 处理单个异常 语法 阅读全文
posted @ 2018-11-02 14:10 活的潇洒80 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、概述 2、知识点回顾 3、断言 一、概述 python中断言,这个我是第一次听说到的,断言有什么用呢?断言就是做一些程序的检查工作,就是在执行之前需要做的一些检查,比如类似于安检一样,合格的就能过,不合格的就不能过。也类似于银行转账工作,真正的转账之前是不是要检查用户各方面,是不是账号 阅读全文
posted @ 2018-11-02 14:07 活的潇洒80 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、概述 2、知识回顾 3、动态导入模块 一、概述 我们之前导入模块都是用import,或者from ... import ....这种模式去导入模块,那如果我们如何实现只用字符串就可以导入模块呢?我们下面就来说说如何动态导入模块,这个东西还是蛮有用的,通过字符串就可以导入,很方便。 二、 阅读全文
posted @ 2018-11-02 14:05 活的潇洒80 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、概述 2、类的起源 3、__new__方法 4、__metaclass__方法 一、概述 前面我们学习了大篇幅的关于类,通过类创建对象,那我们想知道这个类到底是怎么产生的呢?它的一切来源是什么?还有对象,对象是通过什么方法创建的,现在我们一头雾水,行的,下面我们就来揭开类的面纱,看看类 阅读全文
posted @ 2018-11-02 11:55 活的潇洒80 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、概述 2、知识回顾 3、使用场景 一、概述 之前我们学了面向对象知识,那我们在什么时候用呢?不可能什么时候都需要用面向对象吧,除非你是纯的面向对象语言,好的,我们下面就来谈谈 二、知识回顾 2.1 什么是面向对象? 在学面向对象之前我们都是用:函数 面向对象编程其实就是:类 + 对象 阅读全文
posted @ 2018-11-02 11:50 活的潇洒80 阅读(1238) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、self关键字 2、封装 3、继承 4、静态方法 一、self关键字 作用:调用当前方法的对象 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Foo: #静态字段或者公有属性 country = "中国" def __init__(self,name,c 阅读全文
posted @ 2018-11-02 11:48 活的潇洒80 阅读(158) 评论(0) 推荐(0) 编辑