程序员大猩猩
码龄17年
求更新 关注
提问 私信
  • 博客:114,769
    社区:11
    问答:1,055
    115,835
    总访问量
  • 47
    原创
  • 1,826
    粉丝
  • 249
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
加入CSDN时间: 2008-04-14

个人简介:好看的你不点个关注吗? 公众号:程序员大猩猩

博客简介:

大猩猩的专栏

博客描述:
技术学习笔记
查看详细资料
个人成就
  • 获得624次点赞
  • 内容获得82次评论
  • 获得596次收藏
  • 代码片获得2,738次分享
  • 博客总排名2,030,753名
  • 原力等级
    原力等级
    4
    原力分
    883
    本月获得
    4
创作历程
  • 45篇
    2024年
  • 2篇
    2018年
成就勋章
TA的专栏
  • 区块链
    16篇
  • JAVA
  • 软件工具集
    3篇
  • Spring
    2篇
  • RABBITMQ
    1篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 5

TA参与的活动 0

兴趣领域 设置
  • 大数据
    redis
  • 后端
    spring架构
  • 服务器
    linux
创作活动更多

王者杯·14天创作挑战营·第2期

这是一个以写作博客为目的的创作活动,旨在鼓励码龄大于4年的博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。 注: 1、参赛者可以进入活动群进行交流、分享创作心得,互相鼓励与支持(开卷),答疑及活动群请见https://bbs.csdn.net/topics/619735097 2、文章质量分查询:https://www.csdn.net/qc 我们诚挚邀请你们参加为期14天的创作挑战赛!

78人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Java中加密方式之非对称加密

它是由Whitfield Diffie和Martin Hellman在1976年发明的,是第一个公开披露的密钥交换协议,它奠定了现代加密通信的基础。非对称加密相比较对称加密,它是采用的一对密钥来实现加密的,一对密钥包含公钥与私钥,公钥可以公开,私钥我们需要进行保密保管,因为私钥不需要分发。优点:如我们上方所说非对称加密采用一对密钥来加密,可以大大增强数据的完整性和真实性,而且,非对称加密还可以用于数字签名。说了这么多,了解了俩种加密方式,我们来了解一下,非对称加密有哪几种常见的加密方式。
原创
发布博客 2024.06.03 ·
1334 阅读 ·
27 点赞 ·
1 评论 ·
9 收藏

Java中加密方式之对称加密

它是一种快速、紧凑的算法,可以用于加密数据块,其块大小为64位,密钥长度可变,最长可达448位。我们一定要知道,3DES虽然比DES更安全,但由于其处理速度较慢,且密钥长度仍然有限,它也被认为不是最理想的加密选择。这里,我们一定要知道getSecretKey()生成密钥的的字符串后,不是每一次都需要生成的,我们生成一次后,然后妥善的保管好这个信息,以便使用。此文章是为了API的安全性,所以加密了请求块,而请求块是从前端下发到后端的,加密请求块到了后端之后,我们还需要将加密块进行解密才能够正确运行。
原创
发布博客 2024.05.30 ·
1257 阅读 ·
16 点赞 ·
3 评论 ·
13 收藏

优化耗时业务:异步线程在微服务中的应用

d. 线程池提供了任务调度和管理的能力,比如设置核心线程数、最大线程数、队列容量等,这样可以更精细地控制任务的执行行为。大家都知道,在我们实际开发过程中,我们经常会遇到一些耗时的业务和逻辑,比如说要上传什么大文件,又或者是大文件的数据处理。,可以复用线程,减少资源消耗。线程池中的线程可以被重复使用,而不是每次执行异步任务时都创建新的线程。,这不是一个真正的线程池,因为它为每个任务创建一个新的线程。我们看到Async内,只有一个参数value,这个value的设置来确定异步线程指定线程池的名字。
原创
发布博客 2024.05.28 ·
834 阅读 ·
4 点赞 ·
0 评论 ·
6 收藏

为什么你的数据库查询慢如蜗牛?索引优化助你提速

在我们日常开发过程中,写一段SQL是必不可少的工作,那么你的SQL到底好不好,标准不标准,运行效率怎么样,那就要看我们平时对数据库的数据结构和SQL优化的了解程度来看了。一般我们在建库建表时,都会标记主键,而主键的主要作用就是我们用它来实现经常查询所用到的字段。使用前缀索引,如果我们不得不使用的CHAR、VARCHAR类型的列作为索引,而且列的长度很长,那么我们可以使用前缀索引来节约空间,还能提高效率。索引是可以增强查询的性能,但是别忘了,数据库还有增、删、改的操作,过多的索引,会导致数据库写的操作成本。
原创
发布博客 2024.05.27 ·
579 阅读 ·
4 点赞 ·
0 评论 ·
10 收藏

