获取两个list中相互不包含的部分
“走吧,去吃肉。”——《非正常死亡》 代码如下:提供了几种方法(自个写的) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465import java.util.*;import java.util.stream.Collectors;import java.util.stream.Stream;class Scratch { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); list.add(6); ...
uniapp对接oss视频上传+压缩
与其在绝望和挣扎中苟活,不如在希冀和盼望中死亡。——纪伯伦 首先是文件上传的代码: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899module.exports = { getUUID() { //生成UUID return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => { return (c === 'x' ? (Math.random() * 16 | 0) : ('r&0x3' | '0x8')).toString(16) }) &...
oss视频截封面
所谓世人,不就是你吗?——太宰治《人间失格》 今天上传视频后发现没有上传封面… 后来发现阿里云oss支持直接截取封面 文档地址: https://help.aliyun.com/document_detail/64555.html 也就是说,如果之前的视频URL为: 1/img/oss/picGo/rabbit.mp4 那么我们加上参数 1/img/oss/picGo/rabbit.mp4?x-oss-process=video/snapshot,t_10000,f_jpg 就会变成一张图片 参数说明操作分类:video 操作名称:snapshot 参数 描述 取值范围 t 指定截图时间。 [0,视频时长]单位:ms w 指定截图宽度,如果指定为0,则自动计算。 [0,视频宽度]单位:像素(px) h 指定截图高度,如果指定为0,则自动计算;如果w和h都为0,则输出为原视频宽高。 [0,视频高度]单位:像素(px) m 指定截图模式,不指定则为默认模式,根据时间精确截图。如果指定为fast,则截取该时间点之前的最近的一个关键帧。 枚举值:fa...
对null值友好的Collectors.groupingBy
一个人行走的范围,就是他的世界。——北岛 我们在使用Collectors.groupingBy时会遇到这种情况: 1Map<String, List<User>> map = Arrays.asList(new User(), null).stream().collect(Collectors.groupingBy(User::getName)); 为了避免这种情况,于是我自己实现了一个: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546@SafeVarargs@SuppressWarnings("unchecked")public static <T, K, D, A, M extends Map<K, D>> M listGroupBy(List<T> list, Function<T, K> sFunction, Collector<? super T,...
img图片丢失后默认图
万物并育而不相害,道并行而不相悖。一一《礼记》 我们在使用img标签时经常会遇到图片丢失等情况,我们可以给图片设置一个默认图 写法如下: 1<img src onerror="this.src='/img/oss/2020-06-01/head.jpg'" /> 这时候我们并没有给src属性赋值,导致触发onerror事件,执行了其中的js 当然如果我们是正常的图片,是无影响的
byte二维码在img中展示
睡在哪里都是睡在黑夜里。——贾平凹《废都》 我们使用hutool的工具类生成二维码图片后,如果转为byte数组,返还给前端,我们要放入img中显示 12345@GetMapping("generateCode")@ResponseBodypublic byte[] generateCode() { return QrCodeUtil.generatePng("https://VampireAchao.github.io/", QrConfig.create().setImg(ImgUtil.getImage(URLUtil.url("/img/oss/2020-06-01/head.jpg"))));} 直接放到src是不行的,需要在前面加一个data:image/jpeg;base64, 最终变成这样 效果图:
js生成二维码
我们飞得越高,我们在那些不能飞的人眼中的形象就越渺小。——尼采《查拉图斯特拉如是说》 我们使用qrcodejs生成:https://github.com/davidshimjs/qrcodejs 下载这个js并引用 不知道怎么下载的可以直接到这个链接下按ctrl+s另存为 https://raw.githubusercontent.com/davidshimjs/qrcodejs/master/qrcode.min.js 然后编写代码: 123456789101112131415161718192021<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <script src="./js/qrcode.min.js" type="text/javascript"></script> </head> <body>...
java生成带logo二维码
人生如路。须在荒凉中走出繁华的风景来。——七堇年 代码很简单,需要用到hutool 我这边logo是网络地址,实际开发中可以使用本地地址 1QrCodeUtil.generatePng("二维码实际的值", QrConfig.create().setImg(ImgUtil.getImage(URLUtil.url(/img/oss/2020-06-01/head.jpg)))) 然后这里的返回值就是byte[]我们可以返回给前端 当然,也推荐使用客户端生成二维码,这样避免了网络传输带来的损耗 简单场景和安卓等java客户端应用可以用这个方法
gradle运行项目不显示异常
此刻烦躁的心情就像用十除以三得出的结果一样,无穷无尽。——夏目漱石《我是猫》 我们使用gradle项目时经常异常日志打印不全,只打印部分,并提示我们可以使用--stacktrace 123* Try:Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.* Get more help at https://help.gradle.org 那这个--stacktrace在哪加呢? 我们按alt+shift+f9再按一下0 或者直接点击右上方的编辑配置 然后在此处加上--stracktrace 然后再次运行就可以显示完整异常日志了
在vue中使用ts
诚实的生活方式其实是按照自己身体的意愿行事,饿的时候才吃饭,爱的时候不必撒谎。——马尔克斯《霍乱时期的爱情》 官方文档:https://www.typescriptlang.org/docs/handbook/intro.html 首先找到中文文档:https://www.tslang.cn/samples/index.html 寻找到vue.js 跳转过去后就是教程,我们跟着教程一步一步来 首先新建一个空项目 然后新建src目录和components目录 1234typescript-vue-tutorial/├─ dist/└─ src/ └─ components/ 输入命令下载依赖 1D:\file\projects\vue-ts-demo>cnpm install --save-dev typescript webpack webpack-cli ts-loader css-loader vue vue-loader vue-template-compiler 很快就下载完毕 然后初始化ts环境 1tsc --init 可以看到多出了ts配置文...
