問題タブ [hunchentoot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
686 参照

common-lisp - Common Lisp Webサーバーの推奨オプションは何ですか?

これまでのところ、Hunchentootを試しただけで、AllegroServe、ABCLwebについて聞いたことがありますが、パフォーマンスの比較方法はわかりません。私は疑問に思っていましたが、Common Lisp Webアプリを本番環境にデプロイするための現在の最良のオプションは何ですか?

0 投票する
6 に答える
2026 参照

lisp - ASDF を使用して Hunchentoot を起動する

Hunchentoot (SBCL および Linux) を使用して Web アプリに取り組んでおり、通常は Emacs (SLIME) から実行するだけですが、展開のためには、より簡単に自動化できるものが必要です。だから私は ASDF を理解しようとしています。なぜなら、それは最近みんなが使っているもののようだからです。

myapp.asd:

package.lisp:

サーバー.lisp:

手でロードしようとすると:

一連の関数全体をロードしてコンパイルしますが、その後停止します。Hunchentoot が実行されておらず、プロンプトが入力を受け入れません。私はそれがどのような状態にあると考えているのかわかりません: 印刷された最後の行は次のとおりです:

これを機能させる方法はありますか?(自白: ASDF や Common Lisp パッケージについて何時間も読んだにもかかわらず、私は本当によく理解していません。)

0 投票する
2 に答える
2496 参照

common-lisp - Web アプリを Hunchentoot に接続する方法

hunchentoot Web サーバーを必要とする Web アプリを作成しています。私は hunchentoot や Web サーバーに関する実用的な知識がほとんどなく、Common Lisp で記述された私のアプリがどのように Web クライアントにページを提供するのか疑問に思っています。私はいくつかの優れた例を見てきました (例: Hunchentoot Primer、Web 用 Lisp) esp. Hunchentoot のページにリストされているもの。そのような例をもっと見つけることができる場所を知っていますか? ありがとう。

0 投票する
4 に答える
2062 参照

lisp - Lispとパッケージに関する初心者の質問

気にせず、質問だけを見たい場合は、バックストーリーを一番下までスキップしてください。

だから私はしばらくの間LISPで遊んでいます。いくつかの基本的な機能、いくつかのクラス、およびファイルIO。この記事に出くわしたとき:

http://www.adampetersen.se/articles/lispweb.htm

そして、私はWebアプリケーションにlispを使ってみることに興奮しています。パッケージをダウンロードしに行きますが、一生の間、AllegroIDEにパッケージをロードする方法がわかりません。

うーん...わかりました。hunchentootサイトによると、基本的なパッケージの多くはLispWorksに含まれています。だから私はそれをダウンロードします。これらのIDEにダウンロードしたパッケージのソースを取得する方法がまだわかりません。彼らはパッケージのバイナリを持っているようですか?

たぶん、私のubuntuサーバーに切り替えて、すべてのパッケージをapt-getし、slimeをセットアップします(lispを学びたかったので、これまで使用したことはありません。emacsとlispを同時に学ぶのは本当に大変なことのようです)。私は必要なすべてのパッケージを入手してスライムをロードしますが、同じ問題が利用できません。

私はもう少し掘り下げて、ASDFと呼ばれるこのプログラムを見ます。ASDFはlisp用のパッケージビルダーのようなもののように見えますか?紛らわしいように思えます。この時点で私はあきらめようとしています。


あなたがまだこれを読んでいるなら、ここに私の質問があります。
1.これらのパッケージのソースをlisp環境にロードするにはどうすればよいですか。lispを学ぶのはそれほど難しいことではありませんが、環境に関する情報はまばらです。ASDFでダウンロードしたパッケージをビルドする必要がありますか?
2.すべてのツールを事前に学習するために大量の時間を短縮することなく、誰かがLispで起動して実行するための簡単な方法はありますか?

0 投票する
3 に答える
577 参照

lisp - LispyPackageManagerのインストールの問題

新しいマシンにHunchentootをインストールしています。今回はLispyを試してみようと思いました。これは、Hunchentootの依存関係を標準的で、できれば自動的に管理する最も簡単な方法のように思われるためです。ただし、インストールすると、キーを確認できずにトリップします。ASDF-INSTALLがキーを使用しようとするのを見たことがありますが、通常、キーの検証をスキップする方法を見つけました。そのようなセキュリティは本当に必要ありません。これらのパッケージを配布している人々を信頼していますね。とにかく、この場合、キーをスキップするための再起動はありません。そのため、コードを掘り下げてコードから抜け出すのではなく、これに対処するためのより正しい方法があるかどうか疑問に思いました。Lispyは壊れているとは思われず、CommonLispで考えられる最も標準的でサポートされている環境であるUbuntu+sbclを使用していると思います。私はこれを機能させることができると思いますが、ASDF-INSTALLを使用してHunchentootのすべての依存関係を手動でインストールすることもできるので、Lispyを試して、より制御された正しい方法で実行すると思います。これが私がしたことの実際のログであり、中間のメッセージのほとんどを切り取っています。

0 投票する
1 に答える
485 参照

common-lisp - 関数を特殊化してHunchentootセッションのCookie名を変更するにはどうすればよいですか?

Hunchentootを使用していますが、セッションCookieの名前を変更したいと思います。これはジェネリック関数で実装されており、ドキュメントには「関数を特殊化する」ことができる名前を変更するように書かれています。

ここでこれが何を意味するのかよくわかりません。関数に特化するのは、特定の引数タイプにメソッドをディスパッチすることだという印象を受けました。この特定のケースでは、関数はサーバーアクセプターを取得しますが、これは変更したくありません。誰かがこれについて私を照らすことができますか?

API:http ://weitz.de/hunchentoot/#session-cookie-name

ソースの実装は次のとおりです。

0 投票する
1 に答える
257 参照

deployment - フィードバック希望: プロダクション Lisp Web アプリケーションの無停止展開戦略

私は、人々が Lisp webapp の展開と更新 (特に更新) を本番環境でどのように行っているかを聞くことに興味があります。

Ruby では、私を含めて多くの人がデプロイに Capistrano を使用しています。これは、優れた間接化とコマンドをリモートで実行する機能を提供し、最も重要なのは (私の考えでは) 動作中のコード ベースにロールバックする機能です。

SSH トンネルを介して Swank 経由で接続され、その場で変更される、長時間実行される Lisp プロセスのアイデアは、一般的なアイデアであることがわかっていますが、私はその Koolaid を飲みませんでした。プロセス (これは、メモリ内の現在の状態と、すぐにメモリ内にある新しいオブジェクト定義との間の予期しないインピーダンスの不一致など、何か問題が発生した場合にトラブルを求めているように見えます)。

hunchentoot を使用して (またはお気に入りの Lisp アプリ サーバーをここに挿入して) ほぼステートレスな (または完全に) webapps を作成できることを考えると、Capistrano のようなものを使用して、Lisp コードを中断せずに更新することもできるようです。 ) アップストリーム チャネルの nginx の背後に隠れて、hunchentoot プロセスをダウンさせるコレオグラフを正しく作成し、コードの更新後にそれらを元に戻すことができる場合、たとえば、少なくとも 1 つの hunchentoot プロセスをクラスターで実行したままにして、それらをすべて元に戻します。任意の時点で (CGI または mod_lisp を使用できますが、私はそのアプローチに特に興味はありません。ただし、そのアプローチが本当に好きな場合は、少なくともそれについて何か言ってください。私は学びたいです)。たとえば、Passenger (必要に応じてプロセスをスピンアップするため、オレンジとリンゴを比較しています) を使用すると、

