• 项目工具:基于ReflectASM+注解开发对象转换工具

    基于ReflectASM+注解开发对象转换工具开发原因在项目对接数据中,会遇到了对外标准和内部标准对象转换问题,需要将上报的数据对象转换为我们项目中标准数据对象,当两边数据标准一致时,比较常见的方式,就是new一个标准的对象,set和get对接数据;或者orika复制对象。第一种方法,就会有长篇幅的...

    项目工具:使用python实现一个SSH隧道界面

    使用python实现一个SSH隧道界面开发原因MobaXterm作为一个全能型终端神器,功能十分强大,我经常使用其中隧道功能,使用内部无法直接服务器,查询数据,一般来说,一个本地端口对于一个隧道,但是MobaXterm,免费版本最多只能建立三个隧道,比如,我需要一次查询统计,就会用到四个隧道的操作,...

    项目工具:两行代码快速生成测试的数据的FakeDataMaker

    开发原因ReflectASM 是一个非常小的 Java 类库,通过代码生成来提供高性能的反射处理,自动为 get/set 字段提供访问类,访问类使用字节码操作而不是 Java 的反射技术,因此非常快。在单元测试的时,需要模拟制造一些数据去测试我们代码会不会出现明显的异常(字段导致、空指针),除了自己...

    项目工具:使用freemarker实现业务代码生成器

    开发原因之前使用的开源框架里面,有个代码生成器,可以一键生成的重复业务代码(包括:controller、service、mapper、entity),虽然很好用,但是生成器属于框架定制化开发工具,要是其他项目要是想使用这个生成器,需要同时启动前后端的服务,在页面上配置表和导出的路径,这样操作就非常的...

    项目工具:摆脱环境依赖缺失的问题(docker部署redis)

    问题项目需要在内网(不联网)进行部署我们的后端服务,框架涉及使用redis做成缓存,由于内网的系统为centos7,我们在部署的时候,遇到了编译redis6缺少环境的文件问题,后来把环境包导入内网环境后,还是存在各种依赖的缺失问题。使用了之前其他服务器部署的解决方案,虽然能解决掉服务的部署问题,但是...

    功能设计:设计一个数据同步的方案(p6spy+注解+AOP)

    这个方案只完成了一个简单的demo,估计完成了80%后,由于方案的修改,这个部分功能也就作废了,打算写篇文章记录一下,大致的思路用到的两个知识点:P6Spy是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。 通过P6Spy我们可以对SQL语句进行拦截,相当于一个SQL语句的记录器,这样我们...

    每日题解:LeetCode 897. 递增顺序搜索树

    题目地址题目描述给你一棵二叉搜索树,请你 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。示例 1:输入:root = [5,3,6,2,4,null,8,1,null,null,null,7,9]输出:[1,null,2,...

    每日题解:LeetCode 213. 打家劫舍 II

    题目地址题目描述你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房屋存放金额的非负整数数组...

    每日题解:LeetCode 208. 实现 Trie (前缀树)

    题目地址题目描述Trie(发音类似"try")或者说前缀树是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。请你实现Trie类:Trie()初始化前缀树对象。voidinsert(Stringword)向前缀树中插...

    每日题解:LeetCode 783. 二叉搜索树节点最小距离

    题目地址题目描述给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。注意:本题与530:https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst/相同示例1:输入:root=[4,2,6,1,3]输...