問題タブ [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.
haskell - 半群のインストールがカバールで失敗する
Snapをインストールしたいのですが、Haskellとそのプラットフォームは初めてです。
カバールを使用してSnapをインストールしましたが、セミグループのインストールに失敗しました:
これは私のバージョンのカバールです:
セミグループは多くのSnap依存関係の依存関係であることがわかりましたが、このインストールを修正するにはどうすればよいですか?
私はgnomeを使ってubuntuで実行しています«Vousutilisezactuellement Ubuntu 10.04 LTS --le Lynx Lucide --version sortie enavril2010»
編集:
semigroups.cabalファイルのパッケージで、私はこれを見ました:
«impl(hugs)»に何か偽物を返させなければならないかもしれませんか?(しかし、私はそれが何であるかわかりません:))
ありがとうございました
haskell - snap-serverによってバインドされたポートを検索します
snap-serverのhttpServe
方法setPort 0
を使用して、次の空きポートに接続するようにサーバーに指示できます。残念ながら、httpサーバーを起動すると、実際に起動したポートを特定する方法が見つかりません。例として、私の最初の試みはポート2679で開始しました-その番号を決定する方法はありますか?
forms - 消化ファンクターとスナップでのモナディック検証の使用
私はかなり長い間、別のモナドへのアクセスを必要とする消化ファンクターフォームフィールドで検証を使用する方法に頭を悩ませようとしています。短くするために私はこのような消化器の形をしています
(studentIdは基本的にユーザー名です)
Snap.Snaplet.Authの機能を使用してusernameExists
、入力したユーザー名が一意であるかどうかを確認します。
完全を期すために、対応するデータ型は次のとおりです。
次のようなハンドラーでフォームを作成します。
したがって、私が今抱えている問題は、フォーム内のAuthスナップレットの状態にアクセスする方法を理解することです。すでに合格していますか、それとも自分で合格する必要がありますか?Text.Digestive.FormcheckM
の各関数validateM
は、そこで役立ちますか?
消化機能とスナップ認証およびセッションの使用方法の例をいくつか見つけました。たとえば、次のようになります。
しかし、Snap.Snaplet.Authと消化機能が直接連携していることを示すものはありません。モナド変換子とリフティングに関しては、私はまだそのような初心者です...多分私にはわかりにくいかもしれません。:(
スタンドアロンの例をgithubにアップロードできます。これは、問題を説明するのに役立つ場合に問題を示しています。ヒント、ポインタ、提案は大歓迎です!:)
ハネス
アドオン:基本認証機能を示すサンプルアプリケーションを作成しました。こちらをご覧ください:digestive-functors-snap-auth-example enjoy!
rest - Backbone.js で Haskell Snap を使用する方法
ほとんどの Haskell Web アプリケーション フレームワークは、サーバー上で多くの作業 (テンプレート、フォームなど) を行うことに重点を置いているようです。ただし、他のほとんどの人は、クライアント上のアプリケーションをますます移動し、狭い REST API を介してサーバーと通信しているようです。
主にクライアント上で実行される Web アプリを構築しようとしています。クライアント側をBackbone.js (または類似のもの) に基づいて作成し、JavaScript テンプレート ライブラリを使用してクライアント上で HTML テンプレートを完全に作成したいと考えています。
できればSnapフレームワークを使用して、Haskellでサーバー側を実装したいと思います。
この方法で Snap フレームワークを使用しようとした人はいますか? Snap で GET、POST、PUT、DELETE メソッドを使用して基本的な REST API を実装するにはどうすればよいですか? それとも、サーバーに Snap よりも簡単なものを使用する必要がありますか?
haskell - Snap Monad、LiftIO、ghc 7.4.1
ghc 7.0.4 で動作していたコードを 7.4.1 で動作させようとしています。
Snap moand 内から IO にアクセスする古い方法は、タイプチェックを行わないように思えます。
ghc 7.0.4 では、文書化された IO へのアクセス方法がコンパイルされます。
http://hackage.haskell.org/packages/archive/snap-core/0.8.1/doc/html/Snap-Core.html
GHC 7.4.1 では、
魅力的な回避策が何であるかに興味があります。
haskell - スナップレットはどこに置くのですか?
Haskell と Snap は初めてで、簡単なバグ追跡アプリケーションを書きたいと思っています。を使用して Snap プロジェクトをセットアップしましたが、$ snap init
動作します。問題は、これ以上先に進む方法がわからないことです。
Tickets
データベースを使用してバグ レポートを保存するスナップレットを作成し、メインの Web アプリケーションでそのスナップレットを使用したいと考えています。
スナップレットに関するドキュメントを読みましたが、ソース コードを配置する場所がわかりませんでした (/snaplets
ディレクトリにあると思いますか? もしそうなら、どのようにロードしますか?)。誰かが私を正しい方向に向けることができますか?
haskell - Snap 0.9 ルーティング動作
Snap 0.9 (および、おそらく他のバージョン) でのルーティングの奇妙さを理解できません。
ハンドラー内にifTop関数を入れない限り、「/」はすべてをキャッチするパターンだと理解していますよね?したがって、("/", blah) ルートでは、URL は blah ハンドラーによって処理される必要がありますね。
snap init によって生成されたデフォルトのアプリで遊んでいると、ルート リクエストの index.tpl 以外のものをレンダリングするための snap を取得できません。
指定されたルート (「/」、何とか) とハンドラー
ルート URL 以外の任意の URL の何とかテンプレートをレンダリングします! したがって、「/anything」は何とかテンプレートをレンダリングしますが、「/」はインデックス テンプレートをレンダリングします。
何とかハンドラーをに変更する
動作をまったく変更しません。この場合のみ、「/anything」にルーティングできません。「/」へのルーティングは引き続きインデックス テンプレートをレンダリングします。私は何が欠けていますか?選択したテンプレートをレンダリングするために「/」を取得するにはどうすればよいですか?
haskell - これはスナップで何をしますか?
デフォルトのスナッププロジェクト テンプレートで何が起こっているのか説明してもらえますか?
- なぜ () を返すのですか?
- 「コントローラー」(MVC で言えば) 関数の標準シグネチャは何ですか?
- ルート
index.tpl
のテンプレートとして使用することをどのように知っていますか?/
- シンプルな個人用 Web アプリのみを作成したい場合など、認証レイヤーを削除するにはどうすればよいですか?
ドキュメントとチュートリアルでは、主にスナップレット (またはテンプレート) について説明していますが、Haskell については触れていません。書店のようなアプリやブログの書き方の例を見るといいでしょう (公式のスナップ Web サイトでは、ブログのエントリがマークダウンで保存されているため、そこで何が起こっているのかわかりません)。
haskell - 実稼働環境で Snap haskell webapp を実行するには?
Snap/Haskell を実稼働の Ubuntu サーバー (EC2 上) にインストールし、プロジェクトをチェックアウトしましたが、どうすれば実行できますか?
つまり、ローカルでは、コマンド ラインから実行します。
スナップには独自の Web サーバーが付属していますか (そのように見えます)、そうであれば、何らかのデーモンとして実行するように構成するにはどうすればよいですか?
任意のヒント?
編集2:
ウィキで彼らは言う:
snap-server は、snap-core で定義されたインターフェイスをサポートする HTTP サーバー ライブラリです。
ここにいる間、「Haskell Webコードの展開/バックエンドオプション」に関するhaskell wikiは、Snapについて次のように述べています。
独自のサーバーが含まれています。Web/フレームワークを参照
しかし、どのように?独自のサーバーをどのように実行しますか? プログラミングに興味があるだけなのに、なぜいまいましいものの展開について知らなければならないのか...
編集:関連する質問: Snap Framework を使用する Haskell コードをデプロイする