Nnwale otu na DBMS - ka anyị si eme ya na Sportmaster, akụkụ nke mbụ

Ndewo, Habr!

Aha m bụ Maxim Ponomarenko na abụ m onye nrụpụta na Sportmaster. Enwere m ahụmịhe afọ 10 na ngalaba IT. Ọ malitere ọrụ ya na nyocha akwụkwọ ntuziaka, wee gbanwee na mmepe nchekwa data. N'ime afọ 4 gara aga, na-achịkọta ihe ọmụma enwetara na nnwale na mmepe, anọ m na-eme nnwale na-akpaghị aka na ọkwa DBMS.

Anọla m na otu egwuregwu Sportmaster ihe karịrị otu afọ ma na-emepe ule akpaghị aka na otu n'ime nnukwu ọrụ. N'April, mụ na ụmụ okorobịa si Sportmaster Lab kwuru okwu na ogbako na Krasnodar, a na-akpọ akụkọ m "Unit tests in a DBMS," ma ugbu a achọrọ m ịkọrọ gị ya. A ga-enwe ọtụtụ ederede, n'ihi ya, m kpebiri kewaa akụkọ ahụ na posts abụọ. Na nke mbụ, anyị ga-ekwu maka autotests na ule n'ozuzu, na nke abụọ, m ga-ebi n'ụzọ zuru ezu na anyị unit ule usoro na nsonaazụ nke ngwa ya.

Nnwale otu na DBMS - ka anyị si eme ya na Sportmaster, akụkụ nke mbụ

Nke mbụ, ntakịrị echiche na-agwụ ike. Kedu ihe bụ nnwale akpaaka? Nke a bụ nnwale nke ngwanrọ na-eme, na IT ọgbara ọhụrụ a na-ejiwanye ya na mmepe ngwanrọ. Nke a bụ n'ihi n'eziokwu na ụlọ ọrụ na-eto eto, usoro ozi ha na-eto eto ma, n'ihi ya, ọnụ ọgụgụ ọrụ nke kwesịrị ịnwale na-eto eto. Ịme ule akwụkwọ ntuziaka na-aghọwanye ọnụ ahịa.

Arụụrụ m ọrụ n’otu nnukwu ụlọ ọrụ bụ́ ndị e wepụtara ya na-apụta kwa ọnwa abụọ. N'otu oge ahụ, a nọrọ otu ọnwa zuru ezu iji jiri aka nyocha iri na abuo nyochaa ọrụ ahụ. Ekele maka mmejuputa akpaaka site na otu obere ndị mmepe, anyị nwere ike belata oge ule na izu 2 n'ime otu afọ na ọkara. Ọ bụghị naanị na anyị abawanyela ọsọ nke nnwale, kamakwa ọ ka mma mma ya. A na-ewepụta ule akpaghị aka mgbe niile, ha na-emekwa usoro nyocha niile gụnyere n'ime ha, ya bụ, anyị na-ewepụ ihe mmadụ na-akpata.

E ji mara IT nke oge a site n'eziokwu na onye nrụpụta nwere ike ịchọrọ ọ bụghị naanị ide koodu ngwaahịa, kamakwa idepụta ule otu na-elele koodu a.

Mana gịnị ma ọ bụrụ na sistemụ gị dabere na mgbagha nkesa? Enweghị ngwọta zuru ụwa ọnụ ma ọ bụ omume kacha mma na ahịa. Dị ka a na-achị, ụlọ ọrụ na-edozi nsogbu a site na ịmepụta usoro nyocha nke onwe ha. Nke a bụ usoro nnwale akpaaka ejiri aka anyị dee nke emere na ọrụ anyị, m ga-ekwu maka ya na akụkọ m.

Nnwale otu na DBMS - ka anyị si eme ya na Sportmaster, akụkụ nke mbụ

Na-anwale iguzosi ike n'ihe

Nke mbu, ka anyi kwue maka oru ngo ahu ebe anyi butere sistemu nnwale akpaka. Ọrụ anyị bụ sistemu iguzosi ike n'ihe nke Sportmaster (n'agbanyeghị, anyị deburu banyere ya na ya nke a post).

