自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 SELECT中 WHERE 和 ON 的区别

/报错,不能在普通查询里使用on,需要使用where。2.连接查询会产生一张中间表(临时表),ON是在生成中间表时使用的条件。where是在中间表生成后对中间表进行过滤使用的条件。2.内连接 交叉连接单独使用ON和WHERE没有区别。4.会带出所有的数据,没有匹配上的用NULL填充。3.先筛选出为表中的数据 再和事实表JOIN。1.只能用于连接 查询(内 外 交叉)1.外连接必须使用ON。就是先JOIN后筛选。

2023-11-03 11:07:27 231

原创 数据仓库分层架构与各自定义和用途

它可以提供实时和定期的报表、仪表盘、警报和预警功能,以帮助管理层和业务用户做出准确和及时的决策,在ADS层,可以进行数据治理和元数据管理工作。3.存储层(Data Warehouse Service Layer):简称DWS,数据的访问和查询,通过各种方式(SQL查询)从数据库中查询数据,数据安全和权限控制,包括用户身份验证,数据加密,访问控制,将数据汇总到不同粒度,以满足特定的业务需求,优化数据仓库的性能,通过索引优化,查询优化,缓存机制等手段来提高查询效率和访问时间。

2023-11-03 10:28:44 111

原创 SQL Server语言分类

常用的DML语句包括SELECT、INSERT、UPDATE、DELETE、FROM、WHERE、JOIN、GROUP BY、ORDER BY等。常用的DDL语句包括CREATE、ALTER、DROP、TABLE、VIEW、INDEX、PROCEDURE、FUNCTION等。常用的DCL语句包括GGRANT、REVOKE、CREATE USER、ALTER USER、DROP USER、DENY。常用的DQL语句SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY等。

2023-11-03 09:56:35 121

原创 迭代器 生成器 装饰器

5.取一个数据量比较大的数据,不要不数据一次性放入内存,而是一点点取值,就可以把它做成一个生成器,可以节约内存。迭代器:可迭代对象调用__iter__,得到迭代器,迭代器有__iter__和__next__方法。可迭代对象:可以迭代的对象,可以用.next()、for取值的对象;字典、列表、元组、集合字符串、文件。装饰器:本质是一个闭包函数,作用是在不改变被装饰对象源代码和调用方式的基础上,为它加入新功能。迭代:不依赖于索引取值的方式,不需要关注他的位置,只要能一个个取值,就称之为迭代。

2023-08-10 09:09:31 80

原创 优化sql查询慢

可以通过 EXPLAIN 命令来查看查询计划,判断是否使用了索引,如果没有使用索引,就需要考虑添加索引。-索引优化:分析sql有没有走索引----》EXPLAIN SELECT * FROM orders WHERE name = 123;-避免全表扫描:避免在大表上进行全表扫描,可以通过限制查询条件或者使用分页查询来解决。-优化sql,不要写 前面的模糊查询。-尽量使用主键查询,尽量不模糊匹配。# 2 接口响应速度慢---》定位到是sql问题。-使用分页,避免全表搜索,扫码。

2023-08-08 22:34:39 38

原创 TCP和UDP的区别

2023-08-08 22:20:19 33

原创 OSI七层协议

osi七层: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理连接层。-五层结构: 应用层(三个合成一个) 传输层 网络层 数据链路层 物理连接层。-会话层:负责建立、管理和终止表示层实体之间的会话连接。-应用层协议:http,ftp,https,dns。-表示层:https=http+ssl 的加密。-应用层 表示层 会话层(应用层)-数据帧:电信号的分组方式。-mac地址:以太网协议。

2023-08-08 22:17:33 34

原创 TCP的三次握手四次挥手

TCP协议处于OSI协议的传输层,是可靠连接,三次握手四次挥手保证了可靠连接数据不会丢失SYN:SYN=1表示要建立连接ACK:ACK=1表示收到建立连接的请求seq:随机数,建立连接无论客户端还是服务端只要建立连接就需要ack:回应请求就要加一返回FIN:表示断开连接。

