分类: 分享记录

50 篇文章

WebFlux + R2DBC 实现全局 SQL 拦截
前言 要实现这个功能,只需要代理 ConnectionFactory 即可,代码非常简单: class DelegatedR2dbcConnectionFactory(private val delegate: ConnectionFact…
LeetCode Hot100 滑动窗口问题
3. 无重复字符的最长子串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重…
thumbnail
LeetCode Hot100 双指针问题
283. 移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums …
thumbnail
SakuraChat 部署教程
项目地址:https://github.com/LovelyCatEx/SakuraChat 部署 SakuraChat 前置条件 请确保部署设备至少有 2 GB 的可用运行内存与 4 GB 的可用储存空间。 宝塔部署 首先打开宝塔面板,在…
thumbnail
Rete.js 实现可视化图编辑器
介绍 Introduction - Rete.js Rete.js(读作 /ˈriː.ti/,在意大利语中意为“网络”)是一个用于创建可视化界面和工作流的框架。它主要提供两方面能力:可视化Rete.js 支持使用多种前端框架来渲染编辑器,包…
SpringSecurityOauth2+Gateway 鉴权
在微服务架构中,如果把鉴权放在各服务中将会导致代码冗余且增加工作量。 如果在网关鉴权,不仅能保证所有接口有统一的鉴权标准,也能避免各服务鉴权不一致导致的漏洞。 下面记录一下用 Spring Security Oauth2 + Spring …
Vue3+Pinia 实现全局键值对缓存
在需要重复使用大量相同数据的场景下(如展示用户信息、商品信息、购物车列表等),重复调用 api 获取不仅会增加后端服务器的负担,也显得代码不太简洁。 现在写一个全局缓存,将获取数据的逻辑也写入其中,这样外部只需要调用 get() 方法而无需…
thumbnail
Android Compose 通用地图组件封装
国内的地图 SDK 目前暂不支持 Compose,之前给高德地图封装过一次,可以达到想要的效果。 这次准备封装一个通用的地图组件,把不同地图 SDK 之间共同的组件以及功能抽象出来,开发者不再需要关心不同地图 SDK 对同一功能的不同实现,…