是莽撞人就来单挑:教学过程中与学员实时分享代码文件

谢益辉 2020-07-31

年初我在英文日志中写道,从纯技术角度来看,今年的 RStudio 大会报告中最吸引我的是一个叫 livecode 的包。它做了一件很有意思也很实用的事情,就是把一个用户的文件广播出去,让其他人能(几乎)实时在自己的电脑上自动更新这个文件。这对教学尤其有用,比如老师在讲台上写一份代码时,学生可以在自己电脑上实时得到老师的代码,而不用跟着老师去手敲。

这个想法很棒,但我对它的实现有一处很不满意的地方,就是依赖包太多。现在我越来越觉得,净土包的依赖实在是太笨重了,感觉一入侯门深似海,一旦依赖它一个包,就会引进一大坨依赖。比如我从来都不能理解为什么蜡笔包(crayon)会成为这么多包的硬性依赖,它只不过是为控制台输出添加一点颜色而已,真的重要到非依赖不可吗?

如果是我自己来实现,我觉得硬性依赖只需要三个:httpuv、later(其实后者已经是前者的依赖)和 rstudioapi。我会这样去实现它:

好了,我的时间只够敲出想法,具体的实现不知道猴年马月能有这个闲工夫,所以先把想法列出来,看有没有壮士来把这事办了。技术方面,以前我写过《用 R 创建网页服务器》也可供参考。