Su'ega iunite i se DBMS - fa'afefea ona matou faia i Sportmaster, vaega muamua

Ei Habr!

O loʻu igoa o Maxim Ponomarenko ma o aʻu o se atinaʻe i Sportmaster. E 10 ou tausaga o le poto masani i le IT. Na amata lana galuega i suʻega tusi lesona, ona sui lea i le atinaʻeina o faʻamaumauga. Mo le 4 tausaga talu ai, faʻaputuina le malamalama na maua i suʻega ma atinaʻe, sa ou faʻaogaina faʻataʻitaʻiga i le tulaga DBMS.

Sa ou i ai i le 'au a Sportmaster mo le silia ma le tausaga ma o loʻo ou atiaʻe suʻega otometi i se tasi o galuega tetele. Ia Aperila, o tama mai le Sportmaster Lab ma matou talanoa i se konafesi i Krasnodar, o laʻu lipoti na taʻua o "Suʻega Suʻega i se DBMS," ma o lea ou te fia faʻasoa atu ia te oe. O le a tele ni tusitusiga, o lea na ou filifili ai e vaevae le lipoti i ni pou se lua. I le muamua, o le a tatou talanoa e uiga i autotests ma suʻega i le lautele, ma i le lona lua, o le a ou faʻamatalaina atili i luga o le matou iunite suʻega faiga ma taunuʻuga o lona faʻaaogaina.

Su'ega iunite i se DBMS - fa'afefea ona matou faia i Sportmaster, vaega muamua

Muamua, o sina manatu le manaia. O le a le su'ega otometi? Ole su'ega lea o lo'o fa'atinoina ile fa'aogaina o polokalame, ma ile IT fa'aonaponei o lo'o fa'ateleina le fa'aogaina ile atina'eina o polokalame. E mafua ona o le mea moni o loʻo faʻatupulaia kamupani, o loʻo faʻatupulaia a latou faʻamatalaga faʻamatalaga ma, e tusa ai, o le aofaʻi o galuega e manaʻomia ona faʻataʻitaʻiina o loʻo faʻatupulaia. O le fa'atinoina o su'esu'ega fa'ata'ita'i o lo'o fa'asili atu ona taugata.

Sa ou faigaluega i se kamupani tele e o'o mai i le ta'i lua masina. I le taimi lava e tasi, o le masina atoa na faʻaalu i le faia o suʻega e toʻasefulu ma le lima e siaki le gaioiga. Faʻafetai i le faʻatinoina o le masini e se vaega toʻaitiiti o atinaʻe, na mafai ona matou faʻaititia le taimi o suʻega i le 2 vaiaso i le tausaga ma le afa. E le gata ina faʻateleina le saoasaoa o suʻega, ae faʻaleleia foi lona tulaga lelei. O suʻega faʻapitoa e faʻalauiloa masani ma latou faia i taimi uma le faagasologa atoa o siaki e aofia ai, o lona uiga, matou te le aofia ai le tagata.

O le IT faʻaonaponei o loʻo faʻaalia i le mea moni e ono manaʻomia se tagata faʻapipiʻi e le gata e tusi le code o oloa, ae ia tusia foi suʻega iunite e siaki ai lenei code.

Ae fa'afefea pe afai o lau faiga e fa'avae muamua ile server logic? E leai se fofo lautele poʻo ni faiga sili ona lelei ile maketi. I le avea ai o se tulafono, e foia e kamupani lenei faʻafitauli e ala i le fatuina o latou lava faiga suʻega suʻega. O la matou lava faiga fa'ata'ita'iga otometi na faia i la matou poloketi ma o le a ou talanoa i ai i la'u lipoti.

Su'ega iunite i se DBMS - fa'afefea ona matou faia i Sportmaster, vaega muamua

Tofotofoina le faamaoni

Muamua, tatou talanoa e uiga i le poloketi lea na matou faʻaogaina ai se faiga faʻataʻitaʻi otometi. O la matou poloketi o le Sportmaster loyalty system (i le ala, ua uma ona matou tusia i totonu lenei pou).

