Klávesové zkratky na tomto webu - základní­
Přeskočit hlavičku portálu


Diskuse k článku

Přestupný rok „shodil“ systém na vydávání občanských průkazů

Kvůli výpadku systému dopoledne městské a obecní úřady nevydávaly občanské průkazy a pasy. "Na vině bylo přestupné datum v kalendáři," vysvětlil mluvčí ministerstva vnitra Vladimír Řepka. Systém se rozjel krátce před 10. hodinou.

Upozornění

Litujeme, ale tato diskuse byla uzavřena a již do ní nelze vkládat nové příspěvky.
Děkujeme za pochopení.

Zobrazit příspěvky: Všechny podle vláken Všechny podle času

Pierre de Croissant

Řešil už někdo problém, že minuta nemusí mít vždy 60 vteřin?

Pro srovnání kalendářního času a astronomického času se někdy poslední minuta vroce nerovná 60 vlteřin.

0/0
1.3.2012 13:57

who_cares

o.O

Tady je zase profi programatoru. Uz to uplne vidim, jak tady ma kazdej za sebou statisice radku kodu za kterej je ochotnej dat ruku do ohne ze v nem neni chyba :-/ Ja sem dneska taky opravoval chybu v kodu, protoze se pracovalo s rozparsovanym datumem a kolegyni pred lety nenapadlo, ze to muze chrastnout na 29.2. Stane se, neni to zadna tragedie, kdyz se pri tom neztrati data a je to do hodiny opravene. I programator je jen clovek a kazdej kdo nenapsal aspon jeden slusne velkej program nema vubec sajnu o cem ta prace je.

0/0
29.2.2012 18:35

tfujpm

Re: o.O

a ten kdo napsal tak vetsinou takz ne :)

0/0
1.3.2012 16:53

Nekalý Živel

No jo, to se zase někde šetřilo

Počítám tak půl giga za zakázku a 30 mega za hosting []

0/0
29.2.2012 14:22

FandaVV

Tak kdy Kubice dá demis?

Že by odkloněné miliony do vlastní SW firmy jako u TOP Drábka?

Jen si představte to peklo, kdyby se tohle stalo v některém VV resortu - to by zas byla bubnová palba, jak jsou Veverky strašné a neschopné. Ale - kdo plní líp svůj program? ;-)

+2/0
29.2.2012 14:04

tfujpm

Re: Tak kdy Kubice dá demis?

mimochodem jak dlouho trvalo odstraneni problemu?

0/0
29.2.2012 14:38

Sir Humphrey Appleby

Re: Tak kdy Kubice dá demis?

má cenu se ptát někoho kdo do toho tahá politiku? ;)

0/0
29.2.2012 15:08

FandaVV

Re: Tak kdy Kubice dá demis?

no přece do 1/3 ;-D, resp. možná do 29/2/2016

0/0
1.3.2012 10:41

/dev/null

Co jsem četl příspěvky smějících se přispěvatelů...

, tak nikdo z nich problém nepochopil. Náš program s tím měl také problém, a s přestupnýma rokama samozřejmě počítá dobře, a dnešní den mu problém nedělalo. Problém to dělá v zadáních, kdy je potřeba vypsat data za poslední rok. A rok znamená do stejného data minulý rok, to je programově - 1 rok. A takové datum minulý rok neexistovalo, takže chyba vznikne při převodu řetězce zpátky na datum, opět v části, kterou jste nejspíše neprogramovali. Pokud tam dáte -365 dní, nebo 366 dní, tak to není přesně podle zadání, a budou vám chodit dotazy, proč je tam ještě starší záznam, nebo proč nějaké chybějí.

0/0
29.2.2012 13:38

Bouše

Re: Co jsem četl příspěvky smějících se přispěvatelů...

Myslíte, že je opravdu takový problém ošetřit v programu situaci, jestli náhodou náhodou není 29.2. a je-li, tak jenom pro tuto situaci naprogramovat samostatnou sekvenci? :-P

