Liiska hubinta abuurista iyo daabacaadda codsiyada shabakada

Si aad u abuurto codsigaaga mareegta wakhtigeena, kuma filna inaad horumariso. Arrin muhiim ah ayaa ah dejinta qalabyada geynta arjiga, la socodka, iyo sidoo kale maareynta iyo maareynta deegaanka uu ka shaqeeyo. Maaddaama xilligii gacan-ku-dejinta uu sii dhammaanayo, xitaa mashaariicda yaryar, qalabka iswada ayaa keeni kara faa'iidooyin la taaban karo. Marka la geynayo "gacanta", waxaan inta badan illoobi karnaa inaan dhaqaaqno shay, xisaabta ku darsanno tan ama nuance-kaas, tijaabi imtixaan la illoobay, liiskan waxaa la sii wadi karaa waqti dheer.

Maqaalkani wuxuu caawin karaa kuwa kaliya ee baranaya aasaaska abuurista codsiyada webka oo raba inay wax yar ka fahmaan shuruudaha aasaasiga ah iyo heshiisyada.

Sidaa darteed, codsiyada dhismaha ayaa weli loo qaybin karaa 2 qaybood: wax kasta oo la xidhiidha code-ka codsiga, iyo wax kasta oo la xidhiidha deegaanka kaas oo code-kan lagu fuliyo. Koodhka codsiga, isna, waxa loo qaybiyaa koodka server-ka (kan ku shaqeeya server-ka, inta badan: caqli-gal ganacsi, oggolaansho, kaydinta xogta, iwm.), iyo code-ka macmiilka (kan ku shaqeeya mashiinka isticmaalaha: badanaa interface-ka, iyo macquulnimada la xidhiidha iyada).

Aan ka bilowno Arbacada.

Aasaaska ku shaqaynta kood kasta, system, ama software waa Operating System-ka, haddaba hoos waxaan ku eegi doonaa hababka ugu caansan suuqa martigelinta waxaanan siin doonaa sharraxaad kooban:

Windows Server - Windows isku mid ah, laakiin kala duwanaansho server ah. Qaar ka mid ah hawlaha laga heli karo nooca macmiilka (caadiga ah) ee Windows kuma jiraan halkan, tusaale ahaan, adeegyada qaar ee ururinta tirakoobka iyo softiweerka la midka ah, laakiin waxaa jira qalabyo loo isticmaalo maamulka shabakadda, softiweerka aasaasiga ah ee geynta server-yada (web, ftp, ...). Guud ahaan, Windows Server-ku wuxuu u eg yahay Windows-ka caadiga ah, quacks sida Windows caadiga ah, si kastaba ha ahaatee, waxay ku kacaysaa 2 jeer in ka badan dhiggeeda caadiga ah. Si kastaba ha noqotee, marka la eego inaad u badan tahay inaad geliso codsiga server-ka u go'ay/Virtual, qiimaha ugu dambeeya ee adiga, in kasta oo ay kordhin karto, maahan mid muhiim ah. Maaddaama madal Windows ay ku jirto meel baaxad leh oo ka mid ah suuqa macaamiisha OS, daabacaadda server-keeda ayaa noqon doonta tan ugu caansan isticmaalayaasha badankood.

Unix-nidaam la mid ah. Shaqada dhaqameed ee nidaamyadani uma baahna joogitaanka garaafyada garaafka ee la yaqaan, oo siinaya isticmaalaha kaliya konsole ahaan qaybta xakamaynta. Isticmaalaha aan khibradda lahayn, ku shaqaynta qaabkan waxay noqon kartaa mid adag, kaliya waa maxay kharashka ka bixida tifaftiraha qoraalka kaas oo caan ku ah xogta Vim, su'aal la xiriirta tan waxay horey u heshay in ka badan 6 milyan oo aragtiyo 1.8 sano ah. Qaybinta ugu muhiimsan ee qoyskan waa: Debian - qaybinta caanka ah, noocyada xirmada ee ku jira waxay inta badan diirada saaraan LTS (Taageero Muddo Dheer - taageero wakhti dheer), taas oo lagu muujiyay isku halaynta sare ee caddaaladda iyo xasilloonida nidaamka iyo xirmooyinka; Ubuntu - waxay ka kooban tahay qaybinta dhammaan xirmooyinka noocyadooda ugu dambeeyay, taas oo saameyn karta xasilloonida, laakiin waxay kuu ogolaaneysaa inaad isticmaasho shaqeynta la socota noocyo cusub; Shirkadda Koofiyada Cas Linux – OS, meel loogu talagalay isticmaalka ganacsiga, waa la bixiyaa, si kastaba ha ahaatee, waxaa ku jira taageerada laga helo iibiyaasha software-ka, baakadaha gaarka ah iyo baakadaha darawalka; CentOS - il furan Kala duwanaanshiyaha koofiyadda cas ee Linux, oo lagu garto maqnaanshaha xirmooyinka iyo taageerada.

