拖拽排序后端实现方案思考
看板软件,相信大多人都用过类似的软件,主要就是卡片拖动,卡片可以左右拖动,上下拖动,后端如何实现才能做到不用每次重排序号从而提高性能呢,在企业软件中也有很多树形和列表都是支持拖动排序的,这样设计比传统的上下直接移动可以提高效率,所以很多时候产品经理会合理考虑使用拖动排序来提高用户体验度。
看板软件,相信大多人都用过类似的软件,主要就是卡片拖动,卡片可以左右拖动,上下拖动,后端如何实现才能做到不用每次重排序号从而提高性能呢,在企业软件中也有很多树形和列表都是支持拖动排序的,这样设计比传统的上下直接移动可以提高效率,所以很多时候产品经理会合理考虑使用拖动排序来提高用户体验度。
题目如下:在一个不重复的1-100的随机数组[1,2,3,7,9,88,94,95,97,99]找出所有和为100的组合,比如[1,99],[2,3,95],[1,2,3,94],[xxx,xx,xx,xxxx]等等。
通常情况下,我们项目在通过Gitlab做CICD部署的时候,运维会统一让我们把需要部署的java编译后的jar包文件重命名并且拷贝到项目根目录下的deploy/app.jar,然后就统一引用一个构建脚本,目前我们项目组gralde和maven项目都有,基本上都是通过插件实现拷贝重命名到指定位置,当然gradle直接写脚本就可以简单拷贝,下面给出一些配置参考,仅做备忘。
前言最近项目上做个需求,需要将成绩导出成excel多个sheet中,针对平均分、百分比这类的值数据库存的是浮点数,所以在展示的时候我们一般保留小数后2位小数。我们常见的处理办法:
前言最近公司做一个需求,给用户上传的文件word和pdf文件进行添加水印,若是doc、docx文件先进行word转pdf然后加水印,如果是pdf文件直接进行加水印。word转pdf以前服务已经实现了直接复用代码,pdf添加水印通过itextpdf可以直接使用,本文仅做备忘。
可能平常会遇到一些需求,比如构建菜单,构建树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来,然后通过流式处理,我们一起来看看,代码实现为了实现简单,就模拟查看数据库所有数据到List里面。
原始需求是这样子,当你有一堆文件夹,为了防止被别人悄悄就转载走,所以在每个文件夹里面加一些‘广告’来源,并且所有文件夹需要加一个自增长序号和固定文字,方便根据编号快速定位到指定文件夹,直接上代码,使用了递归文件夹和修改文件夹名称。运行效果如下:
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵 活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,EJB作业预构 建,JavaMail及其它,支持cron-like表达式等等。
最近找了一份教学生Java入门的‘差事’,刚刚讲了一些基础,为了引起大家学习兴趣,于是写了一个简单的点名器,awt因为很少涉及,所以找的网上的,分别写了List版本和数组版本,因为还没给学生讲解List,只学习数组,所以单独改造了一个数组版本的,因为考虑到通用型,采用读取任意位置的txt文本,只需要按照格式一行一行的写入学生就可以实现点名了,采用的Random实现伪随机。直接上代码,基本上都能看懂
Java中给数组提供了一个二分法查找数组元素的位置,这个方法从JDK1.6开始,很多人不理解,做了一个总结对比看即可。