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 - Mirek Prýmek

Stran: 1 ... 35 36 [37] 38 39 ... 618
541
Vývoj / Re:Abstrakce u OOP
« kdy: 13. 06. 2020, 18:17:03 »
Když prostě nějakou hromadu asembleru nahradím za for() {} tak je to super, ale jen v případě, kdy někde vysvětlím, co ta konstrukce dělá. Jinak je to opravdu "Flyg vilda fågel, flyg du som kan".
Jo. A taky musí mít ta abstrakce nějakou zřejmou, snadno uchopitelnou logiku. Když zavedeš operátor, kterej bude občas sčítat, občas násobit a sem tam program shodí, ale jenom ve tři hodiny odpoledne, tak to bude taky na prd :)

(P.S. tak mě napadá, v JS určitě takový operátor je, ne? Divil bych se, kdyby nebyl, to by byla první příležitost něco zvorat, kterou by JS nevyužilo ;) )

Příklad s tím for je pěkný i v tom, že jasně ukazuje jak to zřejmě má fungovat. Jsou to tři písmenka, pro angličtináře nesou význam - což opět pomáhá. Ten význam sám o sobě nic nevysvětlí - na to je třeba nějaká definice, ale pomůže v tom se zorientovat. A hlavně jsou dostatečně krátká, aby nevznikal šum.
Tak ideálně by krátký měly být věci, který používáš nejčastěji. Ne zhovadilý "function", ale radši "func" a úplně ideálně "fn" :)

A ta lidská definice tam musí být také, protože z toho vlastního pojmenování to obvykle stačit nebude - páč jinak by se to zvrhlo zase v dlouhý název, který bude ale zase nepříjemný na použití.
Vidím to úplně stejně.

542
Vývoj / Re:Abstrakce u OOP
« kdy: 13. 06. 2020, 17:03:57 »
To je docela zajímavý argument, to s tím C jako abstrakcí. Nevím jak ty (@Idris), ale když by si poprvé viděl konstrukci:
Kód: [Vybrat]
for (i=1;i<61 && feof(h);i++) {...}
Věděl by si co ta konstrukce for() {} dělá, jen na základě její samopopisnosti? Aniž by si znal konstrukci &&? Aniž by si znal co znamená EOF? etc?
Nevím, kam míříš, ale samozřejmě, že nevěděl. Stejně jako třeba ty asi nebudeš rozumět větě "Flyg vilda fågel, flyg du som kan".

A?

543
Vývoj / Re:Abstrakce u OOP
« kdy: 13. 06. 2020, 14:52:53 »
Však to je správně, na vyšší úrovni se věci chápou lépe, už jen C je abstrakce nad asemblerem, tak nízko se nikdo nerýpe.
Bavíme se o situaci bez komentářů. Několik vrstev abstrakce bez komentářů, proč tam která vrstva je a jakou má zodpovědnost, je naprostá tragédie.

Nebo pojmenovane, otypovane, pokryte testy
To je samozřejmost.

Ten FizBuzz Enterprise Edition je výborný příklad.

Ceho?
Kódu, kde když chci zjistit, co dělá nějaká funkce, musím projít desítky souborů.

544
Vývoj / Re:Abstrakce u OOP
« kdy: 13. 06. 2020, 10:46:53 »
Nemuze to byt tim, ze C je prilis low level a postrada expresivitu vyssich jazyku?
Ne. Protože vyšší expresivita by jenom znamenala, že tam bude víc vrstev abstrakce. Takže pokud bych chtěl zjistit, co ta funkce opravdu dělá, musel bych jenom projít víc vrstev (pokud nebudou okomentované). Čili ještě horší situace. Ten FizBuzz Enterprise Edition je výborný příklad.

Kompilací vznikne shodný kód, ale přidáním názvů proměnných se zvýší čitelnost pro lidi.
<rýpací mód>
Ne, nevznikne, protože ten tvůj kód se vůbec nezkompiluje, páč je nevalidní :)
</rýpací mód>

545
Vývoj / Re:Abstrakce u OOP
« kdy: 12. 06. 2020, 22:58:29 »
Když někdo neumí pojmenovat proměnou, tak je to fakt blbě a v takových případech zpravidla nepomohou ani komentáře.
Pošli tam pull request s opravou. A poštou trochu CDS. Good luck.

546
Vývoj / Re:Abstrakce u OOP
« kdy: 12. 06. 2020, 22:44:27 »
Fajn... dej lepsi.
https://github.com/torvalds/linux/blob/master/block/blk-core.c#L152

Všimni si té věty "Useful in ...", ta je zajímavá, sděluje kontext proč tam ta funkce vůbec je.

