問題タブ [maintenance]
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.
asp.net - ASP.NET が CustomValidator を無視するとき、何を疑いますか?
これはコードの問題と同じくらいコードのメンテナンスの問題ですが、CustomValidator をチェックしなくなった WebForm があります。1年以上前に最後にコードに触れたときは機能しましたが、ユーザーがいくつかの変更を要求したため、機能しなくなりました...
WebForm には、値として String.Empty を持つデフォルトの「 - All -」項目を持つデータ バインド ドロップダウンが含まれています。ユーザーが送信ボタンをクリックすると、バリデーターはドロップダウンの値が String.Empty でないことを確認する必要があります。クライアント検証コードとサーバー検証コードにブレーク ポイントを設定しましたが、どちらも起動しません。
どこから探し始めますか?通常の容疑者は何ですか?もちろん、自分の作業コピーをソース管理にあるものと比較しましたが、疑わしいものは何もありません。
念のため、私のコードは次のとおりです。
linux - 組み込み Linux を安全に現場で更新するための推奨手法
組み込み Linux ベースのデバイスには、多くの場合、アプリケーションとシステム ファイルを更新するメカニズムが必要です。たとえば、USB ポートを備えた (ネットワークに接続されていない) ラボ機器は、USB スティックからソフトウェアの更新を取得できます。
スクリプトを実行してファイルをデバイスの内部フラッシュ メモリにコピーするのは簡単なことです。ただし、更新の途中でデバイスの電源が失われ、ブリックになってしまう危険性があります。
アプリケーション ディレクトリを複製し、1 つのコピーを更新し、古いディレクトリと新しいディレクトリをすばやく交換して障害ウィンドウを最小限に抑える余地があるため、アプリケーション ファイルの状況は少し簡単です。
カーネル ファイルとシステム ファイルはファイル システム全体に分散しているため、状況はより複雑です。
ファイル システムでハード リンクとソフト リンクを使用して、重要なファイルを特定しました。ファイルとアーカイブのハッシュを使用して、ファイルの整合性を検証します。更新されたファイル システムからの起動が失敗した場合にフォールバックを提供するために、カーネルで緊急 ramfs を使用することを検討しました。
この要件に対するあなたのアプローチは何ですか?
sql-server - Microsoft SQL Server 2005 で未使用のオブジェクトを特定する
オブジェクトが他の何かによって参照されているかどうかを調べるのは簡単な作業です。私がやりたいのは、それが実際に使用されているかどうかを特定することです。
私の解決策は、当初、データベース内のオブジェクトのリストを保持するテーブルと時間単位のジョブの組み合わせでした。
仕事は2つのことをしました。まず、前回の実行以降にデータベースに追加された新しいオブジェクトを探しました。次に、SQL のオブジェクト キャッシュを調べました。テーブル内のオブジェクトがキャッシュにリストされていた場合、そのオブジェクトは最近使用されたものとしてテーブル内でマークされていました。
6 か月が経過した時点で、テーブルの内容が調べられました。監視を開始してから参照されていない表に記載されているものは、おそらく安全にバックアップおよび削除できます。
確かに、たとえば年に 1 回など、オブジェクトが使用される可能性はありますが、ほとんどの場合は機能しているように見えました。
でも、一緒に仕事をするのはちょっと苦痛でした。
私が扱っているデータベースは 6 つほどありますが、その大部分には大量のレガシー テーブルがあり、元の作成者が他の会社に移った後もずっと残っています。
私が探しているのは、オブジェクト (テーブル、ビュー、ストアド プロシージャ、または関数) がいつ呼び出されるかを追跡する、かなり信頼できる方法です。
現在、この種のものを監視している方は、どの方法/コードを使用していますか?また、それをお勧めしますか?
sql-server - SQL Server のバックアップ/メンテナンス計画はどのようなものですか?
この質問のフォローアップとして、あなたの SQL Server のバックアップ/メンテナンス計画はどのようなもので、どのようにすればそれを改善できるのか知りたいです。
現在、プラン ウィザードから 2 つのプレーン ジェーン メンテナンス プランを実行しています。
最初のものは毎晩実行され、ほぼすべてのことを行います...
- データベースとトランザクション ログの完全なバックアップ
- 整合性チェック、インデックスの再構築、統計の再計算など (増分バックアップ以外はすべてチェックしました)
もう 1 つは 3 時間ごとに実行され、増分バックアップを行います (私は偏執的ですが、これはおそらくやり過ぎだと思います)。
バックアップはディスクに、フル バックアップは SAN に送信され、1 週間保持されます。
どう思いますか、これは賢明な計画ですか?助言がありますか?
編集: これは SQL Server 2005 です。DB は 5 GB で、1 か月あたり約 1 GB 増加します。
maintenance - 無視された利害関係者、別名システム管理者
少し前に、これまで取り組んできた顧客プロジェクトのほとんどすべてが、重要な利害関係者グループであるシステム管理者を軽視していることに気付きました。
これらの無口なヒーローは、通常、プロジェクトの最後にのみ関与し、今後何年にもわたってインストール、サポート、および保守する必要がある、実行可能なビットのブラック ボックスが残されます。このブラック ボックスで問題が発生するたびに、ブラック ボックスまたは基盤となるプラットフォームによって利用可能になったランダムな情報とツール サポートを使用して問題を解決する方法を見つける必要があります。これが十分でない場合は、即興で対応する必要があります。 .
彼らが最初からプロジェクトの利害関係者として関与していれば、潜在的な問題を予測し、それについてプロジェクト チームに知らせる機会があったでしょう。しかし、現実は異なります。私は開発者として、システム管理者を追加の利害関係者として関与させたいと思っていますが、外部要因がこれを妨げている可能性があります。
このような状況では、静かなヒーローをできる限り助けたいと思います. だから私の質問は:
システム管理者は、私たち開発者が保守しなければならないシステムを開発するときに、私たち開発者に何を望むでしょうか?
あなたがシステム管理者である場合は、かつて経験した困難な問題と、それを解決しやすくするために開発者ができたことについて、戦争の話をしてください。
mysql - データベースのインデックスはいつ再構築する必要がありますか?
ここで大規模な低速 SQL クエリのリファクタリングについて読んでいましたが、現在の最高の応答は、クエリが主要な選択にインデックスを使用していることを確認したい Mitch Wheat からのもので、次のように言及しています。
最初に行うことは、アクティブなインデックス メンテナンス ジョブが定期的に実行されていることを確認することです。そうでない場合は、既存のすべてのインデックスを再構築するか、それが不可能な場合は少なくとも統計を更新してください。
私は単なるアマチュア DBA であり、基本的には Java デスクトップ クライアントであり、場合によっては MySQL バックエンドであるいくつかのプログラムをフリーランスで作成しました。システムをセットアップするときに、クエリ対象の列にインデックスを作成する必要があることはわかっています。varchar CaseID と varchar CustName があります。
しかし、私はこのシステムを数か月前にセットアップし、クライアントに操作させたままにしました。データが入力されるにつれてインデックスが成長するはずであり、すべてがまだうまく機能していると思います. しかし、インデックスを定期的に再構築する必要があるのではないかと心配しています。なぜなら、今日、「アクティブなメンテナンス ジョブ」があるべきだと読んだからです。私が設定した唯一のメンテナンス作業は、毎晩のバックアップでした。
データベースに必要な定期的なメンテナンスについて、コミュニティに質問したかったのです。インデックスの再構築は必要ですか? 誰もいじらず、データが数ギガバイト未満である限り、MySQL バックエンドが機能し続けることを信頼できますか?
web-applications - Web アプリケーションのサポート - Web サイト
ASP.NET + C# でクライアント用の e ショップを作成しています。まず最初に、Crystal Tech の Web ホスティングの良さを知っている人がいるかどうかを尋ねたいと思います (専用サーバー パッケージはやや高価なので、それではありません)。
2 番目に、クライアントにどのような種類のサポート (保守) 保証を提供する必要があるか、また、Web サイトに忍び寄る可能性のあるどのような問題に注意する必要があるかを尋ねたいと思います。
短い言葉で言えば、経験豊富な開発者の皆さんに、避けるべき一般的な落とし穴と、クライアントを保護するためにクライアントに請求する必要のある一般的な落とし穴は何かを尋ねたいと思います。
seo - 「メンテナンスのためサイトをダウン」ページは SEO に影響しますか?
コードのメジャー リリースやデータベース スキーマの変更を実稼働環境で行っている場合、アップグレード中に "Gone Fishin'" ページを表示することは SEO に悪影響を及ぼしますか?
アップグレード中に古いコード/データベース スキーマを使用すると、アップグレード後の DB が望ましくない/不明な状態になる可能性があると想定します。
maintenance - 未使用の有用なコードをどうするか?
関数が正しく動作するように 1 日を費やしているのに、アーキテクチャの変更によってその関数が使用されなくなった場合はどうしますか? しかし、コードが十分に有用であり、アーキテクチャが元に戻ったとしても、その関数が再び有用になることを知っていますか?
チェックインする前に関数を削除するのは間違っているようですが、チェックインすると未使用の関数としてスペースを占有します。
php - PHP の悪夢を受け継いでいます。どこから始めればよいでしょうか?
悪夢であることが判明している PHP プロジェクトを継承しました。重要な点は次のとおりです。
- すべての元の開発者が去った
- コードにはバージョン管理がありません
- すべての開発とテストは、PHP ファイルの名前を変更して編集することにより、ライブ サーバー上で行われました。各ファイル index.php、index2.php、index3.php などの複数のコピーがあり、どのファイルが実際に使用されているか不明です
- 各ファイルには、他のファイルを含む他のファイルを含むファイルなどに複数のインクルードがあります。
- プロジェクトには複数の開発者がいて、それぞれが独自のやり方を持っていました。たとえば、ごちゃまぜの JavaScript フレームワークがあり、SQL を使用するデータベース クエリもあれば、XML インターフェイスを使用するものもあれば、データベース内の手続き型関数を呼び出すものもあります。
これらすべての問題のために、開発はイライラするほど遅くなります。私のフラストレーションを Stack Overflow にぶつけること以外に、この混乱を始める方法に関する推奨事項はありますか? 私自身、PHP開発はかなり初心者ですが、ライブサーバーを壊すことなく変更をテストできるように、ある種の開発環境をセットアップすることが最初のステップのようです。ここから始めるためのヒントはありますか?テストを行う一般的な方法は何ですか? デスクトップにサイトのローカル バージョンをセットアップするのは大変な作業のようです (サーバーは Linux ですが、ここのデスクトップは Windows です)。テスト用にライブ サーバーにサブディレクトリを作成できますか? データベースはどうですか?
次に、サーバー上のどのファイルが実際に使用されているかを追跡するために有効にできるプロファイリングはありますか? 実際には含まれていないものの名前が変更されたコピーを削除したいと思います。さらに良いことに、ファイルのどの部分が実行されていないかを知る方法はありますか? コピーされた関数やガベージがたくさんあり、使用されていないと思われます。同様に、インクルードについても、混乱を解消するためのヒントはありますか?
まあ、ここで発散するのをやめて、ここにいるみんなのなすがままに身を投じます。:)