Rhestr wirio ar gyfer creu a chyhoeddi cymwysiadau gwe

Er mwyn creu eich cymhwysiad gwe eich hun yn ein hamser ni, nid yw'n ddigon gallu ei ddatblygu. Agwedd bwysig yw sefydlu offer ar gyfer defnyddio cymwysiadau, monitro, yn ogystal â rheoli a gweinyddu'r amgylchedd y mae'n gweithredu ynddo. Wrth i'r oes o leoli â llaw bylu i ebargofiant, hyd yn oed ar gyfer prosiectau bach, gall offer awtomeiddio ddod â buddion diriaethol. Wrth ddefnyddio “â llaw”, gallwn yn aml anghofio symud rhywbeth, ystyried hyn neu'r naws hwnnw, rhedeg prawf anghofiedig, gellir parhau â'r rhestr hon am amser eithaf hir.

Efallai y bydd yr erthygl hon yn helpu'r rhai sy'n dysgu hanfodion creu cymwysiadau gwe ac sydd am ddeall ychydig am y telerau a'r confensiynau sylfaenol.

Felly, gellir rhannu ceisiadau adeiladu yn 2 ran o hyd: popeth sy'n ymwneud â chod y cais, a phopeth sy'n ymwneud â'r amgylchedd y gweithredir y cod hwn ynddo. Mae'r cod cais, yn ei dro, hefyd wedi'i rannu'n god gweinydd (yr un sy'n rhedeg ar y gweinydd, yn aml: rhesymeg busnes, awdurdodi, storio data, ac ati), a chod cleient (yr un sy'n rhedeg ar beiriant y defnyddiwr: yn aml y rhyngwyneb, a rhesymeg gysylltiedig ag ef).

Gadewch i ni ddechrau gyda dydd Mercher.

Y sail ar gyfer gweithredu unrhyw god, system, neu feddalwedd yw'r System Weithredu, felly isod byddwn yn edrych ar y systemau mwyaf poblogaidd ar y farchnad letyol ac yn rhoi disgrifiad byr iddynt:

Gweinyddwr Windows - yr un Windows, ond mewn amrywiad gweinydd. Nid yw rhai swyddogaethau sydd ar gael yn y fersiwn cleient (rheolaidd) o Windows yn bresennol yma, er enghraifft, rhai gwasanaethau ar gyfer casglu ystadegau a meddalwedd tebyg, ond mae set o gyfleustodau ar gyfer gweinyddu rhwydwaith, meddalwedd sylfaenol ar gyfer defnyddio gweinyddwyr (gwe, ftp, ...). Yn gyffredinol, mae Windows Server yn edrych fel Windows rheolaidd, cwacau fel Windows rheolaidd, fodd bynnag, mae'n costio 2 gwaith yn fwy na'i gymar rheolaidd. Fodd bynnag, o ystyried y byddwch yn fwyaf tebygol o ddefnyddio'r cais ar weinydd pwrpasol / rhithwir, nid yw'r gost derfynol i chi, er y gallai gynyddu, yn hollbwysig. Gan fod platfform Windows yn meddiannu lle llethol yn y farchnad OS defnyddwyr, ei argraffiad gweinydd fydd y mwyaf cyfarwydd i'r mwyafrif o ddefnyddwyr.

