I ka fintech, pono mākou e hana pinepine i ka nui o nā ʻikepili hoʻololi kālā. Loaʻa iā mākou ka ʻikepili mai nā kumu like ʻole, a loaʻa i kēlā me kēia o lākou kona manaʻo ponoʻī pehea e hoʻonui ai i nā kumukūʻai no ka lā ʻapōpō, ka lā ma hope o ka lā ʻapōpō, ka mahina aʻe a me nā makahiki ʻekolu e hiki mai ana. Inā hiki i kekahi ke wānana i nā kumukūʻai pololei, ʻo ia ka manawa e pani ai i ka ʻoihana a hoʻololi naʻaupō wale i ke kālā i hope a i waho. ʻOi aku ka hilinaʻi o kekahi mau kumu, hoʻolako kekahi i nā ʻōpala piha, me nā hoʻokomo ʻokoʻa ʻole o nā kumu kūpono, akā no nā kāne exotic. ʻO kā mākou hana ka kānana ʻana i kēia mau ʻumi tausani o nā waiwai i kēlā me kēia kekona a hoʻoholo i ka mea e hōʻike pono ai i nā mea kūʻai aku. Pono mākou e kānana i ka waiwai kūpono hoʻokahi mai nā tona o ka lepo a me ka lepo, e like me ka flamingos i ka ʻaina awakea.
ʻO kahi hiʻohiʻona ʻokoʻa o nā flamingo ko lākou nuku nui i lalo i lalo, kahi e kānana ai lākou i ka meaʻai mai ka wai a i ʻole ka lepo.
- ʻO Wiki
Pēlā i hānau ʻia ai ka hale waihona puke Vela, ka mea e mālama i kahi cache mokuʻāina no nā waiwai he nui i nā manawa manawa i kuhikuhi ʻia. Ma lalo o ka puʻupuʻu, kānana ia i nā ʻikepili maikaʻi ʻole a me ka wā kahiko ma ka lele, a hāʻawi pū i ke komo i nā mea hou loa N nā waiwai i hoʻopaʻa ʻia no kēlā me kēia kī (nā pālua kālā, i kā mākou hihia).
E ʻōlelo mākou e hōʻiliʻili mākou i nā uku no nā paʻa kālā ʻekolu. ʻO ka wehewehe maʻalahi loa Vela no ka mālama ʻana i ke kūlana o kēia manawa e like me kēia:
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
e kumu validator ma ka waiwai, inā wehewehe ʻia kekahi (e nānā i ka mokuna Hōʻoia lalo);
e hoʻohui i ka waiwai i ka lālani o nā waiwai maikaʻi inā kūleʻa ka hōʻoia ʻana, a i ʻole ka lālani lawelawe :__errors__ i ole ia;
e hoʻokaʻawale ʻia inā sorter i wehewehe ʻia no kahi kī i hāʻawi ʻia, a i ʻole e kau wale i ka waiwai ma ke poʻo o ka papa inoa (LIFO, e nana mokuna Kōkua lalo);
e ʻoki i ka lālani e like me ka palena :limit i hala ma luna o ka hana ʻana;
hoʻohālikelike hoʻonohonoho threshold, a - ke koho - compare_by, e nana mokuna Hoʻohālikelike ma lalo.
Inā kūleʻa ka hōʻoia, hoʻohui ʻia ka waiwai i ka papa inoa ma lalo o ke kī pili; a i ʻole, ka tuple {serie, value} hele i :__errors_.
Kūlike
ʻO nā waiwai i mālama ʻia ma kēia mau lālani hiki ke lilo i kekahi mea. E ao aku Vela e hoʻohālikelike iā lākou, pono e hoʻololi compare_by parameter i ka wehewehe moʻo (inā ʻaʻole hiki ke hoʻohālikelike ʻia nā waiwai me ka maʻamau Kernel.</2); pono ke ʻano o kēia ʻāpana (Vela.value() -> number()). Ma ka paʻamau he maʻalahi & &1.
Eia kekahi, hiki iā ʻoe ke hāʻawi i kahi ʻāpana i ka wehewehe ʻana i ka lālani comparator e helu i nā waiwai delta (min/max); laʻana, ma ka hoʻouna ʻana Date.diff/2 ma ke ʻano he mea hoʻohālikelike, hiki iā ʻoe ke kiʻi i nā delta kūpono no nā lā.
ʻO kekahi ala kūpono e hana ai ʻo ia ke kau ʻana i kahi ʻāpana threshold, ka mea e wehewehe ana i ka lakio o ka waiwai hou i {min, max} waena. No ka mea, ua kuhikuhi ʻia ʻo ia ma ke ʻano he pākēneka, ʻaʻole hoʻohana ka māka comparatorakā hoʻohana mau compare_by. No ka laʻana, no ke kuhikuhi ʻana i kahi waiwai paepae no nā manawa lā, pono ʻoe e kuhikuhi compare_by: &DateTime.to_unix/1 (no ka loaʻa ʻana o ka helu helu helu) a threshold: 1, e ʻae ʻia nā waiwai hou inā aia lākou i loko ±band kaawale mai na waiwai o keia manawa.
ʻO ka hope, hiki iā ʻoe ke hoʻohana Vela.equal?/2 e hoohalike i na huna huna elua. Inā wehewehe nā waiwai i kahi hana equal?/2 ai ole ia, compare/2, a laila e hoʻohana ʻia kēia mau hana no ka hoʻohālikelike, inā ʻaʻole mākou e hoʻohana naʻaupō ==/2.
Loaʻa nā waiwai
Hoʻomaka maʻamau ka hana ʻana i ke kūlana o kēia manawa me ke kelepona ʻana Vela.purge/1, ka mea e wehe i nā waiwai kahiko (inā validator nakinaki ia timestamps). Hiki iā ʻoe ke kelepona Vela.slice/1e hoi mai ana keyword me nā inoa lālani e like me nā kī a me ka mua, nā waiwai maoli.
Hiki iā ʻoe ke hoʻohana get_in/2/pop_in/2 no ka loaʻa haʻahaʻa haʻahaʻa i nā waiwai i kēlā me kēia lālani.
Ka hoʻohana
Vela Hiki ke hoʻohana nui ʻia e like me ka cache moʻo manawa i kahi kūlana kaʻina like GenServer/Agent. ʻAʻole makemake mākou e hoʻohana i nā waiwai papa, a no ka hana ʻana i kēia, mālama mākou i ke kaʻina hana me ka hoʻokele mokuʻāina Vela, me ka mea hōʻoia i hōʻike ʻia ma lalo nei.
и Vela.purge/1 wehe mālie i nā waiwai stale i kēlā me kēia manawa e pono ai mākou i ka ʻikepili. No ke komo ʻana i nā waiwai maoli mākou e kāhea wale ai Vela.slice/1, a ke koi ʻia kahi moʻolelo liʻiliʻi o ka papa (ka moʻo holoʻokoʻa), hoʻihoʻi wale mākou - ua hoʻonohonoho ʻia - me nā waiwai i hōʻoia ʻia.