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 - Ondrej Nemecek

Stran: [1] 2 3 ... 73
1
Vývoj / Re:Arduino a knihovny
« kdy: Dnes v 00:11:28 »
Mě by se líbilo to samé, ale pro programátory, tj. zprostředkovat pokročilejším vývojářům  specifika a různé možnosti v přístupu k embedded vývoji. Klidně to udělat na základě nějaké existující vývojové desky (nevím zda se na to hodí Arduino, ale třeba ten ESP nebo STM32 mi přijde vhodný určitě). Věřím že spousta programátorů si ráda pohraje nebo se jim to bude hodit v nějakém projektu.
Existují různé knížky pro Arduino, které jdou fakt krok za krokem přes různé experimenty. Většina asi jenom v angličtině, ale u nás máme úplně úžasný triptych od Martina Malého. Každá z knížek má jiné téma, takže si člověk musí dobře vybrat, co ho opravdu zajímá. Jsou k dispozici zdarma v PDF, ale silně bych doporučil je koupit papírové, protože si to autor fakt zaslouží, je to úžasně udělané. (EDIT: to nejdůležitější bych málem zapomněl: https://www.nic.cz/page/4205/v-edici-cznic-vychazi-kniha-data-cipy-procesory-autorem-je-znamy-publicista-martin-maly/ )

Ano, Martin Malý je legenda (viděl jsem nějaká videa a četl pár článků). Dobrých praktických bastlířských návodů a inspirace je asi dost, ale já to ale myslel spíš po softwarové stránce - jak se pracuje na RTOS nebo jak se dobré programátorské praktiky aplikuji v embedded a co tam je naopak úplně jinak. Tenhle level podle mě přesahuje běžnou Arduino kulturu.

2
Vývoj / Re:Arduino a knihovny
« kdy: 08. 03. 2021, 20:24:00 »
Prvně si vyjasnit, co myslím slovem "vzdělání" - u Arduina a podobných popularizačních projektů to imho není "naučit dobré základy pro seriozní vývoj v embedded", ale spíš "poskytnout děckám a jiným laikům co nejvíc cool quick win, abysme je vůbec k zájmu o techniku přitáhli" (a tohle se mu imho daří fantasticky, alespoň v mojí generaci, u mladších si tím nejsem jistej).

Mě by se líbilo to samé, ale pro programátory, tj. zprostředkovat pokročilejším vývojářům  specifika a různé možnosti v přístupu k embedded vývoji. Klidně to udělat na základě nějaké existující vývojové desky (nevím zda se na to hodí Arduino, ale třeba ten ESP nebo STM32 mi přijde vhodný určitě). Věřím že spousta programátorů si ráda pohraje nebo se jim to bude hodit v nějakém projektu.

Udělat něco, co by poskytlo podobně nízkoprahový quick win a zároveň neučilo špatným návykům, to by byla fakt výzva. Protože bohužel v C ten asynchronní, událostmi řízený kód vyžaduje spoustu ne moc srozumitelné bižuterie, která by asi laiky dost odrazovala. Možná by šel zbastlit nějakej pěknej, čistej framework v Rustu nebo Go?

Tak mě přijde, že by šel klidně zahrnout i docela vysokoúrovňový přístup, četl jsem o robotech programovaných v Smalltalku apod. Události, fronty, zpracování streamů, hlídání limitů - IMHO podle mě ideální pro řadu aplikací. A zkušenější programátoři se s tím už určitě setkali jinde, navíc je tu synergie se současným trendem mikroslužeb. To by bylo ideální téma na Arduino v2.0 nebo konkurenční projekt.

3
Vývoj / Re:Arduino a knihovny
« kdy: 07. 03. 2021, 23:36:52 »
Pro začátečníka je nelehké se v „Arduino“ světe vyznat - různý hw (nejen ATmega328 ale taky třeba zmíněné ESP32 nebo taky STM32), k tomu různé knihovny a navíc Arduino IDE. A většina zdrojů opomíjí některá témata, třeba výběr adekvátního hw, vhodné programátorské postupy nebo právě informace o RT systémech. Podle mě moho Arduino bastlířů ani pořádně neví, jak to pod kapotou funguje (IMHO trochu didaktická chyba, pokud to měl být původě hlavně vzdělávací projekt). To tak nějak i koreluje s úrovní knihoven a setup/loop() mantrou (nic proti, ale bylo by asi fajn mít i pokročilejší možnosti, které se ostatně mohou ledaskdy i snáze používat).

Chci tím třeba říct, že třeba netuší, co může čekat (co získá) pokud bude (s Arduino IDE) používat místo Arduina třeba STM32 BluePill.

4
Vývoj / Re:Arduino a knihovny
« kdy: 05. 03. 2021, 16:53:32 »
Pro ESP8266 a ESP32 se dá vyvíjet v Micropython, Lua (+ ve standardním Arduino IDE). Pro řadu použití je to IMHO celkem zajímavá alternativa k Arduino s wifi jakožto bonusem. 

ESP čipy jsou i ve spoustě spotřebních zařízení (např. chytrá zásuvka z OBI s ESP8266 - hotový kus hw, kam si můžete skvěle dobastlit další funkce, čidla, displej, atd.)

5
Vývoj / Re:Náhrada PHP nebo ASP.NET Core
« kdy: 16. 02. 2021, 17:02:36 »
jQuery není framework, a hlavně už není rok 2010, aby se jQuery používalo (na cokoli). Záleží na tom, co na frontendu chcete řešit. Jestli bude lepší použít nějaký framework/prostředí jako Vue, Svelte nebo React, nebo jestli bude lepší použít jen nějaké knihovny.

Zajímavé, můžeš to rozvést Filipe?
Shopů jsem udělal dost, ale už je to 10 let.
(Vue, Svelte nebo React) jsou pro mě neznámé pojmy, o Reactu jsem mnohokrát slyšel, ale neviděl, je to hodně skloňované jméno. Co má dobrou křivku učení?
A JQuery se už fak moc nepoužívá? :o

JQuery se používá a je potřeba ho +- znát, ale své nejlepší roky má už za sebou. V čistém js se dá dnes napsat to samé a lépe. Pokud javascript tak bych doporučil zkusit si čistý js ve verzi es 6 a pak se podívat na vue. Řekl bych že zde bude poměrně dobrá učící křivka. Nejlepší je mít někoho k ruce, kdo pomůže prokousat se začátkem.

6
Vývoj / Re:Náhrada PHP nebo ASP.NET Core
« kdy: 16. 02. 2021, 16:54:00 »
java na backend je strasny moloch. Kod sice vyzera super jednoducho, ale mas tam milion roznych kniznic, o ktorych netusis ako vlastne funguju.
Ja som niekolko rokov robil servisy v c#, bezia niekolko rokov bez vypadku a zaberaju minimum prostriedkov. Teraz skusam rok javu (springboot+docker) a katastrofa. Strasne to zabera prostriedkov, ten kod je este ako-tak ok, ale 30 importov, aby som urobil rest service s pripojenim na mssql a chodilo to nejak rozumne.
"Programatori" si to pochvaluju, lebo nemusia riesit nic, ale za aku cenu. Ja osobne mam radsej veci pod kontrolou, aj ked to znamena viac pisania.

Nikdo vás nenutí používat velké frameworky. V javě není problém psát jednoduše, použijte třeba javalite a jdbi a máte službu, která startuje za 2 sekundy a stačí jí desítky MB RAM. Java má jiné problémy - nedokonalá generika, nedokonalý optional, statický dispatch. Ale některé věci z toho právě řeší jiné jazyky nad jvm při zachování dobré interoperability. Takže jvm jako runtime je pro mnoho použití dost dobrá volba. - Můj názor.

7
Vývoj / Re:Náhrada PHP nebo ASP.NET Core
« kdy: 16. 02. 2021, 16:46:36 »
Krom toho nad JVM je více zajímavých jazyků jako např. scala, kotlin, haskell, clojure.
Haskell?

aj, sorry, haskell samozřejmě není nad jvm, zkracoval jsem větu až jsem to zkrátil moc.

Škoda :) Už jsem si říkal, že je nějaká implementace Haskellu pod JVM.

