問題タブ [resource-cleanup]

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

android - アクティビティのライフサイクルと一時ファイルをクリーンアップする方法

私は、ユーザーが写真を作成してそれを使って作業できるアプリを書いています。

IMAGE_CAPTUREインテントを使用してカメラを起動し、そこに写真を保存するためのパスを提供します。

この写真は一時的なもので、アプリの終了時に削除したいと思います。

写真を表示してユーザーが操作できるようにするアクティビティがあります。写真を削除する最善の方法は、onDestroyメソッドを使用することだと思いました。

私が抱えている問題は、ユーザーがデバイスの向きを変更すると、アクティビティが破棄されて新しいアクティビティに置き換えられることですが、ユーザーが後で必要になるように向きを変更したからといって、ファイルを削除できません。

では、これらのファイルを削除したままにするために何ができますか?

onAppExitなど、すべての一時ファイルを削除できる上書きできる他の方法はありますか?

前もって感謝します

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

ruby - クラスを適切に破棄する方法

Rubyには、接続の管理を容易にするクラスによって拡張されたDAOクラスがあります。これは、DB内のデータを表現および操作するクラスによって拡張され、さらに別のクラスによって拡張されます。動物の比喩を使用するには、次のようになります。

PHPには__destruct、クラスを破棄/削除するときに実行されるメソッドがあります。そして、そのクラスが別のクラスを拡張する場合は、次のようparent::__destruct()にクラスの__destructメソッドに追加するだけです。

を除くすべてのクラスで同様のメソッドを使用できますAnimal。何も拡張されないため、このparent::__destruct();行は無効になります。

しかし、私が理解しているように、Rubyにはそのオブジェクトに対してこのようなメソッドがありません。cleanupファイナライザーは設定できますが、クラスを破棄/削除したいときはいつでも呼び出すことができるメソッドを入れることにしました。これで、クラスをに設定する前に行う必要のあるすべての処理が行われnilます。

しかし、これは新しい問題を引き起こします。メソッドに常に名前が付けられていて、を呼び出す場合は、cleanupを呼び出すlion_instance.cleanupと想定しますLion#cleanup。それではcleanup、クラス内で呼び出してから、チェーンの下流で呼び出すようにするにはどうすればよいですか?CatFeline

それとも、これは間違ったアプローチであり、あなたはより良いアイデアを持っていますか?

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

c# - [カスタム クリーンアップ コードが完了するまで] ac# コンソール アプリが終了しないようにする決定的なコード

Control-C、Control-Break、ログオフ、ウィンドウ X ボタンの押下などで機能するものを一緒に考え出すことはできますか?

これが私がこれまでに持っているものです:

2 つの問題:

  1. Managed Control-Break ハンドラーで設定e.Cancel = trueすると、.Net4 の例外で失敗します。これは、回避策のない MSDN の記事に記載されています: http://msdn.microsoft.com/en-us/library/system.consolecanceleventargs.cancel.aspx

  2. でクローズをキャンセルする方法がわかりませんConsoleCtrlCheck。クリーンアップを行うのに 1 ~ 2 秒かかりますが、キャンセルして、すべてが適切に行われることを確認したいと思います。

アップデート:

返信ありがとうございます。両方に賛成しました。私が求めたことを直接解決する回答を誰かが思い付くことができるかどうかを確認するのを待ちます。それ以外の場合は、「NT サービスを使用する」回答のいずれかを受け入れます。

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

java - Javaオブジェクトに破壊のスコープを与えるきれいな方法はありますか?

MyOpenedFile が、開かれたストリームでファイルをラップするものであると想像してください。次に、次のコードを想定します。

質問の実際の方法:

現在、これは非常に面倒で、特にエラーが発生しやすくなっています (たとえば、finally ブロック内の一部のコードは、単体テストで呼び出すのが非常に難しい場合があります)。たとえば、C++ では、デストラクタがクリーンアップ (スコープ付きポインタ デストラクタによって呼び出されるか直接呼び出されるかのいずれか) を処理し、コードははるかにクリーンになります。

それで、ビジネスロジックコードの上にラップするためのより良い/より良い/よりクリーンな方法はありますf1f2?

また、素敵なラッパーを提供する Apache Commons などのオープン ソース ライブラリを指す回答も歓迎します。

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

magento - Magento の未使用ファイルとデータベース テーブルを削除する

数か月間 Magento サイトを開発してきました。このプロセス中に、多くの拡張機能をインストールおよび削除しました。これらの拡張機能自体がデータベース内に多くのテーブルとサーバー上のファイルを作成しました。また、独自の複数の拡張機能を構築しようとしました。多くのファイルを含みます。

どのファイルが読み取られて使用されているかを監視し、未使用のテーブルまたはファイルを削除する方法があるかどうか疑問に思っています。

基本的に、未使用のファイルとテーブルのストアをクリーンアップしたいだけです。

これが以前に行われたかどうか誰かが知っていますか?また、ある場合はどこから探し始めますか?

よろしく

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

powershell - Powershell-「Clear-Item変数:」と「Remove-Variable」

実行時にPowerShell変数にテキストを一時的に保存する場合、不要になったときに変数の内容をメモリから削除する最も効率的な方法は何ですか?

