問題タブ [nrepl]

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 投票する
1 に答える
1216 参照

emacs - nreplをシャットダウンする適切な方法は何ですか?

emacsでnreplを正常にシャットダウンするにはどうすればよいですか?

swank-clojure はコンマと でシャットダウンされましたがsayoonara、これは nrepl では機能しません。

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

clojure - Clojure サーバーに NREPL を埋め込むためのベスト プラクティス方法

Clojure でサービスの開発を始めたところです。サーバーのシャットダウンにアプローチする方法に少し迷っています。

Clojure 1.5.1 を使用しています。ロギングには、Timbre 1.5.3 を使用しています。ホットコード展開のために NREPL をサーバーに組み込みたいと考えています。

これは私の core.clj ファイルです。Core がメインで、「lein new app」が生成するアプリ シェルを使用しています。

「lein run」すると、nrepl-server が期待どおりに起動し、情報メッセージがターミナルに送られます。次に、Emacs の「nrepl」で接続します。問題ない。Emacs から "(extenium.core/stop)" を実行します。その時点で、Emacs に "Stopping nrepl server" メッセージが表示されます (標準出力がクライアントにリダイレクトされたことを意味します)。接続は (予想どおり) 終了し、「Stopped nrepl server」というメッセージは表示されません。罰金。

ターミナルを見て、「Stopping...」または「Stopped...」というメッセージが表示されません。代わりに、次の例外が発生します。

理想的には、次のものが必要です。

  1. NREPL クライアントからシャットダウンを開始できるようにします。例外なく、すべての NREPL クライアント接続を適切に閉じます。ターミナル (または最終的にはローテーション ログ ファイル) に向けられたログ メッセージでシャットダウンします。
  2. NREPL 接続の間、ログ出力をサーバー (ターミナルまたはログ) と NREPL 出力の両方に複製します。
  3. 着信 NREPL 接続に関する情報をキャプチャし、それらに名前を付け、接続および切断アクティビティをログに記録します。
  4. 最終的に、着信 NREPL 接続を認証します。
  5. 後で、実行するアクションを承認します。
0 投票する
1 に答える
267 参照

clojure - nrepl (ritz-repl) の起動時間を短縮する方法はありますか?

以前は ritz-nrepl を使用していませんでしたが、nrepl には約 10 秒かかりました。

ritz-repl を試してみたところ、起動に 30 秒近くかかり、約 1.3G のメモリを消費しました。これでは使いづらくなってしまいます。

ubuntu + ssdを使用して「lein replの起動時間にほとんど気付かない」と誰かが言っているのを聞いたので、速度を上げることができることを期待してSSDを投入しました。しかし、ssdとhddの違いは自分ではわかりません。私が何か間違ったことをしたのか、それとも単なる神話なのかはわかりません。

0 投票する
0 に答える
337 参照

debugging - clojure/ritz/nrepl: nrepl 経由で ritz に "frame-source" op を送信するために :thread-id を取得するにはどうすればよいですか?

Ritz サーバーをスレッドで起動し、nrepl クライアントを使用してプログラムで通信しています。

(一部はhttp://hugoduncan.github.io/ritz-conj/#/5/2に基づいています)

これはうまく機能します。ritz-nrepl サーバーから応答があります。しかし、フレームで何かをしたい場合:

「frame-source」操作には :thread-id が必要なため、これは例外をスローします。しかし、どうすればスレッドIDを知ることができますか? break-context を調べたところ、渡された :thread-id によって検索されるはずのスレッド ID を表すキーがマップにあることがわかりましたが、どうすれば :thread-id を知ることができますか?予め?

ご指導ありがとうございます。

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

eclipse - 反時計回りの HTTP REPL

Eclipse+Counterclockwise で、REPL に接続したい場合、ダイアログに HTTP 経由で nREPL を使用できることが示されます。

REPLダイアログに接続

これを設定する方法は?これはどういうわけかdrawbridgeに接続されていますか? 私はうまくいきましたが、これらを一緒に機能させることはできlein repl :connect http://my.url/replませんでした。

従来の REPL と比較してこれが役立つ理由を明確にするために、従来の REPL は localhost でのみ機能します。SSHポートトンネリングを介してブリッジできますが、これ-HTTP上のREPL-は、リモートの「ライブ」サーバーの実行可能な代替手段です.


完全を期すために、サーバー側:

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

clojure - nreplを使用して複数のバッファを操作するには?

スライムから nrepl にいくつかのコードをひねろうとしています。スライムを扱うときのコードは明らかです。評価する clojure コードを送信し、結果の文字列を取得して、必要に応じて処理します。nrepl とやり取りできるようにコードを変更しました。つまり、結果の文字列を処理する独自の値ハンドラーを作成し、それを nrepl-make-response-handler に渡します。今まで問題なく動作しています。しかし、一度に複数のバッファを操作するコードを見つけました。nrepl-make-response-handler は 1 つのバッファー引数しか受け付けないので、それを無視して、値ハンドラーで複数のバッファーを処理するコードを呼び出すことができるかどうか疑問に思っていました。やってみたが失敗、何も変わらない。そこにelispの専門家はいますか?私は本当に助けが必要です。

私自身のハンドラー:

クライアントコード:

結果を処理するコード:

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

clojure - nREPL を使用した Clojure と Lein の名前空間の問題

以下がうまくいかない理由を理解しようとして、私は多くの「楽しみ」を持っています。srcプロジェクトのディレクトリでnREPL セッションを開始した後lein、次のことを行いました。

Lein チュートリアルを読んで、私の基本的な理解は、ソースを次のように配置する必要があるということです。

以下の animal の内容は次のようになります。

Dog評価Animalの結果エラーが発生しなかったのに、評価しようとすると実行時例外が発生するのはなぜですか? これを正しく行うにはどうすればよいでしょうか。

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

java - Clojure でユーザー定義クラスを正しくインポートする方法

私は Leiningen と Clojure を使用していますが、名前空間を正しくインポートするだけでなぜ Clojure が非常に難しいのか理解できません。これは次のエラーです

これは私のcore.cljファイルにあるものです:

次に、REPL で次のように入力します (leinプロジェクトの src/ ディレクトリに):

わかりました...何?なんで?

animal.clj参考までに、これもanimalsディレクトリにある私のファイルです。