Discovery znanje
/ Knowledge Discovery >> Discovery znanje >> tech >> računalnik >> računalniška varnost >>

Kako Problem Leto 2000 Worked

rogram misli, da je današnji datum 1/1/00 in tvoj rojstni dan 1/1/65, potem lahko izračunamo, da ste stari -65 let namesto 35 let. Kot rezultat, datum izračuni dajejo napačne izhodne in programske zruši ali daje napačne rezultate.

Važno, da priznajo, da to je to. Da je celotno leto 2000 problem. Veliko programerjev uporablja 2-mestno format za leto v svojih programih, in kot rezultat njihovega datuma izračuni ne bo prineslo prave odgovore na 1/1/2000. Nič ni več kot to.

Rešitev je očitno, da se določi programe tako, da deluje pravilno. Obstaja nekaj standardnih raztopin:

  • zakodirati programske opreme, tako da se razume, da leti kot 00, 01, 02, itd resnici pomeni 2000, 2001, 2002, itd
  • " Resnično odpravite težavo " s pomočjo 4-mestno ograde za let in recoding vse programske opreme za spopadanje s 4-mestno datumov. [Zanimiva misel vprašanje - zakaj uporabljati 4 cifre za leto? Zakaj ne uporabljate 5 ali celo 6? Ker večina ljudi domneva, da se bo nihče uporabo te programske opreme 8.000 let od sedaj, in da se zdi, kot razumno predpostavko. Sedaj lahko vidite, kako smo se dobili v problem Y2K ...]

    Vsaka od teh popravkov je enostavno narediti na konceptualni ravni - greš v kodo, najdete vsak izračun datuma in spremembo jim za pravilno ravnanje stvari. To je samo, da obstaja na milijone krajev v programski opremi, ki jih je treba določiti, in vsak popravek je treba storiti z roko in nato testiramo. Na primer, lahko zavarovalnica ima 20 ali 30 milijonov vrstic kode, ki opravlja svoje izračune zavarovanja. Znotraj kodo lahko pride do 100.000 ali 200.000 datum izračuni. Glede na to, kako je bila napisana koda, je mogoče, da imajo programerji, da gredo na roko in spreminjanje vsako točko v programu, ki uporablja datum. Potem morajo preskusiti vsako spremembo. Testiranje je najtežji del v večini primerov -. To lahko traja veliko časa

    Če ugotovimo, da traja en dan narediti in preizkusiti vsako spremembo, in tam je 100.000 sprememb, da bi, in oseba, ki deluje 200 dni na leto, potem to pomeni, da bo 500 ljudi na leto, da bi vse spremembe. Če ste tudi ugotovimo, da večina podjetij nimajo 500 idle programerji poseda za eno leto, da to storite, in so morali iti najeti tiste ljudi, ki jih lahko vidite, zakaj se lahko to postane precej drago problem. Če ugotovimo, da je programer stane nekaj podobnega $ 150.000 na leto (ko boste vključili vse kot plače programer, koristi, pisarniške prostore, opremo, upravlja

    Page [1] [2] [3] [4] [5]