日本語版
最新ニュース
企業

魔法のマシン

プログラマは、自分以外の誰かが実行しているコンピュータをより信頼する傾向があるという興味深い心理現象があります。 おそらく、これはインポスター症候群の当然の帰結であり、コンピューターが AWS や SaaS、あるいは文字通り他の誰かによって運用されている場合、そのコンピューターはより安全で、より適切に管理され、バグが少なく、最終的にはより純粋でなければならないとプログラマーが信じ込むようになります。 そうであればいいのですが、魔法の機械も魔法のオペレーターもいません。 まさに同じ種類の潜在的に欠陥のあるビットと頭脳です。この好例は、次の宣言に対するフィードバックでした。 継続的インテグレーションを開発者マシンに戻します。 最も一般的な反対意見は、開発者のマシンがクラウドやデータセンターで実行されているマシンとは何らかの形で異なる品種であることを暗示するために、「私のマシンで動作する」と持ち出すことでした。 本当にそうではありません! リモートでテストを実行しているコンピューターは、まさに別のコンピューターです。 それは魔法ではありませんし、原因不明の依存関係や環境要因に依存する傾向も同様です。実際、テストに関しては、スイートを複数のマシンで実行することはバグではなく機能です。 これは、宣言されていない依存関係を発見し、より回復力のあるシステムを作成するのに役立つ追加のあいまいチェックのようなものです。 なぜなら、最良の CI セットアップであっても実稼働環境ではないからです。 また、CI で動作するからといって、実稼働環境で問題がないわけではありません。これは、そもそもシステムをテストするということの要点につながります。それは、確実性ではなく、信頼性が重要であるということです。 プログラマーの惨めさへの道は、十分に複雑なシステムが本番環境で意図したとおりに動作するという完全かつ真の確信を持てるという妄想的な願望で舗装されています。 必要なのは、ますます煩雑になるプロトコルや手順とトレードオフするためのある程度の信頼性だけです。 意味があり、同時に達成可能な 100% のテスト カバレッジなどというものはありません。そして、プログラマーが、クラウド コンピューターを操作している人々が自分たちよりはるかに賢い、または優れていると考える原因は、自分の能力に対する根本的な自信の欠如です。 そんなことはめったにありません。 それらは単に隠されているだけであり、その不透明さこそが false がより高い能力を暗示しているのです。 ほとんどのクラウド機関や SaaS 運用を実行するには、どのような疲れ果てた機械の野郎が必要かを知っていさえすれば、自分の能力をすぐに疑ったりはしないでしょう。コンピューターの魔法のクラスも、コンピューティング聖職者の魔法のクラスもありません。 「私のコンピュータでは動作します」は、「そのコンピュータでは動作します」の中間バージョンにすぎません。 それはすべて単なるコンピューターです。 あなたはそれらを理解することができ、彼らを踊らせることができます。 #魔法のマシン

魔法のマシン

1714586672
2024-04-30 15:32:01

プログラマは、自分以外の誰かが実行しているコンピュータをより信頼する傾向があるという興味深い心理現象があります。 おそらく、これはインポスター症候群の当然の帰結であり、コンピューターが AWS や SaaS、あるいは文字通り他の誰かによって運用されている場合、そのコンピューターはより安全で、より適切に管理され、バグが少なく、最終的にはより純粋でなければならないとプログラマーが信じ込むようになります。 そうであればいいのですが、魔法の機械も魔法のオペレーターもいません。 まさに同じ種類の潜在的に欠陥のあるビットと頭脳です。
この好例は、次の宣言に対するフィードバックでした。 継続的インテグレーションを開発者マシンに戻します。 最も一般的な反対意見は、開発者のマシンがクラウドやデータセンターで実行されているマシンとは何らかの形で異なる品種であることを暗示するために、「私のマシンで動作する」と持ち出すことでした。 本当にそうではありません! リモートでテストを実行しているコンピューターは、まさに別のコンピューターです。 それは魔法ではありませんし、原因不明の依存関係や環境要因に依存する傾向も同様です。

実際、テストに関しては、スイートを複数のマシンで実行することはバグではなく機能です。 これは、宣言されていない依存関係を発見し、より回復力のあるシステムを作成するのに役立つ追加のあいまいチェックのようなものです。 なぜなら、最良の CI セットアップであっても実稼働環境ではないからです。 また、CI で動作するからといって、実稼働環境で問題がないわけではありません。

これは、そもそもシステムをテストするということの要点につながります。それは、確実性ではなく、信頼性が重要であるということです。 プログラマーの惨めさへの道は、十分に複雑なシステムが本番環境で意図したとおりに動作するという完全かつ真の確信を持てるという妄想的な願望で舗装されています。 必要なのは、ますます煩雑になるプロトコルや手順とトレードオフするためのある程度の信頼性だけです。 意味があり、同時に達成可能な 100% のテスト カバレッジなどというものはありません。

そして、プログラマーが、クラウド コンピューターを操作している人々が自分たちよりはるかに賢い、または優れていると考える原因は、自分の能力に対する根本的な自信の欠如です。 そんなことはめったにありません。 それらは単に隠されているだけであり、その不透明さこそが false がより高い能力を暗示しているのです。 ほとんどのクラウド機関や SaaS 運用を実行するには、どのような疲れ果てた機械の野郎が必要かを知っていさえすれば、自分の能力をすぐに疑ったりはしないでしょう。

コンピューターの魔法のクラスも、コンピューティング聖職者の魔法のクラスもありません。 「私のコンピュータでは動作します」は、「そのコンピュータでは動作します」の中間バージョンにすぎません。 それはすべて単なるコンピューターです。 あなたはそれらを理解することができ、彼らを踊らせることができます。

#魔法のマシン

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。