- ALL
- java33
- linux32
- 工具17
- 其他14
- 数据库7
- vue5
- git5
- nas5
- 前端5
- ai3
- framework3
- windows3
- app2
- 脚本2
- docker2
- hexo2
- maven2
- 智能家居2
- 小程序2
- spring2
- 资源1
- api1
- mysql1
- 安全1
- markdown1
- question1
- python1
- 运维1
- 数据结构1
- 数据传输1
- nginx1
使用java封装了一个脱敏组件
功能说明 因为最近有脱敏的需求,所以就趁着这个机会自己实现了一个。肯定还有不少开源库有这种功能,但是考虑到不一定满足自己的需要,所以就自己造了一个轮子自己用。主要功能包括 接口返回内容的脱敏,包含json序列化方式和aop的两种实现。 json序列化方式只能用于接口数据返回,在程序内部和数据库并不脱敏。 aop的方式,在程序内部和接口数据返回时可以脱敏,但是数据库不脱敏,且速度是慢于序列化方式的。 根据自己的需求来实现脱敏规则,比如有些人的手机号脱敏是中间四位,有些人又只保留初始和末尾一位。 自定义脱敏字符,默认为*。 请求体数据自动过滤,比如你传向前端的数据是包含脱敏字符的,正常的做法是前端判断时候包含脱敏字符,如果包含则该字段不往后端传输。我这边实现的是,如果请求体传过来的数据内容跟改字段的脱敏规则一致则不接收该字段内容,不,准确的说是在接收该字段内容之前转为null。 使用示例 总共有四种使用场景: 1.作用与方法上的aop注解 12345678910111213141516171819@Desensitizes({@Desensitize(field =...
封装了支持S3协议的文件服务器(如minio、阿里云OSS、腾讯云)的相关操作,支持分片上传、断点续传、不经过后端服务上传
包含的主要功能和示例 创建bucket 删除bucket 文件上传 拷贝文件 删除文件 文件下载 设置文件标签 上传文件指定时间自动删除 上传文件并加密 分片上传 断点续传 生成预签名url,直接前端上传不经过后端 源码地址 源码地址 使用demo地址 demo地址 前置测试环境 首先使用docker-compose安装了最新的minio用于测试 123456789101112131415version: '3' minio: image: minio/minio container_name: minio restart: always ports: - "9000:9000" # api端口 - "9001:9001" # 控制台端口 environment: MINIO_ROOT_USER: "miniouser" # 设置你的访问账户(用于控制台访问) MINIO_ROOT_PASSWORD: "123456789" # 设置你的访问密钥(用于控制台访问) volumes: ...
使用java开发了一个有毒可燃气体监测数据接收的服务端
项目简介 这是一个服务端源码 使用的是hj212-2017协议进行传输 监测设备通过网线接交换机,以TCP传输 传输设备共监测7个点,其中3个点监测的是混合气体,4个点是单一因子 存在212中的因子使用212编码,混合及不存在的使用自定义编码 阈值根据中华人民共和国国家职业卫生标准GBZ...
对接了一个园区的电子围网,全流程如下,其他TCP协议可以参考
[!前言] 本项目采用spring boot框架,使用netty做网络应用程序框架。下面做全流程分析。项目源码地址:https://github.com/chenqi92/pc-electric-fence.git 报文协议 这个应该是厂商自家定义的报文协议,发过来就是一个txt,协议原文内容如下😂 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118一、通讯方式 1. 串口方式: 波特率为9600bps,采用8-N-1格式 2. 网络方式: PC端做TCP服务器,默认监听端口5000二、数据包格式 ...
单一源事件(SSE)的一个spring boot实现,常用来将服务端内容实时推送到前端展示
[!前言] 不同于WebSockets提供了双向通信的能力,SSE只支持单向通信。但对于一些场景,如服务器向客户端发送通知或实时更新,SSE是一个简单且有效的选择。 说明 单一源事件(SSE)是一种用于实现服务器向客户端推送数据的网络技术。通常Web应用程序是基于请求-响应模式工作的,客户端需要定期向服务器发送请求以获取更新的数据。但是对于需要实时更新的应用,如聊天应用、股票市场更新等,这种轮询的方式效率不高。 SSE技术通过建立一次持久的连接,允许服务器主动向客户端发送数据,而不需要客户端发送请求。这种推送模式能够显著减少网络流量和服务器负载,同时实现实时更新。在SSE中,服务器向客户端发送一系列数据块,每个数据块以"event: "、"data: "和两个换行符开始,并以一个空行结束。客户端通过监听服务器发送的数据块来获取更新。 后端实现 以下模拟一个接口请求将每秒饭返回一条数据,持续十秒 12345678910111213141516171819202122232425262728293031323334353637383940414243444546package...
获取文件服务的文件并打包压缩至本地
前言 当前项目有这样一个需求,mysql数据库中一张人员表存放了人员的照片路径,照片是集中存放在文件服务器上,当前项目文件服务器使用的是minio 表结构(供参考,只为了取值) 1234567891011121314151617181920212223242526272829303132333435363738394041424344DROP TABLE IF EXISTS `cm_person`;CREATE TABLE `cm_person` ( `person_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '人员ID', `unit_id` bigint(20) NOT NULL COMMENT '单位id', `depart_id` bigint(20) NULL DEFAULT NULL COMMENT '部门ID', `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '姓名', ...
java程序调用dll
项目需求 调用捷宸EIO开发包DLL动态库控制应急门的开关停,现场应急门继电器连接的是6、7、8,分别对应的是开、停、关。0为打开,1为关闭。 java程序开发 在resource中新建lib将dll放入其中 sdk工具开发 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182package com.lyc.ocr.door;import com.sun.jna.Library;import com.sun.jna.Native;public interface DoorCallSDK extends Library { DoorCallSDK INSTANCE = (DoorCallSDK) Native.loadLibrary("IOSDK_x64", DoorCallSDK.class); /** ...
allbs工具类说明 - oss工具
依赖jar包 引入包 版本 jdk 1.8 spring boot 2.7.4 spring-boot-autoconfigure 2.7.4 spring-boot-starter-web 2.7.4 aws-java-sdk-s3 1.12.332 jakarta.validation-api 3.0.2 使用 添加依赖 mavenGradleKotlin12345<dependency> <groupId>cn.allbs</groupId> <artifactId>allbs-oss</artifactId> <version>2.0.0</version></dependency>1implementation 'cn.allbs:allbs-oss:2.0.0'1implementation("cn.allbs:allbs-oss:2.0.0") 添加配置 12345678oss: endpoint:...
allbs工具类,常用工具、方法封装
添加依赖 12345<dependency> <groupId>cn.allbs</groupId> <artifactId>allbs-model</artifactId> <version>0.8.1</version></dependency> 工具类 个人信息随机生成 姓名生成 12345// 根据权重随机ChineseUtil.getRandomChineseName();// 完全随机ChineseUtil.getRandomChineseName(false); 手机号生成 1PhoneNumberGenerator.generateRandomPhoneNumber(); 身份证号生成 1IDCardGenerator.generateRandomIDCard(false); JBF293K报文解析 12JBF293KMapper jbf293KMapper = new...