問題タブ [resource-management]

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

asp.net - ASP MVC で外部リソース dll を使用しても意味がありませんか?

ASP.NET MVC アプリでのリソース管理の推奨プラクティスを見つけようとしています.. (ターゲット .NET 4.0 )

これまでのところ、別のサテライト アセンブリを MVC アプリに追加するか、プロジェクト自体にリソースを追加するかを判断できませんでした。

また、サテライト アセンブリの作成は、MVC アプリではまったく異なります。おそらく、それらはサテライト アセンブリと呼ばれることさえありません。私が理解したのは、外部の resource.dll ファイルを参照するには、別の ASP.NET MVC プロジェクトを作成し、リソース ファイルを「Resources」フォルダーに追加して、次に、生成された dll への参照を追加します。これは正しい方法ですか?al.exe プロセスは、MVC アプリには関係ないと思います。

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

c++ - 関数ペアとテンプレートの特殊化のためのRAIIラッパー

リソースを初期化および解放するC関数ペアのRAIIラッパーを作成しましたが、ほとんどの場合に役立ちます。

ただし、関数が戻ってきたときに、このクラスでどのvoidようEnter/LeaveCriticalSectionに実行すればよいかわからないとします。ケースに特化したクラスにする必要がありSuccessValueType = voidますか?または、デフォルトのテンプレートパラメータを使用して何かを行う必要がありますか?

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

scala - 変更可能な状態を維持せずに scala で IO リソースを解放する

あるメソッドでいくつかの例外をスローし、別のメソッド セットでエラー コードを返す可能性のある Java ライブラリを使用する必要があります。これまでのところ、次のような醜いコードにつながります

私は主に状態varとして取り除き、finally ブロックで状態をチェックする機能に興味があります。ご意見をお聞かせください。

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

c# - 破棄されない静的変数

static StreamWriterクラスに変数があります:

アプリの実行中にこの StreamWriter を開く必要があるため、アプリでこの StreamWriter を閉じません。

このアプリを何度も起動して停止すると、メモリ リークが発生しますか? または、アプリを閉じると、オブジェクトは適切に破棄されますか?

このクラスは、ASP.NET MVC 4 と WPF アプリの両方で使用されるユーティリティ クラスです。

ご回答いただきありがとうございます。追加したコードは次のとおりです。

StreamWriter を含むクラスで:

そして、ASP.NET MVC Global.Asax では:

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

ruby - Rubyでデータベース接続を確実に閉じるには?

Rubyを学んでいます。mysqlgemを使用して MySQL db に接続しようとしています。私の懸念の1つは、接続の閉鎖です。

例外のスローなど、予期しない状況で接続を確実に閉じるにはどうすればよいですか?

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

xml - 構成を保存する最良の方法

Windows レジストリと同様に、完全な API を備えた構成マネージャーを実装しています。テキストエディタで開いて編集できるように、人間が読めるようにしたい. プログラムが必要とする可能性のあるあらゆるタイプの構成情報を保存できるようにするだけでなく、十分に高速であることも必要です。

情報を保存するために、次のマークアップ言語を調べました。

  • XML
  • JSON
  • YAML
  • S式

しかし、どの言語がこのタスクに適しているかはわかりません。

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

java - Java 7 自動管理リソースを手動で開く

そのため、Java 7 にはクラスを自動的に閉じる気の利いた機能がありますAutoCloseableBar実装Closeable(これは を拡張します) があり、からAutoCloseableオープンを取得する方法がある場合、これを行うことができます。BarFoo

...そして、句barに入れられたかのように、自動的に閉じられます。finally素晴らしい。

Barしかし、 を取得して後で開きたい場合はどうすればよいでしょうか。おそらく aBarは a に似ていてFile、単にリソースを識別するためです。それらの多くを識別したい場合がありますが、必要な場合にのみ開きます。

tryしかし、Java 7 の自動管理アプローチでは、句で変数を割り当てる必要がありますよね?

だから多分私は賢くてBar.open()リターンthis(つまりBarインスタンス)を持つことができるので、これを行うことができます:

これは私が望むように機能しますが、中間Barインスタンスが閉じられないという警告が表示されます。

だから多分私はこれを行うことができます:

これも私が望むように機能しますが、醜いだけでなく、まだ警告が表示されます---今回は最初のbar変数が決して閉じられません.

したがって、次のbar.open()ように、保護されたブロック内に呼び出しを配置できます。

それは私が望むように動作します---ほとんどの場合。しかしbar.open()、例外がスローされた場合はどうなるでしょうか。Java 7 は を閉じようとしますbarが、私の実装では、IllegalStateException一度も開かれていないものを閉じることができないため、これがスローされます。そして、そうあるべきですよね?インスタンスが開かれる前に誰かがそのBarインスタンスを閉じようとすると、何かがおかしいので、問題が伝播して未知の時期に表面化するのではなく、フェイルファーストのアプローチが必要だからです。

でも、本当は自動リソース管理を使いたいのかもしれないBar.close()ので、Bar. しかし、今私が何をしているのか見てみましょう: 構文コンパイラ シュガーを使用するためだけに API を変更しています (おそらく劣ったものにしています)。

他のアイデアはありますか?Java 7 がリソースを自動的に閉じるように Java 7 自動リソース管理を使用したいのですが、いつ開くかを決定したいと考えています

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

