問題タブ [lazy-loading]

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

c# - C# アプリでの遅延読み込み

DAL に Customers のリストを返すメソッドがあります。

顧客には次の列があります: ID、名前、住所、経歴

これらの列のみを表示する ASPX フォーム (show-customers.aspx) のページ グリッドにそれらを表示する必要があります: ID、名前

今、私の DAL FindAllCustomers() で、SP から Bio フィールドも返しますか (リーダーを使用してコレクションに入力しています)。Bio フィールドは大きくなる場合があります (nvarchar(max))。遅延読み込みまたは必要なフィールドのみを読み込むことを考えていました。しかし、その場合、バイオを含む顧客の「完全な」リストを返す別のメソッドを作成して、サードパーティのアプリがサービスレイヤーを介して使用できるようにする必要があります。したがって、次のようなメソッドを作成しても問題ありません。

loadPartial = true の場合、Bio をロードせず、そうでない場合はロードします。この場合、SP から Bio を返したくないので、bool 値に基づいて SP に 2 つの select ステートメントを作成する必要があります。

ここで遅延読み込みを使用してもうまくいかないと思います.DALメソッドはサードパーティのアプリからアクセスでき、バイオも読み込みたいと思うかもしれません.

そのような場合に実装するための最良のパターンに関する提案はありますか?

ありがとう、

ヴィカス

0 投票する
6 に答える
5593 参照

iphone - iPhoneDev-タブバーアプリの遅延読み込み

タブが選択され、現在のタブがアンロードされ、次のタブがロードされて一度に1つだけがロードされるようにするには、どうすればよいですか?それとも私もこれをすべきではありませんか?ルートVCとして通常のUIViewControllerを使用してそれを行う方法は知っていますが、UITabBarControllerを使用してそれを行う方法はわかりません。また、あるタブから次のタブへの遷移をアニメーション化する方法はありますか?何か助けはありますか?ありがとう!!

編集:...ビューコントローラーをアンロードすると、タブバーのアイコンが消えます...ビューをアンロードするだけかもしれません。

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

ruby-on-rails - Rails 2.3.3でActionController::Base.sessionを条件付きで割り当てる方法

config/initializers/session_store.rb ファイルに次の内容を持つ Rails アプリがあります。

したがって、通常の操作では、セッションごとにデータベースに作成された ActiveRecord オブジェクトが表示されます。問題は、リクエストに対して常にセッションを作成したいわけではないということです。自動化されたリクエストに対してセッションの作成をオフにできるようにしたいと考えています。データベースには、自動化されたリクエストごとに 1 つずつ、何千ものセッション レコードがあります。Rails 2.3.3 より前では、次のことが可能でした。

しかし、Rails 2.3.3 では "session :off" が非推奨になりました。これは、セッションが遅延ロードされるようになったためです。セッションを使用しない場合、セッションは作成されません。問題は、セッション オブジェクトが常に sessionstore.rb ファイルに割り当てられているため、常に作成されているようです。構成ファイルからセッション割り当てブロックを削除すると、自動化された要求の後にセッション レコードが表示されません。私の質問は、リクエストが自動化されていない場合にのみセッションを条件付きで割り当てることができるように、session_store.rb からセッション ハッシュへの構成割り当てを ApplicationController クラス (または他の場所) に移動するにはどうすればよいですか? コントローラー ハンドラーが実行される前に、セッション構成データが必要になるのではないかと心配しています。セッションキー値の割り当てはどこに置くのですか?

助けてくれてありがとう。

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

.net - Linq2Sql - ネストされたリストをどのように遅延読み込みしますか?

実際にクエリを実行せずに、ネストされたリストをどのように遅延ロードしますか? 非常に基本的な例を使用すると、次のようになります。

そして、私のリポジトリレイヤーには、次のメソッドがあります。

次に、Service レイヤーに GetCityBlocksByOwner を配置します。ここで拡張メソッドを使用して、特定の人物が所有する都市ブロックを取得します。たとえば、Guido のブロックが必要だとします。

リポジトリで .ToList() を実行すると、クエリが実行されます。そのレベルで取得しているブロックが誰なのかわからないため、これはばかげています。問題は、これを効率的に行うにはどうすればよいかということです。

