問題タブ [compojure]

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 に答える
1178 参照

google-app-engine - Clojure を使用して GAE アプリを実行するにはどうすればよいですか?

Clojure と Compojure を使用して、Eclipse または Idea を使用して GAE でアプリを開発したいのですが、emacs は悪い考えではありません:P

では、これを行うための最良の方法はどれですか? leiningen を使いたいとは思わない。なぜなら、学習曲線を通過すれば Maven は非常に強力になると信じているからだ最高の情報源です。

これを行う必要がある場合、どのようなアプローチをとりますか? または、あなたは私に何を勧めますか?

このプラグインは大丈夫ですか-> http://code.google.com/p/maven-gae-plugin/ そのプラグインを使用すれば、pom.xml に clojure.jar を含めることができ、基本的には準備ができていますよね? IntelliJ IDEA に似たものはありますか?

他の提案はありますか?そして、これを行うあなたの方法はどれですか?

0 投票する
5 に答える
21634 参照

clojure - 複合ルートの背後にある「大きなアイデア」とは何ですか?

私はClojureを初めて使用し、Compojureを使用して基本的なWebアプリケーションを作成しています。しかし、私はCompojureのdefroutes構文で壁にぶつかっています。その背後にある「方法」と「理由」の両方を理解する必要があると思います。

リングスタイルのアプリケーションはHTTPリクエストマップで始まり、ブラウザに返送されるレスポンスマップに変換されるまで、一連のミドルウェア関数を介してリクエストを渡すようです。このスタイルは開発者にとって「低レベル」であるように思われるため、Compojureのようなツールが必要です。他のソフトウェアエコシステム、特にPythonのWSGIでも、より多くの抽象化が必要であることがわかります。

問題は、Compojureのアプローチが理解できないことです。defroutes次のS式を見てみましょう。

これらすべてを理解するための鍵は、いくつかのマクロブードゥーの中にあることを私は知っていますが、私はマクロを完全には理解していません(まだ)。私は長い間ソースを見つめてきましたdefroutesが、それを取得しないでください!何が起きてる?「大きなアイデア」を理解することは、おそらくこれらの特定の質問に答えるのに役立ちます。

  1. ルーティングされた関数(関数など)内からリング環境にアクセスするにはどうすればよいworkbenchですか?たとえば、HTTP_ACCEPTヘッダーまたはリクエスト/ミドルウェアの他の部分にアクセスしたいとしますか?
  2. 破壊({form-params :form-params})との取引は何ですか?破壊するときに利用できるキーワードは何ですか?

私はClojureが本当に好きですが、とても困惑しています!

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

html - しゃっくりのdivの色を変更する

ヒカップでdivの背景色を設定する方法はありますか?これが私がこれまでに試したことですが、結果はありません。

[:div {:background-color "#003366"} (escape-html rest)]

htmlで、私<div background-color="#663366">が信じていないものが色の正しい形式であることがわかります。

しゃっくりでこれを行う方法はありますか?

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

google-app-engine - GoogleAppEngineからのhttpリクエスト

Google App Engineウェブアプリからhttpリクエストを作成しようとしていますが、ホワイトリストに登録されている唯一のクラスであるURLConnectionを使用する必要があることがわかりました。対応するClojureライブラリはclojure.contrib.http.agentであり、私のコードは次のとおりです。

これは私の開発環境では正常に機能します-ブラウザはexample.comのテキストを表示します。しかし、Googleの開発アプリサーバーでテストすると、次のようになります。

ページをロードするとハングします。エラーなどはありません。何が起こっているのか考えてみませんか?

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

clojure - Compojure/Ring でセッションをどのように使用しますか?

私は Compojure を使用して Web アプリケーションを開発しています。セッション データの保存と取得の小さくて完全な例を教えていただければ幸いです。

事前に感謝します、ジェームズ。

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

clojure - CompojureはURLからHTTPリクエストパラメータをバインドしますが、POSTフォームからはバインドしません

Compojureは、POSTフォームのフィールドをバインドしません。これは私のルート定義です:

フィールドを含むフォームを投稿すると、| {} |が表示されます。つまり、パラメーターはありません。ちなみに、http:// localhost / query?param1 = value1に移動すると、paramsは空ではなく、値はサーバーコンソールに出力されます。

フォームフィールドに別のバインディングはありますか?

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

clojure - Compojure ルートの問題

ルートが次のように定義された小さな構成サイトがあります。

プロジェクトを読み込もうとすると、次のエラーが発生します。
java.lang.Exception: Unsupported binding form: (or (serve-file (params :*)) :next)

私は何を間違っていますか?私はこれのほとんどをインターネット上の散らばった例から取り上げました.

空のベクターを追加した後、次のエラーが発生します。
java.lang.Exception: Unable to resolve symbol: serve-file in this context

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

clojure - Compojure を使用して作業ディレクトリを temp に変更する MYOB ODBC ドライバ

ジョブカード データベースから MYOB に請求書をインポートするために使用する小さな内部 Web アプリケーションを作成しました。私は Clojure と Compojure を使用してこれを作成しましたが、実際にはかなりうまく機能し、私にとっては良い学習課題でもありました。

しかし、問題が発生しました。請求書のインポートが成功した後、jetty サーバーが静的 CSS ファイルを提供しなくなったようです。

デルートは次のとおりです。

(ファイルはただの css/default.css で、最初のインポートの前に完全に機能します。)

今、私は問題を発見したと思います.MYOB ODBCドライバーがJettyサーバー(および私のREPL)の作業ディレクトリを変更しているようです.REPLに次のように入力すると:

一時ファイル ディレクトリのリストが表示され、CSS ファイルが見つからなくなった理由が説明されます。

奇妙なことは、私がそうするなら:

アプリケーションの正しいディレクトリを取得します。

MYOB ODBC ドライバーのこの癖を回避できる何か (絶対パスでのコーディング以外) を知っている人はいますか?

起動時に絶対パスを取得して保存できると思いますが、それはuberjarで機能しますか?

編集: JVM の制限により修正できないようですか?

Clojureでコマンドラインでディレクトリを変更するにはどうすればよいですか?

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

clojure - compojureを使用してデータベースからバイナリファイルを提供する

次のルート定義があります。

この例では、リクエスト/はチャームのように機能し、期待値を返しますHello World 2

get-images-responseメソッドは次のように定義されます。

私は404を取得しているので、バイナリファイルの提供はまだ完全には機能していません。なぜ何かアイデアはありますか?

編集:わかりました。この問題は、で画像がリクエストされているという事実に関連してい/images/name.jpgます。.jpgハンドラーを削除するとすぐに呼び出されます。したがって、問題は、拡張機能以外のものにどのように一致させるかということです。

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

clojure - nginxリバースプロキシから転送されたリクエストに一意のIDを追加します

nginxをリバースプロキシとして実行し、Compojureを実行しているClojureアプリケーションにリクエストを転送します。これは、Jettyをラップアラウンドし、アプリケーションにWebリクエストを処理する機能を提供するライブラリです。

現在、nginxとClojureアプリケーションの両方によって生成されたログをキャプチャしています(log4jを介してsyslogに)。ただし、nginxログのエントリをClojureアプリケーションのsyslog出力のエントリと一致させることはできません。

Clojureアプリにアップストリームで送信されるリクエストを変更して、ある種のIDを含める方法を見つける必要があります。これは整数、UUIDなどです。

これを達成するための最善の方法について何か提案はありますか?

ご協力いただきありがとうございます!