Athena开发日记——第一日

今天是我开发Athena的不知道第多少天。是我开发日记的第一天。

连日的熬夜让我觉得有点晕也有点累。于是今天刚好趁机整理一下思路吧。

Athena之前叫做Lisa,是我师父的名字。她的前身是workstation,我的个人工作台项目。我之所以开workstation,是因为我发现我所做的众多尝试,并没有得到成果。我需要一个东西,把它们放到一起。于是就有了workstation——一个辅助我办公的项目。在做到第六个功能——“手气不错”的时候,我想到了个人助理。

在很多作品里,你都能看到个人助理的影子,比如东之伊甸里预言主人死亡的社会猜想系统,宇宙刑警里的嘉娜,最近守望先锋里的Athena。当前以siri为代表,在各个平台上都有类似的玩意儿。

然后我在workstation的主页开发了这个,最初是一个以restfulAPI做后台的小模块,后来我发现,她才是我想要的,她才是入口。

于是今天下午我花了一部分时间,把她从我的项目里抽出来。变成了一个单独的项目。


Athena当前只有三个功能,打开她的时候根据当前的时间打招呼,摸她的时候做一个固定回应和回应我的“资讯”消息。

当前的主体架构是搭载在Express上利用socket.io做的。由于移除了所有restfulAPI,所以没有使用路由,只进行了基本的static服务。这样导致了一个问题,我所有的应对都是基于socket的handler的(socket.on(...)),所以整个handler里写的非常之乱。还在想怎么解决。

之后我将原来API的Controller和DAO干掉,将功能抽象成为service的形式。第一个完成的就是crawler,现在想来应该叫Spider——爬虫。所以现在当我输入“资讯”的时候,Athena就会爬取我设定好的RSS源的所有消息,然后发给我。

有关爬虫的进化,我还要专门拿出来写……

之后,我想做的是——

1.现在的爬虫还只是基本的静态抓取,无法获取动态页面,需要结合phantomJS进行动态获取。截止写的时候,我的phantom搞了一晚上搞定了。开心。虽然weibo.com的抓取还是很失败,不过taobao已经没问题了。

2.让Athena拥有自己的心情——用Mongo建立一个心情库,然后根据随机爬取的新闻进行心情变更。

3.邮件功能——把之前做的nodemail和imap整合进来,虽然Exchange暂时无法实现,但是QQ邮箱应该没什么问题了。另外,邮件就意味着富文本编辑器。我打算用Simditor

4.小黑板——其实也就是一个记事本,同时可以允许我把重要的她说的话,钉到黑板上。另外就是我在考虑要不要使用iframe进行窗口开发。这个待定,明天可以试一下。

5.未来——语音库?同义词?哦对了我的分词用了结巴,也已经成功了,下一步可以做关键词积累了。

暂时先写到这儿吧,明天有时间把最近用到的新的插件整理一下。然后把爬虫进化史整理一下。

晚安。明天也要开心哦~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,366评论 25 709
  • ——写在子墨入学前 文/寒烟 初秋的夜,清澈、微凉、舒适。不知为何,今夜却难以入眠。是惜时?还是时光易逝永不回的恐...
    寒烟y阅读 824评论 6 7
  • 五年了,我们终究没有再见。 这么多年我不再霸道了,那你呢?我学会乐观对待一切(至少做个积极的悲观主义者)了,那你呢...
    我要的不是再见阅读 427评论 0 0
  • 最近角色扮演比较多,扮演过交警,扮演过环卫工,体验不一样,因为扮演环卫工角色时,你可以捡垃圾,但扮演交警时...
    黎明_eaa4阅读 183评论 0 0