Comm语法简单实用的文本文件对比工具

Linux系统的Comm命令可以方便快捷的对比文本文件并输出差异结果,使用该命令需要一个前提最好先对文件进行排序,否则输出的差异结果一言难尽,因此会比较适合数据库导出数据的对比

SpringBoot配置druid(德鲁伊)数据库连接池

SpringBoot 的 MyBatis 默认采用 hikari 连接池,druid (德鲁伊) 连接池由阿里开源,它不仅仅是一个连接池,更是代理、过滤器、解析器、插件、监控、优化等实用功能组件库,更在阿里生产环境得到验证,所以 Lets Do It

预防CSRF之过滤或拦截器token验证

CSRF,跨站请求伪造,伪造受信用户发起请求,获取用户的隐私信息,不流行但极为致命的安全攻击行为,服务端需要增强此类防御

Studio3T无限重置试用时间

Studio 3T 是一款简单实用、功能强大的 MongoDB 数据库 GUI 连接工具,但是他是一款商业软件,初次使用提供30天的免费试用期,通过 BAT 脚本重置的方式,从而达成无限试用

GoLand设置gofmt和goimports代码格式化

GoLand 在保存代码时,可以自动调用 gofmt 和 goimports 实现自动格式化代码,在新版本中可以通过 File Watchers 插件来完成这些配置,配置位置位于File

ORA-00257: archiver error. Connect internal only, until freed.

登录Oracle报错 ORA-00257: archiver error. Connect internal only, until freed. 由于归档日志(archive log)已满引起的。

SpringBoot配置文件生效优先级

SpringBoot 可以通过 spring.profiles.active 属性指定生效不同配置文件来满足多环境要求,多环境更为复杂的场景,就需要理解配置文件生效优先级,考虑直接引入外部配置项和配置文件

Go语言 & 与 * 取值赋值以及函数入参的区别

在 Go 中函数可以接受值传递和指针传递,使用时就涉及到 & 内存地址(指针)与 * 指针赋值的使用,它们的区别是什么?在实际业务使用中,值传递和指针传递的分别应对什么场景需要?针对使用时机进行分析。

Vue3中无需引入Vuex的替代方案

Vue3 中所提供组合 API、ref、reactive、provide、inject几大特性,可以支持完成全局状态管理能力,Vuex 是为 Vue 单独提供的状态管理插件,相对比较笨重,如果项目简单可以尝试替代

awk强大的文本&文件的处理语言

awk,一种处理文本文件的语言,强大的文本分析工具。取三位创始人Alfred Aho、Peter Weinberger和Brian Kernighan的Family Name的首字符

大O复杂度表示法表示时间与空间复杂度

如何分析、统计算法的执行效率和资源消耗?能够粗略地估计算法的执行效率的方法,这就是时间、空间复杂度分析方法,大O复杂度表示法。

JavaWeb工程启动执行指定任务

有些任务需要在WEB工程启动的时候进行执行,如静态文件读取、数据库连接、初始化等,需要通过配置load-on-startup或listener相关的内容实现

Go语言中Struct增强Tag基本应用

Go 语言如何将 json 键名转为小写开头? struct 中经常用反引号包括起来的字符串,这便是 tag,一般由键值对形式存在,主要用于增强结构体的使用,可用作为判断标识进行补充处理

Struts2拦截器检测非法请求踢出登录

常规的WEB工程前后台都会设置相关校验规则,并且保持一致。因此服务端收到不符合校验的参数表示该请求存在恶意篡改行为,应当限制并踢出登录

多线程死锁、活锁、无锁、饥饿

并发编程的核心在于维护和处理多线程,理解并发中存在的各种异常,死锁、活锁、无锁、饥饿都是可能让多线程异常阻塞的场景