自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

REID丶Beginner的博客

一个不称职的程序猿

  • 博客(86)
  • 资源 (10)
  • 收藏
  • 关注

原创 如何设计一个高效、灵活的规则引擎

例如,RuleRegistry可以通过单例模式来保证唯一性,ActionRegistry可以采用工厂模式来生成动作对象,Rule Executor可以通过责任链模式实现不同优先级规则执行,ConditionRegistry可以使策略模式来动态加载条件实现等等。由此,这个规则引擎能够帮助用户通过简单规则的组合来完成更复杂的业务逻辑,将规则集中管理,可配置化,更加的灵活和高效,并且容易扩展、易于维护和管理。此部分是规则引擎的规则逻辑库,包含条件和动作的定义,以及规则的版本管理。

2023-06-12 16:49:22 1252

原创 如何记录Java对象的修改历史和实现数据修改日志

在大多数业务场景中,修改历史是非常重要的信息。例如,当我们对某个对象进行数据修改时,可能需要记录修改之前和修改之后的值,以便于我们对修改进行审核和追溯,以及诊断和解决潜在的问题。在 Java 开发中,我们可以使用观察者模式来实现记录Java对象的修改历史和实现数据修改日志。本文将介绍如何实现这一功能。

2023-05-31 14:07:35 6132 6

原创 自定义持久层框架设计思路和源代码

使用端(项目):引入自定义持久层框架的jar包提供两部分配置信息:数据库配置信息、SQL配置信息、SQL语句、参数类型、返回值类型。使用配置文件来提供这两个部分配置信息: 1、sqlMapConfig.xml:存放数据库配置信息,存放mapper.xml的全路径; 2、mapper.xml:存放SQL配置信息;自定义持久框架本身(工程):本质就是对JDBC代码进行封装1、加载配置文件:根据配置文件的路径加载配置文件成字节输入流,存储在内存中; 创...

2021-02-05 17:47:20 187 2

原创 通过Docker Compose的方式在Docker中安装Maven环境

目前可以说 Docker 已经是在开发部署中成为主流,所以我们很多环境和工具都会安装在 Docker 容器中,Maven 环境是 SpringBoot 项目中最常用的依赖管理工具。如果您希望在宿主机中使用容器中的 Maven 环境,您可以在宿主机上执行 Maven 命令时使用 Docker 执行命令。命令,就相当于在 Maven 容器中执行 Maven 命令,从而可以在宿主机中使用容器中的 Maven 环境了。文件,它只需启动一个 Maven 容器,并暴露 Maven 的一些基本配置。

2024-02-20 09:34:40 754

转载 深入了解 docker-compose.yml 各项配置用途

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。docker compose文件是一个yaml格式的文件,所以注意行首的缩进很严格,docker compose文件的格式很不同版本,版本不同,语法和格式有所不同。

2024-02-07 11:05:02 209

原创 Spring SpEL 表达式语言

Spring也有自己的EL,叫Spring Expression Language,简称SpEl。其可以在程序中单独使用,也可以在Spring应用中进行bean定义时使用。其核心是org.springframework.expression.Expression接口,Spring使用该接口来表示EL中的表达式。通过Expression接口的系列getValue()方法我们可以获取对应Expression在特定EvaluationContext下的值,也可以通过其系列setValue()方法来设值。

2023-09-21 09:16:11 603

原创 Ngrok 的绝佳替代品,内网穿透神器 Serveo

生成的二级域名进行连接的。如果你想使用自己的域名也是可以的,方法非常简单。只需要在你的域名所在 DNS 中添加一条 A 记录和一条 TXT 记录就可实现。上面的方法虽然可以解决超时的问题,但进程始终是在前台运行的。服务其实方法也很简单,同样只需设置公网的转发端口和本地端口就可以了。如果你不想使用随机域名,想指定一个固定的二级域名也是可以的。DNS 解析记录增加好后,你就可以使用自定义域名进行连接了。要实现这样的需求也很简单,只需要使用下面的命令。间接访问到本地计算机 8080 端口上的服务了。

2023-07-26 11:07:10 1215 1

原创 后端程序员学习前端开发之第一步环境搭建

后端程序员学习前端开发之第一步环境搭建Node.js 是一个开源的、跨平台的 JavaScript 运行时环境。

