
我们知道,分布式系统中实现接口的幂等性操作需要用到分布式锁,比如使用Redis的setnx命令实现。但是在一些内部管理系统中可以使用更加简便的方式,下面就分享其中一种。
使用前提
后台管理系统一般也是多台服务器部署的,下面这种方式使用的前提是,同一用户的请求会发送到同一服务器的应用上,可以使用nginx的ip hash或者根据cookie分流方式。
使用方式
添加帮助类:
使用SpringBoot开发项目,日志一般使用logback,配置文件默认名字就是:logback-spring.xml。
所有日志配置都有个基本的诉求:不同环境输出到不同目标。比如,开发环境输出到控制台,方便在IDEA、Eclipse等IDE里直接查看;测试、生产环境则输出到日志文件。
这时logback-spring.xml配置文件就需要根据环境配置:
PostgreSQL数据库提供regexp_split_to_table和regexp_split_to_array两个函数用于分隔字符串成表和数组,在某些场景下使用起来还挺方便的。
举个例子:有这样一张表,维护用户的兴趣,多个兴趣用逗号分隔。
1 | -- 表结构 |
受够了这么多年的Cmder,终于,在Build 2020大会上,微软发布了Windows Terminal的正式版。全新的样式,支持自定义主题和配置。以后在Windows下再也不用面对丑陋的命令行了。
本片文章带大家初体验这微软新发布的Windows Terminal。
在Windows下开发有时会遇到端口被占用的情况,本文介绍定位端口被哪个进程占用的方法。
步骤一,使用netstat
命令查看端口被那个进程占用,用法:netstat -ano | findstr 端口号
,如:
1 | D:\>netstat -ano | findstr 8888 |
可以看出8888端口被11008进程占用。
步骤二,然后使用tasklist
命令查看进程号对应的应用程序,用法:tasklist | findstr 进程号
,如:
1 | D:\>tasklist | findstr 11008 |
最终可以定位出8888端口是被node程序占用了。
程序员在实际工作中不时的会需要用到对比工具。比如:对比两个文件(文件夹)的差异,用于定位代码修改情况等。很多老程序员可能习惯使用BCompare软件,这款软件是挺好用的,但是就是收费。
今天发现一个免费的对比工具(WinMerge,https://winmerge.org/),github地址:https://github.com/WinMerge/winmerge。
WinMerge虽然免费,但是功能一点也不含糊,支持代码高亮、文件合并、文件夹对比、甚至图片对比等功能。