迟来的一更。
换了工作,工作中由于失误,不得不干掉之前的Github账号,只好匆匆备份了代码,删除了账号。
Athena的旧版本停止在了一个未完成的功能——计划任务。我尚未完全用ES6重写旧代码,也尚未把MongoDB回退到SQLite3。很是遗憾。
之后,我的新工作里有一点空余时间,让我有时间来思考之前的做法。
Web是不是最合适的UI?
期间我看到了其他的控制台形式的个人助手,非常棒的很多作品,比如:WTF, Yoda(这个作者的头像我很喜欢)。
然而我感觉这并不是我想要的,而且它们也遇到了它们的问题。个人助理最终会停留在一个Toolbox上。
不过Yoda用了API.AI,有了一定的人工智能。
然而,这依然不是我想要的。
我也试图用 Apple Script 或者 OS X 编程去实现一个,然而成本着实的很高。
未完成的版本最大的问题在哪儿?
刨除没有很好的投入使用,迭代次数不够之外。最大的问题是模块化。这在我最近的代码里也进行了一些修正和尝试。
Athena的所有模块是分层写的。整个工程由无数个(其实就十几个)功能模块组成。每个功能之间有很大的耦合性。而每个功能其实都可以拆分出来,当作一个小项目来做。
比如用来进行情绪累积计算的Mood模块,引用了NodeJieba和情绪判别的新闻情绪判断模块,标准的爬虫模块Explore等。
甚至我当时写的Shell模块里的EnvCheck——用于判断有没有Mongo进程,没有就自启动——的功能,我都觉得可以拆出来。
模块化尝试
于是我进行了一部分的尝试。当然,也是这些尝试让我的上一个Github账号彻底报废了。
最近的我在反复的重写爬虫模块,反复的造轮子。最新的一个轮子是:Spider Tool。它只包含了基本 Request Promise 模块,剩下的是一个标准的 Adapter 接口。
我没有尝试把它发布到 npm 里,然后我在另一个爬虫实现里调用了这个轮子。目前依然在测试中。
然而即便写好了模块拆分,我发现我离她依然很遥远。AI 是一个遥不可及的梦。
我最近看到了一篇文章讲到,要做一些有积累的事情。
我撸了一万年,资源删了又下,下了又删。代码写了又归档,归档了又重写。到头来日志都没有留下几篇。简直是一件难过的事情。
于是我在慢慢的搞一些东西发布出来,也算是一些总结吧。
七日之后是新的一周。
我去愉快而又沉重的开个新坑去。