Ebe nchekwa data a na-agba ọkụ...

Ebe nchekwa data a na-agba ọkụ...

Ka m kọọ akụkọ teknụzụ.

Ọtụtụ afọ gara aga, m na-emepe emepe ngwa nwere njirimara mmekorita arụnyere n'ime ya. Ọ bụ nchịkọta nnwale nwere enyi na enyi nke were ohere zuru oke nke mbido React na CouchDB. Ọ mekọrịta data ozugbo site na JSON OT. A na-eji ya eme ihe n'ime ụlọ ọrụ ahụ, ma ọ bụ nnukwu ntinye na ikike ya na mpaghara ndị ọzọ doro anya.

Ka anyị na-agbalị ire teknụzụ a nye ndị ahịa nwere ike, anyị zutere ihe mgbochi na-atụghị anya ya. Na vidiyo ngosi, teknụzụ anyị lere anya ma rụọ ọrụ nke ukwuu, enweghị nsogbu ebe ahụ. Vidio ahụ gosiri kpọmkwem otú o si arụ ọrụ ma ọ dịghị eṅomi ihe ọ bụla. Anyị chepụtara wee depụta ọnọdụ dị adị maka iji mmemme ahụ.

Ebe nchekwa data a na-agba ọkụ...
N'ezie, nke a ghọrọ nsogbu. Ihe ngosi ngosi anyị na-arụ ọrụ otu onye ọ bụla si emepụta ngwa ha. Kpọmkwem, ebufere ozi ozugbo site na A gaa B, ọbụlagodi na ọ bụ faịlụ mgbasa ozi buru ibu. Mgbe ịbanyechara, onye ọrụ ọ bụla hụrụ ndenye ọhụrụ. N'iji ngwa ahụ, ndị ọrụ dị iche iche nwere ike ịrụkọ ọrụ ọnụ n'ụzọ doro anya na otu ọrụ ahụ, ọ bụrụgodị na a kwụsịrị njikọ Ịntanetị n'otu ebe n'ime obodo. Nke a pụtara n'ezoghị ọnụ na mbelata vidiyo ngwaahịa ọ bụla na Mgbe Mmetụta.

N'agbanyeghị na onye ọ bụla maara ihe bọtịnụ Refresh bụ maka, ọ dịghị onye ghọtara n'ezie na ngwa weebụ ha gwara anyị ka anyị wuo na-adaberekarị na njedebe nke ha. Na na ọ bụrụ na ha adịghịzi mkpa, ahụmahụ onye ọrụ ga-adị nnọọ iche. Ha na-achọpụtakarị na ha nwere ike "akparịta ụka" site n'ịhapụ ndetu maka ndị ha na-akpakọrịta, ya mere ha na-eche otú nke a si dị iche na, dịka ọmụmaatụ, Slack. Phew!

Nhazi nke syncs kwa ụbọchị

Ọ bụrụ na ị nwere ahụmịhe na mmepe ngwanrọ, ọ ga-abụrịrị ihe na-akụda mmụọ icheta na ọtụtụ mmadụ enweghị ike ilele foto nke interface wee ghọta ihe ọ ga-eme mgbe ha na ya na-emekọrịta ihe. Ọ bụghị ịkọwa ihe na-eme n'ime mmemme n'onwe ya. Mara na ike ime bụ n'ụzọ ka ukwuu n'ihi ịmara ihe na-apụghị ime na ihe na-ekwesịghị ime. Nke a chọrọ ụdị echiche ọ bụghị naanị ihe ngwanro ahụ na-eme, kamakwa ka esi ahazi akụkụ ya nke ọ bụla ma soro ibe ya na-ekwurịta okwu.

Ihe atụ ama ama nke a bụ onye ọrụ na-ele a spinner.gif, na-eche mgbe a ga-arụcha ọrụ ahụ. Onye nrụpụta ahụ gaara achọpụta na usoro ahụ nwere ike rapaara yana na gif agaghị apụ na ihuenyo ahụ. Ihe ngosi a na-egosipụta mmezu nke ọrụ, mana ọ nweghị ihe jikọrọ ya na steeti ya. N'ọnọdụ ndị dị otú ahụ, ụfọdụ techies na-achọ ịfụgharị anya ha, na-eju anya na oke mgbagwoju anya nke onye ọrụ. Otú ọ dị, rịba ama mmadụ ole n'ime ha na-atụ aka n'elekere na-agbagharị agbagharị ma kwuo na ọ kwụ n'ezie?

