Daim ntawv teev npe tsim thiab tshaj tawm cov ntawv thov web

Txhawm rau tsim koj tus kheej lub vev xaib thov hauv peb lub sijhawm, nws tsis txaus los tsim nws. Ib qho tseem ceeb yog teeb tsa cov cuab yeej siv rau kev xa tawm, kev saib xyuas, nrog rau kev tswj hwm thiab kev tswj hwm ib puag ncig uas nws ua haujlwm. Raws li lub sijhawm ntawm kev xa tawm ntawm phau ntawv ploj mus rau hauv oblivion, txawm tias rau cov haujlwm me me, cov cuab yeej siv hluav taws xob tuaj yeem nqa cov txiaj ntsig zoo. Thaum xa tawm "los ntawm tes", peb tuaj yeem tsis nco qab txav ib yam dab tsi, coj mus rau hauv tus account qhov no lossis qhov nuance, khiav qhov kev sim tsis nco qab, daim ntawv teev npe no tuaj yeem txuas ntxiv mus ntev heev.

Kab lus no yuav pab tau cov neeg uas nyuam qhuav kawm txog cov hauv paus ntawm kev tsim cov ntawv thov hauv web thiab xav nkag siab me ntsis txog cov ntsiab lus thiab cov lus pom zoo.

Yog li, daim ntawv thov tsev tseem tuaj yeem muab faib ua 2 ntu: txhua yam uas cuam tshuam nrog daim ntawv thov code, thiab txhua yam uas cuam tshuam rau ib puag ncig uas cov cai no raug tua. Daim ntawv thov code, nyob rau hauv lem, kuj muab faib mus rau hauv tus neeg rau zaub mov code (tus uas khiav ntawm lub server, feem ntau: kev lag luam logic, kev tso cai, cov ntaub ntawv cia, thiab lwm yam), thiab tus neeg siv code (ib tug uas khiav ntawm tus neeg siv lub tshuab: feem ntau. lub interface, thiab lwm yam logic nrog nws).

Cia peb pib nrog hnub Wednesday.

Lub hauv paus rau kev ua haujlwm ntawm txhua tus lej, qhov system, lossis software yog Operating System, yog li hauv qab no peb yuav saib cov tshuab nrov tshaj plaws ntawm kev lag luam hosting thiab muab cov lus piav qhia luv luv rau lawv:

Qhov rai neeg rau zaub mov - tib lub Windows, tab sis hauv kev hloov pauv ntawm server. Qee qhov kev ua haujlwm muaj nyob rau hauv tus neeg siv khoom (tsis tu ncua) version ntawm Windows tsis nyob ntawm no, piv txwv li, qee cov kev pabcuam rau kev sau cov txheeb cais thiab cov software zoo sib xws, tab sis muaj cov khoom siv rau kev tswj hwm network, software yooj yim rau kev xa cov servers (web, ftp, ...). Feem ntau, Windows Server zoo li Windows tsis tu ncua, quacks zoo li Windows li niaj zaus, txawm li cas los xij, nws raug nqi 2 npaug ntau dua li nws cov khoom siv li niaj zaus. Txawm li cas los xij, muab tias koj yuav feem ntau yuav xa daim ntawv thov ntawm lub siab / virtual server, tus nqi kawg rau koj, txawm tias nws yuav nce ntxiv, tsis yog qhov tseem ceeb. Txij li thaum lub Windows platform nyob ib qho chaw yooj yim hauv cov neeg siv khoom lag luam OS, nws cov ntawv server yuav yog qhov paub zoo tshaj plaws rau cov neeg siv feem ntau.

