Ua mu lenei fa'amaumauga...

Ua mu lenei fa'amaumauga...

Se'i ou faamatalaina se tala fa'apitoa.

I le tele o tausaga talu ai, sa ou atiaʻe ai se talosaga ma faʻapipiʻi faʻaogaina i totonu. O se faʻaputu faʻataʻitaʻiga faʻaoga-tagata na faʻaaogaina le gafatia atoatoa o le vave React ma CouchDB. Na fa'amaopoopo fa'amaumauga i le taimi moni e ala i le JSON OT. Sa fa'aogaina i totonu o le kamupani, ae o lona fa'aoga lautele ma le gafatia i isi vaega sa manino.

A o taumafai e faʻatau atu lenei tekinolosi i tagata faʻatau, na matou feagai ma se faʻalavelave faʻafuaseʻi. I le vitio faʻataʻitaʻiga, o matou tekinolosi na foliga ma aoga tele, leai ni faʻafitauli iina. O le vitio na faʻaalia tonu le auala e galue ai ma e leʻi faʻataʻitaʻiina se mea. Na matou sau ma faʻailogaina se faʻaaliga moni mo le faʻaaogaina o le polokalame.

Ua mu lenei fa'amaumauga...
O le mea moni, na avea lea ma faafitauli. O la matou fa'ata'ita'iga na fa'atino tonu lava i le auala na fa'ata'ita'i ai e isi tagata a latou talosaga. Aemaise lava, o faʻamatalaga na vave faʻafeiloaʻi mai le A i le B, tusa lava pe o faila faila tetele. Ina ua uma ona saini i totonu, na vaʻaia e tagata taʻitasi ni faʻamatalaga fou. O le fa'aogaina o le talosaga, e mafai ona galulue fa'atasi tagata fa'aoga eseese i galuega lava e tasi, e tusa lava pe motusia le feso'ota'iga Initaneti i se mea i totonu o le nu'u. O lo'o fa'aalia manino mai i so'o se oloa vitiō tipi i After Effects.

E ui lava na iloa e tagata uma le mea e faʻaoga ai le Refresh button, e leai se tasi na malamalama lelei o talosaga i luga o le upega tafaʻilagi latou te talosagaina matou e fausia e masani lava ona noatia i latou lava tapulaa. Ma afai latou te le toe manaʻomia, o le a matua ese lava le faʻaogaina o le tagata faʻaoga. E masani ona latou matauina e mafai ona latou "talanoa" e ala i le tuʻuina o faʻamatalaga mo tagata latou te talanoa i ai, o lea na latou mafaufau ai pe faʻapefea ona ese lenei mea mai, mo se faʻataʻitaʻiga, Slack. Fui!

Fuafuaga o syncs i aso uma

Afai e iai sau poto masani i le atinaʻeina o polokalama, e tatau ona faʻafefeteina le manatua o le tele o tagata e le mafai ona na o le tilotilo i se ata o se atinaʻe ma malamalama i le mea e fai pe a fegalegaleai ma ia. E le ta'ua mea e tupu i totonu o le polokalama lava ia. Malamalama i lena mea mafai tupu e tele lava le taunuuga o le iloa o le mea e le mafai ona tupu ma le mea e le tatau ona tupu. O lenei mea e manaʻomia fa'ata'ita'iga mafaufau e le gata i mea e fai e le polokalama, ae faapea foi le auala e faamaopoopoina ai ona vaega taitasi ma fesootai le tasi i le isi.

O se faʻataʻitaʻiga masani o lenei mea o se tagata faʻaoga e vaʻavaʻai i a spinner.gif, ma mafaufau po o afea o le a iu ai ina maea le galuega. Semanu e iloa e le tagata atiaʻe o le faagasologa atonu na pipii ma o le gif o le a le mou ese atu mai le lau. O lenei animation e faʻataʻitaʻiina le faʻatinoina o se galuega, ae e le fesoʻotaʻi ma lona tulaga. I ia tulaga, o nisi tekinolosi e fiafia e taamilo o latou mata, maofa i le tele o le fenumiai o tagata faʻaoga. Peitaʻi, seʻi mātau le toʻatele o i latou e faasino atu i le uati taamilo ma faapea mai o loo tumau pea?

