Zobrazit příspěvky

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.


Příspěvky - Filip Jirsák

Stran: 1 ... 210 211 [212] 213 214 ... 375
3166
Server / Re:HTTPS certifikát v interní síti
« kdy: 27. 06. 2018, 15:12:20 »
Pokud umí importovat certifikát tak funguje, proč by nefungovalo ? Vyzkoušeno na Mikrotik, Cisco, Zyxel,.... Certifikáty na interní doménu (.local), DNS záznamy a na ně vystavené certifikáty. Funguje to.
Funguje to jedině v případě, že ten router má certifikát poskytovat. Pokud by mu měl i důvěřovat (třeba nějaký víceúčelový router), je to něco jiného.

Obecně distribuce vlastní CA přes AD funguje dobře na stanice s Windows, ale jinde už vám to nepomůže – Linuxové/unixové servery, mobilní telefony, IoT, tam vám AD nijak nepomůže. Chápu, že kde se interní CA nebo jen interní doména používá, je nejjednodušší v tom pokračovat, ale rozhodně bych to nikde nově nezaváděl. Přiděláte si tím akorát problémy, a bude jich čím dál víc. S důvěryhodnými certifikáty, s DNSSEC… Když začínáte s něčím novým, určitě bych použil veřejnou doménu, některé záznamy z ní se klidně mohou překládat jen ve vnitřní síti. Můžete bez problémů používat všeobecně používané certifikační autority, DNSSEC, klidně i HSTS preload.

3167
Vývoj / Re:Typový system versus unittesty
« kdy: 27. 06. 2018, 14:18:17 »
Na tom typování je vtipné právě to, že na rozdíl od testování se pokouší o vytvoření těch ultimátních vzorečků díky kterým dosáhnu ultimátní jistoty.
… ultimátní jistoty v tom, že se ten vzoreček trefí do správného oboru hodnot. Ale neříká to vůbec nic o tom, jestli konkrétní vypočtené hodnoty jsou ty, které by člověk čekal.

To je ale pořád dokola.

3168
Vývoj / Re:Typový system versus unittesty
« kdy: 27. 06. 2018, 12:06:51 »
příklad jsem tu uváděl, pokud jste ho ignoroval, vaše škoda
Tak dlouho tu trollujete, až jste vytrollil sám sebe.

3169
Vývoj / Re:Typový system versus unittesty
« kdy: 27. 06. 2018, 11:29:29 »
který příklad? v jakém systému a proč to nejde? vy furt opakujete, že to nejde, ale zatím váš jedinný argument byl, že to nejde
Ten příklad, kterým začalo tohle vlákno diskuse, na které reagujete. Když už si to nepamatujete, máte v prohlížeči po straně takové táhlo, za to když potáhnete, bude se vám posouvat stránka na obrazovce, a tak se dostanete i k předchozím komentářům v tomto vlákně, můžete si je přečíst – jsou stále ještě na jedné obrazovce.

Máme tam příklad a v komentáři jsou popsané nějaké testy. Pokud jsou podle vás ty testy zbytečné, napište, čím byste je nahradil. Můj argument, proč to nahradit nejde (už jsem to vysvětloval, ale zřejmě jste to nepochopil), je dostatečný – vy jste zatím neuvedl jediný protipříklad, jak to tedy udělat, místo toho se pořád jen na něco vymlouváte.

Shrnu to pro vás ještě jednou –  když máte příklad s testy, a tvrdíte, že testy nejsou potřeba a i bez nich je možné získat minimálně stejnou míru jistoty o správné funkčnosti, předveďte to a upravte ten příklad tak, aby v něm žádné testy nebyly. Pak se můžeme bavit o tom, jestli ty vaše úpravy zaručují stejnou jistotu správné funkčnosti. Dokud to neuděláte, jenom tu plácáte.