2023-08-08 09:36:40 18

原创 http 和 https 的区别

加了一层处理加密信息的模块,防数据在传输过程中被盗取,保证数据的完整性。https在http与TCP之间加了一个加密(身份验证层)SSL证书提供了身份认证和加密通信。超文本传输安全协议,密文传输。超文本传输协议,明文传输。风险:窃听风险,篡改风险。

2023-08-04 09:35:39 24

原创 猴子补丁详解

猴子补丁:在程序运行是动态修改代码的技术,在不修改源代码的情况下改变代码的执行方式或为代码增加新的功能。运行时动态的替换属性和方法。

2023-08-04 09:19:56 78

原创 flask---g对象

如果我们想在request中存放path或者其他的数据,后续的视图函数都能拿到,但是可能在下次获取的时候会造成数据混乱的现象。g是global的简称,当次请求中存放的变量,在当次请求中一直存在。所以flask不建议使用向request中存放变量,而使用g对象。session可以夸请求。

2023-08-03 15:21:50 101

原创 flask请求扩展

2.如果请求的return值是None,会执行下一个请求扩展。2.e为异常对象,如果请求没有异常,e就是None。3.多个before_request从上往下执行。3.使用jsonify能够返回给前端。1.每个请求来了,都会执行。1.请求有异常的时候触发。4.不能做全局的异常处理。1.请求有异常时可以触发。1.请求走了以后会触发。3.一般用来记录日志。

2023-08-03 15:06:23 41

原创 flask闪现

2.档次请求如果出错,下次请求要显示可以存放在闪现中。特点:一旦被取出就没有了。

2023-08-03 14:49:10 26

原创 鸭子类型详解

鸭子类型是python语言中面向对象的一个概念jav:实现类型,必须显示继承的这个类python:实现类型,遵循鸭子类型,可以不显示继承的一个类,只要类中有对硬的属性和方法,我们就可以称这几个类的对象为同一种类型。

2023-08-03 14:04:57 40

原创 进程线程携程

统资源分配和调度的基本单位,一个程序运行起来进程管理器就可以看到进程间通信使用消息队列,redis管道。

2023-08-03 13:58:03 73

原创 为什么有了GIL锁还要有互斥锁

GIL和互斥锁的作用是不同的,GIL是为了保证解释器的线程安全,而互斥锁是为了保证共享资源的线程安全。在多线程环境下,即使有GIL的存在,如果不使用互斥锁来保护共享资源,仍然会出现数据竞争和不一致性的问题。2.GIL锁锁不住临界区,需要我们自己加锁,就是在线程操作数据之前加一把锁操作完毕以后释放锁,另一个线程想要操作数据必须要获取互斥锁,才能操作数据。在并发程序中,多个线程同时访问共享的数据,并且至少有一个线程对该数据进行了写操作,而且这些访问没有进行同步控制,导致最终的结果与预期不一致的情况。

2023-08-03 13:45:50 130

原创 flask的session

flask的session没有在服务端存储数据后期扩展可以将session存入redis。

2023-08-02 20:42:34 312

原创 flask的请求与响应

所有web:请求对象,响应对象(go,java,ptyhon)django:request(每个请求一个request),新手四件套flask:requset:全局的,但是也是每个请求一个request,新手三件套。

2023-08-02 20:22:32 28

原创 flask模版语法

jinjia2模版语法flask使用了但是它可以单独使用1.支持括号调用2.支持中括号取值简单来说就是python的语法 都可以直接使用。

2023-08-02 19:09:30 21

原创 flask的cbv

1.定义一个类继承MethodView2.在定义的类中写与请求方式同名的方法3.注册路由。

2023-08-02 17:38:28 39

原创 为什么计算密集型用多进程,IO密集型用多线程

