摘要: Django之Model进阶 一 原生sql的使用 # 1) 原生sql(有些sql用orm写不出来) # 2) 两种方案 # 第一种:用的比较少 from django.db import connection cursor = connection.cursor() cursor.execute 阅读全文
posted @ 2021-06-25 19:57 越关山 阅读(74) 评论(0) 推荐(0)
摘要: Django之多表查询 一 创建模型 1 模型创建 1) 图书表:book,作者表:author,作者详情表:authordetail,出版社表:publish,(第三张中间表)。 2) 作者跟作者详情:是一对一,关联字段写在哪一方都可以 3) 图书跟出版社:是一对多,【一对多关系一旦确立,关联字段 阅读全文
posted @ 2021-06-25 19:54 越关山 阅读(859) 评论(0) 推荐(0)
摘要: django之模型层单表查询及其他补充 一 orm简介 1 orm概述 1) orm:对象关系映射(跟语言无关) -数据库中的表 》对应程序的一个类 -数据库中的一行数据 》对应程序中的一个对象 2) python中常见orm框架 -django的 orm框架 -sqlachemy orm框架 3) 阅读全文
posted @ 2021-06-25 19:51 越关山 阅读(67) 评论(0) 推荐(0)
摘要: django之模板层 一 模板简介 你可能已经注意到我们在例子视图中返回文本的方式有点特别。 也就是说,HTML被直接硬编码在 Python代码之中。 def current_datetime(request): now = datetime.datetime.now() html = "<html 阅读全文
posted @ 2021-06-25 19:45 越关山 阅读(77) 评论(0) 推荐(0)
摘要: Django视图层及其他补充 一 Django之视图层 1 视图层之请求对象 1.1 request属性 django将请求报文中的请求行、首部信息、内容主体封装成 HttpRequest 类中的属性。 除了特殊说明的之外,其他均为只读的。 1).HttpRequest.GET 一个类似于字典的对象 阅读全文
posted @ 2021-06-25 19:38 越关山 阅读(52) 评论(0) 推荐(0)
摘要: Django之路由控制 一 Django中路由的作用 URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是"URL与要为该URL调用的视图函数之间的映射表";你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行 # 典型的例子: from dj 阅读全文
posted @ 2021-06-25 18:11 越关山 阅读(130) 评论(0) 推荐(0)
摘要: django初识 一 web应用 1 Web应用是什么 简单说就是用浏览器访问的应用程序。 # 介绍: 1)、Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件。 2)、应用程序有两种模式C/S、B/S。 C/S是客 阅读全文
posted @ 2021-06-25 18:06 越关山 阅读(56) 评论(0) 推荐(0)
摘要: Django基础知识 一 django目录介绍 -mydjango # 项目名 -app01 # app的名字 -migrations # 数据库变更相关记录(你不要删,也不要改) -admin.py # 后台管理(创建项目如果没有选,就没有) -apps.py # app的相关配置,不用管 -mo 阅读全文
posted @ 2021-06-25 18:03 越关山 阅读(176) 评论(0) 推荐(0)
摘要: 索引原理与慢查询优化 一 索引原理 1 为何要用索引 创建索引的目的是为了优化查询速度,但是一张表一旦创建了索引,会降低读写速度。 2 什么是索引 索引是MySQL数据库的一种数据结构,在MySQL里称之为key。 3 索引的原理 ​ 本质:通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同 阅读全文
posted @ 2021-06-25 18:00 越关山 阅读(87) 评论(0) 推荐(0)
摘要: 视图、触发器、事务、存储过程、函数 一 视图 1 什么是视图 视图是一个虚拟表(非真实存在) ,其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需要使用【名称】即可获得结果集,可以将该结果当作表来使用。 ​ 使用视图我们可以把查询结果过程中的临时表摘出来,用视图去实现,这样可以以 阅读全文
posted @ 2021-06-25 17:58 越关山 阅读(86) 评论(0) 推荐(0)
摘要: 数据备份与pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具Navicate。 掌握: #1. 测试+链接数据库 #2. 新建库 #3. 新建表,新增字段+类型+约束 #4. 设计表:外键 #5. 新建查询 #6. 备份库/表 #注意 阅读全文
posted @ 2021-06-25 17:56 越关山 阅读(57) 评论(0) 推荐(0)
摘要: MySQL记录相关操作基础 一 插入数据insert 1) 插入完整数据(顺序插入) 语法一: insert 表名(字段1,字段2,字段3…字段n) values(值1,值2,值3…值n); 语法二: insert 表名 values(值1,值2,值3…值n); 2) 指定字段插入数据 语法: in 阅读全文
posted @ 2021-06-25 17:31 越关山 阅读(54) 评论(0) 推荐(0)
摘要: MySQL记录相关操作之多表查询 一 介绍 # 为了让表的查询更有效率,所以表一般会分拆成多个进行存储,这样就需要使用select语句针对多表进行查询。 # 实验表格准备———————— # 建表 create table department( id int, name varchar(20) ) 阅读全文
posted @ 2021-06-25 17:09 越关山 阅读(137) 评论(0) 推荐(0)
摘要: MySQL表相关操作 一 表相关操作基础 1 表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段。 id name age 字段:一条记录对应的标题称为一个字段,如id,name,age 1 kiessling 37 记录:一行内容称为一条 阅读全文
posted @ 2021-06-25 16:47 越关山 阅读(144) 评论(0) 推荐(0)
摘要: MySQL基础 一 mysql相关概念介绍 1 数据库概述 1.1 什么是数据(Data) 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片、图像、声音、语言等,数据有多种表现形式,他们都可以数字化后存入计算机。 在计算机中描述事物,就需要抽取这一事物的典型特征,组成一条记 阅读全文
posted @ 2021-06-25 16:44 越关山 阅读(97) 评论(0) 推荐(0)
摘要: 单例模式及实现单例模式的方法 一 单例模式 "单例模式(Singleton Pattern)"是一种常用的软件设计模式,该模式的主要目的是确保"某一个类只有一个实例存在"。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通 阅读全文
posted @ 2021-06-25 15:19 越关山 阅读(187) 评论(0) 推荐(0)
摘要: 面向对象的魔法方法 一 类型判断、反射与importlib 1 类型判断 1.1 issubclass "issubclass(x, y)" 这个内置函数可以帮我们判断x类是否是y类型的子类。 ​ 官方解释:"issubclass(class, classinfo)"`如果 class 是 clas 阅读全文
posted @ 2021-06-25 15:16 越关山 阅读(78) 评论(0) 推荐(0)
摘要: 并发编程之携程 一 协程介绍 1 单核下并发的本质及切换任务的两种情况 切换的本质是:**切换+保存状态** #### 1.切换任务的情况一: 任务发生阻塞。(可以提升效率,因为充分利用I/O阻塞的时间。) #### 2.切换任务的情况二: 占用CPU时间过长,或有一个优先级更高的程序替代了它。(不 阅读全文
posted @ 2021-06-25 15:15 越关山 阅读(227) 评论(0) 推荐(0)
摘要: 并发编程之多线程 一 同步锁 1 两个注意点 1).线程抢的是GIL锁,GIL锁相当于执行权限,拿到执行权限后才能拿到互斥锁Lock,其他线程也可以抢到GIL,但如果发现Lock仍然没有被释放则阻塞,即便是拿到执行权限GIL也要立刻交出来。 2).join是等待所有,即整体串行,而锁只是锁住修改共享 阅读全文
posted @ 2021-06-25 15:12 越关山 阅读(63) 评论(0) 推荐(0)
摘要: 并发编程之线程 一 什么是线程 计算机相当于大工厂,工厂里有一个个车间(进程) ,有很多人(线程) 干不同的事。 **进程是资源分配的最小单位,线程是CPU调度的最小单位。每一个进程中至少有一个线程。** 线程的开销更小,更轻量级。 二 开启线程的两种方式 1 通过函数的方式 # 第一种,通过函数 阅读全文
posted @ 2021-06-25 15:10 越关山 阅读(47) 评论(0) 推荐(0)
摘要: 进程基础及多进程的使用 一 进程理论知识 1 操作系统的作用 1).隐藏丑陋复杂的硬件接口,提供良好的抽象接口;应用程序员有了这些接口后,就不用再考虑操作硬件的细节,专心开发自己的应用程序即可。 2).管理、调度进程,并且将多个进程对硬件的竞争变的有序。 2 多道技术 2.1 产生背景: 针对单核, 阅读全文
posted @ 2021-06-25 15:08 越关山 阅读(259) 评论(0) 推荐(1)
摘要: 并发编程之进程间通信、生产者消费者模型 一 进程调度 (1) 先来先服务 (2) 短作业优先 (3) 时间片轮转 (4) 多级反馈队列 ​ 多级反馈队列调度算法即能使高优先级的作业得到响应又能使短作业(进程)迅速完成。 二 僵尸进程与孤儿进程 (1) 僵尸进程 进程结束了,资源还没来得及回收完成。 阅读全文
posted @ 2021-06-25 15:04 越关山 阅读(84) 评论(0) 推荐(0)
摘要: 元类metaclass 一 什么是元类 #### python中一切皆是对象。以如下代码为例分析: # 元类=》OldboyTeacher类=》obj class OldboyTeacher(object): school = 'oldboy' def __init__(self, name, ag 阅读全文
posted @ 2021-06-25 15:00 越关山 阅读(51) 评论(0) 推荐(0)
摘要: 猴子补丁、垃圾回收机制 一 猴子补丁 1 什么是猴子补丁 属性在运行时的动态替换,叫做猴子补丁(Monkey Patch) 。 猴子补丁的核心就是用自己的代码替换所用模块的源代码。 2 猴子补丁的功能(一切皆对象) 拥有在模块运行时替换的功能,例如:一个函数对象赋值给另一个函数对象(把函数原本的执行 阅读全文
posted @ 2021-06-25 14:59 越关山 阅读(137) 评论(0) 推荐(0)
摘要: UDP套接字通信、socketserver并发编程 一 基于UDP的套接字通信 1 TCP与UDP协议的对比 ### 1.可靠性 #### (1) TCP协议是可靠协议 ​ 对方必须回复一个ack确认消息,才会将自己这端的数据从内存中删除。 #### (2) UDP是不可靠协议 ​ 发送一条消息就会 阅读全文
posted @ 2021-06-25 14:57 越关山 阅读(200) 评论(0) 推荐(0)
摘要: 粘包问题及解决方案 一 什么是粘包问题 前提:只有TCP会发生粘包现象,UDP永远不会粘包。 粘包问题本质上就是接收方不知道消息的边界,不知道一次性该提取多少字节流用于解析消息,造成的消息解析错误问题。 二 为何么会有粘包问题 1 socket收发消息的原理之流式协议 ​ 发送端可以是1K1K的发送 阅读全文
posted @ 2021-06-25 14:55 越关山 阅读(375) 评论(0) 推荐(0)
摘要: socket编程基本流程及TCP套接字 一 socket编程基本流程 1 套接字的概念及分类 1.1 套接字是什么 套接字是一种【通信机制】,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行,Linux所提供的功能(如打印服务,ftp等) 通常都是通过套接字来进行通信 阅读全文
posted @ 2021-06-25 11:44 越关山 阅读(1172) 评论(0) 推荐(0)
摘要: 上网的基本流程(网络通信原理) 一 普通URL的组成 #### 协议--域名--端口--虚拟目录--文件名 以如下url为例: `http://www.aspxfans.com:8080/news/index.asp` ### 1 协议部分 该URL的协议部分为“http:”,这代表网页使用的是HT 阅读全文
posted @ 2021-06-25 11:42 越关山 阅读(1362) 评论(0) 推荐(0)
摘要: socket编程与OSI五层协议 一 socket编程初探 1 什么是socket ​ socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,socket相当于一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的Socket 阅读全文
posted @ 2021-06-25 11:40 越关山 阅读(184) 评论(0) 推荐(0)