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 ... 164 165 [166] 167 168 ... 618
2476
Studium a uplatnění / Re:Dochadzkovy system - vlastny projekt
« kdy: 29. 04. 2017, 01:46:24 »
RPi je jednodušší na použití, je tam Linux, větší výběr jazyků a typicky i Wi-Fi nebo BT (u nových modelů včetně Zera). Pokud nevadí trochu vyšší příkon, je to schůdnější.
To sice jo, ale o co je jednodussi rychla implementace, o to tezsi pak je dosahnout robustnosti, ktera by se aspon blizila te, ktere dosahne s AVRkem, kde se mu pod nohy neplete vubec nic, natoz OS s x komponentami s y milionem LOC...


2477
Neznam totiz nikoho, kdo to na neco ma, a zaroven to opakovane a neustale nerestartuje, protoze to zcela pravidelne vytuhne.
Znam firmu, ktera to nasazuje zpusobem, kterej by se s timhle asi dost vylucoval: https://www.unipi.technology/cs/ Jestli to je nebo neni dobrej napad, neumim posoudit, taky bych byl obezretnej...

Provozovatel dochazky by asi nebyl nadsenej, kdyby to musel tyden co tyden odpojovat od elektriky protoze to uz zas nefunguje.
Zrovna u dochazky je to v pohode. Resitelne watchdogem, prinejhorsim v kombinaci s pravidelnim nocnim restartem. Ne ze by to bylo neco, co bych chtel propagovat, ale uplna neresitelna tragedie to neni. Zalezi, co clovek chce za jakou cenu, zejo...

2478
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 28. 04. 2017, 16:58:42 »
Si děláte zadek, žejo?
Proc? Mne se OOP a pseudo-OOP bez trid a bez dedicnosti libi vic nez OOP ve stylu C++ nebo Javy. Jednodussi, snadno pochopitelne pseudo-OOP ala JavaScript nebo Lua je mi docela sympaticke.

Jeste lepsi nez prototypy jsou imho protokoly/interfaces/... (kazdy jazyk to nazyva jinak, proste "mnoziny operaci pro danou datovou strukturu"). Tohle ma hodne hezkych jazyku - Go, Rust, Elixir, Haskell ma to same jeste mozna o kousek lepsi (TypeClasses). Ale tak zas od JavaScriptu clovek nemuze chtit moc :)

2479
Studium a uplatnění / Re:Dochadzkovy system - vlastny projekt
« kdy: 28. 04. 2017, 10:16:29 »
Programoval som nieco do toho v ramci projektu v jazyku VHDL a sa mi to nepacilo
VHDL je extrém. Mikrokontrolery se programují v normálním céčku nebo C++.

2480
Studium a uplatnění / Re:Dochadzkovy system - vlastny projekt
« kdy: 28. 04. 2017, 10:15:36 »
By ma zaujimalo ale, co myslel Kapor z Vane tymi inymi doskami, ako arduino
Arduino je trochu matoucí pojem, většina jich je AVR-based, nejmíň jedno pak ARM (https://www.arduino.cc/en/Main/arduinoBoardDue), plus se dá Arduino "ekosystém" použít na programování třeba ESP.

Klasické AVR (8bit) je už trochu za zenitem - na jednoduché věci je moc fajn (nízká spotřeba, jednoduchost, cena), ale může se člověku stát, že chce do projektu přidat jednu krávovinku na víc a do AVRka už se mu to prostě nevejde (z důvodu velikosti programu nebo velikosti RAM třeba).

Dneska už se dají sehnat ARM-based desky, které jsou cenově přijatelné a hardwarově jsou úplně jinde (např. NanoPi NEO je moc pěkná věc). Zas ale člověk musí zvážit, jestli chce opravdu Linux-based systém, nebo radši jednoúčelový, superrobustní mikrokontrolér, kde mu jede opravdu jenom to, co chce, a má nad tím absolutní kontrolu...

2481
Studium a uplatnění / Re:Dochadzkovy system - vlastny projekt
« kdy: 28. 04. 2017, 09:40:20 »
vazne? lebo napr. pre C# som nasiel nieco taketo
Jestli to spravne chapu, tak tam je ten C# na strane pocitace (desktopu), ne na AVRku :)

Je potreba si uvedomit, co je AVRko zac - je to mikrokontroler, RAM ma v radu KILObajtu :)

2482
Studium a uplatnění / Re:Dochadzkovy system - vlastny projekt
« kdy: 28. 04. 2017, 09:34:30 »
Na arduino alebo rpi by sa dali pouzit c#/java/python
Ne, na klasickém Arduinu (AVR-based) se fakt java a python použít nedají :)