Unix- system debyg. Nid yw gwaith traddodiadol yn y systemau hyn yn gofyn am bresenoldeb rhyngwyneb graffigol cyfarwydd, gan gynnig consol yn unig i'r defnyddiwr fel elfen reoli. I ddefnyddiwr dibrofiad, gall gweithio yn y fformat hwn fod yn anodd, dim ond beth yw'r gost o adael golygydd testun sy'n eithaf poblogaidd mewn data Vim, mae cwestiwn yn ymwneud â hyn eisoes wedi cael mwy na 6 miliwn o safbwyntiau mewn 1.8 blynedd. Prif ddosbarthiadau (argraffiadau) y teulu hwn yw: Debian - dosbarthiad poblogaidd, mae fersiynau pecyn ynddo yn canolbwyntio'n bennaf ar LTS (Cefnogaeth Tymor Hir - cefnogaeth am amser hir), a fynegir mewn dibynadwyedd a sefydlogrwydd eithaf uchel y system a'r pecynnau; Ubuntu - yn cynnwys dosraniadau o'r holl becynnau yn eu fersiynau diweddaraf, a allai effeithio ar sefydlogrwydd, ond sy'n caniatáu ichi ddefnyddio'r swyddogaeth sy'n dod gyda fersiynau newydd; Red Hat Enterprise Linux – OS, lleoli ar gyfer defnydd masnachol, yn cael ei dalu, fodd bynnag, yn cynnwys cefnogaeth gan werthwyr meddalwedd, rhai pecynnau perchnogol a phecynnau gyrrwr; CentOS - ffynhonnell agored amrywiad o Red Hat Enterprise Linux, a nodweddir gan absenoldeb pecynnau a chymorth perchnogol.

I'r rhai sydd newydd ddechrau meistroli'r maes hwn, fy argymhelliad fyddai systemau Gweinyddwr WindowsNeu Ubuntu. Os ydym yn ystyried Windows, yna yn bennaf pa mor gyfarwydd yw'r system, Ubuntu – mwy o oddefgarwch i ddiweddariadau, ac yn ei dro, er enghraifft, llai o broblemau wrth lansio prosiectau ar dechnolegau sydd angen fersiynau newydd.

Felly, ar ôl penderfynu ar yr OS, gadewch i ni symud ymlaen i set o offer sy'n eich galluogi i ddefnyddio (gosod), diweddaru a monitro cyflwr y cymhwysiad neu ei rannau ar y gweinydd.

Y penderfyniad pwysig nesaf fydd lleoliad eich cais a'r gweinydd ar ei gyfer. Ar hyn o bryd, y rhai mwyaf cyffredin yw 3 ffordd:

  • Cynnal (cadw) gweinydd ar eich pen eich hun yw'r opsiwn mwyaf cyfeillgar i'r gyllideb, ond bydd yn rhaid i chi archebu IP sefydlog gan eich darparwr fel na fydd eich adnodd yn newid ei gyfeiriad dros amser.
  • Rhentu Gweinyddwr Ymroddedig (VDS) - a'i weinyddu'n annibynnol a llwythi graddfa
  • Talu (yn aml maen nhw'n rhoi cyfle i chi roi cynnig ar ymarferoldeb y platfform am ddim) am danysgrifiad i rai hosting cwmwl, lle mae'r model talu ar gyfer yr adnoddau a ddefnyddir yn eithaf cyffredin. Cynrychiolwyr amlycaf y cyfeiriad hwn: Amazon AWS (maen nhw'n rhoi blwyddyn am ddim o ddefnyddio'r gwasanaethau, ond gyda therfyn misol), Google Cloud (maen nhw'n rhoi $ 300 i'r cyfrif, y gellir ei wario yn ystod y flwyddyn ar wasanaethau cynnal cwmwl) , Yandex.Cloud (maent yn rhoi 4000 rubles . am 2 fis), Microsoft Azure (yn rhoi mynediad am ddim i wasanaethau poblogaidd am flwyddyn, + 12 rubles ar gyfer unrhyw wasanaethau am un mis). Felly, gallwch roi cynnig ar unrhyw un o'r darparwyr hyn heb wario ceiniog, ond cael barn fras am ansawdd a lefel y gwasanaeth a ddarperir.

Yn dibynnu ar y llwybr a ddewiswyd, yr unig beth a fydd yn newid yn y dyfodol yw pwy sy'n bennaf gyfrifol am hyn neu'r maes gweinyddol hwnnw. Os ydych chi'n cynnal eich hun, yna mae'n rhaid i chi ddeall bod unrhyw ymyrraeth mewn trydan, y Rhyngrwyd, y gweinydd ei hun, y meddalwedd a ddefnyddir arno - mae hyn i gyd yn gorwedd yn gyfan gwbl ar eich ysgwyddau. Fodd bynnag, ar gyfer hyfforddi a phrofi, mae hyn yn fwy na digon.

Os nad oes gennych chi beiriant ychwanegol a all chwarae rôl gweinydd, yna byddwch chi eisiau defnyddio'r ail neu'r drydedd ffordd. Mae'r ail achos yn union yr un fath â'r cyntaf, ac eithrio eich bod yn symud y cyfrifoldeb am argaeledd y gweinydd a'i bŵer i ysgwyddau'r gwesteiwr. Mae gweinyddu'r gweinydd a'r meddalwedd yn dal i fod dan eich rheolaeth.

Ac yn olaf, yr opsiwn o rentu gallu darparwyr cwmwl. Yma gallwch sefydlu rheolaeth awtomataidd o bron unrhyw beth heb fynd i ormod o fanylion technegol. Yn ogystal, yn lle un peiriant, gallwch gael nifer o achosion rhedeg cyfochrog, a all, er enghraifft, fod yn gyfrifol am wahanol rannau o'r cais, heb fod yn wahanol iawn o ran cost i fod yn berchen ar weinydd pwrpasol. A hefyd, mae yna offer ar gyfer offeryniaeth, cynhwysyddion, defnydd awtomatig, integreiddio parhaus a llawer mwy! Edrychwn ar rai o'r pethau hyn isod.

Yn gyffredinol, mae seilwaith y gweinydd yn edrych fel hyn: mae gennym ni “cerddorfa” fel y'i gelwir (“cerddorfa” yw'r broses o reoli sawl achos gweinyddwr), sy'n rheoli newidiadau amgylcheddol ar enghraifft gweinydd, cynhwysydd rhithwiroli (dewisol, ond yn eithaf a ddefnyddir yn aml), sy'n eich galluogi i rannu'r rhaglen yn haenau rhesymegol ynysig, a meddalwedd Integreiddio Parhaus - sy'n caniatáu diweddariadau i'r cod a gynhelir trwy “sgriptiau.”

