Xogta xogtan ayaa gubanaysa...

Xogta xogtan ayaa gubanaysa...

Aan ka sheekeeyo sheeko farsamo.

Sannado badan ka hor, waxaan soo saarayay codsi leh astaamo iskaashi oo lagu dhex dhisay. Waxay ahayd xidhmo tijaabo ah oo saaxiibtinimo ku habboon oo ka faa'iidaystay kartida buuxda ee React hore iyo CouchDB. Waxa ay isku-dubbariday xogta wakhtiga dhabta ah iyada oo loo sii marayo JSON OT. Waxaa loo adeegsaday gudaha shirkadda, laakiin ku habboonaanteeda ballaaran iyo suurtagalnimada meelaha kale way caddahay.

Intii aan isku daynay inaan ka iibino tignoolajiyadan macaamiisha suurtagalka ah, waxaan la kulannay caqabad lama filaan ah. Fiidiyowga demo, tignoolajiyadayadu waxay u muuqatay oo si weyn u shaqeysay, wax dhibaato ah ma jiraan. Fiidiyowgu wuxuu muujiyay sida saxda ah ee ay u shaqeyso oo aan waxba ku dayan. Waxaan la nimid oo calaamadeynay xaalad macquul ah ee isticmaalka barnaamijka.

Xogta xogtan ayaa gubanaysa...
Dhab ahaantii, tani waxay noqotay dhibaatada. Demo-samayntayadu waxay u shaqeysay sida saxda ah ee qof kastaa uu u ekaysiiyay codsiyadooda. Gaar ahaan, macluumaadka isla markiiba waxaa laga soo wareejiyay A ilaa B, xitaa haddii ay ahayd galal warbaahineed oo waaweyn. Ka dib markii la soo galo, isticmaale kastaa wuxuu arkay waxyaabo cusub. Isticmaalka arjiga, isticmaaleyaal kala duwan ayaa si cad uga wada shaqeyn kara isla mashruucyo isku mid ah, xitaa haddii xiriirka internetka uu go'ay meel tuulada ah. Tani waxay si maldahan u khusaysaa muuqaal kasta oo muuqaal ah oo la gooyay Saamaynta Kadib.

Inkasta oo qof kastaa uu ogaa waxa badhanka Dib-u-cusboonaysiinta uu yahay, qofna runtii ma fahmin in codsiyada shabakadda ee ay naga codsadeen inaan dhisno ay inta badan ku xiran yihiin xaddidaaddooda. Iyo in haddii aan loo baahnayn, waayo-aragnimada isticmaaluhu gabi ahaanba way ka duwanaan doontaa. Waxay inta badan ogaadeen in ay "sheekayn karaan" iyaga oo u dhaafa qoraallada dadka ay la hadlayaan, markaa waxay la yaabeen sida tani uga duwan tahay, tusaale ahaan, Slack. Phow!

Naqshadeynta isku-dhafka maalinlaha ah

Haddii aad waayo-aragnimo u leedahay horumarinta software-ka, waa in ay noqoto mid dareen-celis ah in la xasuusto in dadka intooda badan aysan kaliya eegi karin sawirka interface-ka oo ay fahmaan waxa uu sameyn doono marka la falgalayo. Ma aha in la sheego waxa ka dhacaya gudaha barnaamijka laftiisa. Ogow taas awooddo in ay dhacaan inta badan waa natiijada ogaanshaha waxa aan dhici karin iyo waxa aan dhici karin. Tani waxay u baahan tahay model maskaxeed ma aha oo kaliya waxa software-ku sameeyo, laakiin sidoo kale sida qaybihiisa gaarka ah loo agaasimo oo ay midba midka kale ula xiriiraan.

Tusaalaha caadiga ah ee tani waa isticmaale oo eegaya a spinner.gif, isagoo la yaabban goorta ugu dambeyntii shaqada la dhameyn doono. Horumariyuhu waxa uu ogaan lahaa in hawshaasi ay u badan tahay in ay xayiran tahay iyo in gifku aanu waligii ka lumi doonin shaashadda. Animation-kani waxa uu matalaa fulinta shaqada, laakiin lama xidhiidho xaaladdeeda. Xaaladahan oo kale, tignoolajiyada qaarkood waxay jecel yihiin inay indhahooda rogaan, iyagoo la yaabban heerka wareerka isticmaalaha. Si kastaba ha ahaatee, u fiirso in badan oo iyaga ka mid ah ayaa tilmaamaya saacadda wareegta oo ay yiraahdaan waa mid taagan?