Ebe nchekwa data a na-agba ọkụ...
Nke a bụ isi uru nke ezigbo oge. Ụbọchị ndị a, data data adịchaghị ejikarị eme ihe na ọtụtụ ndị mmadụ na-enyo ha enyo. Ọtụtụ n'ime ọdụ data ndị a na-adabere kpamkpam n'ụdị NoSQL, nke mere na ha na-ejikarị ngwọta dabeere na Mongo, bụ nke echefuru echefu. Agbanyeghị, maka m nke a pụtara inwe ahụ iru ala na CouchDB na-arụ ọrụ, yana ịmụta imepụta ihe karịrị naanị ụfọdụ bureaucrat nwere ike mejupụta data. Echere m na m na-eji oge m eme ihe karịa.

Mana ezigbo isiokwu nke post a bụ ihe m na-eji taa. Ọ bụghị site na nhọrọ, mana n'ihi enweghị mmasị na nke etinyere n'usoro iwu ụlọ ọrụ. Ya mere, m ga-enye ntụnyere zuru oke nke ọma na enweghị mmasị na ngwaahịa nchekwa data Google abụọ nwere njikọ chiri anya.

Ebe nchekwa data a na-agba ọkụ...
Ha abụọ nwere okwu ọkụ n'aha ha. Otu ihe m na-echeta nke ọma. Ihe nke abụọ nye m bụ ụdị ọkụ dị iche. Adịghị m ngwa ngwa ikwu aha ha, n'ihi na ozugbo m mere ya, anyị ga-abanye na nsogbu mbụ buru ibu: aha.

A na-akpọ nke mbụ Firebase Real-Time Database, na nke abụọ - Firebase Cloud Firestore. Ha abụọ bụ ngwaahịa sitere na Firebase suite Google. A na-akpọ API ha n'otu n'otu firebase.database(…) и firebase.firestore(…).

Nke a mere n'ihi na Ebe nchekwa data oge - ọ bụ naanị nke mbụ Firebase tupu Google zụta ya na 2014. Mgbe ahụ Google kpebiri ịmepụta dị ka ngwaahịa yiri ya oyiri Firebase dabere na nnukwu ụlọ ọrụ data, wee kpọọ ya Firestore na igwe ojii. Enwere m olileanya na ị nwebeghị mgbagwoju anya. Ọ bụrụ na ị ka nwere mgbagwoju anya, echegbula, mụ onwe m degharịrị akụkụ a nke akụkọ ahụ ugboro iri.

N'ihi na i kwesịrị igosi Firebase na ajụjụ Firebase, na Ụlọ ahịa ọkụ na ajụjụ gbasara Firebase, opekata mpe ime ka ị ghọta afọ ole na ole gara aga na Stack Overflow.

Ọ bụrụ na enwere onyinye maka ahụmịhe ịkpọ aha ngwanrọ kacha njọ, nke a ga-abụrịrị otu n'ime ndị na-asọ mpi. Ogologo Hamming dị n'etiti aha ndị a dị ntakịrị nke na ọ na-agbagwoju anya ọbụna ndị injinia nwere ahụmahụ bụ ndị mkpịsị aka ha na-ede otu aha mgbe isi ha na-eche banyere ọzọ. Ndị a bụ atụmatụ ezi uche dị na ya nke na-ada nke ọma; ha mezuru amụma na nchekwa data ga-agba ọkụ. Anaghịkwa m egwu egwu ma ọlị. Onye chepụtara atụmatụ ịkpọ aha a kpatara ọbara, ọsụsọ na anya mmiri.

Ebe nchekwa data a na-agba ọkụ...

Mmeri Pyrrhic

Otu ga-eche na Firestore bụ nnọchi Firebase, ọgbọ ya na-esote, mana nke ahụ ga-eduhie eduhie. Ejighị Firestore nkwa ịbụ onye nnọchi kwesịrị ekwesị maka Firebase. Ọ dị ka mmadụ wepụrụ ihe niile na-atọ ụtọ na ya, wee gbagwojuru ọtụtụ ndị ọzọ anya n'ụzọ dị iche iche.

Otú ọ dị, ileba anya ngwa ngwa na ngwaahịa abụọ ahụ nwere ike ịgbagwoju gị anya: ha yiri ka ha na-eme otu ihe ahụ, site na isi otu API na ọbụna n'otu oge nchekwa data. Esemokwu ndị a dị aghụghọ ma na-ekpughere naanị site na iji nlezianya nyocha nke nnukwu akwụkwọ. Ma ọ bụ mgbe ị na-agbalị ịmepụta koodu ọdụ ụgbọ mmiri na-arụ ọrụ nke ọma na Firebase ka ọ na-arụ ọrụ na Firestore. Ọbụna mgbe ahụ ị ga-achọpụta na interface nchekwa data na-enwu ozugbo ị gbalịrị ịdọrọ na dobe na òké ozugbo. M na-ekwughachi, anaghị m egwu egwu.