2023-03-01 15:53:05 384 1

原创 Windows 查看已经链接过的 WiFi 密码

Windows 查看已经链接过的 WiFi 密码

2022-10-18 14:44:26 270

原创 Java Stream 流常用方法 lambda 表达式实现交集、并集、差集、去重复并集等

一般的javaList 交、并集采用简单的 removeAll retainAll 等操作,不过这也破坏了原始的javaList对象,采用java8 lambda表达式流操作则可以不影响原始list对象而得到两个javaList对象的 交、并、差集。

2022-09-26 16:32:11 4086

原创 Docker 安装项目运行环境

1、通过可视化 Docker 管理工具 Portainer 进行安装();2、直接通过执行命令进行安装;

2022-09-05 16:04:06 949

原创 MySQL 字段值按照分隔符拆分成列(行转列)

MySQL 字段值按照分隔符拆分成列(行转列)

2022-08-18 14:56:33 2225

原创 MySQL 常用时间相关查询(当天、本周、本月、本季度、本年)

MySQL 常用时间相关查询(当天、本周、本月、本季度、本年)

2022-08-05 14:27:53 1214 1

原创 IDEA 远程部署项目 BUG 调试

启动完成后,在 IDEA 中选择刚刚你取的远程调试项目名 Debug 启动就可以了(这里需要注意,IDEA 打开的项目必须和你调试的是同一个项目,还要你所配置的调试端口必须是开放的)。OK 启动 docker 镜像, 本地运行 Remote Jvm Debug 配置就可以了。1、修改 DockerFile 文件。2、配置Docker 镜像启动参数。2、重启需要调试的远程项目。1、配置远程调试项目参数。............

2022-08-04 10:14:26 667

原创 MySQL8.x后默认root用户无法远程访问

MySQL8.x后版本的允许远程访问不同,其需要创建一个用户并授权,允许外部访问,root用户不能直接远程访问。

2022-07-15 16:50:37 1323

原创 CentOS 7 、8下安装 Docker 以及安装可视化工具

在 Centos7 下通过 yum 方式安装 Docker3、安装需要的软件包4,设置yum源(中央仓库、阿里仓库中选择一个)5、安装 Docker(查看版本信息:yum list docker-ce --showduplicates | sort -r)6、启动 Docker7、设置开机自启8、如果觉得默认镜像下载慢,可以配置镜像加速编辑这个文件新增配置重启 Docker 服务番外篇通过 yum 的方式安装 Docke..

2022-07-14 17:07:33 1211

原创 Spring Boot + Flowable 工作流引擎