Xogta xogtan ayaa gubanaysa...
Tani waa nuxurka qiimaha waqtiga-dhabta ah. Maalmahan, xog-ururinta-waqtiga-dhabta ah wali aad bay u yar tahay isticmaalka dad badanina waxay u arkaan shaki. Inta badan xog-ururintani waxay si aad ah ugu tiirsan yihiin qaabka NoSQL, taas oo ah sababta ay inta badan u isticmaalaan xalalka Mongo ku salaysan, kuwaas oo sida ugu fiican loo illoobay. Si kastaba ha ahaatee, aniga ahaan tani waxay la macno tahay in aan ku raaxaysto la shaqaynta CouchDB, iyo sidoo kale barashada naqshadaynta qaab-dhismeedyada in ka badan xafiisyada qaar ka mid ah ayaa buuxin kara xogta. Waxaan u maleynayaa inaan waqtigeyga si fiican uga faa'iideysanayo.

Laakiin mawduuca dhabta ah ee qoraalkan waa waxa aan maanta isticmaalayaa. Ma aha doorasho, laakiin sababtoo ah si aan dan lahayn oo indho la'aan ah ayaa loo dabaqay siyaasadaha shirkadaha. Markaa waxaan bixin doonaa isbarbardhig dhammaystiran oo cadaalad ah oo aan eex lahayn oo ah labada badeecadood ee Google-ka ee wakhtiga-dhabta ah ee xidhiidh dhow la leh.

Xogta xogtan ayaa gubanaysa...
Labaduba magacyadooda waxa ku jira kelmadda Dab. Hal shay oo aan si fiican u xasuusto. Midda labaad aniga waa dab nooc kale ah. Kuma degdegayo inaan sheego magacyadooda, sababtoo ah marka aan sameeyo, waxaan gali doonaa dhibaatada ugu weyn ee ugu horeysa: magacyada.

Midka hore ayaa la yiraahdaa Xogta-Waqtiga-dhabta ah ee Firebase, iyo labaad - Firebase Cloud Firestore. Labaduba waa badeecooyin Firebase suite Google. API-yadooda waxaa loo yaqaan siday u kala horreeyaan firebase.database(…) ΠΈ firebase.firestore(…).

Tani waxay dhacday sababtoo ah Xogta-Waqtiga dhabta ah - waa asalka kaliya Dab-damis ka hor inta aysan iibsan Google 2014. Kadib Google waxay go'aansatay inay abuurto wax soo saar barbar socda nuqul Firebase oo ku salaysan shirkad xogeed oo weyn, oo loo yaqaan Firestore oo leh daruur. Waxaan rajeynayaa inaadan weli jahwareerin. Haddii aad wali wareersan tahay, ha werwerin, aniga qudhaydu waxaan dib u qoray qaybtan maqaalka toban jeer.

Sababtoo ah waxaad u baahan tahay inaad muujiso Dab-damis su'aasha Firebase, iyo Kaydka dabka su'aal ku saabsan Firebase, ugu yaraan in la fahmo dhawr sano ka hor on Stack Overflow.

Haddii ay jiri lahayd abaalmarin waayo-aragnimada magacaabista software-ka ugu xun, tani hubaal waxay noqon lahayd mid ka mid ah tartamayaasha. Masaafada u dhaxaysa magacyadan ayaa ah mid aad u yar oo jahawareer ku abuurta xitaa injineerada khibrada leh ee farahooda ay ku qoraan hal magac halka madaxooduna ay ka fikirayaan mid kale. Kuwani waa qorsheyaal si wanaagsan loo qorsheeyay oo si xun u fashilma; waxay oofiyeen waxsii sheeggii ahaa in kaydka kaydku dab ku shidan doono. Mana kaftamayo haba yaraatee. Qofka la yimi qorshahan magac bixintu waxa uu keenay dhiig, dhidid iyo ilmo.

Xogta xogtan ayaa gubanaysa...

Guul Pyrrhic

Mid ayaa u maleynaya in Firestore uu yahay beddelaad Firebase, farcankeeda xiga, laakiin taasi waxay noqon doontaa marin habaabin. Firestore looma dammaanad qaadayo inuu noqdo bedel ku habboon Firebase. Waxay u egtahay in qof ka gooyay wax kasta oo xiiso leh, oo inta badan ku wareersan siyaabo kala duwan.

