- 博客(40)
- 收藏
- 关注
转载 9.26总结
BBS 公司开发项目的流程 1.需求分析 客户提需求,但是并不是完全按照客户需求来 产品经理和架构师+开发组组长 去之前架构师和开发组组长会提前预想一套方案 有意识的引导客户朝着自己已经想好的解决方案上去提需求 2.项目设计 框架的使用,语言的使用,数据库的使用(主库+缓存数据库),功能的划分,框架的设计...... ...
2019-09-26 18:50:00 131
转载 9.25总结
django中间件 django中间件就类似于是django的保安 请求的时候需要先经过中间件才能到达django后端(urls,views,templates,models) 响应走的时候也需要经过中间件才能到达web服务网关接口 django默认的七个中间件 MIDDLEWARE = [ ...
2019-09-25 21:17:00 138
转载 9.24总结
多对多三种创建方式 1.全自动(推荐使用*) 优势:不需要手动创建第三张表 不足:由于第三张表不是手动创建的,也就意味着第三张表字段是固定的无法做扩展 class Book(models.Model): title = models.CharField(max_length=32) price = models.DecimalFiel...
2019-09-24 20:41:00 157
转载 9.23总结
choices参数 用户性别 用户学历 工作状态 客户来源 是否结婚 # username gender # jason 1 # tank 1 from django.db import models class User(models.Model): ...
2019-09-23 21:11:00 114
转载 9.19总结
模型层 十三个方法 all() 查询所有结果 filter() 它包含了与所有给筛选条件相匹配的对象 get() 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有,都会抛出错误 exclude() 它包含了与所给筛选条件不匹配的对象 order_by() ...
2019-09-19 20:31:00 119
转载 9.17总结
Django的路由系统 URL配置(URLconf)就像Django所制成网站的目录,本质是URL与要为该URL调用的视图函数之间的映射表。就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。 1.URLconf配置 # 基本格式 form django.conf.urls import url urlpatterns = [ ...
2019-09-17 22:13:00 261
转载 总结三十六
前端 什么是前端? 任何与用户直接打交道的操作界面都可以称之为前端 比如:电脑界面,手机界面,平板界面 什么是后端? 暂时可以理解成 幕后操作者 不直接与用户打交道 为什么要学前端 技多不压身 软件开发架构 c/s b/s web服务的本质: 浏览器中敲入网址回车发生了几件事? 1.浏览器朝服务端发...
2019-09-03 22:07:00 128
转载 总结三十五
视图 什么是视图? 一个查询语句的结果是一张虚拟表,将这种虚拟表保存下来,它就变成了一个视图 为什么要用视图? 当频繁需要用到多张表的连表结果,你就可以事先生成好视图 之后直接调用即可,避免了反复写连表操作的sql语句 如何使用? create view teacher_course as select * from teacher INNER JOIN c...
2019-08-23 16:35:00 113
转载 总结三十四
Python操作MySQL import pymysql conn = pymysql.connect( host = '127.0.0.1', port = 3306, user = 'root', password = '123', database = 'day38', charset ...
2019-08-22 20:41:00 84
转载 总结三十三
基本查询语句及方法 from where group by having distinct order by limit 前期表准备 ```mysql create table emp( id int not null unique auto_increment, name varchar(20) not null,...
2019-08-22 19:18:00 234
转载 总结三十二
表与表之间建关系 注意在查找表关系的时候,一定要换位思考 站在双方的角度看,才能得出最终的结论,千万不能只考虑一张表就下结论 一对多 以员工表和部门表为例 先站在员工表看能否有多个员工对应一个部门 翻译过来: 一个部门能否有多个员工 可以(暂时只能确定员工单向多对一部门) 再站在部门表看...
2019-08-21 18:58:00 83
转载 总结三十一
存储引擎 不同的数据应该有不同的处理机制 MySQL存储引擎 Innodb 5.1版本之后默认的存储引擎,查询速度较myisam慢,但是更安全 建表的时候innodb会产生两个文件 一个是表结构文件 一个是存储数据文件 myisam 5.1版本之前的MySQL的默认存储引擎 ...
2019-08-20 20:32:00 88
转载 总结三十
数据库概念 1.随意的存到了一个文件中 数据格式也是千差万别的 2.软件开发目录规范 规定了数据存放的位置 ps:数据都是保存在本地的 3.将保存数据的部分 存到一个公共的地方 所有的用户涉及到数据相关 都必须来这个公共地方查找 数据库之MySQL 本质就是一款基于网络通信的应用软件 任何基于网络通信的软件 底层都是soc...
2019-08-19 21:41:00 210
转载 总结二十九
进程池与线程池 开进程开线程都需要消耗资源,只不过两者比较的情况线程消耗的资源比较少 在计算机能够承受范围之内最大限度的利用计算机 什么是池 在保证计算机硬件安全的情况下最大限度的利用计算机 池其实是降低了程序的运行效率,但是保证了计算机硬件的安全 (硬件的发展跟不上软件的速度) #进程池与线程池 from concurrent.futures import T...
2019-08-19 21:00:00 69
转载 总结二十八
GIL全局解释器锁 """ In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytecodes at once. This lock is necessary mainly becaus...
2019-08-19 20:28:00 88
转载 总结二十七
进程间通信 # from threading import Thread # import time # # def task(name): # print('%s is running'%name) # time.sleep(3) # print('%s is over'%name) # # 开线程不需要在__main__代码块内 但是习惯性...
2019-08-19 20:19:00 80
转载 总结二十六
并发编程 多道技术 1.空间上的复用 多个程序共用一套计算机硬件 2.时间上的复用 切换+保存状态 1.当一个程序遇到IO操作 操作系统会剥夺改程序的cpu执行权限(提高了CPU的利用率,并且也不影响程序的执行效率) 2.当一个程序长时间占用cpu,操作系统也会剥夺改程序的cpu执行权限(降低了程序的执行效率) 并发:看...
2019-08-19 19:32:00 92
转载 总结二十五
UDP通信 udp是无链接的,启动服务之后可以直接接受消息,不需要提前建立链接 数据报协议(自带报头) 没有双向通道 通信类似于发短信 UDP基本使用 # 客户端 import socket client = socket.socket(type=socket.SOCK_DGRAM) # 不需要建立连接 直接进入通信循环 server_address =...
2019-08-09 00:35:00 140
转载 总结二十四
socket 基于TCP协议,必须先启动服务端,然后再启动客户端去链接服务端 # server端 import socket sk = socket.socket() sk.bind(('127.0.0.1',8898)) #把地址绑定到套接字 sk.listen() #监听链接 conn,addr = sk.accept() #接受客户端链接 r...
2019-08-08 00:38:00 81
转载 总结二十三
网络编程 软件开发架构 c/s架构(client/server) c:客户端 s:服务器 b/s架构(browser/server) b:浏览器 s:服务器 ps:bs架构本质也是cs架构 服务端:24小时不间断提供服务 客户端:什么时候想体验服务,就去找服务端请求服务 ...
2019-08-06 20:27:00 122
转载 总结二十二
反射 reflect 什么是反射 反射指的是一个对象应该具备,可以检测,修改,增加自身属性的能力 反射就是通过字符串操作属性 涉及四个函数,这四个函数就是普通的内置函数,没有双下划线,与print等没有区别 hasattr getattr setattr delattr class Person: def __init__(self,name,age,g...
2019-07-30 21:46:00 90
转载 总结二十一
多态 什么是多态 一种事物具备多种不同的形态,例如水:固态、液态、气态 官方解释:多个不同类对象可以响应同一个方法,产生不同的结果 首先强调多态不是一种特殊的语法,而是一种状态,特性(即多个不同对象可以响应同一个方法,产生不同的结果)即多个对象有相同的使用方法 好处: 对于使用者而言,大大降低了使用难度,之前写的USB接口下的鼠标,键盘就输入多态 实现多态 ...
2019-07-29 18:34:00 69
转载 总结二十
封装 什么是封装 隐藏对象的属性和实现细节,仅对外提供公共访问方式 为什么需要封装 1.为了保证关键数据的安全性 2.对外部隐藏实现细节,隔离复杂度 好处 1.将变化隔离 2.便于使用 3.提高复用性 4.提高安全性 什么时候应该封装 1.当有一些数据不希望外界可以直接修改时 2.当有一些函数不希望给外界使用时 语法:将要封装的属性或方法名称...
2019-07-26 19:02:00 130
转载 总结十九
继承 什么是继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 在程序中,继承描述的是类和类之间的关系,例如a继承了b,a就能直接使用b已经存在的方法和属性,a称之为子类,b称之为父类,也称之为基类 为什么要使用继承 继承的一方可以直接使用被继承一方已经有的东西,其目的是为了重用已...
2019-07-25 23:26:00 128
转载 总结十八
面向对象编程思想 oop 什么是面向对象: 面向对象是一种编程思想,是前辈们总结出的经验,指导程序员如何编写出更好的程序,核心是对象,程序就是一系列对象的集合,程序员负责调度控制这些对象来交互着完成任务。 案例:把大象装进冰箱 面向过程: 1.打开冰箱 2.装入大象 3.关闭冰箱 面向对象: 找个具备装大象的技能的对象 ...
2019-07-24 22:16:00 97
转载 总结十七
一.包 什么是包 包是一系列模块文件的结合体,表示形式就是一个文件夹 该文件内部通常会有一个__init__.py文件 包的本质还是一个模块 为什么使用包 包就是一个文件夹,文件夹的唯一功能就是将文件组织起来 随着功能越写越多,我们无法将所有功能都放到一个文件夹中,于是我们使用模块去组织功能,而随着模块越来越多,我们就需要使用文件夹将模块文件组织起来,...
2019-07-19 22:14:00 97
转载 总结十六
常用模块 一.collection模块 在内置数据类型(dict、list、set、tuple)的基础上,collection模块还提供了几个额外的数据类型:counter、deque、defaultdict、namedtuple和OrderedDict等 1.namedtuple:生成可以使用名字来访问元素内容的tuple # 具名元组 # 想表示坐标点x为1,y...
2019-07-18 22:00:00 79
转载 总结十五
一.正则模块 正则就是用来筛选字符串中的特定的内容的 正则表达式与re模块的关系 1.正则表达式是一门独立的技术,任何语言都可以使用 2.Python中要想使用正则表达式需要通过re模块 正则在匹配的时候,默认都是贪婪匹配(尽量匹配多的) 可以通过在量词后面加上一个?就可以将贪婪匹配变成非贪婪匹配(惰性匹配) 有无正则校验的区别 # 纯python代码校...
2019-07-17 21:53:00 98
转载 总结十四
---恢复内容开始--- 一.模块 什么是模块 模块就是一系列功能的结合体 模块的三种来源: 1.内置的(python解释器自带) 2.第三方的(别人写的) 3.自定义的(自己写的) 模块的四种表现形式 1.使用python编写的py文件(也就意味着py文件也可以称之为模块,一个py文件也可以称之为一个模块) 2.已...
2019-07-16 21:12:00 106
转载 总结十三
一.迭代器 什么是迭代器 迭代:更新换代(重复)的过程,每次的迭代都必须基于上一次的结果 迭代器:迭代取值的工具 为什么要用 迭代器给我们提供了一种不依赖于索引取值的方式 例子: n = 0 while True: print(n) 只是简单的重复,不算是迭代器 l = [1,2,3,4,5] s = 'hello' n = 0 ...
2019-07-15 21:53:00 82
转载 总结十二
一.函数递归 函数递归:在调用阶段,函数func直接或间接调用本身 递归分为两个阶段: 1.回溯:就是一次次重复的过程,这个重复的过程必须建立在每一次重复问题的复杂度都应该下降,直到有一个最终的结束条件 2.递推:一次次往回推导的过程 """ age(5) = age(4) + 2 age(4) = age(3) + 2 age(3) = age(2) +...
2019-07-13 00:50:00 119
转载 总结十一
一.闭包函数 闭包函数:内部引用了外部函数里定义的对象,这样就可以成为闭包函数 闭包函数的两个要求: 1.定义在函数内部的函数 2.内部函数引用了外部函数作用域的名字 def outer(): x = 111 def inner(): print(): return inner res = outer() #...
2019-07-12 17:29:00 93
转载 总结十
一.函数对象 函数是第一类对象:函数名指向的值可以被当中参数传递 1.函数名可以被传递 name = 'jason' x = name print(x) print(id(x)) def func(): print('from func') # print(func) print(id(func)) f = func func() print(...
2019-07-10 17:31:00 80
转载 总结九
一.函数简介 什么是函数:函数就是具有某个具体功能的工具 为什么要用函数:1.提供开发效率 2.减少代码冗余 3.提高程序的扩展性 定义一个函数 def是定义函数的关键字 函数名的命名规则与变量名一致: 1.不能用关键字 2.函数也应该做到见明知意 函数在定义的时候只检测函数体语法,不执行函数体代码 调用函数的固定格式: 函数名+括号 函数名只要遇到括号会...
2019-07-09 21:12:00 88
转载 总结七
一.字符编码 字符编码针对的是文字,只跟文本文件有关 不需要考虑视频音频文件 文本编辑器的输入和输出是两个过程人在操作计算机的时候输入的是人能够看懂的字符,但是计算机只能识别010101这样的二进制数据,那么输入的字符 >>> (字符编码表)>>> 二进制数字 字符编码表就是字符与数字的对应关系 ASCII码表用八位二进制表示一个英文...
2019-07-09 09:55:00 66
转载 总结八
一.文件读写其他模式补充 r w a (可以看做纯净模式) r+ w+ a+ 先创建一个test文本文档,并输入内容:套你aabb猴子啊我 wiht open(r'test',mode='r+',encoding=‘utf-8’) as f: print(f.readable()) print(f.writable()) print(f.readl...
2019-07-09 09:55:00 182
转载 总结四
流程控制 1.if 判断事物的对错,真假,是否可行 想让计算机像人一样去工作,那就必须让他有判断事物对错的能力,才能做出不同的响应 固定语法:python用缩进表示代码的归属 代码块:同一缩进级别的代码(例如代码1、代码2和代码3是相同缩进的代码,这三个代码组合在一起就是一个代码块, 相同缩进的代码会自上而下运行) 补充:布尔值为False的数据有哪些:0,Non...
2019-07-09 09:54:00 67
转载 总结五
一.数字类型 1.整型 int 作用:记录qq号,手机号,银行卡号等定义方式:age = 18 # age = int(18)int('cxkjntm') 报错int('1.1') 报错int('110') # int只能转纯数字的字符串,小数点都不行 进制转换其他进制转10进制二进制转十进制 0,110 # 1*(2**1)+0*(2**0) 2八进制转...
2019-07-09 09:54:00 204
转载 总结三
Python中的语法注释 1.井号:# 单行注释 2.三引号:可以是三个单引号,也可以是三个双引号 多行注释 与用户交互 1.什么是与用户交互 程序等待输入一些数据,然后执行完毕后为用户反馈一些信息 2.为何程序需要与用户交互 为了计算机能够像人一样与用户交互 3.如何使用 1.python3中,input会将用户输入的任何内容都统一存成字符串类型 ...
2019-07-09 09:54:00 96
转载 总结六
一.列表常用方法 l = [1,2,3,4,5,6,7,]count()res = l.count(8)print(res) clear()print(l)res = l.clear()print(l)print(res)print(id(l))l.reverse() # 将列表反转print(id(l))print(l) l.sort() 排序 默认情况下是从小到大(升序)...
2019-07-09 09:54:00 145
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人