Kuwa hadda bilaabay inay si fiican u yaqaanaan aaggan, taladaydu waxay noqon doontaa nidaamyo Windows Server, ama Ubuntu. Haddii aan tixgelinno Windows, markaa tani waa ugu horreyntii aqoonta nidaamka, Ubuntu - dulqaad dheeraad ah oo ku saabsan cusbooneysiinta, iyo markeeda, tusaale ahaan, dhibaatooyin yar marka la bilaabayo mashaariicda tiknoolajiyada u baahan noocyo cusub.

Markaa, annagoo go'aan ka gaarnay OS-ka, aan u gudubno qalabyo kala duwan oo kuu oggolaanaya inaad geyso (ku rakibto), cusbooneysiiso oo aad la socoto xaaladda codsiga ama qaybihiisa server-ka.

Go'aanka xiga ee muhiimka ah wuxuu noqon doonaa meelaynta codsigaaga iyo server-ka loogu talagalay. Waqtigan xaadirka ah, kuwa ugu caansan waa 3 siyaabood:

  • Hosting (haynta) server kaligaa ayaa ah ikhtiyaarka ugu saaxiibtinimo badan, laakiin waa inaad ka dalbataa IP-ga taagan adeeg bixiyahaaga si khayraadkaagu aanu u bedelin ciwaankiisa wakhti ka dib.
  • Ijaar Server Dedicated (VDS) – oo si madax-banaan u maamula oo cabbir culayska
  • Bixinta (badanaa waxay ku siinayaan fursad aad ku tijaabiso shaqada madal bilaash ah) si aad u rukhsad u yeelato qaar ka mid ah martigelinta daruuraha, halkaas oo qaabka lacag bixinta agabka la isticmaalo uu yahay mid caadi ah. Wakiilada ugu caansan ee jihada: Amazon AWS (waxay bixiyaan sanad bilaash ah oo la isticmaalo adeegyada, laakiin leh xaddidaad bille ah), Google Cloud (waxay bixiyaan $ 300 xisaabta, taas oo lagu bixin karo sanadka dhexdiisa adeegyada martigelinta daruuraha) , Yandex.Cloud (waxay ku siinayaan 4000 rubles . 2 bilood), Microsoft Azure (ku siiso lacag la'aan adeegyada caanka ah ee sanadka, + 12 rubles adeeg kasta hal bil ah). Sidaa darteed, waxaad isku dayi kartaa mid ka mid ah bixiyayaashan adoon kharash garaynin dinaar, laakiin aad ka hesho ra'yi qiyaas ah oo ku saabsan tayada iyo heerka adeegga lagu bixiyo.

Iyadoo ku xiran dariiqa la doortay, waxa kaliya ee isbedeli doona mustaqbalka waa cidda inta badan mas'uul ka ah tan ama aagga maamulka. Haddii aad naftaada martigeliso, markaa waa inaad fahamtaa wax kasta oo kala go'a korantada, internetka, server-ka laftiisa, software-ka lagu rakibay - waxaas oo dhami waxay ku yaalliin garbahaaga. Si kastaba ha ahaatee, tababarka iyo tijaabinta, tani waa wax ka badan oo ku filan.

Haddii aadan haysan mishiin dheeraad ah oo ka ciyaari kara doorka server-ka, markaa waxaad u baahan doontaa inaad isticmaasho habka labaad ama saddexaad. Kiis labaad wuxuu la mid yahay kii hore, marka laga reebo inaad u wareejiso mas'uuliyadda helitaanka server-ka iyo awooddiisa garbaha martigeliyaha. Maamulka serferka iyo software-ka ayaa wali ku hoos jira gacantaada.

Iyo ugu dambeyntii, ikhtiyaarka kiraynta awoodda bixiyeyaasha daruuraha. Halkan waxa aad dejin kartaa xakamaynta iswada ee ku dhawaad ​​wax kasta adoon gelin faahfaahin farsamo oo aad u badan. Intaa waxaa dheer, halkii aad ka heli lahayd hal mashiin, waxaad yeelan kartaa dhowr jeer oo isbarbar socda, kuwaas oo, tusaale ahaan, masuul ka noqon kara qaybaha kala duwan ee codsiga, iyada oo aan wax badan ka duwanayn kharashka lahaanshaha server-ka gaarka ah. Iyo sidoo kale, waxaa jira qalab loogu talagalay abaabulka, weel dhigista, geynta tooska ah, isdhexgalka joogtada ah iyo wax ka badan! Waxaan eegi doonaa qaar ka mid ah waxyaabahan hoos.

Guud ahaan, kaabayaasha server-ku waxay u egyihiin sidan: waxaan leenahay waxa loogu yeero "orchestrator" ("orchestration" waa habka loo maareeyo dhowr tusaale oo server ah), kaas oo maamula isbeddellada deegaanka ee tusaale ahaan server-ka, weel muuqaal ah (ikhtiyaar ah, laakiin aad u badan). Inta badan la isticmaalo), kaas oo kuu ogolaanaya inaad u qaybiso codsiga lakabyo macquul ah oo go'doonsan, iyo software-is-dhexgalka joogtada ah-u oggolaanaya cusbooneysiinta koodka martigeliyay iyada oo loo marayo "scripts."

