自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaScript公共方法大全

`unshift(element1, element2, ..., elementN)`: 将一个或多个元素添加到数组的开头,并返回新数组的长度。- `push(element1, element2, ..., elementN)`: 将一个或多个元素添加到数组的末尾,并返回新数组的长度。- `concat(str1, str2, ..., strN)`: 将多个字符串连接成一个新字符串。- `concat(arr1, arr2, ..., arrN)`: 连接多个数组,并返回新的数组。

2024-05-24 11:06:29 328

原创 SpringBoot 实现图片防盗链功能

前言出于安全考虑,我们需要后端返回的图片只允许在某个网站内展示,不想被爬虫拿到图片地址后被下载。或者,不想浏览器直接访问图片链接。出于性能考虑,不想要别人的网站,拿着我们的图片链接去展示,白白消耗自己的服务器资源。故而可在springboot中,使用简单的图片防盗链规则。拦截掉一些处理。

2024-05-21 15:49:12 259

原创 Spring 在多线程环境下如何确保事务一致性

​​​​​​。

2024-05-20 14:10:42 878

原创 如何【中止】一个 Promise 呢?一个有意思的问题

最近看到一道大厂的面试题,我觉得这道题不错,能考验到大家的 Promise 基础。题目如下~看到这道题你们会怎么去回答呢?就比如有以下的一个 Promise ,我们要如何去中止他呢?

2024-05-19 20:31:22 290

原创 鲁迅的口吻表达对周末单休的情绪

然而日上三策,露珠早已无影无踪,留下的只有无边的骄阳与燥热。这世界上的人啊,总是幻想着周末的逸乐,然而到头来,只换得一个日子的憩息,这难道不是一种讥笑吗、在这一天里,他们可以摘下工作的面具,做回自己,但不久后,又义须戴上那副面具,重新上场。4、有人说单休是为了休息,但在我看来,这不过是工作的另一种延续。1、单休之于打工人,就像是沙漠中的一滴水,虽然它带来短暂的清凉却难以解渴。3、曾有人问我,单休与双休有何不同、我想,这就像是在寒风中,多穿一件破旧日的衣服与没穿,感觉其实相差无几。

2024-05-18 21:14:19 123

原创 SpringBoot 实现数据加密脱敏(注解 + 反射 + AOP)

傻瓜式编程不是说傻,而是相当于切入式编程,傻瓜式编程需要对用户信息相关的所有接口进行加密,解密脱敏的逻辑处理,这里改动的地方就比较多,风险高,重复操作相同的逻辑,工作量大,后期不好维护;切入式编程只需要对用户信息字段添加注解,对有注解的字段统一进行加密,解密脱敏逻辑处理,操作方便,高聚合,易维护;使用AOP,项目启动后,只要调用切入点对应的方法,就会根据切入点来形成一个切面,进行统一的逻辑增强;将项目中关于用户信息实体类的字段,比如姓名,手机号,身份证,地址等,在新增进数据库之前,对数据进行加密处理;

2024-05-18 21:10:04 414

原创 Spring Boot 如何设计一个通用的 Excel 导入导出功能?

以上是我对导出功能的思考和实现思路,因为篇幅的关系,我没有贴出完整的代码,但是相信以上内容已经足够大家作为参考,缺少的内容,比如列宽、颜色字体等设置,请查阅EasyExcel官方文档来实现,主要方式就是根据前端传过来的JSON配置信息,来动态配置EasyExcel的导出文件。,也没有分页查询参数,类似于当前页导出,在也只考虑一层包装类的情况下,没有额外的配置项,上面的已经足够了,要注意的就是代码里面得把分页参数剔除掉。批量保存的数量不能太多,要考虑系统和数据库的性能,比如每次读取500行就执行一次保存。

2024-05-17 11:49:20 2062

原创 WebSocket 集群解决方案

所有Websocket Server 根据客户端userid找到对应session, 只有存在userid和session的绑定关系的Websocket Server才发送消息到客户端。: 客户端连接到某个Websocket Server,在该websocket Server中建立userid和session的绑定关系。:每一个WebSocketServer 获取自己IP+端口,uesrid与其绑定,服务调用方使用该IP+端口。代码演示(唯一Id为唯一的服务名的形式)方案二:目标询址方案(推荐)

2024-05-17 11:34:34 305

原创 uniapp-小程序支付

【代码】uniapp-小程序支付。

2024-05-16 14:58:58 293

原创 摸鱼人,你要明白职场其实是非常势利眼的地方!

