問題タブ [declarative]

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

programming-languages - 宣言型プログラミングとは

この用語は、いくつかの異なる文脈で投げかけられているのを耳にします。それは何ですか?

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

asp.net - ページのプロパティ値をレンダリングに宣言的に挿入するにはどうすればよいですか?

次のようなものを含むaspxページが欲しい....

そして、次のようなコードビハインド...

このコードを試しましたが、UserName が宣言されていないと主張する aspx エラーが発生しました。

これを行う適切な方法は何ですか?

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

asp.net-mvc - 強い型付けされたモデルに対するMVCビューとしてのXSL(のような)宣言型言語?

XSL の大ファンとして、ASP.NET 上の独自の MVC フレームワークで xsl をビューとして使用できることを非常に嬉しく思います。モデル内のオブジェクトは内部で .NET の xml シリアライザーを使用してシリアル化され、非常にアトミックな xsl テンプレートを使用して、各オブジェクトまたはプロパティがどのように変換されるかを宣言します。

例えば:

このメカニズムにより、リスト内の最後のアイテムや選択されたアイテムなどに一致するテンプレートを作成するなど、デフォルトの一致するテンプレートをすばやくオーバーライドできます。 . 共通の共有テンプレートを分割して含めることができます。

でも

xsl の冗長性のマイナス面は無視できますが (Visual Studio スキーマのインテリセンス + スニペットは非常に洗練されているため、VS チームを称賛します)、モデル内のストロングタイプ オブジェクトに対してインテリセンスがないことのマイナス面は、本当に私を悩ませているものです。

ASP.NET MVC + ユーザー コントロールが実際に動作しているのを見て、本当に気に入り始めましたが、不思議です。

私たちが反復している XML である種のインテリセンスを取得する方法はありますか、または XSL の自由と宣言性を提供しながら、webforms/usercontrols/asp.net のようなストロングタイプ/インテリセンスの利点を持つ言語を知っていますか? .mvc ビュー?

(私はおそらく答えを知っています:「いいえ」、そして私はすぐにPhil Haackの非常にクールなmvcシズルを使用していることに気付くでしょう...)

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

integration - プロセス設計は本当に宣言型プログラミングですか?

ビジネス プロセス自動化ツール (Weblogic Integration など) をプログラミング言語として (何かばかげたように聞こえる) 使用して、物事を宣言的にしていると誰かから聞いたことがあります。次に、すべてのロジックをプロセス内に配置しifますwhile

しかし、プロセスは目標に到達するための段階的なエンティティの方法ではありませんか?

私にとって、それはプロセスを完全に不可欠なものにします。どう思いますか?

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

ruby-on-rails - if/then/else/RETURN/endの宣言的なRubyプログラミングの置き換え?

これがコントローラー全体に表示されます。

そしてその兄弟:

メソッドで使用する場合は、これをすべて宣言行に減らしたいと思います。

明らかに、require_rights が失敗した場合、残りのメソッドを実行したくありません。これを行う方法があったことを誓いますが、それについて読んだ場所が見つかりません。私はこれを想像していますか?

0 投票する
10 に答える
21604 参照

user-interface - 非常にシンプルで簡潔で簡単な GUI プログラミング「フレームワーク」

GUI アプリをすばやく作成できる GUI プログラミング ライブラリ、ツールキット、フレームワークを挙げてください。そういう意味では、

  • GUI は、人間が読める (および人間が書き込める) プレーン テキスト ファイル (コード) で完全に記述されています。
  • コードは簡潔で (ウィジェット/イベントのペアごとに 1 行または 2 行のコード)、スクリプト作成に適しています
  • GUI の構造と操作はコードから明らかです (ウィジェットのネストとイベントの流れ)
  • GUI の構築方法に関する詳細は隠されています (メインループ、イベント リスナーのアタッチなど)。
  • 自動レイアウトがサポートされています (vbox、hbox など)。

回答が示唆するように、これは宣言型GUI プログラミングとして定義される場合がありますが、必ずしもそうであるとは限りません。機能し、使いやすく、簡潔であれば、どのようなアプローチでも問題ありません。

このような GUI ライブラリ/ツールキットがいくつかあります。それらは以下にリストされています。適切なツールキットが見つからない場合は、リストを拡張してください。プロジェクトがクロスプラットフォームで、成熟しており、アクティブであるかどうかを示し、可能であれば例を挙げてください。

この wiki は、オープン ソースプロジェクトについてのみ議論するために使用してください。

これはこれまでのリストです(アルファベット順):

ファジェット

Fudgetsは Haskell ライブラリです。プラットフォーム: Unix。ステータス: 実験的ですが、まだ維持されています。例:

ファジェットの例のスクリーンショット
(ソース: picamatic.com )

GNUstep ルネッサンス

Renaissanceでは、GUI を単純な XML で記述することができます。プラットフォーム: OSX/GNUstep。ステータス: GNUstep の一部。以下に例を示します。

ルネッサンスの例のスクリーンショット
(ソース: picamatic.com )

HTML

HTML ベースの GUI (HTML + JS)。クロスプラットフォーム、成熟。クライアント側で完全に使用できます。

素敵な「helloworld」の例を探しています。

HTML GUI の例
(ソース: picamatic.com )

JavaFX

JavaFXは、スタンドアロン (デスクトップ) アプリだけでなく Web アプリケーションにも使用できます。完全なクロスプラットフォームではなく、まだ完全なオープン ソースでもありません。ステータス: 1.0 リリース。例:

