自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL数据库(MySQL主从搭建|Django中实现MySQL读写分离|Django中使用MySQL连接池)

MySQL服务器之间的主从同步是。

2024-03-27 17:46:36 563 1

原创 Redis入门三(主从复制、Redis哨兵、Redis集群、缓存更新策略、缓存穿透、缓存击穿、缓存雪崩)

在主从模式下(主从模式就是把下图的所有哨兵去掉),master节点负责写请求,然后异步同步给slave节点,从节点负责处理读请求。如果master宕机了,需要手动将从节点晋升为主节点,并且还要切换客户端的连接数据源。这就无法达到高可用,而通过哨兵模式就可以解决这一问题。哨兵模式是Redis的高可用方式,哨兵节点是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点。

2024-03-25 19:07:53 694 1

原创 Redis入门二(centos上安装redis、redis客户端、reids命令、慢查询、pipline与事务、发布订阅、bitmap、HyperLogLog、GEO、持久化)

'把redis数据从内存保存到硬盘上的过程称之为持久化'把数据保存在硬盘上永久存储 过程叫持久化'所有的数据库,持久化方案'快照:某时某刻数据的一个完成备份-mysql的Dump: mysqldump -uroot -p123456 -luffy >/data/mysqlDump/mydb.sql-redis的RDB:写日志:任何操作记录日志,要恢复数据,只要把日志重新走一遍即可-mysql的 Binlog-Redis的 AOF'redis 主要的两种持久化方案'

2024-03-19 16:59:23 498

原创 学习知识随笔(事务、Django使用悲观锁及乐观锁、远程链接Linux开发)

事务是用户定义的一系列数据库操作,这些操作可以视为一个完整的逻辑处理工作单元。要么全部执行,要么全部不执行,是不可分割的工作单元。

2024-03-18 20:49:05 949

原创 Docker入门二(应用部署、迁移与备份、DockerFile、docker私有仓库、Docker-Compose)

Dockerfile其实就是根据特定的语法格式撰写出来的一个普通的文本文件利用docker build命令依次执行在Dockerfile中定义的一系列命令,最终生成一个新的镜像(定制镜像)文件名必须叫Dockerfile。Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。对于开发人员:可以为开发团队提供一个完全一致的开发环境;对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作了;

2024-03-13 21:43:10 541

原创 Docker入门一(Docker介绍、Docker整体结构、Docker安装、镜像、容器、Docker的容器与镜像)

在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。

2024-03-12 22:08:37 1064 2

原创 Flask入门四(SQLAlchemy快速使用、原生sql操作、操作表、表模型、基于Scoped_Session实现线程安全、基本增删查改、高级查询、Flask-SQLAlchemy的使用)

1.自定义信号# 自定义一个数据库保存执行的信号2.写一个函数# args 没有拿到数据# kwargs 拿到其他数据,自定义的都是可以自己定制返回数据print('表数据插入了')3.跟自定义信号绑定4.在真正的数据库保存的时候执行port=3306,cursor.execute('INSERT INTO article (title,author) VALUES (%s,%s)',args=['测试标题1','测试作者1'])conn.commit() # 提交。

2024-03-07 20:32:59 466

原创 Flask入门三(Flask-session的使用、数据库链接池、wtforms、Flask定制命令、Flask-Cache、信号)

Flask内置的Session会把数据加密后保存到浏览器 我们自己重写Session类保存到Reids中只需要重写open_session和save_session方法。而在这中间有一个模块就做了这件事,那就是flask-session,以把数据存放到文件、redis、mongodb、关系型数据库等中。每个人:线程用自己的从conn和cursor,在视图函数中,拿到链接和cursor。但是这种如果并发量过高,就会出现连接数过多的问题,mysql的性能就降低了。

2024-03-06 19:40:15 433

原创 Flask入门二(Flask的CBV、模版语法、请求和响应、session执行流程分析、Flask闪现、请求拓展、g对象、蓝图、导出Flask项目依赖)

在请求进入视图函数之前执行一些代码,请求出了视图函数以后执行一些代码,类似于django的中间件完成的功能6个装饰器(原来有7个,新版本去掉一个)g对象在一次请求中的所有的代码的地方,都是可以使用的。专门用来存储用户信息的g对象,