Unix-similar system. Kev ua haujlwm ib txwm ua hauv cov tshuab no tsis tas yuav muaj lub ntsej muag paub txog graphical interface, muab cov neeg siv tsuas yog lub console ua tus tswj hwm. Rau cov neeg siv tsis paub, kev ua haujlwm hauv hom ntawv no tuaj yeem nyuaj, tsuas yog tus nqi ntawm kev tawm cov ntawv nyeem uas nrov heev hauv cov ntaub ntawv Vim, cov lus nug ntsig txog qhov no twb tau txais ntau dua 6 lab views hauv 1.8 xyoo. Cov kev faib tawm tseem ceeb (cov ntawv luam tawm) ntawm tsev neeg no yog: Debian - kev faib tawm nrov, pob versions hauv nws tau tsom mus rau LTS (Kev Pab Rau Lub Sijhawm Ntev - kev txhawb nqa rau lub sijhawm ntev), uas tau nthuav tawm hauv kev ntseeg siab thiab ruaj khov ntawm cov kab ke thiab pob khoom; Ubuntu - muaj kev faib tawm ntawm txhua pob khoom hauv lawv cov ntawv tshiab, uas yuav cuam tshuam rau kev ruaj ntseg, tab sis tso cai rau koj siv cov haujlwm uas los nrog cov ntawv tshiab; Red Hat Enterprise Linux - OS, positioned rau kev lag luam siv, yog them, txawm li cas los xij, suav nrog kev txhawb nqa los ntawm cov neeg muag khoom software, qee cov pob khoom ntiag tug thiab cov pob tsav tsheb; CentOS - qhib qhov chaw ib qho kev hloov pauv ntawm Red Hat Enterprise Linux, tus yam ntxwv los ntawm qhov tsis muaj cov khoom ntiag tug thiab kev txhawb nqa.

Rau cov neeg uas nyuam qhuav pib paub txog thaj chaw no, kuv qhov kev pom zoo yuav yog cov tshuab Qhov rai neeg rau zaub mov, lossis Ubuntu. Yog tias peb xav txog Windows, ces qhov no feem ntau yog qhov kev paub ntawm lub kaw lus, Ubuntu - ntau dua kev ua siab ntev rau kev hloov tshiab, thiab dhau los, piv txwv li, muaj teeb meem tsawg dua thaum tsim cov haujlwm ntawm cov thev naus laus zis uas xav tau cov qauv tshiab.

Yog li, tau txiav txim siab ntawm OS, cia peb txav mus rau cov txheej txheem uas tso cai rau koj siv (nruab), hloov kho thiab saib xyuas lub xeev ntawm daim ntawv thov lossis nws qhov chaw ntawm lub server.

Qhov kev txiav txim siab tseem ceeb tom ntej no yuav yog qhov chaw ntawm koj daim ntawv thov thiab lub server rau nws. Tam sim no, feem ntau yog 3 txoj hauv kev:

  • Hosting (kub) tus neeg rau zaub mov ntawm koj tus kheej yog qhov kev xaiv nyiaj txiag tshaj plaws, tab sis koj yuav tsum tau xaj tus IP zoo li qub los ntawm koj tus kws kho mob kom koj cov peev txheej tsis hloov chaw nyob hauv lub sijhawm.
  • Xauj rau Dedicated Server (VDS) - thiab nws tus kheej tswj hwm nws thiab ntsuas qhov hnyav
  • Them (feem ntau lawv muab sijhawm rau koj sim lub platform ua haujlwm pub dawb) rau kev tso npe rau qee qhov huab hosting, qhov twg cov qauv them nyiaj rau cov peev txheej siv tau ntau heev. Cov neeg sawv cev tseem ceeb tshaj plaws ntawm cov kev taw qhia no: Amazon AWS (lawv muab ib xyoos pub dawb ntawm kev siv cov kev pabcuam, tab sis nrog kev txwv txhua hli), Google Cloud (lawv muab $ 300 rau tus account, uas tuaj yeem siv rau lub xyoo ntawm huab hosting cov kev pabcuam) , Yandex.Cloud (lawv muab 4000 rubles . rau 2 lub hlis), Microsoft Azure (muab pub dawb rau cov kev pabcuam nrov rau ib xyoos, + 12 rubles rau ib lub hlis twg). Yog li, koj tuaj yeem sim ib qho ntawm cov chaw muab kev pabcuam no yam tsis tau siv nyiaj, tab sis tau txais kev xav kwv yees txog qhov zoo thiab qib ntawm kev pabcuam.

Nyob ntawm txoj kev xaiv, tib yam uas yuav hloov mus rau yav tom ntej yog leej twg yog tus ua lub luag haujlwm loj rau qhov no lossis cheeb tsam ntawm kev tswj hwm. Yog tias koj tuav koj tus kheej, ces koj yuav tsum nkag siab tias muaj kev cuam tshuam hauv hluav taws xob, Is Taws Nem, server nws tus kheej, software xa mus rau nws - tag nrho cov no yog tag nrho ntawm koj lub xub pwg nyom. Txawm li cas los xij, rau kev cob qhia thiab kev sim, qhov no ntau tshaj qhov txaus.