2483
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 28. 04. 2017, 07:08:56 »
Já myslel, že už je to dávno pojmenované. Není potřeba objevovat kolo...
https://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742
Není potřeba ho objevovat, je potřeba otevřeně přiznat, že existuje, a nemást nové programátory.

Citace
The lack of transitivity is alarming. My advice is to never use the evil twins. Instead, always use === and !==.
[z oné knihy]

2484
Studium a uplatnění / Re:Dochadzkovy system - vlastny projekt
« kdy: 27. 04. 2017, 16:56:24 »
Viem, ze na svete je takychto systemov vela, ale rozmyslal som, ze by nebolo zle spravit si nieco taketo uplne sam. Vyuzit raspberry pi alebo arduino, spravit citanie cez rfid, zapis do DB a spravit k tomu nejaku aplikaciu. Clovek by sa pri tom vela naucil si myslim a takisto by to mohol skusit ponuknut niekomu za symbolicke ceny.
Co si o tom myslite?
Je to super projekt v tom, ze si vyzkousis kompletni stack - od hw, pres sitovou komunikaci, backend az po frontend. Pokud ti jde jenom o uceni, je to vyborny tema.

Ale nějaký výdělek bych od toho neočekával... :)
Souhlas. Pokud by to melo mit i jiny cil nez ucit se, udelal bych to jako pro bono - treba opensource pro skoly. Pak by sis k tomu IT stacku jeste pridal marketing, jednani s prispevkovymi organizacemi, popr. psani projektu, to taky nemusi byt k zahozeni. Ale bylo by to dost prace navic (vic nez vytvorit ten produkt :) ).

Nemusi byt prevratne, staci ked tam este pridas detektor alkoholu :D
Super napad! (beze srandy)

---
P.S. jak jsem videl titulek, uz jsem si rikal, co ze to zas bude za kokotinu "chci udelat neco jako facebook, ale lepsi", ale tvuj pristup me pozitivne prekvapil, jen tak dal, hodne stesti! :)

2485
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 14:17:13 »
Třeba mě se JS mimořádně nelíbí, definici relace == považuju za pitomou, rozhodnutí pojmenovat normální ekvivalenci === taky za pitomý, ale tak prostě se tak v JS rozhodli, a nedává mi moc smysl nadávat že == se nechová jako ekvivalence, když ekvivalence se v JS jmenuje ===.
Pokud se jasne pojmenuje, co jsou blbosti, proc jsou blbe a jak by pripadne mely byt lip, tak s tim nemam sebemensi problem. Pokud to nekdo chce pouzivat je to jeho volba. Ale nemelo by se to vydavat za normalni a mrsit cely generace programatoru, ktery pak povazuji kravoviny za dobry reseni (viz treba i ty zmineny Workery... proste kam se v JS podivas, tam je nejhorsi mozny reseni z dostupnych. Snad jenom tu prototypovou orientaci chytli dobre. Mit to jeste nejaky dojebany OOP, tak uz by to bylo uplne na maslu ;) )

2486
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 13:39:53 »
Chci-li vlastnosti ekvivalence, tak nebudu ignorant a použiji ===. 
Jasný. A pokud chci testovat objekt na null, tak použiju !!, protože všude jinde normální if (object) taky nefunguje.

A pokud chci ... tak musím ... . Ale je potřeba vědět, že ... a ... . Pochopitelně jenom v případě že ... . Což ví všichni, kdo nejsou ignoranti.

Fakt je to tak těžký, přiznat si "jo, je to dost zmršenej jazyk, ale i tak ho mám rád"? Co je na tom špatnýho, vyloučili by tě ze sekty?

2487
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 13:08:49 »
Tak nevím proč tu dalekosáhle vysvětluješ, že operátor == (který není ekvivalence), nemá vlastnosti ekvivalence.
Ne. Vysvětluju, že mít vlastnosti ekvivalence je velmi důležité a jenom tak pro prd je zahodit je příklad jedné z milionu zpraseností JS.

Tím nechci obhajovat JS, ale tahle debata byla fakt zbytečná.
Ne. Pro mě je hodně poučné vidět, do jakých absurdit je někdo schopný se dostat jenom aby nemusel:
Nestačilo by místo těch urážek a vymýšlení nesmyslných rádobyobhajob říct prostě "jo, tohle je sprasený, ale dá se s tím žít"?
...čímž by ta zbytečná debata okamžitě skončila a neřekl bych už ani popel.

2488
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 13:00:04 »
A: == ekvivalencí není [=>] B: je nesmyslné chtít, aby == ekvivalencí bylo
Jak z A plyne B?