Afai e tele lau kamupani, o lau faiga faʻamaoni o le ai ai ni tulaga faʻapitoa e tolu:

  • O le a maualuga le utaina o lau polokalama
  • O lau faiga o le a iai faiga fa'akomepiuta lavelave
  • O le a fa'aleleia atili lau faiga.

Tatou o i le faasologa ... I le aotelega, pe a tatou mafaufau i ituaiga uma Sportmaster, ona sili atu lea i le 1000 faleoloa i Rusia, Iukureini, Saina, Kazakhstan ma Belarus. E tusa ma le 300 fa'atau o lo'o faia i nei faleoloa i aso uma. O lona uiga, o lona lua uma 000-3 siaki e ulufale mai i la tatou polokalama. E masani lava, o la tatou faiga faʻamaoni e maualuga le utaina. Ma talu ai o loʻo faʻaaogaina malosi, e tatau ona matou tuʻuina atu tulaga maualuga o lona tulaga lelei, aua o soʻo se mea sese i totonu o le polokalama o lona uiga o le tele o tupe, taʻutaʻua ma isi gau.

I le taimi lava e tasi, o le Sportmaster e faʻatautaia le sili atu ma le selau faʻalauiloa eseese. E tele faʻasalalauga: o loʻo i ai faʻasalalauga oloa, o loʻo i ai faʻapitoa mo le aso o le vaiaso, o loʻo nonoa i se faleoloa faapitoa, o loʻo i ai faʻasalalauga mo le aofaʻi o le lisiti, o loʻo i ai mo le aofaʻi o oloa. I se tulaga lautele, e le leaga. O tagata fa'atau e iai ponesi ma tulafono fa'alauiloa e fa'aaoga pe a fa'atau. O nei mea uma e taʻitaʻia ai le faʻatatauina o soʻo se faʻatonuga o se galuega e le taua tele.

O le algorithm o loʻo faʻatinoina le faʻatonuga o le faʻatonuga e matua mataʻutia ma faigata. Ma o soʻo se suiga i lenei algorithm e matua lamatia lava. E foliga mai o suiga sili ona foliga faatauvaa e mafai ona oo atu ai i ni aafiaga e le taumateina. Ae o le mea tonu lava o faiga faakomepiuta lavelave, aemaise lava i latou e faʻatinoina galuega taua, o sui sili ia mo le masini. O le siakiina o le tele o mataupu tutusa i lima e matua alu ai le taimi. Ma talu ai o le mea e ulufale ai i le faagasologa e le suia, i le faʻamatalaina tasi, e mafai ona e vave faia suʻega faʻapitoa ma mautinoa o le a aoga le gaioiga.

Talu ai o loʻo faʻaaogaina ma le malosi le matou polokalama, o le a manaʻo le pisinisi i se mea fou mai ia te oe, ola i taimi ma faʻatau-faʻatau. I la matou faiga fa'amaoni, o fa'asalalauga e o'o mai i masina ta'i lua. O lona uiga e ta'i lua masina tatou te mana'omia le fa'atinoina o se fa'afouga atoa o le faiga atoa. I le taimi lava e tasi, e masani lava, e pei o soʻo se IT faʻaonaponei, o le atinaʻe e leʻo vave alu atu mai le atinaʻe i le gaosiga. E afua mai i luga o le matagaluega a le tagata atiaʻe, ona sosoo ai lea ma le suʻega suʻega, faʻamalolo, talia, ona faʻamutaina lea i le gaosiga. I se tulaga maualalo, i luga o le suʻega ma faʻasaʻo taʻavale, e manaʻomia ona tatou faia se faʻasologa atoatoa o le faiga atoa.

O meatotino fa'amatalaina e masani mo toetoe o so'o se faiga fa'amaoni. Sei o tatou talanoa e uiga i foliga o la tatou galuega faatino.

Fa'atekonolosi, 90% o le fa'atonuga o la tatou faiga fa'amaoni o lo'o fa'avaeina ma fa'atinoina ile Oracle. O lo'o i ai se tagata o tausia o lo'o fa'aalia i Delphi, o lo'o fa'atinoina le galuega a le fa'atonu o fale faigaluega. O lo'o iai 'au'aunaga i luga ole laiga fa'aalia mo talosaga mai fafo (fa'ata'ita'iga o le upega tafa'ilagi). O le mea lea, e matua talafeagai lava pe a matou faʻaogaina se faiga faʻataʻitaʻi faʻapitoa, matou te faia i luga ole Oracle.