Ọ bụrụ na ụlọ ọrụ gị buru ibu, mgbe ahụ usoro iguzosi ike n'ihe gị ga-enwe njirimara ọkọlọtọ atọ:

  • Sistemu gị ga-ebu nnukwu ibu
  • Sistemu gị ga-enwe usoro mgbako dị mgbagwoju anya
  • A ga-emeziwanye sistemụ gị nke ọma.

Ka anyị gaa n'usoro ... Na mkpokọta, ọ bụrụ na anyị na-atụle ụdị Sportmaster niile, mgbe ahụ, anyị nwere ihe karịrị 1000 ụlọ ahịa na Russia, Ukraine, China, Kazakhstan na Belarus. A na-azụ ihe dị ka 300 n'ụlọ ahịa ndị a kwa ụbọchị. Ya bụ, nlele 000-3 ọ bụla nke abụọ na-abanye na sistemụ anyị. Dị ka o kwesịrị ịdị, usoro iguzosi ike n'ihe anyị na-ebu ibu nke ukwuu. Ma ebe ọ bụ na a na-eji ya eme ihe, anyị ga-enyerịrị ụkpụrụ kachasị elu nke àgwà ya, n'ihi na njehie ọ bụla na ngwanrọ pụtara nnukwu ego, aha aha na ihe ndị ọzọ na-efunahụ.

N'otu oge ahụ, Sportmaster na-agba ọsọ karịa otu narị ọkwa dị iche iche. Enwere nkwalite dị iche iche: enwere nkwalite ngwaahịa, enwere ndị raara onwe ha nye ụbọchị izu, enwere ndị ejikọtara na ụlọ ahịa akọwapụtara, enwere nkwalite maka ọnụọgụ nke nnata, enwere maka ọnụọgụ ngwaahịa. N'ozuzu, ọ bụghị ihe ọjọọ. Ndị ahịa nwere ego na koodu nkwado a na-eji mgbe ịzụrụ ihe. Ihe a niile na-eduga n'eziokwu na ịgbakọ usoro ọ bụla bụ ọrụ na-adịghị mkpa.

Algọridim na-arụ ọrụ nhazi usoro bụ n'ezie egwu na mgbagwoju anya. Na mgbanwe ọ bụla na algọridim a dị nnọọ ize ndụ. Ọ dị ka mgbanwe ndị kacha yie ka enweghị isi nwere ike ibute nsonaazụ na-enweghị atụ. Mana ọ bụ kpọmkwem usoro mgbako dị mgbagwoju anya, ọkachasị ndị na-arụ ọrụ dị oke egwu, bụ ndị kacha mma maka akpaaka. Iji aka nyochaa ọtụtụ ikpe ndị yiri ya na-ewe oge. Ma ebe ọ bụ na ntinye ntinye n'ime usoro ahụ adịghị agbanwe agbanwe, na-akọwa ya otu ugboro, ị nwere ike ịmepụta ngwa ngwa nyocha ngwa ngwa ma nwee obi ike na ọrụ ahụ ga-arụ ọrụ.

Ebe ọ bụ na a na-eji usoro anyị arụ ọrụ nke ọma, azụmahịa ahụ ga-achọ ihe ọhụrụ n'aka gị, na-ebi ndụ na oge ma bụrụ ndị ahịa. Na usoro iguzosi ike n'ihe anyị, mwepụta na-apụta kwa ọnwa abụọ. Nke a pụtara na ọ bụla ọnwa abụọ anyị kwesịrị ime a zuru ezu regression nke dum usoro. N'otu oge ahụ, dị ka ọ dị na IT ọgbara ọhụrụ ọ bụla, mmepe anaghị aga ozugbo site na onye mmepụta na mmepụta. Ọ na-amalite na sekit nke onye nrụpụta, wee na-aga nke ọma site na bench ule, ntọhapụ, nnabata, na naanị mgbe ahụ na-ejedebe na mmepụta. Na opekempe, na ule na ntọhapụ sekit, anyị kwesịrị ime a zuru ezu regression nke dum usoro.

Ngwongwo ndị a kọwara bụ ọkọlọtọ maka ihe fọrọ nke nta ka ọ bụrụ usoro ntụkwasị obi ọ bụla. Ka anyị kwuo banyere atụmatụ nke ọrụ anyị.