Marka, orchestration waxay kuu ogolaaneysaa inaad aragto heerka server-yada, soo rogo ama dib u soo celi cusbooneysiinta deegaanka serverka, iyo wixii la mid ah. Marka ugu horeysa, dhinacani uma badna inay saameyn ku yeelato, sababtoo ah si aad wax u abaabulto, waxaad u baahan tahay dhowr server (waxaad yeelan kartaa mid, laakiin maxay tani lagama maarmaan u tahay?), Si aad u hesho dhowr server, waxaad u baahan tahay. Qalabka jihadan, midka ugu caansan waa Kubernetes, oo ay soo saartay Google.

Talaabada xigta waa hab-dhaqanka heerka OS. Maalmahan, fikradda "dockerization" waxay noqotay mid baahsan, taas oo ka timaadda qalabka Docker, kaas oo bixiya shaqada weelasha ka go'doonsan midba midka kale, laakiin lagu bilaabay macnaha guud ee hal nidaamka hawlgalka. Maxay tani macnaheedu tahay: mid kasta oo ka mid ah weelashaas waxaad ku wadi kartaa codsi, ama xitaa codsiyo, kuwaas oo rumaysan doona inay yihiin kuwa kaliya ee ku jira OS oo dhan, iyada oo aan xitaa ka shakin jiritaanka qof kale mashiinkan. Shaqadani aad bay faa'iido ugu leedahay soo saarista codsiyo isku mid ah oo noocyo kala duwan ah, ama si fudud codsiyada is khilaafaya, iyo sidoo kale qaybinta qaybaha codsiga lakabyo. Lakabka lakabka ah ayaa hadhow loo qori karaa sawir, kaas oo loo isticmaali karo, tusaale ahaan, in la geeyo codsi. Taasi waa, markaad rakibto sawirkan oo aad geyso weelasha uu ku jiro, waxaad heleysaa jawi diyaarsan oo aad ku socodsiiso codsigaaga! Tallaabooyinka ugu horreeya, waxaad u isticmaali kartaa qalabkan labadaba ujeeddooyin macluumaad iyo si aad u hesho faa'iidooyin dhab ah adigoo u qaybinaya macquulka codsiga lakabyo kala duwan. Laakiin waxaa habboon in halkan lagu sheego in qof kastaa aanu u baahnayn dockerization, oo had iyo jeer maaha. Dockerization-ka waxaa lagu caddeeyey kiisaska codsigu "la jajabiyey", oo loo qaybiyay qaybo yaryar, mid kastaa wuxuu mas'uul ka yahay hawshiisa, waxa loogu yeero "naqshadeynta adeeg-yaraha".

