耿嘉豪

CS 学生, Web。

UDP 编程

UDP 编程服务端例子TCP 发送数据的时候, 会建立好 TCP 的连接, 所以不需要指定地址, 而 UDP 是面向无连接的, 每次发送都需要指定发送给谁。 # udp_server.pyimport socketHOST = '127.0.0.1'PORT = 5000s = socket.s..


TCP 编程

TCP 编程个人计算机或者服务器上通常会运行多个应用程序, 但是我们只需要一条网线就能连接互联网, 去访问互联网的资源。如果有一个公网的 IP 可以被其他用户访问到, 这是由于所有的程序都共享了这一个线路, 为了实现共享, TCP 通过把要发送的数据流分解成小的信息包在网络上传输, 这些信息包到..


TCP/IP

TCP/IP要编写一个计算机网络通信的程序, 首先要确定程序之间通信所使用的协议, 协议就是计算机与计算机之间通过网络通信时实现达成的一种约定, 这种约定可以使不同厂商的设备, 不同的 CPU, 以及不同的操作系统组成的计算机之间只要遵循相同的协议就能实现通信。 TCP/IP 是用于因特网(In..


使用 asyncio

使用 asyncio官网对 asyncio 的描述 Asynchronous I/O(异步 I/O)。当代码需要执行一个耗时的 I/O 操作的时候, 它只发出 I/O 的指令, 并不等待 I/O 的结果, 然后去执行其它的代码, 以提高效率。 event loop(事件循环)。把基本的 I/O..


异步编程和事件驱动

异步编程和事件驱动一般我们学习的是传统的顺序编程, 所有发送给解释器的指令会一条条地被执行, 这样写出来的代码输出比较直观且可预测, 如果出了问题可以按照顺序执行下去即可发现问题, 可以比较好的开发和调试。 同步/异步同步和异步描述的是进程/线程的调用方式。 同步调用指的是线程发起调用后, 一..


concurrents.futures

concurrent.futures本文参考并转载于: 使用Python进行并发编程-PoolExecutor篇 多线程和多进程模块在使用的时候, start() 方法和 join() 方法不能省, 有时候还需要使用 Queue, 随着需求越来越复杂, 如果没有良好的设计抽象出这部分功能, 代码..


多进程编程

多进程编程multiprocessing由于 GIL(全局解释锁) 的原因, 多线程并不能充分利用多核处理器, 如果是一个 CPU 计算型的任务, 应该使用多进程模块 multiprocessing, 它的工作方式与线程库不同, 但是两种库的接口相似。multiprocessing 给每个进程赋..


多线程编程

多线程编程进程(process)和线程(thread)Linux 和 windows 是多任务操作系统, 这就意味着一次可以运行一个以上的程序。每个占用一定时间运行的程序就叫一个进程。运行的每一个指令会至少启动一个新进程, 还有很多一直运行着的系统进程, 用以维持系统的正常运作。但是个人电脑甚至..


迭代器、生成器和协程

迭代器、生成器和协程可迭代(Iterable)Python 中任意的对象, 只要定义了可以返回一个迭代器的 __iter__方法, 或者支持下标索引的 __getitem__ 方法, 那么它就是一个可迭代对象。 有些对象定义了 iter 和 getitem 这两种方法, 但是返回的不是一个迭代器..


包管理和虚拟环境

包管理安装第三方包安装第三方包的方法有以下 3 种: 通过 Python 社区开发的 pip, easy_install 等工具。 这是最常见的方法。 使用系统本身自带的包管理器(yum, apt-get 等)。 由于是系统下对应版本的包, 官方可能不会及时地更新, 一般不推荐使用这种方法。..