Vela β cache marani-tsaina ho an'ny andiam-potoana sy ny maro hafa
Ao amin'ny fintech, matetika isika dia tsy maintsy mamolavola angon-drakitra momba ny tahan'ny fifanakalozana vola be. Mahazo angon-drakitra avy amin'ny loharano samihafa izahay, ary samy manana ny heviny ny tsirairay amin'izy ireo amin'ny fomba hanoratana ny tahan'ny fifanakalozana ho an'ny rahampitso, ny ampitso, ny volana ho avy ary na dia ny telo taona manaraka aza. Raha misy afaka maminavina ny tahan'ny tsara, tonga ny fotoana hanakatonana ny raharaham-barotra ary hadalana hanova vola miverina sy miverina. Ny loharano sasany dia azo itokisana kokoa, ny sasany dia manome fako feno, miaraka amin'ny fampidirana tsy fahita firy amin'ny sanda marina, fa ho an'ny mpivady vahiny. Ny asantsika dia ny manasivana ireo soatoavina an'aliny isan-tsegondra ireo ary mamaritra izay tena haseho amin'ny mpanjifa. Mila manivana ny sanda marina iray amin'ny loto sy fotaka an-taoniny isika, toy ny ataon'ny flamingo amin'ny sakafo antoandro.
Ny tena mampiavaka ny flamingo dia ny vavany miolikolika midina midina, izay manasivana sakafo amin'ny rano na fotaka.
- Vicki
Noho izany dia teraka ny tranomboky Vela, izay mitahiry cache-panjakana ho an'ny sanda marobe amin'ny elanelan'ny fotoana voafaritra. Eo ambanin'ny satroka dia manivana ny angona ratsy sy lany andro amin'ny lalitra, ary manome fidirana amin'ny farany ihany koa N sanda voamarina ho an'ny fanalahidy tsirairay (mpiara vola, raha ny anay).
Andao atao hoe manangona taham-bola ho an'ny mpivady vola telo. Famaritana tsotra indrindra Vela mba hitahiry ny fanjakana ankehitriny dia ho toy izao:
defmodule Pairs do
use Vela,
eurusd: [sorter: &Kernel.<=/2],
eurgbp: [limit: 3, errors: 1],
eurcad: [validator: Pairs]
@behaviour Vela.Validator
@impl Vela.Validator
def valid?(:eurcad, rate), do: rate > 0
end
Fanavaozana ny soatoavina
Vela.put/3 Ny asa dia hanao izao manaraka izao amin'ny filaharana:
hiteraka validator momba ny sandany, raha voafaritra ny iray (jereo ny toko fankatoavana ambany);
dia hanampy ny sanda na amin'ny laharan'ny sanda tsara raha toa ka nahomby ny fanamarinana, na amin'ny laharana serivisy :__errors__ raha tsy izany;
hiteraka fanasokajiana raha sorter voafaritra ho an'ny fanalahidy nomena, na hametraka fotsiny ny sanda eo amin'ny lohan'ny lisitra (LIFO, jereo ny toko manavaka ambany);
dia hanapaka ny laharana araka ny parameter :limit nampitaina taminβny famoronana;
masontsivana configuration threshold, ary - azo atao - compare_by, jereo ny toko Comparison eto ambany.
Raha mahomby ny fanamarinana, dia ampidirina amin'ny lisitra eo ambanin'ny fanalahidy mifanaraka amin'izany ny sanda; {serie, value} mandeha any :__errors_.
fampitahana
Ny soatoavina voatahiry ao anatin'ireo andalana ireo dia mety ho na inona na inona. Mampianatra Vela mba hampitahana azy ireo dia ilaina ny mamindra compare_by Parameter amin'ny famaritana andiany (raha tsy azo ampitahaina amin'ny fenitra ny soatoavina Kernel.</2); ity paramètre ity dia tokony ho karazana (Vela.value() -> number()). Amin'ny alà lan'ny default dia tsotra izany & &1.
Azonao atao koa ny mampita paramètre amin'ny famaritana andalana comparator kajy ny sanda delta (min/max); ohatra amin'ny fampitana Date.diff/2 amin'ny maha-mpampitaha anao dia azonao atao ny maka ny delta marina amin'ny daty.
Ny fomba iray hafa mety amin'ny asa dia ny mandalo parameter threshold, izay mamaritra ny tahan'ny ambony indrindra azo atao amin'ny sanda vaovao {min, max} elanelana. Satria voatondro ho isan-jato izy io, dia tsy ampiasaina ny seky comparatorfa mbola mampiasa compare_by. Ohatra, mba hamaritana ny sandan'ny tokonam-baravarana ho an'ny ora daty dia tsy maintsy mamaritra ianao compare_by: &DateTime.to_unix/1 (mba hahazoana sanda integer) ary threshold: 1, ka mahatonga ny soatoavina vaovao tsy avela afa-tsy raha ao izy ireo Β±band elanelam-potoana avy amin'ny sanda ankehitriny.
Farany, azonao ampiasaina Vela.equal?/2 hampitahana cache roa. Raha mamaritra asa iray ny soatoavina equal?/2 na compare/2, dia ho ampiasaina amin'ny fampitahana ireo fiasa ireo, raha tsy izany dia adaladala isika ==/2.
Mahazo soatoavina
Matetika manomboka amin'ny fiantsoana ny fanodinana ny fanjakana ankehitriny Vela.purge/1, izay manala ny soatoavina efa lany andro (raha validator mifamatotra amin'ny timestamps). Afaka miantso ianao avy eo Vela.slice/1izay hiverina keyword miaraka amin'ny anaran'ny laharana ho fanalahidy ary ny sanda tena izy no voalohany.
Azonao ampiasaina koa get_in/2/pop_in/2 ho an'ny fidirana ambany amin'ny sanda isaky ny andalana.
fampiharana
Vela dia mety ho tena ilaina ho toy ny andiam-potoana cache amin'ny dingana dingana toy ny GenServer/Agent. Tianay ny tsy hampiasa ny soatoavina efa lany tamingana, ary mba hanaovana izany dia tazominay fotsiny ny dingana miaraka amin'ny fampandehanan-draharaham-panjakana Vela, miaraka amin'ny validator aseho eto ambany.
ΠΈ Vela.purge/1 manala mangina ny soatoavina rehetra isaky ny mila ny angona. Mba hidirana amin'ny soatoavina tena izy dia antsoinay fotsiny Vela.slice/1, ary rehefa ilaina ny tantara kely momba ny fampianarana (ny andiany manontolo), dia averinay fotsiny izany - efa voalamina - miaraka amin'ny sanda voamarina.