2024-02-29 15:43:12 460

原创 Flask入门一(介绍、Flask安装、Flask运行方式及使用、虚拟环境、调试模式、配置文件、路由系统)

Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器“微”(micro)

2024-02-27 17:01:10 1191

原创 爬虫入门五(Scrapy架构流程介绍、Scrapy目录结构、Scrapy爬取和解析、Settings相关配置、持久化方案)

Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。Scrapy 是基于twisted框架开发而来,twisted是一个流行的事件驱动的python网络框架。

2024-02-25 21:44:37 1260

原创 爬虫入门四(抽屉半自动点赞、xpath使用、动作链、打码平台、scrapy框架介绍与安装及创建项目)

'网站有验证码,验证码破解'-简单验证码:字母数字组合---》免费的就能破---》ddddocr-复杂的:收费---》打码平台--》花钱帮我们破解验证码把验证码图片传给它--->它识别完--》返回结果---》根据复杂度收费-超级鹰:http://www.chaojiying.com/-下载SDK-云打码:https://zhuce.jfbym.com/price/前面讲的都是使用模块 做专业的爬虫可以使用框架Scrapy爬虫框架(做爬虫用的东西都封装好了只需要在固定的位置写固定的代码即可)

2024-02-25 17:51:57 1139

原创 爬虫入门三(bs4模块、遍历文档树、搜索文档树、css选择器、selenium介绍与安装、无界面浏览器、搜索标签即其他操作、等待元素、执行JS代码、切换选项卡、模拟浏览器前进后退、selenium登)

文件中提取数据的Python库,用它来解析爬取回来的xml。

2024-02-20 21:40:50 405

原创 爬虫入门一

爬虫就是程序从互联网中各个网站上爬取数据,做数据清洗再入库。本质原理从技术层面来说就是:通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(图片、视频等)爬取到本地,进而提取自己需要的数据,存放起来使用通俗的说就是:通过模拟发送http请求从而去别人的服务端获取数据,然后把获取的数据入库爬虫是否合法?爬虫有爬虫协议(是一个君子协议):每个网站根路径下都有robots.txt,这个文件规定了该网站,哪些可以爬取,哪些不能爬取SEO与SEM的区别和联系使用。

2024-02-19 20:13:58 1771

原创 Redis入门一(介绍、安装、启动服务、Python操作redis、redis连接池链接、redis之字符串、hash、list及其他操作、Django中使用Redis、接口缓存)

'redis 是什么?' - 非关系型数据库 : redis , mongodb , es , clickhouse , influxDBno sql : not only sql # 不仅仅只有sql - 关系型数据库:mysql,oracle , postgrasql , sqlserver , sqlite - 去IOE ,国产化IBM:服务器Oracle:数据库 达梦EMC:存储 - redis 到底是什么?

2024-02-04 21:15:20 293

原创 Vue3入门

关于vue项目的版本,新项目使用vue3,有部分老项目使用vue2。vue3官方文档vue3的变化1. 性能的提升 - 打包大小减少 41 % - 初次渲染快 55 % , 更新渲染快 133 % - 内存减少 54 % 2. 源码的升级使用Proxy代替defineProperty实现响应式重写虚拟DOM的实现和Tree - Shaking 3. 拥抱TypeScriptVue3可以更好的支持TypeScript 4. 新的特性Composition API(组合API)setup配置。

2024-01-16 22:26:47 977

原创 Vue入门七(Vuex的使用|Vue-router|LocalStorage与SessionStorage和cookie的使用|路由的两种工作模式)

定义了应用状态的数据结构,可以在这里设置默认的初始状态。允许组件从 store 中获取数据,mapGetters 辅助函数仅仅是将 store 中的 getter映射到局部计算属性(state的计算属性)。是唯一更改 store 中状态的方法,且必须是同步函数。用于提交 mutation,而不是直接变更状态,可以包含任意异步操作。可以将 store 分割成模块(module)。每个模块拥有自己的state、mutation、action、getter、甚至是嵌套子模块(将store模块化)

2024-01-15 22:53:26 473

