შეცდომები პროგრამირებაში ხშირად სასაცილოც კი შეიძლება იყოს

შეცდომები პროგრამირებაში | 5 სასაცილო შეცდომა

პროგრამირება არის სფერო, რომელიც მოითხოვს სიზუსტეს, ყურადღებასა და კონცენტრაციას, ამის მიუხედავად შეცდომები პროგრამირებაში ხანდახან ხდება.

 

ეს შეცდომები შემდგომ სასაცილო ამბებად იქცევა, პროგრამირება არ არის მხოლოდ მოსაწყენი რუტინული საქმიოანობა.

 

პროგრამირების ისტორიაში არაერთი მხიარული შემთხვევა მომხდარა, ეს სფერო სულაც არ არის ისეთი მშრალი და მოსაწყენი, როგორიც ზოგიერთს ეგონა! მოდით, გავეცნოთ რამდენიმე სასაცილო შემთხვევას პროგრამირების სამყაროდან.

 

სასაცილო შეცდომები პროგრამირებაში 

Y2K პრობლემა 

1999 წლის ბოლოს მთელი მსოფლიო საშინელი საფრთხის წინაშე აღმოჩნდა, მსოფლიოს მოსაძლეობა ძლიერ შიშს განიცდიდა. 

 

Y2K, ანუ “წლის 2000 პრობლემა” წარმოიშვა კომპიუტერული პროგრამების შეცდომის გამო, რომლებიც წლის აღნიშვნისთვის იყენებდნენ მხოლოდ ბოლო ორ ნიშანს. 

 

მაგალითად, 1967 წელი იყო მითითებული როგორც “67”. ეს პრაქტიკა დამკვიდრდა კომპიუტერული მეხსიერების დაზოგვის მიზნით, რადგან წლის ოთხნიშნა ფორმატი იკავებდა მეტ ადგილს.

 

პრობლემა იქამდე მივიდა, რომ 1990-იანი წლებიდან დაიწყეს საუბარი იმის შესახებ, რომ 2000 წლის დადგომისას კომპიუტერული სისტემები შეიძლება დაშლილიყო.

 

კერძოდ, კომპიუტერებს გაუჭირდებოდათ 2000 წლის ამოცნობა, რადგან “00” წლის მითითებისას ისინი ფიქრობდნენ, რომ საქმე გვქონდა 1900 წელთან.

 

ამ შეცდომას შეეძლო გამოეწვია კატასტროფულ შედეგები საბანკო სისტემებში, სამხედრო დანადგარებში, საავიაციო მიმოსვლაში და ა.შ.

 

ბოლოს და ბოლოს, 2000 წლის დადგომისას არაფერი კატასტროფული არ მომხდარა. პროგრამისტებმა წინასწარ მოახერხეს ხარვეზიანი კოდების შეცვლა და სისტემები უპრობლემოდ გადავიდა ახალ წელზე.

 

თუმცა, ამ პრობლემის მოგვარებაზე მთელმა მსოფლიომ რეალურად დახარჯა მილიარდობით დოლარი.

 

Y2K არის პროგრამირების ისტორიაში ერთ-ერთი ყველაზე გახმაურებული შემთხვევა, რომელმაც მთელი მსოფლიო შიშის ქვეშ ჩააყენა.

 

მიუხედავად იმისა, რომ საბოლოოდ უზარმაზარი თანხები დაიხარჯა უმნიშვნელო ხარვეზის გამოსასწორებლად, ეს ამბავი კარგად წარმოაჩენს კოდირების მნიშვნელობას და რამდენად სერიოზული შედეგები შეიძლება მოჰყვეს შეცდომებს პროგრამირებაში.

 

y2k funny mistake

 

ვირუსის საკუთარი სახელი 


1988 წლის 2 იანვარს, 23 წლის სტუდენტმა ფეინ რობერტ მორისმა გაავრცელა პირველი მასობრივი კომპიუტერული ვირუსი. მისი მიზანი იყო ვირუსის დანერგვა UNIX-ის ოპერაციული სისტემის მქონე კომპიუტერებში ინტერნეტის მეშვეობით.

 

მორისმა ვირუსის შექმნისას დაარქვა სახელწოდება “რვმ” (სახელი და გვარის ინიციალები). თუმცა, კოდში გაშვებული შეცდომის გამო, ვირუსი ფაქტობრივად გახდა cnobili “სტივის” სახელით.

ხშირად შეცდომები პროგრამირებაში ძალიან მარტივი მიზეზის გამო ხდება, რა მოხდა სინამდვილეში? 

 

მორისმა ვირუსის ფაილების სახელები დანიშნა “rm” და “vc”, რაც ნიშნავდა “Robert Morris” და “Virus Creator”. თუმცა UNIX-ის ოპერაციულმა სისტემამ ეს ორი სახელი ერთად ვერ წაიკითხა, მას ამის უნარი არ ქონდა.

 

