策略模式
只有永远躺在泥坑里的人,才不会再掉进坑里。——黑格尔 今天聊聊策略模式 一个导航程序,提供多种出行方式的导航策略 例如最开始就两种策略如步行和公路出行,我们将它写到一个类中 慢慢的,新增了公共交通,步行和公路出行中的逻辑越来越多,越来越复杂 如果此时不进行抽取,则会导致一个类中的代码行数过多,维护起来困难,如果是团队开发,代码冲突不断 抽取后能解决此问题,并且一些公共逻辑抽取出来能减少重复代码 因此我们将所有策略抽取出一个公共接口: 123456789101112131415161718192021package com.ruben.strategies.exapmle;import java.util.List;/** * 路线规划策略接口 * * @author <achao1441470436@gmail.com> * @since 2021/10/16 19:10 */public interface RouteStrategy { /** * 路线规划 * * @param start 起点 * @para...
layui镜像
偌大的城市,绵延无尽,并非是我眼见的让我停住了脚步,而是我所看不见的。——《海上钢琴师》 layui官网下架了,暂时这两天用非官方镜像代替吧 https://layui.itze.cn/
mybatis-plus代码生成器(二)
没有斗争就没有功绩,没有功绩就没有奖赏,而没有行动就没有生活——别林斯基 之前写过一篇,不过当时是快照版直接跑在源码环境里,今天我们使用最新的api,并且使用GAV引入 12345<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.1</version></dependency> 代码: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192package com.ruben;import com.baomidou...
uniapp拖动排序实现思路
没有哪一个聪明人会否定痛苦与忧愁的锻炼价值。——赫胥黎 找到下载量最多这个组件 https://ext.dcloud.net.cn/plugin?id=1372 导入,不多说 文档示例: 使用示例页面: 123456789101112131415161718复制代码<template> <view class="content"> <HM-dragSorts :list="list" :isLongTouch="true" :rowHeight="55" @change="change" @confirm="confirm" @onclick="onclick"> <template slot="rowContent" slot-scope="{ row }"> ...
mybatis-plus过滤不需要查询的字段
仁义忠信,乐善不倦,此天爵也 。一一孟子 之前写过过滤出需要查询的字段,也简单介绍了下Mybatis-Plus的select函数 今天写了个小函数,可以直接传入不需要查询出来的字段 12345678910111213/** * 过滤不需要查询的字段 * * @param wrapper 条件构造器 * @param functions 字段 * @return com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<T> * @author <achao1441470436@gmail.com> * @since 2021/10/12 15:51 */@SafeVarargspublic static <T> LambdaQueryWrapper<T> filterProperties(LambdaQueryWrapper<T> wrapper, SFunction<T, Serializable>... functions)...
springboot项目打包后页面访问不到
不会宽容别人的人,是不配受到别人的宽容的。但是谁能说自己是不需要宽容的呢?——屠格涅夫 今天项目打包上线,有个页面死活找不到,报错500提示模板不存在 但在本地idea运行后又能访问到 首先我先找了下Controller和页面,粗略看了下,好像没啥问题 生成的target目录下也有 我本来还怀疑是nginx配置有问题,查看了下配置文件,并没有/admin的路径重写 然后我使用mvn package打成jar包后,即便是本地java -jar运行也是找不到该模板。。。 我再次逐句逐句查看代码 发现了问题所在: 这个地方和其他的Controller中跳转页面写的不一样,多了个杠!!! 最坑的就是,在idea中运行的项目能正确访问,到了线上就访问不到了,最后去掉这个杠就好了。。。
RedisView
青年人比较适合发明,而不适合判断;适合执行,而不适合磋商;适合新的计划,而不适合固定的职业。——弗·培根 分享一个redis连接客户端RedisView 下载:https://github.com/cc20110101/RedisView 界面美观而且好用
Sa-Token中SerializationException
有两件事我最憎恶:没有信仰的博才多学和充满信仰的愚昧无知。——爱默生 今天把Sa-Token中的用户状态进行持久层扩展 使用了jdk默认序列化方式后报错,清除缓存后又换成了jackson序列化方式 结果还是报错SerializationException,提示我LocalDateTime没有默认构造器 既然我项目中mvc使用的fastJson配置过LocalDateTime的转换,那我就继续用fastJson进行拓展吧: 首先是配置FastJson 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657package com.ruben.xchat.config;import com.alibaba.fastjson.parser.ParserConfig;import com.alibaba.fastjson.serializer.SerializeConfig;import com.alibaba.fastjson.s...
vue强制更新
人生是花,而爱便是花的蜜。——雨果 我们可以使用: 1this.$forceUpdate(); 去强制重新渲染vue的页面元素 一般用于异步请求回调后赋值完毕,但页面未渲染的情况下 官方文档介绍如下: 示例: 迫使 Vue 实例重新渲染。注意它仅仅影响实例本身和插入插槽内容的子组件,而不是所有子组件。
HandBrake
与肝胆人共事,无字句处读书。——周恩来 介绍一个视频压缩转换软件 网址:https://handbrake.fr/ 下载 安装 启动,提示需要安装.NET,点击是 下载 安装 再次运行 将视频拖入 选择预设 选择路径后点击开始编码 完成
