問題タブ [haskell-snap-framework]
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.
macos - Mac に Haskell パッケージをインストールする
Mac (10.6.8) にいくつかの Haskell パッケージをインストールできないようです。最初に Happstack を試して失敗し、次に Snap を試しました。
ghci を実行すると、セグメンテーション違反が発生することがあります。
それ以外の場合は、次のように機能します。
スナップを取得しようとすると:
私はこの問題を数回見てきましたが、実際には何も解決しませんでした。何か案は?
haskell - Snap Framework: ダイジェスティブ ファンクターを使用してコンパイルされたスプライスと処理フォーム
コンパイルされたスプライスと、それらを消化関手フォームで使用する方法を理解しようとしています。誰でもコード例を持っていますか?
haskell - Snap、SnapletISplice 内で IO monade を持ち上げる方法
状態情報を提供する IO Bool 関数があります。この関数によって返される値に応じて、「OK」または「KO」を .tpl ファイルのスプライスに書き込みたいと考えています。
したがって、SnapletISplice 内で IO モナドを持ち上げて、statusSplice :: SnapletISplice App を ("splicename", statusSplice) にバインドし、内部の IO モナドから値を計算できるようになれば幸いです。
SnapletISplice は IO モナド「である」と確信しており、そのようなリフティング関数が存在するはずです。しかし、私はそれが何であるかを理解できません。
Nb : スナップ 0.11 を使用しています。そのため、一部の関数 (liftHandle など) が削除されました。
要するに、コードで、私がやりたいこと:
haskell - Yesod でのロングポーリング
Yesod や同等のデータベース機能を備えた他の Haskell Web フレームワークでロング ポーリングを行うことはできますか?
正確には、何か面白いことが起こるまで HTTP 応答を遅らせたいのです。また、クライアントに「何も起こらなかった」という応答が提供され、クライアントが同じ要求を発行するまでのタイムアウトも必要です。
生活をさらに複雑にするために、私が考えているアプリは、HTTP/HTML5 と非常にコンパクトな UDP プロトコルの両方を介してすべてのものを MIDP クライアントに提供しています。いずれかのプロトコルからのイベントは、いずれかのプロトコルで応答をリリースできます。
TIA、エイドリアン。
haskell - 解釈された強盗からコンパイルされた強盗へ
コンパイルされた強盗の概念を理解できていないようです。ネット上には例がありません。簡単なコード スニペットを解釈済みからコンパイル済みに変更するにはどうすればよいでしょうか。
例えば:
「runChildren」、「mapSplices」、「bindSplice」、および「render」の単純な組み合わせを、コンパイルされた強盗でどのように実行しますか?
概念が異なり、「heistLocal」がないことは理解しています..しかし、今戻って、一連のレコードを「for each」ループ方式で表示するなどの基本的なことを行う方法を再学習する必要があります。誰かがこれを明確にして、上記のような単純な例を示すことができますが、コンパイルされた強盗がありますか?
現時点では、コンパイルされた強盗で単純な変数置換を行う方法さえ知りません。たとえば、これは次のとおりです。
誰かが基本を手伝ってくれるか、最小限の例がある場所を教えてください。snap Web サイトのドキュメントを読みました。
haskell-snap-framework - Snap: Heist テンプレート パス
デフォルトのテンプレート パスを変更するにはどうすればよいですか?
初期化関数は、heistInit の「テンプレート」である「projectroot/snaplets/heist」に相対的なパスを取ります。したがって、「projectroot/snaplets/heist/templates」にあるテンプレートになります
代わりに、"projectroot/resources/templates" にテンプレートを配置したいと考えています。これは可能ですか?イニシャライザに渡すにはどうすればよいですか?
ありがとう
ruby-on-rails - Ruby 以外のサーバー プロセスを Rails アプリケーションに統合したい
Rails以外のRubyサーバープロセスを可能な限りシームレスに統合したい本番Railsアプリがあります。つまり、Rails アプリと同じサーバー上で実行されている Haskell Snap Web アプリケーションで特定のルートを処理したいと考えています。これらのルートはすべて JSON ペイロードを返すため、複雑なテンプレート作成はありません。しかし、CORS のセットアップのオーバーヘッドを避けたいので、これらの JSON 応答が、Rails によって生成された Web ページと同じソースから来ているかのように表示されるようにしたいと考えています。
この状況での最適な統合戦略は何ですか? Haskell Web アプリに Web リクエストを送信し、クライアントに応答を転送する Rails コントローラーをセットアップする必要がありますか?それとも、Rack ミドルウェアまたは Nginx 構成を使用してこれを行うためのより効率的な方法はありますか?
haskell - Snap フレームワークでのクロス オリジン リクエスト
Snap Framework を使用してクロスドメイン リクエストを使用した経験がある人はいますか。フレームワークを使用するのは初めてで、Yesod (Yesodでクロスオリジン要求を許可する) の何かを見つけましたが、Snap でそれを行う方法がわかりません。どんな助けでも大歓迎です。
haskell - スナップで複数のパラメータ URL としてリストを渡す
ブラウザーからスナップのハンドラー関数にリストパラメーターを渡すことは可能ですか? リストから複数のパラメーター URL を作成し、それをハンドラー関数に送信するにはどうすればよいですか?
たとえば、いくつかのテーブル行またはその他のオブジェクトを削除する必要があります。通常のRESTルートではできません:
単純に、数が多すぎて 100 行を 1 つずつ削除するのは少し面倒だからです。
[3,4,6,8] 行を削除する必要があるとします。では、そのリストを URL 内のハンドラーに渡すにはどうすればよいでしょうか? アクションのルートはどのようになりますか?
アップデート
まあ、私は最終的にjqueryとajax呼び出しでそれをやった. Snap の「getParams」関数は複数のパラメーター URL を処理できますが、jquery と ajax を使用せずに実際に URL を構築する方法をまだ理解できません。
JavaScript を使用して、削除するアイテムを収集し、アイテムの配列を作成しました。次に、ajax を使用して複数のパラメーター URL を作成し、それをハンドラーに送信しました。この方法と Snap に関する注意事項:
-- Snaps の「getParams」関数は、古いスタイルの複数パラメーター URL のみをサポートします。
新しいものではありません:
これにより、複雑なパラメーターを渡すことができなくなります。
-- ルートは次のようになります。
ではなく:
スナップで複数のパラメーター URL を渡す唯一の方法だとは思わないため、質問には答えませんでした。
「getParams」はそれを処理できますが、私の質問はまだ残っています: URL を構築してハンドラーに送信するにはどうすればよいですか?
たとえば、Rails はビュー ロジック内で "link_to" 関数を使用して URL を構築します。Snap はテンプレート内でロジックを使用しないので、どのように機能しますか? スナップで複数のパラメーター URL を渡す唯一の方法が JavaScript の助けを借りているということはあり得ません...?
誰かが私のためにこれを確認してください?