スクリーンショットが必要です。

フーイ

Phooeyは別の Haskell ライブラリです。クロスプラットフォーム (wxWidgets)、HTML+JS バックエンドが計画されています。大人しく活発。例 (helloworld より少し多め):

Phooey の例のスクリーンショット
(ソース: picamatic.com )

Pythonカード

PythonCardは Python 辞書で GUI を記述します。クロスプラットフォーム (wxWidgets)。一部のアプリはそれを使用していますが、プロジェクトは停止しているようです。アクティブフォークがあります。

コンテストには冗長すぎるため、PythonCard の例はスキップします。

PythonCard の例のスクリーンショット
(ソース: picamatic.com )

ルビーの靴。プラットフォーム: Win/OSX/GTK+。ステータス:若いが活発。最小限のアプリは次のようになります。

靴の例のスクリーンショット
(ソース: picamatic.com )

Tcl/Tk

Tcl/Tk . クロスプラットフォーム (独自のウィジェット セット)。成熟した (おそらく時代遅れでさえある) アクティブな. 例:

Tcl/Tk の例のスクリーンショット
(ソース: picamatic.com )

tekUI

Lua (および C) のtekUI 。プラットフォーム: X11、DirectFB。ステータス: アルファ (使用可能ですが、API はまだ進化しています)。例:

tekUI helloworld スクリーンショット
(ソース: picamatic.com )

ツリーソン

Python のツリーソン。GUI を YAML ファイル ( YAML ツリー内の Python ) で記述します。プラットフォーム: GTK+。ステータス: 進行中の作業。シンプルなアプリは次のようになります。

Treethon helloworld スクリーンショット http://treethon.googlecode.com/svn/trunk/treethon_gtk_tutorial/base.png

Richard Jones によるまだ名前のない Python ライブラリ:

こちらはまだ発売されていません。アイデアは、Python コンテキスト マネージャー (withキーワード) を使用して GUI コードを構造化することです。詳細については、 Richard Jones のブログを参照してください。

XUL

XUL + Javascript を使用して、XULRunner および Mozilla 拡張機能を備えたスタンドアロンのデスクトップ アプリを作成できます。成熟したオープンソースのクロスプラットフォーム。

XUL の helloworld の例
(ソース: picamatic.com )


貢献していただきありがとうございます!

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

.net - .NET での宣言型スレッド セーフ

既存のアプリをスレッドセーフにする必要があります。事情により (以下を参照)、ビジネス オブジェクトのグラフ全体に対して 1 つの ReaderWriterLock を使用することにしました。すべてのメソッド/プロパティは次のようになっている必要があります。

しかし、カバーする方法が膨大にあり、コピー/貼り付けのアイデアに夢中になっています。MethodImplAttribute に触発されて、上記のコードのように動作しながら、次のようなコードを使用したいと思います。

プロパティまたはメソッドに入る前/後にスレッドの実行を中断し、スレッドセーフの予防策を追加する方法はありますか? または、C# の関数型言語機能を何らかの方法で利用して、メソッドの生産的な本体を汎用の ReaderWriterLock 取得 "フレーム" に埋め込みますか?

背景のビット:

私は、データ キャリア ビジネス オブジェクトが .NET Remoting 経由で公開されるプロジェクトに取り組んでいます。ただし、これらのデータ クラスはシリアライズ可能ではなく、MarshalByRef-s です。これは、すべてのクライアントが実際にはまったく同じビジネス オブジェクトを読み書きすることを意味します。これは変更できません。石に刻まれています。スレッド セーフの望みは、これらのリモート ビジネス オブジェクトがリモート クライアントからは読み取り専用であり (多くのリストをループすると考えられている)、すべての書き込み操作が専用のファサードに適切に分離されることです。まれな書き込みと頻繁な読み取りを期待しています。ビジネス オブジェクトは高度に接続されており、非常に「グラフィック」です。

0 投票する
4 に答える
25374 参照

asp.net - ASP.NETマスターページ:aspx内のヘッドセクションにマークアップを挿入する方法は?

この方法でマスターページをプログラムで使用するページのヘッドセクションにアクセスできることを知っています(コードビハインド):

これは単なる例です(スクリプトやスタイルなどを挿入したい):

aspx ファイル自体で宣言的な方法でこれを行う簡単な方法はありますか?

クライアント スクリプトスタイル宣言、または外部リソースへのリンクを挿入すると便利な場合があります。

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

java - Java/Swing でのフォームの宣言的検証

私は、Swing を使用したクライアント側の開発に Java を使用しています。私はスイングが大好きです。私はそれが優れた GUI フレームワークの 1 つだと信じています。しかし、私が見逃しているのは、宣言型検証のサポートです。XForms からのこのスニペットのように。

そこにあるすべてのコンポーネントに対して醜い検証ドキュメントリスナーを書くのではなく、宣言的な方法でフォームのデータ入力を検証できるライブラリを知っていますか?

0 投票する
4 に答える
153125 参照

javascript - 最も単純な JQuery 検証ルールの例

次の HTML フォームは、jQuery のフォーム検証を正常に利用し、空白の場合はフォーム フィールドの右側に「このフィールドは必須です」と表示し、2 文字未満の場合は「少なくとも 2 文字を入力してください」と表示します。ただし、「cname」フォーム入力フィールドの class 属性と minlength 属性を使用して検証メタデータを指定する代わりに、validate 関数の本体でルールを指定する jQuery の「rules」API を使用したいと思います。前もって感謝します: