Java

springboot集成swagger,自动生成接口文档

1.引入swagger的自动装配依赖的starter架包 自动装配原理:https://blog.csdn.net/a1405/article/details/123177177   2.通过spring java config配置swagger package com.springweb.demo.config; import cn.hutool.core.util.Rand

Sentinel系列之(九)服务熔断

服务熔断 Sentinel整合Ribbon和OpenFeign @SentinelResource的fallback 1. Ribbon系列 1.1 服务提供者 新建cloudalibaba-provider-payment9003和cloudalibaba-provider-payment9004 9003和9004是一样的,以9003为例 建Module【cloudalibaba-prov

Sentinel系列之(八)@SentinelResource

@SentinelResource 相当于Hystrix中的@HystrixCommand 1. 按资源名称限流 环境说明 启动了单机版的Nacos 启动了Sentinel 基于项目cloudalibaba-sentinel-service8401 继续改造 增加RateLimitController 使用 ​ 项目启动后,由于使用了@SentinelResource,在簇点链路 下

Sentinel系列之(五)降级规则

降级规则 官网:https://sentinelguard.io/zh-cn/docs/circuit-breaking.html 1. 基本介绍 ​ Sentinel熔断降级会在调用链路中某个资源出现不稳定状态时(例如调用超时或异常比例升高),对这个资源的调用进行限制,让请求快速失败,避免影响到其它的资源而导致级联错误。 ​ 当资源被降级后,在接下来的降级时间窗口之内,对该资源的调用都自动熔断(

Sentinel系列之(六)热点参数限流规则

热点参数限流规则🔥🔥 1. 基本介绍 基本介绍 ​ 何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。比如: 商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制 用户 ID 为参数,针对一段时间内频繁访问的用户 ID 进行限制 ​ 热点参数限流会统计传入参数中的热点参数,并根据配置的限流阈

Sentinel系列之(二)安装Sentinel控制台

安装Sentinel控制台 Sentinel分为两个部分: 核心库(ava客户端)不依赖任何框架/库,能够运行于所有Java运行时环境,同时对 Dubbo /Spring Cloud 等框架也有较好的支持。【后台的监控程序】 控制台(Dashboard)基于Spring Boot开发,打包后可以直接运行,不需要额外的Tomcat等应用容器。【前台展现界面】 此次选用的是1.7.0带管理平台的版

Sentinel系列之(三)初始化演示工程

初始化演示工程 1. 构建cloudalibaba-sentinel-service8401 建Module【cloudalibaba-sentinel-service8401】 改POM 写YML 主启动 业务类 2. 测试 启动Nacos8848单机版 启动Sentinel8080 启动cloudalibaba-sentinel-service8401 访问ht

Seata系列之(四)实战

实战 1. 分布式事务业务说明 ​ 这里我们会创建三个服务,一个订单服务,一个库存服务,一个账户服务。 ​ 当用户下单时,会在订单服务中创建一个订单,然后通过远程调用库存服务来扣减下单商品的库存,再通过远程调用账户服务来扣减用户账户里面的余额,最后在订单服务中修改订单状态为已完成。 ​ 该操作跨越三个数据库,有两次远程调用,很明显会有分布式事务问题。 即:下订单-->扣库存-->减账户

spring中接口流量的控制

  防止接口同一时间内对一个接口进行频繁的访问,可以对接口进行限流。 1.自定义注解,用来标识需要限流的接口。 package com.springweb.demo.limit; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.

jQuery轮播图:轻量级jQuery轮播图插件HappyImage

网址: https://www.jq22.com/jquery-info22658 依赖 jQuery (1.8.0 或以上版本) 兼容 Chrome, Firefox, Edge, Safari, IE9+ 安装 引入 jQuery 和 HappyImage 文件 使用 示例 配置 属性说明类型默认值 width 容器宽度,可通过 css 设置,可以是 px 或

ruoyi的swagger升级Knife4j(完整版),分组和反参显示注释没弄,懒得搞了

