Zadejte hledaný výraz...

Potřebuji vymyslet funkci, která vrací přibližný, nějakým způsobem kvantifikovaný aktuální čas

crs
verified
rating uzivatele
(1 hodnocení)
20. 4. 2016 15:48:41
Zdravím,
Potřebuji vymyslet funkci, která (jako číslo - timestamp) vrací přibližný, nějakým způsobem kvantifikovaný aktuální čas (třeba na hodiny), ale současně je imunní vůči změně (odbití další hodiny), která může nastat během posledních pár sekund.
Tj. aby třeba pro 15:59:58 a 16:00:01 vrátila stejnou hodnotu, stejně jako 15:29:59 a 15:30:01, atd. Nejedná se o zaokrouhlování.
Snad jsem to podal srozumitelně.
Díky za případné nápady
20. 4. 2016 15:48:41
https://webtrh.cz/diskuse/potrebuji-vymyslet-funkci-ktera-vraci-priblizny-nejakym-zpusobem-kvantifikovany-aktualni-cas/#reply1190717
Nishkam
verified
rating uzivatele
(3 hodnocení)
20. 4. 2016 15:53:49
* V jakem programovacim jazyce?
* Co presne znamena "imunni vuci zmene"?
* Nestacila by time() v php? Pripadne treba round(time(),2)
20. 4. 2016 15:53:49
https://webtrh.cz/diskuse/potrebuji-vymyslet-funkci-ktera-vraci-priblizny-nejakym-zpusobem-kvantifikovany-aktualni-cas/#reply1190716
Luděk Novák
verified
rating uzivatele
20. 4. 2016 16:09:27
A nechceš tam ukládat opravdový čas změny a funkci mít jenom v porovnání? Můžeš pak ladit citlivost u různých typů obsahu,...
20. 4. 2016 16:09:27
https://webtrh.cz/diskuse/potrebuji-vymyslet-funkci-ktera-vraci-priblizny-nejakym-zpusobem-kvantifikovany-aktualni-cas/#reply1190715
crs
verified
rating uzivatele
(1 hodnocení)
20. 4. 2016 16:23:22
Napsal nishkam;1286188
1) V jakem programovacim jazyce?
2) Co presne znamena "imunni vuci zmene"?
3) Nestacila by time() v php? Pripadne treba round(time(),2)
ad 1) na tom nezáleží, resp. ptám se nespecificky na jazyk
ad 2) jak jsem psal - "Tj. aby třeba pro 15:59:58 a 16:00:01 vrátila stejnou hodnotu, stejně jako 15:29:59 a 15:30:01, atd." Ještě jinak řečeno: aby nikde nedocházelo k "lámání" na různé dva různé výsledky u vstupů (časů) lišící se řádově o sekundy.
ad 3) právě, že nestačila (též jsem psal - "Nejedná se o zaokrouhlování") - dva časy, o pár vteřin různé, se tímto zaokrouhlí na dva různé výsledky, což mi je na nic.
Napsal ndpudo;1286194
A nechceš tam ukládat opravdový čas změny a funkci mít jenom v porovnání? Můžeš pak ladit citlivost u různých typů obsahu,...
To mě také napadlo, ale radši se ptám tady.
20. 4. 2016 16:23:22
https://webtrh.cz/diskuse/potrebuji-vymyslet-funkci-ktera-vraci-priblizny-nejakym-zpusobem-kvantifikovany-aktualni-cas/#reply1190714
TomasX
verified
rating uzivatele
(4 hodnocení)
20. 4. 2016 16:59:43
způsob jaký jsi nastínil není reálný, počítače vždy pracují s diskrétními hodnotami a není možné plynuje přecházet mezi stavy jak v analogu.
vidím 3 řešení:
1) uděláš funkci stavovou a budeš "táhnout" poslední hodnotu po určitý stupeň volnosti s určitou tolerancí. Příklad, vrátíš 15:59:58 a budeš ho vracet pokud alespoň každou sekundu budeš zavolaný alespoň jednou (now() - last_call <= 1) po určitou maximální dobu třeba pěti sekund (now() - 15:59:58 <= 5). Tím zajistíš, že pokud budou chodit hodnoty, budeš je škatulkovat dohromady, ale pořád tady je riziko, kdy poznat kdy vrátit novou hodnotu
2) funkce nebude realtime, ale bude mít latency a podle histogramu poté můžeš hodnoty rozdělit rovnoměrně nebo podle svých pravidel. Klasicky hodnoty naliješ do bufferu o určité velikosti (či časové délce) a jakmile buffer naplníš nebo uplyne timeout pro naplnění, podíváš se jaké má hodnoty a časy a rozdělíš podle četnost na X intervalů
3) nevím přesně o jaká data se jedná, ale v databázích je znám algoritmus shardering, kdy hodnoty hashují a grupuje podle výsledného hashe, tím databáze v clusteru zajišťují rovnoměrné rozložení napříč mnoha stroji a snaží se tímhle naivním (ale účinným) způsobem odstranit úzké hrdlo a rozložit zátěž
Měl bys více přiblížit účel a o jaká data se jedná, nesetkal jsem se s podobným požadavkem už hodně dlouho. Teoreticky můžeš skombinovat i klasické dělení přes internvaly a bod 2) kdy jakmile dorazíš na hranící hodnoty, začneš bufferovat, abys zjistil kolik dalších hodnot a s jakou četností přesahují do dalšího intervalu a pokud budou ojedinělé, zařadil je do předchozího intervalu nebo pokud budou soustavně pokračovat, vytvořil novej.
20. 4. 2016 16:59:43
https://webtrh.cz/diskuse/potrebuji-vymyslet-funkci-ktera-vraci-priblizny-nejakym-zpusobem-kvantifikovany-aktualni-cas/#reply1190713
Pro odpověď se přihlašte.
Přihlásit