-
数据源的统一与拆分 apache calcite 的雄心与现实
数据库的分类
数据库作为我们常用的底层服务之一,有很多的种类。
每一种数据库都有对应的查询语句。比如 mysql / oracle / mongodb / es / vm 等等…
这么多,怎么记得住呢?
统一
有没有类似于 slf4j 统一日志输出一样,也有人统一一下 SQL 的查询呢?
答案是有的。
apache calcite 提供了一个行业标准的 SQL 解析器和验证...
2024-11-22 17:18:08 |
Note
-
从千万粉丝“何同学”抄袭开源项目说起,为何纯技术死路一条?
随笔
从千万粉丝“何同学”抄袭开源项目说起,为何纯技术死路一条?
数据源的统一与拆分
报警系统的指标、规则与执行闭环
java 老矣,尚能饭否?
一骑红尘妃子笑,无人知是荔枝来!
抄袭?
最近的事情相信大家有所耳闻。
近日,千万粉丝博主何同学发布的视频《我用36万行备忘录做了个动画》引发网友质疑。
有网友表示,该软件其实是一个开源程序,任何人都能使用,但何同学并未解释,还删...
2024-11-22 17:18:08 |
Note
-
IM 即时通讯系统 SSO 系列-09-用户密码的完整生命周期
邮箱验证
我们接下来的重点如何管理用户的密码?
如何保证安全、同时实现忘记密码、修改密码等常用的操作。
整体流程
我们针对密码的创建、修改、忘记密码、验证密码等流程,进行实现。
建表语句
-- 创建用户密码表
CREATE TABLE user_password (
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'ID',
...
2024-11-02 13:01:55 |
IM
-
IM 即时通讯系统 SSO 系列-08-用户激活邮箱验证
邮箱验证
我们接下来的重点就是结合邮箱,实现一个验证方式。
当然验证的方式可以有多种,目前比较推荐的还是邮箱验证。
整体流程
1)发送验证码到用户邮箱
2)用户点击后进行验证校验+处理,通过后更新对应的状态。
核心实现
建表语句
drop table if exists user_email_verify;
CREATE TABLE user_email_verify (
...
2024-11-02 13:01:55 |
IM
-
IM 即时通讯系统 SSO 系列-07-真实用户生命周期
生命周期
真实用户的生命周期包括入职同步、激活、正常使用、调岗处理、离职回收等步骤。
可能的流程如下:
入职同步(从HR系统同步)
创建用户账号
分配至小组
发送激活邮件
用户激活账号
正常使用
调岗处理(更新部门/小组)
离职标记...
2024-11-02 13:01:55 |
IM
-
IM 即时通讯系统 SSO 系列-06-multi Tenancy 多租户
chat
什么是多租户?
多租户(Multi - Tenancy)是一种软件架构设计模式,它允许一个软件实例同时为多个不同的客户(租户)提供服务。
每个租户就像是拥有自己独立的软件副本,彼此之间的数据和配置相互隔离,但实际上他们共享同一个软件实例和底层基础设施。
以下是关于多租户的详细介绍:
核心概念
租户隔离:租户之间的数据和业务逻辑相互隔离,一个租户的数据不能被其他租户访...
2024-11-02 13:01:55 |
IM
-
IM 即时通讯系统 SSO 系列-05-swagger 文档整合
swagger 文档接入
将项目与 swagger 进行整合,所有 controller 和 dto 添加对应的注解,为了解耦,入参使用 dto,复制后调用底层实体。
整体流程
pom.xml
引入依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springf...
2024-11-02 13:01:55 |
IM
-
IM 即时通讯系统 SSO 系列-03-基于 mybatis 实现 CRUD
实现基本的 crud
pom.xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version&g...
2024-11-02 13:01:55 |
IM