問題タブ [singlepage]
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.
javascript - 1ページのJavaScriptアプリケーションでのユーザーのアクションの承認
ACLとロールを使用してユーザー認証を処理するCakePHPアプリケーションがあります。現在、管理パネル全体がExtJS3を使用して構築されているため、すべて単一のページビューです。ビューが読み込まれるたびに、ACLを使用して、ユーザーがアプリケーションのその部分へのアクセスを許可されているかどうかを確認します。
アプリをRailsに移行し、新しいMVC/シングルページ構造でExtJS4を使用することを検討しています。ユーザーのアクションを承認する方法に興味がありますか?現在、それらは非常にきめ細かいです。ユーザーの承認はアクションによってロックダウンされる可能性があるため、ユーザーはインデックスにアクセスしたり、読み取りまたはインデックス作成、読み取り、更新はできるが、破棄はできない場合があります。
ページが1回だけ読み込まれ、ExtJSがアプリのすべてのサブビューの読み込みを処理する場合、役割ごとにユーザーを承認するための最良の方法は何ですか?
何か案は?
編集管理領域から役割または能力を追加/削除する機能が必要であることを追加するのを忘れました。cancanのようなものは素晴らしいでしょうが、ユーザーが機能を追加/編集できる場所に動的にする方法を見たことがありません。
ありがとう!
asp.net-mvc - DbDataController でビジネス検証を使用するには?
以下のように、ASP.NET MVC 4 のデフォルトのシングル ページ アプリケーション テンプレートには、crud 操作があります。
upshot.js は DbDataController のアクションからの応答と対話し、操作が失敗した場合、upshot.js は検証エラーを受け取り、クライアント側で表示できます。
私がする必要があるのは、自分のビジネス ルールを運用に組み込むことです。しかし、検証エラーを DbDataController のどこに配置するかは明確ではありません。
例:InsertEntity(entity);
操作は、失敗した場合に検証エラーを配置でき、検証エラーは自動的にクライアントに送信されます。しかし、ビジネス検証エラーが発生した場合は入れたいです。では、どこに置くことができますか?
asp.net-mvc-4 - EF なしの MVC SPA: ローカル名 '__type' で属性を書き込んだ後、属性 'type'='object' を書き込む必要があります
したがって、私は非常に正規化されたモデルを持っており、エンティティ フレームワーク オブジェクトを使用する MVC4 で単一ページ アプリケーションを作成しようとしています。私の問題は、必要な種類の複雑なマッピングを使用して EF でエンティティを作成できないことです (複数のガイドを確認しましたが、異なる主キーを含む複数のテーブルから 1 つのエンティティを作成できないようです..更新可能なビューを使用する解決策を見つけましたが、それは実際には抽象化を db レイヤーにプッシュしているだけです)。
したがって、EFクエリを使用してオブジェクトを作成し、挿入/更新/削除時にPOCOデータを取得して、基になる3つのテーブルを更新できるPOCOオブジェクトを作成できると考えました。
さて、何が起こっているのかを知るために、既存の動作中のコントローラーを微調整しようとして障害にぶつかりました。
次のような SPA コントローラーが動作しているとします。
少し変更して、新しい POCO データ オブジェクト Bar を返します。ここでは、Foo とまったく同じフィールドがあるとします。
FooViewModel.js で、操作名を GetBars に更新し、型を
var entityType = "Foo:#Models";
に
var entityType = "Bar:#Models";
操作を直接ヒットすると、次のようになります。
年
<ArrayOfFoo><Foo><Property>true</Property></Foo></ArrayOfFoo>
新着
<ArrayOfBar><Bar><Property>true</Property></Bar></ArrayOfBar>
したがって、コントローラーは期待どおりに機能しているように見えますが、すべてをまとめようとすると、SPA が点滅します。
ローカル名 '__type' で属性を書き込んだ後、属性 'type'='object' を記述する必要があります。
どういうわけかタイプデータをKOに入れる必要があると思いますか? それがどこにあるのかはわかりませんが、何時間も JS をクロールしてきましたが、どこで失敗しているのかさえ明確ではありません。任意の入力をいただければ幸いです。
node.js - Node.jsとExtJSを使用して、エンタープライズグレードのグリッドベースのシングルページアプリケーションを構築しますか?
タイトルは、できるだけ多くの流行語を質問に詰め込みたかったことを示唆していますが、実際には真剣です;)
グリッドが豊富で、デスクトップアプリと同じくらいスッキリする必要があるエンタープライズアプリケーションを構築するためのオプションを模索しています。運用上の変革は大きな問題になりますが(または、OTを使用した同時編集では、関連する問題を解決するための可能なアプローチです)、アプリに多数の同時ユーザーがいる可能性はほとんどありません(50から始まり、おそらく数百)。
SmartGWTは私たちが直面している問題の多くを解決しているように見えますが、アプリを構築するチームは非常に小規模です(おそらく、2人の開発者と1人の技術プログラムマネージャー)。Node.jsは、両方の開発者がバックエンドとフロントエンドで動作する可能性があるため、魅力的なようです。
この文脈で、私はいくつかの質問があります:
Node.jsはこの種のアプリに適していますか?Node.jsとこの種のアプリに関する人々とその経験から話を聞くのは非常に興味深いでしょう。
ExtJS / SmartGWTと一緒に使用した人はいますか?これらがNodeとどのように連携するかについてのあなたの経験は何でしたか?
Javaの専門家を見つけることは比較的簡単な作業ですが、経験豊富なNode.js開発者を見つけることは不可能だと確信しています。Node.jsへの移行を容易にする他の言語の経験はありますか?
これはかなり広い質問だと思います。ご容赦ください。
php - バックボーンと PHP モデル コードの重複
そこで、私が取り組んできたプロジェクトとプロジェクト管理システムを、標準的な複数ページのアプリケーションから単一ページのアプリケーションに変換することにしました。その過程で、私はいくつかの javascript MV*ish フレームワーク (ember、knockout、backbone など) を検討し、backbone.js を使用することにしました。それが最も柔軟なソリューションと思われ、既にアンダースコアを使用しているためです。ユーティリティとテンプレート システムの両方に js を使用します。
これを行う上で最大の懸念事項の 1 つは、PHP モデルとバックボーン モデルの両方で、モデルとビジネス/ドメイン ロジックのコードが重複する可能性があることです。
これは、このようなアーキテクチャを使用する場合に支払う技術的なコストにすぎませんか、この懸念を軽減するためにできることはありますか?
php - backbone.js なしの SPA
現在、さまざまなアプリケーションで使用できるアプリケーションフレームワークを構築しています。フレームワークはPHPで記述されており、RESTFUL APIがあります。jQueryと私のAPIの組み合わせを使用して、フレームワークをシングルページアプリケーションを有効にすることを望んでいます。
私は backbone.js を調べましたが、私が抱えている問題と、それが好きな他の人は、本質的に js でビジネスロジックを複製しているという事実です。これにより、コードベースのサイズが実質的に 2 倍になるだけでなく、ある種のセキュリティ リスクも表します。ビジネス ロジックを js で複製することにより、バックエンドがどのように見えるかを全世界に示し、悪意のあるユーザーの仕事をより簡単にします。
そうは言っても、私は確かにフロントエンド/jsの第一人者ではなく、これについてはbackbone.jsを真剣に調べただけです。私の考えでは、本質的に同じことを達成する動的 js 関数を定義する良い方法が必要です。私が探しているのは、私がどれほど間違っているかを教えてくれますが、正しい方向へのポイントです。
backbone.js - バックボーン維持状態
Backbone.js を使用して、JavaScript の重い単一ページ アプリを開発しています。目標は次のとおりです。
ユーザーは、一連のリソースをクエリするためのフィルター要素が入力された一連の複数選択ボックスから始めます。これらの複数選択ボックスは相互に依存しています。さらに、複数選択の要素はサーバーから照会され、ログインしているユーザーに依存します。つまり、ログインしているユーザーに関連付けられているリソースに依存します。
ユーザーは複数選択ボックスに入力し、「フィルター」ボタンを押します。これを押すと、コレクションがフェッチされ、一連のクエリ パラメータ (複数の配列値) を使用して、フィルタ要素を反映するセットが取得されます。
コレクションが取得されると、リソースを含むビューが表示されます。このビューには複数のサブビューがあり、状態 (クエリ パラメーターの結果としてフェッチされるコレクション) を維持しながら、特定のリソースをドリルダウンできる必要があります。
このようなユースケースでバックボーン アプリの状態を維持するにはどうすればよいですか? 私は多くの例を見てきましたが、どれも使いやすいほどシンプルです。
jquery - SPA はどのように機能しますか?
シングル ページ アプリケーションの概念は初めてで、サーバー側とクライアント側のナビゲーション パターンと、SPA を使用した要求処理のライフサイクルを理解しようとしています。これらが非常に基本的なものである場合は、ご容赦ください。
Web アプリがまだクライアント側にキャッシュされておらず、ユーザーが URL にアクセスした場合、サーバーで発生する一連の手順は何ですか?
サーバー側の SPA が安らかなデータ エンドポイントのみを公開している場合、クライアント側で部分ビューがダウンロードされるのはいつですか? SPA 全体 (さまざまなビューのすべての部分ビュー) が 1 回でダウンロードされますか? もしそうなら、ファイルはダウンロードのためにどのようにリンクされていますか?
SPA のさまざまなセクションでレイアウトを変更するにはどうすればよいですか?
Web アプリの大きなモジュールを表す "SPA" に複数のページがある場合、クライアント側のナビゲーションはどのように機能しますか?
javascript - 単一ページ アプリケーションの .live() から .on() へのアップグレード
ご存知のように、jQuery 1.7 以降:
本質的に次のようになりました。
すべてのライブ イベントは、セレクターの要素に直接バインドされるのではなく、ドキュメントにバインドされるデリゲートです。
これは'someSelector'
、将来一致する要素がDOMに存在しないため、イベントハンドラーを(直接またはデリゲートバインディングを介して)バインドできないためだと思います。
すべての要素が動的に読み込まれるわけではないにしても、大部分が動的に読み込まれる単一ページ アプリケーションの場合、すべてをドキュメントにバインドすることでパフォーマンスの問題を処理する最善の方法についてのガイドラインは公開されていますか?
たとえば、新しいコンテンツがロードされたときにイベント ハンドラーを登録/再登録する最良の方法とajax()
、怠惰な.live()
考え方で書かれたコードを更新する方法をカバーしていますか?
asp.net-mvc-3 - Knockout.js で MVVM を使用する場合のサーバー側でのモデルの定義
シングル ページ アプリケーションのクライアント側で、knockout.js と MVVM パターンを使用する予定です。したがって、Models、ViewModels はクライアント側で定義されます。サーバー側でどのように構造化する必要があるかについて混乱しています。
さて、コントローラーはドメインモデル自体を返すだけでしょうか? ドメイン モデルから ViewModel へのすべてのマッピングは、クライアント側でのみ行われますか?
私のソリューションでは、Domain モデルと ViewModel の間に大きなギャップがあります。したがって、上記のアプローチでは、大量のデータが不必要にクライアント側に返されます。やり過ぎのように思えますが、ViewModel と InputViewModel の定義 (前者はレンダリングされたデータを表し、後者はコントローラー アクションに戻されるデータを表します) をサーバー側で繰り返し、ドメイン モデルをマップするためのマッピング レイヤー (オートマッパーに基づく) を使用することも考えています。サーバー側のViewModelに。これは理にかなっていますか?または、より良いアプローチがありますか?