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 ... 37 38 [39] 40 41 ... 90
571
Vývoj / Re:Jak vytvořit vlastní debugger?
« kdy: 02. 11. 2019, 18:11:20 »
Neřešil. Ale je to zajímavé téma.

Co třeba umožnit registrovat pozorovatele ve stylu AOP. Tedy můžeš si zaregistrovat jednu nebo více funkcí na místo určené selektorem. Něco jako breakpoint. Když kód přijde na to místo, tak té funkci předá aktuální stav (nutné deepclone). To by nešlo?
Samozřejmě když by si chtěl sledovat všechno, tedy plnohodnotný debuger, tak by se dal selektor na hvězdičku.

jestli je to interpret, breakpoint jde realizovat eval smyckou

Přesně tak, mohlo by jít místo načtení kódu ze souboru jej načítat interaktivně z nějaké konzole. Tak to lze leckdy odladit interaktivněji, než pouhým logem do souboru.

572
Software / Re:Porovnání textu
« kdy: 02. 11. 2019, 18:05:25 »
ahoj jak dostanu text z clipboardu do dalsiho prikazu mezi uvozovky :/


nikde sem v agrep nenašel možnost číst ze souboru

Myslím, že agrep načte ze souboru přeměrováním:

Kód: [Vybrat]
agrep parametry... < soubor.txt

Mezi uvozovky načtete takto:

Kód: [Vybrat]
agrep "$(tesseract parametry...)" gtafull.txt


nebo

Kód: [Vybrat]
agrep `tesseract parametry...` gtafull.txt


573
Server / Re:Provozování dvojího hostingu na jedné doméně
« kdy: 29. 10. 2019, 18:52:40 »
Ta odpověď Forpsi je tristní. Pokud máte vše u nich, měli by Vám hosting zprovoznit a ne vás takto směrovat do fóra navíc s tak neurčitou odpovědí.

Jak bylo řečeno, objednáte prostě další hosting s podporou ASP.NET a MSSQL (hosting nemusí být ani u Forpsi), asociujete ho se jménem beta.domena.cz a nastavíte pro něj DNS záznam beta.domena.cz.

Stávající hosting alpha.domena.cz tím nebude dotčen. Akorát se musíte rozhodnout, na který z obou hostingů bude nasměrována samotná doména domena.cz (tj. bez alpha či beta).

574
Software / Re:Porovnání textu
« kdy: 28. 10. 2019, 22:11:31 »
Děkuju za rady velmi useful...potřeboval bych z dlouhého textu o tisíce řádku najít daný řádek podle nekompletního/poškozenýho textu o jednom řádku z jiného zdroje...a ten s nejvetsí shodou vypsat do *.txt
blbe se to vysvetluje :D

Pokud potřebujete vyhledat přibližnou shodu textu, bude to chtít něco jako Approximate string matching nebo Fuzzy String Matching. To souvisí s tou již zmíněnou Levenshteinovou vzdáleností a dalšími postupy a určitě na to bude nějaký software. Případně lze ten text naimportovat do databáze, například co řádek textu to řádek databáze, a provést hledání tam. Například pro Postgres https://www.freecodecamp.org/news/fuzzy-string-matching-with-postgresql/

575
Sítě / Re:Zabezpečení databáze
« kdy: 23. 10. 2019, 15:02:30 »
Schází zásadní údaj: Co od toho očekáváte a jaký je typický scénář použití. Pro příležitostné připojení je ssh tunel jednoduchostí a bezpečností nepřekonatelný. Pro jiný způsob použití bude ale situace jiná.

576
Vývoj / Re:Uváznutí v Aktor systému
« kdy: 22. 10. 2019, 17:42:24 »
A v případě aktorů by do té session přistupoval aktor nebo systém? Session může sloužit pro uložení ledasčeho, nejen autorizace. Ten storage na data bys řešil jak?
Já bych hlavně session v tomhle smyslu nepoužil. To byl BoneFlutuv napad.

