neprihlásený Nedeľa, 24. novembra 2024, dnes má meniny Emília
Softvér nezvládol dátum 29. február, veľké letisko neposlalo tisíc batožín

Značky: programovaniezaujímavostiNemecko

DSL.sk, 1.3.2016


Na veľkom nemeckom letisku v Düsseldorf prišlo v pondelok ku kurióznej situácii, keď softvér pre manažment batožiny nezvládol dátum 29. február prítomný len v priestupnom roku.

Upozornili na to noviny Rheinische Post.

"Systém nerozoznal 29. február v kritériu triedenia," uviedlo letisku v stanovisku.

V dôsledku chyby zostalo podľa novín v raňajších hodinách na letisku v Düsseldorfe namiesto jej poslania do destinácie cestujúceho 1200 kusov batožiny, ktorá sa následne postupne začala odosielať.

Počas problémov batožinu začali triediť manuálne a približne na poludnie bol problém odstránený aktualizáciou softvéru. Letisko v Düsseldorfe denne vybaví medzi 25 až 50 tisíc kusov batožiny.

Rozličný softvér máva často problémy so spracovaním dátumu a času, kvôli viacerým výnimkám alebo nevhodnosti formátov dát na dlhšie časové obdobie. Problémy vznikajúce kvôli dátumu 29. február sú ale pomerne zriedkavé, keď sa tento dátum vyskytuje pravidelne každý štvrtý rok. Najvážnejšie problémy v poslednom období spôsobila nepravidelne pridávaná tzv. skoková sekunda, kvôli ktorej na prelome júna a júla v rokoch 2012 aj 2015 skolabovali viaceré systémy.


      Zdieľaj na Twitteri



Najnovšie články:

Japonci uviedli ethernetový kábel s magnetickým konektorom
Starship by mohla za najbližšie štyri roky uskutočniť až 400 štartov
Protimonopolný úrad začal prešetrovať, prečo v SR nie sú skutoční virtuálni mobilní operátori
Nový trailer filmu Minecraft
Linux v ďalšej verzii vyradí súborový systém Reiser
Odštartovaná výroba flash pamäte s 321 vrstvami
Apple má prvýkrát použiť vlastný 5G modem v iPhone v marci
Linux dostáva podporu veľkokapacitných pamäťových SDUC kariet
USA požadujú, aby Google predal Chrome a potenciálne aj Android
ISS zvýšila orbitu, aby sa vyhla troskám zo satelitu


Diskusia:
                               
 

kdepak ti soudruzi z NDR udelali chybu
Odpovedať Známka: 8.5 Hodnotiť:
 

Ja si to neviem predstavit, ako sa da naprogramovat takato chyba?

if ($date == '29. februar')
{
#echo 'Sa mi neda vycentrovat!';
echo 'Sa mi neda ziskat datum!';
}
Odpovedať Známka: 7.6 Hodnotiť:
 

$days_in_months = [
0 => 31, 1 => 28, 2 => 31, 3 => 30,
4 => 31, 5 => 30, 6 => 31, 7 => 31,
8 => 30, 9 => 31, 10 => 30, 11 => 31
];
Odpovedať Známka: 8.6 Hodnotiť:
 

december uz zrusili?
Odpovedať Známka: -4.4 Hodnotiť:
 

select case mesiac
when 0 then 'Januar'
when 1 then 'Februar'
when 2 then 'Marec'
when 3 then 'April'
when 4 then 'Maj'
when 5 then 'Jun'
when 6 then 'Jul'
when 7 then 'August'
when 8 then 'September'
when 9 then 'Oktober'
when 10 then 'November'
when 11 then 'December'
end
Odpovedať Známka: 10.0 Hodnotiť:
 

A z čoho "selectíš"? [Oracle]
Odpovedať Známka: 2.0 Hodnotiť:
 

Ty indexujes od jednotky?
Odpovedať Známka: 7.6 Hodnotiť:
 

Každý programátor predsa vie, že nulu už inde nie je možné ušetriť.
Odpovedať Známka: 1.4 Hodnotiť:
 

on jednotkuje do indexu!
Odpovedať Známka: 8.8 Hodnotiť:
 

... programator mal svoje dni a pouzil lunarny kalendar ?
Odpovedať Známka: 8.3 Hodnotiť:
 

To bude asi preto, že tam programatori hulia vela travy.
Odpovedať Známka: 0.5 Hodnotiť:
 

to bude tym, ze jej hulia malo
Odpovedať Známka: 8.0 Hodnotiť:
 

To bude tym ze trava huli programatorov.
Odpovedať Hodnotiť:
 

To bude tym ze si vela hulia navzajom
Odpovedať Známka: 10.0 Hodnotiť:
 

konečne správna odpoveď :-)
Odpovedať Hodnotiť:
 

29. február sa nevyskytuje pravidelne každý štvrtý rok.
Odpovedať Známka: 7.6 Hodnotiť:
 

v podstate, pre laikov to staci, inak je to exaktne takto:

A) ak je letopocet delitelny 4, rok JE priestupny

B) ak je ale letopocet delitelny 100, rok NIE JE priestupny, preto napr. roky 1700, 1800, 1900 neboli priestupne napriek pravidlu A

C) ak je ale letopocet delitelny 400, rok JE priestupny, preto napr. roky 1600, 2000 boli priestupne napriek pravidlu B

takato situaia sa ale nablizsich 84 rokov nevyskytne a bohato si vystacime s pravidlom A) takze ozaj nechapem tu poruchu, je to tak tazke: kazdy 4. rok je 29.2.
Odpovedať Známka: 7.5 Hodnotiť:
 

83
Odpovedať Známka: 7.8 Hodnotiť:
 

a co v pripade ze je rok delitelny 100 a nie je deliteny 400? toto tvoj algoritmus neriesi
Odpovedať Známka: -8.8 Hodnotiť:
 

riesi, je to pripad B)
Odpovedať Známka: 10.0 Hodnotiť:
 

Nic neriesi! Pjetro to na cele zle. Skus si to prepisat, tak ako to ma napisane, do nejakeho programovacieho jazyka a uvidis, aka je to katastrofa! A on si este dovoli napisat, ze EXAKTNE. Teraz fakt neviem, ci sa mam valat od smiechu, alebo si ist do lekarne po antidepresiva.
Odpovedať Známka: -6.7 Hodnotiť:
 

Vysaď lieky
Odpovedať Známka: 10.0 Hodnotiť:
 

Na druhej strane je pri hodnotení vhodné brať do úvahy schopnosť dokonalého poznania správneho postupu, nakoľko dokázať mať všetko zle vyžaduje dôsledné zakomponovanie interpretácie takejto znalosti vo výslednej formulácii, čím umožňuje následnú realizáciu dosiahnutia alternatívy exaktne opačného významu, ktorej tvorí podstatnú časť.
Odpovedať Známka: 6.0 Hodnotiť:
 

"Na druhej strane je pri hodnotení vhodné brať do úvahy schopnosť dokonalého poznania"

Potiaľto som to prečítal a potom som si povedal počkať, pozriem na meno diskutéra, no jasné zase on... Myslím, že nie je nutné dodať, že ďaľej som nečítal.
Odpovedať Hodnotiť:
 

kopla ťa múza, vieme...
ale prečo do hlavy???
Odpovedať Hodnotiť:
 

heeeeeeeeeeeee? si mal tazky uraz hlavy?

if rok mod4=0 and rok mod100:=0 and rok mod400=0, rok je priestupny
Odpovedať Známka: 3.3 Hodnotiť:
 

to sa pytas mna?
Mas v tej slovnej specifikacii niekde?:
if A) and B) and C) then priestupny

nie, ty tam mas:
if f rok mod 4=0 potom priestupny
if rok mod 100=0 potom nepriestupny
if rok mod 400=0 potom priestupny
Kto z nas spadol na hlavu?
Zvysok dalej, v dalsich reakciach
Odpovedať Hodnotiť:
 

leap = false;
if(YYYY %% 4 == 0) leap = true;
if(YYYY %% 100 == 0) leap = false;
if(YYYY %% 400 == 0) leap = true;

Co sa Ti na tom nezda?
Odpovedať Známka: 10.0 Hodnotiť:
 

Okrem nemožnosti využitia viacerých jadier a hyperthreadingu je odporná optimalizácia pre jednovláknové spracovanie skutočne nepriehľadnuteľná.
Odpovedať Známka: 5.0 Hodnotiť:
 