私は両方を使用Clear-Item variable:しましRemove-Variableたが、前者でメモリの内容を無効にするのに対して、後者で何かがメモリから削除されるのはどれくらいの速さですか?

編集:私が尋ねている理由をもう少し明確にすべきでした。

多数のアプリケーションVMのRDPログインを自動化しています(アプリケーションはサービスとして実行されない、外部委託された開発者、長い話)。

そのため、各VMへの起動セッションをグループ化するスクリプトを開発しています(ほぼ完成しています)。

クレデンシャルを保存するスクリプト関数はread-host、ホスト名の入力を求めてからget-credentials、ドメイン/ユーザー/パスワードを取得するために使用するという考え方です。

次に、パスは256ビットキー(資格情報を保存してグループ起動を実行するマシン/ユーザーに固有のランタイムキー)を使用してセキュア文字列から変換されます。

VMの名前、ドメイン、ユーザー、および暗号化されたパスはファイルに保存されます。セッションを起動すると、詳細が読み込まれ、パスワードが復号化され、そのVMのクレデンシャルcmdkey.exeを保存するために詳細が渡され\generic:TERMSRV、プレーンテキストのパス変数がクリアされ、そのホストに対してmstscが起動され、数秒後にWindowsクレデンシャルストアからクレデンシャルが削除されます。(パスワードをプレーンテキスト以外のものとしてcmdkey.exeに渡した場合、RDPセッションは誤った資格情報を受け取るか、資格情報を受け取りません)。

したがって、質問です。可能な限り短時間メモリに存在するために、平文のパスワードが必要です。

セキュリティ担当者を満足させるために、スクリプト自体はaes256で暗号化され、ac#ラッパーと独自のpsホストがスクリプトを読み取り、復号化して実行するため、これを実行するマシンにはプレーンテキストソースはありません。(ファイル共有の暗号化されたソースなので、効果的にキルスイッチがあり、暗号化されたスクリプトを、このアプリが無効になっているというメッセージを表示する別のスクリプトに置き換えることができます)

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

excel - Matlab xlsread 開いているファイルとクリーンアップ

1.4 MB の Excel ファイルで xlsread を使用しています。m コードを数回実行した後、いくつかの奇妙な動作に気付き始めました。

  • ダブルクリックで Excel ファイルを開くことができません (matlab のみ使用できます)
  • 2 つの LARGE (30Mb) EXCEL.EXE*32 ファイルが m-code ごとに開き、クリア前に実行されます (関数を 2 回呼び出します)。

matlab がファイル ハンドルをクリーンアップしていないように感じました。コーナーツーコーナー読み取りを使用する更新されたコードは、次の2行を使用してデータを読み取ります

タスク マネージャーは、両方の関数が呼び出された後、2 つの大きな EXCEL.EXE*32 ファイルを表示します。私はしようとしました

など。matlab を閉じても、まだ開いています。

結果なしで再起動しようとした後、さらにスヌーピングを行いました。

xlsread を使用して情報を読み取るために、サーバーのように見えるものに Excel を入力します。

クリーンアップはここで行われることになっているようです

続いて

プログラムの後半。調査によると、これは xlsCleanup と呼ばれるクリーンアップ機能を実行することになっています。参照用にここにファイルをコピーしました。

まず、アラートなしで例外をキャッチするのが面倒です。確認しましたが、コードは例外をスローしていませんでした。ラインが表示されます

プロセスを終了していないだけです。この機能を超えてこれを引き起こしている可能性があることはわかりません(もう介入できません)。問題についてはウェブ上で言及されていません。この動作を説明してください。すべての記憶を奪い取る

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

svn - カメのクリーンアップでダイアログを表示しない方法は?

ローカル コンピューターで、次のような svn のスケジュールされたタスクをいくつか実行します。クリーンアップの問題で更新を実行できない場合があるため、クリーンアップのスケジュールされたタスクを追加しましたが、私の介入なしでは実行できません: 常にダイアログが表示されます:

ここに画像の説明を入力

このダイアログを非表示にするには? 本当に私は何も変更しません - ボタンをクリックするだけでOKです。

ありがとう。

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

unit-testing - NUnitはアセンブリティアダウンの概念をサポートしていますか?

NUnitは、静的メソッドに適用できるMicrosoft.VisualStudio.TestTools.UnitTesting.AssemblyCleanupAttributeと同様のアセンブリティアダウンの概念をサポートしていますか?

これは、アセンブリ内のすべてのテストが完了した後に実行されます。現在、NUnit2.6.0を使用しています。

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

linux - 「引数リストが長すぎる」場合に 3 日以上経過したすべてのファイルを削除するにはどうすればよいですか?

82000 個のファイルとディレクトリ (約半分) を含むログ ファイル ディレクトリがあります。

3 日以上経過したすべてのファイルとディレクトリを削除する必要があります。

37000 個のファイルが含まれるディレクトリでは、次の方法でこれを行うことができました。

しかし、82000 個のファイル/ディレクトリがあると、次のエラーが表示されます。

/usr/bin/find: 引数リストが長すぎます

このエラーを回避して、3 日以上経過したすべてのファイル/ディレクトリを削除するにはどうすればよいですか?