Yog tias koj tsis muaj lub tshuab ntxiv uas tuaj yeem ua lub luag haujlwm ntawm lub server, ces koj yuav xav siv txoj kev thib ob lossis thib peb. Qhov thib ob yog qhov zoo ib yam rau thawj zaug, tshwj tsis yog tias koj hloov lub luag haujlwm rau qhov muaj cov neeg rau zaub mov thiab nws lub zog rau lub xub pwg nyom ntawm tus tswv tsev. Kev tswj hwm ntawm server thiab software tseem nyob hauv koj txoj kev tswj hwm.

Thiab thaum kawg, qhov kev xaiv ntawm kev xauj lub peev xwm ntawm huab muab kev pabcuam. Ntawm no koj tuaj yeem teeb tsa automated tswj yuav luag txhua yam yam tsis tau nkag mus rau hauv kev nthuav dav ntau dhau. Tsis tas li ntawd, es tsis txhob siv ib lub tshuab, koj tuaj yeem muaj ntau qhov sib npaug ntawm qhov sib npaug, uas tuaj yeem, piv txwv li, ua lub luag haujlwm rau ntau qhov chaw ntawm daim ntawv thov, thaum tsis sib txawv ntawm tus nqi ntau los ntawm kev muaj ib lub server tshwj xeeb. Thiab tseem, muaj cov cuab yeej rau orchestration, containerization, tsis siv neeg xa mus, kev sib koom ua ke thiab ntau ntxiv! Peb mam li saib qee yam hauv qab no.

Feem ntau, lub server infrastructure zoo li qhov no: peb muaj lub npe hu ua "orchestrator" ("orchestration" yog cov txheej txheem ntawm kev tswj hwm ntau tus neeg rau zaub mov), uas tswj hwm kev hloov pauv ib puag ncig ntawm tus neeg rau zaub mov piv txwv, lub thawv virtualization (yeem, tab sis zoo heev. feem ntau siv), uas tso cai rau koj faib daim ntawv thov mus rau hauv cov txheej txheem sib cais, thiab Kev Sib Txuas Txuas Ntxiv software - tso cai hloov tshiab rau cov cai tswj hwm los ntawm "scripts."

Yog li, orchestration tso cai rau koj pom cov xwm txheej ntawm cov servers, yob tawm lossis yob rov qab hloov tshiab rau lub server ib puag ncig, thiab lwm yam. Thaum xub thawj, qhov no tsis zoo li yuav cuam tshuam rau koj, txij li txhawm rau txhawm rau txhim kho txhua yam, koj xav tau ntau lub servers (koj tuaj yeem muaj ib qho, tab sis vim li cas qhov no tsim nyog?), thiab thiaj li yuav muaj ntau lub servers, koj xav tau lawv. Ntawm cov cuab yeej hauv qhov kev taw qhia no, qhov nrov tshaj plaws yog Kubernetes, tsim los ntawm Google.

Cov kauj ruam tom ntej yog virtualization ntawm OS qib. Niaj hnub no, lub tswv yim ntawm "dockerization" tau dhau los ua dav, uas los ntawm cov cuab yeej docker, uas muab cov kev ua haujlwm ntawm cov thawv cais tawm ntawm ib leeg, tab sis tau tsim tawm hauv cov ntsiab lus ntawm ib qho kev ua haujlwm. Qhov no txhais li cas: nyob rau hauv txhua qhov ntawm cov thawv no koj tuaj yeem khiav daim ntawv thov, lossis txawm tias cov ntawv thov, uas yuav ntseeg tau tias lawv tsuas yog ib qho ntawm tag nrho OS, tsis txawm xav tias muaj lwm tus neeg hauv lub tshuab no. Qhov kev ua haujlwm no muaj txiaj ntsig zoo rau kev tshaj tawm cov ntawv thov sib txawv ntawm cov ntawv sib txawv, lossis tsuas yog cov ntawv thov tsis sib haum, nrog rau kev faib cov ntawv thov rau hauv txheej. Cov txheej txheem no tuaj yeem muab sau ua ib daim duab tom qab, uas tuaj yeem siv tau, piv txwv li, txhawm rau xa daim ntawv thov. Ntawd yog, los ntawm kev txhim kho cov duab no thiab xa cov thawv uas nws muaj, koj tau txais ib puag ncig npaj rau kev khiav koj daim ntawv thov! Hauv thawj cov kauj ruam, koj tuaj yeem siv cov cuab yeej no ob qho tib si rau cov ntaub ntawv xov xwm thiab kom tau txais txiaj ntsig tiag tiag los ntawm kev faib cov ntawv thov logic rau ntau txheej. Tab sis nws tsim nyog hais ntawm no tias tsis yog txhua tus xav tau dockerization, thiab tsis tas li. Dockerization yog tsim nyog nyob rau hauv cov ntaub ntawv uas daim ntawv thov yog "fragmented", muab faib ua me me, txhua lub luag hauj lwm rau nws tus kheej txoj hauj lwm, lub thiaj li hu ua "microservice architecture".