Intaa waxaa dheer, marka lagu daro bixinta deegaanka, waxaan u baahannahay inaan hubinno dejinta karti u leh codsiga, oo ay ku jiraan dhammaan noocyada isbeddelka code, rakibidda maktabadaha iyo xirmooyinka la xiriira codsiga, imtixaannada socodsiinta, ogeysiisyada ku saabsan hawlgalladan, iyo wixii la mid ah. Halkan waxaan u baahanahay inaan fiiro gaar ah u yeelano fikradda sida "Isdhexgalka Joogtada ah" (CI - Is-dhexgalka joogtada ah). Qalabka ugu muhiimsan ee aaggan xilligan waa Jenkins ( CI software ku qoran Java waxay u ekaan kartaa mid dhib yar bilawga ), Travis CI (wuxuu ku qoran yahay Ruby, mawduuca, xoogaa ka fudud Jenkins, si kastaba ha ahaatee, qaar ka mid ah aqoonta goobta qaabeynta geynta ayaa weli loo baahan yahay), Gitlab CI ( ku qoran Ruby iyo Go).

Markaa, markaad ka hadashay jawiga uu codsigaagu ku shaqayn doono, waa waqtigii aad ugu dambayntii eegi lahayd qalabka casriga ah ee aduunka noo soo bandhigo samaynta codsiyadan.

Aan ku bilowno aasaaska: Backend (backend) - qayb server. Xulashada luqadda, qaab-dhismeedka aasaasiga ah iyo qaab-dhismeedka hore loo qeexay (qaab-dhismeedka) halkan waxaa lagu go'aamiyaa inta badan dookhyada shakhsi ahaaneed, laakiin si kastaba ha ahaatee, waxaa habboon in la xuso si loo tixgeliyo (fikirka qoraaga ee ku saabsan luqadaha waa arrin macquul ah, inkasta oo sheegasho leh. si qeexid aan eex lahayn):

  • Python waa luuqad saaxiibtinimo leh oo loogu talagalay isticmaale aan khibrad lahayn, way cafisaa khaladaadka qaar, laakiin sidoo kale waxay noqon kartaa mid aad u adag horumariyaha si uusan u samaynin wax xun. Horeba luqad caddaalad ah oo qaan-gaar ah oo macno leh, oo u muuqday 1991.
  • Go - luqad ka timid Google, sidoo kale waa mid saaxiibtinimo leh oo ku habboon, aad bay u fududahay in la ururiyo oo laga helo fayl la fulin karo madal kasta. Waxay noqon kartaa mid fudud oo wacan, ama waxay noqon kartaa mid adag oo halis ah. Cusub iyo dhalinyaro, ayaa soo muuqday dhawaanahan, 2009kii.
  • Daxalku wax yar ayuu ka weyn yahay saaxiibkiisii ​​hore, oo la sii daayay 2006, laakiin weli wuu da' yar yahay marka loo eego faciisa. Loogu talagalay horumariyayaal khibrad badan leh, in kasta oo ay wali isku dayayso inay xalliso hawlo badan oo heer hoose ah oo loogu talagalay barnaamijka.
  • Java waa ruug-caddaa horumarka ganacsiga, oo la soo bandhigay 1995-kii, waana mid ka mid ah luqadaha inta badan loo isticmaalo horumarinta codsiga ganacsiga maanta. Iyada oo la adeegsanayo fikradaheeda aasaasiga ah iyo dejinta culus, wakhtiga runtime wuxuu noqon karaa mid aad u adag bilawga.
  • ASP.net waa barnaamij horumarineed oo ay soo saartay Microsoft. Si loo qoro shaqeynta, luqadda C # (waxaa loogu dhawaaqaa C Sharp), oo soo muuqday 2000, ayaa inta badan la adeegsadaa. Kakanaantadeedu waxay la mid tahay heerka u dhexeeya Java iyo miridhku.
  • PHP, oo asal ahaan loo isticmaalo diyaarinta HTML, hadda, in kasta oo ay ku hayso hoggaan dhammaystiran suuqa luqadda, waxaa jira isbeddel ku wajahan hoos u dhaca isticmaalka. Waxay leedahay marin hoose oo gelid iyo fudayd qoraal kood, laakiin isla mar ahaantaana, marka la samaynayo codsiyada caddaaladda weyn, shaqeynta luqadda waxaa laga yaabaa inaysan ku filneyn.