程序员分享好用的工具,用来用去还是觉得这几款软件最实用

可能因为我是一个手残党,能不写Shell脚本,我希望我能拖拽的形式完成我的工作,比如说我要使用Shell工具连接我的服务器,然后给服务器上传我的部署文件,那么我可能需要给服务器装个FTP服务,然后通过脚本命令来完成文件的上传,这样我觉得这个事,耗费了我的大力气,我不喜欢。之前用过Xshell,它的功能很强大,收费的,虽然有和谐方法,但是打命令很好用,而且设计的保存快捷命令我很喜欢,但是要给服务器上传文件的方式我不喜欢,因为我不但我打开XShell而且还要打开XFtp来使用,不喜欢。
原创
发布博客 2024.05.26 ·
534 阅读 ·
4 点赞 ·
0 评论 ·
10 收藏

不要再使用double,float来计算精度值了,BigDecimal才是最好用的

BigDecimal 内部使用一个 int 类型的 scale 来表示小数点后的位数,和一个 BigInteger 类型的 unscaledValue 来表示去掉小数点后的整数部分。以上传入double类型的源码,我们尽量少用,因为double本身就有精度问题,那么我们使用传入double的BigDecimal构造函数,可能会导致精度损失,我们建议使用字符串或者整数构造BigDecimal对象,如下。如上,代码中就是俩个简单的Double和Float的浮点数相加,我们甚至不用运行,就可算出它俩的答案。
原创
发布博客 2024.05.22 ·
571 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

如何优雅的书写Controller模块,别老是在业务逻辑上琢磨,也看看基础的框架代码实现

Valid 加入这个注解参数的主要作用是用于数据校验,可以在定义的实体中的属性上,添加不同的注解来完成不同的校验规则,而在接口类中的接收数据参数中添加 @valid 注解,这时你的实体将会开启一个校验的功能。二、没有考虑错误的返回,虽然changeInfo看似在异常快捕获后,返回了错误信息字符串,但是我们想一想,这样的返回并不符合我的规则,前端对接起来,是不是很困难。所以在我们业务需求不忙的时候,或者在忙于增删改查时,我们抽出来几分钟的时候,看看轮子到底是怎么造的,我们怎么也能自己造轮子。
原创
发布博客 2024.05.20 ·
797 阅读 ·
17 点赞 ·
0 评论 ·
15 收藏

如何在IDEA中使用mvnd加速maven的编译速度

Maven-mvnd大大增强了编译的速度,它在设计上,使用一个或多个守护进程来构建服务,以此来达到并行的目的!有开发用户已经给IDEA提出过,是否可以将mvnd配置在IDEA中,让开发人员原生使用,但是IDEA的官方明确回复maven已经达到原生支持,可以使用另外的shell插件来实现maven的编译。在我们程序开发过程中,其中必不可少的一环就是程序代码编译。如上图,目前最新版本的mvnd是1.0-m8版本,releases下方有不同系统版本的下载安装包,选择自己适配的系统版本进行安装即可。
原创
发布博客 2024.05.19 ·
2064 阅读 ·
16 点赞 ·
0 评论 ·
13 收藏

微服务下不同Websocket Java工具类,服务端和客户端的代码实现

但是websocket跟我们平时开发api又不是系统,有时候我们可以使用Spring自带的websocket框架来实现,有时候又觉得使用其他框架更为便利和高效,那么我在此就给大家介绍一下我们常用的几种websocket实现。okhttp3应该是在android端实现的利器,虽然本人不具备android原生的开发,但是接触okhttp3之后,感觉它应该也是一个非常好的通信框架。内置包括基本的websocket创建,而且包含sockJS的实现,以下我们只实现基础的websocket的开发。
原创
发布博客 2024.05.18 ·
1261 阅读 ·
15 点赞 ·
0 评论 ·
11 收藏

手把手教你如何使用Java开发区块链交易所交易跟单系统----欧易篇

