自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python基础——集合的应用与操作

集合(set)是一种独特的、无序的数据结构,在许多编程任务中发挥着重要作用。集合的特点是其元素的唯一性,这使得它非常适合用于数据去重、集合运算等场景。在本篇文章中,我们将详细介绍Python中的集合,包括其定义、基本操作、集合运算、比较运算以及不可变集合frozenset的使用。集合是无序且元素唯一的集合体。我们可以使用大括号{}或内置函数set()来创建集合。在Python中,空的大括号{}通常表示一个空字典,因此要创建一个空集合,需要使用set()函数。

2024-07-31 22:42:30 807

原创 Python基础——元组的应用与操作

在Python编程中,元组是一种常用的数据结构,与列表类似,它可以存储多个元素,但不同的是,元组是不可变的。这种特性使得元组在某些需要确保数据不可变的场景下,比列表更适合使用。本篇文章将详细介绍元组的定义、操作,以及元组在实际应用中的优势和场景。元组是一种有序的数据结构,可以存储多个元素。这些元素可以是不同类型的,类似于列表。元组使用圆括号()定义,元素之间用逗号分隔。

2024-07-31 22:41:37 434

原创 Python基础——列表的应用与操作

在Python编程中,列表是最常用的数据结构之一。它不仅可以存储多种类型的元素,还提供了丰富的操作方法。列表的灵活性和易用性使得它成为处理数据的首选结构之一。本篇文章将详细介绍列表的定义、基础操作、进阶操作以及实际应用场景。列表是一种有序的数据结构,它可以包含多个元素,这些元素可以是任何数据类型。定义列表非常简单,只需使用方括号[]将元素包围,并用逗号分隔每个元素。# 定义一个包含整数的列表# 定义一个包含字符串的列表fruits = ["苹果", "香蕉", "橘子"]# 定义一个混合类型的列表。

2024-07-30 16:01:31 404

原创 Python基础——循环结构

在编写程序时,控制流结构至关重要,它决定了程序的执行路径。Python中的控制流结构主要包括顺序结构、分支结构和循环结构。本节将详细介绍循环结构,帮助你更好地理解如何控制程序的重复执行。在本节中,我们详细介绍了Python中的while循环和for循环,以及如何使用break和continue语句控制循环的执行。我们还讨论了如何使用range函数生成数字序列,并结合for循环执行重复性任务。循环结构是编写高效和动态程序的关键,可以大大简化需要重复执行的任务。

2024-07-29 09:49:57 282

原创 Python基础——分支结构

在编写程序时,控制流结构至关重要,它决定了程序的执行路径。Python中的控制流结构主要包括顺序结构、分支结构和循环结构。本节将详细介绍顺序结构和分支结构,帮助你更好地理解如何控制程序的执行顺序。在本节中,我们详细介绍了Python中的顺序结构和各种分支结构。顺序结构是程序执行的基础,而分支结构则为程序提供了决策能力,使其能够根据不同的条件采取不同的行动。特别是Python 3.10引入的match语句,为处理多种模式匹配提供了更简洁和强大的工具。在使用分支结构时,应确保条件逻辑清晰,避免条件重复或遗漏。

2024-07-29 09:49:13 870

原创 Python基础——运算符

在前几节课中,我们已经了解了Python中的变量和数据类型。接下来,我们将深入探讨如何使用这些变量进行运算。今天的重点是Python中的运算符。运算符是编程语言中用于执行操作的特殊符号。它们允许我们对变量和数据进行各种操作,如加减乘除、比较大小、逻辑判断等。理解和掌握运算符的使用是编写有效Python代码的基础。通过本篇文章,我们了解了Python中的各种运算符,包括算术运算符、赋值运算符、比较运算符、逻辑运算符、身份运算符、成员运算符和位运算符,并举了一些实际应用的例子。

2024-07-28 09:21:16 765

原创 Python基础——变量和数据类型

今天我们开始学习Python编程的基础——变量和数据类型。这些概念是学习编程的第一步,也是非常重要的一步。无论是在开发中还是面试中,理解这些基本概念都是必不可少的。在这篇文章中,我会用简单易懂的语言来解释什么是变量、什么是数据类型,并提供一些例子。如果有任何不清楚的地方,欢迎大家在评论中提出~在编写程序时,我们经常需要保存和操作数据。这些数据需要存储在计算机的内存中。为了方便地管理和操作这些数据,我们使用变量来存储它们。变量可以看作是数据的标签,我们通过给数据起名字来方便地引用和修改它们。