OK. I tak mě ale zajímá, jak bys řešil přístup k persistentnímu storage. A pak jestli bys nechal aktory komunikovat pomocí sběrnice, kde se mohou za běhu porůznu registrovat k odběru událostí jednotliví aktoři. Předpokládejme, že je cílem nějaký výpočetní cluster s probíhajícími výpočty, které na sobě porůznu závisí (nějaká simulace třeba).

577
Vývoj / Re:Uváznutí v Aktor systému
« kdy: 22. 10. 2019, 14:44:56 »
Session znamená připojit stav k původně nestavovému protokolu. Zde vidím rozpor s tím, že jinde říkáš, že mají být aktoři nestavoví. Osobně bych se na session vykašlal, do aktorové koncepce IMHO moc nezapadá.
Myslím, že to BoneFlute řekl správně: pokud se všechna potřebná data drží v session, může být aktor nestavový.

A v případě aktorů by do té session přistupoval aktor nebo systém? Session může sloužit pro uložení ledasčeho, nejen autorizace. Ten storage na data bys řešil jak?

578
Vývoj / Re:Uváznutí v Aktor systému
« kdy: 22. 10. 2019, 14:32:44 »
Ano, buď si musí ti aktoři předávat kompletní data (pak budou aktoři bezstavové funkce cca ve smyslu funkcionálního programování) anebo musí mít nějaké sdílené úložiště (např. databázi), tedy sdílený stav.
Drobná technická: v tomhle konkrétním případě žádné sdílené úložiště není potřeba, pokud aktor vykreslující grafy nebude nikdy požadovat historická data.

Jasně, podobně i ten logovací aktor - taky jen zapíše a zapomene.

579
Vývoj / Re:Uváznutí v Aktor systému
« kdy: 22. 10. 2019, 09:24:40 »
Ten systém by mohl třeba umožňovat to, aby se - pokud jde např. o výpočetní úlohy - do systému registroval nějaký další aktor, který bude odebírat zprávy „výpočet hotov“ a bude z výsledku výpočtu dělat třeba grafy, statistiky nebo notifikace. Takový aktor by šel zaregistrovat ad-hoc, tj. by nebylo potřeba ostatní aktory pro tento případ upravovat, stačilo by napsat toho nového aktora a zaregistrovat ho, klidně za běhu systému. Nakonec by to mohlo vést na distribuovaný systém přes více počítačů.

Ano, tak nějak si to představuju. Zřejmě jsem jenom nepochopil jak to myslí s těmi klienty. Pochopitelně že ti aktoři jsou prostě v roli klient server.

To co popisuješ by ale vyžadovalo, aby ty data byly někde uschovány. Takže nějaký aktor "databázista/knihovník" který výsledky bude uchovávat. Nebo se k tomu poslednímu aktoru přihlásit jako subscriber, aby mi taky poslal výsledek. Ano, tyto vlastnosti a důsledky si uvědomuji.

Ano, buď si musí ti aktoři předávat kompletní data (pak budou aktoři bezstavové funkce cca ve smyslu funkcionálního programování) anebo musí mít nějaké sdílené úložiště (např. databázi), tedy sdílený stav.

Pokud by roli databáze plnil aktor, tak by šlo v principu o implementaci té první varianty, tj. kompletní předání dat (data by protékala message-busem toho systému). Asi bychom raději  chtěli, aby tím nevznikla explicitní závislost na „databázovém“ aktoru, takže bychom chtěli, aby o sobě aktoři nevěděli a pouze se registrovali k odběru událostí. Takže by pak komunikace mohla probíhala stylem:

Citace
A->systém: máte někdo data xy?
systém->A: tady má někdo data xy

