[英]How does Udacity web Python interpreter work?
Udacity为学生提供了一个Web编辑器来输入Python程序。 编辑器识别Python关键字和内置函数,并允许运行程序。 你知道这项技术是如何运作的吗? 程序是提交给后端并由标准Python解释器执行还是基于JavaScript的Python解释器? 编辑器是否只是持有Python关键字和内置函数的静态列表,还是与标准或基于JavaScript的Python交互以获取这些?
虽然javascript python解释器确实存在: http : //syntensity.com/static/python.html ,但它们似乎没有使用。 如果他们至少没有运行一次程序来对自己的翻译进行验证,那就太容易作弊了。
在查看Udacity上的网络活动之后,我可以看到他们使用一堆数据进行ajax调用,然后以JSON的形式运行程序的结果。
猜测他们有一个标准的python解释器在沙盒中运行,它将执行分配,然后将结果打包成JSON,返回给客户端并更新到屏幕。 同时,您提交的结果将作为课程结果的一部分进行记录。
很晚到这里聚会,但我作为在Udacity的工程师工作,所以我想我给它一个镜头。
有两个基本的事情发生:
没有在本地运行它那么快,但肯定能够支持数十万人第一次尝试安装Python;)
我没有尝试过Udacity,但是对于语法高亮部分,可以使用简单的后端代码轻松完成,后端代码使用一些Ajax进行更新。 最简单的方法之一可以用作编译器或解释器中的词法分析。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.