说点好听的能成50%,再给点好处能成70%说点好听的再给点好处能成90%,投其所好加恰当的好处基本都能成!人来人聚皆为利来,人往人散皆为利散没有谁会毫无理由地害你,也没有谁会毫无理由地帮你。真正的聪明人,既学会了闭嘴,也知晓了进退这既不是怂,也不是怯,而是一种自我保护!有人在的地方,就有江湖。江湖里,不缺能力,不缺手段,更不缺盘根错节的人际关系。他们可能散布谣言、夸大你的失误、甚至私下恶意插手你的工作,以削弱你的竞争力。因为职场是讲规矩和秩序的,一级干好一级的事自上而下,越级是被视为不懂规矩的。

2024-05-16 14:57:20 405

原创 Spring Boot 如何防护 XSS + SQL 注入攻击 ?终于懂了

这是因为mybatis启用了预编译功能,在sql执行前,会先将上面的sql发送给数据库进行编译,执行时,直接使用编译好的sql,替换占位符“?SQL注入攻击是最古老,最流行,最危险的Web应用程序漏洞之一。存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,插入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。这种“准备好”的方式不仅能提高安全性,而且在多次执行一个sql时,能够提高效率,原因是sql已编译好,再次执行时无需再编译。

2024-05-16 14:42:57 818

原创 程序员必知必会的40条SQL语句

DENSE_RANK:按照指定列进行分组并排序,相同值的行具有相同的排名,不跳过下一个排名。LEFT JOIN:连接左侧数据表,并包括右侧数据表中与左侧数据表中没有匹配项的行。RANK:按照指定列进行分组并排序,相同值的行具有相同的排名,跳过下一个排名。FIRST_VALUE:返回分组中第一个行的列值。LAST_VALUE:返回分组中最后一个行的列值。NOT IN:筛选不符合指定值中任意一个的数据。LEAD:返回当前行之后的指定偏移量的行的列值。LAG:返回当前行之前的指定偏移量的行的列值。

2024-05-15 14:23:12 128

原创 mysql的limit分页优化

(如果依赖很多的非主键值,那么我们可能还需要回表操作),而且主键本身就是一种唯一索引,这种唯一有序特性可以便于帮助我们后期优化,减少扫描记录范围。如果我们分页想要优化时候,根据减少扫描思路,可以通过where id like '10289%' 方式,先缩小范围再分页。在我们设计数据库id的时候,可能采用字符串格式、有顺序的id,带有一定的业务逻辑这样的分布式id。思考:limit分页做了一个全表扫描,扫描后将从200000开始往后取10条记录返回。现象:随着分页越深入,查询的时间也越来越长。

2024-05-15 14:15:24 244

原创 sql语句优化的30种方法

可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:可以这样查询:5.下面的查询也将导致全表扫描:若要提高效率,可以考虑全文检索。对于连续的数值,能用 between 就不要用 in 了:7.如果在 where 子句中使用参数,也会导致全表扫描。因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编

2024-05-15 14:11:58 537

原创 API 接口应该如何设计?如何保证安全?如何签名?如何防重?

在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(防窃取)?除了https的协议之外,能不能加上通用的一套算法以及规范来保证传输的安全性呢?

2024-05-15 14:10:26 1363

原创 uniapp小程序之上拉加载,下拉刷新

两个效果,都先要在pages.json里面开启对应的效果,然后在该页面的methods里面写对应的api方法即可,这些方法在官网都有,可直接拷贝,最后添加自己的数据即可。延时器是1秒后关闭下拉图标,在关闭下拉图标之前,即uni.stopPullDownRefresh();也可以在下拉过程中增加一些效果,例如导航栏加载中效果,提示下拉成功效果等,这些效果就是一个方法,官网都有拷贝过来就行。此时,当页面向上拖动的时候,距离底部160时就会触发onReachBottom()函数,打印出 “触底”

2024-05-14 14:49:21 203

原创 uniapp小程序之scrollview组件

需注意在webview渲染的页面中,区域滚动的性能不及页面滚动。

2024-05-14 14:48:32 143

原创 uniapp写微信小程序

新建uniapp项目 --- 运行默认项目到微信小程序 --- 创建tabbar页面 --- 配置tabbar --- 写每一个页面的结构,样式和数据请求,渲染展示 --- 组件的创建和使用 --- 页面间的传值 --- uniapp插件(外部组件)的使用 --- 真机预览效果 --- 项目打包上传。在uniapp的插件市场找到你需要的插件,然后点击使用HX导入即可,然后使用方法和你自己写的组件一样,无需导入注册,直接看着插件的介绍使用即可。

2024-05-14 14:47:11 978

原创 uniapp ui框架uview

在hbuilderX创建好一个uniapp的项目,然后把下载的uview拷贝到项目的跟目录下。/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */uniapp的最火ui框架,uview在uniapp的插件市场搜索下载。

2024-05-14 10:13:37 392

原创 uniapp的简单入门