Na teknụzụ, 90% nke mgbagha nke sistemu iguzosi ike n'ihe anyị dabere na sava ma tinye ya na Oracle. Enwere onye ahịa ekpughere na Delphi, nke na-arụ ọrụ nke onye nchịkwa ebe ọrụ akpaghị aka. Enwere ọrụ webụ ekpughere maka ngwa mpụga (dịka ọmụmaatụ webụsaịtị). Ya mere, ọ bụ ihe ezi uche dị na ya na ọ bụrụ na anyị ebuga usoro nnwale akpaaka, anyị ga-eme ya na Oracle.

Usoro iguzosi ike n'ihe na Sportmaster adịlarị ihe karịrị afọ 7 ma mepụta ya site na otu ndị mmepe ... Ọnụ ọgụgụ nke ndị mmepe na ọrụ anyị n'oge afọ 7 a bụ mmadụ 3-4. Ma n'ime afọ gara aga, ndị otu anyị amụbawo nke ukwuu, ma ugbu a, e nwere mmadụ 10 na-arụ ọrụ ahụ. Ya bụ, ndị mmadụ na-abịa n'ọrụ a bụ ndị na-amachaghị ọrụ, usoro, na ụkpụrụ ụlọ. Ma enwere ihe ize ndụ dị ukwuu na anyị ga-atụfu mmejọ.

A na-akọwa ọrụ a site na enweghị ndị nyocha raara onwe ha nye dịka ngalaba ndị ọrụ. Enwere, n'ezie, ule, ma a na-anwale ule site na ndị nyocha, na mgbakwunye na ọrụ ha ndị ọzọ bụ isi: ịkparịta ụka na ndị ahịa azụmahịa, ndị ọrụ, ịmepụta usoro chọrọ, wdg. wdg ... N'agbanyeghị eziokwu na a na-eme ule dị oke mma (nke a bụ ihe kwesịrị ekwesị na-ekwu, ebe ọ bụ na ụfọdụ ndị nyocha nwere ike ijide anya nke akụkọ a), arụmọrụ nke iche iche na itinye uche na otu ihe adịghị kagbuo .

N'iburu n'uche ihe niile dị n'elu, iji melite ogo ngwaahịa a na-enyefe ma belata oge mmepe, echiche nke ịmegharị nnwale na ọrụ yiri ihe ezi uche dị na ya. Na n'ọkwa dị iche iche nke ịdị adị nke sistemu iguzosi ike n'ihe, ndị mmepe n'otu n'otu gbalịsiri ike iji ule nkeji kpuchie koodu ha. N'ozuzu, ọ bụ usoro nke kewara ekewa, onye ọ bụla na-eji ụkpụrụ ụlọ na usoro nke ya. Nsonaazụ ikpeazụ bụ ihe a na-ahụkarị na nyocha nke otu: e mepụtara ule, jiri oge ụfọdụ, echekwara na nchekwa faịlụ mbipute, mana n'oge ụfọdụ, ha kwụsịrị ịgba ọsọ ma chefuo. Nke mbụ, nke a bụ n'ihi na a na-ejikọta ule ndị ahụ na onye na-eme ihe kpọmkwem, ọ bụghịkwa na ọrụ ahụ.

utPLSQL na-abịa napụta

Nnwale otu na DBMS - ka anyị si eme ya na Sportmaster, akụkụ nke mbụ

Ị maara ihe ọ bụla gbasara Stephen Feuerstein?

Nke a bụ nwoke nwere ọgụgụ isi nke tinyere ogologo akụkụ nke ọrụ ya iji soro Oracle na PL/SQL rụọ ọrụ, ma deekwa ọtụtụ ọrụ na isiokwu a. Otu n'ime akwụkwọ ya ama ama bụ: “Oracle PL/SQL. Maka ndị ọkachamara." Ọ bụ Stephen bụ onye mepụtara ngwọta utPLSQL, ma ọ bụ, dịka ọ na-anọchi anya, Usoro Nnwale Unit maka Oracle PL/SQL. Emepụtara ngwọta utPLSQL na 2016, mana ọ na-aga n'ihu na-arụsi ọrụ ike na-ewepụtakwa ụdị ọhụrụ. N'oge mkpesa, ụdị kachasị ọhụrụ malitere na Maachị 24, 2019.
Kedu ihe ọ bụ. Nke a bụ ọrụ mepere emepe dị iche. Ọ tụrụ megabytes abụọ, gụnyere ọmụmaatụ na akwụkwọ. N'anụ ahụ, ọ bụ atụmatụ dị iche na nchekwa data ORACLE nwere ngwugwu na tebụl maka ịhazi nnwale otu. Nwụnye na-ewe sekọnd ole na ole. Akụkụ pụrụ iche nke utPLSQL bụ ịdị mfe iji ya.
Gburugburu ụwa, utPLSQL bụ usoro maka ịgba ọsọ ule otu, ebe a na-aghọta ule otu dị ka usoro ogbe Oracle nkịtị, nhazi ya na-agbaso iwu ụfọdụ. Na mgbakwunye na ịmalite, utPLSQL na-echekwa ndekọ nke ule gị niile, ma nweekwa sistemụ mkpesa nke ime.

