之前写过一次 SpringSecurity JWT 验证相关的博客,但是实现得有些潦草。 于是本篇将对实现方式和代码逻辑进行一些优化。 依赖导入 <dependency> <groupId>io.jsonwebtok…
注解处理器(AnnotationProcessorTool)作为Java的一个高级语法特性,合理使用能给我们的开发带来极大便利。 例如Spring、Lombok以及Jetbrains自带的一些注解及其对应功能都是基于APT实现的。 Lomb…
本文基于docker-compose来集中管理多个容器的部署,记录一下在docker部署nacos的方法以及遇到的问题。 Nacos镜像 直接采用官方提供的 nacos/nacos-server 即可,如果有特殊需要,可以自行编写Docke…
原版的SpringSecurity是根据Session来记录用户的,已经登录的用户可以通过同一个Session来取得访问权限。但是这个方法不适用于前后端分离的项目,现在对它进行改造。 基本思路是先禁用SpringSecurity的Sessi…
ArrayList依赖于数组,而数组可以随机访问,因此读取的效率要比链表高。相比链表的实现,ArrayList也要简单不少。 List接口 和上一篇提到的双向链表一样,先让ArrayList实现List接口。 template<cla…
上次用C语言写了一个简单链表:C语言实现双向链表,这次用C++实现一个双向循环链表,主要是因为C++支持类与泛型。 List接口 依然按照接口的设计原则,先写一个通用的List: template<class T, class Nod…
有时候想要让自己的项目也能快速地分享给别人使用,每次都打包成jar未免有些麻烦,最好的办法就是用Maven仓库来自动管理依赖,只需将你的最新版本上传到Maven仓库,那么所有使用者都能在第一时间更新。 Maven可以很轻松地通过一些配置来上…
之前一直写的都是Java/C#,初学几天C语言,先来实现一个简单的链表试试。 1.定义结构体 typedef struct LinkedListNodeStruct { struct LinkedListNodeStruct *next, …
这种方法只是掩耳盗铃,只有自己能用,并不算是真正意义上的破解。 最近在Nas上顺便搭建了一个Emby,体验了一个月,整体效果还算不错。 有些功能需要Premiere版本才能解锁,于是找了找相关的解决方案,基本上就是两种,要么直接安装破解版,…
说到面向对象,很多人应该都想到了封装、继承和多态,这是面向对象的三大特征。 但是,面向对象还有七大原则,如果你不了解的话,其实也并不影响你正常开发,但是有可能会造成不可预料的后果。掌握面向对象的七大原则,可以帮助你更好的设计规划,提高代码的…