# "柚知" 问答社交平台
基于SpringBoot框架搭建仿知乎问答平台
* * *
# 1 环境
* **操作系统** : Mac OS 10.12.1
* **IDE** :IntelliJ IDEA 2019.3.5
* **JDK Version** : JDK1.8
* **数据库** :MySQL 8.0
* **依赖管理工具** : Maven 3.6.1
* **版本控制**: Git
* * *
# 2 运行
导入到 IDEA,使用`IDEA`创建的项目,配置好`maven`的相关配置,以及项目`JDK`版本,直接在主界面选择`Open`,然后找到项目所在路径,点击导入即可。
* * *
# 项目架构
用户:负责维护社区用户信息,注册,登录等;
关系:用户之间关注、好友、拉黑等关系的维护;
内容:社区发的内容,就像朋友圈或者微博的内容;
评论、赞:用户可能会有的两种常规互动操作;
搜索:用户的搜索,内容的搜索。
# 4 重点技术梳理
## 前缀树
正如大多数网站发表言论都是需要经过审查的,而在我们的局域网里面,更是是要经过无数次的审查,然后方案有一下几种:
* 把敏感词删除
* 把敏感词替换为指定的字符串
这里并不是使用`replace()`方法或者使用正则表达式进行逐个查找然后进行替换,而是采用更加优良的算法-**前缀树**
* 根节点不包含字符,除根节点外每一个节点都只包含一个字符
* 从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串
* 每个节点的所有子节点包含的字符都不相同
* * *
## 异步
在当今互联网这种上网人群多,访问量大的情况下,异步编程提供了一个非堵塞的,基于事件驱动的编程模型.这种编程方式可以充分利用计算机的多核来同时执行并行任务,提高资源的利用效率.
举个很简单的例子,我们在网站注册新的社交账号的话,严格一点的网站都是会有验证邮箱地址的邮件.这个就是一个异步的事件,你不可能说直接把邮件验证的流程嵌套在业务逻辑里面.
应该是把这个事件发送给一个队列里面,然后队列专门处理这种事件.在一个网站中有各种各样的事情需要进行处理
简单设计流程:
* 1.首先定义一个定义一个枚举类型的`EventType`类,这里面列举各种各样将会出现的事件
* 2.再定义一个事件模型`EventModel`类,里面包含的是一个事件所应该具有的一些属性.例如事件类型,操作者的ID,操作的实体类型,操作的实体ID,操作的实体拥有者等等
* 3.再定义一个接口`EventHandler`,里面写上几个抽象的方法,具体的实现由继承的类进行实现
* 4.定义一个事件生产者`EventProducer`,这里就是用来生产各种各样的事件,如异常登录或者是注册邮件等等.本项目中这里就是把事件送到Redis中进行储存
* 5.定义一个事件消费者`EventConsumer`,这里就是需要继承`InitializingBean`跟`ApplicationContextAware`.继承`InitializingBean`是可以定义bean的初始化方式,继承`InitializingBean`是为了可以通过这个上下文对象得到我们想获取的bean.然后在这个类里面使用多线程一直去Redis里面读取出事件,然后进行处理
* 6.再继承`EventHandler`在方法里面写自己的实现
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目工程资源经过严格测试运行并且功能上ok,可复现复刻,拿到资料包后可实现复刻出一样的项目,本人系统开发经验充足(全栈),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助 【资源内容】:包含源码、工程文件、说明等。资源质量优质,放心下载使用!可实现复现;设计报告可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,及时抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 质量优质,放心下载使用。下载后请首先打开说明文件(如有);项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,网络商品/电子资源资料具可复制性不支持退款,勿用于商业用途。质量优质,放心下载使用。
资源推荐
资源详情
资源评论





























收起资源包目录





































































































共 472 条
- 1
- 2
- 3
- 4
- 5
资源评论


热爱技术。
- 粉丝: 3782
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 算法分析与设计大型实验报告样本.doc
- 模拟公司教学模式在计算机专业教学中的应用.docx
- H3C-CAS虚拟化平台P2V操作指南.pdf
- ×××游戏开发有限公司商业计划.ppt
- 电子商务法规教学大纲.doc
- 如何提升高职计算机基础教育的教学效果.docx
- 电力企业管理中的信息化应用和作用探讨.docx
- UML的面向对象软件设计方案文档.doc
- 大数据环境下高职会计专业教育教学模式的转变.docx
- 2012年9月全国计算机等级历年考试三级笔试试卷(word).doc
- 项目管理之干系人管理.docx
- 电力工程及其自动化问题及措施分析.docx
- 光伏发电系统中最大功率跟踪改进算法的研究-物理论文.docx
- 数字医院网络与安全解决方案-公共场所其他.docx
- 优化方案2017高中数学-第2章-算法初步-2.2.3-循环结构北师大版必修3.ppt
- 移动互联网环境下用户行为社交化变迁的探析.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