O le faiga faʻamaoni i Sportmaster na i ai mo le sili atu i le 7 tausaga ma na faia e le au atinaʻe taʻitoʻatasi ... O le averesi numera o atinaʻe i luga o la matou poloketi i nei 7 tausaga o 3-4 tagata. Ae i le tausaga ua tuana’i, ua matua’i fa’atupula’ia le matou ‘au, ma o lea ua to’a 10 tagata o lo’o galulue i le galuega. O lona uiga, e o mai tagata i le poloketi e le masani i galuega masani, faiga, ma le fausaga. Ma o loʻo i ai se faʻalavelave faʻateleina o le a tatou misia mea sese.

O le poloketi o loʻo faʻaalia i le leai o ni tagata suʻega faʻapitoa e avea ma vaega o le aufaigaluega. O loʻo i ai, ioe, suʻega, ae o suʻega e faia e tagata suʻesuʻe, faʻaopoopo i isi a latou matafaioi autu: fesoʻotaʻiga ma tagata faʻatau pisinisi, tagata faʻaoga, atinaʻeina o manaʻoga, ma isi. ma isi ... E ui lava i le mea moni o suʻega e faia e sili ona maualuga (e sili ona talafeagai le taʻua, talu ai o nisi o tagata suʻesuʻe e mafai ona puʻeina mata o lenei lipoti), o le aoga o le faʻapitoa ma le faʻatonuina o le mea e tasi e leʻi faʻaumatia. .

Mafaufau i mea uma o loʻo i luga, e faʻaleleia ai le lelei o le oloa tuʻuina atu ma faʻaitiitia le taimi o le atinaʻe, o le manatu o le faʻataʻitaʻiina o suʻega i luga o se poloketi e foliga mai e matua talafeagai. Ma i laʻasaga eseese o le i ai o le faiga faʻamaoni, na faia e le au atinaʻe taʻitoʻatasi taumafaiga e ufiufi a latou code i suʻega iunite. I le aotelega o se faiga e le tutusa, ma e faʻaaogaina e tagata uma a latou lava fausaga ma metotia. O fa'ai'uga fa'ai'uga e masani lava i su'ega a iunite: na fa'atupuina su'ega, fa'aaoga mo sina taimi, teuina i totonu o se faila faila, ae i se taimi na tu'u ai le tamo'e ma galo ai. Muamua lava, na mafua ona o le mea moni o suʻega na faʻapipiʻi sili atu i se tagata faʻapitoa, ae le o le poloketi.

utPLSQL e sau e laveai

Su'ega iunite i se DBMS - fa'afefea ona matou faia i Sportmaster, vaega muamua

E te iloa se mea e uiga ia Stephen Feuerstein?

O se tagata atamai lea na tu'uina atu se vaega umi o lana galuega e galulue ai ma Oracle ma PL/SQL, ma na ia tusia le tele o galuega i lenei autu. O se tasi o ana tusi lauiloa e taʻua: “Oracle PL/SQL. Mo tagata tomai faapitoa." O Setefano na ia atiina ae le utPLSQL solution, poʻo, e pei ona faʻatusalia, Unit Testing framework mo Oracle PL/SQL. O le fofo utPLSQL na faia i le 2016, ae o loʻo faʻaauau pea ona galue malosi ma faʻasalalau fou fou. I le taimi o lipoti, o le lomiga lata mai na toe foʻi mai ia Mati 24, 2019.
O le a lena. Ose galuega fa'avae tatala ese lea. E lua megabytes le mamafa, e aofia ai faʻataʻitaʻiga ma faʻamaumauga. Fa'aletino, o se fa'ailoga ese'ese i le ORACLE database ma se seti o afifi ma laulau mo le fa'atulagaina o su'ega iunite. O le fa'apipi'iina e mana'omia ni nai sekone. O se vaega fa'apitoa o le utPLSQL o lona fa'aoga faigofie.
I le lalolagi atoa, o le utPLSQL o se masini mo le faʻataʻitaʻiina o suʻega iunite, lea e malamalama ai se suʻega iunite e pei o faiga masani a le Oracle batch, o le faʻatulagaina o loʻo mulimulitaʻia tulafono. E le gata i le fa'alauiloaina, utPLSQL o lo'o teuina se ogalaau o au su'ega uma, ma e iai fo'i se faiga o lipoti i totonu.