Ua mu lenei fa'amaumauga...
O le ute lea o le tau o le taimi moni. O nei aso, o faʻamaumauga faʻamaumauga o taimi moni e itiiti lava le faʻaaogaina ma e toʻatele tagata e vaʻavaʻai i ai ma masalosaloga. O le tele o nei fa'amaumauga e fa'alagolago malosi i le NoSQL style, o le mafua'aga lea e masani ai ona latou fa'aogaina fofo fa'avae Mongo, lea e sili ona galo. Ae ui i lea, ia te aʻu o lona uiga o le maua o le toʻa e galulue ai ma CouchDB, faʻapea foʻi ma le aʻoaʻoina e mamanuina fausaga e sili atu nai lo na o nisi o ofisa pule o le a mafai ona faʻatumu i faʻamaumauga. Ou te manatu ua sili atu lo'u faaaogaina o lo'u taimi.

Ae o le autu moni o lenei pou o le mea lea o loʻo ou faʻaaogaina i le aso. E le o se filifiliga, ae ona o faiga faʻavae faʻapisinisi e leʻi faʻatauaina ma tauaso. O lea o le a ou tuʻuina atu se faʻatusatusaga atoatoa ma le le faʻaituau o mea e lua e fesoʻotaʻi vavalalata a Google i taimi moni faʻamaumauga.

Ua mu lenei fa'amaumauga...
E iai uma le upu Afi i o la igoa. E tasi le mea ou te manatua fiafia. O le mea lona lua ia te au o se ituaiga afi ese. Ou te le faanatinati e ta'u o latou igoa, aua o le taimi lava ou te faia ai, o le a tatou oo i le faafitauli tele muamua: igoa.

O le mea muamua e taʻua Firebase Real-Time Database, ma lona lua - Firebase Cloud Firestore. O ia mea uma o oloa mai Firebase suite Google. O latou API e taʻua taʻitasi firebase.database(…) и firebase.firestore(…).

Na tupu lenei mea ona Fa'amaumauga Taimi Moni - ua na'o le ulua'i Falepuipui a'o le'i fa'atauina e Google ile 2014. Ona filifili lea o Google e fai o se oloa tutusa kopi Firebase faʻavae i luga o kamupani faʻamaumauga tele, ma taʻua o Firestore ma se ao. Ou te faamoemoe e te le o fenumiai lava. Afai o loʻo e le mautonu, aua e te popole, o aʻu lava na toe tusia lenei vaega o le tusiga faʻasefulu taimi.

Aua e tatau ona e faailoa atu Falepuipui i le fesili Firebase, ma Fale afi i se fesili e uiga i Firebase, a itiiti mai ia e malamalama ai i nai tausaga talu ai i luga ole Stack Overflow.

Afai sa i ai se taui mo le sili ona leaga o le faʻaigoaina o mea faʻapitoa, e mautinoa lava o se tasi lea o le au tauva. O le mamao o Hamming i le va o nei igoa e matua laʻititi lava e faʻalavelave ai e oʻo lava i inisinia poto masani o latou tamatamailima e taʻi le tasi igoa aʻo mafaufau o latou ulu i le isi. O fuafuaga lelei ia e le manuia; na latou faataunuuina le valoaga o le a mu le database. Ma ou te le talasua lava. O le tagata na sau i lea faiga o igoa na mafua ai le toto, afu ma loimata.

Ua mu lenei fa'amaumauga...

Manumalo Pyrrhic

E manatu se tasi o le Firestore sui Firebase, o lona tupulaga e sosoo ai, ae o le a faaseseina. E le fa'amaonia le Firestore o se sui talafeagai mo Firebase. E foliga mai e tipi ese e se tasi mea manaia mai ai, ma faʻalavelaveina le tele o isi i auala eseese.

Ae ui i lea, o le vaʻavaʻai vave i oloa e lua e ono fenumiai oe: e foliga mai latou te faia le mea lava e tasi, e ala i API tutusa ma e oʻo lava i le faʻasalalauga faʻamaumauga tutusa. O eseesega e fa'apitoa ma e fa'aalia na'o le su'esu'ega fa'atusatusa ma le toto'a o fa'amaumauga tetele. Po'o le taimi e te taumafai ai e tu'u le fa'ailoga o lo'o galue lelei i luga o le Firebase ina ia galue ma le Firestore. E oʻo lava i lena taimi e te iloa ai o loʻo moli le faʻamatalaga faʻamaumauga i le taimi lava e te taumafai ai e toso ma paʻu i le isumu i le taimi moni. Ou te toe fai atu, ou te le talasua.