Jestli mi někdo bude tvrdit, že rychleji zjistí z kódu, co ta funkce dělá, tak mu prostě nevěřím. Například proto, že nevím, co je v poli blk_op_name uložené. Takže kdyby tam nebyl ten komentář, musím skočit na jeho definici a z ní na definici makra REQ_OP_NAME, pak si budu muset vzpomenout, jak se vlastně nahrazují ty # a ##. A až mi docvakne, jak je to vlastně triviální, musím odskákat zase zpátky. Jasně, klidně mi někdo může tvrdit, že si to z kódu přečte líp než z těch pár řádků komentáře. Nebo že CDS bezvadně léčí rakovinu... Ok, good luck.

547
Vývoj / Re:Abstrakce u OOP
« kdy: 12. 06. 2020, 11:52:16 »
Tak rozveď něco zajímavého, třeba literate programming ;)
Co na tom chceš rozvádět? Jak už to tak bývá, zajímavej nápad, kterej se původně nepodařilo uspokojivě zrealizovat, aby se po pětadvaceti letech znovu vynořil v jiné podobě různých těch Jupyter Notebooků, interaktivních JS notebooků apod. a nikoho původní myšlenka nezajímá ;)

P.S. BTW, tak mě teď napadl jinej podobnej někdejší buzzword: sémantický web. Kde je mu konec a v jaké modifikované podobě se asi za dvacet let vynoří? :)

548
Vývoj / Re:Abstrakce u OOP
« kdy: 12. 06. 2020, 08:47:04 »
Tohle je pokus o filosofování?  ;)
Jako obvykle :)

549
Vývoj / Re:Abstrakce u OOP
« kdy: 12. 06. 2020, 08:03:28 »
Komentáře jsou psané přirozeným jazykem. Sémantika toho programovacího jazyka bývá taky popsaná přirozeným jazykem.
Troufnu si tvrdit, že veškeré nedostatky formálních jazyků flíkujeme právě tím přirozeným. Což je pro mně dostatečný důkaz toho, že slovní popisy fungují.

pouzivani slovnich komentaru je na ustupu, nahrazuji je doctesty, typove anotace.

Slovní komentáře jsou prakticky nenahraditelné pro dovysvětlení záměru nebo kontextu. Nechápu, proč pořád chrlíš nějaké zjednodušující rezolutní závěry.

Naopak nevím, co myslel předřečník tím nedostatkem formálních jazyků.
TL;DR: kód bez slovních komentářů je utopie. Jsme lidi a potřebujeme okomentovat spoustu "neformálních" (a realisticky neformalizovatelných) okolností.

Nedostatků formálních jazyků je habaděj. Např.: z definice jsou vymyšlené tak, aby měly přesnou sémantiku, čili (1) ta sémantika je nějak "ořezaná" (odstraní se nejednoznačnosti apod.) a tím jazyk získává přesnost na úkor expresivnosti. Typicky je taky formální jazyk (2) ušitý na míru nějaké doméně - opět ztrácí obecnou expresivnost. Prakticky vždycky je taky (3) formální jazyk konstruovaný tak, že některé koncepty, které v přirozeném jazyce vyjádřit umíme, v něm vyjádřit nejdou (záměrně - protože jejich vyjádření by jazyk neúměrně zkomplikovalo a buď by bylo složité s ním pracovat strojově, nebo by byl těžko srozumitelný pro lidi).

Pokud by nebyl programovací jazyk míň expresivní než přirozený, komentáře by nebyly potřeba, protože sám program by vyjadřoval všechno, včetně záměru autora, kontextu volby algoritmu apod. Tak to ale není, komentáře potřeba jsou, abych tam třeba dovysvětlil, že "toto řešení se mi zdá rozumnější, protože je sice míň efektivní, ale je líp čitelné a nejsme v kritické sekci programu" (případ (1)), "tohle je quick&dirty, protože zákazník je ve finanční tísni a potřebujeme to rychle dotáhnout, není čas na hrdinství" (2) nebo "tento kód je teď jenom placeholder pro kontroller, plnou implementaci dodělám, až bude čas" (případ (3) - vyjádření časově závislé individuové role je docela obtížně formalizovatelné).

550
Hardware / Re:Jednoduchá „krabička“ pre videohovor
« kdy: 08. 06. 2020, 21:48:18 »
Dík za zkušenosti. Jestli si vzpomeneš, ozvi se třeba za půl roku, jaká bude delší zkušenost.

551
Hardware / Re:ESP32 nefunguje režim AP na Wi-Fi
« kdy: 04. 06. 2020, 20:12:08 »
Když si vzpomenu na nějakou starší přednášku Petra Stehlíka o ESP8266, tak tam okolo možnosti pořízení taky lítaly samé $ a čínské servery, takže jsem těch tipů čekal trošku víc.
Podle mě je to fakt jedno, od koho z Číny to kupuješ, sázka do loterie je to tak jako tak :)