想要交易程序化,不管是怎么做,起始目的我们必须联通交易所的账户信息,还有查看它的相关API是否可以支持我们程序化,这一点相关交易所也许是为了更好的交互性,他们都开放了自己的接口,并且一直在维护增强,使得我们开发人员能更好的进行对接。为了快速获取到做单者的做单信息,显然对于程序来说,如何快速的获取是个难题,API文档有俩种方式,一种是http访问接口方式,另一种是websocket方式。​​​​​​​假如做单者有做单行为,那么在websocket块的onMessage方法内就会收到做单行为的订单信息。
原创
发布博客 2024.05.17 ·
7684 阅读 ·
6 点赞 ·
0 评论 ·
12 收藏

微服务巧用Aop,使用RequestBodyAdvice对请求参数加密,项目全局增强Api接口安全性

假如有特殊的请求,我们可以进行方法变通。在我们日常开发中,通常不会考虑到Api的安全性,但是在运维部署时,如果是小公司,大可能的配置ssl文件是免费的,安全性并不是很高,市场上有很多的工具可以简单的进行破解,HttpInputMessage 它代表了一个 HTTP 输入消息,通常用于读取 HTTP 请求的正文,这个接口提供了对 HTTP 请求头和请求体的访问。如果不管不问,我们的Api接口就像在互联网上裸奔一样,专业破解方就像看我们的API没穿裤衩子一样,随意的更改我们的请求与回放。
原创
发布博客 2024.05.16 ·
857 阅读 ·
19 点赞 ·
0 评论 ·
12 收藏

比特币Brc-20部署发布:实用步骤演示,请点赞收藏!(二)

这里我们就只需要确定一下,上一节我们就说了BRC20就是由JSON数据嵌入序号铭文中实现的,我们主要看下中间的JSON那我们的字段是否填写正确即可。下面3个选择项就是看链上交易的gas费用,可以使用便宜的贵的也可以选择自定义Custom,交钱越多肯定交易时间越快。b. 查看测试网链接是否可以打开,测试网:https://testnet.unisat.io/,是否需要魔法上网。这里就第一步让我们选择unisat地址,是单个地址,还是多个地址,我们填入自己的测试地址即可。大家好,我是程序员大猩猩。
原创
发布博客 2024.05.15 ·
1073 阅读 ·
14 点赞 ·
0 评论 ·
13 收藏

超详细比特币Brc-20部署发布:实用步骤演示,请点赞收藏!(一)

尽管如此,随着基础设施的不断完善和大型机构的加入,BRC-20生态正在逐步发展,未来可能会看到更多的实际应用,如去中心化交易所(DEX)、跨链聚合器、稳定币和游戏等。上方浏览器扩展安装结束后,我们打开扩展会发现,俩个按钮第一个是创建新的钱包,第二个是我已经有钱包了,那么就是导入钱包的操作。然而,BRC-20目前仍面临一些挑战。第四步,选择文件夹确定之后,浏览器扩展程序就会多出一个unisat图标,点击,这时我们就会发现,插件安装完成。代币是第一个创建的BRC-20代币,其市值达到2亿美元,占总市值的一半。
原创
发布博客 2024.05.13 ·
1329 阅读 ·
21 点赞 ·
1 评论 ·
14 收藏

Java 区块链应用 | 割韭菜之假如K线涨跌可随意变动修改的实现

那么如何修改这些K线数据呢,即使要保存原来的K线数据,又要保证更改后,数据不再重新刷新,混淆视听,永远在什么时候打开,K线数据永远是修改后的数据呢?我们上面说的一个线的K线就是一个时间点的标准,那么如何保证这个点也需要修改呢。接入后假如没有发生错误,那么我们的K线数据将和币安网是一致的。5、修正更改即将恢复时,K线可以平滑过渡,判断high、low修正high、low。首先,我们必须了解K线一根线的数据。由哪些字段组成:一条蜡烛线、K线,由。2、获取历史K线数据时,检索redis 保存的k线数据标记更新。
原创
发布博客 2024.05.09 ·
621 阅读 ·
5 点赞 ·
0 评论 ·
7 收藏

抖音|小红书|公众号|快手|西瓜,优文、优视、达人推荐分享平台 快速涨粉

大家都知道,在这个流量为王的时代,想做自媒体,最最主要的是需要自己可以有优质的文章或者视频输出,而且还需要大量大量的曝光。而如今,各大可以副业赚钱的平台,就像一个大水池,水池内的水少人多,真正的曝光量可能几层、几层的在叠罗汉。我一直在想,我可以用我的技术写一款APP或者网站,来帮助我们这些自媒体的用户,能得到精准的粉丝。g.邀请好友赠送YouO点(好友推荐一篇优文或者达人,邀请人获取YouO点 5)a.优文和达人的显示都是由它本身带的排序点显示,排序点没有时,无法显示。微信扫码进入(微信登入)
原创
发布博客 2024.04.30 ·
469 阅读 ·
6 点赞 ·
0 评论 ·
5 收藏