Felly, mae offeryniaeth yn caniatáu ichi weld statws gweinyddwyr, cyflwyno neu gyflwyno diweddariadau yn ôl i amgylchedd y gweinydd, ac ati. Ar y dechrau, mae'r agwedd hon yn annhebygol o effeithio arnoch chi, oherwydd er mwyn trefnu unrhyw beth, mae angen sawl gweinydd arnoch chi (gallwch chi gael un, ond pam mae hyn yn angenrheidiol?), Ac er mwyn cael sawl gweinydd, mae eu hangen arnoch chi. Ymhlith yr offer yn y cyfeiriad hwn, yr un mwyaf poblogaidd yw Kubernetes, a ddatblygwyd gan google.

Y cam nesaf yw rhithwiroli ar lefel OS. Y dyddiau hyn, mae'r cysyniad o “docerization” wedi dod yn eang, sy'n dod o'r offeryn Docker, sy'n darparu ymarferoldeb cynwysyddion wedi'u hynysu oddi wrth ei gilydd, ond a lansiwyd yng nghyd-destun un system weithredu. Beth mae hyn yn ei olygu: ym mhob un o'r cynwysyddion hyn gallwch chi redeg cais, neu hyd yn oed set o gymwysiadau, a fydd yn credu mai nhw yw'r unig rai yn yr OS cyfan, heb hyd yn oed amau ​​​​bodolaeth rhywun arall ar y peiriant hwn. Mae'r swyddogaeth hon yn ddefnyddiol iawn ar gyfer lansio cymwysiadau unfath o wahanol fersiynau, neu gymwysiadau sy'n gwrthdaro yn unig, yn ogystal ag ar gyfer rhannu darnau o raglen yn haenau. Gellir ysgrifennu'r cast haen hwn yn ddiweddarach i ddelwedd, y gellir ei defnyddio, er enghraifft, i ddefnyddio rhaglen. Hynny yw, trwy osod y ddelwedd hon a defnyddio'r cynwysyddion sydd ynddo, byddwch chi'n cael amgylchedd parod ar gyfer rhedeg eich cais! Yn y camau cyntaf, gallwch ddefnyddio'r offeryn hwn at ddibenion gwybodaeth ac i gael buddion real iawn trwy rannu rhesymeg y cais yn haenau gwahanol. Ond mae'n werth dweud yma nad oes angen tocio pawb, ac nid bob amser. Mae cyfiawnhad dros docio mewn achosion lle mae'r cais wedi'i “ddarnio”, wedi'i rannu'n rhannau bach, pob un yn gyfrifol am ei dasg ei hun, yr hyn a elwir yn “bensaernïaeth microwasanaeth”.

