
【星球项目】伙伴匹配系统拓展
作业 #项目# 前端 后端
在此先感谢星球上的各位大佬分享自己改造后的伙伴匹配系统源码。在原有的功能上,对伙伴匹配系统进行了相关完善。
本项目的扩展点如下:
1.将原有的注册登陆方式改为了邮箱注册登录
2.将匹配算法从编辑距离算法改为了编辑距离算法、Jacquard相似度匹配算法和余弦相似度算法,权重占比分别为0.5、0.3、0.2,根据权重计算各自的得分,根据最终得分进行排序后得到相似度较高的伙伴,同时使用了IK分词器,对中文标签进行分词后进行匹配,匹配更为准确。
3.结合七牛云OSS对象存储实现了图片上传功能
4.对个人页面进行了优化(增加了头像上传,以及标签编辑页)
5.增加了队伍成员列表页,同时使用websocket实现了在线用户之间的聊天
6.将用户列表优化为流式查询,将匹配伙伴这块改成了定时任务 缓存预热提前缓存匹配用户,提高匹配时的响应时间
总结:―通过本次项目,我收获了很多,对redis,分布式锁,缓存预热,定时任务等有了一个全新的认识,发现自己之前做项目不曾考虑过的问题,增加了自身的开发经验。同时还让我明白不仅要不断总结知识,还要会灵活运用到项目中。同时,在征求到鱼皮哥的同意后也是拿这个参加了竞赛,希望可以取得好成绩叭[呲牙]

评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
作者分享
哔哩哔哩 MCP demo 的设计与实现
59
抽奖
0
抽奖
0
抽奖
0
#工作# #日常分享#
武汉今天早上起来天气有点阴沉,有点小冷,早上去公司手里也没什么活干,就摸鱼修改自己的论文。后面听到组长问产品还有什么简单的需求没,然后产品说没什么简单的需求了,然后就说其他需求都有点难,主要是我总共做的三个需求,至今都还没提测上线。组长也怕我之前的需求没做好什么的。后面就说到我没有组里上一个实习生积极(已转正),然后我听着其实也有体会,因为基本上需求写的过程中有问题了/bug自己解决不了等等我才会和组长沟通,其他时间基本就自己一个人呆着埋头干,自己也挺郁闷的,可能是因为我本身就有点社恐加上组里的开发包括组长都是三十多岁的,有时候聊的都是关于家庭啊家里小孩什么的,和组里的其他开发基本没有什么交流,因此总的来说就像是一个透明人一样,有我没我都一样那种。后来中午时候我和姐姐交流了下这件事。
就我目前这种处境,肯定是有问题的。①职场不同于在上学,这个过程中要转变自己的学生思维,职场上不能说一天到晚什么也不说,这样领导都不知道你今天做了什么,无法体现自己的价值。其实我也有感觉,如果一天都没和组长沟通,我自己内心也很虚,但是和组长说上那么几句我心里也特别有底气。②工作积极主动点,和同事交流交流项目啊,问问需不需要帮助。绝不能做个透明人,否则同事可能觉得你是有心理疾病什么,也会觉得有你没你都一样,无法体现自己的价值,更别指望转正了。③组里聊天,可以适当的附和几句,象征性的聊两句,不能让人把自己排在外,尝试融入团体。
沟通过后我也觉得我得改变,目前这种处境很危险,只能说慢慢改变吧。晚上和身边的同事一起去吃晚饭(之前一直都是独来独往自己吃饭),然后路上听他们在闲聊,也会插上几句,后来就和其中一个老大简单哥聊了聊家庭里的一些琐事,买没买房啊,来公司干几年了等等,聊的也挺开心。
晚饭回来组长让一起吃饭的那个老大哥看看我写的代码有没有什么问题,然后就和老大哥一起看代码,也指出了我之前写的代码哪里哪里不妥当,比如redis只存不取、多个地方使用同一个key就可能出问题等等,这些因为我刚进来时照着别的代码抄过来的,每细想。还有做的第二个需求,算下来做了差不多两个月了。至今需求都没有个定论。做的就是一个数据库表之间的数据同步问题。因为这个需求是没有严格意义上的说明文档的,只能依靠一张图片,来尽可能实现他的功能,但是到最后的效果并不理想。
首先最大的问题就是这个需求我并没有理清楚,究竟能不能多个表往同一个表里写数据,这在我开发阶段完全忽略了这个问题,也没有想到过,假设有表A、表B同时往表C里写数据,表A向表C写数据是个定时任务,每天要执行定时任务,需要将表C中前一天同步到A表中的数据删除(删除如果数据量很大又会有问题),再进行同步,但问题是表A、B、C并不固定,并没有说有一个字段可以作为通用的标识,来作为判断表C中哪个数据是来自于表A,哪些数据来自B等等,我当时想过使用活动ID作为标识,但又想到如果表A中数据量很多,活动ID多则成千上万,来将活动ID作为数据来源进行维护又是一个问题,因此我也和产品撕逼半天。其次,同步有自动同步(定时任务quarz实现)和手动同步(多线程异步实现),手动同步是可以指定活动ID,然后立即同步,代码逻辑里需要考虑删除之前指定活动ID的数据,在原来数据的基础上插入新的数据,我之前做的是通过TRUNCATE TABLE 语法,直接删除整张表的数据,因为原始数据数量不固定,少到几十条多到成千上几十万条数据,但这样就会引出一个新问题,如果使用我的方案,就违背了产品以及业务那边的想法,但是通过加where条件删除,如果数据量几十万,删除的过程会很漫长,同时不断删除插入数据,由于自增ID,ID会不断累加,导致很多问题。
晚上和产品,组长,我旁边的老大哥聊的很开心,也发现开发中的一些问题,组长的意思是明天和业务那边进行沟通,最终再做定论。
18