Tak několik. Jaká je použitelnost je věc jiná, ale pod jvm je opravdu hodně jazyků.

8
USBčkové wifiny dělával Atheros, ale konkrétně u řady ar6k tuším býval nějaký problém s provozem AP. Nevím jak u modernějšího AR9271. Ani nevím, kde takový dongle shánět - leda snad u Mousera. Netušíte někdo, co za čipset má takový "TP-LINK Archer T2U Plus" ?

Je to asi rtl8812au.  Přijde mi divné, že nikde není databáze chipsetů, driverů a podporovaných funkcí. Nebo o ní jen nevím?

9
Server / Re:Docker a hosting bez námahy
« kdy: 13. 02. 2021, 22:46:53 »
Spravovat kontejnery není problém. Co se zabezpečení týče, když používám třeba základ Alpine Linux + dobře nastavený NGINX, co se dá vlastně zabezpečit jinak a lépe?
Jak je zde výše napsáno, nechci řešit zabezpečení celého OS, nechci ani moc řešit DDoS útoky aj. To už bych chtěl mít zajištěno od poskytovatele této služby. Chci si jen spravovat své kontejnery...

Zabezpečit potřebujete všechno - od dveří do serverovny, přes infrastrukturu, operační systém (...) až po aplikaci. A bavíme se o tom, o co se budete starat vy a o co se bude už starat poskytovatel (a za kolik). Což zase záleží na tom, v jakých image aplikace poběží (zda si je děláte sám nebo převezmete nějaké poskytovatelem garantované). V ideálním případě vám kontejnery poskytnou cca to samé co managed servery ale s větší flexibilitou běhového prostředí. Takže je ta debata mlávení slámy, protože není dost konkrétní...

