谷粒商城(学习笔记)

news2024/11/24 3:00:06

配置刷新的注解

数据表中不存在的数据

gateway路径重写

CORS跨域

调整路由顺序:

TODO是什么:备忘录

逻辑删除

axios有请求缓存:

请求的模版!

删除成功后,重新获取数据!

删除成功之后,还有提示消息

删除成功以后还要展开父节点

新增的对话框:

在表单中,嵌套form表单

添加效果,添加之后,

保存成功:后端联调

保存成功后,关闭对话框!

设置需要默认展开的菜单:

复用对话框

alt + shift + f:VSCode的快捷键!

实现拖拽:

前端的,

递归找到当前子节点的最大的深度!

实现拖拽,怎么

批量删除:

前端两小时,后台5分钟!

后端可能要顺手做个后台管理系统,面向管理的!前端做的前端是面向公众的!

逆向生成工程是可以生成前端的CRUD的!

在数据库中,只是保存图片的url地址

解构!

好像和MinIO有关!

文件上传的实现:(也要解决跨域的问题)

前端表单校验:

表单校验:会用到正则表达式!

服务器也要进行表单校验!比如,用postMan提交表单数据,这样就不安全了!

启动校验注解的注解

全局异常处理,不用BindingResult了,这样的话,controller层的代码就更简洁了

返回的是JSON格式的数据类型,也可以返回ModelAndView

当异常非常多的时候,异常的状态码就非常的有用了

用枚举来封装业务状态码!

以上是统一异常处理

分组异常处理:

分组校验

更新和插入的校验可能不一样

Validated是spring提供的注解,分组之后,你就要制定每个注解的组了,不然的话,不会起作用的!

自定义校验注解没看懂!

前端组件抽取,父子组件的交互!

怎么会有那么多的陌生的方法!

获取分类属性分组!

什么是级联选择器?

分页插件,估计是和前端的分页是有关系的

多对多,关联分类

大表查询,从不做关联查询

关联关系,真的很好使

关联分类

同步更新,关联表中的品牌信息!

关联表的,

这可能在电商的项目中还是比较常用的!

View Object

告诉Mybatis这个属性不属于表里面的属性!

这样写是不规范的!

出现笛卡尔积,是联表查询可能出现的问题!

笛卡尔积:

新增商品的保存,怎么这么离谱呀!

调用远程服务

对照接口文档,实现的接口!

微服务,可以并行开发!

注册中心,服务的注册与发现

配置中心:配置中心,

Gateway网关,解决跨域的问题!

逆向工程,主要解决CRUD的问题!我们要解决的是高并发的问题!

SpringCloud

ElasticSearch怎么会有乐观锁的修改呢!?

性能压测

缓存

先是操作mysql,然后引入redis操作数据

将数据导入到redis之后,就会直接从redis中查询数据

分布式锁
SpringCache是干嘛的

CSS和HTML以及JavaScript我看是逃不掉了!

nginx

thymeleaf估计也是逃不掉了,再过几天,可能就不能来图书馆了!

商城业务的检索才是最恶心的!

主要是,前端的代码我还不是很清楚!

检索服务

商品详情

认证服务----异常机制,密码的加密存储,

可逆的加密

不可逆的加密(密码!!!,即使知道密码的加密算法,也不能得到密码 )

盐值,什么东西呀 !

登录怎么这么费劲呢?

从定向:可能会防止,表单的重复提交

分布式下的session问题!

我要怎么做呀 !令牌机制

真的好无语呀!?

使用code换取token只能使用一次!

accessToken一段时间内是不变的!

处理社交登录请求!

社交登录第一次也要自动注册!

过期时间!

视图映射

我还能说些什么呢?

JSON还能转成对象!

分布式session共享的问题!

SpringSession

装饰者模式

单点登录:

购物车功能!

我还能说点啥呢!

怎么会有拦截器呢!

过滤器是个鸡毛呀!

RabbitMQ消息队列!

订单服务是比较复杂的!

类似的!

还是和12306的买票比较像的

拦截器,登录检测

相比于改变世界,

订单服务是会用到多线程的!

库存查询、运费

改域名

提交订单、接口幂等性(提交一次和提交100次是一样的)

锁定库存

、、

多次按钮点击!

令牌机制

TODO

锁定库存

令牌校验

秒杀服务

本地在分布式的问题!分布式事务!

分布式事务,这玩意怎么这么复杂!

分布式事务的解决方案

订单服务的定时任务:

消息队列

延时队列

死信队列

rabbitMQ定时任务,

消息队列真的很好使呀!

延时队列

消息丢失

支付宝沙箱!

内网穿透

内网穿透,什么是内网穿透呀!

怎么一直再将RabbitMQ呀!

收单

什么是收单呀!

秒杀,单杀是吧!

秒杀商品,高并发是吧!

秒杀是吧!

真的服了!

我是真的服了!

哎呀,到底该怎么办呢!?

到底该怎么办呢!?

定时任务

我喜欢定时任务

RSemaphore是什么类呀

这就秒杀成功了是吗?

我还是没有看懂呀!

SpringCache缓存

王兴长得就很一般呀!主要还是家里很有钱!

成熟之爱,爱与被爱,都应该被感恩!

汗水是滋润灵魂的甘露双手是理想飞翔的翅膀

powerDesigner是什么呀?

数据库的设计有个最大的特点就是,没有建立外键,所有的表之间关系再复杂,也没有建立外键!在电商系统里面,数据量超大,做外键关联的话,非常耗费数据库的性能的操作!每张表都有几十万几百万的数据,每插入删除一条数据,数据库都要对外键进行检查,来保证数据的一致性和完整性。

雷丰阳老师的逆向工程还可以生成前端的vue代码!

shift+F6重命名modle的名称

远程调用微服务,微服务和分布式的区别!

后台管理系统!

sentinel流量控制、限流!

链路追踪技术!

逆向工程搭建

mybatis-plus

git和版本控制!

Spring Data、Spring Security

分布式和微服务真的是一座大山!

熟悉Java虚拟机原理、JVM分布式系统、Redis、MySQL、Spring、JavaScript、Dubbo 和RPC有关!

SpringMVC、zookeeper、mybatis、python、springcloud、linux、rabbitmq、操作系统、编译原理、计算机网络、服务器开发、tcp/ip协议:

(四)TCP/IP协议的链路层

链路层有时也称作数据链路层或网络接口层,用来处理连接网络的硬件部分。该层即包括操作系统硬件的设备驱动、NIC(网卡)、光纤等物理可见部分,还包括连接器等一切传输媒介。

(三)TCP/IP协议的网络层

TCP/IP协议网络层的作用是在复杂的网络环境中为要发送的数据找到一个合适的路径进行传输。简单来说,网络层负责将数据传输到目标地址,目标地址可以是多个网络通过路由器连接而成的某一个地址。另外,网络层负责寻找合适的路径到达对方的计算机,并将数据帧传送给对方,网络层还可以实现拥塞控制、网际互联等功能。网络层协议的代表包括:ICMP、IP等。

(二)TCP/IP协议的传输层

传输层的协议,解决了诸如端到端可靠性问题,能确保数据可靠的到达目的地,甚至能保证数据按照正确的顺序到达目的地。传输层的主要功能大致如下:

(1)为端到端连接提供传输服务;

(2)这种传输服务分为可靠和不可靠的,其中TCP是典型的可靠传输,而UDP是不可靠传输;

TCP协议是一个面向连接的、可靠的传输协议,它提供一种可靠的字节流,能保证数据完整、无损并且按顺序到达。TCP尽量连续不断地测试网络的负载并且控制发送数据的速度以避免网络过载。另外,TCP试图将数据按规定的顺序发送。

UDP协议是一个无连接的数据报协议,是一个“尽力传递”和“不可靠”协议,不会对数据包是否已经到达目的地进行检查,并且不保证数据包按顺序到达。

(一)TCP/IP协议的应用层

应用层包括所有和应用程序协调工作,并利用基础网络交换应用程序的业务数据的协议。一些特定的程序被认为运行在这个层上,该层协议所提供的服务能直接支持用户应用。应用层协议包括HTTP(万维网服务)、FTP(文件传输)、SMTP(电子邮件)、SSH(安全远程登录)、DNS(域名解析)以及许多其他协议。

elasticsearch:

mongoDB : 非关系型数据库。

存储文档(BSON)的关系型数据库。

用集合代替了表。

登录、鉴权、认证、AOP、Redis的使用

日志

表单重复提交:幂等性问题(多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。)

防止xss攻击(跨站脚本攻击,是最常见的web应用程序安全漏洞之一。在绝大多数网络攻击中都是把XSS作为漏洞链中的第一环,通过XSS,可以拿到用户浏览器的cookie,从而盗取用户的账号密码,进行非授权获取关键的隐私信息。)

项目的核心的复杂的业务???

 

 

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

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

相关文章

八大排序--08快速排序

现有 arr {4,8,9,2,7}数组,请用快速排序的方式实现从小到大排序: 方法: 1.定义待排序数组中的第一个值为基准数; 2.定义j游标,从后向前移动找到第一个比基准数小的值停下; 3.定义i游标,从后向…

自定义注解和组件扫描在Spring Boot中动态注册Bean(一)

​ 博客主页: 南来_北往 系列专栏:Spring Boot实战 在Spring Boot中,自定义注解和组件扫描是两种强大的机制,它们允许开发者以声明性的方式动态注册Bean。这种方式不仅提高了代码的可读性和可维护性,还使得Spring Boot应用的…

区域识别——基于python语言

目录 目录 1.水域识别 2.模型介绍 3.文件框架 4.代码示例 4.1 data_preprocess.py 4.2 model1.0.py 4.3 train2.0.py 4.4 predict.py 4.5 运行结果 5.总结 1.水域识别 人眼看见河道可以直接分辨出这是河道,但是如何让计算机也能识别出这是河道呢&#x…

无序中的秩序:Transformer模型的创新性结构解析

最近我在看论文时,发现很多都在用 Transformer 模型,我知道transformer很有名,但是我也只是听说过他的大名,不知道他具体是做什么怎么做的,因此我决定深入了解一下,并做个简单记录,方便以后参考…

TDC上YARN Web-UI 查看application日志方法

方法一 #通过浏览器访问tdc,访问的工作节点对于TDC都是外部节点。在提交给yarn任务后,YarnRM的Web UI 可以展示yarnnm上运行的application日志,但是由于跳转的svc地址,无法直接访问。 #在tdc界面上找到yarn实例,进入ya…

【Scala入门学习】集合常用方法和函数操作

1. foreach循环遍历 foreach 方法的原型: // f 返回的类型是Unit, foreach 返回的类型是Unit def foreach[U](f: Elem > U) 该方法接受一个函数 f 作为参数, 函数 f 的类型为Elem > U,即 f 接受一个参数,参数…

达梦数据库(DM)单机典型安装

达梦数据库(DM)单机典型安装 环境:centos7.6 1、创建用户 #增加用户和组,用于安装管理达梦数据库。 新建用户组:groupadd dinstall 新建用户:指定用户组,家目录,shell。useradd -g…

反转链表解题思路

题目描述 给定一个单链表的头结点pHead,长度为n,反转该链表后,返回新链表的表头。 示例:当输入链表{1,2,3}时,经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。 解题思路:迭…

股市大涨下的会展业创新者

近期,股市涨势强劲有力,各大指数普遍上扬,市场活力空前。与此同时,伴随全球经济逐步复苏及会展行业不断发展,上市展览公司机遇与挑战并存。国内外市场需求持续增长拓展了广阔发展空间,但同时行业竞争愈发激…

