9

Javaのような純粋なオブジェクト指向言語では、通常、HibernateのようなORMを使用するのが理にかなっていることを私は知っています。しかし、ClojureまたはCommon LISPでCRUDタイプの機能を作成する場合はどうすればよいですか?

SQLを一次関数として渡す?しかし、HTML生成コードにSQLが含まれているのは、非常に醜いことではありませんか?

ありがとう、

オレク

4

3 に答える 3

3

Common Lisp は自己意識的な FP 言語ではありません。Clojure は Hibernate をそのまま使用できます。

Common Lisp の場合:データベース。ここに永続オブジェクト one があります。これは、CL Web サーバーおよび動的 Web ページ ツールキットである Hunchentoot で使用するチュートリアルの最初の部分です。CL の SQL は次のようになります(実際よりも長く見えます。これは、SQL が水平にフォーマットされているのに対し、CL はそうではないためです)。そして、あなたが望むなら、この男はアークの挑戦に目を向けて、ターシティを目指したWebフレームワーク(CLSQLとElephantを使用し、すでにリンクされています)に取り組んでいます。

編集:最近の回答はこれを拡張しています。

于 2009-02-19T08:22:21.977 に答える
1

Ur/Web は興味深いかもしれませんが、Lisp ベースではありません: http://plv.csail.mit.edu/ur/

彼らのサイトからの引用:

Ur/Web は、SQL データベースに裏打ちされた動的な Web アプリケーションの構築をサポートします。標準ライブラリの特徴は、よく型付けされた Ur/Web プログラムが非常に広い意味で「うまくいかない」ことです。特定のページの生成中にクラッシュしないだけでなく、次のようなこともない可能性があります。

  • あらゆる種類のコードインジェクション攻撃に苦しむ
  • 無効な HTML を返す
  • 無効なアプリケーション内リンクを含む
  • HTML フォームとそのハンドラーが期待するフィールドとの間に不一致がある
  • リモート Web サーバーが提供する「AJAX」スタイルのサービスについて誤った想定を行うクライアント側コードを含める
  • 無効な SQL クエリを試行する
  • SQL データベースとの通信、またはブラウザーと Web サーバーとの間の通信で、不適切なマーシャリングまたはアンマーシャリングを使用する
于 2015-04-09T18:29:52.487 に答える
0

CommonLispツールの代替セットは別の回答で説明されています

于 2009-02-19T17:29:04.463 に答える