已经研究僧了,想来自己还没做过什么 web 相关项目于是把上学期的某课程作业延伸一下当自己的 side project 。
这是什么


...没看错,这就是我照着 Reeder for Mac 默认 Reeder 主题像素级拷贝的一个网页简化版。很多贴心细节都没实现目前也就是看看像那么个样子(颜色确实是我从 Reeder 上取出来的...)。大大的勾勾是用来 mark as read 的,另外要说和 Reeder 有什么不一样的话是第二栏每篇文章标题下的不是概要,而是提取的关键词。
为什么做这么个东西
- 学习 web 开发。认真接触 javascript 也就是最近两学期内的事情,而且是一入门就接触大框架 angular 啊 react 啊,自己反而对基础的 js 都不太熟悉。所以这次就没用什么框架——好吧其实还是用了 jQuery 。顺便稍微系统地学习一下 CSS 相关(比如这次稍微了解了 flexbox 和 animation )。后端自己有经验,不过没有从零开始写过东西,这次也是来打怪升级的。
- 我是 Reeder 脑残粉, mac 版和 iOS 版都在用。但是比较恼火的是在 mac 上很难快速的 mark 掉不怎么感兴趣的文章(特别是订阅了一些更新很频繁的站点的时候)。所以有个想法是如果每篇文章有自己的关键词(或者文章总结)的话,我也许一眼望过去就能划掉那些自己觉得没什么意思的文章。这也是做这么一个东西的初衷。
技术栈
附上了 github 链接,求加星星交友。
ReadKeyRSS,页面前端, ES6 + babel + webpack 。用了 jQuery 。
ReadKeyServer,后端, repo 里介绍比较详细, golang ,用 gin 作服务器,go-pkg-rss 处理 RSS/Atom 。存储层是 Redis 。
ReadKeyWord,关键词提取服务器,目前就支持中文和英文。中文是 HanLP 自带的基于 TextRank 的关键词提取算法(也是我老老实实选择 Java 开发的原因),英文是一个叫 RAKE(Rapid Automatic Keyword Extraction) 的算法的 python 实现,当成 Jython 程序整合进了这个服务器。基于 Spark web framework(此 spark 非彼 spark )。
之所以用关键词而不用文章总结是觉得后者更难吧...
网址在哪儿
自己本来有个 512MB 的 digitalocean 机器,部署了发现好慢啊...忽然发现 AWS 里自己有上学期老师送的 100 刀 credit ,但是 1 月底就过期了。于是架了一台 m4 large ,争取花完钱。所以这次就当是内测,也希望大家提意见(因为问题肯定很多...)。
地点是 54.172.65.245:8080,用户系统是直接用的 Auth0 ,要不然感觉自己写起来会很麻烦说不定还会写错...支持 google github 和用户名密码登录。
以及添加 RSS/Atom 的时候需要具体 RSS/Atom 的地址,比如 http://zhihu.sellmoe.com/feed http://www.engadget.com/rss-full.xml 可以, http://www.engadget.com 就不行...这也是个 todo 。
比较紧急的 Todo
- 自己用了一两天后觉得很需要 mark all as read 的功能...
- 关键词效果似乎不是太好,打算认认真真研究下那两个算法并比较一下。可能需要跟踪一下学术界 state of the art 的进展。