50000 のブロック所有者と 1000000 の都市ブロックがあり、それらすべてをロードすることはオプションではないと仮定しましょう。入れ子のため、IQueryables の使用は機能しません (少なくとも私が認識している極端なハッキングがなければ)。また、Rob Conery の LazyList のようなものを使用しようとすると、基本的に DAL からドメイン モデルへのリークが発生し、将来的には非常に悪い結果になる可能性があります。

では、これを正しく行うにはどうすればよいでしょうか。

  • それは正しい文脈を決定することの問題ですか?もしそうなら、これをリポジトリ層で行うか、それともサービス層で行うか?
  • 非常に具体的なサービス メソッドを取得するために、サービス レイヤーとリポジトリ レイヤーを半分融合させますか?
  • それとも、何かが完全に欠けていますか?(とにかく段階的に廃止されているLinq2Sqlのことにはまだ比較的新しいので...)

編集: リポジトリ パターンでは、現在ドメイン オブジェクトにマッピングしているため、次のようになります。

これが機能するには、CityBlock オブジェクトの実際のフィールドを IQueryable にしない限り、建物に .ToList() を取得させる必要があります。 CityBlock.BuildingsOnBlock フィールドにアクセスするすべての人に付与されます。ドメイン オブジェクトへのマッピングは、サービス レイヤーで行う必要があるのでしょうか。

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

nhibernate - Fluent NHibernateで取得/ロードせずに遅延ロードされた子の存在を確認する

これは簡単なはずですが、理解できないようです...エンティティの子が実際に取得またはフェッチせずに存在するかどうかを確認するにはどうすればよいですか? 子供は今、怠惰にロードされています..

だから私は2つのエンティティを持っています:

実際に大きなブログを取得せずに、A のインスタンスに B が存在するかどうかを確認したい... 単純な SQL では、child_id が null でないかどうかを確認するだけでよい. BでA?

ありがとう!

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

.net - Entity Framework v.1 で高価なフィールドの読み込みを遅らせる

ネットを探し回り、解決策を思いつくと思った後、私は別のレンガの壁にぶつかったようです.

データベースにテーブルがあります: Photos; PhotoID、Caption、Ordering、および 4 つのバイナリ データ セット (Original、Large、Medium、および Small) の列が含まれています (そうです、さまざまな修正を加えた古い ASP.NET スターター キットに基づいていました)。

私は L2S から Entity Framework に移行する過程にあり、それによって得られると思われるいくつかの利点があります。たとえば、写真に添付されたタグのリストを取得するために PhotosTags プロパティを使用する必要はなくなりましたが、バイナリ データの読み込みを遅らせる方法を探しています。ほとんどの場合、必要なのはキャプション、タグ、ID だけです。これらを別の領域に渡して、ユーザーが実際に画像を表示したときにバイナリ データを取得します。 .

私は次の投稿を見てきました:

  1. データテーブルを分割するには?
  2. 「テーブル分割」: 複数のエンティティ タイプを同じテーブルにマッピングします。
  3. 第 7 章: Entity Framework 学習ガイド(7.1 高価なフィールドの読み込みを遅らせる)

そして、次のようなエンティティマッピングになりました。

エンティティ図

そして、上記のリンクに従って、次の参照制約を含めるように edmx ファイルを変更しました。

モデルは検証されますが、ビルドされません-タグマッピングの問題により、次のように思います:

エラー 3019: 行 871、892 で始まるマッピング フラグメントの問題: 複合キー列のマッピングが正しくありません。テーブル siteContent_TagsPhotos (PhotoID) からテーブル siteContent_Photos (PhotoID) への外部キー制約 'FK_siteContent_TagsPhotos_siteContent_Photos': テーブル siteContent_TagsPhotos の列 (PhotoID) は、siteContent_TagsPhotos のプロパティ (PhotoID) にマップされ、テーブル siteContent_Photos の列 (PhotoID) はプロパティ (PhotoID) にマップされます。写真写真の詳細で。マッピングによる列の順序は保持されません。

写真からタグへの関係は、リンク テーブル、列 PhotoID、TagID を介して行われます。

このようなデータ構造を持つ .NET 3.5 SP1 の Entity Framework を操作するために、これらの推奨事項または同様のものを取得できた人はいますか? または、私の GoogleFU の制限を指摘できますか?

