- 博客(14)
- 收藏
- 关注
原创 UDP和TCP通信
“打电话”TCP:TransmissionControl Protocol,即传输控制协议面向连接、可靠传输(发送应答、超时重传、错误校验、流量控制和阻塞管理)和效率较低。 注意点1.tcp服务器一般情况下都需要绑定,否则客户端找不到这个服务器;2.tcp客户端一般不绑定,因为是主动链接服务器,所以只要确定好服务器的ip、port等信息就好,本地客户端可以随机;3.tcp服务器中通过listen可...
2018-07-14 00:07:08
452
原创 封装、继承和多态
1、面向对象: 将“变量+函数”制作成一个模板,当需要一个功能时,就提供给需求者; 那么,需求的人就会得到“变量(数据属性)+函数(功能方法)”; 为了使每个需求的人之间不产生误会,因此,每个人一份“变量(数据属性)+函数(功能方法)”。 (1)封装:将一些体现功能的代码封装进方法中,然后可以重复调用。 (2)继承:为了减少代码的冗余,将相同的功能封装进父类,将特殊的...
2018-07-14 00:01:20
178
原创 TCP服务器与客户端
1、生活中的“打电话”实例(TCP) (1)买个手机 (2)插上手机卡 (3)设计手机为正常接听状态(即能够响铃) (4)静静的等着别人拨打 (5)挂断手机,结束通话2、tcp服务器 (1)socket创建一个套接字 (2)bind绑定ip和port (3)listen使套接字变为可以被动链接 (4)accept等待客户端的链接 (5)r...
2018-07-13 23:53:34
3088
原创 面向对象(私有)属性和方法
1、属性 (1)实例属性:即__init__(self)中的属性。需要先实例化一个对象,然后才能被调用。 (2)类属性:即写在一个类中,方法外面的属性。供整个类及由类派生出来的对象使用,通过类名点属性调用。 2、方法 (1)实例方法:即参数中含有self的方法,需要先实例化一个具体对象,通过对象调用该方法。其中,self可以理解成一个形参,而对应的实参是实例化对象。 例如:...
2018-07-13 23:52:16
863
原创 网络通信过程
1、网络通信过程 (1)在浏览器中输入一个网址时,需要将它先解析出ip地址来; (2)当得到ip地址之后,浏览器以tcp的方式3次握手链接服务器; (3)客户端以tcp的方式发送http协议的请求数据给服务器; (4)服务器以tcp的方式回应http协议的应答数据给浏览器。2、MAC地址:在设备与设备之间数据通信时用来标记收发双方(网卡的序列号);3、IP地址:在逻辑上标记...
2018-07-10 19:32:45
2096
原创 WEB静态服务器
1、静态服务器 Html_socket= socket.socket(socket.AF-INET,socket.STREAM) Html_socket.bind((ip-address,ip-port)) Html_socket.listen(允许最大用户数) New_socket,client_info = html_socket.accept() Recv_me...
2018-07-10 19:25:58
1913
原创 GIL:全局解释器锁
描述Python中GIL的概念,以及它对python多线程的影响?编写一个多线程抓取网页的程序,并阐明多线程抓取程序是否可比单线程性能有提升,并解释原因。 答:(GIL:global interpreter lock,即全局解释器锁) (1)Python语言和GIL没有半毛钱关系。仅仅是由于历史原因在Cpython虚拟机(解释器)中难以移除GIL; (2)GIL:全局解释器锁。每个线程...
2018-07-10 19:13:28
142
原创 多任务(线程、进程和协程)比较
1、多任务方式对比 (1)线程:做事情的工人称之为线程; (2)进程:为了能够生产剪子而准备的资源称之为进程; (3)协程:如果一个线程等待某些条件,可以充分利用这个时间去做其它事情,这就是协程。 2、总结: (1)进程是资源分配的单位; (2)线程是操作系统调度的单位; (3)进程切换需要的资源很最大,效率很低; (4)线程切换需要的资源一般,效率一般(...
2018-07-10 19:09:49
304
原创 MYSQL账户管理
1、授予权限: (1)查看所有用户:select host,user,authentication_stringfrom user; (Host表示允许访问的主机、User表示用户名,以及authentication_string表示密码,为加密后的值) (2)创建账户授权:grant 权限列表 on 数据库 to '用户名'@'访问主机' identified by '密...
2018-07-10 19:02:54
289
原创 MYSQL高级(视图、事务和索引)
1、 视图(查select) (1) 创建:create view 视图名称 as select语句; (2) 含义:视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据; (3) 建议给视图命名以v打头,同数据表的操作; (4) 作用:提高了重用性,就像一个函数;对数据库重构,却不影响程序的运行;提高了安全性能,可以对不同的用户让...
2018-07-10 18:52:58
204
原创 MYSQL与PYTHON交互
from pymysql import * def main(): conn=connect(host='localhost',port=3306,user='root',password='mysql',database='jing_dong',charset='utf8) cs1 = conn.cursor() count = cs1.execute('selectid,na...
2018-07-10 18:48:23
182
原创 MYSQL查询操作
1、 使用as起别名 (1)字段:select 字段名 as 新名 from 表名 (2)表:表名.字段名;表名 as 新表名 2、 消除重复行:select distinct 字段名… from 表名 3、 条件: (1) select * from 表名 where 条件; (2) 比较运算符:> < = >= <= <&g...
2018-07-10 18:42:32
216
原创 MYSQL基本操作命令
一、 数据库1、显示所有数据库:show databases;2、使用数据库:use 数据库名;3、查看当前正使用的数据库:selectdatabase();4、查看当前数据库版本:selectversion();5、查看当前时间:select now();6、删除数据库:drop database 数据库名;7、创建数据库:create database 数据库名 charset=utf8; ...
2018-07-10 18:34:44
247
原创 MYSQL安装与备份
一、备份:mysqldump –uroot –p 数据库名 > 备份文件;二、恢复:mysql -uroot –p 新数据库名 < 原文件名;三、my_sql数据库安装 1、服务器端安装:sudo apt-get install mysql-server 2、启动:sudo service mysql start/stop/restart 3、查看进程中的mysql:ps ...
2018-07-10 18:27:02
269
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人