原创 Vue入门六(前端路由的概念与原理|Vue-router简单使用|登录跳转案例|scoped样式|混入(mixin)|插件)

路由(英文:router)就是对应关系地址与组件之间的对应关系vue-router是vue.js官方给出的路由解决方案。它只能结合 vue 项目进行使用,能够轻松的管理 SPA 项目中组件的切换。

2024-01-12 21:21:53 1039

原创 Vue入门五(Vue-CLI项目搭建|vue项目目录介绍|vue项目开发规范|es6导入导出语法)

Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统.前端项目,使用工具(vue-cli)创建vue项目,单页面应用spa,组件化开发把xx.vue,ts,saas,less------编译后在浏览器中执行vue-cli 创建项目开发–项目开发----编译(纯的html/js/css)—上线–>浏览器只能识别html/js/cssvue-cli工具,使用nodejs写,要运行需要安装node环境----需要下载node解释器。

2024-01-11 22:09:04 979

原创 Vue入门四(组件介绍与定义|组件之间的通信|动态组件|slot插槽)

组件(Component)是Vue.js 最强大的功能之一,它是html、css、js等的一个聚合体。封装性和隔离性非常强。组件相当于Python中的模块,扩展HTML元素,可以重复使用的代码,使用它就是为了重复使用例如:一个轮播图需要使用放到很多页面当中使用,一个轮播图有它自己的js、css、html,而组件就可以快捷的做出一个轮播图,有自己的js、css、html放到一起,有自己的逻辑样式这样到哪里都可以使用了,无需在写重复代码模块化: 是从代码逻辑的角度进行划分的;

2024-01-10 23:04:10 930

原创 Vue入门三(表单控制|购物车案例|v-model进阶|与后端交互|计算属性|监听属性|Vue生命周期)

文章目录一、表单控制二、购物车案例三、v-model进阶四、与后端交互一、表单控制 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="../js/vue.js"></script> </head> <b

2024-01-09 20:33:47 1178

原创 Vue入门二(列表渲染|数据的双向绑定|事件处理)

就是对click事件的修饰,针对父标签和子标签里面的事件,当子标签里面的点击事件被点击了,同时会传给父标签的点击事件,引发点击事件的触发,称为冒泡事件。只有数组有过滤器,根据输入框输入的内容对目标数组进行条件过滤,只显示想要的数组内容。//过滤掉datelist中每一个是否包含用户输入的this.search。值是单向数据绑定,输入框输入值后,值就会被js变量拿到。//阻止a标签的跳转,可以自己决定需不需prevent。//这内部的this是window对象。//这里的this是实例对象。

2024-01-08 22:58:16 954

原创 Vue入门一(前端发展史|Vue介绍|Vue插值语法|Vue指令|style与class使用|条件渲染)

Vue(读音/vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合渐进式框架可以一点一点地使用它,只用一部分,也可以整个工程都使用它MVVM 是的缩写,它是一种基于前端开发的架构模式,是一种事件驱动编程方式Model:vue对象的data属性里面的数据,这里的数据要显示到页面中View。

2024-01-05 21:07:48 601

原创 DRF从入门到精通九(权限控制)

ABAC(Attribute-Based Access Control,基于属性的访问控制),又称为PBAC(Policy-Based Access Control,基于策略的访问控制),CBAC(Claims-Based Access Control,基于声明的访问控制)。)在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。将用户与角色对接,然后角色与对象的权限对接。

2024-01-04 21:17:20 968

原创 DRF从入门到精通八(Simplejwt快速使用、定制返回格式、Simplejwt默认配置、多方式登录、自定义表签发token、编写认证类)

此时直接访问即可,它都帮我们写好了,在请求体中携带刚刚创建的超级用户的账号密码就会返回token(因为是simplejwt它是双Token认证),如果是的话才会获取空格后面的token值来进行校验,所以我们后续会重写一些方法,不需要遵守一些不必要的规则。我们定义了一个book视图类,它只允许访问时在请求头里面携带了合法的token值才能通过认证。,因为在源码内部获取校验token值前,会先通过空格进行分隔一下,第一个值是否为。携带登录后,服务端响应给我们的token值来访问,token值的开头必须是。