Yn ogystal, yn ogystal â darparu'r amgylchedd, mae angen inni sicrhau defnydd cymwys o'r cymhwysiad, sy'n cynnwys pob math o drawsnewidiadau cod, gosod llyfrgelloedd a phecynnau sy'n gysylltiedig â chymhwyso, rhedeg profion, hysbysiadau am y gweithrediadau hyn, ac ati. Yma mae angen rhoi sylw i gysyniad fel “Integreiddio Parhaus” (CI – Integreiddio Parhaus). Y prif offer yn y maes hwn ar hyn o bryd yw Jenkins (gall meddalwedd CI a ysgrifennwyd yn Java ymddangos ychydig yn gymhleth ar y dechrau), Travis CI (ysgrifennwyd yn Ruby, goddrychol, ychydig yn symlach Jenkins, fodd bynnag, mae angen rhywfaint o wybodaeth ym maes cyfluniad defnyddio o hyd), Gitlab CI (ysgrifenedig ar Ruby a Ewch).

Felly, ar ôl siarad am yr amgylchedd y bydd eich cais yn gweithio ynddo, mae'n bryd edrych o'r diwedd ar ba offer y mae'r byd modern yn eu cynnig i ni ar gyfer creu'r union gymwysiadau hyn.

Gadewch i ni ddechrau gyda'r pethau sylfaenol: Backend (backend) - rhan gweinydd. Mae'r dewis o iaith, y set o swyddogaethau sylfaenol a'r strwythur wedi'i ddiffinio ymlaen llaw (fframwaith) yma yn cael ei bennu'n bennaf gan ddewisiadau personol, ond serch hynny, mae'n werth sôn amdano i'w ystyried (mae barn yr awdur am ieithoedd ​yn eithaf goddrychol, er gyda honiad i ddisgrifiad diduedd):

  • Mae Python yn iaith eithaf cyfeillgar i ddefnyddiwr dibrofiad, mae'n maddau rhai camgymeriadau, ond gall hefyd fod yn eithaf llym gyda'r datblygwr fel nad yw'n gwneud unrhyw beth drwg. Eisoes yn iaith weddol aeddfed ac ystyrlon, a ymddangosodd yn 1991.
  • Ewch - mae iaith o Google, hefyd yn eithaf cyfeillgar a chyfleus, mae'n eithaf hawdd llunio a chael ffeil gweithredadwy ar unrhyw lwyfan. Gall fod yn syml ac yn ddymunol, neu gall fod yn gymhleth ac yn ddifrifol. Yn ffres ac ifanc, yn ymddangos yn gymharol ddiweddar, yn 2009.
  • Mae Rust ychydig yn hŷn na'i gydweithiwr blaenorol, a ryddhawyd yn 2006, ond mae'n dal yn eithaf ifanc o'i gymharu â'i gyfoedion. Wedi'i anelu at ddatblygwyr mwy profiadol, er ei fod yn dal i geisio datrys llawer o dasgau lefel isel ar gyfer y rhaglennydd.
  • Mae Java yn gyn-filwr o ddatblygiad masnachol, a gyflwynwyd ym 1995, ac mae'n un o'r ieithoedd a ddefnyddir amlaf mewn datblygu cymwysiadau menter heddiw. Gyda'i gysyniadau sylfaenol a'i setup trwm, gall yr amser rhedeg ddod yn eithaf heriol i ddechreuwr.
  • Mae ASP.net yn blatfform datblygu cymwysiadau a ryddhawyd gan Microsoft. I ysgrifennu ymarferoldeb, defnyddir yr iaith C# (ynganu C Sharp), a ymddangosodd yn 2000, yn bennaf. Mae ei gymhlethdod yn debyg i'r lefel rhwng Java a Rust.
  • PHP, a ddefnyddiwyd yn wreiddiol ar gyfer preprocessing HTML, ar hyn o bryd, er ei fod yn dal arweinyddiaeth absoliwt yn y farchnad iaith, mae tuedd tuag at ddirywiad yn y defnydd. Mae ganddo drothwy mynediad isel a rhwyddineb ysgrifennu cod, ond ar yr un pryd, wrth ddatblygu cymwysiadau eithaf mawr, efallai na fydd ymarferoldeb yr iaith yn ddigon.