Onye ahịa Firebase na-enwe nkwanye ùgwù n'echiche na ọ na-echekwa mgbanwe ma na-emegharị mmelite na-akpaghị aka na-ebute ọrụ ide ikpeazụ. Otú ọ dị, Firestore nwere njedebe nke 1 ide ọrụ kwa akwụkwọ kwa onye ọrụ kwa nkeji, na nkesa na-amanye njedebe a. Mgbe gị na ya na-arụ ọrụ, ọ dịịrị gị ka ịchọta ụzọ gbara ya gburugburu wee mejuputa ihe mgbochi ọnụego mmelite, ọbụlagodi mgbe ị na-agbalị ịmepụta ngwa gị. Ya bụ, Firestore bụ nchekwa data oge na-enweghị onye ahịa oge, nke na-eme ka ọ bụrụ onye na-eji API.

N'ebe a, anyị na-amalite ịhụ akara mbụ nke Firestore's raison d'être. Enwere m ike ezighi ezi, mana echere m na onye dị elu na njikwa Google lere Firebase anya mgbe ịzụrụchara wee sị naanị, “Ee e, Chineke m, mba. Nke a adịghị anabata. Ọ bụghị n'okpuru nduzi m."

Ebe nchekwa data a na-agba ọkụ...
Ọ pụtara site n'ọnụ ụlọ ya wee kwupụta:

"Otu nnukwu akwụkwọ JSON? Mba. Ị ga-ekewa data ahụ n'ime akwụkwọ dị iche iche, nke ọ bụla n'ime ha agaghị agafe 1 megabyte n'ịdị elu."

Ọ dị ka mmachi dị otú ahụ agaghị adị ndụ n'oge mbụ ya na ntọala onye ọrụ ọ bụla kpaliri nke ọma. Ị maara na ọ bụ. N'ebe ọrụ, dịka ọmụmaatụ, anyị nwere ihe ngosi ihe karịrị otu puku na ọkara, na nke a bụ kpamkpam Nkịtị.

Site na mmachi a, a ga-amanye gị ịnakwere eziokwu ahụ bụ na otu "akwụkwọ" na nchekwa data agaghị adị ka ihe ọ bụla onye ọrụ nwere ike ịkpọ akwụkwọ.

"Ụdị nhazi nke nwere ike ịnwe ihe ndị ọzọ ugboro ugboro? Mba. Nhazi ga-enwe naanị ihe ma ọ bụ ọnụọgụ nwere ogologo ogologo, dịka Chineke zubere."

Yabụ ọ bụrụ na ị na-atụ anya itinye GeoJSON n'ime Firestore gị, ị ga-achọpụta na nke a agaghị ekwe omume. Ọ nweghị ihe na-abụghị otu akụkụ a na-anabata. Enwere m olileanya na Base64 na/ma ọ bụ JSON na-amasị gị n'ime JSON.

"Mbubata na mbupụ JSON site na HTTP, ngwaọrụ ahịrị iwu ma ọ bụ panel nchịkwa? Mba. Naanị ị ga-enwe ike mbupụ na mbubata data na Google Cloud Storage. Nke ahụ bụ ihe a na-akpọ ya ugbu a, echere m. Ma mgbe m sịrị “gị,” naanị m na-agwa ndị nwere nzere Onye nwe Project. Onye ọ bụla ọzọ nwere ike ịga mepụta tiketi."

Dịka ị nwere ike ịhụ, ụdị data data FireBase dị mfe ịkọwa. O nwere otu nnukwu akwụkwọ JSON na-ejikọta igodo JSON na ụzọ URL. Ọ bụrụ na ị na-ede HTTP PUT в / FireBase bụ ihe ndị a:

{
  "hello": "world"
}

Na GET /hello ga-alọghachi "world". N'ụzọ bụ isi ọ na-arụ ọrụ dịka ị tụrụ anya ya. Nchịkọta ihe FireBase /my-collection/:id dabara na ọkọwa okwu JSON {"my-collection": {...}} na mgbọrọgwụ, ọdịnaya nke dị na /my-collection:

{
  "id1": {...object},
  "id2": {...object},
  "id3": {...object},
  // ...
}

Nke a na-arụ ọrụ nke ọma ma ọ bụrụ na ntinye ọ bụla nwere NJ enweghị nkwekọrịta, nke usoro ahụ nwere ngwọta ọkọlọtọ maka.

N'ikwu ya n'ụzọ ọzọ, nchekwa data bụ 100% JSON(*) dakọtara ma rụọ ọrụ nke ọma na HTTP, dị ka CouchDB. Mana n'ụzọ bụ isi, ị na-eji ya site na ezigbo API nke na-ewepụta websockets, ikike na ndenye aha. Ogwe nchịkwa nwere ikike abụọ ahụ, na-enye ohere ka edezi oge na mbubata / mbupụ JSON. Ọ bụrụ na ịme otu ihe ahụ na koodu gị, ọ ga-eju gị anya na koodu pụrụ iche ga-efunahụ gị mgbe ị ghọtara na patch na diff JSON na-edozi 90% nke ọrụ a na-eme kwa ụbọchị nke ijikwa ọnọdụ na-adịgide adịgide.

Ụdị data Firestore yiri JSON, mana ọ dị iche n'ụzọ ụfọdụ dị oke egwu. M ekwupụtalarị enweghị nhazi n'ime nhazi. Nlereanya maka mkpokọta obere mkpokọta bụ ka ha bụrụ echiche klas nke mbụ, dị iche na akwụkwọ JSON nwere ha. Ebe ọ bụ na enweghị usoro nhazi nke emebere maka nke a, a chọrọ ụzọ koodu pụrụ iche iji weghachite na dee data. Iji hazie mkpokọta nke gị, ịkwesịrị ide edemede na ngwaọrụ nke gị. Ogwe nchịkwa na-enye gị ohere ịme obere mgbanwe otu ubi n'otu oge, na enweghị ikike mbubata / mbupu.

Ha were ezigbo nchekwa data NoSQL wee tụgharịa ya ka ọ bụrụ nke na-abụghị SQL ngwa ngwa yana njikọ akpaaka yana kọlụm na-abụghị JSON dị iche. Ihe dị ka GraftQL.

Ebe nchekwa data a na-agba ọkụ...

Java na-ekpo ọkụ

Ọ bụrụ na Firestore kwesịrị ịbụ nke a pụrụ ịdabere na ya na nke a pụrụ ịdabere na ya, mgbe ahụ, ihe mgbagwoju anya bụ na nkezi onye mmepụta ga-ejedebe na ngwọta na-enweghị ntụkwasị obi karịa ịhọrọ FireBase na igbe ahụ. Ụdị sọftụwia nke Grumpy Database Administrator chọrọ chọrọ ọkwa nke mbọ na caliber nke talent nke na-abụghị eziokwu maka niche ngwaahịa kwesịrị ịdị mma. Nke a yiri ka HTML5 Canvas abụghị ihe ngbanwe maka Flash ma ọ bụrụ na enweghị ngwaọrụ mmepe na onye ọkpụkpọ. Ọzọkwa, Firestore na-emikpu n'ọchịchọ maka ịdị ọcha data na nkwado adịghị mma nke na-adabaghị na otu onye ọrụ azụmahịa. na-enwe mmasị ịrụ ọrụ: maka ya ihe niile bụ nhọrọ, n'ihi na ruo mgbe ọgwụgwụ ihe niile bụ a draft.

Ihe ọghọm dị na FireBase bụ na e kere onye ahịa ahụ ọtụtụ afọ tupu oge ya, tupu ọtụtụ ndị mmepe webụ mara banyere enweghị mgbanwe. N'ihi nke a, FireBase na-eche na ị ga-agbanwe data na ya mere anaghị eji ohere nke onye ọrụ nyere enweghị mgbanwe. Na mgbakwunye, ọ naghị ejighachi data na foto ọ na-enyefe onye ọrụ, nke na-eme ka esemokwu sie ike karị. Maka akwụkwọ buru ibu, usoro azụmahịa ya na-agbanwe agbanwe ezughị oke. Ụmụ okorobịa, anyị enweelarị WeakMap na Javascript. Ọ dị mma.

Ọ bụrụ na ị na-enye data a chọrọ udi ma ghara ime ka osisi dị oke ụba, mgbe ahụ, nsogbu a nwere ike ịgbagha ya. Mana enwere m mmasị ma ọ bụrụ na FireBase ga-adọrọ mmasị karị ma ọ bụrụ na ndị mmepe wepụtara API ezigbo ndị ahịa nke na-eji enweghị mgbanwe yana ụfọdụ ndụmọdụ bara uru bara uru na nhazi nchekwa data. Kama nke ahụ, o yiri ka hà na-agbalị imezi ihe na-adịghị agbaji, nke ahụ mekwara ka ọ ka njọ.

