“በጫማዬ ውስጥ መሄድ” - ቆይ ፣ ምልክት ተደርጎባቸዋል?

ከ 2019 ጀምሮ ሩሲያ በግዴታ መለያ ላይ ህግ አላት. ህጉ በሁሉም የሸቀጦች ቡድኖች ላይ አይተገበርም, እና ለምርት ቡድኖች የግዴታ መለያ ምልክት የገባበት ቀናት የተለያዩ ናቸው. ትምባሆ፣ ጫማ እና መድሃኒቶች የግዴታ መለያ ሲደረግላቸው የመጀመሪያው ይሆናሉ፤ ሌሎች ምርቶች በኋላ ላይ ይጨምራሉ ለምሳሌ ሽቶ፣ ጨርቃ ጨርቅ እና ወተት። ይህ የሕግ አውጪ ፈጠራ የአንድን ምርት አጠቃላይ የሕይወት ሰንሰለት ከምርት እስከ መጨረሻው ሸማች ድረስ ለመከታተል የሚያስችል አዲስ የአይቲ መፍትሄዎች እንዲዘጋጅ ገፋፍቷል፣ በሂደቱ ውስጥ ላሉት ተሳታፊዎች ሁሉ፡ ግዛቱ ራሱም ሆነ ዕቃውን የሚሸጡ ሁሉም ድርጅቶች። የግዴታ መሰየሚያ.

በ X5 ውስጥ, ምልክት የተደረገባቸውን እቃዎች የሚከታተል እና መረጃን ከስቴት እና አቅራቢዎች ጋር የሚለዋወጥበት ስርዓት "ማርከስ" ይባላል. እንዴት እና ማን እንዳዳበረው፣ የቴክኖሎጂ ቁልል ምን እንደሆነ እና ለምን የምንኮራበት ነገር እንዳለን በቅደም ተከተል እንንገራችሁ።

“በጫማዬ ውስጥ መሄድ” - ቆይ ፣ ምልክት ተደርጎባቸዋል?

እውነተኛ ከፍተኛ ጭነት

"ማርከስ" ብዙ ችግሮችን ይፈታል, ዋናው በ X5 የመረጃ ስርዓቶች እና በስቴት መረጃ ስርዓት ለተሰየሙ ምርቶች (ጂአይኤስ ኤምፒ) መካከል ያለው ውህደት የተለጠፈ ምርቶች እንቅስቃሴን ለመከታተል ነው. መድረኩ በእኛ የተቀበሏቸውን ሁሉንም የመለያ ኮዶች እና የእነዚህን ኮዶች በእቃዎች ላይ የመንቀሳቀስ ታሪክን ያከማቻል፣ እና ምልክት የተደረገባቸውን ምርቶች እንደገና ደረጃ ለማውጣት ይረዳል። በመጀመሪያዎቹ የዕቃዎች ቡድን ውስጥ የተካተቱትን የትምባሆ ምርቶች ምሳሌ በመጠቀም አንድ የጭነት መኪና ብቻ ወደ 600 የሚጠጉ ሲጋራዎች እያንዳንዳቸው የራሳቸው የሆነ ኮድ አላቸው። የስርዓታችን ተግባር የእያንዳንዳቸውን የእሽግ መጋዘኖች እና መጋዘኖች እንቅስቃሴ ህጋዊነት መከታተል እና ማረጋገጥ እና በመጨረሻም ለዋና ገዢ የሚሸጡትን ተቀባይነት ማረጋገጥ ነው። እና በሰዓት ወደ 000 የሚደርሱ የገንዘብ ልውውጦችን እንመዘግባለን፣ እና እያንዳንዱ እንደዚህ አይነት ጥቅል እንዴት ወደ መደብሩ እንደገባ መመዝገብ አለብን። ስለዚህ በእቃዎች መካከል ያሉትን ሁሉንም እንቅስቃሴዎች ከግምት ውስጥ በማስገባት በዓመት በአስር ቢሊዮን የሚቆጠሩ መዝገቦችን እንጠብቃለን።

ቡድን ኤም

ምንም እንኳን ማርከስ በ X5 ውስጥ እንደ ፕሮጀክት ቢቆጠርም, የምርት አቀራረብን በመጠቀም እየተተገበረ ነው. ቡድኑ በ Scrum መሰረት ይሰራል. ፕሮጀክቱ ባለፈው የበጋ ወቅት ተጀምሯል, ነገር ግን የመጀመሪያዎቹ ውጤቶች በጥቅምት ወር ብቻ - የራሳችን ቡድን ሙሉ በሙሉ ተሰብስቦ ነበር, የስርዓቱ አርክቴክቸር ተዘጋጅቷል እና መሳሪያዎች ተገዙ. አሁን ቡድኑ 16 ሰዎች ያሉት ሲሆን ከእነዚህ ውስጥ ስድስቱ በጀርባ እና የፊት ግንባር ልማት ውስጥ የተሳተፉ ሲሆን ከእነዚህ ውስጥ ሦስቱ በስርዓት ትንተና ውስጥ ይሳተፋሉ ። ተጨማሪ ስድስት ሰዎች በእጅ፣ ጭነት፣ አውቶሜትድ ሙከራ እና የምርት ጥገና ላይ ይሳተፋሉ። በተጨማሪም፣ የSRE ስፔሻሊስት አለን።

በቡድናችን ውስጥ ገንቢዎች ብቻ አይደሉም ኮድ የሚጽፉት፤ ሁሉም ወንዶች ማለት ይቻላል አውቶሞተሮችን እንዴት እንደሚሠሩ እና እንደሚጽፉ ፣ ስክሪፕቶችን እና አውቶማቲክ ስክሪፕቶችን እንዴት እንደሚጭኑ ያውቃሉ። የምርት ድጋፍ እንኳን ከፍተኛ አውቶሜሽን ስለሚያስፈልገው ለዚህ ልዩ ትኩረት እንሰጣለን. ከዚህ በፊት ፕሮግራም ያላደረጉ ባልደረቦችን ለመምከር እና ለመርዳት ሁል ጊዜ እንሞክራለን እና እንዲሰሩባቸው ትንሽ ስራዎችን እንሰጣቸዋለን።

በኮሮና ቫይረስ ወረርሽኝ ምክንያት መላውን ቡድን ወደ የርቀት ስራ አስተላልፈናል፤ ሁሉም ለልማት አስተዳደር የሚውሉ መሳሪያዎች መገኘት፣ በጂራ እና በጂትላብ የተሰራው የስራ ፍሰት ይህን ደረጃ በቀላሉ ለማለፍ አስችሎታል። በርቀት ያሳለፉት ወራት የቡድኑ ምርታማነት በዚህ ምክንያት እንዳልተጎዳ ያሳያል፤ ለብዙዎች በስራ ላይ ያለው ምቾት ጨምሯል፣ የጠፋው ብቸኛው ነገር የቀጥታ ግንኙነት ነው።

የርቀት ቡድን ስብሰባ

“በጫማዬ ውስጥ መሄድ” - ቆይ ፣ ምልክት ተደርጎባቸዋል?

በርቀት ሥራ ወቅት ስብሰባዎች

“በጫማዬ ውስጥ መሄድ” - ቆይ ፣ ምልክት ተደርጎባቸዋል?

የመፍትሄው የቴክኖሎጂ ቁልል

የ X5 መደበኛው ማከማቻ እና CI/ሲዲ መሳሪያ GitLab ነው። ለኮድ ማከማቻ፣ ተከታታይ ሙከራ እና አገልጋዮችን ለመፈተሽ እና ለማምረት እንጠቀምበታለን። እንዲሁም ቢያንስ 2 ባልደረቦች በገንቢው በኮዱ ላይ የተደረጉ ለውጦችን ማጽደቅ ሲፈልጉ የኮድ ግምገማን ልምምድ እንጠቀማለን። የስታቲክ ኮድ ተንታኞች SonarQube እና JaCoCo የእኛን ኮድ ንፁህ እንድንሆን እና አስፈላጊውን የክፍል ሙከራ ሽፋን እንድናረጋግጥ ይረዱናል። በኮዱ ላይ የሚደረጉ ለውጦች ሁሉ በእነዚህ ቼኮች ውስጥ ማለፍ አለባቸው። በእጅ የሚሰሩ ሁሉም የሙከራ ስክሪፕቶች በኋላ አውቶማቲክ ይሆናሉ።

በ "ማርከስ" ለንግድ ሥራ ሂደቶች ስኬታማ ትግበራ, ስለ እያንዳንዳቸው በቅደም ተከተል, በርካታ የቴክኖሎጂ ችግሮችን መፍታት ነበረብን.

ተግባር 1. የስርዓቱ አግድም አግድም አስፈላጊነት

ይህንን ችግር ለመፍታት, ለአርክቴክቸር ማይክሮ አገልግሎት አቀራረብን መርጠናል. በተመሳሳይ ጊዜ የአገልግሎቶቹን የኃላፊነት ቦታዎች መረዳት በጣም አስፈላጊ ነበር. የሂደቶቹን ልዩ ሁኔታ ግምት ውስጥ በማስገባት እነሱን ወደ ንግድ ሥራ ለመከፋፈል ሞከርን. ለምሳሌ, በመጋዘን ውስጥ መቀበል በጣም ብዙ ጊዜ አይደለም, ነገር ግን በጣም መጠነ-ሰፊ ክዋኔ ነው, በዚህ ጊዜ ከስቴቱ ተቆጣጣሪው ስለ እቃዎቹ አሃዶች በፍጥነት መቀበል አስፈላጊ ነው, ይህም በአንድ ማድረስ ውስጥ 600000 ይደርሳል. ይህንን ምርት ወደ መጋዘን ውስጥ የመቀበል ተቀባይነትን ያረጋግጡ እና ሁሉንም አስፈላጊ መረጃዎች ለመጋዘን አውቶማቲክ ሲስተም ይመልሱ። ነገር ግን ከመጋዘኖች መላክ በጣም ከፍተኛ ጥንካሬ አለው, ግን በተመሳሳይ ጊዜ በትንሽ መጠን ውሂብ ይሰራል.

ሁሉንም አገልግሎቶች ሀገር በሌለው መሰረት እንተገብራለን አልፎ ተርፎም የውስጥ ስራዎችን ወደ ደረጃ ለመከፋፈል እንሞክራለን, የካፍካ እራስ-ርዕስ ብለን የምንጠራውን. ይህ ማይክሮ ሰርቪስ ለራሱ መልእክት ሲልክ ነው፣ ይህም ሸክሙን በሀብት-ተኮር ክዋኔዎች ላይ ሚዛን ለመጠበቅ እና የምርት ጥገናን ቀላል ያደርገዋል ፣ ግን በኋላ ላይ የበለጠ።

ከውጫዊ ስርዓቶች ጋር መስተጋብር ለመፍጠር ሞጁሎችን ወደ ተለያዩ አገልግሎቶች ለመለየት ወስነናል። ይህ የውጫዊ ስርዓቶችን በተደጋጋሚ የሚለዋወጡትን ኤፒአይዎች ችግር ለመፍታት አስችሏል፣ ከንግድ ተግባር ጋር ባሉ አገልግሎቶች ላይ ምንም ተጽእኖ ሳይኖረው።

“በጫማዬ ውስጥ መሄድ” - ቆይ ፣ ምልክት ተደርጎባቸዋል?

ሁሉም ማይክሮ ሰርቪስ በOpenShift cluster ውስጥ ተዘርግተዋል፣ይህም ሁለቱንም ማይክሮ ሰርቪስ የማሳጠርን ችግር የሚፈታ እና የሶስተኛ ወገን አገልግሎት ማግኛ መሳሪያዎችን እንዳንጠቀም ያስችለናል።

ተግባር 2. በመድረክ አገልግሎቶች መካከል ከፍተኛ ጭነት እና በጣም የተጠናከረ የመረጃ ልውውጥ የመቆየት አስፈላጊነት፡- በፕሮጀክት ማስጀመሪያ ወቅት ብቻ በሰከንድ 600 የሚጠጉ ስራዎች ይከናወናሉ። የችርቻሮ ማሰራጫዎች ከመድረክ ጋር ሲገናኙ ይህ ዋጋ ወደ 5000 ops/ሴኮንድ ይጨምራል ብለን እንጠብቃለን።