ამიტომ აირჩია მხოლოდ პირველი – “rm”, რომელსაც მიუსადაგა ნაწილი მეორე სახელიდან და საბოლოოდ ფაილის სახელი გახდა “r(m)v(c)” ანუ “რმვირუსისსახელი” ან უბრალოდ “სტივი”.

 

ვირუსმა პანიკა გამოიწვია და დააზარალა აქტიური კომპიუტერული სისტემები მსოფლიოს სხვადასხვა კუთხეში.

 

სამხედრო, კვლევითი, საუნივერსიტეტო და საბანკო სისტემები დაინფიცირდა. რამდენიმე დღეში “სტივიმ” დაახლოებით 6000 კომპიუტერი დაინფიცირა.

 

მისი შეჩერებისთვის საჭირო გახდა არაერთი დღე და მილიონობით დოლარის დახარჯვა.

 

მორისი დააპატიმრეს და მას ჯარიმა დაეკისრა, თუმცა შემდგომში იგი გახდა კომპიუტერული უსაფრთხოებისა და კრიპტოგრაფიის სპეციალისტი.

 

მისი შეცდომები პროგრამირებაში კი დიდხანს რჩება კურიოზად პროგრამირების ისტორიაში, როგორც უბრალო აღრევის სასაცილო შედეგი.

 

შეცდომები პროგრამირებაში გვასწავლის რომ ყურადღება მნიშვნელოვანია

 

Amazon-ის საშობაო ფრენა

1994 წელს, Amazon-მა მიიღო გადაწყვეტილება შეეცვალა თავისი ვებგვერდის დიზაინი. სწორედ ამ პერიოდში ერთ-ერთმა Amazon-ის თანამშრომელმა, ინჟინერმა ერიკ ნაილმა დაიწყო პროექტზე მუშაობა.

 

ერიკმა საიტზე კოდირების დროს გადაწყვიტა შეემუშავებინა ახალი ტექსტი, რომელიც გამოჩნდებოდა მომხმარებლების შენაძენების გაფორმების შემდეგ.

 

ეს ტექსტი უნდა ყოფილიყო უბრალოდ სატესტო ფრაზა კოდის გამართვისთვის. სწორედ ამ დროს ერიკმა შემთხვევით ჩაწერა ტექსტი: “ფრენა ჩამოვიდა!”.

 

რა თქმა უნდა, ერიკი აპირებდა ამ დროებითი ტექსტის შემდგომ შეცვლას. თუმცა შეცდომის გამო, მან ეს ფრაზა დატოვა მთავარ კოდშიც. როდესაც განახლდა Amazon-ის ახალი ვებგვერდი, ყველა კლიენტს, რომელიც რაიმეს ყიდულობდა, ეს უცნაური გზავნილი ელოდა – “ფრენა ჩამოვიდა!”.

 

წარმოიდგინეთ, რა სასაცილო და გაურკვეველი იყო ასეთი შეტყობინების მიღება შენაძენის შემდეგ! არადა, ეს უბრალოდ ერთი პროგრამისტის უყურადღებობის შედეგი იყო. 

 

ეს ამბავი კარგად წარმოაჩენს, თუ რამდენად ყურადღებით უნდა მუშაობდნენ პროგრამისტები კოდზე და არ უნდა დაუშვან მსგავსი შემთხვევითი შეცდომები.

 

ამავდროულად, ეს შემთხვევაც ერთ-ერთი მაგალითია იმისა, რომ პროგრამულ ინჟინერიაშიც ხდება კურიოზული ფაქტები, რომლებსაც მერე ყველა სიცილიტ იხსენებს, შეცდომები პროგრამირებაში ზოგჯერ უბრალოდ ძალიან სასაცილოა.

 

amazon christmas fly mistake

 

Microsoft Word-ის ანდერძი 

Microsoft Word-ის ე.წ. “ანდერძის” შემთხვევა ნამდვილად უნიკალური და სასაცილო კურიოზია პროგრამირების სფეროში.

 

მსგავსი შეცდომები პროგრამირებაში გვიჩვენებს, რომ პროგრამულმა შეცდომებმა ზოგჯერ შეიძლება მიგვიყვანოს სრულიად გაუთვალისწინებელ და მოულოდნელ შედეგებამდე.

 

2014 წლის ზაფხულში, Microsoft Word-ის ახალი განახლება გამოვიდა, რომელმაც პრობლემები შექმნა მსოფლიოს მასშტაბით. 

 

კერძოდ, Microsoft-ის გუნდმა დოკუმენტის ფორმატირების ფუნქციებზე მუშაობისას, შეცდომით დოკუმენტების მხოლოდ ნაწილში კი არა, ყველა ახალ Word-ის ფაილში ჩადო წინასწარ მომზადებული სატესტო ტექსტი.

 