中国宏观经济与产业发展:挑战与机遇并存

#长沙屿# 在复杂多变的国内外经济形势之下,中国经济已然步入一个至关重要的发展阶段。今日,让我们深入剖析当前经济形势,对中国宏观经济的运行现状及产业发展的趋势展开深度探讨。 2024年,中国经济运行总体平稳、稳中有进&#x…

职场启悟:没有靠山的你,45岁前必知的5大潜规则

我是农村孩子,父母都是农民,毕业一切都是靠着自己找工作,在陌生的大城市除了认识老师就是同学。记得那是我初入职场的第三个月,每天我都沉浸在无尽的工作中,加班到深夜,周末也时常无休。我觉的农村孩子只能…

Chainbase :链原生的 Web3 AI 基建设施

“随着 Chainbase 在生态系统和市场方面的进一步拓展,其作为链原生 Web3 AI 基建设施的价值将愈发显著。” 算法、算力和数据是 AI 技术的三大核心要素。实际上,几乎所有的 AI 大模型都在不断革新算法,以确保模型能够跟上行业的发展趋势&…

机器学习中的模型设计与训练流程详解

目录 前言1. 模型设计1.1 数据特性分析1.2 计算资源限制1.3 应用场景需求 2. 模型训练2.1 训练集与验证集的划分2.2 损失函数的选择2.3 模型参数更新 3. 优化方法3.1 梯度下降法3.2 正则化方法 4. 模型测试4.1 性能评估指标4.2 模型的泛化能力 5. 模型选择5.1 数据规模与模型复…

怎么提取人声去掉背景音乐?人声提取秘籍:去掉背景音乐的技巧

在数字化时代,音频处理变得越来越普遍,我们经常需要从一段音频或视频中提取出纯净的人声,而去除掉背景音乐或其他杂音。这种需求在视频编辑、音乐制作、甚至在学习和娱乐中都十分常见。本文将介绍几种简单易行的方法,帮助你轻松提…

【Spring】获取 Cookie和Session

回顾 Cookie HTTP 协议自身是属于“无状态”协议 无状态:默认情况下,HTTP 协议的客户端和服务器之间的这次通信和下次通信之间没有直接的联系 但是在实际开发中,我们很多时候是需要知道请求之间的关联关系的 例如登录网站成功后&#xff…

抖音小游戏画图位置移动

文章目录 画图移动图形位置 画图 const canvas tt.createCanvas(); const context canvas.getContext(2d);context.width 500; context.height 500;let isPressing false; // 是否按下 let startX 0; let startY 0;context.fillStyle "#f00"; context.fillR…

@zabbix监控网站黑链接监控及数据推送

zabbix监控网站黑链接及数据推送 文章目录 zabbix监控网站黑链接及数据推送1.检测脚本1》编写python脚本2》脚本执行 2.数据推送1》方案一2》方案二 3.zabbix web 1.检测脚本 1》编写python脚本 创建脚本check_black_links.py,使用python脚本实现网站黑链接检测&a…

93. 复原 IP 地址【回溯】

文章目录 93. 复原 IP 地址解题思路Go代码 93. 复原 IP 地址 93. 复原 IP 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.1.2.201" …

Datawhale组队学习|全球AI攻防挑战赛——赛道二:AI核身之金融场景凭证篡改检测

目录 前言Baseline代码解读 前言 Datawhale 2024.10 组队学习来了!这次选择的是动手实践专区——CV方向——“全球AI攻防挑战赛—赛道二:AI核身之金融场景凭证篡改检测”。 Baseline代码解读 1、读取数据集 !apt update > /dev/null; apt install…

美团测试面试真题学习

美团真题1–测试基础-业务场景说下你的测试用例设计 功能角度 方法论 边界值、等价类划分、错误推测法示例 输入已注册的用户名和正确的密码,验证是否登录成功;输入已注册的用户名和不正确的密码,验证是否登录失败输入未注册的用户名和任意密码&#xff…