ይህ ችግር የካፍካ ዘለላ በማሰማራት እና በመድረክ ጥቃቅን አገልግሎቶች መካከል ያለውን የተመሳሰለ መስተጋብር ሙሉ ለሙሉ በመተው መፍትሄ አግኝቷል። ሁሉም ክዋኔዎች ሊመሳሰሉ ስለማይችሉ ይህ የስርዓቱን መስፈርቶች በጥንቃቄ መመርመርን ይጠይቃል. በተመሳሳይ ጊዜ, ክስተቶችን በደላላ በኩል ማስተላለፍ ብቻ ሳይሆን ሁሉንም አስፈላጊ የንግድ መረጃዎችን በመልእክቱ ውስጥ እናስተላልፋለን. ስለዚህ የመልዕክቱ መጠን ብዙ መቶ ኪሎባይት ሊደርስ ይችላል. በካፍካ ውስጥ ያለው የመልዕክት መጠን ገደብ የመልዕክቱን መጠን በትክክል እንድንተነብይ ይጠይቃል, አስፈላጊ ከሆነም, እንከፋፍላቸዋለን, ነገር ግን ክፍፍሉ ምክንያታዊ ነው, ከንግድ ስራዎች ጋር የተያያዘ ነው.
ለምሳሌ, በመኪና ውስጥ የሚደርሱ ዕቃዎችን ወደ ሳጥኖች እንከፋፍለን. ለተመሳሰለ ኦፕሬሽኖች ፣የተለያዩ ማይክሮ ሰርቪስ ተመድበዋል እና የተሟላ ጭነት ሙከራ ይካሄዳል። ካፍካን መጠቀም ሌላ ፈተና ገጥሞናል - የካፍካ ውህደትን ከግምት ውስጥ በማስገባት የአገልግሎታችንን አሠራር መፈተሽ የሁሉንም ክፍላችን ፈተናዎች ተመሳሳይ ያደርገዋል። እኛ የራሳችንን የመገልገያ ዘዴዎች Embedded Kafka Broker በመጠቀም በመጻፍ ይህንን ችግር ፈትተናል። ይህ ለግል ዘዴዎች የክፍል ፈተናዎችን የመፃፍ አስፈላጊነትን አያስወግድም, ነገር ግን ውስብስብ ጉዳዮችን በካፍካ በመጠቀም መሞከርን እንመርጣለን.

በአገልግሎቶች አሠራር ወቅት ወይም ከካፍ ባች ጋር በሚሰሩበት ጊዜ ልዩ ሁኔታዎች ሲከሰቱ የእነሱ TraceID እንዳይጠፋ ለማድረግ ሎግዎችን ለመፈለግ ብዙ ትኩረት ተሰጥቷል ። እና በአንደኛው ላይ ምንም ልዩ ጉዳዮች ካልነበሩ ፣ በሁለተኛው ጉዳይ ላይ ባች የመጡትን ሁሉንም ትሬስአይዶች መዝገብ እና ፍለጋውን ለመቀጠል አንዱን ለመምረጥ እንገደዳለን። ከዚያም፣ በመጀመሪያው TraceId ሲፈልጉ፣ ተጠቃሚው ፍለጋው በየትኛው እንደቀጠለ በቀላሉ ያውቃል።

ተግባር 3. ከፍተኛ መጠን ያለው ውሂብ የማከማቸት አስፈላጊነት፡- ለትንባሆ ብቻ በዓመት ከ1 ቢሊዮን በላይ መለያዎች ወደ X5 ይመጣሉ። የማያቋርጥ እና ፈጣን መዳረሻ ያስፈልጋቸዋል. በአጠቃላይ ስርዓቱ የእነዚህን መለያ ምልክት የተደረገባቸውን ዕቃዎች የእንቅስቃሴ ታሪክ ወደ 10 ቢሊዮን የሚጠጉ መዝገቦችን ማካሄድ አለበት።

ሶስተኛውን ችግር ለመፍታት የ NoSQL ዳታቤዝ MongoDB ተመርጧል። የ 5 አንጓዎች ሸርተቴ ገንብተናል እና እያንዳንዱ መስቀለኛ መንገድ የ 3 አገልጋዮች ቅጂ አለው። ይህ ስርዓቱን በአግድም ለመለካት, አዳዲስ አገልጋዮችን ወደ ክላስተር ለመጨመር እና የጥፋቱን መቻቻል ለማረጋገጥ ያስችላል. እዚህ ሌላ ችግር አጋጥሞናል - በሞንጎ ክላስተር ውስጥ የግብይት ልውውጥን ማረጋገጥ ፣ በአግድም ሊሰፋ የሚችል ጥቃቅን አገልግሎቶችን አጠቃቀም ግምት ውስጥ በማስገባት። ለምሳሌ፣ የስርዓታችን አንዱ ተግባር ተመሳሳይ መለያ ኮድ ያላቸውን ምርቶች እንደገና ለመሸጥ ሙከራዎችን መለየት ነው። እዚህ፣ ተደራቢዎች ከተሳሳቱ ፍተሻዎች ወይም በገንዘብ ተቀባይ የተሳሳቱ ክዋኔዎች ይታያሉ። እንደዚህ አይነት ብዜቶች በአንድ የካፍካ ስብስብ ውስጥ እና በሁለት ክፍሎች ውስጥ በትይዩ እየተሰራ መሆኑን ደርሰንበታል። ስለዚህ, የውሂብ ጎታውን በመጠየቅ የተባዙትን መፈተሽ ምንም አልሰጠም. ለእያንዳንዱ ማይክሮ ሰርቪስ, በዚህ አገልግሎት የንግድ ሥራ አመክንዮ ላይ በመመስረት ችግሩን በተናጠል ፈትተናል. ለምሳሌ፣ ለቼኮች፣ ወደ ባች ውስጥ ቼክ ጨምረናል እና በሚያስገቡበት ጊዜ የተባዛ መልክ እንዲታይ ለማድረግ የተለየ ሂደት አክለናል።