Se'i o tatou va'ava'ai i se fa'ata'ita'iga o le fa'atusa o le numera o le su'ega o le iunite, fa'atino e fa'aaoga ai lenei metotia.

Su'ega iunite i se DBMS - fa'afefea ona matou faia i Sportmaster, vaega muamua

O lea la, o le lau o loʻo faʻaalia ai le code mo se faʻamatalaga masani afifi ma suʻega iunite. O a ni manaoga fa'atulafonoina? O le pepa e tatau ona fa'aulu i le "utp_". O taualumaga uma e iai su'ega e tatau ona tutusa lelei le fa'auluuluga. O le afifi e tatau ona i ai ni faiga masani se lua: "utp_setup" ma le "utp_teardown". O le faiga muamua e taʻua e ala i le toe amataina o suʻega iunite taʻitasi, o le lona lua - pe a uma le faʻalauiloaina.

"utp_setup", e pei o se tulafono, saunia la matou polokalama e faʻatautaia se suʻega iunite, mo se faʻataʻitaʻiga, fatuina o faʻamaumauga o suʻega. "utp_teardown" - i se isi itu, o mea uma e toe foʻi i le tulaga muamua ma toe faʻafoʻi iuga o le faʻalauiloaina.

O se faʻataʻitaʻiga lea o le suʻega sili ona faigofie e siaki ai le faʻavasegaina o le numera o le telefoni a le tagata faʻatau i le tulaga masani mo la tatou faiga faʻamaoni. E leai ni fa'atonuga fa'atulafonoina pe fa'apefea ona tusia fa'asologa fa'atasi ma su'ega iunite. I le avea ai o se tulafono, e faia se valaau i se metotia o le faiga o loʻo faʻataʻitaʻiina, ma o le taunuuga na toe faʻafoʻi mai i lenei metotia e faʻatusatusa i le faʻamatalaga. E taua tele le faʻatusatusaina o le faʻamatalaga faʻamatalaga ma le mea na maua mai e ala i auala masani utPLSQL.

O se su'ega iunite e mafai ona i ai ni numera o siaki. E pei ona mafai ona vaʻaia mai le faʻataʻitaʻiga, matou te faia ni faʻasalalauga faʻasolosolo i le metotia faʻataʻitaʻi e faʻamautu ai le numera o le telefoni ma iloilo le taunuʻuga pe a uma valaau taʻitasi. Pe a atiaʻe se suʻega iunite, e tatau ona e amanaia o loʻo i ai siaki e le afaina ai le faiga i soʻo se auala, ma a maeʻa nisi e tatau ona e toe foʻi i tua i le tulaga muamua o le faiga.
Mo se faʻataʻitaʻiga, i le suʻega o le iunite na tuʻuina atu matou te faʻapipiʻiina le numera o le telefoni, lea e le afaina ai le faʻamaoni i soʻo se auala.

Ma afai matou te tusia suʻega iunite e faʻaaoga ai le auala o le fatuina o se tagata fou, ona maeʻa lea o suʻega taʻitasi o le a faia se tagata fou i totonu o le faiga, lea e mafai ona aʻafia ai le faʻalauiloaina mulimuli ane o le suʻega.

Su'ega iunite i se DBMS - fa'afefea ona matou faia i Sportmaster, vaega muamua

O le ala lea e fai ai su'ega iunite. E lua filifiliga e mafai ona fa'alauiloa: fa'atino uma su'ega iunite mai se afifi fa'apitoa po'o le fa'atinoina o se su'ega fa'apitoa i totonu o se afifi fa'apitoa.

Su'ega iunite i se DBMS - fa'afefea ona matou faia i Sportmaster, vaega muamua