Amaghị m echiche niile dị n'azụ imepụta Firestore. Ịkọ nkọ banyere ebumnobi na-ebilite n'ime igbe ojii bụkwa akụkụ nke ntụrụndụ. Nkwekọrịta ọdụ data abụọ yitere nke ukwuu mana enweghị atụ dị ụkọ. Ọ dị ka mmadụ chere: "Firebase bụ naanị ọrụ anyị nwere ike iṅomi na Google Cloud", ma achọpụtabeghị echiche nke ịchọpụta ihe ndị chọrọ n'ezie ma ọ bụ ịmepụta ngwọta bara uru nke na-emezu ihe niile a chọrọ. "Ka ndị mmepe chee echiche banyere ya. Naanị mee ka UI maa mma... Ị nwere ike itinyekwu ọkụ? "

Aghọtara m ihe ole na ole gbasara nhazi data. M na-ahụ n'ezie echiche "ihe niile dị n'otu nnukwu osisi JSON" dị ka mbọ iji wepụ echiche ọ bụla nke nnukwu nnukwu usoro site na nchekwa data. Ịtụ anya sọftụwia ka ọ na-anagide fractal data ọ bụla na-enyo enyo bụ naanị nzuzu. Achọghị m iche n'echiche ka ihe ọjọọ nwere ike isi bụrụ, emela m nyocha koodu siri ike na Ahụrụ m ihe ndị unu na-atụtụbeghị nrọ. Mana amakwaara m ka ezigbo ụlọ dị ka, ka esi eji ha и gịnị mere a ga-eji mee nke a. Enwere m ike iche n'echiche ụwa ebe Firestore ga-adị ka ihe ezi uche dị na ya na ndị kere ya ga-eche na ha rụrụ ezigbo ọrụ. Ma anyị anọghị n’ụwa a.

Nkwado ajụjụ FireBase adịghị mma n'ụkpụrụ ọ bụla ma ọ fọrọ nke nta ka ọ dị adị. O doro anya na ọ chọrọ nkwalite ma ọ bụ opekata mpe ngbanwe. Mana Firestore adịchaghị mma n'ihi na ọ nwere oke n'otu ndektị otu akụkụ ahụ dị na SQL larịị. Ọ bụrụ na ịchọrọ ajụjụ ndị mmadụ na-agba ọsọ na data chaotic, ị ga-achọ nchọta ederede zuru oke, ihe nzacha ọtụtụ, yana ịtụ aha onye ọrụ akọwapụtara. Na nyocha nke ọma, ọrụ SQL dị larịị nwere oke oke n'onwe ha. Na mgbakwunye, naanị ajụjụ SQL ndị mmadụ nwere ike ịgba ọsọ na mmepụta bụ ajụjụ ngwa ngwa. Ị ga-achọ ngwọta indexing omenala nwere usoro data nwere echiche. Maka ihe ọ bụla ọzọ, opekata mpe enwere maapụ mbelata ma ọ bụ ihe yiri ya.

Ọ bụrụ na ịchọọ Google Docs maka ozi gbasara nke a, ị ga-atụ anya na a ga-atụ gị aka n'ụzọ ihe dịka BigTable na BigQuery. Otú ọ dị, ngwọta ndị a niile na-esonyere ọtụtụ nnukwu ụlọ ọrụ ụlọ ọrụ na-ere ahịa na ị ga-alaghachi ngwa ngwa wee malite ịchọ ihe ọzọ.

Ihe ikpeazụ ịchọrọ na nchekwa data oge bụ ihe mere na ndị mmadụ na-akwụ ụgwọ ego njikwa.

(*) Nke a bụ egwuregwu, ọ dịghị ihe dị ka 100% JSON dakọtara.

Ikike nke Mgbasa Ozi

Na-achọ VDS maka ọrụ nbipu, ihe nkesa maka mmepe na nnabata? Ị bụ n'ezie onye ahịa anyị 🙂 ọnụahịa kwa ụbọchị maka sava nke nhazi dị iche iche, mgbochi DDoS na ikikere Windows etinyelarị na ọnụahịa ahụ.

Ebe nchekwa data a na-agba ọkụ...

isi: www.habr.com

Tinye a comment