2.项目疑问

news2024/11/19 11:17:28

Day01

1.前后端分离项目的全局异常处理怎么做

使用@ControllerAdvice+@ExceptionHandler(类.class)来实现异常处理

@ControllerAdvice: Controller增强器。将异常处理器应用到所有的控制器

@ExceptionHandler:异常处理器,只要发生异常就会捕捉。根据异常类型不同做不同的处理

@ResponseBody:将异常直接写入到HTTP响应体中。

 

2.用户自定义异常怎么实现的

自定义异常类继承RuntimeException,属性是枚举类型,里面有各种异常信息。通过有参构造器构造。

throw new CustomException(异常信息)

 

Day02

1.用户登录是怎样设计的,怎样保证密码的安全呢?

①在service里调用mapper的方法根据id获取对象user

②如果user为空,那么账号不存在。然后判断密码是否错误,账号是否锁定,是否有权限

③然后根据用户id根据jwt生成token,返回给前端调用

密码安全:

通过密码+盐(随机生成字符串),然后生成MD5(密码MD5+盐)

2.你项目用到的nacos的作用是什么

①nacos是注册中心,配置管理。让程序读取配置的

②nacos的地址是保存在项目的bootstrap.yml,优先级高。

③nacos配置更新,程序无需重启。所以需要将运行调整的参数放在nacos配置中心

3.用户登录jwt怎样生成的token

①首先创建HashMap,存储JWT的声明claim。把用户id存放在这个声明里面。

②通过Jwts工厂类创建一个JWT构建器

③JWT的唯一标识UUID,根据当前时间设置JWT的签发时间,设置主题,签发者,接收者,通过密钥进行签名,一个小时过期。

④将创建的声明claim(用户id)加入到jwt的body

JWT用户身份验证和信息传递,包括用户自定义的id,过期时间,接收者等信息

4.你用过哪些接口测试工具

①postman

②swagger

③knife4j

Day03

1.项目的网关是怎样配置的,网关的作用是什么

①导入依赖

gateway

nacos-discovery

nacos-config

②创建配置文件bootstrap.yml,包括服务的基本信息,nacos地址,路由

③在nacos里面进行yml配置

端口请求访问的是网关,基于路由规则判断,拉取服务列表,进行负载均衡发送请求。

2.全局拦截器jwt是怎样设计的

       /**实现Ordered,GlobalFilter接口

        * 全局路由:

        * 1.根据请求体的路径,如果是login那么就放行。

        * 否则

        * 1.通过请求头获取token

        * 2.如果token为空,请求拦截

        * 3.token不为空,根据claims判断是否过期,如果过期就拦截,不过期就放行。

        */

3.Nginx的作用是什么

①通过反向代理访问后台的网关资源

②通过静态服务器访问前端静态页面

Day04

1.滚屏分页的逻辑是怎样实现的?

加载上面的最  发表时间>0

加载下面的更  发表时间<2053

 

2.为什么文章表要拆分?

垂直拆分:将一个表的字段分散到多个表中,每个表保存一部分字段

优势:

①减少IO争抢,减少锁表的几率。查看文章概述和文章详情不影响

②高频数据的操作效率,对文章概述的操作高效率不会被操作文章详情低效率拖累。

拆分规则:

①不常用的放一个表

②经常查询的放一个表

③把大字段放一个表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1221717.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年(第六届)电力机器人应用与创新发展论坛-核心PPT资料下载

一、峰会简介 大会以“聚焦电力机器人创新、助力行业数字化转型、促进产业链协同发展”为主题&#xff0c;展示电力机器人产业全景创新技术&#xff0c;探讨数字化战略下电力机器人应用前景和发展趋势。为加快推进电力机器人应用拓新&#xff0c;助力电网数字化转型升级&#…

编译中的 CMP0148 警告

原因&#xff1a;CMake 3.12后&#xff0c; FindPythonInterp 及 FindPythonLibs被废弃 解决方法&#xff1a;使用 FindPython3、FindPython2、FindPython替换 实例&#xff1a;CMakeLists.txt中修改即可&#xff0c;如下图

【FPGA】Verilog:升降计数器 | 波纹计数器 | 约翰逊计数器 | 实现 4-bit 升降计数器的 UP/DOWN

目录 Ⅰ. 理论部分 0x00 升降计数器&#xff08;UP DOWN Counter&#xff09; 0x01 波纹计数器&#xff08;Ripple Counter&#xff09; 0x02 约翰逊计数器&#xff08;Johnson Counter&#xff09; Ⅱ. 实践部分 0x00 实现&#xff1a;升降计数器&#xff08;4-bit&…

基于java web的中小型人力资源管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

计算机毕业论文内容参考|基于深度学习的交通标识智能识别系统的设计与维护

文章目录 导文摘要前言绪论1课题背景2国内外现状与趋势3课题内容相关技术与方法介绍系统分析总结与展望导文 基于深度学习的交通标识智能识别系统是一种利用深度学习模型对交通标识进行识别和解析的系统。它可以帮助驾驶员更好地理解交通规则和安全提示,同时也可以提高道路交通…

JAVA生成图片缩略图、JAVA截取图片局部内容

JAVA生成图片缩略图、JAVA截取图片局部内容 目前&#xff0c;google已经有了更好的处理JAVA图片的工具&#xff0c;请搜索&#xff1a;Thumbnailator JAVA生成图片缩略图 package com.ares.image.test;import java.awt.Color; import java.awt.Graphics; import java.awt.Im…

