NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s podporou uplatnění od 0 Kč. Více informací.
Avatar
Jiko
Člen
Avatar
Jiko:1.12.2016 15:56

Vyvíjím sadu několika webových aplikací. Ve formuláři zadá uživatel vstupní data a appka provede výpočet a zobrazí výsledky. Některé aplikace jsou jednoduché - třeba sada deseti rovnic a hotovo. Některé jsou složitější - matice 100x100 a úpravy na nich, hodně iterace.

  • Všechny aplikace tahají data z sql databází, takže většina vstupních dat je na serveru tak jako tak.
  • Není žádný důvod použít server pro ověření vstupních dat. Uživatel (obejitím frontend validace) může poškodit jen sám sebe.
  • Vyhovuje mi python na serveru, protože má skvělou knihovnu numpy pro numerické výpočty. Ale nechci aby se uživatel rozčiloval kvůli pomalé odezvě. V JS bych to snad taky zvládl naprogramovat.

Provádět výpočty v javascriptu/jquery a přenést tak zátěž na uživatele nebo vše nechat na serveru (python+flask)? Existuje nějaké obecné dopooručení? Díky

 
Odpovědět
1.12.2016 15:56
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Jiko
Petr Čech:1.12.2016 16:20

Pokud jsou data jen pro uživatele tak v prohlížeči. Je zbytečné zatěžovat server.

Nahoru Odpovědět
1.12.2016 16:20
the cake is a lie
Avatar
Odpovídá na Jiko
Neaktivní uživatel:1.12.2016 16:32

Má to běhat i na telefonu? Je ten výpočet potřeba pokaždé, když zobrazíš stránku, nebo méně často?

Nahoru Odpovědět
1.12.2016 16:32
Neaktivní uživatelský účet
Avatar
Martin Florián:1.12.2016 16:39

Zajímavé téma. Určitě bych se přiklonil k tomu, aby výpočty prováděl server. Tady je příklad proč:

  • Mám pár let starý smartphone (1C, 512MB RAM), tedy výpočty budou trvat mnohem déle než na serveru
  • Používám pomalé připojení, takže se výrazně zvýší latence, protože potřebuji nejprve stáhnout všechny JS a následně i vstupní data z DB
  • v případě, že výpočet bude trvat až přiliš dlouho, je celkem jednoduché ho korektně ukončit na serveru a zalogovat událost pro budoucí analýzu
 
Nahoru Odpovědět
1.12.2016 16:39
Avatar
Luboš Běhounek Satik:1.12.2016 16:42

Pokud je to něco, kde je hodně výpočtů a kde je šance, že to bude používat víc lidí, tak na klientu, jinak brzo server přetížíš :) .

Nahoru Odpovědět
1.12.2016 16:42
https://www.facebook.com/peasantsandcastles/
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Jiko
David Hartinger:1.12.2016 17:38

Pokud to je něco, co není příliš obchodně zajímavé, dal bych kód klidně ke klientovi. Když tam dáš ale něco převratného, musíš počítat s tím, že to jde z klienta velmi jednoduše ukrást a to i když to obfuskuješ.

Nahoru Odpovědět
1.12.2016 17:38
New kid back on the block with a R.I.P
Avatar
Jiko
Člen
Avatar
Odpovídá na Neaktivní uživatel
Jiko:2.12.2016 7:53

Odpovím na otázky z diskuze.

  • Předpokládá se většina uživatelů na desktopu. Mobil jen okrajově. Ale tohle se těžko odhaduje.
  • Výpočet proběhne až si uživatel řekne, nikoliv při každém zobrazení stránky.
  • Nechtěl bych aby do kodu někdo hrabal. Díky za připomínku, tohle mi uniklo.

Zatím jsem spíše pro výpočet na serveru. Přetížení je samozřejmě reálná hrozba, takže bych to chtěl sledovat a pak případně řešit.

 
Nahoru Odpovědět
2.12.2016 7:53
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.