Tsis tas li ntawd, ntxiv rau kev muab ib puag ncig, peb yuav tsum ua kom muaj peev xwm xa tawm daim ntawv thov, uas suav nrog txhua yam kev hloov pauv, kev teeb tsa ntawm cov ntawv thov ntsig txog cov tsev qiv ntawv thiab cov pob khoom, kev sim khiav, ceeb toom txog cov haujlwm no, thiab lwm yam. Ntawm no peb yuav tsum tau xyuam xim rau lub tswv yim xws li "Nruam kev koom ua ke" (CI – Kev sib koom ua ke tsis tu ncua). Cov cuab yeej tseem ceeb hauv thaj chaw no tam sim no yog Jenkins (CI software sau hauv Java yuav zoo li nyuaj me ntsis thaum pib), Travis IB (Sau hauv Ruby, cov ntsiab lus, me ntsis yooj yim dua Jenkins, txawm li cas los xij, qee qhov kev paub hauv kev xa tawm kev teeb tsa tseem xav tau), Gitlab CI (sau rau Ruby thiab mus).

Yog li, tau tham txog ib puag ncig uas koj daim ntawv thov yuav ua haujlwm, nws yog lub sijhawm los saib cov cuab yeej uas niaj hnub ntiaj teb muab rau peb los tsim cov ntawv thov no.

Cia peb pib nrog cov hauv paus: backend (backend) – server part. Kev xaiv ntawm cov lus, teeb tsa ntawm cov haujlwm tseem ceeb thiab cov qauv ua ntej (lub hauv paus) ntawm no yog txiav txim siab los ntawm tus kheej nyiam, tab sis txawm li cas los xij, nws tsim nyog hais rau kev txiav txim siab (tus sau lub tswv yim txog cov lus yog qhov tseem ceeb, txawm hais tias nrog kev thov. rau ib qho kev piav qhia tsis ncaj ncees):

  • Python yog ib hom lus zoo rau tus neeg siv tsis paub, nws zam txim rau qee qhov yuam kev, tab sis nws kuj tseem tuaj yeem nruj heev nrog tus tsim tawm kom nws tsis ua dab tsi phem. Twb yog lus paub tab thiab muaj txiaj ntsig, uas tau tshwm sim hauv 1991.
  • Mus - ib hom lus los ntawm Google, kuj yog tus phooj ywg zoo thiab yooj yim, nws yooj yim heev los sau thiab tau txais cov ntaub ntawv ua tiav ntawm txhua lub platform. Nws tuaj yeem ua tau yooj yim thiab qab ntxiag, lossis nws tuaj yeem yog qhov nyuaj thiab hnyav. Tshiab thiab hluas, tshwm sim tsis ntev los no, hauv 2009.
  • Rust yog me ntsis laus dua nws cov npoj yaig yav dhau los, tso tawm xyoo 2006, tab sis tseem hluas heev piv rau nws cov phooj ywg. Lub hom phiaj ntawm cov neeg tsim khoom paub ntau dua, txawm hais tias nws tseem sim daws ntau yam haujlwm qis rau tus programmer.
  • Java yog ib tug qub tub rog ntawm kev lag luam kev loj hlob, qhia nyob rau hauv 1995, thiab yog ib tug ntawm cov feem ntau siv hom lus nyob rau hauv lub enterprise daim ntawv thov kev loj hlob hnub no. Nrog nws cov ntsiab lus yooj yim thiab teeb tsa hnyav, lub sijhawm ua haujlwm tuaj yeem dhau los ua nyuaj rau tus pib.
  • ASP.net yog daim ntawv thov kev txhim kho platform tso tawm los ntawm Microsoft. Txhawm rau sau ua haujlwm, C# hom lus (hais C Sharp), uas tau tshwm sim hauv 2000, feem ntau yog siv. Nws qhov nyuaj yog piv rau qib ntawm Java thiab Rust.
  • PHP, Ameslikas siv rau HTML preprocessing, tam sim no, txawm hais tias nws tuav kev coj noj coj ua hauv kev lag luam lus, muaj qhov sib txawv ntawm kev siv qis. Nws muaj qhov pib nkag qis thiab yooj yim ntawm kev sau cov lej, tab sis tib lub sijhawm, thaum tsim cov ntawv thov loj, kev ua haujlwm ntawm cov lus yuav tsis txaus.