Si kastaba ha ahaatee, jaleecada degdega ah ee labada alaab ayaa laga yaabaa inay ku wareeraan: waxay u muuqdaan inay sameeyaan wax isku mid ah, iyada oo loo marayo asal ahaan APIs isku mid ah iyo xitaa isla fadhiga xogta. Kala duwanaanshuhu waa kuwo aan qarsoonayn waxaana lagu daah-furay keliya marka si taxadar leh loo fiirsado isbarbardhigga dukumentiyada ballaaran. Ama marka aad isku dayayso in aad furto koodka si fiican ugu shaqeeya Firebase si uu ula shaqeeyo Firestore. Xitaa markaa waxaad ogaaneysaa in interface-ka database-ku iftiiminayo isla marka aad isku daydo inaad jiidato oo aad ku riddo jiirka wakhtiga dhabta ah. Waxaan ku celinayaa, kaftamaayo.

Macmiilka Firebase waa mid edeb leh macneheedu waxa weeye in uu dejiyo isbeddelada oo uu si toos ah u tijaabiyo cusboonaysiinta mudnaanta siinaya hawlgalkii ugu dambeeyay ee qorista. Si kastaba ha ahaatee, Firestore waxay leedahay xadka 1 qorida hawlgalka dukumeentikiiba isticmaale kasta ilbiriqsi kasta, xadkan waxaa dhaqan galiyay serferka. Markaad la shaqaynayso, adiga ayay kugu xidhan tahay inaad waddo u hesho oo aad fuliso xadaynta heerka cusboonaysiinta, xitaa marka aad kaliya isku dayayso inaad dhisto codsigaga. Taasi waa, Firestore waa xog-ururin-waqtiga-dhabta ah oo aan lahayn macmiil-waqtiga dhabta ah, kaas oo u ekaysiinaya mid isticmaalaya API.

Halkan waxaan ku bilaabeynaa inaan aragno calaamadaha ugu horreeya ee Firestore's raison d'Γͺtre. Waxaa laga yaabaa inaan qaldanahay, laakiin waxaan ka shakisanahay in qof sare oo ka tirsan maamulka Google uu eegay Firebase iibka ka dib oo uu si fudud u yiri, "Maya, Ilaahayow, maya. Tani waa wax aan la aqbali karin. Kaliya ma hoos imanayo hoggaankayga."

Xogta xogtan ayaa gubanaysa...
Wuxuu ka soo dhex muuqday qolalkiisii ​​oo yidhi:

"Hal dukumeenti JSON ah oo weyn? Maya Waxaad xogta u kala qaybin doontaa dukumeenti gaar ah, kuwaas oo mid kastaaba aanu ka badnayn 1 megabyte cabbirkiisu.

Waxay u muuqataa in xaddidaaddan oo kale aysan ka badbaadi doonin kulanka ugu horreeya ee saldhig kasta oo dhiirigelin ku filan leh. Waad ogtahay inay tahay. Shaqada, tusaale ahaan, waxaan haynaa in ka badan hal iyo badh kun oo bandhigyo ah, tanina waa Gebi ahaanba Caadi ah.

Xaddidaaddan, waxaa lagugu khasbi doonaa inaad aqbasho xaqiiqda ah in hal "document" oo ku jira kaydka xogta uusan u ekaan doonin shay kasta oo isticmaaluhu u yeeri karo dukumeenti.

"Habab isku xiran oo si isdaba joog ah uga koobnaan kara walxo kale? Maya Habayntu waxa ay ka koobnaan doontaa oo keliya walxo ama tirooyin dhererkoodu go'an yahay, siduu Ilaahay ugu talo galay."

Markaa haddii aad rajaynaysay inaad GeoJSON geliso Firestore-kaaga, waxaad ogaan doontaa inaanay taasi suurtogal ahayn. Ma jiro wax aan hal-cabbir ahayn oo la aqbali karo. Waxaan rajeynayaa inaad jeceshahay Base64 iyo/ama JSON gudaha JSON.

"JSON soo dejinta iyo dhoofinta iyada oo loo marayo HTTP, qalabka khadka taliska ama guddiga maamulka? Maya Waxaad awoodi doontaa inaad dhoofiso oo aad xogta u soo dejiso Google Cloud Kaydinta. Taasi waa waxa hadda loo yaqaan, waxaan qabaa. Oo markaan idhaahdo "adiga," waxaan la hadlayaa kaliya kuwa haysta shahaadooyinka Mulkiilaha Mashruuca. Qof kasta oo kale ayaa tagi kara oo abuuri kara tigidhada."

Sida aad arki karto, qaabka xogta FireBase waa sahlan tahay in la qeexo. Waxay ka kooban tahay hal dukumeenti weyn oo JSON ah oo xiriiriya furayaasha JSON iyo waddooyinka URL. Haddii aad wax ku qorto HTTP PUT Π² / FireBase waa sida soo socota:

{
  "hello": "world"
}

