python
红丶
Stay hungry, stay foolish.
展开
-
Socket网络编程(附java,python代码)
软件结构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一定的协议下,实现两台计算机的通信的程序。网络通信协议网络通信协议:通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守原创 2020-07-07 16:15:24 · 501 阅读 · 0 评论 -
python实现单例模式
简介单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。确保一个类只有一个实例存在,也就是说在整个系统中,如果你希望某个类只能出现一个实例,那么单例模式就派上用场了。单例模式的优缺点优点:在内存中只有一个对象,减少内存开支;可以避免频繁的创建销毁对象,可以提高性能;可以避免对资源的多重占用;为整个系统提供一个全局访问点。缺点:单例模式没有抽象层,扩展...原创 2020-03-26 12:51:26 · 974 阅读 · 0 评论 -
一文搞懂表关系和ORM
什么是表关系我们在存储数据的时候,往往需要分成几张表来存储,因为如果只用一张表的话会导致大量的数据冗余,表的结构会很复杂且混乱,同时不便于我们的修改。那么分表过后我们如何将两张表联系起来呢?这时候就需要建立表和表直接的关系,也就是所谓的表关系。如何在物理上实现表的关联答案是使用外键约束表关系的分类表关系一般有一下几种:一对一:通过外键+对外键字段唯一约束一对多:通过外键多对多:通过建立第三张表,表中两个字段分别外键关联两张表的主键什么是级联虽然我们将两张表建立了联系,但是当我们修改原创 2020-05-22 11:33:05 · 1386 阅读 · 0 评论 -
手写一个线程池类
线程池简介线程池是多线程的一种处理方式,用户只需要把需要执行的任务放到线程池中,不用关心哪个线程执行了任务,线程会抢占并执行该任务,当线程有空闲的时候,就会去等待队列里查看是否还有排队等待的任务,如果有,就会队列中取出任务并继续执行。如果没有,线程就会进入休眠。线程池的优势如果线程并发数量过多,可能会抢占系统的资源而导致阻塞,而线程池不会,我们在创建线程池的时候只需要知道线程池中线程数量,...原创 2020-04-10 19:22:00 · 1052 阅读 · 0 评论 -
python多线程模块
进程和线程进程进程是系统进行资源分配和调度的基本单位,是程序执行时的一个实例。程序运行时系统会创建一个进程,并为它分配资源,一个进程都有它自己的地址空间,使得各个进程之间内存地址相互隔离。进程主要用于管理资源。线程线程是操作系统能够进行运算调度的最小单位。一个进程可以包含多个线程,线程间共享进程的所有资源,每个线程也有自己单独的堆栈和局部变量,线程是进程的一个执行流,是CPU调度和分派的基...原创 2020-04-06 17:41:23 · 1186 阅读 · 0 评论 -
python交互数据库
本篇博客向大家介绍如何利用python对MySQL数据库进行增删改查。MySQL简介MySQL是一种开源免费的且最流行的关系型数据库管理系统之一,关系型数据库将数据保存在不同的表中以增加速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL使用 C和 C++编写,⽀持多种操作系统,并为多种编程语言提供了 API。MySQL的安装这里就不详细说了...原创 2020-04-01 10:15:21 · 1160 阅读 · 0 评论 -
利用Redis进行数据去重
前言之前有篇文章提到了实现增量爬虫可以利用redis数据库进行url去重,今天博主就给大家分享一下python如何利用redis进行去重吧。在试验中,我们用到Redis数据库和hash算法,我们先了解一下Redis和hashlib。Redis简介Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 优势读写速度极快,Redis能读的速度是11...原创 2020-03-28 10:31:33 · 6232 阅读 · 0 评论