ეს სატესტო ტექსტი ასე გამოიყურებოდა:

 

“თუ ამას კითხულობთ, ეს იმას ნიშნავს, რომ მე გარდავიცვალე! ყველაფერი, რაც ბოლომდე მქონდა გადასარჩენი, გადაურჩა…”

 

ეს აბსურდული სიტყვები უეცრად გამოჩნდა Word-ის ახალ დოკუმენტებში ყველა მომხმარებლისთვის, რამაც გარკვეული გაურკვევლობა და კურიოზული სიტუაციები შექმნა.

 

“ანდერძის” შემთხვევა დღემდე რჩება ერთ-ერთ ყველაზე ცნობილ კურიოზად Microsoft-ის ისტორიაში, რომელიც გვახსენებს, რომ პროგრამირებისას სიფრთხილე აუცილებელია, პატარა შეცდომები პროგრამირებაში გლობალური შედეგების მომტანი შეიძლება იყოს.

 

Microsoft-ს ეს შეცდომები პროგრამირებაში დღეს სასაცილოდ გვეჩვენება

 

FedWire-ის 100 მილიონი კრახი

1994 წლის 26 აპრილს, ამერიკის ფედერალური სარეზერვო სისტემის ერთ-ერთ ფილიალში, რიჩმონდში, კომპიუტერული შეცდომა მოხდა, რამაც შეაფერხა FedWire-ის ელექტრონული გადარიცხვების სისტემა.

 

FedWire არის აშშ-ის ცენტრალური საბანკო სისტემა, რომლის მეშვეობითაც ხდება თანხების გადარიცხვა ქვეყნის მასშტაბით, სხვადასხვა ბანკებსა და ფინანსურ ინსტიტუტებს შორის.

 

შეცდომის მიზეზი გახდა პროგრამული ბაგი. ამ ბაგის გამო, FedWire-ის სისტემაში გაჩნდა უამრავი გადახრა, დუბლიკატები და წინააღმდეგობები კომპიუტერულ მონაცემებში.

 

საბოლოოდ ეს შეცდომა იმდენად სერიოზული გახდა, რომ FedWire-ის მთელმა სისტემამ შეწყვიტა მუშაობა და საბანკო გადარიცხვები შეფერხდა აშშ-ის მასშტაბით.

 

ყველაფერი დაახლოებით 90 წუთის განმავლობაში გაგრძელდა, რის შემდეგაც პრობლემის წყარო იქნა ლოკალიზებული და სისტემა გადაიტვირთა.

 

თუმცა ამ პერიოდში, დაახლოებით $315 მილიარდის ტრანზაქციები შეფერხდა და გადაიდო. აშშ-ის ბანკებმა საბოლოოდ დაახლოებით $100 მილიონის ზარალი მიიღეს ამ შეფერხებების გამო.

 

FedWire-ის ინციდენტმა კიდევ ერთხელ აჩვენა, თუ რამდენად სერიოზული და ძვირადღირებული შეიძლება იყოს უბრალო შეცდომები პროგრამირებაში.

 

პროგრამისტებმა თავიანთი გამოცდილებიდან გააკეთეს დასკვნები და უფრო მეტი სიფრთხილე გამოიჩინეს კოდირებისას.

 

ეს შემთხვევები კიდევ ერთხელ გვაჩვენებს, რომ პროგრამირება სრულიად არ არის მშრალი და სერიოზული საქმიანობა.

 

ხშირად კოდირების დროს ხდება გაუთვალისწინებელი შეცდომები, რომლებიც სასაცილო სიტუაციებს ქმნის.

 

funny mistakes in FedWire company

 

ეს არის პროგრამისტების ყოველდღიურობის ნაწილი და ზოგჯერ გარდაუვალიც კი.

 

მთავარია, შეცდომებს დროულად გამოასწორონ და შემდეგ სიცილით გაიხსენონ მომხდარი კურიოზები.

 

 

სარჩევი

მოგვწერეთ

ციფრული მარკეტინგის კურსზე რეგისტრაცია

შეავსე ფორმა და ჩვენი წარმომადგენელი დაგიკავშირდება 

რობოტიკის კურსზე რეგისტრაცია

შეავსე ფორმა და ჩვენი წარმომადგენელი დაგიკავშირდება 

ციფრული დიზაინის კურსზე რეგისტრაცია

შეავსე ფორმა და ჩვენი წარმომადგენელი დაგიკავშირდება 

კომპიუტერული მეცნიერების კურსზე რეგისტრაცია

შეავსე ფორმა და ჩვენი წარმომადგენელი დაგიკავშირდება

ᲦᲘᲐ ᲙᲐᲠᲘᲡ ᲓᲦᲔ

ციფრული მარკეტინგის ღია კარის დღეზე დასასწრებლად შეავსე სარეგისტრაციო ფორმა.