1.将旧版swagger依赖去掉  2.添加knife4j依赖 2.1主依赖Pom里添加 2.2在ruoyi-common添加依赖引用,也可以放在ruoyi-framework里 3.添加配置文件 3.1删除原本的swagger配置   3.2在common里添加两个配置文件 新建一个swagger   3.3在applicati

数据库设计规范 - 阿里

基于阿里数据库设计规范扩展而来 设计规范 1.【推荐】字段允许适当冗余,以提高查询性能,但必须考虑数据一致。冗余字段应遵循: 不是频繁修改的字段。 不是 varchar 超长字段,更不能是 text 字段。 正例:商品类目名称使用频率高,字段长度短,名称基本一成不变,可在相关联的表中冗余存 储类目名称,避免关联查询。 2.【推荐】单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行

【Spring Framework】IoC容器、依赖注入 + 基于XML && 基于注解 && 基于Java Config配置IoC容器 + Spring与JUnit4整合

概念 IoC,Inversion of Control,控制反转:将对象的控制权交由第三方统一管理 DI,Dependency Injection:依赖注入,使用反射技术,是一种IoC的实现 Spring IoC容器:用于统一创建与管理对象依赖 XML管理对象(bean):applicationContext.xml Spring框架使用流程-基于XML配置IoC容器 1. 导入spring坐

L001-将源目录下的指定类型文件复制到目标目录

copyJavaFilesFromSrcToDes.sh 日期: 2024-02-28 通过知识/经验的分享,节省开发者的时间.

C语言基础知识入门(一)

C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课! 一. C语言特点概述 C语言是一种用于和计算机交流的高级语言, 它既具有高级语言的特点,又具有汇编语言的特点 非常接近自然语言 程序的执行效率非常高 C语

Cobalt Strike特征隐藏和流量加密

Cobalt Strike特征隐藏和流量加密 因用公司办公网络做安全测试而被XDR捕捉到流量特征故有此篇。 悲报,还被提交了工单。 做安全测试不要用公司网!不要用公司网!不要用公司网! 服务器开启禁Ping 命令: 添加一行 保存,然后刷新配置 修改Cobalt Strike默认端口 编辑teamserver文件 修改50050为其他端口 修改CS默认证书 Cobalt Strik

Pinia 简单使用|教程|入门指引

更新记录 更新记录 Pinia 是什么 状态管理包,允许跨组件/页面共享状态。 Pinia 和 Vuex 对比 最大最大的区别,Pinia没有mutations概念,这个东西真的很恶心。 从ExtJS转过来,看Pinia不要太爽,和ExtJS的Store的概念简直一模一样。 安装包 注册 Pinia 插件 进入 src/main.js 创建初始Stores文件夹 用来存放具体的Store

差分和前缀和

蓝桥杯第14届中的一道题所学:题目描述小蓝拥有 n × n 大小的棋盘,一开始棋盘上全都是白子。小蓝进行了 m 次操作,每次操作会将棋盘上某个范围内的所有棋子的颜色取反 (也就是白色棋子变为黑色,黑色棋子变为白色)。请输出所有操作做完后棋盘上每个棋子的颜色。 输入格式输入的第一行包含两个整数 n, m,用一个空格分隔,表示棋盘大小与操作数。 接下来 m 行每行包含四个整数 x1, y1, x2,

P5461【黄】-递归

简单的很,十分钟不到就切掉了,做这道黄题是因为今天写累了不想写代码了,就最后做一道简单的。看来黄题对我而言基本就是“一半能切一半想一会之后能切”,除非题目是思维题   View Code   TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portuguese

js调用斑马打印机打印二维码

斑马打印机打印二维码项目(Web项目)功能中存在生成并打印二维码的功能,需要借助打印机打印出二维码。由于业务需求二维码需要打印在不干胶的材料上并可以进行粘贴,所以借助斑马打印机通过热敏不干胶纸进行打印。 需要结合所使用的的斑马打印机的型号,去官网下载相关的浏览器打印插件。(使用的是GT800型号,可以下载Browser Print) zebra官网地址    下载适用于Wi

使用ZPL控制Zebra打印机

