首页
标签页
后端开发
理论知识笔记
关于
Haenu的Blog
坚持学习,慢慢进步!
累计撰写
35
篇文章
累计创建
10
个标签
累计收到
2
条评论
栏目
目 录
CONTENT
以下是
知识积累
相关的文章
手撕单例模式
懒汉模式 public class Singleton { private static Singleton instance; private Singleton(){} public static synchronized Singleton getInstance()
2024-09-11
19
0
0
理论知识笔记
Leetcode记录
160. 相交链表 - 力扣(LeetCode) public class Solution { public ListNode getIntersectionNode(ListNode headA, ListNode headB) { if(headA == null ||
2024-08-27
64
0
0
理论知识笔记
责任链设计模式
什么是责任链 责任链设计模式是一种行为型设计模式,其主要目的是解耦请求发送者和请求接收者,让多个对象都有机会处理请求,从而避免请求发送者和接收者之间的紧耦合。 责任链模式的核心是一个链式结构,链中每个节点代表一个处理者对象,请求先经过第一个节点处理,如果该节点能够处理请求,则直接返回处理结果;否则,
2024-08-25
32
0
0
后端开发
SSO单点登录
SSO 单点登录 基于OAuth2实现的统一认证 OAuth2 实质是为第三方应用颁发一个具有时效性的Token令牌,使其他服务或第三方应用能够通过令牌获取相关资源。 常见的场景: 比如进入某个网站没有账号信息, 但可以通过QQ、微信、支付宝等 账号进行登陆, 在这个登陆过程中采用的就是Oauth2
2024-08-23
88
0
0
后端开发
幂等方案
幂等性介绍 幂等是一个数学上的概念 f(n) = 1^ n 无论n为多少 f(n)的值永远为1 在我们的编程中定义为: 无论对某一个资源操作了多少次,其影响都应是相同的。 以SQL为例: select * from table where id=1。此SQL无论执行多少次,虽然结果有可能出现不同,都
2024-08-17
232
0
5
后端开发
积分系统设计(签到/排行榜)
数据库结构 积分记录的目的有两个:一个是统计用户当日某一种方式获取的积分是否达到上限;一个是统计积分排行榜。 排行肯定是有时间/赛季的 所以我们需要创建一个实体 用来记录赛季信息 赛季名称 赛季开始时间 赛季结束时间 排行榜也不复杂,核心要素包括: 用户id 本赛季当前积分 本赛季当前排名 当然,由
2024-08-15
110
0
0
后端开发
点赞系统
点赞系统 通用:点赞业务在设计的时候不要与业务系统耦合,必须同时支持不同业务的点赞功能 独立:点赞功能是独立系统,并且不依赖其它服务。这样才具备可迁移性。 并发:一些热点业务点赞会很多,所以点赞功能必须支持高并发 安全:要做好并发安全控制,避免重复点赞 第一版实现思路 如果避免重复点赞那么我们需要有
2024-08-15
81
0
0
后端开发
IO多路复用
Socket 套接字。对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。例子:客户端将数据通过网线发送到服务端,客户端发送数据需要一个出口,服务端接收数据需要一个入口,这两个“口子”就是Socket。 FD 文件描述符,非负整数。“一切皆文件”,linux 中的一切资源都可以通过文件的方式访
2024-08-15
32
0
0
OS
敏感数据的优雅加密方式
方式一: 根据AOP切面进行数据的加密,经过层层的递归进行查找数据 方式二:自定义反序列化器 package com.haenu.shortlink.common.serial
2024-06-26
33
0
0
后端开发
Mysql45-一条更新语句是如何执行的
一条更新语句是如何执行的 和查询很像,连接器,分析器,优化器,执行器,不过和查询不同的是,更新流程还涉及到日志模块。 redolog 当有一条记录需要更新的时候,Innodb引擎就会先把记录写到redo log里面,并更新内存,这个时候更新就完成了,同时innodb引擎会在适当的时候,将这个操作记录
2024-06-26
24
0
0
Mysql
1
2