springboot环境下使用pageHelper插件进行分页 背景 这两天一直在重构自己的blog系统,更换持久层框架(之前使用Spring Data JPA,别问为什么换,问就是觉得不会用),更换成为Mybatis,但是在系统中有用的分页的业务,所以查询了pageHelper进行分页处理。 分析 ...
分类:
编程语言 时间:
2020-07-24 15:37:12
阅读次数:
73
任何Java开发人员的必备技能 现在,让我们一起探索这个Java开发人员路线图,并找出应该学习哪些工具,框架,库和API。 1.工具 路线图工具部分分为两个主要部分。首先,IDE是您的主要工具,它几乎可以完成您所要求的一切,例如编译,运行,调试,分析,测试,比较文件和代码,重构等等。 第二部分是构建 ...
分类:
编程语言 时间:
2020-07-23 22:44:58
阅读次数:
77
虚树对于多次询问的时候有这优化复杂度的好处,其原理就是只保留有用节点和必须保留的有用节点的lca 先求一遍dfs序后,用栈模拟操作,根据lca是否在栈中确定是否要将lca加入栈,因为重构了树,因此原来的边的信息需要进行更换 对于本题,新的边其实就是路径上的边权的最小值,这是因为随便切掉一个边就能把他 ...
分类:
其他好文 时间:
2020-07-22 16:20:10
阅读次数:
75
摘要:本文尝试对Mongo的复制和分布式事务的原理进行描述,在必要的地方,对实现的正确性进行论证,希望能为MongoDB内核爱好者提供一些参考。 1.前言 MongoDB基于wiredTiger提供的泛化SI的功能,重构了readHistory(readMajority)的能力 基于wiredTig ...
分类:
数据库 时间:
2020-07-22 16:14:52
阅读次数:
78
递推算法 通过已知条件,利用特定关系得到中间推论,直至得到结果;(分顺推,逆推) ps:斐波那契数列,1 1 2 3 5 8 13 。。。得到第n位数; 规律:首位1,二位1,三位开始前两数和; function feibo($n) { if($n == 1 || $n == 2) return 1 ...
分类:
编程语言 时间:
2020-07-22 01:33:55
阅读次数:
95
6.1 Extract Method(提炼函数) 你有一段代码可以被组织在一起并独立出来。将这段代码放进一个独立函数中,并让函数名称解释该函数的用途。 动机: 如果每个函数的粒度都很小,那么函数被复用的机会就更大;这会使高层函数读起来就像一系列注释;如果函数都是细粒度,那么函数的覆写也会更容易些。 ...
分类:
其他好文 时间:
2020-07-21 01:03:09
阅读次数:
100
Web优化的对象包括页面性能、用户体验、开发效率、代码优化、网络延迟等,本系列会列举出众多常用的优化技巧,每个技巧都可深入分析,在此只做抛砖引玉。 本系列优化内容提炼于《前端面试宝典》、《高效前端》、《高性能JavaScript》、《CSS重构》等书籍,以及《2020前端性能优化清单》等网络资源。 ...
分类:
Web程序 时间:
2020-07-20 10:48:52
阅读次数:
87
3.1 Duplicated Code(重复代码) 3.2 Long Method(过长函数) 让小函数容易理解的真正关键在于一个好名字。 每当感觉需要以注释来说明点什么的时候,我们就把需要说明的东西写进一个独立函数中,并以其用途(而非实现手法)命名。 条件表达式和循环常常也是提炼的信号。 3.3 ...
分类:
其他好文 时间:
2020-07-19 23:48:56
阅读次数:
84
4.1 自测试代码的价值 编写代码其实只占非常小的一部分。有些时间用来决定下一步干什么,另外一些时间花在设计上,最多的时间则是用来调试。 类应该包含它们自己的测试代码。 确保所有测试都完全自动化,让它们检查自己的测试结果。 一套测试就是一个强大的bug侦测器,能够大大缩减查找bug所需要的时间。 编 ...
分类:
其他好文 时间:
2020-07-19 23:37:39
阅读次数:
77
2.1 何谓重构 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。 使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。 添加新功能时,你不应该修改既有代码,只管添加新功能。重构时就不能再添加功能,只管改进程序结构。 2.2 为何重构 重构 ...
分类:
其他好文 时间:
2020-07-19 23:14:47
阅读次数:
66