c++ - コードを複製せずに C 関数を auto オブジェクトにラップする

C++03 では、一連の C 関数をクラスにラップして「自動オブジェクト」を作成する場合、カプセル化された関数のタイプに合わせてオブジェクトをカスタマイズする必要がありました。たとえば、Windows ファイル HANDLE をラップするには、デストラクタでCloseHandle()を呼び出し、コンストラクタでCreateFile()を呼び出す必要がありました。コンストラクターは、CreateFile() 関数の関数シグネチャを模倣する必要があり、ファイル HANDLE 変数は使用されません (管理されているため)。

とにかく、私が知りたいのは、C++ 11 の新機能を使用して、作成と削除の実装を提供するだけで、あらゆるタイプのリソースをラップするために使用できる単一のジェネリック クラスを作成できるかどうかです。

私が予見する問題の 1 つは、上記の CreateFile() などの作成関数が任意の数のパラメーターを取得できることです。関数の署名を模倣するテンプレート化されたコンストラクターを自動的に生成する方法はありますか? Variadic パラメータが頭に浮かびますが、まだ使用していません。

誰かがこのようなものを書いてみましたか?

編集:説明に役立ついくつかのコード(疑似):

次に、これが私のスーパー自動オブジェクトの実装になります。

はい、これはshared_ptrorと同様の構造を持っていunique_ptrますが、代わりにコンストラクターは、開発者が作成した作成者クラスと削除者クラスによってリソースを作成するものになります。std::bind がこれに関与している可能性があると感じていますが、使用したことはありません。

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

c++ - これを実装するためのより良い/メモリ効率の良い方法は何ですか

Font次のようなクラスがあるとします。

そして、私はクラスを持っていますLabel:

次に、これらすべてについて私が心配しているのは、ご覧のとおり、BMfontクラスが多くのリソースを使用していることですSWC_Labelクラスをクラスに継承しSWC_Buttonます(はい、ラベル/テキストが付いたボタンです)。

今、私はこれSWC_Buttonに別のフォントを持つ機能を持たせたいと思っています。このようなことを行うためのより良いメモリ効率の良い方法は何ですか?定義された数の使用可能なフォントのみを作成する(クラスラベルで静的フォントを作成する)などの制限を行う必要がありますか?

注: OpenGL を使用して UI を作成しています

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

android - 新しいアクティビティを作成しない Android スプラッシュスクリーン

編集

ロード/作成コードを非同期タスクに移動した後 (以下を参照)、元のスプラッシュスクリーンで発生した初期の問題がまだ残っています。

それらは次のとおりです。

1) onCreate で非同期タスクを開始すると、すべてが読み込まれますが、私のダイアログは onStart() が呼び出されたときにのみ表示され、空白の画面で長い一時停止があり、すべてが読み込まれた後にプロセス全体が無意味になります、「読み込み中」ダイアログが消える前に一瞬点滅します。

2)オブジェクトのロード/作成などを onStart に移動できません。これは、a) 発生したくないバックグラウンドに送信された後にアプリが再開された場合でも再度実行されるため、および b) 復元を呼び出すときまだ作成されていないオブジェクトのプロパティを復元しているため、nullPointerException が発生します。

誰かがこれらの問題を回避し、簡単なスプラッシュスクリーンを作成する方法をアドバイスしてくれたら本当にありがたい. ありがとう!

バックグラウンド

私のアプリは 1 つのアクティビティのみを使用しており、可能であればその方法を維持したいと考えています。

私はこれに1週間以上苦労しているので、誰かが私を助けてくれることを本当に願っています.

私がしたいのは、リソースのロード中 (およびオブジェクトの作成中など) に、単純な「ロード中」メッセージが画面に表示されるスプラッシュスクリーンを使用することだけです。ポイントがいくつかあります。

条件

1) スプラッシュスクリーンは独自のアクティビティを持つべきではありません- すべてが単一のアクティビティに含まれている必要があります

2) スプラッシュスクリーンはXML レイアウトを使用しないでください(ビューを使用してロード中の PNG を表示するスプラッシュスクリーン クラスを作成しました)。

3) 私のアプリは openGL ES 2.0 であるため、テクスチャを OpenGL スレッドにロードする必要があります (GL 呼び出しを使用しないオブジェクトなどの作成は、必要に応じて別のスレッドに移動しても問題ありません)。

私がこれまでに試みたこと

これまでに行ったことは、ダイアログを作成し、onStart() メソッドで次のように表示することでした。

次に、すべてを onSurfaceCreated メソッドにロードしてから、次のように削除します。

ただし、さまざまな理由でこれを変更する必要があったため、onCreate() メソッド内の呼び出しからオブジェクトを作成し、テクスチャを GL レンダラーの onSurfaceCreated メソッドにロードするだけです。

ただし、これは、ダイアログがonCreate のまで表示されないため、スプラッシュ スクリーンが表示される前にすべてが作成されている間に遅延 (空白の画面) が発生し、テクスチャが読み込まれるまで画面に表示されたままになることを意味します。これには他にも問題があり、別の日に待つことができます!

したがって、私のアプローチは明らかに非常に間違っています。SOとGamedev.SEで見つけることができるすべてのチュートリアルと、スプラッシュスクリーン関連のすべての質問を読みましたが、これをどのように達成できるかについての説明はまだ見つかりません(私にとっては理にかなっています)。

ここで誰かが説明できることを願っています。