2009-04-08 14 views
4

先日私はこのことについて考えていて、SOコミュニティがこの件について何を言わなければならないかを見たいと思っていました。Common Lisp:共有ホスティング環境でライブラリを使用する最良の方法は何ですか?

現在、Common LispはWeb開発プラットフォームとして注目を集めていますが、その理由は十分です(そのうちのどれがすでに確信していると思います)。

私は、PHPと同様の方法で共有環境でライブラリを使用する方法を知りました。

もし私がPythonやPHPのようなFASLファイルを解釈するインタペーターとしてSBCLのようなものを設定したら、ライブラリを使うにはどうすればよいでしょうか(例えばclsqlのように)。

ほとんどの場合、インストール可能なライブラリとして提供されますが、要求が行われるたびにライブラリを必要とインストールするのは愚かなオーバーヘッドになります。

これは共有ホスティングのためのものです。

1)アプリケーションで使用するためにライブラリのシステム全体のコピーをインストールします。スペースは少なくなりますが、正しいバージョンのライブラリを使用することには問題があります。

2)ユーザーが(コントロールパネルから)ローカルコピーを自分自身でインストールできるようにします。より多くのスペース、バージョンの問題はありません。

3)Pythonがそうするように、モジュールにラップして要求に応じてロードするように伝えます(これはLispでやってもどうかわかりません)。ライブラリをロードして使用するのが最良の選択肢でしょうが、私はそれらの多くがこのように使われるように設計されているとは思わないのです。

とにかく、あなたの意見を聞いて、ありがとう。

答えて

2

私はそれを見てしまう2つの方法があります。

  1. は、各要求

    のために、Lispはすべての必要なライブラリを保存した画像であることを多くの方が良いだろう。この方法はLispのを起動し

    データが読み込まれました。しかし、そのアプローチは私にはあまり有望ではありません。それ

    この方法では、あなたが原料の束を一度ロード保存した画像やLispのを開始することができますいずれかに

  2. は、フロントエンドのLispを実行してみましょう(Webブラウザを、別のWebサーバは、...)に接続します要求を処理します。

デプロイメントシナリオで保存された画像/アプリケーションを使用するのが好きです。すばやく起動でき、必要なソフトウェアがすべて含まれており、ライブラリの変更に依存しません。

したがって、必要なソフトウェアを含む事前設定済みのLispイメージを提供するか、ユーザーがイメージを設定して保存できるようにすると便利です。

+0

各ユーザーに事前設定されたイメージを提供する唯一のことは、フロントエンドサーバーからのソケット接続(サイトごとに1つ)が多く必要になることです。パフォーマンスにどのように影響するのかは分かりません。私はそれを見て、簡単なものから始めて、もっと複雑な設定に取り掛かります。 – BlueBadger

関連する問題