精选

伙伴匹配项目 笔记

伙伴匹配系统开发完啦~

项目地址:https://github.com/miyagipipi/paopao

体验地址:http://110.41.66.229:5173/user/login

首先说明一下,后端没有用java实现(因为不懂),所以改成熟悉的python来实现了。

这次最大的一个感受就是——为什么没有早点跟着鱼皮学习项目开发!

因为我之前的工作都是侧重业务的,就是每天都在做重复的工作,领导和对接的部门也不关心是如何实现的,只关心又快又好(2-3天做一个版本需求,需求对接-开发-测试都是自己做,要求零BUG。TOM!)。

现在已经裸辞了,上家公司的项目槽点太多了。

不过重业务的也有重业务的优点,比如我在看鱼皮开发时,一眼就能发现某些会导致体验上的错误,以及后续该如何优化。

简单说一下我收获了什么:

  1. 对很多理论技术有了实际体验,例如session、分布式锁、缓存等。

  2. 对之前用的技术栈有更深的理解,例如vue、sqlalchemy等。

  3. 学习到了后端的项目设计思路。

自己做的优化点:

前端:

  1. 增加了进入队伍功能,用户进入队伍后可以发布计划。

  2. 重构个人信息页面,展示 我创建的队伍 我加入的队伍。

  3. 用户信息编辑页面增加上传头像 编辑标签的功能。

  4. 增加用户注册、用户登出功能。

  5. 使用 pinia 管理用户相关信息。

  6. 使用 defineEmits emit 优化了用户点击队伍页面的按钮后,按钮状态不更新的问题。

  7. 将滚动加载技术应用到项目中,优化数据渲染和用户体验,将虚拟滚动应用到队伍页面,将无限滚行应用到用户页面。

  8. 使用vue作用域插槽 命名插槽,将标签编辑页面抽象成组件,方便用户编辑页面或其他地方引用。

后端:

  1. 使用 flask-restx 的 api-model 来控制请求和响应的数据格式,方便数据脱敏以及后续的需求变更。

  2. 使用 redis-zset 数据结构缓存匹配用户,分析并优化了初始匹配时的算法,10w条数据的计算时间从23秒降低到1.25秒。

  3. 优化最短编辑距离算法,使用 functools.cache 缓存递归函数的调用结果,避免重复计算,提高算法效率。

还有不少体验上的细节优化,就不展开说了。

欢迎想学习vue前端和python小伙伴一起交流。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
zest
下载 APP