转:CodeCube提供可共享、可运行的代码示例

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服务和项目现在已经能够使用了,将来的更新计划包含用户认证、协作编辑,支持其他的语言并提升用户界面体验。

文章来自于:http://www.infoq.com/cn/news/2013/11/codecube

原文地址:https://www.cnblogs.com/guoyongrong/p/3407895.html