O le fa'atusa lea o se fa'ata'ita'iga o le faiga o lipoti i totonu. Faʻavae i luga o faʻaiuga o le suʻega iunite, utPLSQL fausia se lipoti laʻititi. I totonu tatou te vaʻaia ai le iʻuga mo siaki faʻapitoa taʻitasi ma le faʻaiʻuga atoa o le suʻega iunite.

6 tulafono o su'ega ta'avale

Aʻo leʻi amataina se faiga fou mo suʻega otometi o le faiga faʻamaoni, faʻatasi ai ma le pulega, na matou fuafuaina mataupu faavae e tatau ona mulimulitaʻia e a matou suʻega otometi i le lumanaʻi.

Su'ega iunite i se DBMS - fa'afefea ona matou faia i Sportmaster, vaega muamua

  1. O su'ega ta'avale e tatau ona lelei ma e tatau ona aoga. E i ai a matou atinaʻe lelei, e mautinoa lava e manaʻomia ona taʻua, aua o nisi oi latou atonu o le a vaʻai i lenei lipoti, ma latou tusia ni tulafono matagofie. Ae e oo lava i la latou tulafono matagofie e le atoatoa ma ua i ai, ua i ai, ma o le a faaauau pea ona i ai mea sese. E mana'omia su'ega ta'avale e su'e ai mea sese. Afai e le o le tulaga lea, o lona uiga o loʻo matou tusia ni faʻataʻitaʻiga leaga, pe ua matou oʻo mai i se nofoaga mate lea, i le mataupu faavae, e le o atinaʻe. I tulaga uma e lua, o loo tatou faia se mea sese, ma o la tatou auala e matua le talafeagai.
  2. E tatau ona fa'aaoga su'ega ta'avale. E leai se uiga e faʻaalu ai le tele o le taimi ma taumafaiga i le tusiaina o se mea faʻapipiʻi polokalama, tuʻu i totonu o se fale teu oloa ma galo ai. E tatau ona fai su'ega, ma fa'agasolo i taimi uma e mafai ai.
  3. O su'ega ta'avale e tatau ona galue mautu. E tusa lava po o le a le taimi o le aso, faʻalauiloa tulaga ma isi faʻatulagaga faʻaoga, o suʻega e tatau ona oʻo atu i le iʻuga tutusa. I le avea ai o se tulafono, e faʻamautinoaina e le mea moni o le autotests e galulue faʻatasi ma faʻamaumauga faʻapitoa faʻataʻitaʻiga faʻatasi ai ma faʻatulagaga faʻatulagaina.
  4. O su'ega ta'avale e tatau ona galue i se saoasaoa e talia mo lau poloketi. Ole taimi lea e fa'amoemoeina ta'ito'atasi mo faiga ta'itasi. O nisi tagata e mafai ona gafatia e faigaluega i le aso atoa, a'o isi e taua tele le faia i ni nai sekone. O le a ou taʻuina atu ia te oe i se taimi mulimuli ane po o le a le saoasaoa o tulaga na matou ausia i la matou poloketi.
  5. E tatau ona fetu'una'i le atina'eina o su'ega ta'avale. E le fautuaina le musu e faʻataʻitaʻi soʻo se galuega ona tatou te leʻi faia muamua pe mo se isi mafuaaga. utPLSQL e le tuʻuina atu soʻo se tapulaʻa i le atinaʻe, ma Oracle, i le mataupu faavae, e faʻatagaina oe e faʻatino ni mea eseese. O le tele o faʻafitauli e iai se fofo, e naʻo se mataupu o le taimi ma taumafaiga.
  6. Fa'atonuina. E tele a matou tulaga e mana'omia e fai ai su'ega. I tulaga ta'itasi, e mafai ona fa'afou se fa'amaumauga tu'ufa'atasi i so'o se taimi. E manaʻomia le faʻatinoina o se poloketi faʻatasi ma suʻega otometi i se auala e mafai ai ona e faʻatinoina ma le le tiga lona faʻapipiʻiina atoa poʻo se vaega.

Ma i le pou lona lua i ni nai aso o le a ou taʻu atu ia te oe mea na matou faia ma mea na matou ausia.

puna: www.habr.com

Faaopoopo i ai se faamatalaga