The GET /hello soo laaban doona "world". Asal ahaan waxay u shaqaysaa sidaad filaysay. Ururinta walxaha FireBase /my-collection/:id oo u dhiganta qaamuuska JSON {"my-collection": {...}} xididka, waxa ku jira oo laga heli karo /my-collection:

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

Tani waxay si fiican u shaqeysaa haddii gelinta kasta uu leeyahay aqoonsi aan shil lahayn, kaas oo nidaamku u leeyahay xal caadi ah.

Si kale haddii loo dhigo, xog ururintu waa 100% JSON(*) ku habboon oo si fiican ula shaqeeya HTTP, sida CouchDB. Laakiin asal ahaan waxaad u isticmaashaa API-waqtiga-dhabta ah kaas oo soo koobaya websockets, oggolaanshaha, iyo is-diiwaangelinta. Guddiga maamulka ayaa leh labada awoodood, oo u oggolaanaya labadaba tafatirka waqtiga-dhabta ah iyo soo dejinta/dhoofinta JSON. Haddii aad sidaas oo kale ku samayso koodhkaaga, waxa aad la yaabi doontaa inta kood khaaska ah lagu lumin doono marka aad ogaato in balastar iyo kala duwanaanshiyaha JSON ay xalliyaan 90% hawlaha caadiga ah ee maaraynta xaalada joogtada ah.

Qaabka xogta Firestore wuxuu la mid yahay JSON, laakiin wuxuu ku kala duwan yahay siyaabaha muhiimka ah qaarkood. Waxaan hore u soo sheegay la'aanta arrays gudahooda. Qaabka urur-hoosaadyadu waa inay noqdaan fikrado heerka koowaad ah, oo ka duwan dukumeentiga JSON ee ka kooban. Maadaama aysan jirin taxane diyaarsan oo tan loo diyaariyey, waxaa loo baahan yahay dariiq kood gaar ah si loo soo saaro loona qoro xogta. Si aad u habayso ururintaada, waxaad u baahan tahay inaad qorto qoraaladaada iyo qalabkaaga. Guddiga maamulka ayaa kaliya kuu oggolaanaya inaad sameyso isbeddello yaryar hal mar, mana lahan awood soo dejinta/dhoofinta.

Waxay qaateen xogta NoSQL ee wakhtiga-dhabta ah waxayna u rogeen si tartiib tartiib ah oo aan SQL ahayn oo leh auto-ku biir iyo tiir gooni ah oo aan JSON ahayn. Wax sida GraftQL.

Xogta xogtan ayaa gubanaysa...

Java kulul

Haddii Firestore loo malaynayay inuu yahay mid la isku halleyn karo oo la qiyaasi karo, markaa yaabka leh ayaa ah in horumariyaha celceliska ah uu ku dhamaan doono xal aan la isku halleyn karin marka loo eego xulashada FireBase ee sanduuqa. Nooca software-ka uu u baahan yahay Maamulaha Xogta Xogta Grumpy wuxuu u baahan yahay dadaal iyo karti karti taas oo si fudud aan macquul ahayn ugu jirta niche-ka badeecada loo malaynayo inay ku wanaagsan tahay. Tani waxay la mid tahay sida HTML5 Canvas uusan u ahayn beddelka Flash gabi ahaanba haddii aysan jirin qalab horumarineed iyo ciyaaryahan. Intaa waxaa dheer, Firestore wuxuu ku dhex milmay rabitaanka xogta daahirsanaanta iyo ansixinta nadiifka ah ee aan si fudud ula jaan qaadin sida celceliska isticmaalaha ganacsiga jecel inuu shaqeeyo: isaga wax walba waa ikhtiyaari, sababtoo ah ilaa dhamaadka wax walba waa qabyo.

Khasaaraha ugu weyn ee FireBase waa in macmiilka la abuuray dhowr sano ka hor waqtigiisa, ka hor inta aan inta badan horumarinta shabakadaha ogaanin isbeddella'aanta. Sababtaas awgeed, FireBase waxay u malaynaysaa inaad bedeli doonto xogta oo sidaas darteed kama faa'iidaysanayso is-beddella'aanta isticmaaluhu bixiyo. Intaa waxaa dheer, ma dib u isticmaalin xogta ku jirta sawir-qaadista ay u gudbiso isticmaalaha, taas oo ka dhigaysa kala duwanaansho aad u adag. Dukumeentiyada waaweyn, habka wax kala iibsiga ku salaysan ee la beddeli karo kuma filna. Nimanyahow, waanu haysanay WeakMap ee JavaScript. Waa raaxo.

