Dva příklady toho, proč není JS připravený

javascript NodeJS Tento článek nastartoval jeden hloupý tweet. Měl jsem jej na „to do“ listu již nějaký čas, ale čekal jsem až to někdo tweetne… (-: @MartinSadovy Možná ale to není podstatné. Podstatné je, že JS běží v prohlížeči i na serveru. Isomorphism ftw. PHP je evoluční mrtvola. — Daniel Steigerwald (@steida) January 3, 2015 Nebudu řešit jak je hloupý. Neznám totiž žádnou objektivní stupnici kam bych jej mohl zařadit. Pomůže mi však oprášit pár věcí, které mě štvou a třeba se ukáže, že to dělám úplně špatně. Poslední dobou totiž kopu za Node.js (potažmo Express.js), C i Nette tábor. Vše v jednom projektu. Nicméně jsem odkojen na Nette a tak některé věci řeším v jiném frameworku téměř až se slzou v oku. Rád bych upozornil na to, že nejsem žádný superprogramátor, takže je skutečně možné, že k problému přistupuji špatně. Proto bych byl rád za rozumné podněty a připomínky, nikoliv osobní výstřednosti v komentářích… 1. Odkazy A hned pěkně z ostra. Jak jsem již zmínil, jsem odkojen na…  přečtěte si více

RESP protokol - přímý přístup k Redis databázi

NodeJS redis RESP (REdis Serialization Protocol) je něco, s čím se asi většina lidí nepotká. Důvod je prostý. Tento protokol je většinou zabalen hluboko v knihovně, která pracuje s Redis databází. Existují však situace, kdy se tento protokol hodí. Jednou ze situací je stav, kdy potřebujete předat, nebo naopak získat z Redisu nějaká data a všechno ostatní vyjma RESP komunikace je zbytečné zdržování (u mě třeba sypání dat z procesoru přímo do Redisu). Druhý případ nastane v okamžiku, kdy potřebujete zajistit komunikaci klient-server a potřebujete zvolit vhodný formát přenosu informací. Jedná se tedy o použití tohoto protokolu úplně mimo Redis. Důvodů může být celá řada,…  přečtěte si více

Poslední přednáška na FAV - Nette

kdyby nette Tak a je to… (-: Zveřejňuji mojí poslední přednášku v tomto roce, kterou jsem měl na ZČU na fakultě aplikovaných věd pro studenty předmětu KIV/WEB. Tentokrát jsem si pohrál trošku se zvukem, takže by to oproti minulému týdnu mělo být o mnoho lepší. Tématem této přednášky byl můj oblíbený Nette Framework, konkrétně ve verzi 2.3-dev. Cílem bylo seznámit studenty se základní myšlenkou MVC/P a rychle nastínit o co vlastně v Nette jde a jak se v něm staví jednoduché aplikace. Přednáška nakonec utekla rychleji než jsem čekal a nemohl jsem ukázat vše, proto jsem připravil repozitář na GitHubu ze kterého by mělo být vše jasné (pokud není, můžete se ještě dodatečně ptát).…  přečtěte si více

Přednáška na ZČU - Node.js

IoT javascript NodeJS Jak jsem slíbil, tak zveřejňuji přenášku na téma Node.js, kterou jsem měl dnes na Západočeské univerzitě pro lidi studující předmět KIV/WEB, tedy Webové aplikace. Tato přednáška volně navazuje na předchozí obsah tohoto předmětu. Studenti se pozvolna seznamují s webovým prostředím od úplně základní práce s HTML a CSS až k pokročilým webovým frameworkům. Podívejte se na záznam této přednášky: A prohlédněte si také připravenou prezentaci: Rád bych také poděkoval Honzovi chemix Černému za zapůjčení kamery. A příště? Příště se podíváme na skvělý PHP framework Nette! Tak doufám, že opět dorazíte… (-:  přečtěte si více

Nadvláda inteligentních procesorů

IoT NodeJS stm32 Pár dní zpátky jsem tweetoval o tom, nad čím právě teď trávím asi nejvíce času. Cílem celého mého snažení je dostat data z procesoru, který obsluhuje různé periferie na základní desce až do webového prohlížeče a zpět – vše v reálném čase. Právě dnes jsem dosáhl prvního milníku, tedy dostal jsem nějaká skutečně smysluplná data do prohlížeče a rád bych zde nastínil jak jsem postupoval a jaké technologie jsem volil. Již dříve se totiž ukázalo, že některé reakce na mé články jsou skutečně konstruktivní a tedy i velmi přínosné… (-: Procesor ➡Ethernet ➡NodeJS ➡Redis ➡ExpressJS ➡Socket.IO ➡Browser ✅ pic.twitter.com/MA­IlmMZEL9 — Martin Zlámal (@mrtnzlml) November 8, 2014 Několik slepých uliček Původně byl celý nápad úplně jiný a rozhodně ne real-time. A stejně jako je teď velký trend stavět vše pomocí Raspberry Pi nebo pomocí Arduino, tak i já jsem tak chtěl učinit. Důvod je jednoduchý. Napsat se s pomocí těchto desek dá všelicos velmi rychle a nestojí to moc námahy. Navíc jsem…  přečtěte si více

Dependent select box

ajax javascript nette Občas je v Nette zapotřebí vyřešit dependent select box. Je to relativně málo častý požadavek a o to méně se o něm dá najít, když je to zrovna potřeba. V zásadě existují dvě řešení. Nudné – poctivé a pak zábavné – špinavé. Podívejme se na to, jak se dá takový dependent select box jednoduše vyřešit. Čisté řešení Toto řešení ukazuje jak by se takový problém měl zhruba řešit. Myšlenka je velmi jendoduchá. Prvně potřebujeme data do závislého select boxu. Ty se normálně vyřeší prostřednistvím databáze, v našem případě postačí jednoduché pole. private $database = [ [1 = '2', '4', '9'], [4 = '.', '∴', '…'], [5 = 'π', '€', '©'], ]; Následně je potřeba…  přečtěte si více

Heatmapy ve Wolfram Mathematica

JSON math Právě teď jsem řešil jak vizualizovat nějaká data, která jsou v maticovém formátu. Pro mé účely jsou prakticky dva grafy. Prvním grafem je heatmapa (viz obrázek) a druhým klasický 3D graf, který data reprezentuje stejně dobře (možná lépe), ale v určitých případech je špatně čitelný. Zejména pak když není možnost s grafem otáčet. V mém případě bylo zapotřebí poměrně velké množství grafů, které jsem nakonec minimalizoval na počet 40, takže bylo nemožné je vykreslovat ručně. Zvlášť pokud jsem zajistit, že budou všechny grafy stejné. K tomu jak jsem postupoval se dostanu v další části. Teď však ještě pár úvodních slov k tomu, co jsem to vlastně měřil. Cílem měření…  přečtěte si více

Nastavení TIM3 na STM32F207xx

C stm32 Tento článek už mám dlouhou dobu v hlavě, ale nikdy jsem se neodvážil jej sepsat. Má to svůj smysl. Jedná se o poměrně náročnou problematiku, kterou si myslím, že moc lidí nechápe. Rád bych tedy tímto popíchnul čtenáře o zpětnou vazbu a pokud by se ukázalo, že to smysl má, pokračoval bych někam dál do složitějších věcí, protože toto bude ve výsledku směšně jednoduché… (-: K dispozici mám momentálně dva procesory, ale budu řešit konkrétně STM32F207xx. Ten druhý je ze 4xx řady, ale díky novým Cube knihovnám není v programech žádný rozdíl. Alespoň ne v tom, co bu ukazovat dnes. STM32F207 je procesor založený na 32-bit ARM® Cortex®-M3 od STMicroelecronics. Jedná se o procesor s 120 MHz jádrem, 1024 kB flash pamětí na program a 128 kB SRAM. Celkově se jedná o poměrně výkonnou mršku na které se toho nechá upočítat poměrně hodně a hlavně dokáže ovládat velké množství rozmanitých periferií viz obrázek. Na obrázku je přesně ta samá eval deska s tím samým procesorem, na kterou právě teď…  přečtěte si více

Fígloidní odstranění záhlaví modulu

javascript odoo Dnešní článek bude spíše zápisek, protože jsem řešení tohoto problému hledal neskutečně dlouho a jak se později ukázalo, tak řešení je sice jednoduché, ale je zakořeněné hluboko v jádru Odoo ERP systému. O co jde. Občas je potřeba schovat záhlaví (viz obrázek) u některých modulů. Tento panel má sice dobrý důvod, ale existují případy, kde je prostě nadbytečný. Typický případ takové nadbytečnosti je modul Dashboards (technický název board) kdy je tento prostor nijak nevyužívaný. Zřejmě by tento problém šel řešit nějaký hackem, ale to prostě není dobře. Problém je zde. „Special case for Dashboards“… Jak na to Asi úplně nejjasnější bude, když popíšu posloupnost kroků, které vedou ke správnému řešení. Nejedná se o nic kompikovaného. Všechny níže uváděné postupy jsou klasické postupy při vývoji modulu. Jen je (do teď) pravděpodobně nikde nenajdete, nebo nad tím zbytečně vytuhnete na zoufale dlouhou dobu. Ostatně podívejte se, jak je výskyt tohoto kousku užitečného kódu používaný v…  přečtěte si více

Hledá se obchodník

Tentokrát nebudu psát o ničem technickém, ale vezmu to hned od druhé věty vážně. Do Orgis IT scháníme obchodníka primárně pro Prahu / Plzeň pro rozšíření obchodního teamu. Po dlouhém rozmýšlení máme jasno co požadujeme. Nejedná se o nic zvláštního. Klasicky vyžadujeme samostatnost, pružnost a spolehlivost. To jsou celkem běžné požadavky, takže nemá smysl je zde řešit. Má však smysl řešit obchodní náplň. Jelikož se jedná o IT firmu, byl by vhodný alespoň základní přehled o tom co Orgis IT nabízí. Primárně se teď zaměřujeme na serverová řešení (opravdu velká) a vnitropodnikové ERP systémy o které je největší zájem. Jelikož se jedná o místy dost kompikovanou…  přečtěte si více