226
Studium a uplatnění / Re:Hledám knihy: Myslíme v C++ a v Javě
« kdy: 17. 09. 2019, 14:42:19 »Vecko sa da otestovat.Třeba souběh (race condition) se otestovat moc nedá.
Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.
Vecko sa da otestovat.Třeba souběh (race condition) se otestovat moc nedá.
Taky mě to zarazilo. Nevím, jak se může osvědčit kód, co se skoro nedostane k lizu. Taky je možné, že zatím jenom nevybouchl.Mně se ten všežravý catch blok osvědčil. Nejspíš proto, že se do něj skoro nic nedostane,...Ta věta nedává smysl. Tak osvědčil se ti ten všežravý catch, nebo ho nevyužíváš? Nemůžeš oboje najednou.
Dělám vše pro to, aby se mi v něm nic neobjevilo, ale je tam. Mohu oboje najednou. Nemohu však za to, že ti to nedává smysl.
Naopak. Teď to teprve dává všechno smysl. Pokud uvažuješ v duchu té věty, tak je to jasné. Pak je možné úplně cokoliv.
Podle mých zkušeností je kód, do kterého se skoro nic nedostane, časovaná bomba plná bugů, které nikoho ani nenapadlo testovat.
O kterém jazyce je teď řeč? Třeba Java AFAIK destruktory nemá. A soubory se v ní musí uklízet ručně, aby nezůstávaly viset než se GC probere.Já o schopnostech GC pochybnosti mám. Protože to, co je opravdu třeba uklidit rychle je právě "nepaměťový" binec. Soubory, sockety a další takové věci. Když po chycení chyby zůstane (potenciálně dost dlouho) viset zamčený soubor nebo otevřený socket, tak to není úplně OK.
Soubory, sockety a další alokované prostředky neřeší GC, ale destruktory, které se aktivují ihned po zrušení deskriptoru na objekt. GC se aktivuje až když dochází volná paměť. Takhle to funguje alespoň ve slušně napsaných jazycích.
Nesmí se také zapomínat na zotavení z výjimek. Když ho uděláš v main loopu aplikace, tak ti nespadne, ale přejde do nějakého výchozího stavu. Je to taková poslední záchrana. Samozřejmě musíš vše řádně zalogovat, což obvykle není problém.No tak nějaký všežravý catch blok v main loopu je zrovna dost pochybný obrat. Ok, chytnu v něm nějakou nečekanou výjimku. Je pravděpodobně nečekaná, protože očekávanou bych chytl nějakým cíleným catchem. Nevím o ní nic, takže ji můžu akorát tak zalogovat. Co vím o stavu programu? Akorát to, že se mi nečekaně přerušil nějaký kus kódu před dokončením. Co vím o invariantech? Ta výjimka byla nečekaná, takže klidně mohla vyletět v momentě, kdy byly invarianty rozbité.
Chtělo by to něco do syntaxe, kterou by se dalo jasně specifikovat jaké výjimky to může házet. Skutečnost v Javě, kdy musíš definovat co ti to vrátí za výsledek, ale nemusíš definovat co ti to háže za výjimky mi přijde takové nekonzistentní.Snaha byla. V c++ se může u funkce specifikovat throws(...), v Javě jsou checked exceptions. C# měl ty checked exceptions taky, ale vyhodil je. V javě se od nich pokud vím taky upouští. A v c++ to byl taky fail.
Tak to máme s výjimkami opačné zkušenosti. Neošetřené výjimky se mi krásně ozývají už v testech a vzhledem k tomu, že mají společného rodiče, vím přesně co může házet. V C++ je to jinak - výjimky mohou být jakéhokoli typu a proto je v tom bordel, který popisuješ. O schopnostech GC nemám pochybnosti.Jak mi bázová třída pomůže v tom poznat, jestli nějaká funkce může házet nebo ne? A ta javovská Exception je tak generická, že vím přesně akorát to, že to zvládnu zalogovat. Do teď jsem měl pocit, že se bavíme o primárně produkci. Pokud mám nějakou situaci pokrytou testy, tak mi chytí i zapomenutý test na návratovou hodnotu. Ale ty zapomenuté situace už z principu těmi testy moc pokryté nebývají.
Výjimečné chyby ošetříš o pár pater výš a vhledem k jednotnému rozhraní v tom nevidím žádný problém. Granularitu lze kdykoli zjemnit odchycením výjimky a uložením do stacku nové výjimky na vyšším levelu. Tím si zdroj výjimky krásně vytrasuješ.Jednotné rozhraní čeho? Neznámou Exception můžu akorát tak převést na neznámý řetězec, ten zalogovat a pak zdechnout. To už můžu zavolat při jakékoliv chybě rovnou abort. V tom crashdumpu ten callstack dostanu taky.
Teoreticky jo. Ale v praxi jsou ty testy kapku míň spolehlivé. Testuje se to, co někoho napadne, nebo co už se jednou vymamlasilo. Na nečekané chyby testy nejsou.
Když upravíš jen kód nebo ošetření výjimek, tak tě na to testy hned upozorní. Toho bych se nebál.
Když místo výjimek použiješ návratovou hodnotu, tak musíš použít kolem ní dost bižuterie, aby se ti hodnoty nepomíchaly s chybovými stavy, takže se ceny vyrovnají. Výjimky jsou však výrazně přehlednější, protože jejich ošetření se nachází mimo výkonný kód.Když neošetříš výjimku, tak se zas tak moc neozve. V lepším případě to v runtime komplet zdechne. V horším případě cestou nahoru rozbije nějaký ten invariant a chytně ji nějaký obecný catch blok.
A jako vždy: když neošetříš výjimku, tak se sama ozve. Neošetřený návratový kód bude zticha.
Jo, těch 16h jsem přehlídl. Ale i tak ta maximální možná mezera nebudou 4h ale bude se blížit osmi.Není nejhorší varianta spíš 5x1h s minimálními pauzami a pak dlouho nic? Takže ta baterie musí v nejhorším případě zvládnout 19h*300W.Mame v kanclu boiler + elektricke topeni a historicky sazbu D35d od PRE. Cely RACK s IT vecmi zere nonstop cca 300W. UPS (2200kVA) ma masivni vyvod na externi baterii (uvnitr jsou jen dve male). Napadlo me poridit nejakou vetsi externi baterii a usetrit za eletrinu tim, ze UPS napojime na vetev se zlevnenou sazbou garantovanou 16 hodin denne, mimo tento cas by cely RACK bezel z baterky.
Prvni otazka je zda se to vubec vyplati s ohledem na zivotnost baterek. Dalsi otazka je jak pripadne spocitat kapacitu pridavne baterky protoze PRE u tohoto tarifu negarantuje rozlozeni "mezer" v case behem dne. Jedine co garantuje je minimalne 5 zapnuti denne o delce minimalne 1 hodina.
Pripadne jsem koukal ze tento tarif uz nenabizeji a misto neho nabizeji jiny co bezi 20 hod. denne, ale pocitam ze bude mene vyhodny.
Mate nekdo s necim takovym zkusenosti?
pocitejte s nejhorsi variantou, 5x denne po 1 hodine tj. mezera mezi intervaly je 4 hodiny.
takze potrebujete baterii,, ktera vydrzi 4 hodky zasobovat 300W tj. 1200 Wh.
baterie jsou vetsinou 12 V, tj. 1200 Wh / 12 V = 1000 Ah.
autobaterie ma asi 80 Ah, takze odhaduju 10 baterii.
Celkovy cas zlevnene sazby je 16h (z kazdych 24), tech 5×1h se tyka minimalniho poctu a delky useku kdy bude kontinualne pouzita zvyhodnena sazba, neco jako ze celych tech 16h nebude rozsekano do malych casovych useku a zapnuto kdykoliv bude PRE citit ze ma na linkach rezervy. Proc to je nevim, mozna kvuli akumulackam...
Nic proti, ale označit něco jako archaismus taky není argument.Co sis šlehnul?Už nejsme ve 20. století. Tyto archaismy do moderního programování nepatří.Jak to tedy uděláš, když ten chybový stav nesmíš předat returnem ani parametry nesmíš předávat odkazem?Jenže ty ho můžeš vrátit a parametry lze samozřejmě předávat odkazem.
Snad ti nedošly argumenty, žes vytáhl podpásovku?
Není nejhorší varianta spíš 5x1h s minimálními pauzami a pak dlouho nic? Takže ta baterie musí v nejhorším případě zvládnout 19h*300W.Mame v kanclu boiler + elektricke topeni a historicky sazbu D35d od PRE. Cely RACK s IT vecmi zere nonstop cca 300W. UPS (2200kVA) ma masivni vyvod na externi baterii (uvnitr jsou jen dve male). Napadlo me poridit nejakou vetsi externi baterii a usetrit za eletrinu tim, ze UPS napojime na vetev se zlevnenou sazbou garantovanou 16 hodin denne, mimo tento cas by cely RACK bezel z baterky.
Prvni otazka je zda se to vubec vyplati s ohledem na zivotnost baterek. Dalsi otazka je jak pripadne spocitat kapacitu pridavne baterky protoze PRE u tohoto tarifu negarantuje rozlozeni "mezer" v case behem dne. Jedine co garantuje je minimalne 5 zapnuti denne o delce minimalne 1 hodina.
Pripadne jsem koukal ze tento tarif uz nenabizeji a misto neho nabizeji jiny co bezi 20 hod. denne, ale pocitam ze bude mene vyhodny.
Mate nekdo s necim takovym zkusenosti?
pocitejte s nejhorsi variantou, 5x denne po 1 hodine tj. mezera mezi intervaly je 4 hodiny.
takze potrebujete baterii,, ktera vydrzi 4 hodky zasobovat 300W tj. 1200 Wh.
baterie jsou vetsinou 12 V, tj. 1200 Wh / 12 V = 1000 Ah.
autobaterie ma asi 80 Ah, takze odhaduju 10 baterii.
Mluvit obecně o velikosti internetu se nedá. Na to narážel XX125. Těch více či méně nezávislých parametrů o kterých ta citace může mluvit je mračno. A do jedné hodnoty, která se může zdvojnásobit, se dají se nakombinovat nepředstavitelným množstvím způsobů.A co chceš hodnotit?Hodnotit chci obecně Internet jakožto síť, jestli toto (tučné písmo) stále platí v tom textu:
Počet domén?
Velikost obsahu?
Počet serverů?
Počet uživatelů?
Traffic?
"It is estimated that the Internet doubles in size every 11 months and the World Wide Web
doubles every 53 days (Ashcroft, 2001). "
Firmy archivují všechno, co nemají výslovně zakázané (a občas i to) bez ohledu na nějaké regulace. Stačí takové to pragmatické přizdisráčství. I vyhraný soud je čistá ztráta. No a jestli má ta firma ISO, tak má procesy i na archivaci myšinců ve sklepě.2. Udrzuje
2. Co platebni brana P - udrzuje si taky historii transakci jako to dela banka, tzn. ze by se dalo dohledat B->P->A?
Docela by me zajimalo, jestli platebni brany dodrzuji nejakou anonymitu transakci alespon v tom smyslu, ze ty transakce po nejake dobe budto mazou, nebo je vubec neuchovavaji. A pokud to nedelaji, tak proc to nedelaji?
Samozrejme ze transakcie nemazu.
Dovod -> bankove regulacie, anti-money laundering, statne regulacie, eu regulacie, a este asi dalsich 284 regulacnych organov
Ale může to být i dobře míněná snaha o změnu. Jsou firmy, které zavádí koncepty Svobodné firmy, kupodivu to někdy blokují samotní zaměstnanci (chce to po nich vyšší míru zodpovědnosti a angažovanosti)Kupodivu?

Nie je táto kniha pre začiatočníka veľmi komplikovaná?Já se C++ učil právě z předchozí edice téhle knihy a šlo to dobře. Rozhodně je psaná pochopitelně a stravitelně. Jen nepočítej s tím, že z tebe ta kniha udělá mistra. Spíš tak pokročilého učedníka.
Já bych to až tak neodsuzoval. IMHO inzerát má hlavně zaujmout případného zájemce. Třeba když nějaká firma nabídne jízdu na velbloudovi o polední pauze, třeba to vzbudí zvědavost potenciálního zájemce aby se tam aspoň šel podívat a zjistil, že sice žádného velblouda nemají, ale o tu pracovní pozici se začne ucházet.Inzerát má nejen zaujmout, ale má taky dát zájemci dost informací na rozhodnutí.
K tomu se dá dodat jenom jednonezvládnou napsat ani jednoduchý vzoreček do Excelu.a ty se divis? kdyz nejakej deb*l vymyslel, ze budou nazvy funkci cesky.