Zoo, qhov kawg ntawm peb daim ntawv thov - qhov pom tseeb tshaj plaws rau cov neeg siv - frontend (frontend) - yog lub ntsej muag ntawm koj daim ntawv thov; nws yog nrog rau qhov no uas tus neeg siv cuam tshuam ncaj qha.

Yog tsis nkag mus rau hauv cov ntsiab lus, niaj hnub frontend sawv ntawm peb tus ncej, lub moj khaum (thiab tsis ntau), rau kev tsim cov neeg siv interfaces. Raws li, peb qhov nrov tshaj plaws yog:

  • ReactJS tsis yog lub moj khaum, tab sis lub tsev qiv ntawv. Qhov tseeb, lub moj khaum txawv ntawm nws lub npe txaus siab tsuas yog thaum tsis muaj qee qhov haujlwm "tawm ntawm lub thawv" thiab qhov xav tau rau nruab lawv manually. Yog li, muaj ntau qhov kev hloov pauv ntawm "kev npaj" ntawm lub tsev qiv ntawv no, tsim cov qauv tshwj xeeb. Nws tuaj yeem nyuaj me ntsis rau cov neeg pib tshiab, vim qee lub hauv paus ntsiab lus, thiab kev teeb tsa hnyav heev ntawm kev tsim ib puag ncig. Txawm li cas los xij, txhawm rau pib sai, koj tuaj yeem siv pob "tsim-react-app".
  • VueJS yog lub hauv paus rau kev tsim cov neeg siv interfaces. Ntawm no trinity, nws rightfully siv lub npe ntawm feem ntau cov neeg siv-phooj ywg lub moj khaum; rau txoj kev loj hlob nyob rau hauv Vue, lub barrier rau nkag yog qis dua li ntawm lwm cov kwv tij hais. Tsis tas li ntawd, nws yog tus yau tshaj ntawm lawv.
  • Angular suav hais tias yog qhov nyuaj tshaj plaws ntawm cov qauv no, tsuas yog ib qho uas yuav tsum tau ua TypeScript (add-on rau Javascript lus). Feem ntau siv los tsim cov ntawv thov kev lag luam loj.

Raws li cov ntsiab lus tau sau tseg saum toj no, peb tuaj yeem xaus tias tam sim no siv daim ntawv thov yog qhov txawv txav ntawm qhov txheej txheem no ua ntej. Txawm li cas los xij, tsis muaj leej twg txwv koj los ntawm kev ua "kev xa tawm" txoj kev qub qub. Tab sis yog lub sij hawm me me tau txais kev cawmdim thaum pib tsim nyog rau qhov yuam kev loj heev uas tus tsim tawm uas xaiv txoj kev no yuav tsum tau nqis los? Kuv ntseeg tias cov lus teb tsis yog. Los ntawm kev siv sijhawm me ntsis kom paub koj tus kheej nrog cov cuab yeej no (thiab koj tsis xav tau ntau tshaj qhov ntawd, vim tias koj yuav tsum nkag siab tias koj xav tau lawv hauv koj qhov project tam sim no lossis tsis), koj tuaj yeem ua si tawm, txo qis, piv txwv li. , cov xwm txheej ntawm dab yuam kev nyob ntawm ib puag ncig thiab qhov tshwm sim tsuas yog nyob rau ntawm cov khoom siv ntau lawm, kev tshuaj xyuas hmo ntuj ntawm dab tsi ua rau lub server poob thiab vim li cas nws yuav tsis pib, thiab ntau ntxiv.

Tau qhov twg los: www.hab.com

Ntxiv ib saib