判断是否为数字
要知道对好事的称颂过于夸大,也会招来人们的反感轻蔑和嫉妒。——培根 JavaScript有一个函数isNaN NaN表示的是NOT A NUMBER(不是一个数字) 所以我们判断一个变量是否为数字,或者改字符串是否能转换成数字,就可以使用isNaN函数然后取反
forge环境搭建
人的一生是万里山河,来往无数客,有人给山河添色,有人使日月无光,有人改他江流,有人塑他梁骨,大限到时,不过是立在山巅,江河回望。——尾鱼 今天根据这篇博客搭建了下:https://boson.v2mcdev.com/introducation/intro.html 首先下载mdk 然后解压 然后用idea打开 等待构建 完成后 双击genIntellijRuns 如果第一次失败,再运行一次即可 选择run client 点击启动 启动完成后点击mods 可以看到我们项目中的默认示例mod 环境就搭建完成啦!
安卓证书在线制作工具
想要走的更快,请独行;要想走的更远,请结伴而行——非洲古谚 分享一个安卓证书在线制作工具 链接:http://www.applicationloader.net/appuploader/keystore.php
mybatis-plus乐观锁
青,取之于蓝而青于蓝;冰,水为之而寒于水。 ——《荀子·劝学》 同样还是mybatis-plus官方示例项目 此处乐观锁不同于悲观锁的区别是,它只有在真正执行数据库操作的时候才去进行判断是否重复修改 需要指定一个字段作为版本号,使用@Version注解 官方文档中如此描述: 当要更新一条记录的时候,希望这条记录没有被别人更新乐观锁实现方式: 取出记录时,获取当前version 更新时,带上这个version 执行更新时, set version = newVersion where version = oldVersion 如果version不对,就更新失败 乐观锁配置需要两步 #1.配置插件spring xml方式: 123456789<bean class="com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor" id="optimisticLockerInnerInterceptor"...
springboot中jackson的yml配置
生命是短暂的,如果我能让别人以更短的时间,看到更多的美,这难道不是一件值得奋斗的事情吗?——灵遁者 配置如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748spring: jackson: # 日期序列化格式 date-format: yyyy-MM-dd HH:mm:ss # 序列化和反序列化属性配置,默认是保留字段名称,并从方法中删除 set/get/is 前缀(以及小写首字母大写字符序列) property-naming-strategy: com.fasterxml.jackson.databind.PropertyNamingStrategy # 序列化属性可见度 visibility: # 所有的GETTER都设置为只有公共可见 GETTER: PUBLIC_ONLY # 所有的SETTER都设置为只有公共可见 SETTER: PUBLIC_ONLY ...
mybatis-plus字段类型处理器
人的一切痛苦,本质上都是对自己的无能的愤怒。——王小波 我们clone下来mybatis-plus官方示例项目: 1https://gitee.com/baomidou/mybatis-plus-samples.git 首先看文档: JSON 字段类型 1234567891011121314151617181920212223@Data@Accessors(chain = true)@TableName(autoResultMap = true)public class User { private Long id; ... /** * 注意!! 必须开启映射注解 * * @TableName(autoResultMap = true) * * 以下两种类型处理器,二选一 也可以同时存在 * * 注意!!选择对应的 JSON 处理器也必须存在对应 JSON 解析依赖包 */ @TableField(typeHandler = JacksonTypeHandler.clas...
vue深度监听
放纵自己的欲望是最大的祸害;谈论别人的隐私是最大的罪恶;不知自己的过失是最大的病痛——亚里士多德 我们有时使用vue的watch,可能要对一个对象的多个属性进行监听 这样我们就可以使用深度监听 123456789101112131415161718192021222324252627282930313233343536<template> <view> </view></template><script>// 11位手机号码正则const REGEXP_TEL = /^((1[3,5,8,7,9,6][0-9])|(14[5,7])|(17[0,6,7,8])|(19[7]))\d{8}$/;export default { data() { return { // 表单数据存储 formData: { username: '', password: '' }...
mybatis-plus源码环境搭建及运行
知古不知今,谓之落沉。知今不知古,谓之盲瞽。——王充 今天有小伙伴问我mybatis-plus源码运行不了 让我写一篇教程。。。 首先来到gitee仓库 复制地址 1https://gitee.com/baomidou/mybatis-plus.git 然后在idea中导入 完成后打开项目了 等待gradle构建、导入依赖 然后检查环境 指定为jdk8 注意也要检查一下模块这里 然后如果我们gradle依赖下载好了就可以找一个测试类执行了 如果有一些废弃警告可以忽略 我的gradle配置如下,那都是用的idea默认的配置,当然如果是idea2021版本lombok有问题,可以看我这一篇博客: 如果还是不行,可以试着清除一下idea缓存
并行流线程数获取
我那时喜欢的是黄昏、荒郊和忧伤,而如今则向往清晨、市区和宁静。——博尔赫斯 这里用一个Set去接收并行流产生的线程id,对于上方的reduce函数我之前一篇博客已经讲过了,今天就来论证一下,到底并行流的线程数是否和JVM虚拟机可用的处理器数一致: 代码如下: 12345678910List<Integer> list = Stream.generate(() -> 1).limit(100).collect(Collectors.toList());System.out.println(list);int sum = list.parallelStream().reduce(1, Integer::sum, (a, b) -> { System.out.println(Thread.currentThread().getId() + " " + Thread.currentThread().getName() + " parallelStream执行sum时上次结果:[" + a + "...
css模糊
我们都希望自己过艺术的一生,但艺术是什么,却没有明确的定义。你过早地为人生设限,大多数时候是不成熟的表现。——灵遁者 对应的css代码为: 1filter: blur(1px); 这里可以更改blur值的大小 1filter: blur(2px);