计算:消耗CPU;代码执行,算数,for都是计算io:不消耗CPU;打开文件,写入文件,网络操作都是io;如果遇到io,该线程会释放CPU的执行权限,转而去执行别的线程由于python有gill锁,开启多条线程,同一时刻只能有一条线程执行。

2023-08-02 15:09:41 284

原创 python的垃圾回收机制

2.1 引用计数。

2023-08-02 09:56:14 50

原创 Python中的GIL

python是动态强类型语言 ,因为有垃圾回收机制,如果同一个进程下有多个线程同时在执行,垃圾回收是线程(同一个进程下的变量是共享的),该线程做垃圾回收时,如果其他线程在运行就可能会产生并发安全问题(数据安全的问题),由于当时只有单核CPU(即便开始多线程,同一时刻也只有一个线程在运行),作者强行加了GIL锁,为了保证在一个进程内,同一时刻只有一个线程,目的就是为了防止垃圾回收机制回收垃圾时出现数据紊乱 的问题,所以加了它。每个线程在执行的过程都需要先获取GIL锁,保证同一时刻只有一个线程可以执行代码。

2023-08-02 09:35:19 324

原创 flask路由

【代码】flask路由。

2023-08-01 18:49:36 28

原创 flask配置文件

【代码】flask配置文件。

2023-08-01 17:02:58 117

原创 装饰器详解

类作为装饰器只要将类中定义一个__call__方法,这样在类作为装饰器装饰函数时,函数运行时就会运行__call__方法中的内容,这就完成类作为函数装饰器的作用啦。如果是在路由下添加了装饰器,在每个app的视图方式下参数一定要添加endpoint参数。例:auth=auth(index)效果可能是修改类属性,修改类方法。必须放在app.router下。本质实际上就是一种语法糖。

2023-08-01 16:45:19 22

原创 接口幂等性的定义及解决

一个幂等操作的特点是:任意多次执行所产生的影响与一次执行的影响是一样的接口幂等性:同一个接口,多次发出同一个请求,必须保证操作只执行一次,无论执行多少次,对数据的影响都是一致的例子:支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额返发现多扣钱了,流水记录也变成了两条...这就没有保证接口的幂等性。

2023-08-01 14:56:24 29

原创 sql索引类型和作用

【代码】sql索引类型和作用。

2023-08-01 12:37:07 264

原创 数据库三大范式

【代码】数据库三大范式。

2023-08-01 12:36:10 24

原创 qps tps 并发量 pv uv

【代码】qps tps 并发量 pv uv。

2023-07-31 23:04:12 92

原创 事务的特性和隔离级别

【代码】事务的特性和隔离级别。

2023-07-31 22:52:21 32

原创 flask的快速使用 登录案例

【代码】flask的快速使用 登录案例。

2023-07-31 21:16:40 37

原创 Python web框架 | wsgiref | wsgi | Werkzeug

【代码】Python web框架 | wsgiref | wsgi | Werkzeug。

2023-07-31 20:09:58 135

原创 linux用户操作

【代码】linux用户操作。

2023-07-27 19:15:54 28

原创 vim的使用

【代码】vim的使用。

2023-07-27 19:10:20 23

原创 shell 文件命令

【代码】shell 文件命令。

2023-07-27 17:59:18 193

原创 shell 文件管理

bin路径放的是可执行文件。

2023-07-27 16:25:31 65

原创 shell介绍及基础命令

【代码】shell介绍及基础命令。

2023-07-27 16:06:58 40

原创 远程连接虚拟机 网络介绍

子网掩码 dhcp 网关 dns。

2023-07-27 15:45:06 106

原创 Linux环境搭建和安装步骤

1.下载 VMware-workstation-full-17.0.0-20800274.exe 一路下一步2. 双击打开,创建虚拟机,配置参数。

2023-07-27 15:33:30 52

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除