የተጠቃሚዎች ከኦፕሬሽን ታሪክ ጋር የሚሰሩት ስራ በምንም መልኩ በጣም አስፈላጊ የሆነውን ነገር ላይ ተጽእኖ እንዳያሳድር ለማድረግ - የንግድ ሂደታችን ስራ ሁሉንም ታሪካዊ መረጃዎች በተለየ የመረጃ ቋት ወደ የተለየ አገልግሎት ለይተናል ይህም በካፍካ በኩል መረጃ ይቀበላል. . በዚህ መንገድ ተጠቃሚዎች ለቀጣይ ኦፕሬሽኖች መረጃን የሚያካሂዱ አገልግሎቶችን ሳይነኩ ከገለልተኛ አገልግሎት ጋር አብረው ይሰራሉ።

ተግባር 4፡ ወረፋ እንደገና ማቀናበር እና መከታተል፡

በተከፋፈሉ ስርዓቶች ውስጥ የውሂብ ጎታዎች፣ ወረፋዎች እና የውጪ የመረጃ ምንጮች መገኘት ላይ ችግሮች እና ስህተቶች መከሰታቸው የማይቀር ነው። በማርከስ ሁኔታ, የእንደዚህ አይነት ስህተቶች ምንጭ ከውጭ ስርዓቶች ጋር መቀላቀል ነው. ከተወሰነ የጊዜ ገደብ ጋር ለተሳሳቱ ምላሾች ተደጋጋሚ ጥያቄዎችን የሚፈቅድ መፍትሄ መፈለግ አስፈላጊ ነበር ፣ ግን በተመሳሳይ ጊዜ በዋናው ወረፋ ውስጥ ስኬታማ ጥያቄዎችን ማካሄድን አያቆምም። ለዚሁ ዓላማ, "በርዕስ ላይ የተመሰረተ ድጋሚ ሙከራ" ተብሎ የሚጠራው ጽንሰ-ሐሳብ ተመርጧል. ለእያንዳንዱ ዋና ርዕስ አንድ ወይም ከዚያ በላይ የሚሆኑ የተሳሳቱ መልእክቶች የሚላኩባቸው ርዕሶች ይፈጠራሉ እና በተመሳሳይ ጊዜ ከዋናው ርዕስ የሚመጡ መልዕክቶችን የማስኬድ መዘግየት ይወገዳል. የግንኙነቶች እቅድ -

“በጫማዬ ውስጥ መሄድ” - ቆይ ፣ ምልክት ተደርጎባቸዋል?

እንዲህ ዓይነቱን እቅድ ለመተግበር የሚከተለውን እንፈልጋለን-ይህን መፍትሄ ከፀደይ ጋር ለማዋሃድ እና የኮድ ማባዛትን ለማስወገድ. ድሩን ስንቃኝ፣ በSፕሪንግ BeanPostProccess ላይ የተመሰረተ ተመሳሳይ መፍትሄ አጋጥሞናል፣ ነገር ግን ለእኛ አላስፈላጊ መስሎ ነበር። ቡድናችን ሸማቾችን ለመፍጠር ወደ ስፕሪንግ ዑደቱ እንድንዋሃድ እና በተጨማሪ ሸማቾችን እንደገና ለመሞከር የሚያስችለን ቀለል ያለ መፍትሄ አዘጋጅቷል። የመፍትሄያችንን ምሳሌ ለፀደይ ቡድን አቅርበናል፣ እርስዎ ማየት ይችላሉ። እዚህ. የድጋሚ ሙከራ ሸማቾች ቁጥር እና ለእያንዳንዱ ሸማች የሚደረጉ ሙከራዎች ብዛት እንደ የንግድ ሂደቱ ፍላጎቶች በመመዘኛ የተዋቀሩ ናቸው እና ሁሉም ነገር እንዲሰራ የቀረው ነገር ማብራሪያውን org.springframework.kafka.annotation.KafkaListener ማከል ብቻ ነው. , ለሁሉም የፀደይ ገንቢዎች የሚያውቀው.

