随笔分类 -  Python 自学之路

摘要:1. 使用谷歌/火狐浏览器分析 在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以: HTML是一种用来定义网页的文本,会HTML,就可以编写网页; HTTP是在网络上传输HTML的协议,用于浏览器和服 阅读全文
posted @ 2018-10-27 20:28 A-handsome-cxy 阅读(273) 评论(0) 推荐(0)
摘要:(一)简介 首先我们得知道协程是啥?协程其实可以认为是比线程更小的执行单元。 为啥说他是一个执行单元,因为他自带CPU上下文。这样只要在合适的时机, 我们可以把一个协程切换到另一个协程。 只要这个过程中保存或恢复 CPU上下文那么程序还是可以运行的。 通俗的理解:协程可看成在一个线程中的某个函数,可 阅读全文
posted @ 2018-10-23 19:42 A-handsome-cxy 阅读(157) 评论(0) 推荐(0)
摘要:(一)单进程服务器 总结 同一时刻只能为一个客户进行服务,不能同时为多个客户服务 类似于找一个“明星”签字一样,客户需要耐心等待才可以获取到服务 当服务器为一个客户端服务时,而另外的客户端发起了connect,只要服务器listen的队列有空闲的位置,就会为这个新客户端进行连接,并且客户端可以发送数 阅读全文
posted @ 2018-10-18 17:00 A-handsome-cxy 阅读(182) 评论(0) 推荐(0)
摘要:(一)TCP十种状态 上一篇我们学习了tcp三次握手和四次挥手的过程,其中设计到的状态一共有10种,即为下图所示: (二)TCP的2MSL问题 2MSL即两倍的MSL,MSL即为数据包在传输过程中可以存活的最长时间,TCP的TIME_WAIT状态也称为2MSL等待状态:当TCP的一端发起主动关闭,在 阅读全文
posted @ 2018-10-17 16:50 A-handsome-cxy 阅读(486) 评论(0) 推荐(0)
摘要:(一)集线器组网 集线器:(Hub)是指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备。发生在物理层。 集线器工作的时候,如果局域网中的一台电脑要发送消息,则局域网内的所有电脑都可以接收到这个消息,安全性较差,而且每一次只能有一个发送,只有这个发送完毕其他电脑才能再发送,这称为半双工模式。 阅读全文
posted @ 2018-10-16 22:48 A-handsome-cxy 阅读(301) 评论(0) 推荐(0)
摘要:(一)wireshark抓包工具的使用 首先,我们要安装一个wireshark,他是一个抓包工具,方便我们后面学习下载传送的验证,网上可以很方便下载到,这里不再赘述。一下是其使用方法: 以上就是wireshark的基本使用方法。 (二)应用:TFTP客户端 1. TFTP协议介绍 TFTP(Triv 阅读全文
posted @ 2018-10-16 10:38 A-handsome-cxy 阅读(392) 评论(0) 推荐(0)
摘要:(一)socket简介 1.本地的进程间通信(IPC)有很多种方式,例如 队列 同步(互斥锁、条件变量等) 以上通信方式都是在一台机器上不同进程之间的通信方式,那么问题来了 网络中进程之间如何通信?也就是要从一台电脑的某个进程把数据通过网络传到另一台电脑上的某个进程如何实现呢? 2. 网络中进程之间 阅读全文
posted @ 2018-10-12 15:32 A-handsome-cxy 阅读(161) 评论(0) 推荐(0)
摘要:(一)网络 网络是一种辅助双方或者多方能够连接在一起的工具。 使用网络就是为了联通多⽅然后进⾏通信⽤的,即把数据从⼀⽅传递给另外⼀⽅;前⾯学习编写的程序都是单机的,即不能和其他电脑上的程序进⾏通信,为了让在不同的电脑上运⾏的软件之间能够互相传递数据,就需要借助⽹络的功能。 所谓的⽹络编程就是,让在不 阅读全文
posted @ 2018-10-10 17:23 A-handsome-cxy 阅读(249) 评论(0) 推荐(0)
摘要:(一)生产与消费者模式 什么是⽣产者消费者模式: ⽣产者消费者模式是通过⼀个容器来解决⽣产者和消费者的强耦合问题。 ⽣产者和消费者彼此之间不直接通讯,⽽通过阻塞队列来进⾏通讯,所以⽣产 者⽣产完数据之后不⽤等待消费者处理,直接扔给阻塞队列,消费者不找⽣产者要数据,⽽是直接从阻塞队列⾥取,阻塞队列就相 阅读全文
posted @ 2018-10-09 23:15 A-handsome-cxy 阅读(180) 评论(0) 推荐(0)
摘要:(一)同步 通过上一篇的介绍,我们发现了多线程开发可能遇到的问题,问题产⽣的原因就是没有控制多个线程对同⼀资源的访问,对数据造成破坏,使得线程运⾏的结果不可预期,这种现象称为“线程不安全”。 如何解决这个问题,就要引入同步,那什么是同步呢? 同步就是协同步调,按预定的先后次序进⾏运⾏。如:你说完,我 阅读全文
posted @ 2018-10-09 17:23 A-handsome-cxy 阅读(183) 评论(0) 推荐(0)
摘要:(一)简介 之前我们介绍了进程,他是资源分配的基本单位,比如我们的一段代码,写完保存后是一个程序,当他运行起来,占用一定内存空间后就是一个进程,此时程序开始一行一行的执行,在这个进程里面会有线程的存在,他们各自完成自己的任务,但可以在整个进程的空间内实现资源共享,我们用如下一个实例来演示: 说明: 阅读全文
posted @ 2018-10-08 17:20 A-handsome-cxy 阅读(253) 评论(0) 推荐(0)
摘要:(一)简介 在现实中,可能有如下需求,多个任务间需要相互配合与联系去实现任务间的数据交流,但是我们知道,进程与进程之间是没有任何联系的,那如何实现呢?这里介绍一种实现进程间的通信的方式 队列Queue。 (二)语法格式 说明: 初始化Queue对象时,如果括号内没有指定最大可接收的消息数量,或数量为 阅读全文
posted @ 2018-10-04 11:42 A-handsome-cxy 阅读(113) 评论(0) 推荐(0)
摘要:(一)简介 为什么要有进程池?进程池的概念。 在程序实际处理问题过程中,忙时会有成千上万的任务需要被执行,闲时可能只有零星任务。那么在成千上万个任务需要被执行的时候,我们就需要去创建成千上万个进程么?首先,创建进程需要消耗时间,销毁进程也需要消耗时间。第二即便开启了成千上万的进程,操作系统也不能让他 阅读全文
posted @ 2018-10-04 10:37 A-handsome-cxy 阅读(141) 评论(0) 推荐(0)
摘要:(一)简介 通过之前的学习,我们千方百计实现了程序的异步,让多个任务可以同时在几个进程中并发处理,他们之间的运行没有顺序,一旦开启也不受我们控制。尽管并发编程让我们能更加充分的利用IO资源,但是也给我们带来了新的问题:当多个进程使用同一份数据资源的时候,就会引发数据安全或顺序混乱问题。例如下列情形- 阅读全文
posted @ 2018-10-02 15:44 A-handsome-cxy 阅读(221) 评论(0) 推荐(0)
摘要:(一)简介 之前程序执行都是一条腿走路,现在通过系统编程,我们将学会用多条腿走路,也就是接下来我们将要学习的两种多任务方式 进程和线程。 所谓多任务,就是同一时刻打开了多个任务。 一般情况下是如何进行多任务的呢? 在过去的单核CPU执行多任务时,操作系统轮流让各个任务交替执行,任务1执行0.01s, 阅读全文
posted @ 2018-09-25 18:55 A-handsome-cxy 阅读(245) 评论(0) 推荐(0)
摘要:恢复内容开始 1.什么是异常: 异常就是在程序运行期时发生错误的信号,在python中,错误触发的异常如下:(在pycharm中如图所示,异常为列表下标越界) 2.异常种类: 在python中不同的异常可以用不同的类型去标识,不同的类对象标识不同的异常,一个异常标识一种错误。 比如一些常见错误如下 阅读全文
posted @ 2018-09-21 09:23 A-handsome-cxy 阅读(263) 评论(0) 推荐(0)
摘要:纸牌游戏: 本次将完成抽牌和洗牌的功能。 预备知识: 具体代码如下: 》》》输出: 阅读全文
posted @ 2018-09-20 15:53 A-handsome-cxy 阅读(114) 评论(0) 推荐(0)