Oprávnění by se řešilo předáním autorizačního tokenu při dotazu na data nebo při registraci k odběru události „tady má někdo data xy“. Záleží samozřejmě, zda by aktor věděl, kdo mu zprávu zasílá a zda by pak odpovídal zpětně tazateli, nebo zda by odpověď vkládal na message-bus, tj. emitoval zprávu „tady má někdo data xy“. Druhá varianta je lepší, pokud se vyřeší oprávnění a třídění zpráv kvůli výkonu (aby ten systém nelehnul, protože bude každý reagovat na každého).

Já bych to řešil právě tou session. Přijde mi to takové intuitivnější. Aktor A + Zpráva + Session komunikace (kterou dodá obsluha). Tedy to, zda je ta zpráva od aktora B, nebo C(, nebo dokonce B jiná session) řeší runtime, a nikoliv vlastní Aktor. Aktor je jen a pouze vlastní logika. Takto si to představuju. V čem bych mohl narazit?

Session znamená připojit stav k původně nestavovému protokolu. Zde vidím rozpor s tím, že jinde říkáš, že mají být aktoři nestavoví. Osobně bych se na session vykašlal, do aktorové koncepce IMHO moc nezapadá.

580
Vývoj / Re:Uváznutí v Aktor systému
« kdy: 21. 10. 2019, 22:22:10 »
Jak to myslíš víc jak jednoho klienta?

Ten systém by mohl třeba umožňovat to, aby se - pokud jde např. o výpočetní úlohy - do systému registroval nějaký další aktor, který bude odebírat zprávy „výpočet hotov“ a bude z výsledku výpočtu dělat třeba grafy, statistiky nebo notifikace. Takový aktor by šel zaregistrovat ad-hoc, tj. by nebylo potřeba ostatní aktory pro tento případ upravovat, stačilo by napsat toho nového aktora a zaregistrovat ho, klidně za běhu systému. Nakonec by to mohlo vést na distribuovaný systém přes více počítačů.

IMHO by stačilo použít existující aktorový systém (akka ...) - psát vlastní má smysl pro výukové potřeby nebo pro speciální případy (běh na speciálním hardware...).

581
Vývoj / Re:Uváznutí v Aktor systému
« kdy: 20. 10. 2019, 03:05:23 »
Předpokládejme dva aktory A a B.
A -> B: kolik je hodin
B -> A: 19:41
A -> B: supr, díky
B -> A: není zač

IMHO je čisté řešení rozšířit zprávy OK na několik zpráv s tím, že některé zprávy budou terminální (konečné) a při jejich obdržení se ukončí komunikační transakce. Pokud jde o nějaký systém pro výpočty, pak budou aktoři asi nějací workeři. Ti workeři se budou nalézat v různých stavech a zprávy budou emitované při změně jejich stavu. Na odběr zprávy se budou moci registrovat další workeři, zajišťující třeba navazující výpočty. Pak si lze nakreslit všechny stavy, které může výpočet mít (všechny výpočty mohou mít buď totožnou množinu stavů anebo se množina stavů může odlišova podle prováděného výpočtu). Pokud jsou známy všechny stavy, lze si znázornit povolené přechody mezi těmi stavy a z toho lze pak vidět, kde vzniká cyklus a zda ten cyklus je žádoucí. Pokud žádoucí není, napojí se do cyklu exit vedoucí na nějaký terminální stav - například při dosažení nějakého čítače, nebo při překročení časového timeoutu apod.

V případě že jde o komunikaci jen dvou aktorů, je situace podobná. Pokud je vyžadováno potvrzení, jde o transakční chování a to opět znamená držet stav a vyřešit všechny možné okrajové situace (latence při přenosu zpráv, zprávy přijdou v opačném pořadí, zpráva přijde poškozená, duplicitně nebo vůbec, dojde pamět k držení stavu, je nutno řešit životnost stavu, ... atd).