Haddii aad xogta siiso qaabka la rabo oo ha ka dhigin geedaha kuwo aad u badan, markaa dhibaatadan waa la hareer marin karaa. Laakiin waxaan aad u xiiseynayaa haddii FireBase ay aad u xiiso badan tahay haddii horumariyayaashu ay sii daayaan API macmiil aad u wanaagsan oo adeegsatay isbeddella'aan oo ay weheliso xoogaa talo wax ku ool ah oo dhab ah oo ku saabsan naqshadaynta xogta. Taas beddelkeeda, waxa ay u ekaayeen in ay isku dayeen in ay hagaajiyaan waxa aan jabin, taas ayaana ka sii dartay.

Ma garanayo dhammaan caqligal ka dambeeya abuurista Firestore. Ka sheekaynta ujeedooyinka ka dhasha sanduuqa madow sidoo kale waa qayb ka mid ah madadaalada. Isku dhafkan labada xog ee aad isugu eg balse aan la is barbar dhigi karin waa dhif. Waa sida qof u maleeyay: "Firebase waa uun shaqo aan kaga dayan karno Google Cloud", laakiin weli ma aysan helin fikradda aqoonsiga shuruudaha dhabta ah ama abuurista xalal waxtar leh oo buuxiya dhammaan shuruudahaas. "U oggolow horumariyayaashu inay ka fikiraan. Kaliya ka dhig mid qurux badan UI... Ma ku dari kartaa dab badan?

Waxaan ka fahmay dhowr shay oo ku saabsan qaababka xogta. Xaqiiqdii waxaan u arkaa fikradda "wax kasta oo ku jira hal geed oo weyn oo JSON ah" inay yihiin isku day lagu doonayo in lagu soo saaro dareen kasta oo qaab-dhismeedka baaxadda leh ee kaydka. Rajada software in uu si fudud ula qabsado jabka qaab dhismeedka xog kasta oo shaki leh ayaa si fudud waalli ah. Xitaa ma qiyaasi karo sida ay wax u xun yihiin, waxaan sameeyay xisaab hubin adag iyo Waxaan arkay waxyaalo aadan weligiin ku riyoon. Laakiin sidoo kale waan ogahay sida ay u eg yihiin qaab-dhismeedka wanaagsan, sida loo isticmaalo ΠΈ maxaa sidaa loo yeelayaa. Waxaan qiyaasi karaa adduun uu Firestore u ekaan doono mid macquul ah oo dadka abuuray ay u maleynayaan inay qabteen shaqo wanaagsan. Laakin kuma noola aduunkan.

Taageerada waydiinta FireBase ayaa liidata heer kasta oo la eego waana wax aan jirin. Dhab ahaantii waxay u baahan tahay horumar ama ugu yaraan dib u eegis. Laakiin Firestore aad ugama roona sababtoo ah waxay ku kooban tahay isla jaantusyada hal-geeska ah ee laga helay SQL cad. Haddii aad u baahan tahay su'aalo ay dadku ku shaqeeyaan xogta fawdada ah, waxaad u baahan tahay raadinta qoraal buuxa, filtarrada kala duwan, iyo dalbashada isticmaale-qeexay ee gaarka ah. Marka si dhow loo eego, hawlaha SQL cad ayaa aad u xaddidan kaligood. Intaa waxaa dheer, su'aalaha SQL ee kaliya ee dadku ku socodsiin karaan wax soo saarka waa weydiimo degdeg ah. Waxaad u baahan doontaa xal tusmaynta caadada ah oo leh qaab-dhismeedyada xogta fekerka leh. Wax kasta oo kale, waa in ay jiraan ugu yaraan khariidad-kordhinta ama wax la mid ah.

Haddii aad Google Docs ka raadiso macluumaadka arrintan ku saabsan, waxa aad rajaynaysaa in lagugu tilmaamo jihada wax sida BigTable iyo BigQuery. Si kastaba ha noqotee, dhammaan xalalkan waxaa weheliya jargon iibka shirkadeed oo cufan oo aad si dhakhso ah u soo noqon doonto oo aad bilaabi doonto raadinta wax kale.

Waxa ugu dambeeya ee aad ku rabto xogta wakhtiga-dhabta ah waa wax ay sameeyeen iyo dadka ku jira miisaanka mushaharka maamulka.

(*) Tani waa kaftan, ma jiro wax la mid ah 100% JSON waafaqsan.

Iidheh ahaan

Raadinta VDS Mashaariicda ciribtirka, server-ka horumarinta iyo martigelinta? Dhab ahaantii waxaad tahay macmiilkayaga

Xogta xogtan ayaa gubanaysa...

Source: www.habr.com

Add a comment