.NET 4 ではこれがすべてはるかに簡単になることはわかっていますが、それはここにはありません。私のホストがどこかにインストールすることを提案し始めるのは、リリース後おそらくしばらくかかるでしょう。

ありがとう。

0 投票する
9 に答える
17008 参照

javascript - javascript (lazyload) による画像の読み込みを停止しますか?

javascript on dom ready を使用して画像の読み込みを停止し、必要なときにいつでも読み込みを開始しようとしています。これは、いわゆる画像の遅延読み込みです。このようなもの:

これは機能しません (ff3.5、safari 3-4 でテスト済み)。とにかく画像が読み込まれていますが、わかりません。

たとえば、このプラグイン www.appelsiini.net/projects/lazyload はまったく同じことを行っており、ページの読み込み時に src 属性を削除しています。

私は何が欠けていますか?

編集: ここにテスト ページを追加しました: http://dev.bolmaster2.com/dev/lazyload-test/ 最初に src 属性を完全に削除し、5 秒後に元の画像を追加します。まだ動作しません。少なくとも、firebug は画像が開始時に読み込まれると言っていますが、firebug は信頼できますか?

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

asp.net-mvc - ASP.NETMVC1.0およびCastleActiveRecord2.0遅延読み込み

ビュー内からActiveRecordモデルの遅延ロードされたプロパティにアクセスするにはどうすればよいですか?

カテゴリモデルに属するニュースモデルがあり、どちらもLazy=trueとマークされています

コントローラで次の手順を実行することで、ビューで遅延ロードされたプロパティにアクセスできます

次に、私のビューでは、結果を解析し、次のカテゴリタイトルを表示します

明らかに、コントローラーでプロパティを参照しないと、ビューでプロパティを呼び出そうとすると、セッションスコープエラーが発生します。

しかし、これは私には間違っているようです。ビューに到達する前に、モデルの遅延ロードされたプロパティを初期化するためのより良い方法はありますか?モデルにInit関数を記述できると思いますが、それも不安定なようです。

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

nhibernate - NHibernate-遅延読み込みコレクション-機能しない

NHibernateのマニュアルを誤解したか、何か間違ったことをしました。誰か助けてもらえますか?

AuditLogEntrysなしでユーザーを取得しようとしています。しかし、NHibernateはまだAuditLogEntrysをロードしています。プロパティにアクセスするときにのみAuditLogEntrysをロードしたい。

マッピング:

ユーザーを取得するためのコード:

今、私はAuditLogEntryの空のコレクションを持つUserオブジェクトを期待していましたが、これは起こっていることではありません。

何か案は??ありがとう。

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

java - Android - ListView への画像の遅延読み込みに関する問題

これは非常に一般的なシナリオです。インターネットからダウンロードする必要がある画像を ListView に表示します。

現在、ListView に使用する ArrayAdapter のカスタム サブクラスがあります。ArrayAdapter の getView() 実装では、別のスレッドを生成して画像を読み込みます。ロードが完了すると、適切な ImageView が検索され、ImageView.setImageDrawable() で画像が設定されます。したがって、私が使用したソリューションは、次のようなものです: ListView での画像の遅延ロード

私が抱えている問題は、ImageView で setImageDrawable() を呼び出すとすぐに、ListView がリスト内の現在表示されているすべての行を何らかの形で更新することです! これにより、一種の無限ループが発生します。

  1. getView() が呼び出されます
  2. 画像をロードするためにスレッドが生成されます
  3. 画像が読み込まれます。setImageDrawable() は ImageView で呼び出されます
  4. ListView は何らかの理由でそれを取得し、それ自体を更新します
  5. ListView を更新するには、表示されている行ごとに getView() が呼び出されるため、手順 1 に戻り、すべてが繰り返されます。

私が見る限り、「Android - ListView で画像を遅延ロードするにはどうすればよいですか」(上記のリンクを参照) で提案されているソリューションは単に機能しません。そのように見えるかもしれませんが、バックグラウンドで現在表示されている行を再ロードし続けるため、非常に遅くなります。

誰かが以前にこれに遭遇したか、および/またはこれに対する解決策を持っていますか?