下载,解压,有两个文件,一个静态资源,一个页面文件,把静态资源文件夹拷贝到static目录下,把页面文件拷贝到pages目录下,在pages.json中添加这个页面路径,在tabbar中地址配好,其实就实现了通过tabbar切换一个单页,不过这个单页是复制来的。实现每个页面之间的切换,用底部导航,和微信小程序一样,去官网复制tabbar代码,这个代码要写在配置页pages.json中,有几个页面,就设置几个选项,官网说的很清楚,然后在配置各个页面的路径,这一步做完之后就可以实现切换页面。

2024-05-14 10:09:34 276

原创 Linux必会命令

Vim是 一个 同Vi向上兼容的文本编辑器,可以用来编辑任何ASCII文本,可以把Vim理解为Windows的记事本。它对Vi作了 许多 增强:多层撤销,多窗口,多缓冲区(buffer),高亮度语法显示,命令行编辑,文件名匹配,在线帮助,可视选定等等. 用。

2024-05-14 09:59:03 708

原创 Spring Boot 全局异常处理

Spring Boot 的所有异常处理都基于 java 的。/*** 基于@ControllerAdvice注解的全局异常统一处理只能针对于Controller层的异常* 为了和Controller 区分 ,我们可以指定 annotations = RestController.class,那么在Controller中抛出的异常 这里就不会被捕捉* *//*** 处理所有的Controller层面的异常* */return map;

2024-05-13 13:40:28 648

原创 SpringBoot 中实现订单30分钟自动取消的策略

当一个键过期时,onMessage方法会被调用,你可以在这里加入你的逻辑来处理订单的超时取消。利用Redis的键过期事件功能,当订单生成时在Redis中存储一个键,设置30分钟过期,键过期时通过Redis的过期事件通知功能触发订单取消操作。使用消息队列(如RabbitMQ)的延迟队列功能,当订单生成时将订单ID推送到延迟队列,设置30分钟后过期,过期后消费该消息,取消订单。在电商和其他涉及到在线支付的应用中,通常需要实现一个功能:如果用户在生成订单后的一定时间内未完成支付,系统将自动取消该订单。

2024-05-12 09:10:50 493

原创 SpringBoot 动态加载 jar 包,动态配置方案

目前数据治理服务中有众多治理任务,当其中任一治理任务有改动需要升级或新增一个治理任务时,都需要将数据治理服务重启,会影响其他治理任务的正常运行。

2024-05-11 14:36:12 510

原创 5000w+ 的大表如何拆?亿级别大表拆分实战复盘

经过与ES维护团队的两轮讨论,发现公司提供的ES服务对于我们的业务场景并不匹配(见表),经过反复考量,最终我们放弃了引入ES的计划,直接从数据库查询数据,采用每张表设置一个查询线程的方式提升查询效率。这样能够让对方心甘情愿的配合你的工作,达到双赢的目的。如果是一个已有的项目,在进行分表改造时,一定要将各种场景都罗列清楚,将各个场景细化到程序中的每个类、每个方法中,将所有业务场景都覆盖到。如果程序设计和学习能力是程序员的硬实力,那沟通技巧就是程序员的软实力,硬实力能够保障你的下线,而决定上线的恰恰是软实力。

2024-05-11 14:31:42 633

原创 如何在 vscode 命令行上进行微信聊天(摸鱼神器)

怕被路过的同事、领导看到你在微信摸鱼?这有一款在vscode进行微信聊天的项目,快来试试哇。

2024-05-11 14:25:20 318

原创 SpringBoot 集成支付宝支付

SpringBoot 集成支付宝支付

2024-05-11 14:17:39 1120

原创 SpringBoot 多数据源及事务解决方案

一个主库和N个应用库的数据源,并且会同时操作主库和应用库的数据,需要解决以下两个问题:如何动态管理多个数据源以及切换?如何保证多数据源场景下的数据一致性(事务)?

2024-05-11 11:58:33 821

原创 Spring Boot 优雅实现多租户架构

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。具体来说,我们可以使用Spring Cloud的服务注册与发现组件Eureka来注册每个租户的实例,并在管理界面中进行相应的操作。私有云环境指的是由企业自行搭建的云环境,不对外提供服务,主要应用于企业内部的数据存储、管理、共享和安全控制。

2024-05-11 11:48:36 731

原创 能挣钱的,开源SpringCloudAlibaba和Vue的企业级项目,代码很规范!

👍 仓库地址:https://github.com/YunaiV/yudao-cloud芋道,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。架构图管理后台的电脑端:Vue3 提供 element-plus、vben(ant-design-vue) 两个版本,Vue2 提供 element-ui 版本管理后台的移动端:采用 uni-app 方案,一份代码多终端适配,同时支持 APP、小程序、H5!

2024-05-11 11:44:07 666

原创 SQL 函数-- MIN() 函数

在本教程中,我们将使用著名的 Northwind 样本数据库。MIN() 函数返回所选列的最小值。

2024-05-11 09:37:00 192

