Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Vývoj / Re:Ako zachytit ukoncenie JS Web Workeru?
« Poslední příspěvek od Wangarad kdy Dnes v 17:59:52 »
Bohužiaľ, v Shared Workers ani v bežných Web Workers neexistuje žiadna natívna udalosť typu beforeunload alebo iná udalosť, ktorá by sa spúšťala tesne pred ich ukončením. Akonáhle posledné spojenie (port) k Shared Workeru zanikne, prehliadač jednoducho ukončí jeho beh bez nejakej "poslednej šance" na vykonanie čistiacich operácií z jeho vnútra.

Dôvody a detaily:

Shared Worker životný cyklus:
Shared Worker je udržiavaný nažive pokiaľ existuje aspoň jeden otvorený komunikačný kanál (port) z niektorej zo stránok. Ak máte napríklad dve otvorené karty a obe sú pripojené k rovnakému Shared Workeru, worker beží. Ak jednu kartu zavriete alebo refreshnete, jej porty sa ukončia, no Shared Worker pokračuje v behu, pokiaľ druhá karta je stále pripojená. Ak ale zatvoríte či refreshnete poslednú kartu, ktorá ho používa, Shared Worker zanikne.

Neexistencia "cleanup" eventov v workeroch:
Na rozdiel od hlavného okna (Window) v prehliadači, kde existujú udalosti ako beforeunload či unload, workery (či už Dedicated alebo Shared) takéto mechanizmy nemajú. Dôvodom je, že workery bežia v izolovanom vlákne a ich ukončenie je riadené zo strany prehliadača bez explicitného upozornenia workerov.

Prečo to nejde len vo workeri?
Vývojári bežne riešia „čistenie“ websocketového spojenia alebo iné cleanup akcie pri udalostiach na strane hlavnej stránky – napr. pri beforeunload odoslať do workera správu na uzavretie websocketu. Ak to však striktne nechcete robiť z hlavnej stránky, potom vám v rámci API Shared Workeru neostáva žiadna priama cesta. Worker nevie "sám od seba", že bude ukončený – on jednoducho skončí, keď niet žiadnych portov.

Možné obídenie problému (workaround):

Nepriame signály: Aj keď to nechcete, najčastejšie riešenie je využitie rozhrania medzi stránkou a workerom. Pri beforeunload vo Window odoslať do Shared Workera správu v štýle "odhlasujem sa, uzavri websocket". Ak je to posledný port, tak worker vykoná cleanup pred ukončením.

Timeout / Heartbeat mechanizmus vo workeri: Môžete vo workeri implementovať mechanizmus, ktorý periodicky kontroluje počet otvorených spojení (portov) a pokiaľ zistí, že žiadne nie sú (t.j. odpojí sa posledný port), tak uzavrie websocket. Keďže po odpojení posledného portu už worker žije len veľmi krátko, je isté, že s týmto timeoutom/heartbeatom bude code spustený predtým, než browser worker zruší. Toto však môže byť nespoľahlivé, ak browser ukončí worker príliš promptne – závisí to od implementácie prehliadača. Niektoré prehliadače worker ukončujú takmer okamžite, iné dávajú "pár milisekúnd navyše". Tento prístup nie je 100% garantovaný.

Architektonické úpravy backendu: Ak viete zmeniť správanie na strane servera, môžete upraviť logiku tak, aby "stare" spojenia po novom pripojení od toho istého klienta boli ihneď invalidované. Teda ak sa znova prihlási rovnaký klient s rovnakou identitou, staré spojenie sa na serveri ukončí. Tým vyriešite problém s čakaním na timeout.
2
Server / Re:Jak zálohovat mailboxy, ale zachovat přístup přes klienty?
« Poslední příspěvek od rabbitko kdy Dnes v 17:22:43 »
Je varianta na jednom z těch serverů vytvořit emailový server...
to v pincipe vnimam ako velmi podobne riesenie tomu nasmu s jednym (asi teda podstatnym) rozdielom a to, ze by archivne mailboxy boli ine / na inej domene. Preco by to malo s inou domenou fungovat a pod tou istou nie? ved napr. v imapsync sa urcuje prostrednictvom imap adries zdrojovy a cielovy server a tu adresu by mal kazdy server samozrejme svoju vlastnu v dns, takze preco by malo dojst k nejakemu problemu?
3
Server / Re:Jak zálohovat mailboxy, ale zachovat přístup přes klienty?
« Poslední příspěvek od rabbitko kdy Dnes v 16:30:22 »
Dovod zalohy je, ze nestaci kapacita a u externych providerov sa neda nic zvysovat donekonecna s ohladom na financnu rentabilitu.