Ja netvrdim, ze je to optimalne, ale ten typek tvrdi, ze dany algoritmus vobec nefunguje a ze je to "cele zle".
Odpovedať Známka: 10.0 Hodnotiť:
 

Na tom, co si napisal sa mi pozdava vsetko. Akurat, to, co si napisal, nezodpoveda tomu, co obkecal Pjetro.

Ty si totiz napisal, v prvom if-e MOZNO je priestupny. Pjetro napisal JE, dokonca velkymi pismenami. Keby si nevedel co riesi, ale mal pred sebou jeho slovnu specifikaciu, tak na 99,9999% napises:

if(YYYY % 4 == 0) return(leap); lebo povedal, ze JE priestupny.

Este povedz, ze prkotina. Ale taka bola asi aj na letisku :(
Mimochodom, ak dobre pozeram, uplne stacilo prehodit podmienky C) B) A) a bolo by to v poriadku :)
Odpovedať Hodnotiť:
 

Z hľadiska architektúry sw je v softvéri na triedenie batožín na letisku( čo je principiálne real-time aplikácia), samotné vytvorenie závislosti na čase/dátume objektívne primárnym zdrojom chyby a žiadne poradie podmienok na tom nič nemení.
Odpovedať Hodnotiť:
 

Spravne vysvetlenie pravidiel priestupneho roku.
Ja zase ponuknem mozne vysvetlenie tejto chyby.
Ak pouzivaju vo svojom softveri sifrovanie a certifikat si generuju dynamicky, mohlo dojst k tomu, ze pri generovani operovali s datumom ako s cislom, nie ako s datumom.
A preto, platnost certifikatu od 29.2.2016 + 10 rokov mohla vyjst do 29.2.2026, co nie je platny datum, kedze rok 2026 nebude priestupny a certifikat sa odmietol vytvorit, tym padom cela nasledna sifrovana komunikacia zlyhala.
Odpovedať Známka: 2.5 Hodnotiť:
 

lebo pracovat s datumom ako cislom je sakramentsky dobry napad.. :facepalm:
Odpovedať Známka: 7.5 Hodnotiť:
 

u nas vo firme sa s nim pracuje ako so Stringom :D
Odpovedať Známka: 4.5 Hodnotiť:
 

Takze ked chces pridat jeden den, tak "May 26" + "1" vyjde "May 261"? :D
Odpovedať Známka: 8.2 Hodnotiť:
 

A potom sa im zrazu zacnu kufre v kancli hromadit
Odpovedať Známka: 10.0 Hodnotiť:
 

brat datum ako cislo je sprostost, preto existuje udajovy typ datum/cas, cislo, string, boolean ....
Odpovedať Známka: 10.0 Hodnotiť:
 

Samozrejme, ja netvrdim, ze to je spravny sposob. Ja som len napisal situaciu, pri ktorej sa to mohlo stat.
Odpovedať Hodnotiť:
 

Tak pokial programujes tak, ako si to napisal, a ti progamatari su tvoji spoluziaci, tak necudo, ze sa deju take chyby :)
Odpovedať Známka: -6.0 Hodnotiť:
 

to nic nieje, ale MS ma chybu v outlooku 2016 (KB3145116), kde po zakliknuti nechavat spravy na serveri a nemazat spravy robi presny opak + prijima viackrat ten isty mail....
Odpovedať Známka: 7.5 Hodnotiť:
 

No a? Co si cakal...?
Odpovedať Známka: 6.4 Hodnotiť:
 

Aspon nemas pocit, ze ta svet ignoruje - stale ti nieco pisu! :)
Odpovedať Známka: 10.0 Hodnotiť:
 

!...to sa nam posledne 3 roky este nestalo"
Odpovedať Známka: 10.0 Hodnotiť:
 

Takato chyba sa stane maximalne 3 krat za deset let :)
Odpovedať Známka: 3.3 Hodnotiť:
 

no toto som este nevideu...
Odpovedať Hodnotiť:
 

Ani si nemohol, lebo hodiny sa zajebane cele, to sa neda ani odpisuvat!
Odpovedať Hodnotiť:
 

