上一次简单讲了讲 Compose 里的主题以及状态管理,这次的下拉刷新也是非常重要的一个组件之一。 与传统的 SwipeRefreshLayout 不同的是,在 Compose 中是用 Modifier 来声明下拉状态的,并且通过一个 Pu…
刚从 Android XML 转到 Compose 多少有些不习惯,由于没有任何 Compose 开发的经验,以下仅靠自己搜集各种资料总结出来的方法,并不代表是最高效、快速的实现方法。 这里先给出 Jetpack Compose 的官网文档…
当数据库的压力和数据表的数据量过大时需要考虑分库分表问题,但是传统的 Spring+Mybatis 的分库分表实现有些复杂,于是可以使用 ShardingSphere 来解决。 Apache ShardingSphere 是一款分布式的数据…
之前写过一次 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可以很轻松地通过一些配置来上…