ከሁሉም የድጋሚ ሙከራዎች በኋላ መልእክቱ ማካሄድ ካልተቻለ፣ ወደ ዲኤልቲ (የሞተ ፊደል ርዕስ) ስፕሪንግ DeadLetterPublishingRecoverer በመጠቀም ይሄዳል። በድጋፍ ጥያቄ መሰረት ይህንን ተግባር አስፋፍተናል እና በDLT ፣ stackTrace ፣traceId እና ሌሎች ጠቃሚ መረጃዎች ውስጥ የተካተቱ መልዕክቶችን ለማየት የሚያስችል የተለየ አገልግሎት ፈጠርን። በተጨማሪም ክትትል እና ማንቂያዎች በሁሉም የዲኤልቲ አርእስቶች ላይ ተጨምረዋል፣ እና አሁን፣ በእውነቱ፣ በዲኤልቲ አርእስት ውስጥ የመልዕክት መታየት ጉድለትን ለመተንተን እና ለማስተካከል ምክንያት ነው። ይህ በጣም ምቹ ነው - በርዕሱ ስም ፣ ችግሩ በምን ደረጃ ላይ እንደደረሰ ወዲያውኑ እንረዳለን ፣ ይህም የችግሩን መንስኤ በከፍተኛ ሁኔታ ያፋጥናል።

“በጫማዬ ውስጥ መሄድ” - ቆይ ፣ ምልክት ተደርጎባቸዋል?

በጣም በቅርብ ጊዜ ፣ ​​መንስኤዎቻቸውን ካስወገድን በኋላ (ለምሳሌ ፣ የውጪውን ስርዓት ተግባር ወደነበረበት መመለስ) እና በእርግጥ ፣ ለመተንተን ተጓዳኝ ጉድለትን በማቋቋም የእኛን ድጋፍ በመጠቀም መልዕክቶችን ለመላክ የሚያስችለንን በይነገጽ ተግባራዊ አድርገናል። እዚህ የእኛ የራስ-ርዕስ ጉዳዮች ጠቃሚ ናቸው-ረጅም የማቀነባበሪያ ሰንሰለት እንደገና ላለመጀመር ፣ ከተፈለገው ደረጃ እንደገና ማስጀመር ይችላሉ።

“በጫማዬ ውስጥ መሄድ” - ቆይ ፣ ምልክት ተደርጎባቸዋል?

የመሳሪያ ስርዓት ኦፕሬሽን

የመሳሪያ ስርዓቱ ቀድሞውኑ ውጤታማ ስራ ላይ ነው, በየቀኑ ማጓጓዣ እና ማጓጓዣዎችን እናከናውናለን, አዲስ የስርጭት ማዕከሎችን እና መደብሮችን እናገናኛለን. እንደ አብራሪው አካል, ስርዓቱ ከ "ትንባሆ" እና "ጫማ" የምርት ቡድኖች ጋር ይሰራል.

መላው ቡድናችን አብራሪዎችን በመምራት ይሳተፋል፣ ብቅ ያሉ ችግሮችን ይመረምራል እና ምርታችንን ለማሻሻል፣ ምዝግብ ማስታወሻዎችን ከማሻሻል እስከ ሂደቶች ለውጥ ድረስ ምክሮችን ይሰጣል።

ስህተቶቻችንን ላለመድገም, በአብራሪው ወቅት የተገኙ ሁሉም ጉዳዮች በአውቶሜትድ ሙከራዎች ውስጥ ይንጸባረቃሉ. ብዙ ቁጥር ያላቸው አውቶሜትሮች እና የንጥል ሙከራዎች መኖራቸው የመልሶ ማቋቋም ሙከራን እንዲያካሂዱ እና በጥቂት ሰዓታት ውስጥ ሆትፊክስ በትክክል እንዲጭኑ ያስችልዎታል።

አሁን የእኛን መድረክ ማዳበር እና ማሻሻል እንቀጥላለን፣ እና በየጊዜው አዳዲስ ፈተናዎችን እንጋፈጣለን። ፍላጎት ካሎት በሚቀጥሉት ጽሁፎች ውስጥ ስለ መፍትሄዎቻችን እንነጋገራለን.

ምንጭ: hab.com

አስተያየት ያክሉ