Co mohu říct je jen to, že bych nedoporučoval OVH - mám s nimi dlouhodobě špatné zkušenosti a komunikace s ČR se stále zhoršuje (nedokážou si ani spárovat platby).

10
Server / Re:Docker a hosting bez námahy
« kdy: 13. 02. 2021, 22:26:08 »
(...) Spousta hotových platforem navíc znamená uzamčení k té platformě – nemůžete snadno přejít jinam.

To bohužel ano. A žádná standardizace pokud vím ani nehrozí.

11
Server / Re:Docker a hosting bez námahy
« kdy: 13. 02. 2021, 17:43:46 »
Předpoklad, že kontejner něco z výše zmíněného vyřeší, je podle mě zcela chybná. Kontejner řeší snadné spuštění projektu v předem specifikovaném runtime. Je sice oddělený od hostujícího os, ale svoji vlastní bezpečnost a snadnou správu neřeší.
V kontejneru ale máte typicky jen jednu aplikaci a pár knihoven, které ta aplikace potřebuje. To je na správu mnohem jednodušší, než celý OS.

Tak jasně, ale jak bude ten kontejner tučný záleží na okolnostech - a stejně jej bude muset tvůrce aktualizovat. Takže žádná velká výhra to není - bude platit a ještě se starat. To už je lepší použít tu hotovou platformu, kterou pak opravdu jen užívá.

12
Server / Re:Docker a hosting bez námahy
« kdy: 13. 02. 2021, 16:27:56 »
Měl bych takový dotaz stran provozování Docker kontejnerů. Dá se v ČR najít hosting, který by mi umožnil v podstatě neřešit server a jeho OS, bezpečnostní nastavení aj., ale zabývat se pouze nasazováním jednotlivých kontejnerizovaných projektů?