Ka anyị leba anya n'ihe atụ nke koodu ule unit dị ka, emejuputa atumatu site na iji usoro a.

Nnwale otu na DBMS - ka anyị si eme ya na Sportmaster, akụkụ nke mbụ

Ya mere, ihuenyo na-egosi koodu maka nkọwa ngwugwu na-ahụkarị na ule otu. Kedu ihe ndị a chọrọ n'aka? A ga-eji "utp_" tinye ihe ngwungwu ahụ. Usoro niile nwere ule ga-enwerịrị otu prefix. Ngwungwu ahụ ga-enwerịrị usoro ọkọlọtọ abụọ: "utp_setup" na "utp_teardown". A na-akpọ usoro nke mbụ site na ịmalitegharị ule unit ọ bụla, nke abụọ - mgbe mmalite.

"utp_setup", dị ka a na-achị, na-akwado usoro anyị iji mee otu ule, dịka ọmụmaatụ, ịmepụta data ule. "utp_teardown" - Kama nke ahụ, ihe niile na-alaghachi na ntọala mbụ wee malitegharịa nsonaazụ mmalite.

Nke a bụ ihe atụ nke kacha mfe unit ule na-enyocha normalization nke abanyela nọmba ekwentị ndị ahịa ka ọkọlọtọ ụdị maka anyị iguzosi ike n'ihe usoro. Enweghị ụkpụrụ iwu kwadoro ka esi ede usoro na ule otu. Dị ka a na-achị, a na-akpọ oku na usoro nke usoro n'okpuru ule, na nsonaazụ weghachiri site na usoro a tụnyere onye ntụaka. Ọ dị mkpa na ntụnyere nsonaazụ ntụaka na nke enwetara sitere na usoro utPLSQL ọkọlọtọ.

Nnwale otu unit nwere ike ịnwe ọnụọgụ nlele ọ bụla. Dịka enwere ike ịhụ site na ihe atụ, anyị na-akpọ oku anọ na-esochi na usoro a nwalere iji mee ka nọmba ekwentị normalize ma nyochaa nsonaazụ ya mgbe oku ọ bụla gasịrị. Mgbe ị na-emepụta ule unit, ị ga-eburu n'uche na e nwere ndenye ego na-adịghị emetụta usoro ahụ n'ụzọ ọ bụla, na mgbe ụfọdụ, ị ga-atụgharị azụ na ọnọdụ mbụ nke usoro ahụ.
Dịka ọmụmaatụ, na nnwale nkeji ewepụtara, anyị na-ahazi nọmba ekwentị ntinye, nke anaghị emetụta sistemu iguzosi ike n'ihe n'ụzọ ọ bụla.

Ma ọ bụrụ na anyị dee ule unit site na iji usoro nke ịmepụta onye ahịa ọhụrụ, mgbe ahụ, mgbe ule ọ bụla gasịrị, a ga-emepụta onye ahịa ọhụrụ na usoro ahụ, nke nwere ike imetụta mmalite nke ule ahụ na-esote.

Nnwale otu na DBMS - ka anyị si eme ya na Sportmaster, akụkụ nke mbụ

Nke a bụ ka esi agba ule otu. Enwere nhọrọ mmalite abụọ nwere ike ime: na-agba ọsọ ule niile site na otu ngwugwu ma ọ bụ na-agba ọsọ otu ngwa ngwa n'otu ngwugwu.

Nnwale otu na DBMS - ka anyị si eme ya na Sportmaster, akụkụ nke mbụ

