CodeCube 是一个新服务和开源项目,旨在让开发者能够通过浏览器以一种安全的方式分享并运行代码示例从而提升协作。
最初发布的服务可以从 codecube.io 上获取,支持 Ruby、Python、Go 及 C 代码的分享和运行。创建者 Harry Marr 还将该版本在 GitHub 上开源了,该开源项目不需要使用任何特定的许可。
在该项目的最近一个公告中,Harry 注意到许多开发社区使用 Gists 进行协作和代码分享,它是一个来自于 GitHub 的服务允许分享代码的片段和粘贴。但是,如果开始没有下载并建立本地的共享代码,那么 Gists 并不具有运行的能力。正如 Harry 所声明的“输出的再生通常是非常困难的,因为这对代码所运行的环境具有很强的依赖性”。
在创建 CodeCube 的时候,Harry 还受到了 Go( Go Playground )和 JavaScript( JSFiddle )开发者所使用的那些相似工具的启发,借助于这些工具开发者能够在编辑器中运行代码。他的目标是为其他的语言创建这种工具,但是必须克服在服务器上任意运行用户提交的代码所带来的安全问题。
为了克服这些安全限制,CodeCube 使用了一个名为 Docker 的开源项目。正如 Harry 所解释的:
[Docker] 能够在很短的时间内创建或者卸载相对安全的沙箱环境。每次当一段代码要运行的时候,就会创建并启动一个 Docker 容器用于运行这些不被信任的代码,运行完成之后该容器就会被杀死并销毁。
CodeCube 服务和项目现在已经能够使用了,将来的更新计划包含用户认证、协作编辑,支持其他的语言并提升用户界面体验。
在 Hacker News 和 Twitter 上它收到了最多的关注,同时这些网站上对该公告的反应也几乎都是正面的。
评论