2024-01-03 22:21:04 926

原创 DRF从入门到精通七(频率源码分析、接口文档、JWT介绍、构成原理、Base64编码与解码、jwt的开发重点)

从最开始的DRF知识介绍到现在,我们也知道频率组件是在APIView类源码中的dispatch方法里面执行了三大认证,这三大认证也是在视图类方法之前就执行了。,本质都是差不多,都是重写一些方法,而。频率类,所以这里我就直接看。中的频率源码知道,继承。,它的源码中就是继承了。

2024-01-02 19:24:07 413

原创 DRF从入门到精通六(排序组件、过滤组件、分页组件、异常处理、排序过滤源码分析、异常处理源码分析)

drf内置了三个分页器,对应三种分页方式,内置的分页类不能直接使用,需要继承,定制一些参数后才能使用。可以看到我们需要显示的是6条数据,而后端只响应了5条,这是因为max_page_size属性值的作用:限制了客户端手动获取数据时最大返回的数据条数。继承APIView的是使用不了以上DRF提供的排序组件,需要自己写,自己从请求地址中取出排序规则,然后自己排序。偏移分页,该分页组件作用是:从哪一条数据之后开始显示,以及制定数据显示的条数。给限制了,所以后端只能返回2条数据,如果不使用。

2023-12-28 22:16:38 870

原创 DRF从入门到精通五(路由组件、认证组件、权限组件、频率组件及认证、权限源码分析)

在DRF中,我们要进行登录认证的话需要使用DRF内部的认证组件,为什么不用auth组件?,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息。此时上面代码就可以自动生成路由了,完成了增、删、改、查(一条或多条数据)的接口了,但是不包括在视图集里面自定义的方法。在视图集中,如果想要让Router自动帮助我们为自定义的方法生成路由信息,需要使用。如果要给我们自定义的方法也加上路由,那么则需要使用action装饰器来声明。

2023-12-26 21:09:27 1279

原创 DRF从入门到精通四(视图基类、GenericAPIView的视图扩展类、视图子类、视图集父类、子类)

控制序列化器的执行(检验、保存、转换数据)控制数据库查询的执行虽说视图也可以基于FBV模式来进行开发,但是使用CBV能够让我们避免很多重复代码,类具备继承、封装、多态等等,而DRF也给我们提供了非常丰富的视图组件。

2023-12-25 21:42:44 93

原创 DRF从入门到精通三(反序列化数据校验源码分析、断言Assert、DRF之请求、响应、两个视图基类)

渲染器 用来根据请求投中的Accept接收数据类型声明 来自动转换响应数据到对应格式 如果前端请求中未进行Accept声明 则会采用默认方式处理响应数据。为了方便设置状态码,REST framewrok在rest_framework.status模块中提供了常用状态码常量。REST FrameWork传入视图的Request对象不再是Django默认的HttpRequest对象。使用顺序:视图类自身配置——>项目drf配置——>drf默认内置的配置。在视图类中写-----局部配置。

2023-12-22 21:32:29 153

原创 DRF从入门到精通二(Request源码分析、DRF之序列化、反序列化、反序列化校验、序列化器常用字段及参数、source、定制字段、保存数据)

1. 新的request跟之前的用法一模一样,如果新的request取不到,它使用__getattr__魔法方法去原生request中取。当然原生的也可以直接在新的request中拿到,request . _request 2. 新的request中多了data属性,request . data客户端提交的请求体中的数据,无论是什么编码都在request . data中 3. 其他的使用和原生的request一模一样。

2023-12-20 20:58:59 376

原创 DRF从入门到精通一(DRF介绍、API接口、接口测试工具、Restful规范、序列化反序列化、基于drf、原生编写接口,APIView源码分析)

大体流程就是:前端在编写完静态页面之后,需要发送给后端人员做二次处理,所有的html代码和数据在服务器拼接好,等前后端处理好模版之后在做整合,然后一次性将所有内容发送到客户端,浏览器执行代码,将内容呈现给客户。,后端人员向前端开放数据接口(路由),视图层不在直接返回给浏览器了,而是与前端做起了数据交互,实际上返回界面的还是前端,前端工作人员调用接口获取数据,从而将数据显示到页面。主要功能是发送http请求。Apifox也是一款接口调试工具,也是免费的可视化软件,相较而言我觉得是比Postman更好用一下。

