随笔分类 -  社区论坛项目笔记

摘要:1 引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> 2 设置实体体权限 实现UserDe 阅读全文
posted @ 2022-11-05 21:09 DaleLee 阅读(18) 评论(0) 推荐(0) 编辑
摘要:事件驱动的方式 1 需求分析 需求:当用户评论帖子,点赞或关注其他用户时,系统给对应的用户发送通知。 思路:封装好一个通用的事件类,保存事件的发送者,接受者、事件主题(评论、点赞、关注)和事件内容。当用户有评论点赞等行为时,构造事件类。通过Kafaka,生产者将事件发布不同的主题,同时消费者监听不同 阅读全文
posted @ 2022-10-29 17:55 DaleLee 阅读(72) 评论(0) 推荐(0) 编辑
摘要:1 引入依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency> 2 配置Kafka 配置server、consumer 默认组id 阅读全文
posted @ 2022-10-28 21:59 DaleLee 阅读(80) 评论(0) 推荐(0) 编辑
摘要:1.简介 Kafka是一个分布式的流媒体平台。 Kafka可以应用于消息系统、日志收集、用户行为追踪、流式处理等多种场景。 Kafka具有高吞吐量、消息持久化、高可靠性、高扩展性等优点 Kafka集群中的每台服务器叫Broker,整个集群由zookeeper进行管理 Kafka采用发布订阅模式,每条 阅读全文
posted @ 2022-10-28 21:06 DaleLee 阅读(194) 评论(0) 推荐(0) 编辑
摘要:BlockingQueue 阻塞队列(BlockingQueue) 是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的 阅读全文
posted @ 2022-09-26 21:45 DaleLee 阅读(29) 评论(0) 推荐(0) 编辑
摘要:一、使用Redis存储验证码 验证码需要频繁的访问与刷新,对性能要求较高。 验证码不需永久保存,通常在很短的时间后就会失效。 分布式部署时,存在Session共享的问题。 RedisKeyUtil.java // 验证码前缀 private static final String PREFIX_KA 阅读全文
posted @ 2022-09-19 22:00 DaleLee 阅读(62) 评论(0) 推荐(0) 编辑
摘要:业务层 查询某个用户关注的人,支持分页。 查询某个用户的粉丝,支持分页。 表现层 处理“查询关注的人”、“查询粉丝”请求。 编写“查询关注的人”、“查询粉丝”模板。 一、业务层 FollowService.java // 查询某用户关注的人 public List<Map<String, Objec 阅读全文
posted @ 2022-09-14 22:15 DaleLee 阅读(307) 评论(0) 推荐(0) 编辑
摘要:需求 开发关注、取消关注功能。 统计用户的关注数、粉丝数。 关键 若A关注了B,则A是B的Follower(粉丝),B是A的Followee(目标)。 关注的目标可以是用户、帖子、题目等,在实现时将这些目标抽象为实体。 一、增加相应的key 关注的除了用户,也可能是帖子等,生成Follower和Fo 阅读全文
posted @ 2022-09-11 22:14 DaleLee 阅读(97) 评论(0) 推荐(0) 编辑
摘要:重构点赞功能 以用户为key,记录点赞数量 increment(key), decrement(key) 开发个人主页 以用户为key,查询点赞数量 一、补充RedisKeyUtil 生成用户id的key,存放给该用户点过赞的用户id public class RedisKeyUtil { // . 阅读全文
posted @ 2022-09-08 21:56 DaleLee 阅读(30) 评论(0) 推荐(0) 编辑
摘要:点赞 支持对帖子、评论点赞。 第1次点赞,第2次取消点赞。 首页点赞数量 统计帖子的点赞数量。 详情页点赞数量 统计点赞数量。 显示点赞状态。 一、新建生成redis key的工具类 redis一般以冒号分割key。 存点赞userid的集合,这样即可以得到赞的数量,也可以知道是谁点了赞。 Redi 阅读全文
posted @ 2022-09-02 21:08 DaleLee 阅读(58) 评论(0) 推荐(0) 编辑
摘要:一、Redis简介 Redis是一款基于键值对的NoSQL数据库,它的值支持多种数据结构: 字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。 Redis将所有的数据都存放在内存中,所以它的读写性能十分惊人。 同时,Redis 阅读全文
posted @ 2022-09-01 21:27 DaleLee 阅读(224) 评论(0) 推荐(0) 编辑
摘要:一、AOP的概念 Aspect Oriented Programing,即面向方面(切面)编程。 AOP是一种编程思想,是对OOP的补充,可以进一步提高编程的效率。 二、AOP的术语 Joinpoint(连接点):所谓连接点是指那些被拦截到的点,在 spring 中,这些点指的是方法,因为 spri 阅读全文
posted @ 2022-09-01 09:36 DaleLee 阅读(19) 评论(0) 推荐(0) 编辑
摘要:@ControllerAdvice 用于修饰类,表示该类是Controller的全局配置类。 在此类中,可以对Controller进行如下三种全局配置:异常处理方案、绑定数据方案、绑定参数方案。 @ExceptionHandler 用于修饰方法,该方法会在Controller出现异常后被调用,用于处 阅读全文
posted @ 2022-08-31 21:08 DaleLee 阅读(26) 评论(0) 推荐(0) 编辑
摘要:一、数据访问层 MessageMapper.java @Mapper public interface MessageMapper { // ... // 新增消息 int insertMessage(Message message); // 修改消息的状态 int updateStatus(Lis 阅读全文
posted @ 2022-08-30 21:08 DaleLee 阅读(21) 评论(0) 推荐(0) 编辑
摘要:一、Message表结构设计 from_id: 发送方用户id to_id: 接受方用户id conversation_id: 标识一个会话,不区分发送方和接收方,用户id小的在前,大的在后 二、数据访问层 私信列表 查询当前用户的会话列表,每个会话只显示一条最新的私信。 支持分页显示。 私信详情 阅读全文
posted @ 2022-08-30 20:00 DaleLee 阅读(94) 评论(0) 推荐(0) 编辑
摘要:一、数据层 增加评论数据。 修改帖子的评论数量。 由Mybatis plus实现。 二、业务层 处理添加评论的业务:先增加评论、再更新帖子的评论数量。 DiscussPostService接口 public interface DiscussPostService extends IService< 阅读全文
posted @ 2022-08-23 21:12 DaleLee 阅读(50) 评论(0) 推荐(0) 编辑
摘要:一、数据访问层 根据实体查询一页评论数据。 根据实体查询评论的数量。 CommentMapper public interface CommentMapper extends BaseMapper<Comment> { List<Comment> selectCommentsByEntity(int 阅读全文
posted @ 2022-08-22 21:42 DaleLee 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1.概要 什么是事务 事务是由N步数据库操作序列组成的逻辑执行单元,这系列操作要么全执行,要么全放弃执行。 事务的特性(ACID) 原子性(Atomicity):事务是应用中不可再分的最小执行体。 一致性(Consistency):事务执行的结果,须使数据从一个一致性状态,变为另一个一致性状态。 隔 阅读全文
posted @ 2022-08-21 22:13 DaleLee 阅读(34) 评论(0) 推荐(0) 编辑
摘要:在帖子标题上增加访问详情页面的链接 一、业务层 DiscussPostService添加根据id查找帖子的方法。 public interface DiscussPostService extends IService<DiscussPost> { //... DiscussPost findDis 阅读全文
posted @ 2022-08-21 17:22 DaleLee 阅读(78) 评论(0) 推荐(0) 编辑
摘要:一、Json字符串处理与Ajax 1.引入fastjson依赖 Fastjson 是一个java类库,可以被用来把Java对象转换成Json方式.也可以把Json字符串转换成对应的Java对象. <dependency> <groupId>com.alibaba</groupId> <artifac 阅读全文
posted @ 2022-08-20 21:48 DaleLee 阅读(18) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示