0/0
29.2.2012 13:43

DukatovyDuben [Compilation 2]

Re: Co jsem četl příspěvky smějících se přispěvatelů...

hm, zatim jsem nemel potrebu psat vlastni osetrovani 29.2. ... funkce at uz na db serveru nebo v prog jazyce poslouzili.

+1/0
29.2.2012 13:46

Bouše

Re: Co jsem četl příspěvky smějících se přispěvatelů...

To je jedno, mně šlo o princip, že každý problém je řešitelný a chyba je vždy na straně člověka.

0/0
29.2.2012 13:52

doktor_bota

Re: Co jsem četl příspěvky smějících se přispěvatelů...

V tomto případě je chyba důsledkem tuposti zodpovědného člověka, to není překlep nebo něco nedomyšleného. Všimni si, že podle toho šaška nahoře rok není totéž, co 365 dnů...

0/0
29.2.2012 13:54

/dev/null

Re: Co jsem četl příspěvky smějících se přispěvatelů...

Ovšem že to problém není, ale nesplníte tím zadání. Což určitě není ten hlavní důvod, proč to tam někdo napsal :). Prostě mu nedošlo, že to způsobí problém. Ještě vtipnější je, že pamětníci ve firmě si vzpomněli, že takový problém byl už před čtyřmi lety, a někdo to tehdy opravil prostě tak, že ten test na den prodloužil :D a pak to vrátil zpět.

0/0
29.2.2012 13:57

2Mac7

Re: Co jsem četl příspěvky smějících se přispěvatelů...

Jak to, že nesplním zadání ? Prostě je jen třeba si uvědomit, že ne každý rok má jen 365 dní, varianty přeci musí tvůrci programu ošetřit.

0/0
29.2.2012 15:09

/dev/null

Re: Co jsem četl příspěvky smějících se přispěvatelů...

Tady nejde o to, kolik má rok dní, ale o to, jaký den je "za rok". Dnešní den nemá přesně definovanou hodnotu za rok, nebo před rokem. Má hodnotu za 4 roky. Některá funkce vrátí stejnou hodnotu, jako včera, některá stejnou jako zítra, některá vrátí neexistující datum, ale nespadne, a některá na tom neexistujícím datu spadne, protože ho testuje. Je určitě programátorská chyba, pokud to na tom spadne, ale v tomto případě pro to vidím omluvu, protože on to naprogramoval logicky správně, a přidal k datu rok. To je přeci to, co myslíte, když řeknete, že je něco za rok. Jak byste bez dalšího vysvětlování pochopil, kdybyste si domluvil schůzku stylem: za rok, přesně ve stejný čas jako dnes. Každý jiný den to je přesné určení času, dnes je ta hodnota mimo definiční obor.

0/0
29.2.2012 16:44

2Mac7

Re: Co jsem četl příspěvky smějících se přispěvatelů...

no ale to je přesně ono, přeci vím ( pokud logicky uvažuji), že řeknu-li 29.2.2012 ode dneška za rok, že to fakt nebude 29.2.2013 :-)

0/0
1.3.2012 11:21

DukatovyDuben [Compilation 2]

Re: Co jsem četl příspěvky smějících se přispěvatelů...

mozna je pravda co se pise dole, ze to mysleli dobre, ale dira je v danem db serveru

0/0
29.2.2012 13:44

Sir Humphrey Appleby

Re: Co jsem četl příspěvky smějících se přispěvatelů...

a je opravdu problém dát tam podmínku >=  ? nemluvě o tom že pokud to v SQL počítá správně již implementovanou datovou fcí, tak mu datum 29.2. pro nepřestupné roky prostě nidky nevypadne (odzkoušeno na MS SQL i oracle). Je sice možné že je i nějaká SQL DB která si s tím neporadí, ale naštěstí jsem s takovou nikdy pracovat nemusel.

0/0
29.2.2012 13:46

DukatovyDuben [Compilation 2]