2023-12-15 17:20:54 351

原创 Django之缓存

简单概括就是将对数据库操作查询所得到的数据放入另外一台机器上(缓存)中当用户再次请求时,直接去缓存中拿,避免对数据库的频繁操作,加快数据的显示时间需要知道的是,缓存里面的数据一般都设置有超时时间,缓存一般用在数据变化不大,实时率不高的情况下。由于Django是动态网站,所有每次请求均会去数据进行相应的操作当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存缓存将一个某个views的返回值保存至内存或者memcache中。

2023-12-06 18:21:09 343

原创 学习知识随笔(Django)

在使用Django 项目时,一个常见的需求是获得URL 的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等)。django是专注于开发应用的,当一个django项目特别庞大的时候所有的路由与视图函数映射关系全部写在总的urls.py很明显太冗余不便于管理,其实django中的每一个app应用都可以有自己的urls.py、static文件夹、templates文件夹,基于上述特点,使用django做分组开发非常的简便。除了特殊说明的之外,其他均为只读的。

2023-11-28 22:44:46 472

原创 学习知识回顾随笔(远程连接MySQL|远程访问Django|HTTP协议|Web框架)

Web应用程序时一种可以通过Web访问的应用程序,用户只需要有浏览器即可,无需再安装其他软件HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从www服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少,我们在浏览器的地址栏里输入的网站地址叫做URL(UniformResourceLocator,统一资源定位符)。

2023-11-27 21:58:32 243

原创 Django之Auth认证模块

在平常我们使用Django开发的过程中都需要设计Web用户系统其中包含:用户注册、登录、修改密码、登录认证、注销等功能。而这些都是由我们手动将数据拿到数据库表中一一匹对,太过于麻烦。那么我们今天使用到的Auth模块可以完美解决这个问题,提升使用Django的开发效率。

2023-11-26 21:22:32 730

原创 Django之中间件与CSRF_TOKEN

Django中间件类似于django的门户,所有的请求来和响应走走必须经过中间件中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能中间件它的执行位置在web服务网关接口之后,在路由匹配之前执行的Django给我们提供了创建自定义中间件的方式,通过创建自定义中间件来实现全局的功能,例如全局用户黑名单校验、全局用户访问频率校验、网站全局用户身份校验等等。

2023-11-23 21:27:05 865

原创 Cookie与Session

首先我们都应该明白HTTP协议是无连接的。无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接英系那个后面的请求响应情况。所以对服务端来说,每一次请求都是全新的。状态也就是说在于服务端进行连接的过程中产生的数据,基于HTTP无连接的特性,在下一次与服务端进行连接之后又是一次全新的状态,之前的状态不会保存丝毫。

2023-11-22 23:32:15 204

原创 Django批量插入数据及分页器

是我们自己写好的分页器代码一般是存在应用层.utils.mypage文件下的,我们需要的时候导入就行"""封装分页相关数据:param current_page: 当前页:param all_count: 数据库中的数据总条数:param per_page_num: 每页显示的数据条数:param pager_count: 最多显示的页码个数"""try:# 总页码if tmp:@property@property# 如果总页码 < 11个:# 总页码 > 11。

2023-11-21 22:11:50 704

原创 Ajax基础(应用场景|jquery实现Ajax|注意事项|Ajax发送json数据|Ajax携带文件数据)

AJAX翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互也是用XML进行数据传输(当然,传输的数据不只是XML,目前更多的使用Json数据)。(XML应用于Web开发的许多方面,常用于简化数据的存储和共享)AJAX不是什么新的编程语言,而是一种使用现有标准的新方法AJAX最大的优点就是不需要重新加载整个页面的情况下,可以与服务器交换数据并更新网页内容(简单来说就是,在网页前端刚输入完数据,后端其实已经验证完数据了,不需要等点击提交了)

2023-11-20 21:35:13 1910

空空如也

空空如也

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

TA关注的人

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