Ako tu uz bolo spomenute, automaticka archivacia v Outlooku proste dlhodobo nefunguje a uz vobec nefunguje (v podstate ani podla MS nema fungovat) pristupovanie k remote pst priamo z Outlooku.

"syncovanim dosahnes toho, ze budes mit vsude vsechno, to asi neni to co resis ze?"
No ja si myslim (ak v tom vidite problem, napiste prosim aky), ze je to viac menej co chceme. Proste, aby bola vsetka posta na oboch backup serveroch s vynimkov hostingu, na nom bude len posta, ktora sa este nestihla dostat na backup servery

rovnou zapomen na to, ze ti jakejkoli beznej user bude menezovat 2+ ruzny ucty
Uplne suhlasim a vobec sa nespolieham na userov (o tom je predsa prvy post). V Outlooku by sme konta userom nastavili my tak, ze default konto by bolo to hostingove a to dalsie by sme pridali tieu.
Vo vysledku by teda kazdy user videl v hlavnom okne priecinky oboch mailboxov automaticky, teda jedina aktivita user by spocivala v tom, ze ked bude chciet vidiet postu starsiu ako 24h, jednym kliknutim prejde na jeho "archivny" mailbox. Ak v tom vidite problem, prosim napiste v com by bol.

"Zdaleka nejjednodussi varianta je ... pridat prostor. Nebo to presunout na vlastni HW s dostatkem prostoru"
Zase musim suhlasit, otazka je ako to spravit, tak, aby pre userov bola vsetka posta v Outlooku? Uplne odstrihnutie sa od hostingu a pouzivat vylucne nase servery neprichadza do uvahy pretoze nemame k dispozicii dalsi priestor s osobitnym pripojenim a napajanim, ,takze v pripade vypadku pridu alebo netu by sme boli v... Mimo...
4
Server / Re:Jak zálohovat mailboxy, ale zachovat přístup přes klienty?
« Poslední příspěvek od redustin kdy Dnes v 15:11:04 »
"nestačí kapacita" - výkonová nebo úložný prostor? Obojí jde přece zvýšit, ne?
5
Server / Re:Jak zálohovat mailboxy, ale zachovat přístup přes klienty?
« Poslední příspěvek od jjrsk kdy Dnes v 15:05:47 »
...
Ehm ... syncovanim dosahnes toho, ze budes mit vsude vsechno, to asi neni to co resis ze?

Dal rovnou zapomen na to, ze ti jakejkoli beznej user bude menezovat 2+ ruzny ucty a resit, co kde jak muze nebo nemuze delat, pripadne kde ma zrovna mail kterej hleda.

Zdaleka nejjednodussi varianta je ... pridat prostor. Nebo to presunout na vlastni HW s dostatkem prostoru, ale zapomen na silenosti typu 2+ ruzny mailboxy, to nefunguje nikdy a nikde.

Outlooku nastavit automatická archivace a archiv uložit na nějaké úložiště, např. OneDrive.
Nastavovat si muzes co chces, ale fungovat to nebude, nefunguje to uz 10+let. Naposled to pokud si pamatuju jakoz takoz fungovalo v nejaky express variante. Navic sme opet u toho, ze to znamena, ze ten user musi mit pripojeny pst s archivem. Ten archiv pak musis nejak zalohovat. Pst je sam o sobe silenej format, kterej se nekde u 20GB podela (pripadne se z toho podela utlouk) tudiz takovych archivu bude mit uzivatel casem X ruznych.

Apropos, samozrejme ze pokud chces cokoli co se ty automaticky archivace z utlouka nastavovat, aby sis otestoval jak to nefunguje, tak to neudelas nijak centralne, musis pekne obeji kazdeho jednoho usera a nastavit to pod nim.

Citace
a na každou emailovou schránku vytvořit synchronizační úlohu.
Tohle bych chtel videt jak bys delal bez toho, abys mel nekde ulozena hesla vsech useru, coz vubec mit nesmis.
6
Vývoj / Ako zachytit ukoncenie JS Web Workeru?
« Poslední příspěvek od hknmtt kdy Dnes v 14:58:33 »
Web worker ma connect event ale uz nema closed event. Mam shared worker ktory ma websocket spojenie pre notifikacie, ale ak mam napriklad iba jedno okno otvorene a refreshnem stranku, tak to zabije worker a znovu ho spusti. Problem je, ze worker neodosle cez websocket close event a teda spojenie neuzavrie "cisto". A musim potom cakat nejaky cas, kym mi backend timeoutne stare spojenie a umozni nadviazat nove spojenie.

