08 2019 档案
摘要:进击のpython 数据库——多表查询 其实最开始创建多表的目的就是为了将单表里的数据分出来 变成两个三个表,为了逻辑清晰,也为了省内存,就多表分离了 但是,当我们想查看的时候,就需要将分离出来的东西“拼”回去 也就是我们接下来要讲的,多表查询~ 那在开始之前,我们先准备两个表: 哎哎哎~别说我赋值
阅读全文
摘要:进击のpython 数据库——单表查询 数据库在使用的时候,更多的是查看数据,而学会了外键之后,查询就已经不仅仅是针对单个表的操作了 同时,对于单表的查询要求也是越来越高,而基于此,原先的简单查询就有点心有余而力不足了 所以说,接下来就是进阶的查询!首先要确定一点的就是,查询是针对记录的,这点要明确
阅读全文
摘要:进击のpython 数据库——多表关系 多表问题其实可以把它变成两个表之间的关系 就像上一节我们提到的外键,就是两个表之间的关系 所以对于多表之间的关系,我们可以化繁为简讨论两个表之间的关系 表与表之间的关系就好像数学函数的y和x的关系,也分为三种: 一对一,多对一,多对多~ 多对一 怎么说呢?其实
阅读全文
摘要:进击のpython 数据库——约束条件 这个表你很熟悉吧,这其中的Null和Default就是约束条件 那其实不光有这些约束条件,在规定int的时候的unsigned也是约束条件 那本节就是针对约束条件来进行展开的 not null与default Null是指该数据可以为空,Default是该参数
阅读全文
摘要:进击のpython 数据库——数据类型 数据库的数据类型主要是针对这几点进行讲解: 数值类型,日期类型,字符串类型,枚举与集合类型 学完之后相信你就能够对int和char有个更清晰的了解! 数值类型 整数类型 整型:tinyint smallint mediumint int bigint 小数:f
阅读全文
摘要:进击のpython 数据库——存储引擎 上一节在表的操作的最后一点,提到了一个设置存储引擎 那什么是存储引擎呢?存储引擎能用来干什么? 这就是本小节所要研究的问题了 存储引擎 库就是创建了一个文件夹,在文件夹里存储的文件就叫表 那根据生活常识应该知道,不同的文件的格式是不一样的 文字的就是txt,视
阅读全文
摘要:进击のpython 数据库——初识sql语句 前面提到了说,数据库管理系统就像我们曾经做过的输入命令返回结果的socket通信差不多 那既然提到了命令,在MySQL中,有一些基本的语句,就应该被知道 刚开始学的时候可能觉得这些这么多的英语单词,我记不住怎么办? 其实你会发现,好多的语句其实跟我们说话
阅读全文
摘要:进击のpython 数据库——初识数据库 提前说一下!数据库不涉及到任何的其他编程语言,Python Java C C ... 他是一个独立的知识点!所以大家都是同一起跑线! 总说删库跑路,删库跑路,说的就是删数据库,也可以从侧面可以看出,数据库对一个企业的重要性 但是现在,随着数据库的技术成熟,安
阅读全文
摘要:进击のpython 番外:socketserver使用 是不是被一般写法,多进程写法,多线程写法甚至是协程写法搞的不可开交 云里雾里,仿佛将要放弃~再配上服务器要服务多个客户端 完蛋了,全都乱了~那今天就给你推荐一个好的模块!sockerserver 具体操作: 把注释去掉: 是不是超级简单!!!!
阅读全文
摘要:进击のpython 并发编程——协程理论 本节的主题的重点是 基于单线程来实现并发 ,即只用一个主线程的我情况下实现并发 所以在说这节知识点之前,我们需要先回顾一下并发的本质:切换+保存状态 那可以肯定一点的就是CPU正在运行一个任务的时候,会在两种情况切走去执行其他的任务 但是这种切换机制,不是我
阅读全文
摘要:进击のpython 并发编程——进程池线程池 本小节是对进程池线程池做一个了解同时也对回调函数有一个清晰的认识最后再提一下异步与同步 但是在提到这三个知识点之前,我们有必要基于线程的知识点进行一个练习 目的是为了能够对以前的知识有个印象,对于接下来学这两个知识点也有好处 练习 还是选择套接字来进行练
阅读全文
摘要:进击のpython 并发编程——Queue 进程其实就提过这个Queue的问题,我们为什么在进程使用Queue? 是因为当时我们想要对共享数据进行修改,同时也希望它能够自动的给我加个锁 基于上面的需求Queue就应运而生,扛起了这杆大旗 那反观线程这里,数据是共享的,那为什么还要使用Queue呢?
阅读全文
摘要:进击のpython 并发编程——信号量,Event,定时器 本节需要了解的就是: 信号量,以及信号量和互斥锁的区别 了解时间和定时器,以及使用 信号量 信号量也是锁,本质没有变!但是他跟互斥锁同一时间只能有一个任务抢到锁去执行来说 信号量同一时间可以有很多个任务拿到锁去执行 如果说互斥锁是一帮人抢一
阅读全文
摘要:进击のpython 并发编程——死锁和递归锁 死锁是一种现象: 两个及以上的进程或者线程在争抢资源的过程中,出现的互相等待的现象 如果没有外部干预,他们就一直僵持,永远在互相等待,就“死”住了 看一下现象: 执行的时候就会出现阻塞情况(自己执行) 那我也想保护func里面的数据,也想保护inner里
阅读全文
摘要:进击のpython 并发编程——GIL全局解释锁 这小节就是有些“大神”批判python语言不完美之处的开始 这一节我们要了解一下Cpython的GIL解释器锁的工作机制 掌握一下GIL和互斥锁 最后再了解一下Cpython下多线程和多进程各自的应用场景 首先需要明确的一点就是GIL不是Python
阅读全文
摘要:进击のpython 并发编程——线程方法 开启了线程之后,就要学习一下对应的方法 本小节对线程的一些方法进行简单的理解: 1.Thread的join方法 2.Thread的terminate与is_alive Thread的join方法 join([timeout]):主线程等待p终止(强调:是主线
阅读全文
摘要:进击のpython 并发编程——多线程与多进程 本小节就一个要求 掌握在一个进程下开启多个子进程与在一个进程下开启多个线程的区别 开始操作 开启速度 在主进程中开启线程 可以发现执行的很快 在主进程中开启线进程 相比较来说你会发现线程要更快 其实一想也是,开十个进程相当于十个进程+十个线程 那时间上
阅读全文
摘要:进击のpython 并发编程——开启进程 学知识除了要纵向吸收,还要学会横向对比 这样类比学习就容易简单的多 线程的学习就可以根据进程的学习来进行参考 这一节我们可以尝试着使用threading模块开启线程 通过掌握threading模块开启线程的两种方式 (我连上一句话都是照着线程的那个文章扒下来
阅读全文
摘要:进击のpython 并发编程——线程理论 前面讲的是进程的相关理论部分 从本节开始,就是对线程的相关知识的研究了 本节对线程进行一个定义,知道什么是线程 以及横向对比进程,知晓两者的不同点 什么是线程 线程是执行程序的最小单位 举个例子: 老师让你读一本书,那么这个书可以看作是进程,而你读书的这个过
阅读全文
摘要:进击のpython 并发编程——生产者消费者模型 介绍这个模型,有助于更好的理解队列在真正的项目开发过程中的使用场景 方便更好的理解队列的数据处理方式 本小节针对生产者消费者模型的介绍与创建进行剖析 可以将进程的知识点进行串讲,达到一个综合的目的 生产者消费者模型 生产者:就是产生数据的任务;消费者
阅读全文
摘要:进击のpython 并发编程——重要方法 前面提到的方法都是比较基本的,比较基础 这个小节我们着重了解一下以下几个方法: 1.守护进程 2.互斥锁 3.队列 守护进程 守护进程,就有点像古时候的封建奴隶制下的皇上与太监,皇上死了,太监就得陪着殉葬,守护着皇上 守护进程就是这样的关系,当主进程结束,守
阅读全文
摘要:进击のpython 并发编程——进程方法 开启了进程之后,就要学习一下对应的方法 本小节对进程的一些方法进行简单的理解: 1.Process的join方法 2.Process的terminate与is_alive Process的join方法 p.join([timeout]):主进程等待p终止(强
阅读全文
摘要:进击のpython 并发编程——开启进程 上一节说了那么多关于进程的东西,那这一节就尝试着自己开启一下进程 这一节我们可以尝试着使用multiprocessing模块开启进程 通过掌握multiprocessing模块开启进程的两种方式 是我们在后面的学习的基础,所以一定要好好看 multiproc
阅读全文
摘要:进击のpython 并发编程——进程理论 基于上一小节,相信对计算机的操作系统的发展史有了大致的了解 那这一小节我们对以下几个方面进行展开: 1.什么是进程 2.并发与并行 3.进程创建的方式 4.进程的三种状态 什么是进程 进程,进行的程序,这是一个状态。 一个正在进行的程序或者是一个任务都可以称
阅读全文
摘要:进击のpython 并发编程——操作系统 这一部分的知识点,我给你写的和别人写的应该是差不多的,所以说,没有什么意义 也没有什么指导性意义,这部分就当做是一个计算机操作系统发展史的科普文章就行 本节的内容主要就是介绍一下计算机的操作系统发展情况,以及对相关的功能发展进行简述 什么是操作系统 还是这个
阅读全文
摘要:进击のpython 网络编程——UDP 那现在看到这里的 这就是网络编程的最后一讲了 上面讲的都是关于TCP的编程方法 还记得TCP和UDP传输的区别吗? UDP简单就简单到它可以不借助管道来进行数据的传输 那要怎那么通过套接字方法来进行UDP方式的信息传输呢? 老规矩,信息收发创建两个py文件,服
阅读全文
摘要:进击のpython 网络编程——文件处理 有了上次的模板之后啊 我们就应该可以对于文件进行操作了 对于文件的操作就是上传和下载 而在上文上我也提到了,上文写的是一个模板 既然是模板,就应该是拿过来稍加改动就能完成我的要求 好,分析一下吧 在刚开始的时候是这样的 客户端键入命令 然后把这条命令的字节形
阅读全文
摘要:进击のpython 网络编程——自定义报头 当你正在给你朋友显摆你的代码的时候, 飘过来一个大神随口说道:“这代码有问题” 大神说的话不能不当真啊,谁让你是个菜鸡,你仔细想了一会儿。嗯,确实有问题 首先,我刚才做的报头,按照协议来说应该不只有长度信息,还应该有其他信息 其次就是这个struct模块,
阅读全文
摘要:进击のpython 网络编程——粘包现象 前面我们提到了套接字的使用方法,以及相关bug的排除 还记得我们提到过一个1024吗? 我们现在要针对这个来研究一下一个陷阱 在研究这个陷阱之前我要先教你几条语句 这是windows的命令啊 ipfonfig 查看本地网卡的ip地址 dir 查看某一个文件夹
阅读全文
摘要:进击のpython 网络编程——socket socket的中文意思叫做套接字,socket方法其实也叫套接字方法 我们研究过TCP/UDP协议,但是要是让我们自己搭建,就十分困难了 而这时候,socket就出来了 socket他是存在在应用层和传输层之间的一堆接口 他把复杂的协议都封装好了,你想用
阅读全文
摘要:进击のpython 网络编程——TCP/UDP协议 其实你也发现了,应用层是交给应用来处理的,我们什么也做不了 相较于网络编程来说,我们更重要的是在做应用层和传输层的对接 因为你也看到了,如果我传输层成功了,后面的层级其实是自动进行的 那,传输层的关键是什么呢????协议! 那传输层的协议有什么呢?
阅读全文

浙公网安备 33010602011771号