原创 SQL 函数-- MAX() 函数

在本教程中,我们将使用著名的 Northwind 样本数据库。MAX() 函数返回所选列的最大值。

2024-05-11 09:35:15 366

原创 SQL 函数

SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。SQL Scalar 函数基于输入值,返回一个单一的值。SQL 拥有很多可用于计数和计算的内建函数。

2024-05-11 09:33:51 196

原创 SQL基础知识笔记

SQL是一门大小写不敏感的语言,语句以英文半角分号(;)结尾,多行注释使用 /* ……*/,单行注释使用 – ……关键词:grant(赋予权限)、revoke(取消权限)、commit(提交)、rollback(回滚)*内层的查询为子查询,外层的查询为主查询。

2024-05-10 14:06:22 1037

原创 摸鱼思考--停止打工你就会发现

8、没有永远的朋友,只有永远的利益,没有人会去帮助一个,毫无价值的人,你必须要好好的经营自己就算你跌入谷底,也要有与人交换的筹码,这才是强者定律。3、成功的商人都懂得一个道理,那就是在自己擅长的领域长久经营是一种幸运,然而,在自己擅长的领域,止步不前结果也是惨淡收场。14、朋友再好,你谈钱试试:夫妻再爱,你没钱试试;7、一定要和满脑子赚钱的人做朋友,因为赚钱的背后藏着一个人的认知、自律、圈子、能量、格局,还有它的执行力。1、打工是发不了财的,古人说过,想要富,开店铺,要经商,走四方,人要闯,马要放。

2024-05-10 11:35:06 419

WebSocket基础使用、心跳检测、断网重连、全局注册代码包1

WebSocket基础使用、心跳检测、断网重连、全局注册,拿来即用,可以实现稳定的WebSocket通信,保证系统平稳、快速运行。 WebSocket基础使用、心跳检测、断网重连、全局注册,拿来即用,可以实现稳定的WebSocket通信,保证系统平稳、快速运行。 WebSocket基础使用、心跳检测、断网重连、全局注册,拿来即用,可以实现稳定的WebSocket通信,保证系统平稳、快速运行。 WebSocket基础使用、心跳检测、断网重连、全局注册,拿来即用,可以实现稳定的WebSocket通信,保证系统平稳、快速运行。 WebSocket基础使用、心跳检测、断网重连、全局注册,拿来即用,可以实现稳定的WebSocket通信,保证系统平稳、快速运行。 WebSocket基础使用、心跳检测、断网重连、全局注册,拿来即用,可以实现稳定的WebSocket通信,保证系统平稳、快速运行。 WebSocket基础使用、心跳检测、断网重连、全局注册,拿来即用,可以实现稳定的WebSocket通信,保证系统平稳、快速运行。 WebSocket基础使用、心跳检测、断网重连、全局注册,拿来

2024-05-20

软件开发文档资料大全(规格说明书,详细设计,测试计划,验收报告)

在软件开发过程中,文档资料是非常关键的一部分,文档资料帮助团队成员理解项目需求、设计、实施、测试、验收等各个环节,确保项目的顺利进行。以下是针对您提到的各个阶段的文档资料基础概述

2024-05-10

100+套大数据可视化炫酷大屏Html5模板

100+套大数据可视化炫酷大屏Html5模板;包含行业:社区、物业、政务、交通、金融银行等,全网最新、最多,最全、最酷、最炫大数据可视化模板。陆续更新中 001 政务服务大数据可视化监管平台 002 水质情况实时监测预警系统 003 酷炫智能大屏数据中心 004 政务大数据共享交换平台 005 可视化监控管理 006 全国疫情实时监控 007 惠民服务平台 008 兰州智慧消防大数据平台 009 某公司大数据监控平台 010 双数智慧公卫-传染病督导平台 011 大数据可视化系统数据分析通用模版 012 某公司大数据展示模版 013 某公司大数据展示模版 014 时实客流量监控中心 015 广西矿产资源大数据监管平台 016 某某科技有限公司-生产数据中心 017 大数据可视化通用素材 018 大数据可视化系统数据分析通用模版 019 大数据可视化系统数据分析通用模版 020 大数据通用模版大标题样 ...

2024-05-10

60余种css基础+css3动画+canvas+svg

分享工作学习过程中遇见的有趣的css:css基础+css3动画+canvas+svg等 1.3d翻转和蒙版展示 2.CSS3和SVG实现的圆环菜单动画 3.css风车 4.css实现右上角标签条 5.百分比水球 6.大屏随机抽奖 7.纯css气泡背景 8.实现类似知乎文章图片原地放大缩小 9.主题切换实现方案 10.前端实现手写签名 ...等等60余种

2024-05-10

《数据分析思维(猴子)》读后笔记

《数据分析思维(猴子)》读后笔记

2024-05-10

空空如也

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

TA关注的人

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