- JavaScript topic
- 47,5 milliárd dollárt költ chipekre Kína, várja a Samsungot is
- Aliexpress tapasztalatok
- Linux kezdőknek
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Windows 11
- NVIDIA: a következő nagy dolog az AI-generálta videó
- Elhozná az olcsó önvezető autók korát az Xpeng
- Amazon Prime Video
- Zimbabwébe ment a Starlink
Új hozzászólás Aktív témák
-
petyus_
senior tag
Sziasztok!
Tavaly kezdtem fejleszteni saját felhasználásra egy home budget appot (net core + angular), egy ideje már használom is, viszont van egy elég fontos kérdés, amit csak tolok magam előtt. A számlák egyenlegének kiszámítása. (tudom, létezik ezer ilyen, valószínűleg jobbak is, mint amit magamnak csinálok, de rengeteget tudok tanulni belőle, illetve volt már 1-2 feature, ami felmerült, hogy hasznos lenne, és máshol nem láttam.)
Jelenleg ez nincs eltárolva a db-ben, hanem a számla lekérésekor kiszámolom. Ez egyértelműen nem túl hatékony, egyelőre viszont működik, 10K+ rekordnál is megvan pár ms alatt. Ennek ellenére szeretném normálisan megoldani, illetve most felmerült egy új feature ötlete. Szeretném megjeleníteni a számlák egyenlegének alakulását egy grafikonon. Írtam egy brute force megoldást, de ez már most nagyon sokáig tart (kiszedek minden számlát a db-ből hozzájuk tartozó transactionökkel, megkeresem a legelső dátumot, onnan szépen végig kell menni, és hiába szűrnék mondjuk az tuolsó 30 napra, akkor is végig kell menni az összesen).
Alapból egyszerű lenne egy minden nap lefutó jobbal rögzíteni a rendszerbe az aznapi egyenleget, így az aktuális egyenleghez elég lenne lekérni az előző napi zárás, plusz az aznapi tranzakciókat (3 évnyi adatom van, összesen ~6K transaction, tehát napi 5-6). Viszont itt a dátum az nem feltétlen egyezik a hozzáadás dátumával, előfordul, hogy pl valamit elfelejtettem felírni, és 3 hét múlva utólag hozzáadom, illetve módosítani is lehet régebbi recordokat. Emiatt a napi egyszeri mentés az kevés sajnos.
Most épp az merült fel bennem, hogy lenne egy job, ami létrehoz minden számlához minden nap egy recordot, ahova lényegében átmásolja az előző napi értéket, és minden tranzakció insert/update/delete esetén végigmegyek a balance-okon, és újraszámolom őket. Viszont itt is felmerül, hogy ha pl 2 hónappal ezelőttre bekerül egy új érték, akkor egy sima add is sokáig tartana, mivel végig kell menni az elmúlt két hónap balance-ain.
Miközben írom, még az jutott eszembe, hogy esetleg lenne egy havi záró érték, és akkor gyorsabb lenne az add/update/delete, mivel ha aktuális hónapban vagyok, nem is kell semmit hozzáadni. Viszont a napi értékek megjelenítésével ezzel ugyanott vagyok.
Lenne esetleg valami ötletetek?
[ Szerkesztve ]
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Politika
- Ukrajnai háború
- Konzolokról KULTURÁLT módon
- AMD Ryzen 9 / 7 / 5 / 3 3***(X) "Zen 2" (AM4)
- Dark Souls sorozat
- eMAG/edigital vélemények - tapasztalatok
- Zenelejátszó építése, a kiváló hangzásért
- Formálisan megjelent a Microsoft felskálázó eljárása
- Motoros topic
- Épített vízhűtés (nem kompakt) topic
- További aktív témák...
- Microsoft Surface Book 2in1 Érintős Szétszedhető Laptop Tablet 14 -60% i5-7300U 8/256 QHD+ Win10Pro
- Lenovo Thinkpad T490, 14" FHD IPS, I5-8365U, 16GB DDR4, 256GB SSD, WIN 10/11, Számla, garancia
- Féláron! Új Dell XPS 13 9315 Prémium Érintős Profi Ultrabook 13,4" -50% i7-1250U 16/512 UHD+ Iris Xe
- Apple iPad Mini 6th gen 64 gb wifi + cellular SpaceGrey
- Lenovo ThinkPad P70 Workstation, Mobil munkaállomás, 17" FULL HD IPS, Xeon E3-1505M V5 CPU, 32GB DDR
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs