这两天陆续使用了好几个网站的API,很是不爽,所以写一个简单的小结在这里,仅供参考。
这两天陆续使用了好几个网站的API,很是不爽,所以写一个简单的小结在这里,仅供参考。
如果你只是需要一个能在熄灯之后使用的路由器,请在网上买一个带电池的路由器,只要大约100元即可。
本解决方案主要包括:
这两天在做高级数据结构(ADS)课程的大作业,内容是做一个推荐系统。我们选取的是C. Wang and D. Blei. Collaborative topic modeling for recommending scientific articles.一文中描述的模型。文章的作者C. Wang在个人主页上发布了论文中使用系统的部分代码,代码使用C++语言完成的。而我们的系统是用Java搭建的,因此我们需要将C++代码移植到Java中。
本以为这是一个简单的工作,只需要简单的改写即可,但没想到第一次移植的版本跑出来的结果的准确率只有作者程序的1/10。于是我意识到程序改错了。经过漫长的人工静态debug,终于把程序改对了。
通过半个多学期的实践,我发现,想用好数据库真的是没那么容易。
之前有两篇文章来叙述千寻的数据库设计,但在实践中,千寻并没有按照之前设计的方式来使用数据库。最主要的原因是,数据在MongoDB和redis中重复出现,这个冗余带来的一致性问题比较难以解决,虽然在写代码的时候已经通过code review来尽量避免数据的不一致,但一致性的bug还是难以避免。
使用node.js处理上传文件,容易想到的做法是使用express来处理post数据,然后将数据存在文件系统中。但在千寻中,这种方法看起来并不够理想。千寻中,我们一直在使用socket.io作为通讯的媒介。因此,在这里,我们需要考虑使用一种能直接利用socket.io完成通讯的做法。