2024-07-28 09:20:47 898

原创 Python基础——第一个Python程序

Python基础知识,本文介绍了python的相关开发工具,重点介绍了PyCharm的安装与使用,并在PyCharm上编写和运行了第一个Python程序。

2024-07-27 10:56:15 269

原创 Python基础——初识与安装指南

Python简介,windows上安装python教程,mac OS安装python教程

2024-07-27 00:24:54 1160

原创 Vue2高级篇

Vue2高级篇知识,包含Vuex, Vue-router等

2024-03-05 22:40:56 1211

原创 Vue基础篇

Vue2基础知识

2024-03-05 22:36:03 1053

原创 JavaScript基础

JavaScript语言基础知识,基本语法。

2024-03-03 23:19:31 2759

原创 MySQL字符集和比较规则

MySQL字符集详细介绍,乱码问题原理解析,从根上理解MySQL

2024-03-03 21:36:18 1265

原创 第五讲:常见的BeanPostProcessor

Bean的生命周期,以及生命周期的前后,本文将解释生命周期中的一些注解是怎么生效。

2023-08-22 23:34:57 303

原创 第四讲:Bean的生命周期

简单的描述并测试Bean的生命周期(细节会在后续文章中单独讲解),并加入一些BeanPostPorcessor处理测试。

2023-08-22 00:40:48 240

原创 第三讲:ApplicationContext的实现

在上一篇文章中,我们使用的一直是DefaultListableBeanFactory,他只是一个Bean工厂,不会自动运行,所有的功能都需要我们手动去调用。接下来,我们来看几个ApplicationContext的实现类。

2023-08-20 22:53:37 845 1

原创 第二讲:BeanFactory的实现

BeanFactory的特点:不会主动调用BeanFactory后置处理器(对应本文第4点)不会主动添加Bean后置处理器(对应本文第4、5点)不会主动初始化单例(对应本文第6点)不会解析beanFactory,不会解析${}和#{}

2023-08-20 22:43:53 399

原创 第一讲:BeanFactory和ApplicationContext接口

BeanFactory是ApplicationContext的父接口,是真正的Spring核心容器,主要的ApplicationContext实现都【组合】了他的功能。BeanFactory和ApplicationContext并不仅仅是简单的接口继承关系,ApplicationContext组合并扩展了BeanFactory的功能。

2023-08-20 22:34:03 355

原创 Spring中Bean的生命周期

Spring中bean的生命周期

2022-07-29 10:40:01 201

原创 对象创建的几个步骤

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-07-28 16:11:20 1577

原创 接口和抽象类的区别

接口与抽象类的区别

2022-07-27 21:54:21 557

原创 重写equals方法时为什么需要重写hashCode方法

重写equals方法时为什么需要重写hashCode方法如果只重写了equals方法,而不重写hashCode()方法,则默认调用的是Object类中的该方法,返回的是此对象的十进制内存地址。当使用java中Hash相关的容器时,比如HashMap,该容器的key是不能重复的。往map中存放数据的时候,会先调用key的hashCode方法得到一个整数h,经过hash算法得出一个hash值(h的高16位不变,低16与高16位做异或运算作为新的低16位)。再将hash值与数组长度做&运算得到存放该数

2022-01-20 18:16:03 386 1

原创 Docker安装RocketMQ

Docker安装RocketMQ转载自网络1. 从docker hub远程拉取镜像2. 启动namesrv服务3. 编写broker配置文件4.启动broker5.安装控制台转载自网络1. 从docker hub远程拉取镜像docker pull rocketmqinc/rocketmq:tag2. 启动namesrv服务docker run -d -p 9876:9876 -v /usr/local/mq/data/namesrv/logs:/root/logs -v /usr/local/m

2021-10-09 15:40:29 386

原创 OpenFeign日志

OpenFeign日志1、作用2、日志级别3、配置日志bean4、开启日志5、修改logback日志级别6、查看结果1、作用OpenFeign提供了日志打印功能,我们可以通过配置来调整日志级别,从而了解OpenFeign中Http请求的细节。即对OpenFeign远程接口调用的情况进行监控和日志输出2、日志级别NONE:默认级别,不显示日志BASIC:仅记录请求方法、URL、响应状态及执行时间HEADERS:除了BASIC中定义的信息之外,还有请求和响应头信息FULL:除了HEADERS中定

2021-05-25 15:43:46 490

原创 LocalDateTime的json格式化问题

LocalDateTime的json格式化问题package com.atguigu.srb.base.config;import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.autoconfigure.jackson.Jackson