Hagaag, qaybta ugu dambeysa ee codsigeena - kan ugu la taaban karo isticmaalayaasha - frontend (frontend) - waa wejiga codsigaaga; waa qaybtan in isticmaaluhu si toos ah ula falgalo.

Adiga oo aan tafaasiil ka bixin, safka hore ee casriga ahi wuxuu ku taagan yahay saddex tiir, qaab-dhismeedyo (oo aan aad u badnayn), si loo abuuro is-dhexgal isticmaale. Sidaa darteed, saddexda ugu caansan waa:

  • ReactJS ma aha qaab-dhismeed, laakiin waa maktabad. Dhab ahaantii, qaab-dhismeedku wuu ka duwan yahay cinwaanka uu ku faani karo kaliya maqnaanshaha shaqooyinka qaarkood "ka baxsan sanduuqa" iyo baahida loo qabo in lagu rakibo gacanta. Haddaba, waxa jira dhawr nooc oo kala duwan oo ah "diyaarinta" maktabaddan, oo samaynaysa habab gaar ah. Wax yar ayay ku adkaan kartaa bilawga, iyadoo ay ugu wacan tahay mabaadi'da aasaasiga ah qaarkood, iyo habayn aad u daran oo ah jawiga dhismaha. Si kastaba ha ahaatee, si degdeg ah, waxaad isticmaali kartaa xirmada "create-react-app".
  • VueJS waa qaab dhismeedyo lagu dhisayo is-dhexyaal isticmaale. Saddex-midnimadan, waxay si sax ah u qaadanaysaa cinwaanka qaabka ugu habboon ee adeegsadaha; horumarinta Vue, xannibaadda gelitaanka ayaa ka hooseeya kan walaalaha kale ee la sheegay. Waxaa intaa dheer, isagu waa kan ugu yar iyaga.
  • Xaglaha waxaa loo tixgeliyaa midka ugu adag ee qaab-dhismeedkan, ka kaliya ee u baahan TypeScript (ku-dar-ka luqadda Javascript). Inta badan waxaa loo isticmaalaa in lagu dhiso codsiyada ganacsiga waaweyn.

Marka la soo koobo waxa kor ku qoran, waxaan ku soo gabagabeyn karnaa in imminka soo gudbinta arjiga uu si weyn uga duwan yahay sidii howshaan hore u socotay. Si kastaba ha ahaatee, ma jiro qof kaa joojinaya inaad sameyso "dirista" qaabkii hore. Laakiin wakhtiga yar ee la badbaadiyey bilawga miyuu u qalmaa tirada badan ee khaladaadka ah ee horumariyaha doorta jidkan uu ku socon doono? Waxaan aaminsanahay in jawaabtu tahay maya. Markaad wakhti yar ku qaadato inaad barato naftaada qalabkan (oo uma baahnid wax intaa ka badan, sababtoo ah waxaad u baahan tahay inaad fahamto inaad u baahan tahay mashruucaaga hadda iyo haddii kale), waad ciyaari kartaa, si weyn u yaraynaysa, tusaale ahaan. , Kiisaska khaladaadka rooxaanta ee ku xiran deegaanka iyo kuwa ka muuqda kaliya server-ka wax soo saarka, falanqaynta habeenkii ee waxa keenay shilka serverka iyo sababta aysan u bilaabi doonin, iyo wax ka badan.

Source: www.habr.com

Add a comment