ZPL简介:Zebra编程语言 (ZPL)是所有 ZPL 兼容打印机使用的命令语言。可用于绘制文本、形状、条形码和图像等元素,组合这些元素。打印机使用它作为指令来创建打印在标签上的图像。 想要打印一个标签,您可能需要告诉打印机: 产品名称是什么,在哪里打印,使用什么字体。你想使用什么样的条形码,你想把它放在哪里,以及要编码的 SKU 编号。框位置、框大小和框线的粗细。ZPL语法解析:ZPL由命令和

Centos7环境用docker-compose部署Mysql5.7集群,Redis7.2.4,SpringBoot项目

文件目录结构 关于每个配置项及docker-compose的安装,大家可以自己查 mysql配置文件 master --- my.cnf slave1 --- my.cnf slave1 --- my.cnf redis配置文件 master --- redis.conf docker Dockerfile Dockerfiles --- Dockerfile-Spring-boot

burp dpi 问题-修复方法

发现burp存在一个问题,就是windows 125%缩放的时候,字体会对不上鼠标位置和选择框。 选择文字的时候总会有的文字看起来没选上。 下面是包含dpi修复的示例启动脚本 burprun.bat Dsun.java2d.uiScale=1 可以自己设置,1 = 100% , 1.25 = 125% 但是建议设置1,因为1.25之类的就会有选择不上的问题 但是太小了又看不见,可以通过设置字体

如何在 uni-app 中检测 APP 端是否有通知权限

检测是否有推送权限 // #ifdef APP-PLUS || MP-WEIXIN /** * 判断 App 推送权限是否开启 */ function judgeAppPermissionPush(): boolean { const notificationAuthorized = uni.getAppAuthorizeSetting().notificationAuthorize

Vue 2x 系列之(十三)Vue监测数据的原理

Vue监测数据的原理 思路:举例 ==》 监测对象数据原理 ==》 Vue.set() ==》 监测数组数据原理 ==》 说明前面例子中的现象 Vue监测数据改变的原理 Vue底层监测data中数据改变的原理和watch中监测数据的原理是一致的,watch是Vue提供给我们用于自行监视数据变化的配置项 1. 更新时的一个问题 2. Vue监测对象数据的原理 回顾数据代理 响应式:数

Vue 2x 系列之(十二)列表渲染

列表渲染 1. v-for指令 在Vue和React中,只要使用了遍历【v-for】去生成多个结构相同的数据,必须指定key,key就是每个结构的标识 指定key可以通过自己定义的id,也可以通过index,比如v-for='(person, index) in persons' :key='index',只要保证每个结构的key不同即可 v-for用于实现遍历,加在谁身上,就能遍历谁,数组/

Vue 2x 系列之(十)绑定样式

绑定样式 1. class样式 2. style样式

Vue 2x 系列之(九)监视和侦听属性

监视/侦听属性【watch】 用于监视某一个属性的变化 watch中的配置项: 配置项名称 值 含义 immediate true/false 初始化时让handler调用一下 handler function(){} 当监视的属性发生改变时要调用的函数 deep true/false 是否开启深度监视,见“九、1.深度监视” 1. 深度监视 2. 监视的简写形

Vue 2x 系列之(十一)条件渲染

条件渲染 符合某些条件,就给你渲染某些东西;不符合条件,要渲染的东西就不会显示 原生可以通过display:none;、visibility: hidden;、opacity: 0;几种方式实现 v-if和v-else-if、v-else需要作为一组指令使用,中间不允许被打断,v-else是不需要加表达式的 只能配合v-if使用,不能配合v-show使用 标签的特点是不影响结构,最终渲染时,标签就

Vue 2x 系列之(八)计算属性

计算属性【computed】 1. 姓名案例 1.1 {{}}插值语法版本 注:firstName.slice(0,3)截取指定区间的字符串 ​ 这种方式的缺点是如果业务逻辑比较复杂【这里的firstName.slice(0,3)仅仅是简单的业务逻辑】,表达式将变得难读,违背了Vue的“模板中简单的表达式”这个原则。 参考:https://v2.cn.vuejs.org/v2/style-gui

<<  <  503  504  505  506  507  508  509  510  511  512  513  >  >>