2021-05-25 13:55:05 592

原创 ListToTreeUtil(从数据库查出List转成Tree)

ListToTreeUtil(从数据库查出List转成Tree)一、实体二、使用工具类直接生成前言:在开发中,经常会碰到需要将数据库中的List转换成一个Tree,例如:评论列表、系统菜单、部门关系、商品分类等等。这个工具类就是用来直接将数据库中的List数据,根据parentId和id字段将其直接转成一个前端可以使用的Tree。一、实体@Data@JsonInclude(JsonInclude.Include.NON_NULL)public class SumTree<T> {

2021-04-06 15:18:19 667

原创 SpringBoot中配置一个Interceptor

SpringBoot中配置一个Interceptor一、准备JWT解析token1. 在appcation.yml文件中配置公钥所在地址和Cookie的名称2. 编写一个配置属性类,读取值二、编写拦截器三、将拦截器注册前言:在B站学习springBoot商城项目的时候,做到购物车模块,前台要向数据库中添加商品,或者删除、修改时,每一个Controller方法都必须先解析token中的用户信息,才能明白要添加到谁的购物车,所以我们抽取一层,把解析用户信息的工作放到拦截器中。一、准备JWT解析token

2021-03-20 12:02:39 1110

原创 Spring Security快速入门(五) 其他功能

Spring Security快速入门(五)其他功能一、RememberMe功能1. 添加依赖2. 配置数据源3. 编写配置4. 修改SecurityConfig.java5. 在客户端添加复选框前言:本文是Spring Security基础部分的最后一篇文章,将简单介绍其Remember Me、在ThymeLeaf中使用Spring Security、退出登录以及CSRF。一、RememberMe功能Spring Security 中 Remember Me 为“记住我”功能,用户只需要在登录时

2021-03-19 11:34:10 515

原创 Spring Security快速入门(四) 访问控制

@[toc](Spring Security快速入门(四)访问控制)一、访问控制url匹配在前面讲解了认证中所有常用配置,主要是对`http.formLogin()`进行操作。而在配置类中`http.authorizeRequests()`主要是对url进行控制,也就是我们所说的授权(访问控制)。http.authorizeRequests()也支持连缀写法,总体公式为:url 匹配规则.权限控制方法通过上面的公式可以有很多 url 匹配规则和很多权限控制方法。这些内容进行各种组合就形成了

2021-03-17 11:39:57 811

原创 Spring Security快速入门(三)自定义页面

Spring Security快速入门(三)自定义页面一、登录页面二、自定义登录成功处理器三、失败跳转引言:Spring Security 给我们提供了登录页面,但是对于实际项目中,大多喜欢使用自己的登录页面。所以 Spring Security 中不仅仅提供了登录页面,还支持用户自定义登录页面。实现过程也比较简单,只需要修改配置类即可。一、登录页面我们先准备一个自己的登录页面。需要注意的是,input的name属性,必须是username和password,否则Spring Security

2021-03-16 17:44:20 449 1

原创 Spring Security快速入门(二)自定义登录逻辑

Spring Security快速入门(二)一、UserDetailsService接口二、User类1. User类中authorities字段三、PasswordEncoder接口四、实现自定义登录逻辑1. 编写配置类2. 自定义逻辑从上一篇博客中可以看见,当我们什么都没有配置的时候,账号和密码都是由Spring Security定义生成的。而再实际项目中账号和密码都是从数据库中查询出来的。所以我们需要通过自定义逻辑控制认证登录。一、UserDetailsService接口需要自定义逻辑时,我们只

2021-03-16 14:26:10 2806 4

原创 Spring Security快速入门(一)

Spring Security快速入门(一)一、学习目标二、Spring Security简介三、快速入门1.导入依赖2. 访问页面一、学习目标二、Spring Security简介什么是安全框架?解决系统安全问题的框架,如果没有安全框架,我们需要手动处理每个资源的访问控制,非常麻烦。使用安全框架,我们可以通过配置的方式实现对资源的访问控制。当前常见的安全框架有:①Spring Security ②Apache ShiroSpring家族一员。是一个能够为基于Spring的企业应用系统提供

2021-03-15 14:32:43 314 1

原创 Docker安装Redis

Docker安装Redis1. 从docker hub远程拉取镜像2. 在容器外部创建Redis要挂载的目录3. 下载官网的配置文件并修改4.运行Redis1. 从docker hub远程拉取镜像docker pull redis:tag2. 在容器外部创建Redis要挂载的目录mkdir -p /usr/local/redis3. 下载官网的配置文件并修改官方redis.conf下载连接bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问protecte

2021-03-06 00:26:29 211

原创 RabbitMQ基础入门(五)Spring AMQP

RabbitMQ基础入门(五)Spring AMQP1. 添加依赖2. 添加配置3. 监听器4. AmqpTemplateSpring-amqp是对AMQP协议的抽象实现,而spring-rabbit 是对协议的具体实现,也是目前的唯一实现。底层使用的就是RabbitMQ。1. 添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-b

2021-03-05 20:38:32 194

原创 RabbitMQ基础入门(四)订阅模型

RabbitMQ基础入门(四)订阅模型一、Fanout(广播)1. 生产者2.消费者3. 测试二、Direct(有方向地)1. 生产者2. 消费者3. 测试三、Topic1. 生产者2. 消费者3. 运行测试在之前的模式中,我们创建了一个工作队列。 工作队列背后的假设是:每个任务只被传递给一个工作人员。 在这一部分,我们将做一些完全不同的事情 - 我们将会传递一个信息给多个消费者。 这种模式被称为“发布/订阅”。1个生产者,多个消费者每一个消费者都有自己的一个队列生产者没有将消息直接发

2021-03-05 17:59:06 233

原创 RabbitMQ基础入门(三)work消息模型

RabbitMQ基础入门(二)work消息模型一、生产者代码二、消费者代码1. 轮询2. 公平(能者多劳)work消息模型称为工作队列或者竞争消费者模式。在上一篇文章中,我们讲了简单消息模型,从一个队列中发送并接收消息。在这里,我们将创建一个工作队列,在多个工作者之间分配耗时任务。工作队列,又称为任务队列。主要是想就是避免执行资源密集型任务时,必须等待它执行完成。相反,我们将稍后完成任务,将它封装为消息,并将其发送发到队列。在后台运行的工作进程将获取任务并最终执行作业。当运行许多消费者时,任务将在他们

2021-03-05 16:55:18 293

原创 RabbitMQ基础入门(二)基本消息模型

RabbitMQ基础入门(一)基本消息模型一、简单消息模型二、代码实现1. 引入依赖2. 编写连接工具类3. 发送消息RabbitMQ是一个消息代理:它接受和转发消息。 你可以把它想象成一个邮局:当你把邮件放在邮箱里时,你可以确定邮差先生最终会把邮件发送给你的收件人。 在这个比喻中,RabbitMQ是邮政信箱,邮局和邮递员。RabbitMQ与邮局的主要区别是它不处理纸张,而是接受,存储和转发数据消息的二进制数据块。一、简单消息模型P(producer/ publisher):生产者,一个发送消息的

2021-03-05 13:45:24 573 4

原创 RabbitMQ基础入门(一)基本概念

RabbitMQ基础入门(一)一、基本概念1. 什么是消息队列2. AMQP和JMS二、常见的MQ产品一、基本概念1. 什么是消息队列消息队列,即MQ,Message Queue。消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。2. AMQP和JMSMQ是消息通信的模型,并不是具体实现。现在实现MQ的有两种主流方式:AMQP、JMS

2021-03-05 00:03:09 307 1

原创 Docker安装RabbitMQ

Docker安装RabbitMQ1. 查看可用的版本2. 拉取镜像3. 使用docker images命令查看镜像4. 启动docker容器5. 登录控制台1. 查看可用的版本先上docker hub查看可用的rabbitMQ的版本,我们这里使用带web控制台版本。2. 拉取镜像docker pull rabbitmq:3.8-management3. 使用docker images命令查看镜像可以看见rabbitMQ已经下载完成了,我们这里记录下镜像ID,只需记录前几位便可(只要能跟其他

2021-03-04 23:26:47 259 1

原创 ThymeLeaf实现页面静态化

页面静态化一、简介1.什么是页面静态化?2.如何实现静态化?二、实现静态化1. ThymeLeaf概念2.代码实现一、简介1.什么是页面静态化?静态化是指把动态生成的HTML页面变成静态内容来保存,之后用户的请求到来,直接访问静态页面,不再经过服务的渲染。静态的HTML页面时可以部署在nginx中,从而极大地提高并发访问能力,减小tomcat压力。2.如何实现静态化?静态化页面都是通过模板引擎来生成的,而后保存到nginx服务器部署,常用的模板引擎有:FreemarkerVelocityT

2021-03-04 19:01:54 960 4

Redis Desktop Manager 2021.zip

Redis Desktop Manager 2021.zip

2021-03-06

空空如也

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

TA关注的人

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