自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【知识库系统】JWT实现前后端分离验证

1. SpringSecurity 默认的认证是需要通过 UsernamePasswordAuthenticationFilter 进行认证的,该过滤器认证前,会到 SecurityContextHolder 中寻找是否有符合的 Authentication 认证信息,如果有已认证的信息,则 UsernamePasswordAuthenticationFilter 可以直接拿到认证信息,进行后面的授权操作。6. 最后测试一下,发送一个登录请求,返回 token 信息,1. 首先引入 JWT。

2024-03-19 23:21:36 580

原创 【知识库系统】使用SpringSecurity进行身份认证

这里以24年3月份的 6.2.2 版本为例,记录一下学习过程。1. SpringSecurity 是基于 Servlet Filters 的,而 Servlet Filters 中的流程如下:首先由客户端 Client 请求,请求后需要通过一个过滤链 FilterChain ,FilterChain 里面会有多个过滤器 Filter。

2024-03-12 17:05:10 1030

原创 【知识库系统】Springboot+Mybatis实现多条件查询

在Spring Boot中使用MyBatis进行高级查询通常涉及使用复杂的SQL语句、参数映射、结果映射以及可能的动态SQL。MyBatis Plus是MyBatis的增强工具,在MyBatis的基础上提供了许多便利的功能,包括简化CRUD操作、活动记录、代码生成器等。首先,你需要定义一个Mapper接口,用于声明你要执行的高级查询方法。然后,你需要为自定义的查询方法编写对应的XML映射文件。在这个XML中,你可以使用MyBatis提供的各种XML标签(如。在你的服务层或控制器中,你可以通过注入。

2024-03-04 09:41:30 726 1

原创 SpringSecurity——整合JWT

在第4步中,通过增加JwtFilter过滤器来验证身份,允许前端通过携带正确且未过期的JwtToken进行身份验证,验证时需要同样需要通过LoadUserByUsername方法获取UserDetails对象(Principal对象),然后创建一个UsernamePasswordAuthenticationToken对象给SecurityContextHolder验证,如果和步骤2中写入的authentication一致,即验证成功,正确获取到用户权限。自定义JwtFilter拦截器,

2022-12-30 16:55:16 2510

原创 Springboot——整合Redis

因为Redis的数据以二进制的方式存储,与Java数据不相同,所以直接存入Java数据到Redis中会导致你在使用RedisCli查看数据时,是我们无法看懂的二进制序列化数据,为了解决这个问题,我们需要对Redis配置序列化的方式。还有一种是@Cacheable方法A(),然后使用方法B()去调用方法A,我知道你想要让B调用A时,返回A在Redis中的缓存数据,但这样也是无法做到的。@Cacheable(value, key)中,value是属性名称,key是标识,在RedisCli中应该通过。

2022-12-30 16:49:30 638

原创 Springboot——整合SpringSecurity

认证过程主要是实现AuthenticationManager, AuthenticationManager最重要的实现类是ProviderManager, 通过ProviderManager,可以管理AuthenticationProvider, 每个AuthenticationProvider都对应一种认证方式, 当所有认证方式不支持时,调用ProviderManager的parent认证。如果想要自定义配置,如自定义登录界面、自定义验证过程,或者想要整合一些工具,如Jwt,这个时候需要在。

2022-12-30 16:43:42 3239

原创 手把手教你使用python爬取网络图片并存入本地

1、文章说明声明:本文爬虫的内容是人民网首页的8张自动轮播图,如果发现本人有侵权行为,在下方留言概述:本文将学习urlopen、BeautifulSoup、urlretrieve三个方法,学习后会在人民网首页爬取8张图片,并下载到本地2、方法解析2.1、urlopen先来看看官方的解释'''Open the URL url, which can be either a string or a Request object.'''嗯,很容易理解,只要是个能打开的url就行,urlopen能够打

2021-08-02 15:49:26 3338

原创 ES6进阶Async与Await,你不知道的同步与异步

每日骚话这次我们来说一下同步和异步哈,这个Async和Await都是解决异步时候返回顺序不一致的问题的。简单来说,Async与Await是对Promise的优化,让Promise看起来更美观一些。话说,我用习惯了Promise,刚学Async和Await那会有点懵逼,今儿恍然大悟,就来CSDN水一下哈,顺便供大家参考。说明这里有必要说一下哈,Async和Await还有Promise是在ES6里边的,所以得运行在node里边。另外,Async和Await一般情况下同时出现,光用一个貌似没效

2020-08-09 11:48:20 774

原创 web前端移动开发必须知道那些基础

web前端必须知道的那些基础——移动开发适配概述流行的移动端布局百分比布局rem布局viewportend 骚话概述有一阵子没写博客了,学习了移动开发一段时间,发现从PC网页到Mobile网页还是区别挺大的,PC考虑的事情没Mobile那么多。因为手机端的设备像素实在是乘次不齐,各种各样。今天比较闲一些,就来说一下咱们前端在开发移动网页的时候都需要注意些什么东西。流行的移动端布局首先来说说现在比较流行的布局,一共有4种:百分比布局flex布局rem布局viewport先来讲讲这四个

2020-07-16 18:38:42 454 3

原创 CSS3 高斯模糊与动画效果

CSS3 高斯模糊与动画效果1. 概述2. 高斯模糊说明与语法2.1 高斯模糊说明2.2 blur 语法3. 动画效果3.1 @keyframes 语法3.2 animation 语法4. 实现思路与完整代码4.1 实现思路4.2 完整代码1. 概述今天我们要说的内容是 “高斯模糊” 和 “动画效果”咱先来看看 今天要完成的实验效果看见按钮后面的高亮的光晕了么,那个就是用到了css3里面的高斯模糊!是的,那这个GIF中的效果是如何实现的呢?别急,这并不难,本文章适合接触过CSS的朋友们学习嗷~

2020-06-27 19:34:21 1336 2

原创 canvas 封装一个自己的 icon 库

canvas 封装一个自己的 icon 库1. 概述2. 实验目标3. 实现思路解析与代码3.1 创建文件3.2 实现思路3.3 完整代码4. end1. 概述一个好的前端,是能够在保住性能的同时,让用户有优质的使用体验感,其中,icon就是很重要的一部分可是许多时候,都是直接用PS切图,然后 url 引用现在,有了 canvas,或许你会有不同的选择本文章主要讲述如何简单封装一个自己的icon库,如果对 canvas 非常陌生的朋友,可以看一下我的另一篇文章 《canvas 从入门到入坟》

2020-06-26 11:36:05 710

原创 为type=file的input标签制定样式——CSS基础

为type=file的input标签制定样式1. 概述2. 实验3. 解决方法与解析1. 概述在现在的前端开发中,为了开发的效率,大都会引入第三方库加快开发速度。查阅官方文档,一顿复制黏贴,是的,这就是面向百度、面向谷歌编程,但是基础总是重要的——本文章记录一下之前遇到的小坑,并对其进行解析。2. 实验实验目的:我们想要为type=file的input标签制定样式默认的样式如图<input type="file">现在我们想要改成下图的效果然后我们直接用行内样式来书写&

2020-06-25 16:12:28 1498

原创 canvas 从入门到入坟

文章目录canvas 从入门到入坟1. 概述2. 使用场景2.1 图表的绘制2.2 canvas游戏2.3 说明与作用3. Canvas 入门3.1 完成目标3.2 初始化3.3 语法3.4 绘制4. endcanvas 从入门到入坟1. 概述​ 话说,不会后台的UI设计师不是一个好的前端程序猿,现在,前端的标准越来越高,不仅要求逻辑严谨,代码优美,性能强大,还要求界面美观。​ 其中,canvas就是为美而生的,canvas的功能强大,< canvas >本身并没有绘图功能,它的绘制

2020-06-24 18:04:15 2549

原创 三分钟带你看懂prototype原型——ES6进阶

三分钟带你看懂prototype原型——ES6进阶1. prototype 定义2. new 构造函数3. 存储4. prototype 作用1. prototype 定义在JS中的类的实现是基于Prototype的,基于原型的继承比基于类的继承在概念上更为简单:一个新对象可以继承一个旧对象的属性2. new 构造函数代码很短很简单,要看完嗷~// 源于黑马视频教程function Star(uname,age){ this,uname = uname; this.age =

2020-06-23 15:59:35 712

原创 ES6快速入门——类与对象

ES6快速入门——类与对象1. 类1.1 定义类1.2 构造函数1.3 属性与方法1.3.1 属性1.3.1 方法1.4 继承1.5 重写1.6 super2. 对象2.1 创建实例2.2 调用对象中的方法1. 类1.1 定义类关键字:classclass People{ }1.2 构造函数关键字:constructor说明:构造函数在对象创建的时候就会自动调用class People { constructor() { console.log('构造函数被调用了') }}1.

2020-06-11 23:40:31 295

原创 三分钟带你弄懂slot插槽——vue进阶

文章目录三分钟带你弄懂slot插槽——vue进阶一、概述程序员之死什么是 slot插槽?2.6.0 版本中的 slot二、具名插槽例子效果图代码三、小惊喜三分钟带你弄懂slot插槽——vue进阶一、概述当然,你可以先看完例子之后再回来看概述或者官方文档程序员之死在项目的开发中,代码冗余一直是程序员头疼的事情小白程序员必会遇到的情况之一,就是写一个大项目,然后无限的 ctrl+c 和 ctrl-v,到差不多项目DDL了,甲方告诉你要改这个地方,要改那个地方,然后你就又一波 ctrl+c 和 ctr

2020-06-09 19:50:27 1136

原创 小红书面试题——paddingNum,用逗号分割数字串

paddingNum额,这名字不是我命名的,但是也挺形象的吧,那就叫 paddingNum 吧题目是这样的将数字串分割,每隔3位用逗号隔开eg: 1234 => 1,234;eg: 1234.5678 => 1,234.567,8toLocaleString第一题,1234,这个好解决啊,toLocaleString函数就解决了Number(1234).toLocaleString() //1,234第二题,1234.5678,问题来了Number(1234.567

2020-06-05 09:39:33 606

原创 settimeout(fn(),0)

settimeout(fn(),0)总所周知,settimeout 函数是用来做延时的,如settimeout(()=>{console.log('show content')},1000)很容易理解,结果是在一秒后打印出 show content可是,settimeout 设置的时间是 0,这什么鬼?settimeout(()=>{console.log(1)},0)console.log(2)像如上的代码,正常的思维都会想到,打印的结果为 1 2然而,其打印的结果实际是

2020-06-04 19:17:18 212

原创 HTML CSS 响应式-菜单

响应式-菜单titlemeta是safari搞的<meta content="width:device-width;initial-scale:1.0">用两个样式表来写响应式布局,也就是要两套css来制作响应式布局<link media="min-width=560px" href="decktop.css"><link media="max-width=560px" href="mobile.css"><!--这里的media最后我用@media

2020-06-04 14:55:34 736

原创 Promise 用法

Promise 用法promise 是 ES6 中用于解决因异步而产生顺序错误问题的方法。为什么要用Promise?举个简答的例子:比如说,你要发一个请求来获取所有 Person 对象,每个 Person 对象中有一个字段 perId,fn_getPerson(){ this.axios.get('/person').then(res=>{ console.log(res.data) // 返回Person对象:Person:{ perId:1 } })}

2020-05-17 20:26:20 274

原创 跨域请求 CORS

跨域请求失败跨域的问题,是很多开发人员都要经历过的。我想,像这样这样的错误你应该已经见过了吧。Access to XMLHttpRequest at ‘http://localhost:8083/g628/About/Get.php’ from origin ‘http://localhost:8080’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the request

2020-05-16 12:47:27 353

原创 matlab 图像分割

matlab图像分割什么是图像分割固定阈值分割自适应阈值分割分割效果增强平滑处理什么是图像分割将数字图像划分成不相交,不重合的区域的过程就叫图像分割。这很像PhotoShop里面的快速选取工具,判断边界,分割边界。固定阈值分割先上效果图这里阈值我手动设置成了0.35,当然,你也可以通过“最大类间方差法”(OTSU)来找到一个最佳阈值。OTSU:找到灰度直方图中两峰之间的最低点作为阈值。%固定阈值分割%原图I = imread('coins.png');subplot(221);ims

2020-05-13 16:03:33 1461

原创 基于vue axios element-ui 的 demo

什么是axios? axios是一个基于Promise的HTTP库,能在浏览器和NodeJS中使用。axios特性?从浏览器中创建XMLHttpRequests 从 node.js 创建http请求 支持PromiseAPI 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换 JSON 数据 客户端支持防御XSRF以上来自@ https://www.kancloud.cn/yunye/axios/234845咱们看一下哈...

2020-05-10 11:03:14 356

原创 如何打开别人发布的vue项目---express的使用方法

Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。现在来说说express的基本用法安装首先你要有npm,或者cnpm,然后执行npm install -g express-generator安装Express管理器初始化express dirname安装模块np...

2019-12-19 16:50:55 680 1

原创 php抽象类继承

php抽象类跟java、c++什么的就很相似了php抽象类有以下几个特点:1. 抽象类继承抽象类时,不能重写父类中的抽象方法2. 非抽象类继承抽象类时,必须实现抽象类中的所有方法3. 至少有一个抽象方法的类就是抽象类下面我们用代码来简单演示一下<?php /** * Person抽象类 */ abstract class ...

2019-06-14 10:29:42 961

原创 关于php反射机制的一些理解

//=====纯属是个人的理解,不一定正确,请谅解======关于php的反射机制,php反射机制的最大的用处是通过一个实例化的对象来获取对象所属类的一些信息,而可以通过该对象所属类的相关信息来对对象进行别的操作。下面我用一个例子来理解一下php的反射机制首先先定义一个Person类,类里面有$name,$age,$sex的属性以及它们的get和set方法,这个很容易。/*...

2019-06-10 15:48:36 232

空空如也

空空如也

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

TA关注的人

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