さて、これはちょっとしたとりとめのない話です。実際、私はこれをすべて試してみようとしていますが、これらのアイデアについて他の人からフィードバックを得たいと思っています。多分あなたはより良い考えを持っています。

ありがとう

0 投票する
1 に答える
1435 参照

common-lisp - Hunchentoot/cl-who ページ構成

Hunchentoot/cl-who ページ構成

実験的にhunchentootでいくつかのページをまとめようとしているのですが、思わぬ壁にぶち当たります。例として、次のテンプレート マクロがあります。

今、純粋なテキストページ、または次のようなhtmlリテラルで満たされたページがある場合

すべて問題ありません。ページは適切に出力され、コードの作業をすぐに確認できます。しかし、冗長な要素で構成されたページがある場合、それはそれほど単純ではありません。たとえば、何らかの理由で 3 つの RSS ニュースフィードを表示したいページがあるとします。これは抽象化したい十分に複雑なコンポーネントなので、私の考えでは、次のようなことができるはずです

しかし、上記の結果は「サーバーエラー」ページです。理由はよくわかりません。page-templateはマクロなので、 への呼び出しはpublish-newsfeedのコンテキストになるまで展開されるべきではありませんwith-html-output-to-string。誰が私が間違っているのか教えてもらえますか?

また、さまざまな Hunchentoot/cl-who チュートリアルを詳しく調べたところ、この種のページ構成を行っているものはないようです。Hunchentoot の経験がある人なら、ページをコンポーネントに分解する正しい/標準的な方法を教えてもらえますか?


編集:

以下のRamarrenによる正しい応答。マクロはwith-html-output異なる評価ルールの下で機能します。この状況で実際に機能する publish-newsfeed のバージョンは、実際には

mapcarforが削除されていることに注意してくださいdolist(私はスキーマ担当者です。ラムダ式が好きなのであまり苦労しないでください。ただし、ここでは適切な選択ではありませんでした) htm。 (h-exps?) それ以外の場合は のコンテキストにはなりませんwith-html-output。最後に、動的に展開するために、:hrefプロパティではなくテキストをラップする必要がありました。(str )

0 投票する
3 に答える
600 参照

lisp - clでフォーマット-正しく動作しない人

hunchentootとcl-whoを介して個人のWebサイトを構築しようとしていますが、次のコードでセマンティックエラーが発生しています。

「standart-page」はマクロです:

「(index)」の評価(「(articles)」に1つのテスト記事がある場合)は次のようになります。

タグを見て、<li>..</li>なぜ出力がないのか疑問に思いました。format関数に問題があると思いますが、何がわかりません。