想必大家再看这篇文章的时候已经对目前主流的工作流引擎有所了解了。目前主流的工作流开源框架也就 Activiti/Camunda/Flowable 这几个了,在我对这三大工作流引擎简单使用了解后,最后选择了 Flowable 来写这篇文章。(有可能是我个人比较喜欢吧!在之前也有考虑过 Camunda,毕竟它更加的轻巧灵活,他的初衷就是为开发人员设计的“小工具”,但我个人的感觉而言,Camunda 从代码上看并没有 Activiti 和 Flowable 好,而且他的社区是最不活跃的一个,所以不太建议使用。当然

2022-06-23 14:46:15 8421 1

原创 Windows 环境下安装MySQL出现的vcruntime140.dll缺失问题解决

Windows 环境下安装MySQL出现的vcruntime140.dll缺失问题解决

2022-06-10 13:09:32 409

原创 Java 使用 iText5 API 根据需求导出 PDF

iText 目前有两套版本,分别是 iText5 和 iText7。iText5 应该是网上用的比较多的一个版本。iText5 因为是很多开发者参与贡献代码,因此在一些规范和设计上存在不合理的地方。iText7 是后来官方针对 iText5 的重构,两个版本差别还是挺大的。不过在实际使用中,一般用到的都比较简单的 API,所以不用特别拘泥于使用哪个版本。相关依赖<dependency> <groupId>com.itextpdf</groupId> <

2022-05-26 10:14:36 807

原创 ArcGIS API for JavaScript 图层服务查询where条件构造器

/** * SQL where 条件构建器 */export default class CreateSqlWhere { /** * where 条件 sql */ whereSql: string; getSql() { return this.whereSql; } eq(field?: string, value?: string) { this.defConnect(); thi.

2022-03-03 16:18:40 974

原创 GIS中的数据(空间数据)

数据涵义与数据类型空间数据可分为三种类型:空间特征数据(定位数据)、时间属性数据(尺度数据)和专题属性数据(非定位数据)。对于绝大部分地理信息系统的应用来说,时间和专题属性数据结合在一起共同作为属性特征数据,而空间特征数据和属性特征数据统称为空间数据(或地理数据)。空间特征数据空间特征数据记录的是空间实体的位置、拓扑关系和几何特征,这是地理信息系统区别于其他数据库管理系统的标志。空间特征指空间物体的位置、形状和大小等几何特征,以及与相邻物体的拓扑关系。位置和拓扑特征是地理或空间信息系统.

2022-02-11 13:54:54 7523

原创 解决Windows10家庭版无Hyper-v虚拟机问题

创建文件Hyper.cmd并且添加以下脚本用管理员方式运行pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txtfor /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"del hyper-

2021-12-17 09:05:33 1005

原创 基于HuTool工具实现Excel复杂表头生成、单元格合并绘制对角线(计算N叉树的最大深度和最大宽度)

基于HuTool工具实现Excel复杂表头生成、单元格合并绘制对角线(计算N叉树的最大深度和最大宽度)

2021-12-14 09:06:23 6137 2

原创 GeoTools:WKT、GeoJson、Feature、FeatureCollection相互转换

import cn.hutool.core.util.ArrayUtil;import cn.hutool.json.JSONArray;import cn.hutool.json.JSONObject;import cn.hutool.json.JSONUtil;import org.geotools.data.DataUtilities;import org.geotools.data.collection.ListFeatureCollection;import org.geotool..

2021-11-03 15:48:08 3919 4

原创 ESLint 中 .eslintrc.js 配置介绍

rules: { // 配置定义在插件中的一个规则的时候,你必须使用 插件名/规则ID 的形式 vue/attribute-hyphenation eqeqeq: 0, // 不要求使用 === 和 !== camelcase: 0, // 不强制使用骆驼拼写法命名约定 indent: 0, // 不强制使用一致的缩进 'no-console': 0, // 允许 console 'no-control-regex': 0, // 禁止在正则表达式中使用控制.

2021-09-08 10:56:39 1776

原创 TypeScript 中的 tsconfig.json 配置介绍

"compilerOptions": { "incremental": true, // TS编译器在第一次编译之后会生成一个存储编译信息的文件,第二次编译会在第一次的基础上进行增量编译,可以提高编译的速度 "tsBuildInfoFile": "./buildFile", // 增量编译文件的存储位置 "diagnostics": true, // 打印诊断信息 "target": "ES5", // 目标语言的版本 "module": "CommonJS", // 生成代码的模板.

2021-09-03 10:20:07 6121 1

原创 Vue 中常用函数变量介绍

对于很少写前端的朋友来说,偶尔需要写一些前端代码的时候,查资料又费时间,开别人写的代码又没注释,这时就不知所措很难下手。以下图片内容就是在前端开发过程中经常使用到的变量属性:1、name:非必选项,我们可以理解为给该文件或页面签个名,在其它文件或页面需要用到的时候直接可以通过该 name 引入,看起来好像没啥用处,但是实际上这里用处还挺多的(具体作用自行百度一下)。2、props:(或 properties )是我们将数据从父组件向下传递到其子组件的方式,也就是说有继承关系的页面是可以直接.

2021-08-25 16:24:38 1191

原创 oracle 账号共享

账号来源于网络分享:一、账号:[email protected]密码:Java2019二、账号:[email protected]密码:Oracle1234更多共享账号BugMeNot

2021-08-24 15:56:39 8015 16

原创 解决 vue 项目 npm 运行时报错“因为在此系统上禁止运行脚本”

错误信息:解决办法:以管理员身份打开 Windows PowerSherll使用命令“set-ExecutionPolicy RemoteSigned”,将计算机上的执行策略更改为 RemoteSigned 就搞定了

2021-08-23 16:29:43 461

原创 VS Code 高效开发插件

一、文件图标 vscode-icons二、暗色主题 One Dark Pro三、代码美化 Beautify四、代码检查工具 ESLint五、调试工具 Debugger for Chrome六、万能语言运行环境 Code Runner七、快速注释 Document This八、CSS 类名只能提升 IntelliSense for CSS class names in HTML九、代码拼写检查 Code Speell Checker十、备忘插件 TODO Highlight

2021-08-23 10:00:12 135

原创 commons-math之常用科学计算(百分位、总体方差、中位数、变异系数、偏度系数、峰度系数)

import cn.hutool.core.util.NumberUtil;import org.apache.commons.math3.stat.StatUtils;import org.apache.commons.math3.stat.descriptive.moment.Kurtosis;import org.apache.commons.math3.stat.descriptive.moment.Skewness;import org.apache.commons.math3.sta..

2021-08-11 13:55:45 5112

原创 数据库自定义聚合函数(求和、标准差、平均值、几何平均值、几何标准差、偏度系数、峰度系数)

/* * stats_agg 是 PostgreSQL 的聚合函数工作方式类似于先前存在的聚集体(min(x),max(),avg()等),但计算一 * 次,并返回他们都多的统计数据。返回的统计数据是count,min,max,mean,variance,skewness,和 kurtosis,但其他人可以加入。 * * 我需要一个返回偏度和峰度的聚合,而不是为每个需要多次传递来计算平均值等的单独函数,我认为最好有一个聚合在一次传递中返回所有内容。 * * 感谢 John D. Cook .

2021-08-11 13:47:13 2025

原创 Java IP 地址工具(获取客户端IP)

import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import javax.servlet.http.HttpServletRequest;/** * <p> * IP 地址工具 * </p> * * @Author REID * @Blog https://blog.csdn.net/qq_39035773..

2021-07-28 15:48:40 164

原创 Solr搜索引擎详细教程及Java API使用(SolrJ-8.11)

一、Solr安装在 Unix 兼容或 Windows 服务器上安装 Solr 通常需要简单地提取(或解压)下载包。请务必在 Solr 安装前准备好一下必备环境(如:jdk )。番外篇:很多人在安装 Solr 会纠结 Tomcat 和 Jetty 怎么选,都说 Solr 内置的 Jetty 不稳定有问题;1、下载 Solr 安装包。Solr 可从 Solr 网站获得:最新版 Solr 下载。有三个独立的包: solr-8.11.0.tgz适用于 Linux/Unix/O...

2021-07-20 15:37:42 4786 1

原创 springboot使用proguard代码混淆配置

pom.xml文件完整配置<build> <plugins> <!--混淆代码插件--> <plugin> <groupId>com.github.wvengen</groupId> <artifactId>proguard-maven-plugin</artifactId> <executions> <execution> <ph

2021-07-20 10:29:35 1965

原创 Collection工具(MapList指定字段排序排名、Map通过K或V排序、获取Map中第一个非空数据值)

MapTools是针对Map的一一列工具方法的封装,包括getXXX的快捷值转换方法。MapList指定字段排序排名、Map通过K或V排序、获取Map中第一个非空数据值。

2021-05-11 13:36:45 1204

原创 Java通过正则表达式拆分复杂字符串

将字符串通过“、”拆分成数组;在要拆分的字符串中“二苯并[a、h]蒽”是个整体;public static void main(String[] args) { String content = "砷、苯、苯并[a]芘、二苯并[a、h]蒽、五氯苯酚"; List<String> resultFindAll = ReUtil.findAll("([^、\\[]+(\\[[^\\d]+?\\]){0,1}([^、])?)", content, 0, new ArrayLis

2021-04-25 09:52:51 799

原创 学不完的技术,好讨厌开发......(高质量学习资源持续更新中)

书中通过讲解企业管理系统、电商系统、报表系统等项目的实际开发流程,把流行的 Struts、Spring、Hibernate、Spring MVC、MyBatis 等框架整合起来,再从代码层面讲述 Maven、WebService、POI 等技术,让读者在学习 Java 架构师需要具备的专业技能的同时,了解项目开发的整个过程。本书从最基本的设计原理及思想出发,深入讲解和剖析了23种常见的设计模式,每种模式都对应相应的案例,这些案例通俗易懂、围绕模式的核心思想,便于读者进一步理解和学习设计模式。

2021-04-21 15:44:02 217

转载 JDK8:HashMap源码解析:treeifyBin方法

一、概述treeifyBin方法,应该可以解释为:把容器里的元素变成树结构。当HashMap的内部元素数组中某个位置上存在多个hash值相同的键值对,这些Node已经形成了一个链表,当该链表的长度大于等于9(为什么是9?TREEIFY_THRESHOLD默认值为8呀?详见put方法解析:JDK8:HashMap源码解析:put方法)的时候,会调用该方法来进行一个特殊处理。二、方法解析/** * tab:元素数组, * hash:hash值(要增加的键值对的key的hash值) ..

2021-04-14 09:50:26 170

转载 JDK8:HashMap源码解析:TreeNode类的treeify方法

一、概述treeify方法是TreeNode类的一个实例方法,通过TreeNode对象调用,实现该对象打头的链表转换为树结构。二、方法解析/** * 参数为HashMap的元素数组 */final void treeify(Node<K,V>[] tab) { TreeNode<K,V> root = null; // 定义树的根节点 for (TreeNode<K,V> x = this, next; x != null; x .

2021-04-14 09:48:37 320 2

自定义持久层框架之MyBatis.zip

无聊时写着玩之徒手撸自定义持久层MyBatis框架; 将会涉及到的一些知识点:工厂模式(Factory工厂模式)、构造者模式(Builder模式)、代理模式,反射,自定义注解,注解的反射,xml解析, 数据库元数据,元数据的反射等。

2021-02-05

sqoop-1.4.7.jar

sqoop框架开发工具使用的jar sqoop-1.4.7.jar 手动安装到maven org.apache.sqoop sqoop 1.4.7

2020-06-29

swftools.zip

SWFTools是一种实用工具与Adobe Flash文件(SWF文件)工作的集合。 该工具集包括用于阅读的SWF文件,结合他们,和他们建立从其他内容(如图像,声音文件,视频或源代码)程序。 SWFTools是在GPL下发布的。 SWFTools 是一组用来处理 Flash 的 swf 文件的工具包,包括: 1. 合并工具 swfcombine 2. 抽取工具 swfextract 3. PDF/JPEG/PNG/AVI/TTF/WAV 到 SWF 的转换工具 :pdf2swf, jpeg2swf, png2swf, avi2swf, font2swf, and wav2swf| 4. 文本解析工具 swfstrings 5. SWF 解析器 swfdump 6. SWF 读写库 rfxswflib。

2019-08-03

Axure 9 部件库-产品经理必备.zip

Axure 9 Web前端+后台+移动前端 元件库 。 利用Axure V8+ 下载,直接使用。 主要用于产品经理在构建清晰化需求的不二选择。 拥有一整套元件是互联网产品经理必备文档。

2019-08-03

ACR122U操作IC卡源代码

非接触式智能卡读写器ACR122U操作Java代码,ACR122U操作IC卡源代码,该源码是本人参考ACR122U中文开发文档所开发的,代码很简单也很容易理解,不能理解我也全部已经注释了

2019-02-26

Java实现斗地主源码

Java实现斗地主源码,程序文件夹结构是从C#转过来的,期间使用一个叫C#转JAVA的工具,转换了一下语法,效果不是很理想,还是手工改了许多地方 可以看到,程序是从Program.java启动(和VS的项目一样)

2019-02-16

Java实现的桌球游戏源码

Java实现的桌球游戏源码,编译后直接运行,也有编译好的 class文件,只有一份非常方便 java最简易开发的桌球小游戏

2019-02-16

Java捕鱼达人源码

Java捕鱼达人源码,是纯Java开发的捕鱼达人源码,其中包含捕鱼达人的相关素材以及完整源码,可以根据源码素材进行学习

2019-02-16

NFC读写器YW-607技术资料

文档中列出了各种NFC标签的操作流程和方法,不管是使用NFC标签还是学习NFC标签,都值得收藏和参考。

2018-07-12

机器学习,人工智能

学习数据的正确表示的想法是解释深度学习的一个视角。另一个视角是深度促 使计算机学习一个多步骤的计算机程序。每一层表示都可以被认为是并行执行另一 组指令之后计算机的存储器状态。更深的网络可以按顺序执行更多的指令。

2018-07-10

空空如也

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

TA关注的人

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