0

チームメイトの何人かにカジュアルに使用できるように公開したいperlおよびpythonスクリプトがいくつかあります。そして、git、perl、python、依存関係などでそれらをセットアップすることに対処することは本当に望んでいません。

私たちが持っていたアイデアの1つは、スクリプトごとに、必要な引数に関する記述子を作成することでした。次に、単純なHTMLページで適切な引数を使用してCGIスクリプトを呼び出し、待機してstdoutをユーザーに返します。

これは非常に単純なニーズのように思われるので、そこに存在するようなものを見つけることができないことに驚いています。フォームをレンダリングするフレームワークはなく、仮想コンソール画面を出力します...

もちろん、セキュリティに関する大きな懸念があります。誰かが上記を行う解決策、または他の同様のものをお勧めできますか?

4

2 に答える 2

2

チームメイトの開発者ですか、それともコマンドラインに慣れていますか?もしそうなら、私はSSHを提案します。

スクリプトを含むボックスでSSHDを実行します。Windowsでは、これはcygwinで簡単です。それ以外の場合、MacとLinuxではデフォルトであります。

クライアントはログインし(ssh user @ host)、スクリプトを実行します。証明書を使用してセキュリティを設定すれば、パスワードを入力する必要もありません。

問題がある場合は、不透明なWebページの最後よりも、コマンドラインでスクリプトをデバッグできるようにしたいと思います。

メンテナンスも非常に簡単になります。

于 2012-07-17T02:43:07.237 に答える
1

私はあなたが問題を間違った方法で見ていると思います。

スクリプトを実行するための一般的なフレームワークは、任意のperlまたはpythonスクリプトへの引数の型チェックに役立つ可能性はありません。これらは単なる文字列であるため(sys.argv/$ARGVまたはCGI環境変数として渡されるかどうかに関係なく)。

しかし、これをパーツに分割すると、それらはすべて非常に簡単で、ほとんど直交しています。

まず、フィールドのタイプチェックをどのように行いますか?HTML 5が必要な場合は、フィールドに適切なタイプとその他のパラメーターを入力するだけです。

<input name="foo" type="number" required>

古いブラウザをサポートする必要がある場合は、「HTMLフォーム検証」または「JSフォーム検証」をグーグルで検索すると、作成する必要のあるJSを単純化するか、ストックを添付できるようにすることで、何百ものライブラリが見つかります。名前またはCSSスタイルによるバリデーター。例:

  // ...
  <input name="foo" id="foo">
</form>
<script>
  // ...
  Validator.add("foo", type="number", required=true)
</script>

いつものように、jQueryは非常に役立ちます。HTML5と同じものを書くことができるいくつかの解決策があります。このような記事は、最初から作成するのがいかに簡単かを示しています。または、さらに簡単に、Validationプラグインを使用するだけなので、必要なJSは1行だけです。

スクリプトをトリガーするフォームを設定するために、ストックCGIフレームワークは箱から出してこれを行います。

スクリプトがstdoutをユーザーに返すようにするために、これはCGIにも組み込まれています。ただし、text/htmlではなくcontent-typetext/ plainを送信するようにサーバーを構成してください(スクリプトが含まれるディレクトリ、*。cgi、*。py / *。pl、またはその他の適切なもの)。

それで、何が残っていますか?たとえば、データベースマッピングスクリプト名からタイプ検証文字列にフォームを自動的に生成しますか?繰り返しになりますが、タイプ文字列形式からフォームを構築する汎用ライブラリを持っている人は誰もいません。しかし、jQueryを使用して作成するのは非常に簡単です。空のフィールドセットとアクションを使用してフォームを作成するだけです。の#(document).ready(またはオプションメニューから選択するなどして)、適切な検証属性を持つフィールドを空のフィールドセットに追加します。(または、単純なスクリプトベースの検証ライブラリを使用している場合は、他の形式を使用する代わりに、タイプ記述子を直接使用するようにライブラリコードを変更するだけです。)ここでaction属性を設定することもできます( HTML 5または検証プラグインを使用するため、カスタム送信スクリプトは必要ありません)、またはカスタム送信スクリプトからURLをヒットするだけです(すでに必要な方法で検証を行っている場合)。

そうです、ここに書くべきコードがいくつかあります。ただし、どのソリューションでもコードが必要になります。タイプを何らかの方法でフィードする必要があります。一般的な汎用ライブラリ(たとえば、Validationプラグインを使用したjQuery)を使用すると、おそらくこれ以上のコードは必要ありません。特別な目的のフレームワークがあります。カスタマイズ性と保守性が大幅に向上しているだけでなく(jQueryの経験がある人を見つけるのは、目的の狭いライブラリの経験がある人よりもはるかに簡単です)。

于 2012-07-17T18:04:39.703 に答える