Wel, rhan olaf ein cais - y mwyaf diriaethol i'r defnyddiwr - frontend (frontend) - yw wyneb eich cais; gyda'r rhan hon y mae'r defnyddiwr yn rhyngweithio'n uniongyrchol.

Heb fynd i fanylion, mae'r ffryntiad modern yn sefyll ar dri philer, fframweithiau (ac nid cymaint), ar gyfer creu rhyngwynebau defnyddwyr. Yn unol â hynny, y tri mwyaf poblogaidd yw:

  • Nid fframwaith yw ReactJS, ond llyfrgell. Mewn gwirionedd, dim ond yn absenoldeb rhai swyddogaethau "allan o'r bocs" y mae'r fframwaith yn wahanol i'w deitl balch a'r angen i'w gosod â llaw. Felly, mae sawl amrywiad o “baratoi” y llyfrgell hon, gan ffurfio fframweithiau unigryw. Gall fod ychydig yn anodd i ddechreuwr, oherwydd rhai egwyddorion sylfaenol, a gosodiad eithaf ymosodol o'r amgylchedd adeiladu. Fodd bynnag, i gael cychwyn cyflym, gallwch ddefnyddio'r pecyn “create-react-app”.
  • Mae VueJS yn fframwaith ar gyfer adeiladu rhyngwynebau defnyddwyr. O'r drindod hon, mae'n gwbl briodol i gymryd teitl y fframwaith mwyaf hawdd ei ddefnyddio; ar gyfer datblygiad yn Vue, mae'r rhwystr rhag mynediad yn is na rhwystr y brodyr eraill a grybwyllwyd. Ar ben hynny, ef yw'r ieuengaf yn eu plith.
  • Ystyrir mai onglog yw'r mwyaf cymhleth o'r fframweithiau hyn, yr unig un sydd ei angen TypeScript (ychwanegiad ar gyfer iaith Javascript). Defnyddir yn aml i adeiladu cymwysiadau menter fawr.

Wrth grynhoi'r hyn a ysgrifennwyd uchod, gallwn ddod i'r casgliad bod defnyddio cais yn awr yn wahanol iawn i'r ffordd yr aeth y broses hon yn ei blaen. Fodd bynnag, nid oes unrhyw un yn eich atal rhag gwneud y “defnydd” yn y ffordd hen ffasiwn. Ond a yw'r ychydig o amser sy'n cael ei arbed ar y cychwyn yn werth y nifer enfawr o gamgymeriadau y bydd yn rhaid i ddatblygwr sy'n dewis y llwybr hwn eu cymryd? Rwy'n credu mai'r ateb yw na. Trwy dreulio ychydig mwy o amser yn ymgyfarwyddo â'r offer hyn (ac nid oes angen mwy na hynny arnoch, oherwydd mae angen i chi ddeall a oes eu hangen arnoch yn eich prosiect presennol ai peidio), gallwch ei chwarae allan, gan leihau'n sylweddol, er enghraifft , achosion o wallau ysbryd yn dibynnu ar yr amgylchedd ac sy'n ymddangos ar y gweinydd cynhyrchu yn unig, dadansoddiad nosweithiol o'r hyn a arweiniodd at ddamwain y gweinydd a pham na fydd yn cychwyn, a llawer mwy.

Ffynhonnell: hab.com

Ychwanegu sylw