Java中利用OpenCV进行人脸识别

OpenCV 概述 ​ OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源计算机视觉库&#xff0c;它提供了丰富的工具和算法&#xff0c;用于处理图像和视频数据。该库由一系列高效的计算机视觉算法组成&#xff0c;涵盖了许多领域&#xff0c;包括目…

K8S1.23.5部署(此前1.17版本步骤囊括)及问题记录

应版本需求&#xff0c;升级容器版本为1.23.5 kubernetes组件 一个kubernetes集群主要由控制节点&#xff08;master&#xff09;与工作节点&#xff08;node&#xff09;组成&#xff0c;每个节点上需要安装不同的组件。 master控制节点&#xff1a;负责整个集群的管理。 …

Pytorch torch.dot、torch.mv、torch.mm、torch.norm的用法详解

torch.dot的用法&#xff1a; 使用numpy求点积&#xff0c;对于二维的且一个二维的维数为1 torch.mv的用法&#xff1a; torch.mm的用法 torch.norm 名词解释&#xff1a;L2范数也就是向量的模&#xff0c;L1范数就是各个元素的绝对值之和例如&#xff1a;

RMI协议详解

前言特点应用示例存在的问题应用场景拓展 前言 RMI&#xff08;Remote Method Invocation&#xff0c;远程方法调用&#xff09;是Java中的一种远程通信协议&#xff0c;用于实现跨网络的对象方法调用。RMI协议基于Java的分布式计算&#xff0c;可以让客户端程序调用远程服务器…

MIB 6.1810实验Xv6 and Unix utilities(5)find

难度:moderate Write a simple version of the UNIX find program for xv6: find all the files in a directory tree with a specific name. Your solution should be in the file user/find.c. 题目要求&#xff1a;实现find &#xff0c;即在某个路径中&#xff0c;找出某…

Babyk勒索病毒数据集恢复,计算机服务器中了babyk勒索病毒怎么办?

计算机网络技术的不断应用&#xff0c;为企业的生产运营提供了极大便利&#xff0c;网络技术的不断发展也带来了许多网络安全隐患&#xff0c;近期&#xff0c;云天数据恢复中心陆续接到许多企业的求助&#xff0c;企业的计算机服务器遭到了babyk勒索病毒的攻击&#xff0c;导致…

nodejs+vue杰和牧场管理系统的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计

系统涉及的对象是奶牛。 系统使用员工有管理员和普通员工。 管理员有修改的权限&#xff0c;普通员工没有。系统包含新闻功能&#xff0c;最好是有个后台管理&#xff0c;在后台输入新闻标题和内容&#xff0c;插入图片&#xff0c;在网页上就可以展示。最好再有个轮播图。 新闻…

我的 2023 秋招总结,拿到了大厂offer

2023秋招小结 前言 & 介绍 作为2024年毕业的学生&#xff0c;在2023年也就是今年秋招。 现在秋招快结束了&#xff0c;人生可能没有几次秋招的机会&#xff08;应该就一次&#xff0c;最多两次吧哈哈&#xff09;&#xff0c;也有一点感悟&#xff0c;所以小小总结一下。…

基于SSM的项目管理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

requests爬虫IP连接初始化问题及解决方案

问题背景 在使用HTTPS爬虫IP连接时&#xff0c;如果第一次请求是chunked方式&#xff0c;那么HTTPS爬虫IP连接将不会被初始化。这个问题可能会导致403错误&#xff0c;或者在使用HTTPS爬虫IP时出现SSL错误。 解决方案 为了解决这个问题&#xff0c;我们可以在requests库的ada…

从傅里叶变换,到短时傅里叶变换,再到小波分析(CWT),看这一篇就够了(附MATLAB傻瓜式实现代码)

本专栏中讲了很多时频域分析的知识&#xff0c;不过似乎还没有讲过时频域分析是怎样引出的。 所以本篇将回归本源&#xff0c;讲一讲从傅里叶变换→短时傅里叶变换→小波分析的过程。 为了让大家更直观得理解算法原理和推导过程&#xff0c;这篇文章将主要使用图片案例。 一…

sqlite与mysql的差异

差异点 安装过程&#xff1a;MySQL服务器通常需要单独安装&#xff0c;这涉及下载适用于特定操作系统的MySQL安装程序&#xff0c;运行安装程序并按照指示完成安装过程。SQLite作为嵌入式数据库&#xff0c;可以直接使用其库文件&#xff0c;不需要单独的安装过程。 配置和管理…

虚拟局域网VLAN_基础知识

虚拟局域网VLAN的概述 一. 虚拟局域网VLAN的诞生背景 将多个站点通过一个或多个以太网交换机连接起来就构建出了交换式以太网。 交换式以太网中的所有站点都属于同一个广播域。 随着交换式以太网规模的扩大&#xff0c;广播域也相应扩大。 巨大的广播域会带来一系列问题: 广…

【案例分享】BenchmarkSQL 5.0 压测 openGauss 5.0.0

一、前言 本次BenchmarkSQL 压测openGauss仅作为学习使用压测工具测试tpcc为目的&#xff0c;并不代表数据库性能如本次压测所得数据。实际生产性能压测&#xff0c;还需结合服务器软硬件配置、数据库性能参数调优、BenchmarkSQL 配置文件参数相结合&#xff0c;是一个复杂的过…