- 博客(59)
- 收藏
- 关注
转载 MongoDB
MongoDB1. MongoDB之原生ORM使用了不存在的对象即创建该对象 **不存在关系链接**不存在SQL语句nosql格式: [{ id:1 name:"蔡文姬" age: 16 gender:"女" }, { id:1 name:"蔡文姬" age...
2018-11-04 10:59:00
182
转载 AJAX
一 什么是AJAXAJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。(这一特点给用户...
2018-10-09 11:04:00
164
转载 JSON
一 什么是JSONJSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)JSON 是轻量级的文本数据交换格式JSON 独立于语言 *JSON 具有自我描述性,更易理解* JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。如图:格式正...
2018-10-04 22:03:00
165
转载 Django模型 - 多表操作
一 创建模型作者模型:一个作者有姓名和年龄。作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息。作者详情模型和作者模型之间是一对一的关系(one-to-one)出版社模型:出版社有名称,所在城市以及email。书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);一本书只...
2018-09-13 17:07:00
176
转载 Django–模板层
1 模板简介将页面的设计和python的代码分离开会更干净建简介维护。我们可以使用Django的模板系统(Template System)来实现模板语法重点: 变量:{{ 变量名 }} 1 深度查询 2 过滤器 标签:{% %}模板语言分为两种:过滤器:filter标签:{% %}2 过滤器 filter1 变量 句点符,深度查询(...
2018-09-11 21:25:00
121
转载 Django–视图层
1 视图函数一个视图函数是一个简单的python函数,它接受Web请求并返回Web响应。响应可以是一张网页的HTML内容,一个重定向、一个404错误或一张图片。视图层应掌握两个对象:请求对象(request)和 响应对象(HttpResponse)2 Request对象form表单,不写method,默认是get请求 (1)什么情况下用get:请求数据,请求页面 (2)什么情况下用pos...
2018-09-10 20:00:00
109
转载 django 2.0 path
一 2.几 和1.几 的区别 django2.几的re_path和1.几的url一样 2.几多了一个path,不支持正则二 2.0 pathfrom django.urls import path from . import views urlpatterns = [ path('articles/2003/', views.special_case_2003),...
2018-09-07 19:41:00
119
转载 Django - 路由控制
一 Django中路由的作用URL配置就好像Django所支撑网站的目录。本质是URL与要为该URL调用的视图函数之间的映射表,就是以这样方式告诉Djang,对于客户端发来的某个URL该调用哪一段逻辑代码对应执行二 简单的路由配置from django.conf.urls import urlurlpatterns = [ url(正则表达式, views视图函数,参数,别...
2018-09-06 21:14:00
127
转载 ORM
一 ORM简介(1) 询数据层次图解:如果操作mysql,ORM是在pymysq之上又进行了一层封装 (2) MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要 依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动(3)ORM是 '对象—关系—映射'的简称。...
2018-09-05 20:53:00
102
转载 Django简介
一 django的下载与启动(1)下载Django方式一:在命令行输入:pip3 install django方式二:用pycharm安装方式三:用pycharm的Terminal的命令行安装D:(切换到D盘下)(2)创建一个django projectdjango-admin startproject mysite(3) 在mysite目录下创建应用python manage.py...
2018-09-05 19:12:00
95
转载 web框架
手写简单的web框架WebServerimport socketimport pymysqldef index(request): ''' 处理用户请求,并回相应的内容 request: 用户请求的所有信息 ''' return '<img src="https://baidubaike.com/base/dede/swsww2...
2018-09-05 18:46:00
80
转载 web应用
一 什么是web应用Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行。WEB应用程序一般是B/S模式。本质上:浏览器是一...
2018-09-04 21:14:00
109
转载 索引
01 为什么要用索引 对于一个应用来说,对数据库的读写比例基本上是10:1,即读多写少 而且对于写来说极少出现性能问题,大多数性能问题都是慢查询 提到加速查,就必须用到索引02 什么是索引 索引就相当于书的目录,是mysql中一种专门的数据结构,称为key(primary key,unique key ,index key) 索引的本质原理就是通过不断地缩小...
2018-08-11 16:22:00
83
转载 pyMysql模块
# pip3 install pymysqlimport pymysqlclient=pymysql.connect( host='127.0.0.1', port=3306, user='root', password='', database='db5', charset='utf8')curso...
2018-08-11 16:21:00
73
转载 视图、触发器、存储过程、函数
一、视图:1、什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次用的直接使用即可2、为什么要用视图 如果要频繁使用一张虚拟表,可以不用重复查询3、如何用视图 create view teacher2course as select * from teacher inner join course on teacher.tid = cour...
2018-08-11 16:19:00
197
转载 表的增删改查
一、修改表1. 修改表名alter table 表名 rename 新表名;#mysql中库名、表名对大小写不敏感(不区分大小写)2. 增加字段alter table 表名ADD 字段名 数据类型 [完整性约束条件…], ADD 字段名 数据类型 [完整性约束条件…];alter table 表名ADD 字段名 数据类型 [完整性约束条件…] FIRST; #插第一行alter...
2018-08-11 16:18:00
107
转载 单表查询、多表查询、子查询
一、单表查询(*******)1、完整语法(语法级别关键字的排列顺序如下)select distinct 字段1,字段2,字段3,...from 库名.表名 where 约束条件 group by 分组依据 having 过滤条件 order by 排序字段 ...
2018-08-11 16:16:00
233
转载 约束条件
一、创建表的完整语法#语法:create table 库名.表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件]);约束条件:是在数据类型之外对字段附加的额外的限制#注意:1、最后一个字段之后不能加逗号2. 在同一张表中,字段名是不能相同3. 宽度和约束条件可选,字段名和类型是必须的二、 not n...
2018-08-11 16:15:00
862
转载 基本sql语句和表的详细操作
一、基本sql语句文件夹:库 增 create database db1 charset utf8; 删 drop database db1; 改 alter database db1 charset gbk; 查 查看所有库的库名 show databases; 单独查看某一个库...
2018-08-11 16:12:00
122
转载 Mysql基本概念
1、数据库是什么? 数据库本质就是一个C/S的套接字软件 常见的数据库: 关系型: mysql mariadb oracle db2 sqlserver 非关系: 存取数据都是以key:value(键值对) ...
2018-08-11 16:09:00
73
转载 网络IO
一 网络IOrecvfrom: wait data:等待客户端产生数据——》客户端OS--》网络--》服务端操作系统缓存 copy data:由本地操作系统缓存中的数据拷贝到应用程序的内存中(速度很快) send: copy data网路IO的两个阶段(copy data阶段 + wait data阶段),换言之,所有IO都围绕这两个阶...
2018-08-11 16:07:00
95
转载 协程
一、协程1、协程: 单线程实现并发(为了提高效率;但不是说所有协程都会提升效率) 在应用程序里控制多个任务的切换+保存状态 优点: 应用程序级别速度要远远高于操作系统的切换 缺点: 多个任务一旦有一个阻塞没有切,整个线程都阻塞在原地 该线程内的其他的任务都不能执行了 一旦引入协程,就需要检测单线程下所有的IO...
2018-07-19 11:25:00
144
转载 GIL、定时器、线程queue、进程池和线程池
一、GIL1、什么是GIL(这是Cpython解释器) GIL本质就是一把互斥锁,那既然是互斥锁,原理都一样,都是让多个并发线程同一时间只能 有一个执行 即:有了GIL的存在,同一进程内的多个线程同一时刻只能有一个在运行,意味着在Cpython中 一个进程下的多个线程无法实现并行===》意味着无法利用多核优势 但不影响并发的实现 GIL...
2018-07-19 11:23:00
131
转载 线程
一、线程01 什么是线程 进程其实不是一个执行单位,进程是一个资源单位 每个进程内自带一个线程,线程才是cpu上的执行单位 如果把操作系统比喻为一座工厂 在工厂内每造出一个车间===》启动一个进程 每个车间内至少有一条流水线===》每个进程内至少有一个线程 线程=》单指代码的执行过程 进程-》资源的申请与销毁的过程 开启线...
2018-07-19 11:22:00
93
转载 守护进程、互斥锁、ipc机制、生产者消费者模型
一、补充:from multiprocessing import Processimport time, osdef task(): print('%s is running' % os.getpid()) time.sleep(3)if __name__ == '__main__': p = Process(target=task) p.start() p...
2018-07-19 11:21:00
144
转载 进程(开启进程的两种方式)
一、开启进程的两种方式方式一:from multiprocessing import Processimport timedef task(x): print('%s is running' %x) time.sleep(3) print('%s is done' %x)if __name__ == '__main__': # Process(target=tas...
2018-07-11 18:50:00
1202
转载 进程与操作系统
一、进程1、什么是进程 进程指的就是一个正在运行的程序,或者说是程序的运行过程,即进程是一个抽象的概念 进程是起源于操作系统的,是操作系统最核心的概念,操作系统所有其他的概念都是围绕进程展开的 多道技术2、为何要进程 并发3、如何用进程 开启进程的两种方式二、为什么要有操作系统 程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常...
2018-07-11 18:49:00
679
转载 基于udp实现套接字通信、基于socketserver实现并发(udp和tcp)
一、基于udp实现套接字通信服务端:from socket import *server = socket(AF_INET, SOCK_DGRAM)server.bind(('127.0.0.1', 8080))while True: data, client_addr = server.recvfrom(1024) print('====>',data,...
2018-07-11 18:47:00
137
转载 解决tcp协议的粘包问题
一、远程执行命令的程序服务端:from socket import *import subprocessserver=socket(AF_INET,SOCK_STREAM)server.bind(('127.0.0.1',8080))server.listen(5)while True: conn,client_addr=server.accept() #(连接对象,...
2018-07-11 18:38:00
170
转载 基于套接字通信(tcp)
一、基于tcp协议套接字通信(简单版)套接字socket:套接字是位于应用层与传输层之间,将传输层以下的协议都封装成接口,提供给应用层使用,应用层只需要调用socket的接口或者按照socket的标准编写程序自然遵循tcp/udp协议服务端: import socket# 1、买手机phone = socket.socket(socket.AF_INET...
2018-07-10 20:06:00
211
转载 网络协议
1、C/S B/S client<---基于网络通信--->server browser<---基于网络通信--->server server端必须满足的条件: 1、稳定运行(网络、硬件、操作系统、服务端应用软件),对外一直提供服务 2、服务端必须绑定一个固定的地址2、什么是互联网 两大要素 1、底层的物理...
2018-07-05 17:17:00
129
转载 异常处理
1、什么是异常 异常是错误发生的信号, 程序一旦出错,如果程序中还没有相应的处理机制 那么该错误就会产生一个异常抛出来 程序的运行也随之终止2、一个异常分为三部分: 1、异常的追踪信息 2、异常的类型 3、异常的值3、异常的分类: 1、语法异常: 这类异常应该在程序执行前就改正 print('start....'...
2018-07-05 17:13:00
76
转载 单列模式三种形式
一、元类补充class Mymeta(type): n=444 def __call__(self, *args, **kwargs): obj = self.__new__(self) # self=Foo # obj = object.__new__(self) # self=Foo self.__init__(obj, *a...
2018-07-05 17:11:00
138
转载 反射、元类
一、补充内置函数 1. isinstance(obj,cls):检测object是否是cls的对象 class Foo(object): pass obj = Foo() isinstance(obj, Foo 在python3中统一类与类型的概念 ...
2018-06-30 21:51:00
90
转载 封装
一、封装1.什么是封装 封:属性对外是隐藏的,但对内是开放的 装:申请一个名称空间,往里装如一系列名字/属性2.为什么要封装 封装数据属性目的: 首先定义属性的目的就是为了给类外部的使用者使用的, 隐藏之后是为了不让外部使用者直接使用,需要类内部开辟一个接口 然后让类外部的使用者通过接口来间接地操作隐藏属性。 精髓...
2018-06-28 16:55:00
75
转载 继承与派生、组合、菱形继承、多态
一、继承与派生 1.什么是继承 继承是一种新建类的方式,新建的类称为子类,被继承的类称为父类 继承的特性是:子类会遗传父亲的属性 强调:继承是类与类之间的关系 2.为什么用继承 继承的好处就是可以减少代码的冗余 3.如何用继承 在pyth...
2018-06-27 18:31:00
154
转载 面向对象编程
一、面向对象编程1. 面向过程编程: 核心是过程二字,过程指的是解决问题的步骤,即想干什么再干什么后干什么。。。 基于该思想编写程序就好比在设计一条流水线,是一种机械式的思维方式 优点: 复杂的问题流程化、进而简单化 缺点: 可扩展性差2.面向对象编程: 核心对象...
2018-06-26 18:21:00
82
转载 hashlib模块、shutil模块、shevle模块、xml模块、configparser模块
一、hashlib模块1 什么是hash hash是一种算法,该算法接受传入的内容,经过运算得到一串hash值 如果把hash算法比喻为一座工厂 那传给hash算法的内容就是原材料 生成的hash值就是生产出的产品2、为何要用hash算法 hash值/产品有三大特性: 1、只要传入的内容一样,得到的hash值必然一样 2、只要...
2018-06-25 20:23:00
126
转载 re模块、os模块、subprocess模块
一、re模块1、什么是正则 正则就是用一系列具有特殊含义的字符组成一套规则,该规则用来描述具有某一特征的字符串, 正则就是用来去一个大的字符串中匹配出符合规则的子字符串2、为什么要用正则 1、用户注册 2、爬虫程序3、如何用正则# =================================匹配模式======================...
2018-06-25 18:57:00
261
转载 random模块与os模块
一、random模块 1 import random 2 print(random.random())#(0,1)----float 大于0且小于1之间的小数 3 print(random.randint(1,3)) #[1,3] 大于等于1且小于等于3之间的整数 4 print(random.randrange(1,3)) #...
2018-06-21 14:35:00
125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人