問題タブ [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 投票する
11 に答える
21018 参照

c++ - オブジェクトはC++で自分自身を削除する必要がありますか?

過去 4 年間 C# に携わってきたので、C++ の現在のベスト プラクティスと一般的な設計パターンに興味があります。次の部分的な例を考えてみましょう。

ここでは、一連のオブジェクトを管理し、それらを定期的に更新する責任を負う世界があります。火は、さまざまな状況下でワールドに追加される可能性のあるオブジェクトですが、通常は既にワールドにある別のオブジェクトによって追加されます。火はいつ燃え尽きたかを知る唯一のオブジェクトなので、現在はそれ自体を削除しています。火災を引き起こしたオブジェクトは、おそらく存在しないか、関連性がありません。

これは賢明なことですか、それともこれらのオブジェクトをクリーンアップするのに役立つより良い設計はありますか?

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

c# - C#でアプリケーションを閉じるインターセプト

いくつかのソケットを適切に閉じて、閉じていることをサーバーに伝えたいのですが、アプリケーションが閉じられていると、ソケットがすべて閉じられ、ファイルがロックされたままになることがあります。アプリケーションが閉じているときにメソッドを実行するにはどうすればよいですか?

これは、フォーム アプリで使用されるライブラリに入れられます。

0 投票する
7 に答える
22122 参照

php - PHPのfinallyブロックの欠如を回避するにはどうすればよいですか?

バージョン5.5より前のPHPには、finallyブロックがありません。つまり、ほとんどの賢明な言語では、次のことができます。

PHPにはfinallyブロックの概念はありません。

言語のこのかなり苛立たしい穴の解決策の経験がある人はいますか?

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

resource-cleanup - ウェブサイトのコンテンツをクリーンアップするためのツール?

クライアントと協力して、Web サイトを既存の実稼働ハードウェアから新しいハードウェア環境に移行しています。やみくもにもう一度コピーするのではなく、監査を実行して古いコンテンツや古いコンテンツを削除する絶好の機会のように思えます。

サーバー上の Web アクセス可能なコンテンツとサーバー上の実際のファイルを比較して、どのコンテンツが実際にリンクされ使用されているかを確認するために使用できる無料のツールやスクリプトはありますか?

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

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

python - Python の Popen クリーンアップ

perl でいくつかのシェル コマンドをパイプするのと同等の python を使用したかったのです。open(PIPE, "command |") の Python バージョンのようなもの。

subprocess モジュールに移動して、これを試します。

これは、perl で行うのと同じ方法で出力を読み取るために機能しますが、それ自体はクリーンアップしません。インタープリターを終了すると、

stderr 全体に数百万回吐き出しました。私は単純に、これがすべて解決されることを望んでいたと思いますが、そうではありません。p で terminate または kill を呼び出しても効果がないようです。プロセス テーブルを見てください。これにより /bin/sh プロセスが強制終了されますが、破損したパイプについて文句を言うために子の gzip はそのまま残されます。

これを行う正しい方法は何ですか?

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

.net - 親によって閉じられたときにActiveX(COM)コントロールをクリーンアップするための適切な方法は何ですか?

ActiveX用にラップしたときに.netコントロールが適切にクリーンアップされないという問題があります。

デフォルトの動作では、SDKのテストコンテナアプリ(TstCon32.exe)を閉じようとすると、GUIなしのプロセスとして実行されたままになります。

私が最初にグーグルで見つけた回避策は、WndProcをオーバーライドしてEnvironment.Exit(0)手動で呼び出すことでした。これにより、TstCon32.exeが完全にシャットダウンしました。ただし、コントロールをホストする必要があるアプリケーションが壊れています。

アプリはMDIであり、コントロールを含むページが閉じられたときにWM_DESTROYが送信されます。その時点で、Environment.Exit(0)呼び出しはアプリ全体を吹き飛ばします。別の方法として試しApplication.Exit()ましたが、TstCon32はまだ見えないまま実行されています。

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

ruby-on-rails-3 - 放棄されたドラフトへの添付ファイルをクリーンアップするためのRailsバックエンドワークフローの提案?

Railsアプリケーションに取り組んでいます。私のモデルの2つは、メモと添付ファイルです。ユーザーはメモを作成し、それらに添付ファイルを追加できます。これは標準的なものであり、私はすでにこれを正常に機能させています。

現在、ユーザーはメモに添付ファイルを追加する前にメモを作成する必要があります。保存されていないメールに添付ファイルを追加できるおなじみのメールワークフローと同様に、ユーザー向けにさらに合理化されたワークフローを実装したいと考えています。ただし、重要なのは、添付ファイルを追加する前にユーザーがメモの下書きを保存する必要がないことです。また、ユーザーが離れた場合に、この保存されていないメモを破棄する必要があります(私はしたくない保存されていない/未公開のメモの複雑さを増すため)。

メモがまだ保存されていない場合は、メモへのリンクなしで添付ファイルを作成し、メモが保存されたときにリンクを確立できることを知っています。私が空白を描いている部分は、ユーザーがメモの作成プロセスを中断した場合に、未使用の添付ファイルを削除するにはどうすればよいですか?ユーザーが壊れたことを確認できるフックがありませんか?

このようなフックがない場合、最初に頭に浮かぶ解決策は、cronを介して実行される夜間のクリーンアップスクリプトで、添付されていないすべての添付ファイルを見つけて削除します(おそらく、24時間以上前に作成された添付ファイルによるフィルタリング)。これが最善の解決策ですか?

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

mysql - MySQL の 0..1:1..n テーブルによる SQL 自動クリーンアップ

すべてのユーザーが MySQL を使用して中央データベースのデータにアクセスする必要があるアプリケーションを作成していますが、何か疑問に思っていました。

この設定があるとしましょう。

ここで、私がこの設定を希望する方法は、テーブル A はテーブル B の行によって常に参照される必要があるということです。ただし、テーブル B の行はテーブル A の行を参照する場合と参照しない場合があります。その関係は 1:n です。テーブル B の複数の行は、テーブル A の単一の行を参照できます。テーブル B のどの行からも参照されなくなった場合、MySQL データベースが A の行を自動的に削除できるかどうか疑問に思っています。

ここでの考え方は、単純にテーブル B の a_id を NULL に設定し、データベースに残っているものをクリーンアップできるということです。今考えるとJavaのガベージコレクションに似ていると思います。制約を自動的に適用するキーがない場合、更新後に実行されるトリガーは機能しますか?

編集:追加の関係制約を追加します。

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

python - __del__を使用してクリーンアップ時に状態をファイルに保存しますか?

私は次のようなクラスを持っています:

現在、これはサーバープログラム内にあるため、シグナルによる事前の通知なしにシャットダウンされる可能性があります。可能であれば、クラスがその情報を確実に保存するようにこれを定義するのは安全ですか?

そうでない場合は、代わりに解決策として何を提案しますか?

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

.net - 新しいMVVMLightV4でリソースを解放する方法

新しく作られたMVVM-LightV4用のViewModelLocatorでリソースをクリーンアップするための最良の方法を知りたいです。私の知る限り、バージョン3までは、ViewModelLocator.Cleanup()メソッドが残りのviewmodelsのCleanup()メソッドを呼び出していました。

バージョン4では、新しいViewModelテンプレートでは、Cleanup()メソッドは含まれていません。また、ViewModelLocatorに追加されたときに生成されません。V3に関連する他の同様の質問を読んだように、V4はクリーニングリソースを一元化するように計画されていましたが、どのように達成できますか?

ありがとうございました。

エディ