很多编辑软件放大和缩小使用的快捷键是control++和control+-,恢复到默认值的快捷键是control+0 为了得到一致的体验,也希望在sublime中使用control+0恢复到默认的大小。 打开『设置』-『热键设置』或者『Preferences』-『Key Bindings』, 在右侧的中括号里输入如下: [ // 初始化字体大小,默认是10 { "keys": ["super+0"], "command": "reset_font_size" }, ] sublime中快捷键command: 会把字…

2022-06-13 0条评论 812点热度 0人点赞 admin 阅读全文

有时候Linux下运行的程序并不一定是一个服务,但是我们希望能监测它的运行状态,例如是否进程还在运行,如果没有运行,发出警报,或者自动启动,进而能保持程序的持续运行。 我们可以想办法写一个脚本来监测,然后可以做到定时任务(crontab)里去,例如每个1分钟监测一次。 以下是脚本内容,可以将替换成再次启动程序或你的逻辑。 #!/bin/bash # pgrep -f "vdcserver" 不能这样使用,不然就监测到本身也是一个符合的进程,导致误判 if pgrep -x "vdcserver" > /dev…

2022-06-12 0条评论 836点热度 1人点赞 admin 阅读全文

现在大部分应用都不支持IE浏览器了,微软自己也已经放弃IE转而使用Edge浏览器了,为了避免任然有一些用户使用IE浏览器,产生不必要的错误,需要在用户打开网页的时候,检测是否是IE浏览器,进行进行弹窗或者顶部提示等方式提醒用户切换浏览器。 检测浏览器一般是用userAgent里检测是否有相关的关键词,例如:window.navigator.userAgent.indexOf("MSIE")>=1,但是据说这种方式在IE11下已经不行了 这里记录下我测试下来能用,且可以判断所有IE浏览器的代码: // 判断是否…

2022-06-11 0条评论 783点热度 0人点赞 admin 阅读全文

为了防止用户截屏后传播内容,需要给某些内容背景增加水印。本篇是介绍在Vue项目中增加水印,不添加第三方package,原声代码实现。 先上效果图: 新增 directives.js import Vue from 'vue' Vue.directive('watermark',(el,binding)=>{ function addWaterMarker(str,parentNode,font,textColor){// 水印文字,父元素,字体,文字颜色 var can = document.createEl…

2022-06-10 0条评论 773点热度 0人点赞 admin 阅读全文

MyBatis原生状态下将数据分页或者使用offset/limit方式对数据做限制行数,如果没有limit写在SQL的时候,想要分页,使用的是。 这种方式,没有使用使用PageHelper插件的时候,是使用的逻辑分页,数据量大的时候,直接把大量数据从数据库取回来再分页,造成OOM,千万要谨慎使用,例子如下: # 注意这种方式非常不推荐使用,只是反例 List<Student> list = studentMapper.listStudents(new RowBounds(0, 10)); 以上显然是不行…

2022-06-09 0条评论 1543点热度 0人点赞 admin 阅读全文

有一些业务逻辑,需要检测是否存在某个特定的表后做一些事情(例如数据库按年分表的情况下,定期检查是否存在下一年的表,不存在就新建表),以下SQL(指定是Oracle数据库)可以检测是否存在某张表或者视图(当然如果没有检测视图的需求,可以稍加修改),如果存在表,返回的cnt就大于0,不存在就返回count等于0 -- 如果select出来的结果等于0,说明不存在,大于0,说明表或者视图已存在 select count(*) as cnt from all_objects where object_type in ('T…

2022-06-08 0条评论 470点热度 0人点赞 admin 阅读全文

最近在使用Docker下的MySQL的时候,遇到一个问题,就是发现它的时区不对(因为之前都是习惯了+800的),在做一个SQL查询的时候,发现时区并不是东八区(CST即China Standard Time),例如: select * from t_test where create_date>now() 本来类似这样的记录是能查出来的,但是现在却没有,进一步调试,发现出来的时间比北京时间少了8个小时。 如何在Docker下安装MySQL的文章,请查看:https://blog.terrynow.com/20…

2022-06-07 0条评论 683点热度 0人点赞 admin 阅读全文

有时候写一些MacOS的小脚本,(例如AppleScript,或者Shell),需要在执行后,给自己一个发一个系统提醒通知,就想其他软件一样给处的Notification。 来看下现成的例子,直接复制过去可用!效果如下: display notification "通知内容" with title "通知标题" display notification "通知内容" with title "通知标题" subtitle "副标题" display notification "通知内容" with title "通知…

2022-06-06 0条评论 2248点热度 0人点赞 admin 阅读全文

前不久Spring Boot 2.7.0 刚刚发布,Spring Security 也升级到了5.7.1 。升级后发现,原来一直在用的Spring Security配置方法,居然已经被弃用了。不禁感慨技术更新真快,用着用着就被弃用了!今天带大家体验下Spring Security的最新用法,看看是不是够优雅! 在Spring Boot 2.7.0 之前的版本中,我们需要写个配置类继承WebSecurityConfigurerAdapter ,然后重写Adapter中的三个方法进行配置; /** * SpringSe…

2022-06-05 0条评论 1740点热度 0人点赞 admin 阅读全文

我们知道,RabbitMQ是没有延时列队的,要实现延时列队需要用迂回的方式: 使用2个列队 给第一个列队设置一个ttl(Time-To-Live消息存活时间),且让列队不消费,等待这个ttl的时间后,列队消息死亡,进入死信exchange到死信列队 设置死信列队可以再次路由到其他队列中,进行消息,从而实现延时的功能 流程图如下: 这个方式有个问题就是流程有点复杂, 会产生很多列队和交换机(尤其是当业务较多,有较多类型的消息要实现延迟的情况下,会成倍的增加这些列队)容易出错。 RabbitMQ是支持插件的,好在有专门…

2022-06-04 0条评论 883点热度 0人点赞 admin 阅读全文
1262728293083