基于Socket.io的虚拟计算机

基于Socket.io有很多特别强大的应用,socket.io官方提供的一个虚拟计算机Demo就非常赞。通过将使用Qemu虚拟取出来的PC界面转发至Socket.io的端口,然后对Canvas不断地进行绘制,形成了近似与远程操控的体验。我们Together项目用到了这个库,但由于这个库发布于很久之前,再加上相关文档过少,导致部署起来极为困难。所以我完成了这篇文章,希望能让后来人少走一些弯路。 下文基于Ubuntu 14.04 x64,其他系统请自行转换相应命令,谢谢~

Read More

数据库系统概论复习

绪论

数据库系统概述

数据(Data): 描述事物的符号记录称为数据。 记录: 计算机中表示和存储数据的一种格式或一种方法。 数据库(DataBase,简称DB): 数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 特点: - 数据按一定的数据模型组织、描述和存储 - 可为各种用户共享 - 冗余度较小 - 数据独立性较高 - 易扩展

Read More

史上最详细的Hexo博客搭建图文教程

从2014年的八月份开始接触Hexo,一直用到现在,已经有半年的时间了。这期间,Hexo从2.X一路升级到了3.0,很多地方都发生了改变。不仅如此,很多原来使用Hexo的博主们写下了的教程并没有及时更新,导致后来人一头雾水,挫折感十足。因此,本文致力于提供一份足够简单,长期维护的基于Github Pages的Hexo博客搭建图文教程,希望能有所帮助。 当然,我个人的力量是有限的,因此也希望使用Hexo的大家也能一起行动起来,通过提交PR发布issues或者在下方评论区评论等形式参与到本文档的编辑中来。浏览时,使用Ctrl+F搜索关键词。(是不是会有似曾相识的感觉,= =)

Read More

数论——欧几里得算法

欧几里得算法

介绍

欧几里得算法,又名辗转相除法,是求最大公约数的算法。两个整数的最大公约数是能够同时整除它们的最大的正整数。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。例如,252和105的最大公约数是21(252 = 21 × 12;105 = 21 × 5);因为252 − 105 = 147,所以147和105的最大公约数也是21。在这个过程中,较大的数缩小了,所以继续进行同样的计算可以不断缩小这两个数直至其中一个变成零。这时,所剩下的还没有变成零的数就是两数的最大公约数。 辗转相除法的演示动画 参考辗转相除法的演示动画:两条线段分别表示252和105,其中每一段表示21。动画演示了循环从大数中减去小数,直到其中一段的长度为0,此时剩下的一条线段的长度就是252和105的最大公约数。

Read More