Je mozne nejak zaznamenat nieco ako "beforeunload" event v web workeroch a vykonat tak "cistiace" prace pred tym nez ich prehliadac zabije? A musi to byt v workeri, nemoze ist o vyuzitie broadcast kanalu a poslat info workeru z prehliadacu, lebo pri shared workeroch by som si tak zabil worker napriek tomu ze mozem mat otvorene viacej zaloziek a worker nema dovod byt zatvoreny.
7
Já tam žádný radar nevidím, pouze úsekové měření pomocí kamerového systému. Na sloupě jsou WiFi antény a stejně tak jsou na domě vedle.

No, to je spíše pravděpodobné, že rušičku tam umístil někdo, kdo tudy často ve spěchu projíždí, takže zaruší komunikaci toho bazmeku a vyhne se tak pokutám.
8
Server / Re:Jak zálohovat mailboxy, ale zachovat přístup přes klienty?
« Poslední příspěvek od vfko kdy Dnes v 13:53:15 »
Citace
Mame par 10tok mailboxov na beznom zdielanom hostingu, ktoreho kapacita uz nestaci.

Znamená to, že vám dochází místo a potřebujete ho uvolnit? Dala by se v Outlooku nastavit automatická archivace a archiv uložit na nějaké úložiště, např. OneDrive. Ten by ale nebyl přístupný např. z mobilu.

Citace
Hladame teda dlhodobo funkcny a efektivny sposob zalohovania tak, aby zalohovane emaily boli viac menej vzdy jednoducho pristupne zo vsetkych emailovych klientov (prevazne MS Outlook), s tym, ze pokial mozno, nebude potrebna nejaka pravidelna manualna aktivita na strane klientov.

Je varianta na jednom z těch serverů vytvořit emailový server, dobrý zkušenosti mám s Mailcow (open-source, instalace je celkem jednoduchá, pokud umíte s Linuxem a Dockerem, postup je v dokumentaci). Pak vytvořit novou emailovou doménu, např. @domena-zaloha.cz a na každou emailovou schránku vytvořit synchronizační úlohu. Bude si to neustále stahovat obsah z oficiální emailové schránky do zálohové. Vše se dělá v grafickém rozhraní a je to celkem jednoduché.
Pokud by ale emaily měly být dostupný i veřejně (v Outlooku), bude potřeba doménu zaregistrovat a nastavit DNS záznamy.

Ideálně na fyzický server nainstalovat Proxmox (nebo cokoliv) a udělat to ve virtuálním serveru. Podstatně lépe se to bude celé zálohovat, případně přenášet na jiný server. Další varianta je si pronajmout VPS, tím opadne starost o železo.
9
/dev/null / Silniční radar ruší spojení telefonu s autem (Kly u Mělníka)
« Poslední příspěvek od me vakérav kdy Dnes v 13:43:23 »
Mám telefon spárovaný přes bluetooth s autem. Používám to na Android Auto, písničky a podobně. Pokaždé, když jedu přes obec Kly (u Mělníka někde směrem na Prahu), přesněji řečeno na souřadnicích tady (50.308N, 14.515E), tak se spojení přeruší. Znova se spojí až tak po 100 metrech.

Nikde jinde se mi to nerozpojuje. Rozpojuje se minimálně ještě jiný telefon. A minimálně ještě jedno další auto. Rozpojí se pokaždé bez výjimky, už minimálně několik měsíců. Otázky:

  • Jak je to možné? Čím to může být? Je tam nějaká rušička?
  • Proč zrovna tam? Je tam silniční radar (měří rychlost), ale ten bývá na spoustě dalších místech a nic se mi nerozpojuje. Včetně na dalším místě o kousek dál ve stejné obci – tam je to v pohodě. To místo je jinak celkem nezajímavé, je to celkem řídká vesnice, víceméně mezi poli.
  • Je to legální?
  • Není to nějak nebezpečné? :)

Díky za každý názor.
10
Studium a uplatnění / Re:Poměr cena vs. výkon u seniorních vývojářů
« Poslední příspěvek od Pavel... kdy Dnes v 13:24:06 »
Disclaimer: Nejsem normální vývojář.

ano, vidno z toho textu :)

ono je lahke byt hviezdovu, ked clovek pride novy na projekt a jedine co ma na starosti je vyriesit problem, kvoli ktoremu je nakontrahovany. Osobne si cenim takych ludi, nie z dovodu, ze by boli lepsi, ale z dovodu, ze viem, ze ked mu zverim nejaku ulohu, tak to nezapadne pod dalsimi poziadavkami :).

Mam znameho ktory ma presne zasobuje podobnymi historkami, ako sa niekde na pol roka ocitol, porobil hrst vylepseni  potom siel zase o dum dal. Je jediny z ludi ktorych blizsie poznam, ktory to zvlada takto robit desatrocia. Ostatni casom si nasli teple miesto a tam zahnivaju. Nie je mi zrejme, ci to je mam chapat ako stasie alebo smolu :P.
Stran: [1] 2 3 ... 10