ホームページ  >  記事  >  バックエンド開発  >  プログラマーについて: バグなくしては人生なし

プログラマーについて: バグなくしては人生なし

WBOY
WBOYオリジナル
2016-07-25 09:00:431042ブラウズ
世界で最も有名なバグ、BUG について話すことにしました。
BUG は、優れたコンピューター科学者であろうと、リーナス トーバルズ (Linux カーネルの創設者) やビル ジョイ (BSD の前身である Linux カーネルの作者であるビル ジョイを 3 日で書いたと言われています) のような神であろうと、何世代ものプログラマーを悩ませてきました。 vi および csh) 同じレジェンド、またはあなたや私のようなプログラマーはすべてバグハラスメントのターゲットです。 BUG は、終わりのない戦いへの欲望を持った狂信的な戦闘員であり、プログラマーの周りに潜んでいて、不意に攻撃を仕掛けてきます。そして、鋼鉄の骨格を持っていても、羊の脂肪でできた翡翠の体を持っていても、この昆虫に襲われる限り(「ハムナプトラ」を見たことがある人なら、コガネムシに深い感銘を受けたに違いありません)、脱皮しなければなりません。皮膚が3層になり、さらに悪いことに、刑務所に入れられるか、死ぬか、失踪する可能性があります。
ソフトウェア業界における致命的なバグ事件
実際、バグによる悲劇は毎日起こっています。ここでいくつかの有名な例を紹介します。
プログラマーとして、ATM機を開発した会社は責任を負うべきであり、顧客(つまり銀行)に損失を補償すべきだと思います。この事件を引き起こしたのはソフトウェアのバグでした。しかし、銀行のような強力な機関の前では、個人の声は取るに足らず、両者を同じ尺度で比較することは困難です。途中にどんな紆余曲折があったのか、時代が変わり、もう考えることはできません。ただし、プログラマーとして、バグは多くの場合、直接的な経済的損失や重大な法的影響をもたらす可能性があるため、依然として警戒する必要があります。あなたは厳密には無実であると主張することはできますが、ボレンを殺さなければ、ボレンはあなたのせいで死ぬことになります。
Smartisan 携帯電話の予約番号の茶番
2014 年の国慶節休暇中に、4G バージョンの Smartisan 携帯電話が天猫モールに登場し、そのページには、この電話が 10 月 18 日に正式に発売される予定であることが示されています。価格は3,500元。在庫は10,000個あるそうです。天猫モールのページではすぐに予約数が8万件を超えたという。
その後、一部のネチズンは、ページのソースコードから、4G バージョンの Smartisan 電話の予約数が不正確であることが判明したことを明らかにしました。ページに表示されている数は、実際の予約数の 3 倍であり、1 倍でした。スマートフォンを再び最前線に押し上げます。
その後、Tmall はこの事件に対して前向きな反応を示しました。天猫によると、10月7日時点で4G版スマートフォンの予約ユーザー数は6万2682人だったが、10月8日にシステムがデータポートを呼び出した際、フロントエンドページの動的データ表示が誤って「消去」されたという。 」。
予約データを可能な限り現実のものにするために、Tmall は 10 月 8 日からの新規予約数を 3 倍にすることを決定し、その後の予約数が迅速に実際のデータに近づくようにしました...
。 ..
赤でマークしたテキストに注目してください。Tmall の応答が実際の状況と一致している場合、これは実際にはバグです。
老羅は本当に忙しくありません。ラオ・ルオ氏は10月19日に微博で正式に「予約データの改ざんは我々とは何の関係もない」と返答した。
羅生門みたいになるのかな?親愛なる友人。
この件に関しては、ため息をつかずにはいられません。神のような相手を恐れなければ、豚のようなチームメイトも怖いでしょう...豚のようなチームメイトを恐れなければ、神のようなネチズンが怖いですね この偽バグはあるテスターが原因だと言われています 予約数が常に3の倍数であることが分かりました。
Apple iOS 8.0.1 アップデートが中止
Apple、究極のユーザーエクスペリエンスで名高い、祭壇上の Apple も、バグのせいで恥辱の柱に釘付けにされました:
(2014) 25 日の 9 月のニュース: Appleは、現在のバージョンの多くのバグを解決することを目的として、本日初めに iOS 8.0.1 アップデートをリリースしました。しかし、予想外に、アップデート パッチによりさらに多くのバグが発生し、最終的に Apple はアップデートを中止しました。
今回主に影響を受ける2つの最新デバイスはiPhone 6とiPhone 6 Plusであることがわかっており、その結果、モバイルネットワークからの信号を受信することしかできず、TouchIDは使用できません。したがって、まだアップグレードしていないユーザーはアップグレードしないことをお勧めします。すでに悲劇に見舞われているユーザーは、Apple が修復パッチをリリースするのを待つしかありません。
...
これはスティーブ・ジョブズ不在の後遺症だと言う人もいます...なぜこの人たちがいつもジョブズを持ち出して問題を起こすのか本当に分かりません。実際、これはソフトウェアのバグです。プログラマーの観点からすると、これはスティーブ ジョブズと関係がありますか?
それに、この問題は Apple に限ったことではありません。Microsoft を見てください。彼らは次々とパッチを発行し、抜け穴をふさぎ、バグを修正しています。これはすべてプログラマーのせいであり、何もありません。空に浮かぶ月と関係があります。
ハートブリードの脆弱性
2014 年 4 月 9 日、Heartbleed (「ハートブリード」の意味) の重大なセキュリティ脆弱性が暴露されました。あるセキュリティ業界関係者は、この脆弱性を利用して有名な電子商取引 Web サイトのデータを読み取ろうとしたことを明らかにしました。彼はそれを 200 回読んだ後、40 を超えるユーザー名と 7 つのパスワードを取得し、これらのパスワードを使用して Web サイトにログインすることに成功しました。
Heartbleed の脆弱性、この重大な欠陥 (CVE-2014-0160) は、被害者のユーザー入力を長さパラメーターとして指定して memcpy() を呼び出す前に境界チェックを適切に実行できないために発生します。攻撃者は、OpenSSL によって割り当てられた 64 KB のキャッシュを追跡し、必要以上のバイトをキャッシュにコピーしてからキャッシュの内容を返すことで、一度に 64 KB の速度で被害者のメモリの内容を窃取する可能性があります。
OpenSSL は有名で、オープンソースであり、安全です。それがサポートするインターネット サイトは、数え切れないほどたくさんあります。このような有名なオープンソースの強力な暗号ライブラリにもまだバグがあります。
バグはどこにでもいます!
バグ プログラマーの追求とソフトウェアへの執着は、現在の熱心なファンよりもさらに強力であり、天国でも地上でも、どこにいても地獄に落ちるようなものです。あなたと一緒にいて、決してあなたを離れず、決してあきらめないでください。
バグなしで生きる
コンピューターのパイオニアであるモーリス・ワイクスは、1949 年にイギリスのケンブリッジで働いていたときのことを思い出しました。プロトタイプコンピューター EDASC のプログラムをロードするために穴を開けた紙テープを 2 階に引きずりながら、彼は自分の未来を次のように考えました。私の人生の残りの楽しい日々は、自分のプログラムのエラーを見つけることに費やされるでしょう。
バグの定義
バグという言葉の元々の英語の意味は「バグ」または「バグ」です。しかし、プログラマーにとって、バグとはエラー、欠陥、問題、抜け穴、要件の実装の失敗、要件の期待や拡張への対応の失敗などを意味します。それでは、バグとは正確には何でしょうか?
私の妻はテスターです。ソフトウェア テストに関する最も有名な本は、「ソフトウェア テスト」というもので、次のようにバグについて説明されています。製品仕様に記載されていないこと 製品仕様に記載されていないこと。
このソフトウェアは、製品仕様に記載されていないが、言及すべきことを実行します。
ソフトウェアは理解しにくく、使いにくいです。遅い、またはソフトウェア テスターの目には、エンド ユーザーからは明らかに正しくないように見えるでしょう。
開発者として、もちろん、電子テキストを理解する必要があります...
実際には、もっと大雑把な言い方があります。それ: BUG はエラーです。
その虫はどこから来たのですか?
聖書には「義人」についての言葉があり、「完璧な人はいないし、純粋な金はない」という言葉もあります...
人間が生まれる彼の母親から (Nuwa が作成) (人間の時間を除く) - ほら、私はいつも抜け穴をふさぐためにさまざまな説明を追加します。このような記事を書くのは本当に疲れます...これは私の開発習慣に大きく関係しています。防御的なプログラミングに慣れており、コーディング中にエラーが発生する条件を排除しようとします...
人は人間から生まれ、悪魔は悪魔から生まれ、ソフトウェアはプログラマーから生まれます。
親が妊娠の準備をしているとき、多くの父親は喫煙、飲酒、残業をやめます。これは山を閉ざして森林を育てると呼ばれています。母親は葉酸サプリを飲み、排卵期を計測し、妊娠に最適な時期を計算する…一言で言えば優生思想と育成だ。しかし、子どもは生まれても問題を抱えますし、成長するにつれてさまざまな問題も出てきます。本態性高血圧症、先天性心疾患、ハレリップ、認知症、精神遅滞などの先天的欠陥を抱えている子どもたちもいます...近視、斜視、ポリオ、跛行、自閉症などの長期にわたる問題を抱えている子どもたちもいます... ...親の皆さん、これは私たちにとって受け入れがたい事実ですが、私たちはそれに直面して受け入れなければなりません。
ソフトウェアはプログラマーの子です。それを産む前に、山を閉ざして森林を育てたことがありますか。また、自分の月経周期についてよく知っていましたか。うわー、はははは、これはナンセンスすぎます!鮑布通(『龍八部』に登場する慕容府の四大大臣の一人。非常に興味深い)は首を振って、ノー、ノーと言った。もちろん!ソフトウェアの開発には実際にこれらのプロセスが含まれており、さらに重要なことに、次のことを認識する必要があります。
プログラマーはソフトウェアを作成していると同時に、バグも作成しているのです。
どんなに優れたプログラマーであっても、彼が書いたソフトウェアには依然としてバグが存在します。バグはソフトウェアの生来の避けられない良き友人であり、その自発的な旅の最初から、彼らは深く愛し合っており、切り離すことはできません...
だから、バグはプログラマーによって書かれているのです...
あなたが認めたいかどうかは別です。そうであろうとなかろうと、真実はとてももどかしい。モーリス・ワイクスですらこれを認めているのですから、頑固になるのはやめてください。
LAMP BrothersオリジナルPHPビデオチュートリアルCD/「Essential PHP in Detail」を無料でプレゼント 詳細は公式サイトカスタマーサービス http://www.lampbrother.net
http://yun .itxdl.cn/online /cto/index.php?u=5 これは素晴らしいコースです http:// /yun.itxdl.cn/online/server /index.php?u=5 モバイルインターネットサーバーサイド開発コース
http://yun.itxdl.cn/online/weixin/index.php?u=5
WeChat.開発コース
http://yun.itxdl.cn/online/yingxiao/index.php?u=5
マイクロマーケティングコース
http://yun.itxdl. cn/online/phpcms/index.php?u=5phpcms
二次開発コース
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。