摘要: web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。 这样我们就可以自己实现Web框架了。 import socket server = socket.socket() server.bind(('127.0.0.1',808 阅读全文
posted @ 2020-01-03 15:55 Hank·Paul 阅读(610) 评论(1) 推荐(0)
摘要: Bootstrap官网:https://v3.bootcss.com/css/ 使用前端框架bootstrap 统一都必须先下载或者先引用 bootstrap框架动态效果是基于jQuery的 也就意味着你在使用 bootstrap的时候要提前先导入jquery( ) 布局容器 栅格系统 用row来划 阅读全文
posted @ 2020-01-03 11:49 Hank·Paul 阅读(180) 评论(0) 推荐(0)
摘要: jQuery介绍 1. jQuery内封装了原生的js代码,是一个轻量级的、兼容多浏览器的JavaScript库。 2. jQuery使用户能够更方便地处理HTML Document、Events、实现动画效果、方便地进行Ajax交互,能够极大地简化JavaScript编程。它的宗旨就是:“Writ 阅读全文
posted @ 2020-01-03 11:48 Hank·Paul 阅读(125) 评论(0) 推荐(0)
摘要: BOM:浏览器对象模型,可以使JS有能力操作浏览器 DOM:文档对象模型,可以访问HTML文档内的所有元素 Window对象 所有浏览器都支持 window 对象。它表示浏览器窗口 一些常用的Window方法: window.innerHeight 浏览器窗口的内部高度 window.innerWi 阅读全文
posted @ 2020-01-03 11:47 Hank·Paul 阅读(176) 评论(0) 推荐(0)
摘要: JavaScript 又称 ECMAScript 是一门动态类型、面向对象的脚本语言。 脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑),脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。因为脚本在执行时多了一道翻 阅读全文
posted @ 2020-01-03 11:46 Hank·Paul 阅读(231) 评论(0) 推荐(0)
摘要: "一、css语法结构" "二、css选择器" "三、css属性相关" css介绍: css又称层叠样式表,用来调节标签的样式,css应该是一个独立的文件 css注释 : 一、css语法结构 css样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束。 css的三种引入方式 阅读全文
posted @ 2020-01-03 11:45 Hank·Paul 阅读(284) 评论(0) 推荐(1)
摘要: 一 引入: web服务的本质: 浏览器窗口输入一个网址敲回车发生了哪些事? 1.朝着指定的服务端发送请求 2.服务端接收相应的请求 3.服务端返回相应的响应 4.浏览器接收响应 按照特定的规则渲染页面展示给用户看 二 HTTP协议 超文本传输协议 规定了浏览器与服务端之间数据传输的格式 四大特性: 阅读全文
posted @ 2020-01-03 11:44 Hank·Paul 阅读(253) 评论(0) 推荐(0)
摘要: ```sql# pip3 install DBUtilsfrom DBUtils.PooledDB import PooledDBimport pymysql'''数据库连接池'''POOL = PooledDB( creator=pymysql, # 使用链接数据库的模块 maxconnections=6, # 连接池允许的最大连接数,0和None表示不限制连接数 minc... 阅读全文
posted @ 2020-01-03 11:43 Hank·Paul 阅读(184) 评论(0) 推荐(0)
摘要: cookies :存放在浏览器(客户端)的用户信息 - 优点: 可以将数据存在客户端一方: - 缺点: 不安全,可以存放多份,导致服务端占用空间过大 session :存放在服务端的用户信息 - 优点:数据安全 - 缺点:session值不是唯一的, 在用户登录成功后,服务端生成一个随机字符串(se 阅读全文
posted @ 2020-01-03 11:42 Hank·Paul 阅读(145) 评论(0) 推荐(0)
摘要: ```python'''ORM 对象关系映射 --->映射到数据表的一条条记录类名 ---> 表名对象 ---> 一条记录对象.属性 ---> 字段'''from day38.mysql_control import MySQL# 1.创建字段的类型 对应数据表中一个个字段的创建规范class Field: #父类 def __init__(self,name,column_type,p... 阅读全文
posted @ 2020-01-03 11:40 Hank·Paul 阅读(230) 评论(0) 推荐(0)
摘要: 一、前言 1.1 什么是数据库(DataBase,简称DB) 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。数据库是长期存放在计算机内、有组织、可共享的数据集合 将所有数据存放到一个第三方的公共位置(数据库),同一个软件凡是需要操作数据的,就必须去这个共享 阅读全文
posted @ 2020-01-03 11:39 Hank·Paul 阅读(205) 评论(0) 推荐(0)
摘要: 数据库设计三大范式 数据库设计的三大范式 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就叫做范式。 范式就是符合某一种设计要求的总结,要想设计一个结构合理的关系型数据库,必须满足一定的范式。 在实际开发中最常见的设计范式有三个: 1、第一范式(确保每列 阅读全文
posted @ 2020-01-03 11:34 Hank·Paul 阅读(235) 评论(0) 推荐(1)
摘要: 索引与慢查询优化 索引就类似于书的目录,可以加快数据查询速度 索引虽然能够加速查询 但是也不是越多越好 索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。 primary key unique key index key 上面三种key前两种除了有加速查询的效果之外还有额外的 阅读全文
posted @ 2020-01-03 11:33 Hank·Paul 阅读(571) 评论(0) 推荐(0)
摘要: "一、视图" "二、触发器" "三、事务" "四、存储过程" "五、函数" "六、流程控制" 一、视图 视图 是通过SQL语句查询得到一张虚拟的表,然后保存下来供下次直接使用,节省拼接表的时间消耗。视图就是这张虚拟表。 创建视图语句 注意:1.创建的视图只有表结构文件,数据还是来源于原来的表 2.视 阅读全文
posted @ 2020-01-03 11:32 Hank·Paul 阅读(144) 评论(0) 推荐(0)
摘要: 什么是pymysql模块 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 使用pymysql模块 下载第三方模块: pip3 install pymysql SQL的注入问题 sql注入问题:利用特殊符号和注释语法 巧妙地 阅读全文
posted @ 2020-01-03 11:30 Hank·Paul 阅读(1395) 评论(0) 推荐(2)
摘要: 基本查询语句及语法: select distinct from where group by having limit 一、单表查询 前期表与数据准备 : 1、语法书写顺序与执行顺序 2、where约束条件 3、group by 分组 比如: 一张员工表中有性别字段,可以根据性别分组,一组是男性,一 阅读全文
posted @ 2020-01-03 11:29 Hank·Paul 阅读(1060) 评论(0) 推荐(1)
摘要: 一、前言 研究表与表之间的关系前,先要知道将所有数据存放在一张表中的弊端: 1.结构不清晰 不致命 2.浪费空间 不致命 3.可扩展性极差 不可忽视的弊端 就i好比将所有的代码存放在一个文件中,强耦合到了一起,而我们需要做的就是 解耦合 拆分表 拆分表解决以上问题. 需要给两张表之间,建立一种强有力 阅读全文
posted @ 2020-01-03 11:25 Hank·Paul 阅读(643) 评论(0) 推荐(0)
摘要: "一、数值类型" "二、日期类型" "三、枚举与集合" "四、约束条件" "五、设置严格模式" 一、数值类型 1.1 整型 应用场景: id号、年龄... tinyint: 有符号:默认范围 128, 127 无符号:默认范围 0,255 int: 有符号:默认范围( 2147483648, 214 阅读全文
posted @ 2020-01-03 11:23 Hank·Paul 阅读(224) 评论(0) 推荐(0)
摘要: 库的操作 类似于文件夹 表的操作 类似于文件 记录 的操作 类似于文件中的一行行数据 了解:修改表的操作 注意: mysql 关键字不区分大小写 语法: 1. 修改表名 alter table 表名 rename 新表名; 2. 增加字段 alter table 表名 add 字段名 数据类型 [完 阅读全文
posted @ 2020-01-03 11:22 Hank·Paul 阅读(165) 评论(0) 推荐(1)
摘要: " 一、必备的理论基础" " 二、操作系统发展史" " 三、进程理论" " 四、线程理论" " 五、协程" 一、必备的理论基础 操作系统理论: 操作系统是一个协调\管理\控制计算机硬件资源与应用软件资源的控制程序 操作系统的两大功能: 1. 将复杂的硬件操作封装成简单的接口给应用程序或者用户去使用 阅读全文
posted @ 2020-01-03 11:20 Hank·Paul 阅读(294) 评论(0) 推荐(0)
摘要: 来源链接 阅读全文
posted @ 2020-01-03 11:19 Hank·Paul 阅读(121) 评论(0) 推荐(0)
摘要: 一、什么是异常处理 异常 是错误发生的信号,一旦程序出错就会产生一个异常, 如果该异常没有被应用程序处理,那么该异常就会抛出来,程序的执行也随之终止。 异常包含三个部分: 1. traceback异常的追踪信息 2. 异常的类型 3. 异常的信息 错误分为两大类: 1.语法上的错误:在程序运行前就应 阅读全文
posted @ 2020-01-03 11:07 Hank·Paul 阅读(182) 评论(0) 推荐(0)
摘要: "一、什么是元类" "二、如何使用元类" "(一)不依赖class关键字创建一个自定义类" "(二)自定义元类控制类的产生" "(三)自定义元类控制类的调用" 一、什么是元类 在python中,一切皆对象,而对象都是由类实例化得到的。所以类也是对象,而类的类就是元类,其实 type 就是元类。 二、 阅读全文
posted @ 2020-01-03 11:06 Hank·Paul 阅读(389) 评论(0) 推荐(0)
摘要: 一、粘包问题 问题1 : 无法确认对方发送过来数据的大小。 问题2 : 在发送数据间隔短并且数据量小的情况下,会将所有数据一次性发送。 二、粘包问题的解决方案: 粘包问题的解决方案: 确认对方数据的大小。 这里需要用 struct模块 struct是什么? 是一个python内置的模块,它可以将固定 阅读全文
posted @ 2020-01-03 11:05 Hank·Paul 阅读(820) 评论(0) 推荐(1)
摘要: 一、什么是socket? socket是一个模块, 又称套接字,用来封装 互联网协议(应用层以下的层)。 二、为什么要有socket? socket可以实现互联网协议 应用层以下的层 的工作,提高开发效率。 三、怎么使用socket? import socket 写socket套接字: Client 阅读全文
posted @ 2020-01-03 11:04 Hank·Paul 阅读(1615) 评论(2) 推荐(1)
摘要: 一、软件开发架构 1. C/S架构 Client :客户端(24小时不间断提供服务) Server :服务端(客户需要服务时,就去访问服务端) ps:服务端需要遵循的原则: 1. 服务端与客户端都需要有唯一的地址,但是服务端的地址必须固定/绑定 2. 对外一直提供服务,稳定运行 3. 服务端应该支持 阅读全文
posted @ 2020-01-03 11:03 Hank·Paul 阅读(158) 评论(0) 推荐(0)
摘要: 闭包函数 闭:指的是定义在函数内部的函数 比如手机是闭包函数(内层函数),被手机包装盒 (外层函数) 包裹起来, 手机可以使用包装盒中的东西,内层函数可以引用外层函数的名字。 闭包函数 :定义在函数内部的函数,并且该函数包含对外部函数作用域中名字的引用,该函数就称为闭包函数。 注意:该函数的作用域在 阅读全文
posted @ 2020-01-03 11:02 Hank·Paul 阅读(263) 评论(0) 推荐(0)
摘要: 单例模式: 指的是在确定 "类中的属性与方法" 不变时,需要反复调用该类,产生不同的对象,会产生不同的内存地址,造成资源的浪费。 单例模式:多次实例化的结果指向同一个内存地址 无论产生多个对象,都会指向 单个 实例。 单例的优点:节省内存空间。 以上三个对象的内存地址都不一样。由此造成了内存资源的浪 阅读全文
posted @ 2020-01-03 09:02 Hank·Paul 阅读(240) 评论(0) 推荐(0)
摘要: 类的内置方法(魔法方法): 凡是在类内部定义,以__开头__结尾的方法,都是类的内置方法,类的内置方法,会在满足某种条件下自动触发。 1.1__new__ 1.2__getattr__ 1.3__getattribute__ 1.5__str__ 引子:想一想下列情况为什么不一样? 以上所知,所以p 阅读全文
posted @ 2020-01-03 09:00 Hank·Paul 阅读(647) 评论(0) 推荐(1)
摘要: 一、 isinstance(obj,cls)和issubclass(sub,super) isinstance与issubclass是python的内置模块: isinstance: 判断一个对象是否是另一个类的实例。 如果是: True 如果不是: False issubclass: 判断一个类是 阅读全文
posted @ 2020-01-03 08:58 Hank·Paul 阅读(184) 评论(0) 推荐(0)
摘要: 一:绑定方法 绑定给谁,谁来调用就自动将它本身当作第一个参数自动传入。 类的绑定方法: 是用classmethod装饰器装饰的方法。 -由类来调用,会将类当做第一个参数传入。 classmethod: 是一个装饰器,给在类内部定义方法中装饰,将类内部的方法变为 “类的绑定方法”。 对象的绑定方法: 阅读全文
posted @ 2020-01-03 08:31 Hank·Paul 阅读(166) 评论(0) 推荐(0)
摘要: 一、多态 1.1 什么是多态 多态也称“多态性”,指的是同一种类型的事物,不同的形态。 在python中的多态指的是让多种类若具备类似的数据属性与方法属性,都统一好命名规范,这样可以提高开发者的代码统一性,使得调用者更方便去理解。 1.2 多态的目的: 为了在不知道对象具体类型的情况下,统一对象调用 阅读全文
posted @ 2020-01-03 08:28 Hank·Paul 阅读(404) 评论(0) 推荐(0)
摘要: 一、组合 组合指的是一个对象中,包含另一个或多个对象,组合可以减少代码冗余,提高程序的可扩展性 如何使用组合? class People: def __init__(self,name,age,sex): self.name = name self.age = age self.sex = sex 阅读全文
posted @ 2020-01-03 08:27 Hank·Paul 阅读(232) 评论(0) 推荐(0)
摘要: 一、继承 1、什么是继承 继承是一种新建类的方式,新建的类称之为子类或派生类,继承的父亲称之为基类或超类。 在Python中,一个子类可以继承多个父类。 在其它语言中,一个子类只能继承一个父类。 2、继承的作用 减少代码的冗余 3、 如何实现继承 1. 先确认谁是子类,谁是父类。 2. 在定义类子类 阅读全文
posted @ 2020-01-03 08:26 Hank·Paul 阅读(204) 评论(0) 推荐(0)
摘要: 一、什么是面向对象编程 核心是“对象”二字,对象指的是“特征与技能”的结合体。 基于该编程思想编写程序,就好比在创造世界,一种 “上帝式” 的思维方式。 优点:可扩展性强 缺点:编程的复杂度远高于面向过程 应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等都 阅读全文
posted @ 2020-01-03 08:25 Hank·Paul 阅读(255) 评论(0) 推荐(0)
摘要: 一、time 时间模块 在python的三种时间表现形式: 1.时间戳: 给电脑看的。 - 自格林威治时间 1970-01-01 00:00:00 到当前时间,按秒计算,计算到当前时间总共用了多少秒。 2.格式化时间(Format String): 给人看的 - 返回的是时间的字符串 2015-12 阅读全文
posted @ 2020-01-03 08:24 Hank·Paul 阅读(199) 评论(0) 推荐(0)
摘要: 先问问大家,什么是拷贝? 拷贝就是创建一个具有相同类型,相同值但不同id的新对象. 深浅copy其实就是完全复制一份,和部分复制一份的意思。 1、 赋值运算 对于赋值运算来说,l1与l2指向的是同一个内存地址,所以他们是完全一样的。 在举个例子,比如张三李四合租在一起,那么对于客厅来说,他们是公用的 阅读全文
posted @ 2020-01-03 08:23 Hank·Paul 阅读(175) 评论(0) 推荐(0)
摘要: 软件开发目录规范: 注意: 每一次写项目时,都要新建一个文件夹与项目工程,必须让项目文件夹作为项目根目录。 阅读全文
posted @ 2020-01-03 08:22 Hank·Paul 阅读(291) 评论(0) 推荐(0)
摘要: 包 一、什么是包? 包是一个内部带有__init__.py的文件夹,包也可以被导入,并且可以一并导入包下的所有模块。 二、为什么要使用包? 包的本质就是一个文件夹,那么文件夹唯一的功能就是将文件组织起来。 随着功能越写越多,我们无法将所有功能都放到一个文件中,于是我们使用模块去组织功能,而随着模块越 阅读全文
posted @ 2020-01-03 08:21 Hank·Paul 阅读(202) 评论(0) 推荐(2)
摘要: 函数递归指的是重复 “直接调用或间接调用” 函数本身,这是一种函数嵌套调用的表现形式。 直接调用: 指的是在函数内置,直接调用函数本身。 间接调用: 两个函数之间相互调用间接造成递归。 阅读全文
posted @ 2020-01-03 08:20 Hank·Paul 阅读(281) 评论(0) 推荐(0)
摘要: 一、匿名函数 没有名字的函数 二、内置函数 内置函数:python内部提供的自带的内置方法 如:range,print,len,max,min,sorted,map,filter max:求最大值 max(可迭代对象) sorted: 默认升序(从小到大) reverse:反转 reverse默认是 阅读全文
posted @ 2020-01-03 08:19 Hank·Paul 阅读(245) 评论(0) 推荐(0)
摘要: 面向过程编程: 核心 是'过程'二字,过程 指的是一种解决问题的步骤,即先干什么再敢什么 基于该编程思想编写程序,就好比在设计一条工厂流水线,一种机械式的思维方式 优点 :将复杂的问题流程化,进而简单化 缺点 :若修改当前程序设计的某一部分,会导致其他部分同时需要修改 牵一发而动全身,可扩展性差 三 阅读全文
posted @ 2020-01-03 08:18 Hank·Paul 阅读(425) 评论(0) 推荐(0)
摘要: 一、装饰器 闭包函数 装饰器简介 装饰器模板 装饰器的语法糖 二、迭代器 三、生成器 #一、装饰器 ##闭包函数 闭:指的是定义在函数内部的函数 比如手机是闭包函数(内层函数),被手机包装盒 (外层函数) 包裹起来, 手机可以使用包装盒中的东西,内层函数可以引用外层函数的名字。 闭包函数:定义在函数 阅读全文
posted @ 2020-01-03 08:17 Hank·Paul 阅读(310) 评论(0) 推荐(0)
摘要: 一、函数对象 函数的名字就是函数对象,它在python中是第一类对象,函数名指向的是函数的内存地址。 1.1 函数对象的作用: 1、函数名可以被引用 2、函数名可以当作参数传入 3、可以当函数的返回值 4、函数名可以作为容器类型的元素 1.2 函数对象的应用: 可以优雅地取代if分支 二、函数嵌套 阅读全文
posted @ 2020-01-03 08:16 Hank·Paul 阅读(260) 评论(0) 推荐(0)
摘要: 一、 形参与实参 形参 :即在定义函数时,括号内声明的参数。形参本质就是一个变量名,用来接收外部传来的值。 实参 :即在调用函数时,括号内传入的值,值可以是常量、变量、表达式或三者的组合。 注意:在调用函数时,实参值(变量的值)会赋值给形参(变量名),两者的绑定关系只在函数调用时才会生效,在调用函数 阅读全文
posted @ 2020-01-03 08:15 Hank·Paul 阅读(1421) 评论(0) 推荐(2)
摘要: 一、函数的基本使用 1、什么是函数 定义:函数是一系列功能的结合体,是一种可以重复使用的工具。 2、为什么要用函数 1、防止代码冗余 2、防止组织结构不清晰,代码可读性差 3、便于代码的管理和维护 3、怎么用函数 1、定义函数>>> 创造工具 2、调用函数>>> 使用工具 强调:函数的使用必须经过先 阅读全文
posted @ 2020-01-03 08:14 Hank·Paul 阅读(356) 评论(0) 推荐(1)
摘要: 1、文件操作的流程: 1.1 文件的定义: 文件就是操作系统提供给应用程序来操作硬盘的接口,用户或应用程序对文件的操作,就是向操作系统发起调用,然后由操作系统完成对硬盘的具体操作。 1.2 操作文件的基本流程: 2、相对路径和绝对路径: 相对路径 :a.txt必须与当前py文件在同一级目录(一般使用 阅读全文
posted @ 2020-01-03 08:13 Hank·Paul 阅读(294) 评论(0) 推荐(0)
摘要: 字符编码 1 什么是字符编码? 人类在与计算机交互时,用的都是人类能读懂的字符,如中文字符、英文字符、日文字符等毫无疑问,由人类的字符到计算机中的数字,必须经历一个过程,如下 翻译的过程必须参照一个特定的标准,该标准称之为字符编码表,该表上存放的就是字符与数字一一对应的关系。 字符编码中的编码指的是 阅读全文
posted @ 2020-01-03 08:08 Hank·Paul 阅读(595) 评论(0) 推荐(0)
摘要: 一、流程控制之判断 if:主要用于判断事物的对错,真假,是否可行 二、流程控制之循环 while循环: Python中的计数方法: 几乎所有的程序语言都选择从0开始计数,因此,除非需求的特殊要求,否则循环的计数都从0开始 for循环: for:给我们提供了一种不依赖于索引的取值方式 注意:break 阅读全文
posted @ 2020-01-03 08:07 Hank·Paul 阅读(178) 评论(0) 推荐(0)
摘要: 一、运行python程序的两种方式: 方式一:交互式模式 方式二:脚本文件 交互式模式下可以即时得到代码执行结果,调试程序十分方便。 若想将代码永久保存下来,则必须将代码写入文件中。 若将代码写入文件中,偶尔需要打开交互式模式调试某段代码、验证结果。 二、变量 1、什么是变量 变:变化 量:指的是事 阅读全文
posted @ 2020-01-03 08:06 Hank·Paul 阅读(480) 评论(0) 推荐(0)
摘要: 计算机基础 1、编程语言:人与计算机沟通、交流的介质 2、编程:程序员用计算机可以理解的表达方式,把自己的思维逻辑写下来,编程的结果就是一堆文件 学习编程的目的就是为了让计算机按照人的思维逻辑自发地去工作从而把人力解放出来 3、计算机系统: (1)硬件:计算机的实体:主机,硬盘等 (2)软件:由具有 阅读全文
posted @ 2020-01-03 08:04 Hank·Paul 阅读(3211) 评论(0) 推荐(0)