获取图片dpi坑
不会笑的女人是世上最令人厌烦的。——萨克雷 今天踩了个坑,windows文件资源管理器中显示96dpi 但是使用获取图片dpi的方式获取到一直是-1 最后找了很久才知道原来是文件资源管理器的垂直分辨率默认值96dpi
js实时协作编辑器
爱护才华吧,保护那些才华修美的人物吧。文明的民族啊,培养他们吧。——卢俊 https://github.com/ether/etherpad-lite https://etherpad.org/ 效果: 非常地nice
获取图片dpi
在只能说谎与沉默两者来选择的时候,沉默也是好的。——何其芳 可以通过下面的代码获取: 123ImageInfo imageInfo = Imaging.getImageInfo(file);imageInfo.getPhysicalWidthDpi();imageInfo.getPhysicalHeightDpi(); 对应的依赖: 12345<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-imaging</artifactId> <version>1.0-alpha3</version></dependency> 用的是apache-commons的commons-imaging这个库 https://commons.apache.org/proper/commons-imaging/index.html
officegen
以权利合者,权利尽而交疏。——《史记》 如果我们需要使用js来编辑word、excel、powerpoint 可以使用这个开源项目:https://github.com/Ziv-Barber/officegen 可以让我们在html中进行编辑 安装使用: 1$ npm install officegen ppt例子: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354const officegen = require('officegen')const fs = require('fs')// Create an empty PowerPoint object:let pptx = officegen('pptx')// Let's add a title slide:let slide = pptx.makeTitleSlide('Officeg...
针对map的lambda
雄辩是银,沉默是金。——佚名 例如原来的: 123Steam.of(Maps.of("foo", "bar")) .map(e -> e.getKey() + e.getValue()) .findFirst(); 现在 123Steam.of(Maps.of("foo", "bar")) .map(SerFunc.entryFunc((key, value) -> key + value)) .findFirst(); 可以给key和value取不同的变量名,源码是 123static <K, V, R> Function<Map.Entry<K, V>, R> entryFunc(BiFunction<K, V, R> biFunc) { return entry -> biFunc.app...
配置gitee+jenkins webhooks触发
伪诈不可长,空虚不可守,朽木不可雕,情之不可久。——韩婴 然后在项目里配置gitee webhooks触发 接下来还需要在gitee里配置
ubuntu创建快捷方式坑
通向谬误的道路有千百条,通向真理的道路只有一条。——卢俊 使用命令: 1ln -s /path/to/original /path/to/link 这里如果是目录,会导致出现在/path/to/link下有/path/to/original的快捷方式original 因此,如果想让在/path/to目录下创建该目录的快捷方式,应该使用: 1ln -s /path/to/original /path/to
高版本node运行低版本项目
三思而后行——《论语》 这里是运行apache-shenyu的前端项目报错,因为我的node版本过高 https://github.com/apache/shenyu 前端仓库:https://github.com/apache/shenyu-dashboard 除了使用node版本管理工具nvm、或者直接降级node版本以外,还可以配置环境变量 1$env:NODE_OPTIONS="--openssl-legacy-provider" 来让其兼容
monica
荣誉使我变得越来越愚蠢。——爱因斯坦 分享一个chatGPT4 chrome插件monica https://monica.im/ 每天有30次免费请求,安装以后按下ctrl+M即可呼出聊天框 还可以滑词查询 非常地方便
使用arthas+mat排查故障
情操要高尚!成为我们真正荣誉的,是我们自己的心,而不是他人的议论。——席勒 今天发现线上CPU又百分百了。。。 于是开始使用arthas排查 12curl -O https://arthas.aliyun.com/arthas-boot.jarjava -jar arthas-boot.jar 然后选择对应的web项目 首先我执行了dashboard命令 发现heap为百分之九十几的占用,那我直接执行 1heapdump --live /tmp/dump.hprof 然后下载到本地,再下载一个MAT(Memory Analyzer Tool)进行分析 下载地址:https://www.eclipse.org/mat/downloads.php 我们解压,打开(需要配置java17环境变量)后点击Open Heap Dump 然后选择我们的hprof文件 然后报错 点击Details >>才发现原来是内存不足,我们设置下内存大小 打开MemoryAnalyzer.ini,修改-Xmx1024m为合适的大小 这里点击Histogram查看对象占用 发现f...