Re: Co jsem četl příspěvky smějících se přispěvatelů...

nedalo mi to tak jsem to sel take zkouset (proto ten 1.3.2011 viz nize) R^

0/0
29.2.2012 13:48

DukatovyDuben [Compilation 2]

Re: Co jsem četl příspěvky smějících se přispěvatelů...

select dateadd(year,-1,GETDATE()) -- > 28.2.

select dateadd(day,-365,GETDATE()) -- > 1.3

..PS Firebird taky nekeca

+1/0
29.2.2012 13:50

doktor_bota

Re: Co jsem četl příspěvky smějících se přispěvatelů...

To je vtip?8-o

0/0
29.2.2012 13:47

BobTheSinc

Re: Co jsem četl příspěvky smějících se přispěvatelů...

Blbost, tohle proste musi pocitat DB server a pokud tam v zadani je receno vzdycky -1 rok, tak ti to DB fce spocita at je prestupny rok, normalni rok, nebo cinskej zverokruh.... :-P:-P

+2/0
29.2.2012 13:48

Keni

Re: Co jsem četl příspěvky smějících se přispěvatelů...

A neni proste lepsi to mit jako interval: <2012-2-1 0:00:00> ,<(2012-3-1 0:00:00)-1> a pak neni potreba neco resit? Kdyz chci interval za den, tak jiz i konstantu 86400 znam zpameti. To nejaky superintelignet slozite zjistoval, kolik ma mesic dnu. A pri podmince < misto <= neni ani potreba tu vterinu odcitat.

0/0
29.2.2012 14:12

RumBum

Re: Co jsem četl příspěvky smějících se přispěvatelů...

no jo, 86400 ... a co prechod na zimni a letni cas?

0/0
29.2.2012 20:49

doktor_bota

Co to je za blbost?

To by bylo možné jen v případě, že by někdo rozložil datum na elementy, pak odečetl od roku jedničku a zase to složil, ale tohle mi přinést programátor v SQL dotazu, tak bez milosti letí.;-€

+1/0
29.2.2012 13:38

Brloch

Re: Co to je za blbost?

Řekl bych, že je to nejpravděpodobnější příčina. Někdo někam přibastlil uživatelskou funkci a nedošly mu veškeré souvislosti. MySQL, Sybase a MSsql server tuhle chybu v sobě zaručeně nemá - to mám ověřené. Nevěřím, že by jí měl Oracle, to už by byl konec světa.

0/0
29.2.2012 14:10

Jeffer

Re: Co to je za blbost?

A myslíš si, že štátna správe bude používať MySQL? Nanešťastie použité SQL od IBM túto chybu má: aktuálny dátum - 1 rok kľudne vráti 29. 2. 2011.

0/0
29.2.2012 16:21

Brloch

Re: Co to je za blbost?

Fakt jsem nevěřil, že je něco takového možné. Vždyť už je to tolikrát úspěšně vyřešené. Jestli jsem to v článku pochopil, tak ta chyba nastala také před 4 roky. To mi hlava nebere. To nemá státní správa na upgrade? Nebo má tuto chybu i nejnovější verze?

0/0
29.2.2012 16:51

DukatovyDuben [Compilation 2]

Dobre vy tam

R^;-D

0/0
29.2.2012 13:30

DukatovyDuben [Compilation 2]

Re: Dobre vy tam

takze tam maji dnes 1.3.2011 ?

+1/0
29.2.2012 13:34

BobTheSinc

Re: Dobre vy tam

;-D jooo a uz cekaji vyplatu na ucte ;-D;-DR^

0/0
29.2.2012 13:43

AstorLights

Jak vydělat co nejvíc