O le Firebase client e fa'aaloalo i lona uiga e fa'apolopolo suiga ma otometi ona toe fa'afouga e ave le fa'amuamua i le galuega tusitusi mulimuli. Ae ui i lea, o le Firestore o loʻo i ai le tapulaʻa o le 1 tusitusi faʻagaioiga i pepa taʻitasi tagata faʻaoga i le sekone, ma o lenei tapulaʻa e faʻamalosia e le 'auʻaunaga. A e galue fa'atasi, e pule lava oe e su'e se auala e fa'ata'amilo ai ma fa'atino se fa'agata fa'afou fua faatatau, tusa lava pe na'o lou taumafai e fausia lau talosaga. O lona uiga, o le Firestore o se faʻamaumauga faʻamaumauga moni e aunoa ma se tagata faʻatau taimi moni, lea e faʻafoliga o se tasi e faʻaaogaina se API.

O iinei e amata ai ona tatou vaʻai i faʻailoga muamua o le raison d'être a Firestore. Atonu ou te sese, ae ou te masalo o se tasi e maualuga i le pulega a Google na tilotilo i le Firebase ina ua uma le faʻatau ma fai mai, "Leai, loʻu Atua, leai. E le taliaina lenei mea. Ae le o lalo o laʻu taʻitaʻiga."

Ua mu lenei fa'amaumauga...
Na alu atu o ia mai i ona potu ma folafola atu:

"Tasi pepa JSON tele? Leai. O le a e vaevaeina faʻamaumauga i ni pepa eseese, e le sili atu i le 1 megabyte le lapopoa.

E foliga mai o sea tapula'a o le a le ola i le feiloaiga muamua ma soʻo se faʻavae faʻaoga faʻaosofia lava. E te iloa e sa'o. I le galuega, mo se faʻataʻitaʻiga, e sili atu ma le tasi ma le afa afe faʻaaliga, ma o le Fully Normal lea.

Faatasi ai ma lenei tapulaʻa, o le a faʻamalosia oe e talia le mea moni o le tasi "pepa" i totonu o faʻamaumauga o le a le tutusa ma soʻo se mea e mafai e se tagata faʻaoga ona taʻua se pepa.

"Faʻasologa o faʻasologa e mafai ona toe faʻaaogaina isi elemene? Leai. O fa'asologa o le a aofia ai na'o mea faitino po'o numera tumau, e pei ona finagalo i ai le Atua."

Afai la o loʻo e faʻamoemoe e tuʻu GeoJSON i lau Firestore, o le ae iloa e le mafai. E leai se mea e le tasi itu e talia. Ou te faʻamoemoe e te fiafia i le Base64 ma / poʻo le JSON i totonu o le JSON.

"JSON faaulufale mai ma auina atu i fafo e ala i le HTTP, meafaigaluega laina laina poʻo le vaega pule? Leai. E na'o lau fa'aulufale ma fa'aulufale mai fa'amaumauga ile Google Cloud Storage. O le mea lena e ta'u i le taimi nei, ou te manatu. Ma pe a ou fai atu "oe," o loʻo ou tautala atu ia i latou o loʻo i ai faʻamaoniga o le Poloketi. E mafai e isi tagata uma ona o e fai pepa ulufale."

E pei ona mafai ona e vaʻai, e faigofie ona faʻamatalaina le ata o le FireBase data. O loʻo i ai se tasi pepa JSON tele e faʻafesoʻotaʻi JSON ki ma ala URL. Afai e te tusitusi ma HTTP PUT в / FireBase o mea nei:

{
  "hello": "world"
}

Le GET /hello o le a toe foi mai "world". O le mea moni e galue tonu e pei ona e fa'amoemoeina. Aoina o meafaitino FireBase /my-collection/:id e tutusa ma se lomifefiloi JSON {"my-collection": {...}} i le a'a, o mea o lo'o maua i totonu /my-collection:

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

E lelei le mea lea pe a fai o fa'aofi ta'itasi e iai se ID e leai se fa'alavelave, lea e iai le vaifofo masani a le faiga.

I se isi faaupuga, o le database e 100% JSON(*) fetaui ma galue lelei ma HTTP, pei ole CouchDB. Ae o le mea moni e te faʻaaogaina e ala i se API taimi moni e faʻamalo ai upega tafaʻilagi, faʻatagaina, ma saofaga. O lo'o i ai i le vaega fa'atonu mea uma e lua, e fa'ataga uma ai le fa'ata'ita'iga ma le JSON fa'aulufale mai/fa'atau atu. Afai e te faia le mea lava e tasi i lau code, o le a e ofo i le tele o code faʻapitoa o le a faʻaumatia pe a e iloa o le patch ma le diff JSON e foia le 90% o galuega masani o le taulimaina o tulaga tumau.

O le faʻataʻitaʻiga o faʻamatalaga Firestore e tutusa ma le JSON, ae e ese i nisi o auala taua. Ua uma ona ou taʻua le le lava o arrays i totonu o arrays. O le fa'ata'ita'iga mo fa'aputuga laiti e mo i latou e avea ma manatu vasega muamua, ese mai le pepa JSON o lo'o i ai. Talu ai e leai se faʻasalalauga faʻasalalau i fafo atu o le pusa mo lenei mea, e manaʻomia se ala faʻapitoa faʻapitoa e toe aumai ma tusi ai faʻamaumauga. Ina ia faʻagasolo au lava aoina, e manaʻomia lou tusia o au lava tusitusiga ma meafaigaluega. E na'o le pule fa'atonu e fa'atagaina oe e fai ni suiga laiti i le tasi fanua i le taimi, ma e leai ni mea e mafai ona fa'aulufale mai/fa'atau atu.

Na latou ave se faʻamaumauga o le NoSQL taimi moni ma liliu i se faʻagesegese le-SQL faʻatasi ma le auto-join ma se isi koluma e le o le JSON. O se mea e pei o le GraftQL.

Ua mu lenei fa'amaumauga...

Java vevela

Afai o le Firestore e tatau ona sili atu ona faʻatuatuaina ma faʻalauteleina, o le mea e ofo ai o le averesi o le atinaʻe o le a faʻauʻu i se fofo faʻalagolago nai lo le filifilia o le FireBase mai le pusa. O le ituaiga polokalama e manaʻomia e le Grumpy Database Administrator e manaʻomia ai le maualuga o taumafaiga ma le faʻataʻitaʻiga o taleni e matua le talafeagai mo le niche e tatau ona lelei le oloa. E talitutusa lea ma le HTML5 Canvas e le o se mea e suitulaga mo Flash pe afai e leai ni meafaigaluega faʻaleleia ma se tagata taʻalo. E le gata i lea, o le Firestore o loʻo paʻu i se manaʻoga mo faʻamaumauga mama ma faʻamaonia faʻamaonia e le fetaui ma le faʻaogaina e le masani o tagata faʻaoga pisinisi. fiafia e galue: mo ia mea uma e filifili, aua seia oʻo i le iuga o mea uma o se ata.

O le fa'aletonu autu o le FireBase o le tagata fa'atau na faia i ni nai tausaga i luma atu o lona taimi, a'o le'i iloa e le tele o atina'e i luga o le upega tafa'ilagi e uiga i le le suia. Ona o lenei mea, ua manatu le FireBase o le ae suia le faʻamatalaga ma o lea e le faʻaogaina ai le faʻaogaina e le tagata faʻaogaina le faʻaogaina. E le gata i lea, e le toe faʻaaogaina faʻamatalaga i ata e tuʻuina atu i le tagata faʻaoga, lea e sili atu ona faigata le eseesega. Mo pepa lapopo'a, e le'o lava le faiga o fefa'ataua'iga e fa'atatau i suiga eseese. Tama, ua uma ona tatou maua WeakMap i le JavaScript. E mafanafana.

Afai e te tuʻuina atu faʻamatalaga le foliga e manaʻomia ma aua le faʻateleina laʻau, ona mafai lea ona faʻafefeina lenei faʻafitauli. Ae ou te fia iloa pe o le a sili atu le manaia o le FireBase pe a faʻatuina e le au atiaʻe se API lelei tagata faʻatau na faʻaaogaina le faʻaogaina faʻatasi ma ni fautuaga faʻapitoa i luga o faʻamaumauga faʻamaumauga. Nai lo lena, na foliga mai na latou taumafai e toe faaleleia mea e leʻi malepe, ma na atili ai ona leaga.