3170
Vývoj / Re:Typový system versus unittesty
« kdy: 27. 06. 2018, 10:37:58 »
zase to překrucujete, BoneFlute se ptal na příklad kdy to nejde
Ano, a jeden takový příklad, kdy to nejde, tu právě máme. Pokud někdo tvrdí, že to jde vždy, očekával bych, že ten příklad nějak zpochybní, třeba že u jednotlivých testů dokáže, že jsou zbytečné.

3171
Vývoj / Re:Typový system versus unittesty
« kdy: 27. 06. 2018, 10:33:30 »
To, že otestuju tři hodnoty, a prohlásím, že kód je otestovaný, přičemž u čtvrté hodnoty to chcípne, to je poněkud smutné, nemyslíš?
Ano, je to smutné, že programují i lidé, kterým to moc nejde, a běžně nedokážou určit ani ty potenciálně problematické vstupní hodnoty. Že na to nenapíší test je ten menší problém – horší je, že když o tom problému nevědí, neošetří ho ani v tom výkonném kódu.

3172
Server / Re:HTTPS certifikal na interni siti
« kdy: 27. 06. 2018, 10:29:03 »
Používám pro to certifikáty Let's Encrypt, ověřování dělám přes DNS. Tj. do internetu je vystavený jen DNS server pro veřejnou doménu. Samotná zařízení vůbec z internetu dostupná být nemusí. Mám to tak pro NAS a router.

3173
Vývoj / Re:Typový system versus unittesty
« kdy: 27. 06. 2018, 10:01:47 »
proč by to vůbec někdo dělal?
Například proto, aby dokázal pravdivost tvrzení, kterým celé tohle téma odstartovalo – a jehož pravdivost tady mnoho lidí zpochybnilo. BoneFlute na jeho pravdivosti stále trvá (zatím bez důkazu), tak by bylo hezké mít alespoň jeden příklad, kdy to platí.

3174
Vývoj / Re:Typový system versus unittesty
« kdy: 27. 06. 2018, 00:01:41 »
Ja ani tak nerikam, nejsou potreba, ale spis nejdou napsat. Je to uplne odlisny vyrok. Nedaval bych to do souvislosti.
Ovšem celou dobu se tu řeší, zda je pravdivé tvrzení, že testy (v případě dobrého typového systému) vůbec nejsou potřeba. To tvrzení je samozřejmě možné dokázat i metodou, že vyjmenujete různé skupiny testů, u nich ukážete, že jsou zbytečné (nebo že ani nejdou zkompilovat), a pak ukážete, že jste takhle „vyřídil“ všechny skupiny testů. Ale nemá smysl dokazovat jenom tvrzení, že některé testy nebudou potřeba (nebo nepůjdou zkompilovat), protože to tady nikdo nerozporoval.

A ja myslel, ze sem se vyjadril fakt pochopitelne. Asi ne.
Jestli jste to myslel jako reálné řešení problému, pak vás zklamu, ale paměť dnešních počítačů je na tohle stále malá, takže úplným výčtem byste mohl řešit jen velmi jednoduché problémy. Ale zase je ta paměť dost velká na to, aby vás popis toho problému úplným výčtem možností přestal bavit mnohem dřív, než ta paměť dojde.

Mohl bych videt prosim nejaky unit test na "funkci" rand?
Zrovna testování náhodnosti není nic snadného, ale u důležitých systémů (třeba generátory pro kryptografii) se to samozřejmě dělá. Nejjednodušší test by mohl získat třeba 1000 náhodných hodnot, normalizovat je do rozsahu <0, 1) a otestovat, že se průměrná hodnota neliší od 0,5 o víc než nějaké delta. Rozumnější test by kontroloval i distribuci hodnot.

Urcite ne.
Takže věříte tomu, co je napsané v dokumentaci? A pokud něco není v dokumentaci jasně popsané, tak tu službu vůbec nepoužíváte? Nebo si všechno píšete sám, od jádra operačního systému?

