- 博客(64)
- 收藏
- 关注
原创 数据库优化
一、应用程序与数据库结合使用的三种方式1、 python:调用存储过程mysql:编写存储过程2、 python:编写纯生sqlmysql:啥也不干3、 python:ORM-》纯生sqlmysql:啥也不敢二、事物举例说明:“A向B汇钱100”1.读出A账号余额(500)。2.A账号扣钱操作(500-100)。3.结果写回A账号(400)。4.读出B账号余额(500)...
2019-05-09 21:14:46 299
原创 mysql重点知识
一、数据类型1、整数类型: int int后的宽度是显示宽度,不是存储宽度,所以不用加宽度。2、日期类型: year 年 date 日 time 时分秒 datetime 年月日时分秒,8个字节 timestamp 年月日时分秒,4个字节 now() 当前时间,根据字段约束填入表中3、字符类型 char(5) 定长的字符 varchar(5) 可变长字符 字符...
2019-05-06 22:36:39 310
原创 线程queue的三种用法
队列先进先出import queueq = queue.Queue(3)q.put(1)q.put(2)q.put(3)# q.put(4, block=True) # 满了继续放会阻塞住# print(q.get())# print(q.get())# print(q.get())# print(q.get()) # 取完了继续取会阻塞住堆栈先进后出i...
2019-05-01 21:40:16 344
原创 并发编程总结
操作系统的作用1.隐藏丑陋复杂的硬件接口,提供良好的抽象接口;2.管理、调度进程,并且将多个进程对硬件的竞争变得有序。** 并发并行与同步异步的概念**并发:是系统具有处理多个任务的能力;单核CPU快速切换可以实现并发;并行:是系统具有同时处理多个任务的能力;单核CPU无法并行;并行是并发的一个子集;同步:当进程执行中到一个IO(等待外部数据)的时候,---------等...
2019-05-01 02:24:31 176
原创 面向对象之封装
封装之如何隐藏属性在变量名和方法名之前加双下划线__,外部就访问不到;class A: __x = 1 def __init__(self, name): self.__name = name def __bar(self): print(self.__name) A.__x # 外部无法访问...
2019-04-30 15:12:29 140
原创 面向对象之元类
一切皆对象1.都可以被引用2.都可以当作函数的参数传入3.都可以当作函数的返回值4.都可以当作容器类的元素类其实也是一个对象,那么是谁创建的它呢?元类是什么创建类的类称之为元类。定义类的两种方式:方式一:class方式二:type类的三要素:1.类名。2.类的基类们。 3.类的名称空间# 用调用的方式创建一个类class_name = 'Chinese'class_ba...
2019-04-30 03:38:52 130
原创 网络编程(基础)
一、计算机基础硬件:硬盘、CPU、内存操作系统:win、Linux、iOS应用软件:QQ、微信等应用软件通过操作系统,调取硬件进行工作二、网络基础网络传输osi七层协议,我们研究五层应用层:HTTP协议和TFP协议传输层:端口号,TCP协议和UDP协议网络层:IP地址,ARP协议,通过IP找Mac数据链路层:Mac 地址,以太网协议,网卡物理层:光纤、电缆、无线电波三、什么...
2019-04-25 17:26:17 200
原创 python内置函数
# -*- coding:utf-8 -*-# 作用域相关globals() # 返回一个字典:包含全部的全局变量locals() # 返回一个字典:包含全部的局部变量# 其他相关(不建议用)eval('1+1') # 把字符串两边的引号去掉,执行中间的代码,并返回执行结果# eval只能用在你明确知道你要执fn 行的代码是什么exec("""for ...
2019-04-23 13:30:36 103
原创 初识web框架django
一、初识web框架手撸一个web框架的总结:1、web框架的本质socket服务端与浏览器的通信2、socket服务端功能划分a.负责与浏览器收发消息(socket通信)wsgiref/uWsgi/gunicornb.根据用户访问的不同路径执行不同的函数自己写c.从HTML中读取内容,并且完成字符串的替换jinja2(模板语言)WSGI协议:a与bc之间通信的协议 3、P...
2019-04-20 09:54:09 166
原创 python匿名函数和递归
命名空间:内置命名空间:python解释器一启动就可以使用的名字储存在内置命名空间在启动器启动时被加载进内存里全局命名空间:程序从上到下被执行的过程中一次加载进内存放置了我们所有设置的变量名和函数名局部命名空间:函数内部定义的名字当函数调用时,才会产生这个名称空间,随着函数执行的结束,这个命名空间就消失了匿名函数:cale = lambda n,m : n**m函数名...
2019-04-20 09:52:33 109
原创 restful规范
1、开发模式:1、普通开发(前后端一起写)2、前后端分离2、后端开发:为前端提供URL(API/接口开发)注:永远返回HttpResponse3、DjangoFBV:基于函数的视图CBV:基于类的视图基于反射实现根据不同的请求方式,执行不同的方法原理:URL —— view方法 —— dispacth方法 ——反射执行其他代码:from django.views impo...
2019-04-20 09:50:52 580
原创 python装饰器详解
装饰器:一、装饰器的形成过程1、阶段一:需求一:需要给函数加上另外一个功能且不能改变原函数import time def func(): time.sleep(1) def timer(f): start = time.time() f() end = time.time() print(end-start) timer(func) 2、阶段二:需求二:在...
2019-04-20 09:45:01 135
原创 Python2与Python3字符串的区别
Python2:str = bytes为什么要有bytes? 是因为要表示图片、视频等二进制格式的数据 以utf-8编码的字符串,在Windows上不能显示如何在python2实现写一个软件,在全球各国电脑上直接看? 以Unicode编码写你的软件 s = you_str.decode(utf-8)Unicode类型文件头:python2:以utf-8 or gbk 编...
2019-03-29 15:43:47 200
原创 MySQL数据库(二)
补充:临时表(子查询)指定映射条件:– case when … then …三元运算:if (isnull(xx),0,1)上下连表:左右连表:join上下连表:union(自动去重) union all(不去重)select id,name from tb11union allselect id,name from tb11视图:在子查询中,给某个查询语句(查询的临...
2019-01-05 20:55:55 297
原创 MySQL数据库(一)
MySQL数据库用于管理文件的一个软件服务端软件:socket服务端,解析指令客户端软件(各种各样):socket客户端,发送指令PS:DBMS数据库管理系统。SQL语句其他类似的软件:sqllite, db2, oracle, access, sql server, MySQL非关系型数据库:MongoDB, redis技能:安装服务端和客户端,链接,学习SQL语句MySQL安装...
2019-01-04 23:31:07 176
原创 面向对象
如何编写面向对象的程序1、将函数归类+提取公共值(反推)2、在指定类中编写和当前类相关的所有代码+提取公共值面向对象的三大特性:封装/继承/多肽封装1、将相关功能封装到一个类中2、将数据封装到一个对象中继承为何要有继承========为了提高代码的重用性父类(基类)子类(派生类)原则:先在自己类中找,没有就去父类找支持多继承,先左后右...
2019-01-03 06:39:07 182
原创 python常用模块介绍
一、randomimport randomprint(random.random()) #(0,1)随机浮点print(random.randint(1,3)) #【1,3】包含两边print(random.randrange(1,3)) #【1,3) 不包含3print(random.choice([11,22,33,44,55])) #对可迭代的对象里的元素随机选取...
2019-01-03 05:30:08 205
原创 日志
日志1、为什么有日志?给开发人员错误,用于排查错误。2、只能往一个文件中写:import traceback #获取当前错误的堆栈信息import loggingimport traceback # 把错误的堆栈写到日志logger = logging.basicConfig(filename='xxx.txt', ...
2019-01-03 05:25:24 122
原创 爬虫(scrapy框架)
scrapy框架——下载页面——解析——并发——深度安装scrapy框架Linuxpip3 install scrapyWindowsa. pip3 install wheelb. 下载twisted http://www.lfd.uci.edu/~gohlke/pythonlibs/#twistedc. 进入下载目录,执行 pip3 install Twisted‑17....
2019-01-01 01:48:01 163
原创 爬虫(性能相关)
多进程和多进程在何种情况下使用IO密集型用多线程,爬虫就是IO密集型计算密集型用多进程多线程请求(多进程类似)from concurrent.futures import ThreadPoolExecutorimport requestsimport timedef func(url): response = requests.get(url) print(url...
2018-12-29 23:12:11 288
原创 进程和线程池
进程池的返回值一、p.map(funcname, iterable) 默认异步的执行任务,且自带close和join(1)返回值是所有进程的结果放到一个列表里二、p.apply() 同步调用的,很少用(1)只有func执行完之后,才会继续向下执行其他代码(2)返回值就是func的返回值三、p.apply_async() 异步调用,和主进程完全异步,需要手动cl...
2018-12-29 00:08:22 124
原创 爬虫(一)
requests模块response = requests.get(‘url’)response.contentresponse.textresponse.encodingresponse.apparent_encodingresponse.status_coderesponse.cookies.get_dict()BeautifulSoup模块from bs4 import B...
2018-12-26 03:33:10 104
原创 IO模型
IO模型阻塞IO非阻塞IOIO多路复用异步IO同步:提交一个任务之后,等待这个任务执行完毕异步:只管提交任务,不等待这个任务执行完毕就可以做其他事情阻塞:recv recvfrom accept非阻塞:IO发生时涉及的对象和步骤:对于一个network IO(以read举例),他会涉及到两个IO对象,一个是调用这个IO的process(or thread),另一个就是系统...
2018-12-25 00:37:03 99
原创 协程
实现并发的手段进程:启动多个进程,进程之间由操作系统负责调用线程:启动多个线程,真正被CPU执行的最小单位(a)开启一个线程,创建一个线程,寄存器,堆栈(b)关闭一个线程协程:(1)本质上是一个线程(2)能够在多个任务之间切换来节省一些IO时间(3)协程中任务之间的切换也消耗时间,但是开销要远远小于线程和进程之间的切换greenlet模块实现协程之间的切换from greenl...
2018-12-23 20:51:47 127
原创 Linux题目(一)
一、Linux启动过程接下电源——开机自检——硬盘MBR引导启动——GRUB菜单——加载内核——运行init进程——读取/etc/inittab配置文件——执行脚本(根据系统的运行级别,在开机时启动不同的软件)——启动mingetty进程二、什么是path环境变量,他有什么作用1、什么是环境变量:(1)大写(2)在系统大部分地方都可以使用,含义相同查看环境变量:envLANG 表...
2018-12-22 21:37:36 194
原创 序列化模块
序列化序列化——转向字符串数据类型序列——字符串序列化:字符串的过程反序列化:数据类型的过程json —— ***** 通用的序列化格式,只有很少的一部分数据类型能够通过json转化成字符串pickle —— **** 所有的python中的数据类型都可以转化为字符串形式pickle序列化的内容只有python能理解且部分反序列化依赖代码shelve —— *** 序列化句柄...
2018-12-22 21:37:15 90
原创 Linux目录结构(三)
Linux安装软件的方法/user/local 编译安装的软件默认的位置Linux下面安装软件的方法:1、yum 一键下载安装 ——点外卖,你缺少什么yum给你解决yum install tree2、rpm ——速冻水饺——半成品,缺少东西自己解决3、编译 ...
2018-12-12 15:37:12 97
原创 Linux目录结构(二)
/etc/hosts(解析关系)hosts这个文件是 IP地址与域名的解析关系。测试网站时候采用。比如把www.oldboyedu.com 解析到 100.0.0.200(测试机器)在hosts怎见后面加: 100.0.0.200 www.oldboyedu.com/etc/sysconfig/network(修改主机名)一、查看当前的主机名:hostname二、临时修改...
2018-12-12 14:45:46 90
原创 Linux目录结构(一)
Linux目录结构的特点1、一切从根开始,一切皆文件2、Linux下面设备(磁盘,光盘,分区)没有挂载无法使用挂载相当于给磁盘分区/设备 开了一个入口(挂载点),通过入口进入到光盘/磁盘分区中。举例:Linux使用光盘(1)把光盘放入到光驱中(2)Linux中使用光盘 /dev/cdrom(3)把光盘挂载到系统里面 mount /dev/cdrom /mnt/核心...
2018-12-05 16:15:57 191 1
原创 Linux系统优化(二)
显示中文乱码的排查过程查询当前字符集编码:[root@mendian-01 ~]# echo $LANGen_US.UTF-8临时修改字符集编码:[root@mendian-01 ~]# export LANG=zh_CN.UTF-8[root@mendian-01 ~]# echo $LANGzh_CN.UTF-8永久修改字符编码:[root@mendian-01 ~]# ca...
2018-12-04 12:07:34 95
原创 Linux系统优化(一)
Linux使用版本[root@xuexi-01 ~]# cat /etc/redhat-releaseCentOS release 6.10 (Final)[root@xuexi-01 ~]# uname -r2.6.32-754.el6.x86_64[root@xuexi-01 ~]# uname -mx86_64PS1是什么鬼?变量名字——藏经阁里的武功秘籍——葵花宝典ech...
2018-12-04 11:18:24 111
原创 Linux基础(四)
11、第十一题(取出某一行或连续的几行)生成100行数字1~~100命令: seq 100将这100行写入文件: seq 100 >/data/test.txtsed命令会把文件的内容默认都显示出来取消默认输出(-n取消默认输出),把第二十行显示出来: sed -n “20p” /data/test.txt显示20~30行的几种方法:方法一: ...
2018-12-03 22:35:29 225
原创 Linux基础(二)
一、认识Linux命令1、Linux命令行的组成[root@xuexi-01 ~]#root 当前用户名@ 分隔符xuexi-01 主机名~ 你当前的位置,定位2、Linux命令的格式命令 空格 -参数(条件) 空格 你要处理的内容(文件或路径)3、Linux目录结构一切从根开始 /...
2018-12-01 23:08:09 105
原创 Linux基础(一)
一、登录默认账号:root密码:123456二、配置虚拟机网络1、在办公室控制和使用服务器2、远程连接配置虚拟机网络步骤:1.编辑VMware-----虚拟网络编辑器NAT ---------------- 10.0.0.02.Linux里面的网络配置(1)setup命令进行设置network configuration 网络配置de...
2018-12-01 21:29:01 91
原创 Linux企业标准选择及下载
常用CentOS 6.9CentOS 7.2一、哪里下载1、官网 www.centos.org2、阿里云 mirrors.aliyun.comliveDVD.iso 体验版,可以写入到光盘中,一般不用bin-DVD1.iso 真的安装包,用这个minimal.iso 最小化安装包bin-DVD1to2.torrent 种子,只...
2018-11-28 21:40:45 165
原创 Linux是怎么来的
一、什么是操作系统人与计算机硬件的中介二、操作系统的组成外围应用程序命令解释器 shell系统核心(内核)三、Linux发展过程蛋-人-人-人蛋 诞生 1969 Unix 贝尔实验室人 谭教授 谭宁邦 minix mini unix人 斯托曼 stallman我要开发出一个系统:自由 开元 ...
2018-11-28 21:07:35 401
原创 celery的介绍和使用
一、celery的介绍和基本使用一、概念celery是一个基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,二、celery的优点:1、简单:一旦熟悉celery的工作流程后,配置和使用还是比较简单的2、高可用:当任务执行失败或执行过程中发生链接中断,celery会自动尝试重新执行任务3、快速:一个单进程的celery没分钟可处理上百万个任务4、灵活:...
2018-11-15 19:51:26 399
原创 Redis缓存数据库
一、缓存数据库介绍一、Nosql not only sql 不仅仅是SQL,泛指非关系型数据库Nosql数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。二、Nosql 数据库的四大分类1、键值对存储数据库2、列表储存数据3、文档型数据库4、图形数据库一、redis数据库介绍一、Redis是键值对缓存数据库之一,支持储存...
2018-11-15 11:54:07 236
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人