草庐IT

day_number

全部标签

(day two)基于Gateway网关拦截器和Redis实现单点登录和认证

目录登录验证方式的选择1.最原始的基于session的方式2.基于jwt的方式3.jwt加redis的方式 编写User服务token工具类和依赖redis依赖和配置编写拦截器1.将user服务添加到gateway网关路由2.编写拦截器和判断逻辑验证一下功能登录验证方式的选择 在此之前我了解过三种登录验证方式,那么为什么选择JWTtoken+redis,我们来分析一下。1.最原始的基于session的方式 当我们登录成功时后端会将用户的登录凭证存于session域当中,下次如果用户发起请求,就会带着cookie去session中寻找用户信息,如果存在则验证成功,并且登录过期时间也是tomcat

c - 为什么 TCP 保活数据包不触发 I/O 事件?是不是因为没有payload或者sequence number比connection的sequence number小1

我想让我的应用层在我的服务器收到KeepAlive数据包时得到通知。我想知道KeepAlive数据包不触发I/O事件的原因是什么。是因为TCPKeepAlive包没有数据还是sequencenumber比connectionsequencenumber小1。我做了一些测试让我的客户发送KeepAlive数据包。我的服务器使用epoll但没有被触发。我还想知道如果我填充一个字节来保持事件数据包数据/有效负载,我的应用程序会收到通知/I/O事件/触发Epoll吗? 最佳答案 你不应该对此感到惊讶。例如,您也不会收到RST数据包的通知。这

(未完)7天快速上手OpenHarmony应用开发 | Day4 JS FA、常用组件和自定义组件(一)

学习来源前置是一些前端的东西基于之前创建的项目开发一个最常见的表单一、Text文本组件,用于呈现一段文本信息支持Span子组件1.创建Text组件在pages/second目录下.hml文件中创建一个Text组件textstyle="front-size:30px;margin-bottom:20px;margin-top:100px">/text>2.Span子组件使用Span子组件时,Text组件内不能存在文本内容在上面的Text组件中创建textstyle="front-size:30px;margin-bottom:20px;margin-top:100px"> span>Form表单

学习day59

昨天学了插槽,但是没有即笔记了今天的是vuex总体来说,vuex就是一个共享单车,每个人都可以使用他,也可也对他进行反馈。即把一个数据列为vuex,然后每个组件可以使用这个对象,也可也反过来反馈他这一个设计是将A组件的一个数据作为公共来共享求和案例,纯vue版APP.vue importCountfrom'./components/Count' exportdefault{ name:'App', components:{Count} }Count.vue 当前求和为:{{sum}} 1 2 3 + - 当前求和为奇数再加 等一等再加 export

Java多线程学习(Day02)

目录线程简介线程实现(重点)线程状态线程同步(重点)线程通信问题线程实现:方式一:继承Thread类/***TODO*@author清莲孤舟*@CreateDate2023/9/17/9:28*创建线程的方式一:通过继承Thread类实现*///继承Thread类publicclassdemo01extendsThread{//重写run方法@Overridepublicvoidrun(){for(inti=0;i){System.out.println("副线程"+i);}}//main主线程publicstaticvoidmain(String[]args){demo01demo01=ne

鸿蒙开发学习 day02

***对昨天项目三(practice)的一个修改。***前面说到找了很久也没有找到简单实现横向排列的方法,其中我还在官方文档里找到了有关overflow:scroll的这么一段描述,描述说它只支持纵向。其实这样说不是很准确。如果直接在最外层使用确实不会成功,不过今天试着在外面套一层,在这一层里加上overflow:scroll后发现是可以做到横向排列的。这种做法在手机、手表等设备都是支持的。下面是今天学习的内容。项目一(day02one):实现一个轮播图轮播组件是swiper,autoplay表示自动播放,indicator表示导航指示器,至于更具体的属性可以看开发文档。这里轮播的是几张图片,

LeetCode练习day5-滑动窗口

滑动窗口(SlidingWindow)滑动窗口指的是这样一类问题的求解方法,在数组上通过双指针同向移动而解决的一类问题。其实这样的问题我们可以不必为它们专门命名一个名字,它们的解法其实是很自然的。使用滑动窗口解决的问题通常是暴力解法的优化,掌握这一类问题最好的办法就是练习,然后思考清楚为什么可以使用滑动窗口。滑动:窗口可以按照一定的方向移动。窗口:窗口大小可以固定,也可以不固定,此时可以向外或者向内,扩容或者缩小窗口直至满足条件。介绍滑动窗口是一种解决问题的思路和方法,通常用来解决一些连续问题。比如LeetCode的209.长度最小的子数组。更多滑动窗口题目见下方题目列表。常见套路滑动窗口主要

LeetCode 2605. Form Smallest Number From Two Digit Arrays【数组,哈希表,枚举;位运算】1241

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的仓库:https://github.com/memcpy0/LeetCode-Conquest。在这一仓库中,你不仅可以看到LeetCode原题链接、题解代码、题解文章链接、同类题目

力扣算法刷题Day42|动态规划:01背包问题 分割等和子集

力扣题目:01背包问题(二维数组)刷题时长:参考题解解题方法:动态规划+ 二维dp数组复杂度分析时间空间问题总结理解递推公式困难本题收获动规思路:两层for循环,第一层i遍历物品,第二层j枚举背包容量以内所有值确定dp数组及下标的含义:dp[i][j]表示从下标为[0-i]的物品范围中任意取,放进容量为j的背包后价值总和的最大值确定递推公式:dp[i][j]=max(dp[i-1][j],dp[i-1][j-weight[i]]+value[i])当背包容量小于物品重量,不放物品,此时价值总和为dp[i-1][j]。即当物品i的重量大于背包j的重量时,物品i无法放进背包中,所以背包内的价值依然