Ou te le iloa uma le mafuaaga i tua atu o le fausiaina o Firestore. O le taumatematega e uiga i mafuaaga e tulai mai i totonu o le pusa uliuli o se vaega foi o le fiafia. O lenei tu'ufa'atasiga o fa'amaumauga e lua e matua'i tutusa ae le mafaatusalia e fai si seasea. E pei o se tasi na manatu: "Firebase ua na o se galuega e mafai ona tatou faataitai i Google Cloud", ae e leʻi mauaina lava le manatu o le faʻamalamalamaina o manaʻoga moni o le lalolagi poʻo le fatuina o fofo aoga e fetaui ma na manaʻoga uma. “Ia tuu atu i le au atiae e mafaufau i ai. Na'o le fa'amatagofieina o le UI... E mafai ona e fa'aopoopo nisi afi?”

Ou te malamalama i ni mea se lua e uiga i fausaga faʻamaumauga. E mautinoa lava ou te vaʻai i le "mea uma i totonu o le tasi laʻau tele JSON" manatu o se taumafaiga e faʻamaonia soʻo se lagona o le fausaga tetele mai le faʻamaumauga. O le fa'amoemoeina o le polokalama e fa'afetauia so'o se fa'ailoga fa'ailoga fa'amatalaga fa'aletonu e matua valea lava. Ou te le tau mafaufauina pe o le a le leaga o mea e ono tupu, ua ou faia ni suʻega faʻamaonia tulafono ma Na ou vaai i mea e te leʻi moemiti i ai. Ae ou te iloa foi foliga lelei o fausaga, auala e faʻaaogaina ai и aisea e tatau ai ona fai lea mea. E mafai ona ou vaai faalemafaufau i se lalolagi e foliga mai e talafeagai le Firestore ma o tagata na faia e manatu latou te faia se galuega lelei. Ae tatou te le o ola i lenei lalolagi.

Ole lagolago ole fesili ole FireBase e le lelei i so'o se tulaga ma e toetoe lava a leai. E mautinoa lava e mana'omia le fa'aleleia po'o le toe fa'aleleia. Ae e le sili atu le lelei o le Firestore ona e faʻatapulaʻa i faʻamaufaʻailoga tasi-dimensional o loʻo maua i le SQL manino. Afai e te manaʻomia ni fesili e faʻatautaia e tagata i luga o faʻamatalaga vevesi, e te manaʻomia le suʻesuʻeina o tusitusiga atoa, faʻavasegaga tele, ma le faʻatonuga faʻapitoa a le tagata faʻaoga. A'o va'ava'ai toto'a, o galuega a le SQL manino e fa'atapula'aina na'o latou lava. E le gata i lea, na o le pau lava le SQL fesili e mafai e tagata ona faʻatautaia i le gaosiga o fesili vave. E te mana'omia se tali fa'asinomaga masani ma fa'amaumauga atamai. Mo isi mea uma, e tatau ona i ai se fa'aopoopoga fa'afanua-fa'aititia po'o se mea faapena.

Afai e te su'eina Google Docs mo fa'amatalaga e uiga i lenei mea, e fa'amoemoe e fa'asino atu oe i le itu o se mea e pei o BigTable ma BigQuery. Ae ui i lea, o nei fofo uma o loʻo faʻatasi ma le tele o faʻatauga faʻatau pisinisi e vave ona e toe foʻi i tua ma amata suʻe se isi mea.

O le mea mulimuli e te manaʻo ai i se faʻamaumauga faʻamaumauga moni o se mea na faia e ma mo tagata i luga o le pulega totogi fua.

(*) O se tala malie lea, e leai se mea faapea 100% JSON fetaui.

I Aia Tatau o Faasalalauga

Sailiili mole VDS mo galuega faʻapipiʻi, se 'auʻaunaga mo le atinaʻeina ma le talimalo? E mautinoa lava o oe o le matou tagata faʻatau 🙂 Tau i aso uma mo sapalai o faʻasalalauga eseese, anti-DDoS ma Windows laisene ua uma ona aofia i le tau.

Ua mu lenei fa'amaumauga...

puna: www.habr.com

Faaopoopo i ai se faamatalaga