Vždy je dobré se inspirovat v reálném světě - jak si zprávy předávají lidé s jednosměrnou vysílačkou? Používají konvenční signalizaci pomocí slov jako: přepínám... opakuji... rozumím... konec. Taky se lze podívat na síťové komunikační protokoly s handshakem, s retransmisí... Nebo se podívat na oběh dokumentů na úřadě - jsou tam také lhůty pro reakci, je určeno kdo to má všechno a v jakém pořadí schválit a orazítkovat, je tam lhůta na promlčení atd. - dokonce tam může dojít i k tomu zacyklení :-D

Zpátky k jednoduchému případu hodin. Místo OK - OK bude víc potvrzovacích zpráv rozlišujících, kdo co potvrzuje. Tím cyklus zmizí - vznikl pouze nedostatečným rozlišením zpráv. Například:

Citace
A->B: kolik je hodin?
B->A: je 10.30h
A->B: potvrzuji přijetí času 10.30h
B->A: díky za potvrzení, transakce dokončena

Pokud A nepotvrdí přijetí, může B poslat odpověď znova:

Citace
...
B->A: opakuji, je 10.30h
A->B: potvrzuji přijetí času 10.30h
B->A: díky za potvrzení, transakce dokončena

Nemá smysl, aby A ještě dál potvrzoval, že dostal od B potvrzení o tom, že A obdržel čas, na který se Bčka ptal.

U distribuovaných transakcí to může být složitější, tam může několik uzlů potvrzovat různé skutečnosti a teprv při splnění všech požadovaných podmínek dojde k uplatnění výsledné akce. Pokud budete mí ale výpočetní grid a budou mezi výpočty závislosti, budete to asi také řešit.

582
Vývoj / Re:Uváznutí v Aktor systému
« kdy: 16. 10. 2019, 18:18:56 »
Aktorům sice nehovím, ale nepomohlo by prostě vědě, co aktor A a B ve skutečnosti dělají? Protože obecně na to snad ani nemůže být odpověď.

583
Windows a jiné systémy / Re:Úprava Windows Exploreru
« kdy: 15. 10. 2019, 20:16:36 »
Zacal som to citat ze to bude zaujimave. V bode kde chlapec pise ze to chce co najviac win7 style a "zhlupiet" nazvy som prestal a myslim ze by si toto vlakno zasluzilo lock

Dal bych to do kategorie Humor a bude vše OK.

584
Windows a jiné systémy / Re:Úprava Windows Exploreru
« kdy: 15. 10. 2019, 14:22:42 »
Opravdoví programátoři nepotřebují přisprosťovat Explorer, opravdoví programátoři mají totiž OSTRAJavu


585
Hardware / Re:Rada: bare metal s dobrou cenou a spolahlivostou?
« kdy: 13. 10. 2019, 16:11:16 »
OVH špatně komunikuje - zrušili českou pobočku a byť jen platba služeb je utrpení. Například přes žádosti na podporu nestihli započítat platby včas a nakonec nám z důvodu neplacení smazali VPS. Není to ojedinělý případ, u jiných VPS tamtéž to probíhalo podobně, akorát platby po urgencích zvládli započítat včas, takže ke smazání nedošlo. Problém je i komunikace - psal jsem jim anglicky a odpověděli, že nekomunikují naším národním jazykem a že máme počítat s prodlevou, než si to přeloží. Pak odpověděli asi až za týden a to jsem tam musel ještě volat. Celkové řešení bylo v rámci týdnů. WTF, tomuto přístupu lze jen těžko uvěřit, šlo o urgentní věc - mylné zrušení služby! Další příklad - jednou nám nefungoval mail, něco se tam zbláznilo v doméně a nešlo nastavit a aktivovat službu. Opět problém s řešením v řádu týdnů. Před tím bylo ale několik let celkem bez problému. Pokud to mám shrnout - problémy se řeší těžko a zdlouhavě. Šlo sice vždy o nízkonákladové VPS, ale po těchto zkušenostech bych byl velmi opatrný i u ostatních služeb OVH.

Stran: 1 ... 37 38 [39] 40 41 ... 90