3175
Vývoj / Re:Typový system versus unittesty
« kdy: 26. 06. 2018, 23:45:53 »
můžete uvést nějaký příklad menšího většího projektu? třeba ten typově bezpečný AST jsem úspěšně aplikoval na reálný programovací jazyk (IEC61131 STL), je to učebnicový příklad?
Co třeba taková kalkulačka? Jenom simulace té nejobyčejnější kalkulačky – zadávání čísel v desítkové soustavě, sčítání, odčítání, násobení a dělení. Žádné priority, žádné paměti, žádné další funkce. Můžete napsat, jaké byste tam použil typy, jak by vypadal kód – a zda byste tam měl nějaké testy, případně jaké?

https://gist.github.com/ondrap/69fa2162bc2516469642e5380b379f5c (v reálu by tam byl zvlášť typ na operátor a Show instance pro jednodušší debugování, která se bohužel u toho ExprF nenageneruje sama)

Testy obvykle dělám na parsing, a pak asi nějaký test, že to nepočítá úplnou haluz (i.e. 100% code coverage, tady že jsem se neuklep v těch operátorech). Ono tam teda moc co testovat není....  jinak parser na "normální" výrazy není o moc delší, jen jsem línej to hledat... tam by se asi pak řešilo v testech, jestli se korektně respektuje priorita operátorů.

No, ale v podstatě je to to, co jsem psal - parsing typově moc obsáhnout nejde, vlastní výpočet má v podstatě 3 řádky a  není moc co tam splést.... aritmetika na Double je poměrně "totální", takže tam taky není moc co řešit...

Na tomhle se shodneme. Tak třeba to teď konečně vezme v nebo BoneFlute a upraví ten kód tak, aby byly zbytečné všechny testy.

3176
Vývoj / Re:Typový system versus unittesty
« kdy: 26. 06. 2018, 23:43:36 »
požadovaná?? tak tohle je asi moje mez, jestli neukážete aspoň trochu snahy porozumět tématu, tak na vás asi nebudu reagovat
Myslím, že tématu rozumím docela dobře. Téma je, že vy jste moderní borec a každý, kdo zpochybní vaše tvrzení, je zpátečník. A jakmile máte ukázat něco konkrétního, začnete se kroutit a vymlouvat, že tomu nikdo nerozumí. Přitom se po vás chce tak banální věc, abyste podle jednoduchého zadání napsal kód, u kterého nebude dávat žádný smysl něco testovat. Bez toho zadání se to samozřejmě neobejde, protože se testuje soulad se zadáním – kód bez zadání opravdu nemá smysl testovat.

3177
Vývoj / Re:Typový system versus unittesty
« kdy: 26. 06. 2018, 19:13:05 »
nic neslibuju, ale můžu se o to pokusit, asi by bylo ideální abych se o to pokusil v tom jazyce, ve kterém jste si zkoušel dependent types, který že to byl?
Bavíme se tu přece teoreticky – nezaznamenal jsem, že by tu BoneFlute jásal, že konečně objevil ten správný jazyk. Takže jsem vám záměrně ponechal volnost, abyste použil jazyk, jaký chcete – předpokládal jsem, že pro to budete muset nadefinovat vlastní jazyk. Ale nemusíte ho definovat nijak podrobně, stačí popsat, jak budou vypadat ty typy a kód. Na konkrétní syntaxi přece nezáleží.
http://augustss.blogspot.com/2009/06/more-llvm-recently-someone-asked-me-on.html
Hezký, akorát že to není ta požadovaná kalkulačka, že. Všimněte si, že jeden z implicitních požadavků na program je to, že když dostane nějaký vstup mimo zadání, oznámí chybu. Decimální kalkulačka, do které zadám krf % brf a ona vypíše peklo, asi není úplně bezchybná, nemyslíte?

3178
Vývoj / Re:Typový system versus unittesty
« kdy: 26. 06. 2018, 19:06:17 »
Nicmene tvuj priklad krasne ukazuje, ze pri pouziti vhodnych typu ztraci smysl vsechny negativni testy.
Což je ovšem dost slabé tvrzení oproti původnímu „nejsou potřeba žádné testy“.

