07 2019 档案
摘要:python 下Warning的使用 起因是这样的,当我使用pymysql模块执行建表的sql语句时获,在控制台输出了红色的消息,但是程序并没有终止而是继续运行了 sql语句如下: 整体代码: 得到的警告信息如下: sql语句是如果表存在则放弃创建,这意味着这个警告是应该的,并没有逻辑上的错误,但是
阅读全文
摘要:selenium介绍: selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种常见的浏览器 官网:
阅读全文
摘要:一.logging模块 logging翻译为日志记录 那问题是什么是日志? 日志实际上是日记的一种,用于记录某个时间点发生了什么事情,比如大学老师的教学日志,工作日志等 为什么要记录日志? 在实际生活中记录日志主要为了日后复查, 比如某个大学老师每天记录自己讲的什么内容,后面有学生某科成绩优异获奖了
阅读全文
摘要:一、ORM简介 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。那么,到底如何实现持久化呢?一种简单的方
阅读全文
摘要:本章目录: 一.类中的内置函数 二.反射 三.包装类型 四.元类 一.OOP中的内置函数 首先明确:类中存在一些名字带有 (双下滑线)开头的内置函数,这些函数会在某些时候被自动调用,例如之前学习的迭代器, 函数 1.isinstance(obj,cls) 检查是否obj是否是类 cls 的对象 2.
阅读全文
摘要:引子 什么是索引 为什么需要索引 使用索引 索引优化原理 正确使用索引 什么是索引 在关系数据库中,索引是一种单独的、物理层面的对数据库表中一列或多列的值进行排序的一种存储结构; 也称之为key 有以下几种: unique key primary key index key 索引的作用相当于图书的目
阅读全文
摘要:本章目录 一.视图 二.触发器 三.事务 四.存储过程 五.函数 六.数据备份与恢复 七.流程控制(了解) 一.视图 什么是视图 视图是有一张表或多张表的查询结果构成的一张虚拟表 为什么使用视图 当我们在使用多表查询时 我们的sql语句可能会非常的复杂,如果每次都编写一遍sql'的话无疑是一件麻烦的
阅读全文
摘要:mysql用户管理 !这是dba的活儿!,但是万一公司没有dba? mysql用户指的是什么? 我们每一次在操作前都需要指定账号和密码,这个账号就是mysql的用户; 为什么要管理? 一个公司不可能只有一个工程师,大公司,不不仅有很多工程师 还有很多不同部门,但是数据库服务器只有一个,大家都要访问,
阅读全文
摘要:1.数据增删改 2.单表查询 3.正则表达式 4.多表查询 笛卡尔积 内连接 外链接 子查询 一.数据的增删改 为什么不说查 因为查询语句 有很多细节 所以先从简单的说起 添加数据: 1.insert into table_name[column,[column2.....]] va
阅读全文
摘要:完成下例sql语句的编写 用户表 create table user( id int not null unique auto_increment, username varchar(20) not null, password varchar(50) not null, primary key(u
阅读全文
摘要:分表: 为什么要分表? 一个表中 要存储个人信息又要存储部门信息 会导致大量的数据冗余 所有数据存放在同一个表中 将导致以下几个问题 1.浪费空间 不致命 2.结构混乱 3.修改数据时 如果有一百个员工 那就要该一百次 扩展性极差 通过分表来解决 分表又造成新的问题 如何再将数据对应起来? 为什么需
阅读全文
摘要:一.认识数据库 1.什么是数据库? 数据库就是存储数据的仓库 存储数据的方式1 存储数据的方式2 计算机的性能进行扩展 访问不同计算机上的文件数据 2.常见数据库 关系型数据库 数据库可以为数据与数据之间建立关联关系,人是一条数据,他可能关联着一个工作岗位数据。双方可以通过自身找到对方。 非关系型
阅读全文
摘要:IO模型 模型即解决某个问题的固定套路 I/O 指的是输入输出 IO的问题: 当我们要输入数据或是输出数据通常需要很长一段时间,当然是对于CPU而言 在等待输入的过程中,CPU就处于闲置状态 没事干! 造成了资源浪费 注意: IO其实有很多类型,例如,socket网络IO,内存到内存的copy,等待
阅读全文
摘要:前言 我们知道nginx的效率非常高,能处理上万级的并发,其之所以高效离不开epoll的支持, epoll是什么呢?,epoll是IO模型中的一种,属于多路复用IO模型; 到这里你应该想到了,select,的确select也是一种多路复用的IO模型,但是其单个select最多只能同时处理1024个s
阅读全文
摘要:引子 上一节中我们知道GIL锁将导致CPython中多线程无法并行执行,只能并发的执行。 而并发实现的原理是切换+保存,那就意味着使用多线程实现并发,就需要为每一个任务创建一个线程,必然增加了线程创建销毁与切换的带来的开销 明显的问题就是,高并发情况下,由于任务数量太多导致无法开启新的线程,使得即没
阅读全文
摘要:简介 Scrapy一个开源和协作的框架,其最初是为了页面抓取所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如 Amazon Associates Web Se
阅读全文
摘要:本章内容: 1.什么是GIL 2.GIL带来的问题 3.为什么需要GIL 4.关于GIL的性能讨论 5.自定义的线程互斥锁与GIL的区别 6.线程池与进程池 7.同步异步,阻塞非阻塞 一.什么是GIL 需要知道的是,解释器并不只有CPython,还有PyPy,JPython等等。GIL也仅存在与CP
阅读全文
摘要:生产者消费者模型 是什么 模型: 就是解决某个问题套路 生产者: 指的是产生数据的一方 (一段代码) 消费者: 指的是处理数据的一方 (一段代码) 生活中到处都是这种模型 例如:饭店 厨师就是生产者 吃饭的人就是消费者 例如: 先爬取网页数据(生产) 在解析网页数据 (消费) 生产者和消费者出啥问题
阅读全文
摘要:多线程 什么是线程: 线程指的是一条流水线的工作过程的总称 线程是CPU的基本执行单位 对比进程而言,进程仅仅是一个资源单位其包含了程序运行所需的资源,就像一个车间 而单有资源是无法生产出产品的,必须有具体的生产产品的逻辑代码 线程就相当于车间中的一条流水线,而你的代码就是流水线上的一道
阅读全文
摘要:进程篇 本章目录: 什么是进程 进程与程序 进程PID与PPID 并发与并行,阻塞与非阻塞 python实现多进程 孤儿进程与僵尸进程 什么是并发编程 并发指的是多个任务同时被执行,并发编程指的是编写支持多任务并发的应用程序在。 之前的TCP通讯中,服务器在建立连接后需要一个循环来与客户端循环的收发
阅读全文
摘要:多进程的实现原理 多道技术 操作系统介绍 下图是操作系统在整个计算机中所在的位置: 位于应用软件和硬件设备之间,本质上也是一个软件, 由系统内核(管理所有硬件资源)与系统接口(提供给程序员使用的接口)组成 操作系统是为方便用户操作计算机而提供的一个运行在硬件之上的软件 操作系统的两个核心作用 1.为
阅读全文