Námsleið 02Kennslustund 5 / 6

Breyttu fyrirliggjandi kerfi á öruggan hátt

Varðveittu núverandi samninga milli kerfishluta þegar þú innleiðir breytingu. Taktu tillit til eldri biðlara, gagna og uppsetningarraðar.

Framhaldsstig11 minYfirfarið

Gefið út af Hvernig við skrifum

Kannaðu skilning þinnÞú endurnefnir dálk í gagnagrunni og uppfærir forritið í sömu útgáfu. Hvað getur samt brugðist?Gera æfinguna
Þú endurnefnir dálk í gagnagrunni og uppfærir forritið í sömu útgáfu. Hvað getur samt brugðist?

Það sem þú lærir

  • Finna samninga milli kerfishluta sem staðbundin kóðabreyting getur haft áhrif á.
  • Útskýra breytingu í áföngum með útvíkkun og samdrætti.
  • Greina afturköllun kóða frá endurheimt gagna.

Finndu samningana í kringum breytinguna

Fyrirliggjandi hugbúnaður hefur kallaðila, vistuð gögn, tímasett verk og rekstrarferla. Sum tengsl sjást ekki í skránni sem þú vilt breyta. Gervigreindaragent getur búið til staðbundna breytingu sem er rétt ein og sér en rýfur einn þessara samninga.

Áður en útfærsla hefst skaltu finna einingarnar sem lesa og skrifa gögnin sem verða fyrir áhrifum. Skoðaðu leiðir, bakgrunnsverk, skýrslur og ytri samþættingar. Athugaðu hvort önnur teymi eða eldri biðlaraútgáfur reiði sig á núverandi hegðun.

Biddu gervigreindaragentinn að sýna gögnin sem styðja þessa kortlagningu. Leitarniðurstaða er gagnlegur upphafspunktur en kvik köll og ytri notendur kerfisins gætu krafist þess að ábyrgðaraðili staðfesti tengslin.

Gerðu núverandi hegðun sýnilega

Fyrir illa skjalfesta einingu skaltu bæta við afmörkuðum athugunum á hegðun sem þarf að haldast stöðug. Þær lýsa núverandi samningi. Þær staðfesta ekki að öll fyrirliggjandi hegðun sé æskileg.

Ef núverandi hegðun stangast á við kröfu skaltu skrá áreksturinn. Ekki varðveita öryggisgalla aðeins vegna þess að próf skráði hann. Fáðu þá ákvörðun sem þarf til að greina tilætlaða hegðun frá galla.

Notaðu raunhæf prófunargögn án viðkvæmra upplýsinga. Taktu með eldri gagnasnið og ófullkomnar færslur þar sem slíkt getur komið fyrir. Nýtt gagnaskema sem er aðeins prófað með nýjum gögnum getur falið yfirfærsluvandamál.

Yfirfarðu skiptin milli útgáfa

Skoðum ímyndaða endurnefningu úr customer_name í display_name. Tafarlaus endurnefning getur brotið eldra forritstilvik meðan á uppsetningu stendur. Að uppfæra báðar skrár í einu pull request gerir uppsetninguna ekki að einni ódeilanlegri aðgerð.

Áfangaskipt nálgun getur varðveitt samhæfni:

  1. Bættu við nýja reitnum án þess að fjarlægja þann gamla.
  2. Skilgreindu hvernig nýjar skrifaðgerðir halda nauðsynlegum gildum samræmdum.
  3. Fylltu inn í fyrirliggjandi færslur með ferli sem má endurræsa.
  4. Sannreyndu að innfyllingu sé lokið og að einingar sem lesa gögnin hegði sér rétt.
  5. Færðu einingar sem lesa gögnin yfir á nýja reitinn.
  6. Fjarlægðu gamla reitinn aðeins eftir að engin eining notar hann lengur.

Nákvæm aðferð ræðst af gagnagrunninum og skrifmynstrum. Tvöföld ritun getur valdið ósamræmi ef önnur skrifaðgerðin mistekst. Ódeilanleg gagnagrunnsaðgerð (transaction) eða önnur skýr samstillingaraðferð getur verið nauðsynleg. Ekki nota þetta dæmi án þess að athuga tryggingar kerfisins.

Martin Fowler lýsir þessari almennu yfirfærslu sem parallel change, einnig nefnd expand-and-contract. Lykilhugmyndin er samrýmanleg yfirfærsla áður en nokkuð er fjarlægt.

Skipuleggðu endurheimt sérstaklega frá afturköllun

Afturköllun kóða endurheimtir fyrri útgáfu forrits. Hún afturkallar ekki sjálfkrafa gagnaflutning eða gagnabreytingu. Eldri útgáfan skilur kannski ekki nýju gögnin. Yfirfærsla sem eyðir gögnum getur fjarlægt upplýsingar sem afturköllun kóða endurheimtir ekki.

Tilgreindu endurheimtaraðgerð fyrir hvert skref. Öruggt getur verið að halda áfram innfyllingu sem má endurræsa. Röng umbreyting gæti krafist leiðréttingar úr varðveittum upprunagögnum. Aðgerð sem eyðir gögnum gæti krafist sannreynds endurheimtarferlis.

Spurðu hver beri ábyrgð á ákvörðun um endurheimt og hve langan tíma hún geti tekið. Forðastu að líta á „við erum með afrit“ sem staðfestingu á að endurheimt uppfylli kröfur þjónustunnar.

Hafðu breytinguna yfirferðarhæfa

Aðgreindu ótengda tiltekt frá virknibreytingunni. Láttu samhæfniáætlun, sannprófunarniðurstöður og skilyrði fyrir fjarlægingu fylgja pull request. Merktu hvar afturköllun fer að krefjast viðbótarvinnu.

Gervigreindaragent getur hjálpað til við að skoða einingar sem nota gögnin og undirbúa yfirfærslukóða. Ábyrgðaraðili þarf samt að samþykkja áætlun um yfirfærslu og endurheimt. Endanleg hönnun er aðeins einn hluti öruggrar breytingar.

Gera æfinguna

Veldu litla breytingu á reit eða API. Skráðu allar einingar sem lesa og skrifa gögnin, þar á meðal bakgrunnsverk. Lýstu fyrsta skrefi sem bætir við án þess að fjarlægja, athugun á yfirfærslu og skilyrði fyrir fjarlægingu. Finndu hvaða skref gæti komið í veg fyrir afturköllun.

Sækja vinnublað (Markdown)
Kannaðu skilning þinn ↑

Halda áfram að læra

Heimildir og frekara lesefni

Tengt lesefni frá Taiga

← Fyrri kennslustund: Yfirfarðu kóða sem gervigreind myndar