7

ウェブサイト用のAPIを提供するだけでなく、サーバー上で実行される簡単なスクリプトを作成する機能をユーザーに提供したいと思います。スクリプトは、ユーザーが所有するオブジェクトにアクセスでき、データを操作、変更、またはその他の方法で処理できます。

これらのスクリプトが使用するリソースを細かいレベルで制限できるようにしたいと思います(たとえば、最大実行時間は100ミリ秒にする必要があります)。また、各ユーザーが限られたデータとリソースのセットにのみアクセスでき、ディスクや他の人のデータなどにアクセスできないように、安全なサンドボックスを確保したいと思います。

通常、スクリプトは非常に単純であり(たとえば、特定の基準に一致する値の合計または平均を作成する)、テンプレートでよく使用されます(たとえば、このセルまたはhtml要素の値に平均または和)。

理想的には、よく知られた、一般的に利用可能なプログラミング言語のサンドボックス化されたサブセットを使用して、ユーザーが簡単に理解できるようにしたいと思います。バックエンドはPythonで書かれているので、Pythonベースの言語には利点がありますが、私は他の言語やテクノロジーを受け入れています。Javascriptは、その単純な性質と一般的な可用性のためにも魅力的です。

言語はDSLとライブラリの作成をサポートする必要があります。

ターゲットオーディエンスは、Webベースのアプリケーションの一般的なユーザーベースであり、必ずしも技術的なものではありません。言い換えれば、特定のプログラミング言語の特定の知識を持つベースを対象としていません。私の期待は、ユーザーのサブセットが大多数によって使用されるスクリプトを作成することです。

言語とテクノロジーに関するアイデアや推奨事項はありますか?これを試みている他の人の例と彼らが遭遇した成功と失敗はありますか?

4

1 に答える 1

2

私はこれにLuaを使用していますが、Lua対応のコミュニティを対象としています。だから私の答えはあなたのユーザーは誰ですか?

私の場合のように、ユーザーが内部にいて、Pythonに習熟している場合は、Pythonを使用してください。ただし、これがワールドワイドウェブ向けのものである場合は、おそらくjavascriptを選択します。これは、その共通語であるためです(すべての開発者はそれを知っており、簡単に入手できます)。エンジンに関しては...まあV8はいいのですが、SpiderMonkeyのように、同じプロセス内で複数のエンジンをロックなしで実行できないという点で、100%スレッドセーフではありません。だからあなたはそれを使いたいかもしれません。また、javascriptはデフォルトでサンドボックス化されているため、自分の側で多くを実装することを心配する必要はありません。

于 2008-12-17T01:48:12.713 に答える