
Mark Lucas
0
1627
178
Kod hemen hemen her yerde. Modern bilgisayarların ortaya çıkışı 1940'larda geldi. Zengin geçmişinde, programlama daha iyi iletişim sağladı ve sayısız sektörde gelişmelere yol açtı. Uzay yolculuğundan telekomünikasyon ve sağlık hizmetlerine kadar her şey devrimden geçmiş ve yasalardan etkilenmiştir..
Ayrıca, programlama değerli hayat derslerini öğretebilir 6 Programlamanın Bugün Size Verebileceği Yaşam Alışkanlıkları Bugün Programlamanın Size Öğretebileceği 6 Yaşam Alışkanlıkları Bugün başarılı bir hayat sürmek için bilmeniz gereken her şey, bir bilgisayar programından elde edebilirsiniz. Bana inanma Okumaya devam etmek. . Ancak, katlanmış geçmişinde kodlama da yıkıma uğramıştır. Biraz hatalı kod örneği, felakete büyük ölçüde neden oldu. Aşağıdaki, tarihteki en kötü programlama hatalarından 10 tanesidir..
1. Y2K Hata
2000 yılı Yılı, yani Y2K Böceği veya Milenyum Böceği, bilgisayar pandemonisine neden olacağı tahmin edilen bir kodlama sorunuydu. 90'lı yıllarda, çoğu bilgisayar programı kısaltılmış bir sürümde dört basamaklı bir yıl listeledi. 1990, 90, 1991, 91, vb. Yazılı okurdu. Dört basamak yılını iki basamağa kısaltarak kodlayıcılar değerli bellek tasarrufu sağladı. Ancak bilgisayarlar 2000'i basitçe 00 olarak tanıyamadı. Sorunu daha da şiddetlendiren 2000 artık bir yıldı. Bazı yazılım uygulamaları fazladan günü hesaba katmamış.
Birçoğu, Y2K'nın dünyadaki bilgisayarları ve elektronikleri yıkabileceğinden korkuyordu. İlk DVD çalarımı parlak bir şekilde taşıyan hatırlıyorum “Y2K Uyumlu” etiket. 2000 yılı bir yazılım tarafından oldukça sorunsuz bir şekilde çalınırken, her sektördeki bilgisayar ve uygulamaları güncellemek yaklaşık 300 milyar dolara mal oldu. Bilgisayarlar çökmedi. Hayat normal olarak ilerledi. Ancak çok fazla para ve iş olmadan, Slate raporlarına göre israf olmuş olabilir..
Neden bu en kötü programlama hatalarından biri: Y2K panik 300 milyar dolarlık melodi için son derece pahalıydı. Ayrıca, bu olası sorunu çözmek için kaynaklar yönlendirildi.
2. Heartbleed Hata
Resim kredisi: OpenClipart-vektörel çizimler - Pixabay'de
OpenSSL kütüphanesinde görünen Heartbleed Bug, tehlikeli bir güvenlik açığıdır Heartbleed - Güvende Kalmak İçin Ne Yapabilirsiniz? Heartbleed - Güvende Kalmak İçin Ne Yapabilirsiniz? . Aktarım Katmanı Güvenliği (TLS) protokolü, OpenSSL şifreleme kütüphanesini kullanır. TLS'de yaygın kullanımı nedeniyle Heartbleed hızla yayıldı. Bu hata, internet üzerindeki herkesin OpenSSL'nin etkilenen yinelemelerini çalıştıran makinelerde belleği okumasını sağlar. 64 kb'ye kadar sistem belleği okunabildi. Heartbleed Böceği 2014 yılında halka duyurulurken, 2012'de yayınlandı..
TLS kalp atışı uzantısı içindeki eksik bir sınır denetimi nedeniyle hatalı giriş doğrulaması, hataya neden oldu. Kalp atışı uzantısındaki bir hata olduğundan, Heartbleed adı böylece ortaya çıktı. The Register'daki 2014 tarihli bir makale, en popüler TLS özellikli sitelerin% 1,5'inin Heartbleed böceklerine karşı savunmasız kaldığını bildirdi. Ancak, OpenSSL'den başka TLS uygulamalarına dokunulmadı. Bu nedenle, TLS'nin ve Mozilla'nın Ağ Güvenliği Hizmetlerinin Windows sürümü Heartbleed Bug'dan etkilenmedi. Bir yama sonunda OpenSSL sürüm 1.0.1g ile ilgili sorunu çözdü. Tamponun aşırı okunmasını önlemek için sınır kontrolleri eklenerek, Heartbleed Böceği başarıyla eklenmiş..
Neden bu en kötü programlama hatalarından biri: Heartbleed Böceği büyük bir güvenlik tehdidi yarattı. Fırlatma ve yamalama arasındaki süre, yıllarca korunmasız sistemleri etkiledi. Bir bilgisayar güvenlik açığı sorunu olduğunda, bu çok büyük bir veri güvenliği endişesi yaratır.
3. World of Warcraft Virus Kelimenin Tam anlamıyla Çok Alındı
Resim Kredisi: WoW Wiki
Warcraft Dünyası bir zamanlar farklı türde bir bilgisayar virüsü yaşadı. 2005 yılında bir dijital veba birkaç oyun sunucusuna sızdı. Binlerce karakter Blood Virus'a av oldu. Vay geliştirici Blizzard, Kan Tanrısı Hakkar'ı tanıttı. Kayda değer düşman, bozuk kanla karakter bulaşmış. Kan enfeksiyonu başlangıçta Hakkar'ın vücuduna yakın olan oyuncuları etkilemeyi amaçlarken, oyuncudan oyuncuya transfer alanı dışında gerçekleşti. Bu kasıtsız, oyun içi evcil hayvanlardan kaynaklanan kan virüsünü yaymanın araçları. Ayrıca, oyuncu olmayan karakterler (NPC'ler) taşıyıcı oldu.
Archimonde ilk virüs bulaşmış sunucu oldu. Düşük seviyeli karakterler anında öldü. Güçlü karakterler bile uzun sürmedi. Her ne kadar bir kodlama sorunu, NPC'ler ve evcil hayvanlar yoluyla virüsü devam ettirse de, virüsün Hakkar'ın krallığının dışına salınması planlanmamıştır. Binlerce oyuncu öldü, Warcraft Dünyası perma-ölüm özelliği yoktur. Blizzard, kan virüsünü yuvarlama sunucusu yeniden başlatmalarıyla düzeltti. Ama oyuncu cesetleri kirletmeden önce Vay peyzaj.
Neden bu en kötü programlama hatalarından biri: Tamam yani Warcraft Dünyası veri güvenliği sorunu veya hayati tehlike içeren bir senaryo sunmayabilir - ancak oyuncular eğlencelerini ciddiye alırlar. Blizzard sunucuları sıfırlamak için saatler harcadı. İlginçtir, oyun içi oyuncu davranışı, yaygın salgın, panik ve uygarlığın çöküşüyle gerçek dünya salgını içinde neler olabileceğini taklit etti. Oynamam Vay? Bu yeni acemi'nin rehberine başlayın World of Warcraft ile Başlarken: Yeni Başlayanlar İçin Bir Rehber Yeni Bir Worldcraft: Başlarken: Acemi Bir Yeni Başlayanlar İçin Bir Rehber World of Warcraft'ı daha önce hiç denememişseniz, bilmeniz gerekenler. .
4. Therac-25
Birçok programlama hatası güvenlik açıklarına veya oyunda ölü oyunculara neden olsa da, aslında kötü kod kutu öldürmek. Therac-25 felaketi, Therac-25 radyasyon tedavisi makinesiyle gerçekleşti. Kanada Atom Enerjisi tarafından üretilen Therac-25, en az altı hastayı öldüren kazara radyasyona aşırı doz verilmesine neden oldu. Araştırmalar, zayıf yazılımların ve yetersiz sistem geliştirmenin radyasyon aşırı dozlarına neden olduğunu keşfetti. Büyük ölçüde bunlar, otomatik yazılım testlerini gerçekleştirmede zorluk çekmekten kaynaklandı..
Therac-25 radyasyona maruz kalan dozlar, kolayca test edilebilen kodlar oluşturmak için bir hatırlatma görevi görür. İnsanları öldüren makineler bilim kurgu gibi gelebilir, ancak Therac-25 olayı aksini kanıtlar. Ancak bu gerçekten bu sorunlara neden olan kodlamadaki insan hatasının bir sonucuydu. Nancy Leveson dahil uzmanlar, deneyimsiz kodlayıcıların buggy yazılımı yarattığını buldu. Dahası, sadece bir programcı yazılımı yarattı ve Therac-6 ve Therac-20 kodlarına dayanıyordu..
Neden bu en kötü programlama hatalarından biri: Ne zaman insan yaşamı kaybı olursa, programlama hatası kesinlikle kötü kodun en kötü örneklerinden biridir..
Eski Mariner 5. Uçuş 1
NASA epeyce teknoloji kullanıyor. Yeni Ufuklar Sondası bir PlayStation CPU kullanıyor. NVIDIA'daki Mimarlık ve Mühendislik Bölüm Başkan Yardımcısı Marc Hamilton, NASA'nın NVIDIA donanımını kullanımı hakkında düzenli olarak blog yazıyor. Mariner 1 roketi, Venüs'ü keşfetmeye karar veren bir uzay probu ile başlatıldı. Ancak roket fırlatmadan biraz sonra, hedeflenen uçuş yolundan saptı. Mariner 1 kalkıştan kısa bir süre sonra imha edildi.
Bir programcının küçük hatası Mariner 1'in böceğine neden oldu. Her ne kadar raporlar farklı olsa da, işaretler eksik bir tireye işaret eder. NASA arşiv belgelerine göre, “Mariner 1 Uçuş Sonrası Gözden Geçirme Kurulu, veri düzenleme programında kodlanmış bilgisayar talimatlarında bir kısa çizginin ihmal edilmesinin yanlış yönlendirme sinyallerinin uzay aracına iletilmesine izin verdiğini tespit etti..” Ünlü yazar Arthur C. Clarke (2001: Bir Uzay Odyssey) Mariner 1 felaketi olarak adlandırdı “tarihteki en pahalı tire.”
Neden bu en kötü programlama hatalarından biri: Mariner 1'deki kargaşanın kolayca önlenebilirdi. Kamu hizmeti duyurusu: sevgili geliştiriciler, lütfen yazılımınızı test edin.
6. AT&T Ağı Aşağı Gidiyor
Resim Kredisi: Yelp üzerinden Unsplash
Şimdi beni duyabiliyor musun? Hayır. 15 Ocak 1990'da, AT&T ağının yüzde 50'den fazlası çöktü. Dokuz saat içinde 75 milyon çağrı cevaplanmadı. İlk raporlar hackerları suçlarken, asıl suçlu daha kötüydü: standart bir yazılım güncellemesi. Windows 10 güncellemelerinin bir sonraki şikayetinde şikayet ettiğinizde bunu unutmayın Windows Güncellemeleri Daha Az Sıkıcı Olmaya Hazırlandı Windows Güncellemeleri Daha Az Sıkıcı Olmaya Hazırlandı Yeni sistemde, Windows 10 güncellemelerinin boyutu daha küçük olmalı, daha verimli yüklenmeli ve daha az zorlamalı sistem kaynaklarınızda. Muhtemelen farketmeyeceğin bir değişiklik. . Yalnızca bir kod satırındaki bir hata AT & T'nin ağını birkaç saatliğine indirdi. Bir anahtar kendini sıfırlar, ancak hata ikinci anahtarın başka bir mesaj gönderdiği anlamına gelir. Temelde ağın hatalarını tekrarlamaya devam etmesiyle domino etkisi başladı. Sonunda AT&T ağ yükünü azaltarak bir çözüm geliştirdi. Anahtarlar daha sonra kendilerini sıfırlar.
Ağır testlere rağmen, tek bir açıklama ağı mahvetti. Program C ile yazılmıştır. Bir if cümlecik içindeki bir break cümlesi bir switch cümlecikinde yuvalanmış olarak kalmıştır. 1990'daki büyük AT&T kesintisi basit bir problem gibi görünüyor. Cevapsız aramaların çoğu, ya da bugün olduğu gibi, cevapsız metinlerin bir demet, Instagram, Twitter ve Snapchat bildirimleri. Yine de iletişim eksikliği büyük parasal etkiler yarattı. American Airlines gibi şirketler maddi kayıplara uğradı. American Airlines kesinti nedeniyle üçte iki daha az çağrı aldı. 1990 kesintisi, test etmenin neden önemli olduğunu gösteren mükemmel bir örnek olarak devam ediyor. Ek olarak, AT&T kesintisi teknoloji ve ekonomi arasındaki içsel bağlantının bir hatırlatıcısı olarak hizmet eder..
Neden bu en kötü programlama hatalarından biri: AT & T'nin ağı sadece parçalanamadı, birkaç saat kaldı finansal bir takla yarattı.
7. Yaşayan Ölülerin Günü: St. Mary's Mercy Hastanesi
Image Credit: Vitalworks üzerinden Yelp
2003’te bir yazılım hatalı “öldürdü” 8.500 kişi. Michigan, Grand Rapids'deki St. Mercy Mercy Tıp Merkezi, hatalı bir şekilde, birçok hastanın, hasta yönetimi yazılım sisteminde bir aksaklıkla öldüğünü bildirdi. Bu kötü kod felaketi, hiç kimse ölmediğinden, Therac-25 ölümlerine kıyasla oldukça zararsız. Yine de, kendi ölümünü okumak, özellikle de hayatta ve iyisin.
Yanlış ölüm raporları hastalarla sınırlı değildi. Bu yazışma sigorta şirketlerine ve Sosyal Güvenlik ofislerine iletildi. Sosyal Güvenlik ve sigorta sağlayıcılar, uygun hastaların Medicare'e sahip olmasını sağladıklarından, bu oldukça problem teşkil ediyordu. St. Mary's Mercy çalışanları hastaları, devlet kurumlarını ve sigorta sağlayıcılarını hatanın durumu hakkında bilgilendirdi. Nihayetinde programlama hatası fazla dikkat çekmedi. Kodlama hatasının düzeltilip düzeltilmediği belli değil. Ancak başka yanlış ölüm raporları ortaya çıkmamıştır. St. Mary's Mercy hastanesi basitçe hasta yönetimi yazılımını değiştirdi.
Neden bu en kötü programlama hatalarından biri: Neyse ki kimse ölmedi. Ancak sağlık hizmetlerinin sürekliliğini sağlamanın zarar kontrolü bir karışıklıktı.
8. Mahkum Öncesi Alfa: Erken Tahliye
Resim kredisi: Alexas_Fotos üzerinden - Pixabay
Michigan, 2003 ve 2005 yılları arasında veri işleme aksaklığı yaşadı. Bu süre zarfında, bir bilgisayar programlama hatası, Michigan eyaletindeki mahkumlar için cezaları bastırarak 23 mahkumun erken tahliyesine neden oldu. Şanslı mahkumlar, herhangi bir yerde 39 günden 161 güne düşürülen cezalardan yararlandı. Kazara hapis cezasının sona ermesi sorunlu olsa da, neyse ki bunlar uyuşturucu ve zimmete alma ücretleri gibi daha küçük ihlallerdi..
Yazılım genellikle süreçleri otomatikleştirmeyi amaçlar. El ile yapılan işleri azaltarak hayatımız teorik olarak daha kolaydır. Ancak Michigan mahkumlarının hapisten erken kart almalarıyla ilgili bu durum bir kez daha yazılım testinin değerini kanıtladı. Küçük bir programlama hatası, özellikle bu örnekte çok büyük sonuçlar doğurmaktadır. Sadece, mahkumların serbest bırakılmasının daha ciddi suçlarla sarsıldığını hayal edin.
Neden bu en kötü programlama hatalarından biri: Bu olay çok daha kötü olabilirdi, ancak erken mahkumun serbest bırakılması korkutucu.
9. Hartford Coliseum Şelaleleri
1978 Hartford Coliseum'un çöküşünün rapor edilen 90 milyon dolarlık bir zararı olmasına rağmen, çok daha kötü olabilirdi. Hartford Coliseum, taraftarlar mekanı boşalttıktan birkaç saat sonra çöktü. Çelik kafesli çatısı ıslak kar ağırlığını kaldıramadı. Bir bina basit bir programlama hatası nedeniyle çöktü. Hartford Coliseum'u tasarlamak için kullanılan CAD yazılımının kodlayıcısı birden fazla değişkeni hesaba katamadı. Bunun yerine, yazılım programcısı varsayılan çelik çatı desteklerini yalnızca saf sıkıştırma ile karşı karşıya kaldırabilirdi..
Mühendisler birçok zorlukla karşı karşıya. Yazılım kullanmak işlerini kolaylaştırmalıdır. Bununla birlikte, çeşitli değişkenleri hesaba katmamak, büyük zorluklara yol açmaktadır. Sadece bir hatayı kolayca düzeltebilirsiniz. Minecraft, CAD yazılımı gerçek dünya yapılarını doğrudan etkiler.
Neden bu en kötü programlama hatalarından biri: En azından kimse ölmedi. Ancak tahminen 90 milyon dolarlık bir zararın ekonomik olarak tahribi çok büyük.
10. 99 Sorunum Var ve Pentium Bir
Genel olarak Intel işlemciler, AMD benzerlerinden daha iyi performansa sahiptir. Bununla birlikte, AMD mükemmel bir fiyat-performans oranı sunuyor AMD'nin Yeni Planı: Sizin İçin Sanal Gerçekliği Daha Ucuz Hale Getirin AMD'nin Yeni Planı: Sizin için Sanal Gerçekliği Daha Ucuz Hale Getirin AMD, 2016'da vites değiştiriyor sanal gerçeklik piyasasında büyük bir oyuncu olacak. . Ancak 1994'te, Intel'in Pentium mikroişlemcileri büyük bir sorun yaşadı. 486DX ve Pentium CPU'larda kayan nokta ünitesi (FPU) bulunuyordu. Bu FPU bir matematik işlemcisiydi. Önceki nesil Intel CPU'lar matematiği tamsayılarla işledi. Dahili bir FPU dahil ederek, bu yeni nesil Pentium yongası önemli ölçüde daha hızlı sayısal hesaplamalar vaat ediyor.
Pentium FPU, radix 4 STR algoritmasını kullandı. Yanlış giriş bilgileri biraz yanlış hesaplamaya neden oldu. Ancak küçük bir değişiklik bile Hartford çöküşü veya Therac-25 durumunda görülebileceği gibi büyük sorunlar anlamına gelebilir. Pentium'un uzun bölme yeteneklerini atmak için binde yaklaşık beş giriş kaldı. Intel resmen bir komut dosyası hatası arama giriş sorunları neden olduğunu iddia etti. Her iki durumda da, Pentium'un matematiği hatalı koda atfedilir.
Neden bu en kötü programlama hatalarından biri: Birkaç önemli rakam pek görünmeyebilir ancak mühendislik veya sağlık hassasiyeti durumlarında bu çok önemlidir..
Kodda Kötü: Programlama Hataları Oluyor
Programlama hataları kodlamanın başlangıcından beri gerçekleşmiştir. Kodun çeşitli alanlarda kullanımı artmaya devam ettikçe, bu eğilimin yakın zamanda ortadan kalkması beklenmiyor.
Programlama hataları için çok sayıda örnek var. Bazıları bir gibi oldukça zararsız Warcraft Dünyası böcek. Diğerleri ölümle ya gerçek (Therac-25) ya da hayal (St. Mary's) ile sonuçlanır. Bu ünlü örneklerin sizi kodlamadan caydırmasına izin vermeyin. Doğru web programlama dilini seçmek için bu kılavuzu inceleyin. Kullanılacak Doğru Web Programlama Dilini Seçin Kullanılacak Doğru Web Programlama Dilini Seçin Neden herhangi bir senaryoda belirli dilleri başkalarının üzerinde seçmelisiniz? Bu makale, hangi dili kullanacağını seçmek için programcının sorması gereken soruların bir kontrol listesini sağlayacaktır.. .
Hangi tarihsel kötü kod örneklerini hatırlıyorsunuz? Programlama hatalarını içeren seçtikleri ile aşağıda bir yorum bırakın!
Resim Kredisi: Shutterstock.com üzerinden nouskrabs ve McIek