微服务使用SockJs+Stomp实现Websocket 前后端实例 | Vuex形式断开重连、跨域等等问题踩坑(二)

首先,我是采用vue create *** 来创建一个项目,中间选择使用vuex组件。待项目创建后,我这里使用WebStorm开发工具,将项目导入后,工具会自动让我们npm install。当websocket.js实现完成后,我们也基本完成的vue端的实现,接下来在现实端页面,调用vuex即可。这里,我从创建好工程后,导入工程开始说起,说说我碰到的问题及我的解决方法,一遍大家更好的理解。​​​​​​​接下来我们分析一下,websocket在前端需要什么操作呢?​​​​​​​前后端一起启动项目,查看结果。
原创
发布博客 2024.04.29 ·
1326 阅读 ·
4 点赞 ·
3 评论 ·
8 收藏

微服务使用SockJs+Stomp实现Websocket 前后端实例 | Vuex形式断开重连、跨域等等问题踩坑(一)

在使用 SockJS 时,首先需要在客户端和服务器端分别引入 sockjs-client.js 和 sockjs-server,然后在客户端通过 new SockJS(url) 的方式建立一个 SockJS 连接。客户端和服务器端之间的通信是基于事件的,当客户端发送消息时,服务器端会触发一个 onmessage 事件,然后将消息发送回客户端。以上我们提到了SockJs和Stomp,对于Gateway与SockJs的转发连接友好性,那么我们今天就来通过实践来完成这些实例。我们本地输入链接查看,部署成功。
原创
发布博客 2024.04.19 ·
2498 阅读 ·
24 点赞 ·
0 评论 ·
18 收藏

Spring Cloud Gateway集成聚合型Spring Boot API发布组件knife4j,增强Swagger

​​​​​为了能更好的实现界面的客观性,我们这里写了一个swaggerResource的方法,此方法主要是为了能更好的表达我们的Api接口是属于谁的。可是我们在用Swagger时,不管是Swagger本身,还是SwaggerUI,用起来其实不是那么的便捷,尤其是SwaggerUI,反正我用起来真的很是难受,也许是因为它不是我们国人开发的,所以操作方面根本没有我们国人的操作习惯设计。有了这个东东,那么我们来研究一下,怎么让他来集成我们的Gateway,那么如何实现Gateway,可以查看我的上一篇文章。
原创
发布博客 2024.04.17 ·
1764 阅读 ·
11 点赞 ·
2 评论 ·
31 收藏

轻量级的Spring Cloud Gateway实践,实现api和websocket转发

当国内大部分都是粘贴复制一些重型框架时,有没有人会想到,我们自己做一个小项目,几个小的Spring boot的项目时,我们是否还需要按部就班的用我们公司中用到的Nacos,这种冗余且调配复杂的组件呢?接下来,我们所有的配置所属都在配置中进行,在我们日常开发中,经常会被跨域请求绞挠的难受,网络充斥着大量的无用cors跨域配置。很多程序员在开发和编码过程中,很少自己去真正的研究一个框架和组件,他们大部分的工作只是在自己接手的项目上缝缝补补罢了。那么我们从API路由开始,尝试做一个轻量级的实践。
原创
发布博客 2024.04.15 ·
2799 阅读 ·
26 点赞 ·
0 评论 ·
6 收藏

Nginx配置深度解析:构建高性能Web服务器的关键

Nginx的工作原理主要是基于单线程异步非阻塞的处理方式,这种设计使得它能够支持更高的并发连接数,有效处理大量用户的访问请求。安全性配置也是Nginx的一个重要方面,包括启用SSL/TLS加密、限制访问频率、防止DDoS攻击等措施。Nginx的实际应用场景广泛,包括作为Web服务器、反向代理服务器,以及实现负载均衡等。Nginx是一个高性能的Web服务器和反向代理服务器,以内存占用少、并发能力强而著称。在配置和优化方面,Nginx的配置文件简洁明了,易于理解。location: 用于匹配特定的URL路径。
原创
发布博客 2024.04.11 ·
534 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏
加载更多