To se veme státní zakázka, anebo se znáte s nějakým ředitelem nějaké státní organizace, který vám ji přihraje často na palubě záoceánské lodi na Kanárských ostrovech. Pak najmete za mrzký peníz ty nejlevnější programátory, tzn. lidi co studují při škole, buď aby něco spíchli. Takoví jedinci si většinou s ničím moc hlavu nelámou, "řešení" dokážou vyplodit ve zlomku sekundy, protože jsou mladí a svět patří jim. Anebo vám přihohnou něco co už vám podobní lidé spíchli v minulosti. Předáte, podepíše se předávací protokol, a je hotovo. :-) [>-]

0/0
29.2.2012 13:20

FastDriver

Kamarádi koho

dodali tento úžasný systém???

0/0
29.2.2012 13:17

zupan

Že by nový tunel? Tentokrát "hackerský"!?

;-D

0/0
29.2.2012 13:15

gay focker

a bůhví, jak tedy

vypadá drábkův systém.:-/

0/0
29.2.2012 13:13

HonzaM7

Je vidět jací profíci program psali

Hádám že to byly studenti co toho ještě moc nenaprogramovali...

0/0
29.2.2012 13:09

tfujpm

a co treba kdyby MVCR reklo pravdu?

Tak schvalne, kdy (a jestli vubec) rekne MVCR pravdu a prizna, ze neni problem se SW na obcanky a pasy :)

0/0
29.2.2012 13:06

Jeffer

Re: a co treba kdyby MVCR reklo pravdu?

No čo, IBM má dieru v SQL. Konštrukcia "aktuálny dátum - 1 rok" funguje skvelo, až na prestupného 29. 2., no. A že je to vec evidencie obyvateľstva a nie vydávanie dokladov je už len "malý detail".

0/0
29.2.2012 13:15

tfujpm

Re: a co treba kdyby MVCR reklo pravdu?

dekuju ze aspon v diskusi nekdo rekl realny stav veci :)

jen pro dopresneni - jde o Informix, ale ten IBM koupilo uz pred drahnou dobou

0/0
29.2.2012 13:22

BobTheSinc

Re: a co treba kdyby MVCR reklo pravdu?

Tak to jsem zvedavy, mame ho v praci, jdu to na Informixu zkusit vy-selektovat.... 8-o

0/0
29.2.2012 13:44

DukatovyDuben [Compilation 2]

Re: a co treba kdyby MVCR reklo pravdu?

zkus to schvalne a dej vedet Informix nemamR^

0/0
29.2.2012 13:47

BobTheSinc

Re: a co treba kdyby MVCR reklo pravdu?

Tak tohle vraci 01.03.2011 ale to je pochopitelne:

select (date(current year to day) -365) from systables

0/0
29.2.2012 13:52

tfujpm

Re: a co treba kdyby MVCR reklo pravdu?

je to znamej problem, ale blbe osetrenej ... http://www.iiug.org/resources/faq/ifaq04a.htm.1 - bod 4.1.22

+1/0
29.2.2012 13:51

DukatovyDuben [Compilation 2]

Re: a co treba kdyby MVCR reklo pravdu?

dobre, vlastnost, kterou by programator bezne s informixem pracujici mel vedet.

0/0
29.2.2012 13:57

tfujpm

Re: a co treba kdyby MVCR reklo pravdu?

o tom zadna, ze je to chyba programatora

0/0
29.2.2012 14:07

HrubesaMares

Re: a co treba kdyby MVCR reklo pravdu?

chybka bude nejspis jinde - s timhle nemel Informix problem ani v dobach pred IBM.

IBM - It's better manually ;-)

0/0
29.2.2012 13:51

AnalProbe

Já bych všechny tyhle přestupné roky zakázal!

;-D

+3/0
29.2.2012 12:53

Rubik1

Re: Já bych všechny tyhle přestupné roky zakázal!

Na vině bylo přestupné datum v kalendáři. Takže potrestal ten datum sebráním prémií a snížením výplaty.

0/0
29.2.2012 15:29

saimons

Penize litaji

Kdyby stat zaplatil o 100 mil. vic tak by tam ta podminka urcite v kodu nekde byla ;-)

0/0
29.2.2012 12:46





Najdete na iDNES.cz