Nke a bụ ihe atụ nke usoro mkpesa nke ime dị ka. Dabere na nsonaazụ nke otu nnwale, utPLSQL na-ewulite obere akụkọ. N'ime ya anyị na-ahụ nsonaazụ maka nlele ọ bụla akọwapụtara na nsonaazụ nyocha nke otu.

6 iwu nke autotests

Tupu ịmalite imepụta usoro ọhụrụ maka nnwale akpaaka nke sistemu iguzosi ike n'ihe, yana njikwa, anyị kpebiri ụkpụrụ nke ule akpaaka anyị ga-agbaso.

Nnwale otu na DBMS - ka anyị si eme ya na Sportmaster, akụkụ nke mbụ

  1. Nyocha akpaaka ga-adị irè ma ga-aba uru. Anyị nwere ndị mmepe magburu onwe ya, ndị kwesịrị ka a kpọtụrụ aha, n'ihi na ụfọdụ n'ime ha ga-ahụ akụkọ a, ha na-edekwa koodu magburu onwe ya. Mana ọbụlagodi koodu ha magburu onwe ya ezughị oke ma nwee, nwere, ma ga-aga n'ihu na-enwe njehie. Achọrọ nnwale akpaaka ka ịchọta mperi ndị a. Ọ bụrụ na nke a abụghị ikpe, mgbe ahụ, ma anyị na-ede ihe ọjọọ autotests, ma ọ bụ na anyị na-abịarute ebe nwụrụ anwụ nke, ụkpụrụ, na-adịghị emepụta. N'ọnọdụ abụọ ahụ, anyị na-eme ihe na-adịghị mma, ụzọ anyị si eme ya enweghịkwa isi.
  2. Ekwesịrị iji nyocha akpaaka. Ọ baghị uru itinye oge na mgbalị dị ukwuu n'ịde ngwaahịa ngwanrọ, tinye ya na ebe nchekwa ma chefuo ya. Ekwesịrị ịgba ọsọ ule, ma na-agba ọsọ mgbe niile ka enwere ike.
  3. Nyocha akpaaka kwesịrị ịrụ ọrụ nke ọma. N'agbanyeghị oge nke ụbọchị, mmalite mmalite na ntọala usoro ndị ọzọ, ule ule kwesịrị iduga otu nsonaazụ ahụ. Dị ka a na-achị, a na-ahụta nke a site na eziokwu ahụ bụ na autotests na-arụ ọrụ na data ule pụrụ iche na ntọala usoro edozi.
  4. Nnwale akpaaka kwesịrị ịrụ ọrụ na ọsọ a na-anabata maka ọrụ gị. A na-ekpebi oge a n'otu n'otu maka usoro ọ bụla. Ụfọdụ ndị mmadụ nwere ike imeli ọrụ ụbọchị niile, ebe ndị ọzọ na-ahụ na ọ dị oke mkpa ime ya na sekọnd. M ga-agwa gị ntakịrị ka e mesịrị ụdị ọsọ ọsọ anyị nwetara na ọrụ anyị.
  5. Mmepe akpaaka kwesịrị ịdị na-agbanwe agbanwe. Ọ bụghị ihe amamihe dị na ya ịjụ ịnwale ọrụ ọ bụla naanị n'ihi na anyị emebeghị ya mbụ ma ọ bụ n'ihi ihe ọzọ. utPLSQL anaghị etinye ihe mgbochi ọ bụla na mmepe, na Oracle, n'ụkpụrụ, na-enye gị ohere ịme ihe dị iche iche. Ọtụtụ nsogbu nwere ihe ngwọta, ọ bụ naanị oge na mgbalị.
  6. Nkwanye ọrụ. Anyị nwere ọtụtụ ebe anyị kwesịrị ịgba ule. N'ebe nkwụnye ọ bụla, enwere ike imelite mkpofu data n'oge ọ bụla. Ọ dị mkpa iji duzie oru ngo nke nwere ule akpaaka n'ụzọ ị ga - esi rụọ ọrụ nrụnye ya n'ụzọ zuru ezu ma ọ bụ nke akụkụ.

Na nke abụọ post na a di na nwunye nke ụbọchị m ga-agwa gị ihe anyị mere na ihe anyị rụpụtara.

isi: www.habr.com

Tinye a comment