2489
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 11:45:12 »
tj. každému prvku z množiny M (tady vidíme, jak je M důležitá - nemluvíme o hroších, ale o prvcích z M) můžeme jednoznačně přířadit "třídu" - tj. podmnožinu M.
Pokud je tohle potřeba opravdu polopaticky "programátorsky", tak: pokud je relace ekvivalencí, tak vím přesně, kolik má M tříd rozkladu a každou třídu můžu reprezentovat jedním prvkem. Když mám skutečnou ekvivalenci (s N třídami rozkladu), tak pak můžu třeba všechny hodnoty z M (klidně všechny hodnoty daného jazyka) roztřídit do N podmnožin jenom pomocí toho, že každou podmnožinu reprezentuju jedním prvkem a x, které chci zařadit, s každým z N "reprezentantů" porovnám. Díky tomu, že je relace ekvivalencí, vím jenom na základě těhle N porovnání, že prvek "si bude rovný" se všemi ostatními prvky v podmnožině. Už ho s nimi nemusím porovnávat.

U == z JS tohle udělat nejde, protože nevím, jestli 1 patří mezi "jedničky", protože 1==1 nebo mezi "stringy 1", protože 1=='1'.

2490
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 11:31:13 »
Může být v relaci ekvivalence (===) 1 a "1"? Ne, není to stejná množina (datový typ).
Ale můžete použít ==, které to implicitně přetypuje předtím, než to porovná.
Aha, takže opravdu byl problém v tom, že máte zmatek v pojmu relace na množině.

Krátká odpověď: === je definováno správně, == je definováno špatně. Oba dva operátory jsou definovány pro libovolné typy. Tohle úplně stačí jako důkaz, že vaše argumentace je nesmyslná, typy tady vůbec nehrají roli.

Delší odpověď: aspoň neformálně:

1. To, že je relace R "definovaná na množině" M znamená něco podobného jako definiční obor funkce. Díky tomu vím, že jestliže relace nějaké dva prvky z M "spojuje", tak ty prvky "jsou v relaci", něco pro ně platí, zatímco když v relaci nejsou (a jsou z M), tak to pro ně neplatí, a pokud něco není z M, tak o tom prostě R nic neříká. Například relace "být celočíselně dělitelný" je definovaná třeba pro celá čísla a neříká nic o vztahu mezi prvky množiny savců (netvrdí, že žirafa je dělitelná hrochem, ani že jím dělitelná není, prostě vztah "být dělitelný" nedává pro savce smysl, není pro ně rozumně definovatelný).

2. Relaci nazýváme ekvivalencí právě když je reflexivní, symetrická a tranzitivní. Z toho pak plynou různé praktické důsledky. Například to, že existuje jednoznačný rozklad množiny pomocí relace RE na "třídy ekvivalence" - tj. každému prvku z množiny M (tady vidíme, jak je M důležitá - nemluvíme o hroších, ale o prvcích z M) můžeme jednoznačně přířadit "třídu" - tj. podmnožinu M.

Abysme si znovu ověřili, že o typy vůbec nejde: můžu mít relaci isSameType(x,y), která spojuje hodnoty stejného typu - tj. rozděluje množinu všech hodnot daného jazyka na podmnožiny podle jejich typu. V jedné třídě rozkladu podle takové ekvivalence jsou pak integery, v jiné stringy.

3. Ano, skutečně 1 a "1" můžou být v relaci i když ta relace je ekvivalencí. Triviálně např relace implementovaná funkcí
Kód: [Vybrat]
function isAnything(x) { return true; }
QED. Tahle funkce sice neimplementuje "operátor ekvivalence" (programátorštinou), ale je to "ekvivalence" (matematicky). Chtít po operátoru ekvivalence, aby byl ekvivalencí, je velmi rozumný požadavek. Viz 2

SHRNUTO: 1. operátor ekvivalence je možné definovat nad různými typy a pořád to může být ekvivalence v matematickém smyslu (důkazem je ===). 2. pokud relace ekvivalencí není, ztrácím různé jistoty, nemůžu o ní tvrdit to, co bych mohl, kdyby ekvivalencí byla. 3. Čili bych měl mít setsakramentsky dobrý důvod, proč se o tyto jistoty připravit. Neměl bych je zahodit (a programátora uvést ve zmatek) jenom proto, aby mohli lidi v mém jazyce patlat páte přes deváte a nedejmatkopřírodo jim to nevyhodilo runtime error.

Stran: 1 ... 164 165 [166] 167 168 ... 618