y29k ?
Odpovedať Známka: -4.3 Hodnotiť:
 

blbost, skor m29y4
y = yaer, jaky year?, to je kazde 4 year
29k? coho je jakoze 29000? sak ani nerozmyslas nad skratkami

y2k = v doslovnej interpretacii akronymu "rok 2000"
Odpovedať Známka: -2.0 Hodnotiť:
 

ked uz tak skor d29m3y4
Odpovedať Známka: -6.0 Hodnotiť:
 

pardon d29m2y4 samozrejme, uz som z toho sam dopletemy
Odpovedať Známka: 10.0 Hodnotiť:
 

A takto nejak sú dopletení aj "inžinieri" čo v tých kadejakých firmách programujú...
Odpovedať Známka: 10.0 Hodnotiť:
 

Najmä pokiaľ je prípadná snaha o súvzťažnosť k nomenklatúre y2k korektne interpretovateľná d1m3y4.
Odpovedať Hodnotiť:
 

Páni len nesmiete zabudat na fakt,ze tu ste na vysoko technicky zameranom portaly kde terminus ako recesia alebo sranda su priam nevyhnutne.Rovnako ako pravopis :-))
Odpovedať Známka: 8.0 Hodnotiť:
 

Niektorí preto používame aj tak dobre osvedčený ľavopis.
Odpovedať Hodnotiť:
 

A niektori (co je este viac profi) pouzivaju Arch
Odpovedať Známka: 10.0 Hodnotiť:
 

"inzinieri" ? Ked si spomeniem, aky som ja inzinier, normalne sa bojim ist doktorovi :-)
Odpovedať Známka: 5.0 Hodnotiť:
 

predtym ich vela vystudovalo za vajcia, husy, kacky, palenky
Odpovedať Hodnotiť:
 

Hej, myslíš?
Preto si pivný alkoholik???


Odpovedať Hodnotiť:
 

Ja som to najprv pochopil trošku inak.Hm,vyštudovať sa za vajce :) A čo tak človek vyštudovaný za "vajce" robí?Čaká,že ho niekto vysedí?Alebo zje ako praženicu?
Odpovedať Známka: 10.0 Hodnotiť:
 

kud uz tak skuor d29m2y*/4
Odpovedať Hodnotiť:
 

A teraz 3x hura pre vsetkych programatorov, ktori nikdy nespravili bug v produkcii.
Oh, it's not a bug, it's a FEATURE! :)
Odpovedať Známka: 10.0 Hodnotiť:
 

Počkaj, idem po V3S-ku...
Odpovedať Hodnotiť:
 

to nemusi by problem konkretneho SW, ale moze to byt problem prekladaca v ktorom je SW napisany. obycajne sa akt.posledny den(alebo posledny den v mesiaci) necha vratit prekladacom: 20160301 - 1 = akt.posledny den v mesiaci. aspon ja to tak robim.

ak by nasledne prekladac vratil 20160228 a nasledne porovnanie if datumzisteny = sy-datum. nevratilo sucasnost, nastala by chyba s ktorou sa jednoducho pocitat neda.
Odpovedať Hodnotiť:
 

Uff, porad, prosim, ktory prekladac z 20160301 - 1 urobi 20160228 alebo 20160229? Ja som si doteraz myslel, ze na vypocet datumov su specialne kniznice. Ale uznavam, nemozem poznat vsetky prekladace.
Odpovedať Hodnotiť:
 

ja by som tie februáre zrušila
Odpovedať Hodnotiť:
 

na Duesseldorf som expert, lebo raz som tam mosel nocovat na lavicke. tam uz vtedy najprv rozbili ten vlak, kery im nechodil, ten co je to v lufte zaveseny, chodili autobusy, potom im rozbili otvaranie dveri, to tiez bolo riadene softwarom a blblo to, ze ked si prisol, tak ci to dvere zabuchlo pred nosom a ked si sa otocil, tak ich otvorilo. to ludi dost sralo, lebo to vyzeralo, ako keby si z nich niekdo robil srandu a volade je schovana kamera.
na tom letisku ma neprekvapi fakt nist. este vaecsia katastrofa je berlin BER.
Odpovedať Známka: 3.3 Hodnotiť:

Pridať komentár