OneCat开发笔记:0.项目介绍以及前言的碎碎念
前言 我是春节假期偶然想起这个项目的 今年春节假期因为下雨的原因在家时间比较多,所以在搞电脑的时候突然想起了OneCat这个项目 捣鼓捣鼓一下,重新run起来,发现单纯拿来当个聚合阅读工具还不错hhh 然后回想起OneCat这个项目的开发经历,第一次尝试开发分布式系统、第一次尝试深度学习方法的NLP、第一次接触推荐系统、第一次尝试docker部署…… 作为大学期间的最后一个项目,我想认真做一做,或
目录4 个章节
前言
我是春节假期偶然想起这个项目的
今年春节假期因为下雨的原因在家时间比较多,所以在搞电脑的时候突然想起了OneCat这个项目
捣鼓捣鼓一下,重新run起来,发现单纯拿来当个聚合阅读工具还不错hhh
然后回想起OneCat这个项目的开发经历,第一次尝试开发分布式系统、第一次尝试深度学习方法的NLP、第一次接触推荐系统、第一次尝试docker部署……
作为大学期间的最后一个项目,我想认真做一做,或许以后回忆起这四年才不会觉得虚度光阴~
虽然开发过程中遇到不少难题,不过也学到了很多,当时答辩完就没怎么管这个App了也没发布出来,为了有始有终,我决定写一个系列的博客来介绍OneCat项目从零开始开发的过程,并且重启开发,添加上更多的功能
什么是OneCat
首先解决是什么的问题。
OneCat,中文名「壹喵」,是我本科的毕业设计,是一款集聚合阅读、推荐系统、聚合搜索、社区等功能的App
名字的由来:偶然想到的,“壹”代表只需要一个App,“喵”因为我比较喜欢猫,所以选了猫作为App的标志。(起名真是一件困难的事)
App截图
直接上App图片,后台那么多东西没人看得见,只有前端是用户最直接感知到的。
| 登录 | 注册 | 关于 |
|---|---|---|
![]() | ![]() | ![]() |
| 主页 | 分类订阅 | 文章阅读 |
![]() | ![]() | ![]() |
| 用户主页 | 全网热点 | 文章评论 |
![]() | ![]() | ![]() |
篇幅所限,就发个九宫格叭~
项目架构
OneCat主要分为运行在服务器端的后端程序与运行在手机客户端的应用程序两大部分。
服务器端分为数据服务、全网热点、推荐系统、聚合搜索等模块。
数据服务包括:
- 网络信息采集(爬虫)、
- 数据缓存(MongoDB数据库)、
- 数据清洗(基于深度学习的BERT模型自然语言处理、中文文本分类)、
- 数据持久化以及提供访问数据的Restful接口(DjangoRestFramework框架)等模块;
全网热点基于数据服务的数据,提供类似“热搜”的热点榜单,快速了解当下热门事件;
推荐系统使用包括基于聚类推荐、基于机器学习算法(协同过滤)和基于关联规则推荐的隐语义模型(深度学习)等多种推荐方法;
聚合搜索包括一个元搜索引擎和相应的数据接口。
_EOF_
OneCat开发笔记:0.项目介绍以及前言的碎碎念
- 本文作者:
- 程序设计实验室
- 版权声明:
- 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
相关文章
C#学习(三)深入理解委托、匿名方法和-Lambda-表达式
前言 lambda的概念建立在委托的基础上,委托,实现了类型安全的回调方法。在.NET 中回调无处不在,所以委托也无处不在,事件模型建立在委托机制上,Lambda 表达式本质上就是一种匿名委托。本文中将完成一次关于委托的旅行,全面阐述委托及其核心话题,逐一梳理委托、委托链、事件、匿名方法和 Lambda 表达式。 委托的定义 了解委托,从其定义开始,通常一个委托被声明为: public deleg
2021-12-18 · C# · 约 1 分钟
StarBlog博客开发笔记:上传图片功能
后端实现,前端的后面说 可以先在swagger里测试 ImageSharp组件文档:https://docs.sixlabors.com/articles/imagesharp/gettingstarted.html service private string GetPhotoFilePath(Photo photo) { return Path.Combine(_environment
2022-02-28 · StarBlog博客开发笔记 · 约 1 分钟
操作系统学习二:进程同步与互斥之生产者-消费者问题--NetCore实现
目的 1. 掌握进程(线程)的同步与互斥。 2. 掌握生产者消费者问题的实现方法。 3. 掌握VC的多线程编程方法。 内容 本实验要求设计并实现一个进程,该进程拥有3个生产者线程和1个消费者线程,它们使用10个不同的缓冲区。需要使用如下信号量: 一个mutex信号量,用以阻止生产者线程和消费者线程同时操作缓冲区队列; 一个full信号量,当生产者线程生产出一个物品时可以用它向消费者线程发出信号;
2022-06-17 · 计科基础 · 约 1 分钟
Android开发:在Linux系统上使用ADB连接Android手机
前言 由于 Linux 系统的安全性设置等原因,非 root 用户使用外部设备或者某些硬件接口会受到限制。Google 官方提供的 SDK 并不能直接工作,如找不到设备或者显示一堆问号以及 Permission Denied。 方法 记得以前有看过 Google 官方提供的解决方案,即将指定的 USB 设备读写权限赋予普通用户。 首先使用 lsusb 命令查看连接到计算机的 usb 设备,找到 A
2021-12-18 · Android开发 · 约 1 分钟
讨论
共 0 条加载评论中…