Předpoklad, že kontejner něco z výše zmíněného vyřeší, je podle mě zcela chybná. Kontejner řeší snadné spuštění projektu v předem specifikovaném runtime. Je sice oddělený od hostujícího os, ale svoji vlastní bezpečnost a snadnou správu neřeší.

Podle popisu spíš hledáte SaaS nebo PaaS. Ale vždy je to něco za něco, i tady můžete z řešení těžit až po jeho osvojení nebo po zaplacení někoho, kdo to řeší za Vás.

13
Takže realtek_rtwifi umí namespaces, ale neumí AP mód, což vylučuje použití dvou stejných wifi karet (jedna jako AP a druhá v namespace jako klient). Je možná kombinace interní wifi RPI v namespace a externí USB wifi pro běžný provoz.

Podpora namespaces v systemd vypadá docela dobře, jedna unit mi vyrobí namespace a druhá tam připojí wifinu a veth rozhraní. Na těchto unitech závisí pak ten IOT komunikační software, který běží ve dvou procesech z nichž jeden je v namespace a povídají si přes rmi. Systemd spustí proces v namespace sám díky direktivě JoinsNamespaceOf a PrivateNetwork.

Děkuji hlavně Ondřejovi Celetkovi a Michalovi Kubečkovi za nasměrování na namespaces. Pro úplně ideální řešení bych potřeboval ještě usb wifi, které umí AP mód (pomocí wpa_supplicant) i namespaces. Pokud by měl někdo tip kde hledat, uvítám to.

14

Nevím zda to je vlastnost hardware nebo kernel modulu, zkoumám tyhle ovladače:

https://github.com/kimocoder/realtek_rtwifi
https://github.com/aircrack-ng/rtl8188eus/issues/104

Takže aby to fungovalo musí network namespaces podporovat explicitně příslušná wifina:

Kód: [Vybrat]
# iw phy phy1 info | grep set_wiphy_netns
* set_wiphy_netns

Což třeba rozšířené usb wifiny s rtl8188 neumí a nedaří se je přesunout do namespace :(

Kód: [Vybrat]
# iw phy phy0 set netns name iotgw-configuration
command failed: Operation not supported (-95)

Což omezuje použití. Ani nevím, jak dohledat, které usb wifiny to umí?

Pokud to wifina umí  - jako třeba ta integrovaná v Raspberry PI - tak to funguje :)

V praxi budu muset konfigurovat IOT zařízení pomocí integrované wifiny (z namespacu) a pro běžný provoz používat externí usb wifinu.

To mne mimochodem nutí také vyřešit predikovatelné (reprodukovatelné) pojmenování síťových rozhraní protože wlan0 a wlan1 se inicializují náhodně takže nepoznám která je která.

15
Takže aby to fungovalo musí network namespaces podporovat explicitně příslušná wifina:

Kód: [Vybrat]
# iw phy phy1 info | grep set_wiphy_netns
* set_wiphy_netns

Což třeba rozšířené usb wifiny s rtl8188 neumí a nedaří se je přesunout do namespace :(

Kód: [Vybrat]
# iw phy phy0 set netns name iotgw-configuration
command failed: Operation not supported (-95)

Což to omezuje použití. Ani nevím, jak dohledat, které usb wifiny to umí?

Pokud to wifina umí  - jako třeba ta integrovaná v Raspberry PI - tak to funguje :)

V praxi budu muset konfigurovat IOT zařízení pomocí integrované wifiny (z namespacu) a pro běžný provoz používat externí usb wifinu.

To mne mimochodem nutí také vyřešit predikovatelné (reprodukovatelné) pojmenování síťových rozhraní protože wlan0 a wlan1 se inicializují náhodně takže nepoznám která je která.

Stran: [1] 2 3 ... 73