browserify
很奇怪,我们不屑与他人为伍,却害怕自己与众不同。——保罗·科埃略的《韦罗妮卡决定去死》 今天又来分享个好东西:https://browserify.org/ 这个玩意儿可以帮我们把npm下载的依赖,使用script标签引入: 先安装: 1pnpm install -g browserify 比如我们引入一个outils 1pnpm i outils 然后编写一个main.js 12345const outils = require('模块名')window.模块名 = 模块名// 例如const outils = require('outils')window.outils = outils 生成 123browserify main.js -o [文件名]# 例如browserify main.js -o bundle.js 然后我们引入这个js试试 1<script src="bundle.js"></script> 运行一下,可以看到我们能在控制台拿到,说明引入成功 有朋...
exists
发上开出了蔷薇,袖底是风,足下是莲。——顾城 我们可以使用exists代替in查询: 阿里编码规约第五条第(三)条第9条: 【推荐】in操作能避免则避免,若实在避免不了,需要仔细评估in后边的集合元素数量,控制在1000个之内。 我们可以在子元素多的情况下,使用exists查询 比如下面这个in查询 123456789101112SELECT * FROM sys_user AS a WHERE id in ( SELECT user_id FROM sys_user_role AS b WHERE b.role_id IN ( SELECT id FROM sys_role AS c WHERE b.role_id = c.id AND c.role_code LIKE '%o%' )); 可以改为: 12345678910111213SELECT * FROM sys_user AS a WHERE EXISTS ( SELECT user_id FROM sys_user_role AS b WHERE a.id = b.us...
mysql修改字符集
我需要,最狂的风,和最静的海。——顾城《世界和我·第八个早晨》 首先是查看字符集格式 1show variables where variable_name like '%character%' 然后是存储过程,用于修改表内所有字段的字符集 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950DROP PROCEDUREIF EXISTS addColumn;DELIMITER $$CREATE PROCEDURE addColumn () BEGIN-- 定义表名变量 DECLARE s_tablename VARCHAR ( 100 );/*显示表的数据库中的所有表SELECT table_name FROM information_schema.tables WHERE table_schema='databasename' Order by table_name ;*/#显示所有 DECLARE ...
类型描述符
我知道你愚蠢轻佻、头脑空虚,然而我爱你;我知道你的企图你的理想,你的势力,你的庸俗,然而我爱你;我知道你是个二流货色,然而我爱你。——毛姆 见: https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.2.1 在java中,由于历史原因,出现在类文件结构中的二进制名称语法与我们常用的类名不同,通常使用(正斜杠)/替换了原本的包名间隔(句号). 例如Thread的类名叫java.lang.Thread,但是在class文件格式的描述符中使用的内部格式,对Thread类名称utf8的引用却是:java/lang/Thread 不信我们随便打开一个class文件 可以看到类似的描述符 那如何获取类的描述符呢?它的规则又是如何呢? 首先,基本类型描述符,都是以ASCII字符表示,例如L 正斜杠类名;表示对象类型,[表示数组类型 我们可以在sun.invoke.util.Wra...
TailwindCss
懒惰象生锈一样,比操劳更能消耗身体;经常用的钥匙,总是亮闪闪的。——富兰克林 分享一个CSS框架,内置了很多css样式: https://www.tailwindcss.cn/ 使用方式: https://www.tailwindcss.cn/docs/installation 注意其不支持IE浏览器 仓库地址:https://github.com/tailwindlabs/tailwindcss 甚至你可以直接在Playground中进行尝试: https://play.tailwindcss.com/
javadoc-plugin
掉头一去是风吹黑发,回首再来已雪满白头。——余光中 我们可以使用maven-javadoc-plugin生成javadoc 123456789101112131415<!-- Javadoc --><plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.4.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>jar</goal> </goals> </execution> ...
quartz连接池问题
心脏是一座有两间卧室的房子,一间住着痛苦,另一间住着欢乐,人不能笑得太响。否则笑声会吵醒隔壁房间的痛苦。——卡夫卡 之前写了篇quartz博客:https://VampireAchao.github.io/2021/01/24/quartz/ 这两天通过druid监控发现一些连接一直没有释放,以为是出现了链接池泄露 最后排查发现,quartz没有使用druid的连接池,因此导致连接池经常满 把这段配置注掉即可
pnpm
曾因酒醉鞭名马,生怕情多累美人。——郁达夫 官方网址:https://www.pnpm.cn/ 我们在使用npm下载前端所需依赖时,会反复下载、重复下载,如果有一款工具,能够缓存起来我们的下载,那就是pnpm了 快速pnpm 是同类工具速度的将近 2 倍 高效node_modules 中的所有文件均链接自单一存储位置 支持单体仓库pnpm 内置了对单个源码仓库中包含多个软件包的支持 权限严格pnpm 创建的 node_modules 默认并非扁平结构,因此代码无法对任意软件包进行访问 安装很简单,就像普通安装一个模块一样即可: 12npm i -g pnpmpnpm -v 使用yarn 12yarn global add pnpmpnpm -v
链式Consumer
这个时代不会阻止你自己闪耀,但你也覆盖不了任何人的光辉——黄渤 今天发现一种方便的链式Consumer写法 1234567891011121314151617import lombok.experimental.UtilityClass;import java.util.function.Consumer;import java.util.stream.Stream;/** * @author VampireAchao * @since 2022/6/2 10:57 */@UtilityClasspublic class LambdaHelper { @SafeVarargs public static <T> Consumer<T> consumers(Consumer<T>... consumers) { return Stream.of(consumers).reduce(Consumer::andThen).orElseGet(() -> o -> {})...
RequiredArgsConstructor
“世间事,除了生死,哪一件不是闲事。”——仓央嘉措《地空》。 分享一个lombok注解@RequiredArgsConstructor 同样和@AllArgsConstructor支持onConstructor参数 区别在于,@RequiredArgsConstructor只针对final的字段生成带参构造器 例如: 1234567891011121314151617181920212223242526272829303132333435363738package com.ruben.simplescaffold.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;import com.ruben.simplescaffold.entity.UserDetail;import com.ruben.simplescaffold.manager.JsonManager;import com.ruben.simplescaffold.mapper.UserDetailMapp...
