[英]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.