A mimochodem ten BoneFluteův příklad je poněkud nekompletní, protože tam má jenom typ, ale žádnou funkci. Jednotkové testy se ale používají na právě na testování algoritmů. Kdyby se nezabýval jenom tím typem Byte, ale hlavně tou funkcí foo(), hned by měl co testovat.

Funkce se da vyjadrit:
  • analyticky - o to se vetsina programatoru snazi
  • graficky - o to se vetsina programatoru nesnazi, ale mohlo by to byt zajimave
  • vyctem hodnot - o to se vlastne snazi BoneFlute, akorat se mu nechce psat vsechny tak "zneuziva" typovy system

A potom je to uz jasne ne? Kdyz mam uz v definici vstupu a vystupu zakodovano chovani funkce (protoze jsem zapis funkce vlastne nahradil lookup tabulkou) tak prece nepotrebuju zadne unit testy ktere overi vysledek pro nejake mizive promile tech moznych vstupu. To je prece jasna duplicita.
Za prvé je z toho hned vidět, že definovat funkce výčtem hodnot je pro reálné programy v drtivé většině případů nepoužitelné. Až začnete psát o tom, že se to přece dá nějak redukovat a nevypisovat všechny hodnoty, ale nahradit to nějakým předpisem – pak právě přijdou na řadu ty testy, které porovnávají, jestli ten předpis pro některé zajímavé hodnoty dává opravdu tu hodnotu, která by měla být v tom výčtu.

Za druhé, pokud by vám nemožnost udělat úplný výčet připadala jako nějaké dočasné technické omezení, vzpomeňte si třeba na funkce rand() nebo na faktorizaci velkých čísel – kdybychom dokázali ty funkce definovat výčtem hodnot, přestaly by být zajímavé a nikdo by je nepoužíval.

Za třetí, pořád předpokládáte, že výkonný kód i test vzniká stejným způsobem a píše to ten samý programátor. Ve skutečnosti kdyby vám někdo dal funkci (i se zdrojákem) definovanou výčtem hodnot a tvrdil by vám, že ta funkce dělá X, první co byste udělal, že byste si v tom zdrojáku vyhledal pár hodnot a ověřil byste, že alespoň pro tyhle hodnoty opravdu dělá X.

3179
Vývoj / Re:Typový system versus unittesty
« kdy: 26. 06. 2018, 18:47:15 »
nic neslibuju, ale můžu se o to pokusit, asi by bylo ideální abych se o to pokusil v tom jazyce, ve kterém jste si zkoušel dependent types, který že to byl?
Bavíme se tu přece teoreticky – nezaznamenal jsem, že by tu BoneFlute jásal, že konečně objevil ten správný jazyk. Takže jsem vám záměrně ponechal volnost, abyste použil jazyk, jaký chcete – předpokládal jsem, že pro to budete muset nadefinovat vlastní jazyk. Ale nemusíte ho definovat nijak podrobně, stačí popsat, jak budou vypadat ty typy a kód. Na konkrétní syntaxi přece nezáleží.

3180
Vývoj / Re:Typový system versus unittesty
« kdy: 26. 06. 2018, 16:45:31 »
můžete uvést nějaký příklad menšího většího projektu? třeba ten typově bezpečný AST jsem úspěšně aplikoval na reálný programovací jazyk (IEC61131 STL), je to učebnicový příklad?
Co třeba taková kalkulačka? Jenom simulace té nejobyčejnější kalkulačky – zadávání čísel v desítkové soustavě, sčítání, odčítání, násobení a dělení. Žádné priority, žádné paměti, žádné další funkce. Můžete napsat, jaké byste tam použil typy, jak by vypadal kód – a zda byste tam měl nějaké testy, případně jaké?

Stran: 1 ... 210 211 [212] 213 214 ... 375