Už jsem objednal tu samou desku jako na Tvém linku, ale jinde. Tenhle zbytečně šroubuje poštovné.
Tak to možná nebude vůbec ta samá deska :)

Jinak dík, ale myslím že by bylo zbytečné to posílat tam a zpátky. Kdybych to potřeboval tak urgentně, tak zkusím ten link, co už tu padl s cenovkou okolo 300Kč a k tomu kilo poštovné.
Ok. Akorát teda zásilky z Číny jdou teď pekelně pomalu. Věci, co jsem objednával na začátku koronakrize, mi přišly někdy teď po dvou měsících nebo možná i víc.

552
Hardware / Re:ESP32 nefunguje režim AP na Wi-Fi
« kdy: 03. 06. 2020, 19:46:48 »
Nemáte tip na nějakého ověřeného Číňana z AliExpressu, či něčeho podobného, s nějakou takovou deskou? Zkusím objednat ještě jeden a ten zatím nechám běžet připojený na ten jediný router, kde to nějak jede. Než to dojde, tak to bude stačit.
Hackeři by si neměli vykat, ne? ;)

S Číňanama je to problém, protože oni jsou schopní nazvat cokoli jakkoli a z obrázku to nepoznáš, jestli to je přesně to, co kupoval někdo někdy jindy... Kažopádně ale jestli jsi narazil na vadný kus, tak jsi měl fakt smůlu, já jsem ESPčka kupoval několikrát a nikdy jsem tenhle problém neměl.

Koukl jsem do Ali, poslední várku jsem kupoval tyhle https://www.aliexpress.com/item/4000037062272.html a problém neměly (což není záruka ničeho, můžeš klidně dostat kusy z jiné šarže...).

Jinak jestli se ti nechce čekat, klidně ti jeden kus na vyzkoušení pošlu poštou a po vyzkoušení nebo až ti přijdou ty tvoje, mi je můžeš poslat zpátky, není problém, hackerskou komunitu podpořím rád.

553
Hardware / Re:ESP32 nefunguje režim AP na Wi-Fi
« kdy: 02. 06. 2020, 20:33:24 »
Já si myslím, že tenhle konkrétní kus je prostě vadný.
Hm, podle toho, co píšeš, to tak docela vypadá...

554
Hardware / Re:ESP32 nefunguje režim AP na Wi-Fi
« kdy: 02. 06. 2020, 08:49:03 »
P.S. stejný chování popisuje tenhle bugreport v "Logs when it goes into connect/disconnect loop": https://github.com/espressif/esp-idf/issues/3474 Patch tazateli pomohl a jestli dobře koukám, měl by být do větve 4.2 mergnutý: https://github.com/espressif/esp-idf/commit/22a991bb29745bbef28d091c9a8b7edccf063ed3
Aha, tak platformio má pořád verzi 3.4: https://github.com/platformio/platform-espressif32/blob/develop/platform.json#L68

Takže nejlepší by asi fakt bylo zkusit použít vanilla ESP-IDF, jak radil kolega výš.

555
Hardware / Re:ESP32 nefunguje režim AP na Wi-Fi
« kdy: 02. 06. 2020, 08:44:08 »
Asi tenhle čtyřdolarový kousek uložím zpátky do šuplíku a zkusím koupit ještě něco jiného, akorát po přečtení zkušenosti některých si už nejsem jist, jestli chci zase ESP32. Co ještě stojí za zkoušku?
Na ESP32 nezanevři, je to docela fajn hardware. Měl jsem tak k desítce kusů a nikdy jsem problém s wifi neměl. Připojoval jsem ho k různým modelům Mikrotiku a k Turrisu.

Spíš než se na to vykašlat, by bylo zajímavý najít příčinu. Zkusil bych tyhle věci (v tomto pořadí):
1. Kouknout do logu Mikrotiku, co tam o tom odpojování píše - je tam důvod jako třeba "disconnected, group key exchange timeout" apod.

2. zapnout si debug logování pomocí CONFIG_LOG_DEFAULT_LEVEL

3. zkusit ESPčko napájet jinak, než to děláš teď - dát pořádný, důvěryhodný zdroj na microusb a pokud to nepomůže, tak přímo na VIN

4. zkusit v platformiu jinou verzi idf - uděláš to pomocí

Kód: [Vybrat]
platform = espressif32@VERZE

5. zkusit jinou desku (není vyloučený, že tam prostě výrobce něco podělal)

----
P.S. stejný chování popisuje tenhle bugreport v "Logs when it goes into connect/disconnect loop": https://github.com/espressif/esp-idf/issues/3474 Patch tazateli pomohl a jestli dobře koukám, měl by být do větve 4.2 mergnutý: https://github.com/espressif/esp-idf/commit/22a991bb29745bbef28d091c9a8b7edccf063ed3

Stran: 1 ... 35 36 [37] 38 39 ... 618