គោលការណ៍​បញ្ច្រាស​ភាពអាស្រ័យ - គោលការណ៍​នៃ​ការសរសេរ​កម្មវិធី​ដែល​តម្រង់​ទិស​វត្ថុ

គោលការណ៍បញ្ច្រាស់ភាពអាស្រ័យ៖ ខ្សែការពារដំបូងរបស់អ្នកប្រឆាំងនឹងការវាយប្រហារខ្សែសង្វាក់ផ្គត់ផ្គង់

តើគោលការណ៍បញ្ច្រាស់ភាពអាស្រ័យជាអ្វី?

គោលការណ៍​បញ្ច្រាស​ភាពអាស្រ័យ (DIP) គឺជាគោលគំនិតជាមូលដ្ឋាននៅក្នុងគោលការណ៍នៃការសរសេរកម្មវិធីដែលផ្តោតលើវត្ថុ។ នៅក្នុងខ្លឹមសាររបស់វា គោលការណ៍បញ្ច្រាសភាពអាស្រ័យគឺនិយាយអំពីការបំបែក។ ជាពិសេស វានិយាយអំពីការបំបែកតក្កវិជ្ជាអាជីវកម្មកម្រិតខ្ពស់ពីកូដកម្រិតទាប និងការពឹងផ្អែករបស់ភាគីទីបី។ ជំនួសឱ្យការភ្ជាប់តក្កវិជ្ជាស្នូលទៅនឹងបណ្ណាល័យ ឬការអនុវត្តជាក់លាក់ អ្នកពឹងផ្អែកលើអរូបីដូចជាចំណុចប្រទាក់។ នេះមិនត្រឹមតែធ្វើអោយប្រសើរឡើងនូវភាពបត់បែននៃកូដប៉ុណ្ណោះទេ ប៉ុន្តែវាថែមទាំងពង្រឹងសុវត្ថិភាពផងដែរ។

មុននឹងចូលទៅក្នុងស្ថាបត្យកម្ម វាមានសារៈសំខាន់ណាស់ក្នុងការយល់ដឹងពីមូលហេតុដែលវាសំខាន់សម្រាប់សុវត្ថិភាព៖ រាល់ការពឹងផ្អែកដោយផ្ទាល់លើបណ្ណាល័យខាងក្រៅពង្រីកផ្ទៃវាយប្រហាររបស់អ្នក។ បណ្ណាល័យងាយរងគ្រោះ ឬកញ្ចប់ដែលរងការសម្របសម្រួលក្លាយជាចំណុចចូលងាយស្រួលសម្រាប់អ្នកវាយប្រហារ។ ការវាយប្រហារខ្សែសង្វាក់ផ្គត់ផ្គង់ ទាញយកប្រយោជន៍ពីតំណភ្ជាប់ខ្សោយទាំងនេះ។ តាមរយៈការអនុវត្តគោលការណ៍បញ្ច្រាសភាពអាស្រ័យ អ្នកញែកភាពអាស្រ័យដែលមានហានិភ័យទាំងនេះចេញ ដោយរក្សាតក្កវិជ្ជាកម្មវិធីសំខាន់ៗរបស់អ្នកឱ្យមានសុវត្ថិភាព។

គោលការណ៍​បញ្ច្រាស​ភាពអាស្រ័យ​មិនមែន​គ្រាន់តែ​ជា​កូដ​ស្អាត​នោះទេ វា​គឺជា​ឧបករណ៍​យុទ្ធសាស្ត្រ​មួយ​ដើម្បី​ការពារ​ប្រឆាំងនឹង​ការវាយប្រហារ​ខ្សែសង្វាក់​ផ្គត់ផ្គង់​កម្មវិធី​ទំនើបៗ។ នៅក្នុង​អត្ថបទ​នេះ អ្នកនឹង​រៀន​ពី​របៀប​ដែល​គោលការណ៍​បញ្ច្រាស​ភាពអាស្រ័យ​អាច​ដើរតួ​ជា​ខ្សែការពារ​ដំបូង​របស់​អ្នក និង​មូលហេតុ​ដែល​ក្រុម DevSecOps នីមួយៗ​គួរតែ​បង្កប់ DIP ទៅក្នុង​ដំណើរការ​អភិវឌ្ឍន៍​ដែលមាន​សុវត្ថិភាព​របស់​ពួកគេ។ គោលការណ៍​នៃ​ការសរសេរ​កម្មវិធី​ដែល​តម្រង់​ទិស​វត្ថុ​មិនមែន​គ្រាន់តែ​ជា​ការសិក្សា​ប៉ុណ្ណោះ​ទេ វា​អាច​អនុវត្ត​បាន​ជាក់ស្តែង។ ឧបករណ៍សុវត្ថិភាព នៅពេលអនុវត្តបានត្រឹមត្រូវ។ ការប្រើប្រាស់បានត្រឹមត្រូវ DIP ជួយកាត់បន្ថយកាំផ្ទុះនៃការវាយប្រហារខ្សែសង្វាក់ផ្គត់ផ្គង់ដោយការញែក ហានិភ័យភាគីទីបី នៅពីក្រោយអរូបីដែលមានស្ថេរភាព។

ការយល់ដឹងអំពីទិដ្ឋភាពគំរាមកំហែងនៃខ្សែសង្វាក់ផ្គត់ផ្គង់កម្មវិធី

ការវាយប្រហារខ្សែសង្វាក់ផ្គត់ផ្គង់បានក្លាយជាក្តីបារម្ភចម្បងមួយផ្នែកសន្តិសុខ។ ឧក្រិដ្ឋជនតាមអ៊ីនធឺណិតផ្តោតលើការអភិវឌ្ឍន៍កម្មវិធី pipelineដោយការធ្វើឱ្យខូចបណ្ណាល័យភាគីទីបី និងចាក់បញ្ចូលកូដព្យាបាទ។

នៅពេលដែលបណ្ណាល័យខាងក្រៅត្រូវបានបង្កប់យ៉ាងជ្រៅ ការសម្របសម្រួលណាមួយរីករាលដាលយ៉ាងឆាប់រហ័សតាមរយៈតក្កវិជ្ជាស្នូល។

ឧប្បត្តិហេតុ​លេចធ្លោ​ដូចជា​ការ​រំលោភ​បំពាន SolarWinds ឬ​ការ​វាយប្រហារ​ដោយ​ការ​ភាន់ច្រឡំ​នៃ​ការ​ពឹងផ្អែក​បាន​បង្ហាញ​ពី​គ្រោះថ្នាក់។ អ្នកវាយប្រហារ​កេងប្រវ័ញ្ច​ទំនុកចិត្ត​ដែល​អ្នកអភិវឌ្ឍន៍​ដាក់​នៅក្នុង​ឃ្លាំង​កញ្ចប់។ កញ្ចប់​ដែល​មាន​គំនិត​អាក្រក់ ឬ​ការ​អាប់ដេត​ដែល​រង​ការ​សម្របសម្រួល​អាច​ផ្សព្វផ្សាយ​មេរោគ លួច​យក​អាថ៌កំបាំង ឬ​បង្កើត​ទ្វារ​ខាងក្រោយ​នៅក្នុង​ប្រព័ន្ធ​របស់​អ្នក។

ការពឹងផ្អែកខាងក្រៅនីមួយៗគឺជាវ៉ិចទ័រគំរាមកំហែងដែលអាចកើតមាន។ បើគ្មានការគ្រប់គ្រងស្ថាបត្យកម្មដូចជាគោលការណ៍បញ្ច្រាសការពឹងផ្អែកទេ ការគ្រប់គ្រងហានិភ័យនេះស្ទើរតែមិនអាចទៅរួចទេ។

ដើម្បីការពារប្រឆាំងនឹងការវាយប្រហារទាំងនេះ ស្ថាបត្យកម្មកម្មវិធីត្រូវតែផ្តល់អាទិភាពដល់ភាពឯកោ និងការគ្រប់គ្រងលើសមាសធាតុភាគីទីបី។ នេះជាកន្លែងដែលគោលការណ៍បញ្ច្រាសភាពអាស្រ័យចូលមកលេង។ ដោយប្រើគោលការណ៍នៃការសរសេរកម្មវិធីដែលផ្តោតលើវត្ថុ អ្នកអាចរៀបចំរចនាសម្ព័ន្ធកូដរបស់អ្នកដើម្បីចាត់ទុកភាពអាស្រ័យជាសមាសធាតុដាច់ដោយឡែក និងអាចជំនួសបាន។

ហេតុអ្វីបានជាគោលការណ៍បញ្ច្រាស់ភាពអាស្រ័យមានសារៈសំខាន់សម្រាប់សុវត្ថិភាពខ្សែសង្វាក់ផ្គត់ផ្គង់

ការគ្រប់គ្រងព្រំដែននៃការជឿទុកចិត្តលើភាពអាស្រ័យ

ដោយប្រើប្រាស់គោលការណ៍ Dependency Inversion អ្នកអភិវឌ្ឍន៍អាចទាញយកបណ្ណាល័យភាគីទីបីចេញពីក្រោយចំណុចប្រទាក់ដែលមានស្ថេរភាព។ ជំនួសឱ្យការអនុញ្ញាតឱ្យកូដខាងក្រៅលេចធ្លាយចូលទៅក្នុងតក្កវិជ្ជាស្នូលរបស់អ្នក អ្នកប្រើការរចនា API ដែលផ្តោតលើចំណុចប្រទាក់ជាមុន ដើម្បីកំណត់ពីរបៀបដែលកម្មវិធីរបស់អ្នកធ្វើអន្តរកម្មជាមួយភាពអាស្រ័យ។

ឧទាហរណ៍:

				
					// PaymentsAdapter.ts (TypeScript)
interface PaymentsAdapter {
  processPayment(amount: number): Promise<string>;
}

// StripePayments.ts (Third-party dependency)
class StripePayments implements PaymentsAdapter {
  async processPayment(amount: number): Promise<string> {
    return await stripeAPI.charge(amount);
  }
}

				
			

នៅក្នុងការរៀបចំនេះ កូដអាជីវកម្មស្នូលរបស់អ្នកអាស្រ័យលើ កម្មវិធី​កែសម្រួល​ការ​ទូទាត់មិនមែនដោយផ្ទាល់នៅលើ SDK របស់ Stripe ទេ។

ទទួលយកកុងតឺន័រ DI ដូចជា៖

  • និទាឃរដូវ (ចាវ៉ា)
  • NestJS (ស្គ្រីបប្រភេទ)
  • .NET Core DI (C#)
  • ហ្គីស (ចាវ៉ា)

ក្របខ័ណ្ឌទាំងនេះអនុវត្តការរចនាដែលផ្តោតលើអរូបីជាមុន និងធ្វើឱ្យការគ្រប់គ្រងការពឹងផ្អែកមានភាពសាមញ្ញ ដោយអនុវត្តគោលការណ៍នៃការសរសេរកម្មវិធីដែលផ្តោតលើវត្ថុតាមរបៀបជាក់ស្តែង និងផ្តោតលើសុវត្ថិភាពជាមុន។

ការបង្កើនការដាក់ឱ្យនៅដាច់ដោយឡែក និងការទប់ស្កាត់

ស្រទាប់​អរូបី​ជួយ​ទប់ស្កាត់​ការ​លួច​ចូល​ដែល​អាច​កើតមាន។ ប្រសិនបើ​កញ្ចប់​ភាគី​ទីបី​ដូចជា​ឧបករណ៍​ដំណើរការ​ទូទាត់ ឬ​បណ្ណាល័យ​កំណត់ហេតុ​ត្រូវ​បាន​លួច​ចូល ផលប៉ះពាល់​នឹង​ត្រូវ​បាន​ញែក​ចេញ​ពី​ក្រោយ​ចំណុច​ប្រទាក់​របស់​អ្នក។ អ្នក​វាយប្រហារ​មិន​អាច​ចូល​ប្រើប្រាស់​ប្រព័ន្ធ​ស្នូល​របស់​អ្នក​ដោយ​ផ្ទាល់​បាន​ទេ។

ឧទាហរណ៍៖ ប្រើកម្មវិធីផ្ទុកកម្មវិធីជំនួយដើម្បីចាត់ទុកកម្មវិធីជំនួយជាសមាសធាតុដែលមិនគួរឱ្យទុកចិត្ត។ កូដកម្មវិធីជំនួយត្រូវបានប្រតិបត្តិក្នុងកិច្ចសន្យាតឹងរ៉ឹង និងការអនុញ្ញាតមានកំណត់។

  • ចាវ៉ា SPI
  • អូស៊ីជី
  • ចំណុចចូល Python
  • ការនាំចូលថាមវន្ត Node.js ជាមួយនឹងការត្រួតពិនិត្យចំណុចប្រទាក់

នេះកំណត់កាំនៃការផ្ទុះក្នុងករណីមានការសម្របសម្រួលខ្សែសង្វាក់ផ្គត់ផ្គង់ ហើយអនុវត្តតាមគោលការណ៍នៃការសរសេរកម្មវិធីដែលផ្តោតលើវត្ថុដោយបំបែកកង្វល់ និងគ្រប់គ្រងភាពអាស្រ័យ។

សម្រួលដល់ការអាប់ដេត និងការជំនួស Dependency ប្រកបដោយសុវត្ថិភាព

នៅពេលដែល dependencies ស្ថិតនៅពីក្រោយ abstractions ការដោះដូរ library ដែលរងការសម្របសម្រួលក្លាយជារឿងងាយស្រួល។ អ្នកគ្រាន់តែអនុវត្ត interface ដូចគ្នាជាមួយអ្នកផ្តល់សេវាដែលមានសុវត្ថិភាព និងខុសគ្នា។ DI containers ដោះស្រាយ instantiation ដោយជៀសវាងការ references hardcoded ដោយផ្ទាល់។

				
					// Replace StripePayments with SecureStripe
class SecureStripe implements PaymentsAdapter {
  async processPayment(amount: number): Promise<string> {
    return await hardenedStripe.charge(amount);
  }
}

				
			

ដោយអនុវត្តតាមគោលការណ៍បញ្ច្រាស់ភាពអាស្រ័យ ការគ្រប់គ្រងភាពអាស្រ័យក្លាយជាដំណើរការដែលមានការគ្រប់គ្រង និងមានសុវត្ថិភាព។

ឧទាហរណ៍ជាក់ស្តែងនៃ DIP សម្រាប់ការការពារខ្សែសង្វាក់ផ្គត់ផ្គង់កម្មវិធី

ឧទាហរណ៍៖ ស្ថាបត្យកម្មផ្អែកលើកម្មវិធីជំនួយ

ស្ថាបត្យកម្មដែលមានមូលដ្ឋានលើកម្មវិធីជំនួយរក្សាផ្នែកបន្ថែមភាគីទីបីឱ្យនៅដាច់ដោយឡែកដោយសុវត្ថិភាព៖

				
					// Plugin interface
interface AuthPlugin {
  authenticate(user: string, password: string): Promise<boolean>;
}

// Dynamically loaded plugin
const plugin = await import(`./plugins/${pluginName}`);
const authModule: AuthPlugin = plugin.default;

				
			

កម្មវិធីជំនួយមិនអាចប៉ះដោយផ្ទាល់ទៅនឹងតក្កវិជ្ជាកម្មវិធីស្នូលរបស់អ្នកបានទេ។ ពួកវាត្រូវតែអនុលោមតាម AuthPlugin ចំណុចប្រទាក់។

ឧទាហរណ៍៖ ក្របខ័ណ្ឌចាក់បញ្ចូលភាពអាស្រ័យ

ការប្រើប្រាស់ DI containers ដូចជា Spring ឬ NestJS អនុញ្ញាតឱ្យអ្នកចាក់បញ្ចូល dependencies ដោយមិនចាំបាច់ hardcoding ពួកវា៖

				
					// NestJS Example
@Injectable()
export class UserService {
  constructor(private payments: PaymentsAdapter) {}
}

				
			

នេះធ្វើឱ្យការជំនួស ឬការធានាសុវត្ថិភាព dependencies មានភាពងាយស្រួល និងមានលក្ខណៈកណ្តាល ដែលស្របទាំងស្រុងជាមួយនឹងគោលការណ៍នៃការសរសេរកម្មវិធីដែលផ្តោតលើវត្ថុ។

ឧបករណ៍ដើម្បីអនុវត្តគោលការណ៍បញ្ច្រាស់ភាពអាស្រ័យ

ឧបករណ៍វិភាគឋិតិវន្តជួយអនុវត្តគោលការណ៍បញ្ច្រាសភាពអាស្រ័យដោយរកឃើញការភ្ជាប់តឹងណែន៖

  • សូណារុប
  • ArchUnit (ចាវ៉ា)
  • អិនឌីផេន (.ណេត)
  • ច្បាប់ផ្ទាល់ខ្លួនរបស់ ESLint (JavaScript/TypeScript)

ស្វ័យប្រវត្តិកម្មការត្រួតពិនិត្យចូល CI/CD ដើម្បីសម្គាល់អរូបីដែលបាត់ និងការប្រើប្រាស់ការពឹងផ្អែកដោយផ្ទាល់។

អត្ថប្រយោជន៍លើសពីស្ថាបត្យកម្ម៖ DIP ជាយុទ្ធសាស្ត្រសន្តិសុខ

ការបង្កប់គោលការណ៍ Dependency Inversion ទៅក្នុងមូលដ្ឋានកូដរបស់អ្នកមិនត្រឹមតែជាការរចនាល្អប៉ុណ្ណោះទេ ប៉ុន្តែវាក៏ជាយុទ្ធសាស្ត្រសុវត្ថិភាពផងដែរ។ អត្ថប្រយោជន៍រួមមាន៖

  • ការ​ធ្វើ​សវនកម្ម​ភាគី​ទី​បី និង​ការ​ពិនិត្យ​មើល​ការ​ពឹង​ផ្អែក​ដែល​បាន​ធ្វើ​ឲ្យ​សាមញ្ញ។
  • បានកាត់បន្ថយផ្ទៃវាយប្រហារតាមរយៈការលាតត្រដាងកូដខាងក្រៅដែលគ្រប់គ្រង។
  • ធានាសុវត្ថិភាពលំនាំដើមដោយកំណត់ការបង្កើតភាពអាស្រ័យដោយផ្ទាល់។
  • បើកដំណើរការការរចនាកម្មវិធីដែលមានសិទ្ធិតិចបំផុត។
  • ការធ្វើឱ្យ DIP ក្លាយជាផ្នែកមួយនៃលំហូរការងារប្រចាំថ្ងៃរបស់អ្នកអភិវឌ្ឍន៍តាមរយៈគោលការណ៍នៃការសរសេរកម្មវិធីដែលផ្តោតលើវត្ថុ។

ការបង្កប់ DIP ទៅក្នុងវដ្តជីវិតអភិវឌ្ឍន៍កម្មវិធីដែលមានសុវត្ថិភាព (SDLC)

ដើម្បីបង្កើនសុវត្ថិភាពអតិបរមា សូមបញ្ចូល DIP ទៅក្នុងឧបករណ៍របស់អ្នក SDLC:

  • ធ្វើឱ្យការបញ្ច្រាស់ភាពអាស្រ័យក្លាយជាធាតុត្រួតពិនិត្យនៅក្នុងការពិនិត្យឡើងវិញនូវការរចនាដែលមានសុវត្ថិភាព។
  • ធ្វើស្វ័យប្រវត្តិកម្មការត្រួតពិនិត្យអរូបីអំឡុងពេលពិនិត្យកូដ និងការបង្កើត CI។
  • អប់រំអ្នកអភិវឌ្ឍន៍ឱ្យចាត់ទុកគោលការណ៍ Dependency Inversion ទាំងជាគំរូសរសេរកូដ និងជាការគ្រប់គ្រងសុវត្ថិភាព។

ចាត់ទុក DIP ជាខ្សែការពារដំបូងរបស់អ្នក

ការបញ្ច្រាស់ភាពអាស្រ័យមិនមែនជាទ្រឹស្តីទេ វាជាការការពារជាក់ស្តែងប្រឆាំងនឹងកញ្ចប់ដែលរងការសម្របសម្រួល។ វាគឺជាខ្សែការពារដំបូងជាក់ស្តែងរបស់អ្នកប្រឆាំងនឹងហានិភ័យខ្សែសង្វាក់ផ្គត់ផ្គង់។ ការប្រើប្រាស់ចំណុចប្រទាក់ កុងតឺន័រ DI និងកម្មវិធីផ្ទុកកម្មវិធីជំនួយដើម្បីសង្ខេប និងញែកភាពអាស្រ័យដាក់ការគ្រប់គ្រងត្រឡប់មកវិញនៅក្នុងដៃរបស់អ្នកក្នុងនាមជាអ្នកអភិវឌ្ឍន៍។

តាមរយៈការផ្តល់អាទិភាពដល់ការបញ្ច្រាស់ភាពអាស្រ័យ អ្នកកាត់បន្ថយកាំផ្ទុះនៃបណ្ណាល័យដែលសម្របសម្រួល និងទទួលបានភាពបត់បែនក្នុងការបំណះ ឬជំនួសភាពអាស្រ័យដោយគ្មានការកកិត។

ការរចនា API ដែលផ្តោតលើចំណុចប្រទាក់ជាមុន និងការចាក់បញ្ចូលភាពអាស្រ័យមិនមែនជាការអនុវត្តល្អបំផុតអរូបីទេ; ពួកវាជាវិធានការសុវត្ថិភាពដែលអាចអនុវត្តបាន ដែលការពារកម្មវិធីរបស់អ្នកជារៀងរាល់ថ្ងៃ។

របៀបដែល Xygeni ជួយអ្នកអនុវត្តគោលការណ៍បញ្ច្រាស់ភាពអាស្រ័យ និងធានាសុវត្ថិភាពខ្សែសង្វាក់ផ្គត់ផ្គង់របស់អ្នក

At ស៊ីហ្គេនីយើងជួយក្រុម DevSecOps អនុវត្តគោលការណ៍ Dependency Inversion ជាការគ្រប់គ្រងសុវត្ថិភាពជាក់ស្តែង។ វេទិការបស់យើងរួមបញ្ចូលគ្នានូវភាពមើលឃើញស៊ីជម្រៅ ការអនុវត្ត និងស្វ័យប្រវត្តិកម្ម ដើម្បីកាត់បន្ថយហានិភ័យភាគីទីបី ខណៈពេលដែលរក្សាការអភិវឌ្ឍន៍ឱ្យលឿន និងមានសុវត្ថិភាព។

នេះជារបៀបដែលយើងគាំទ្រអ្នក៖

  • SCA ជាមួយនឹងលទ្ធភាពទៅដល់ កំណត់អត្តសញ្ញាណកូដដែលភ្ជាប់គ្នាយ៉ាងតឹងរ៉ឹង និងឯកសារយោងដោយផ្ទាល់ទៅកាន់បណ្ណាល័យភាគីទីបីដែលគួរតែត្រូវបានដកស្រង់។
  • ASPM dashboards ផ្តល់ឱ្យអ្នកនូវភាពមើលឃើញជាបន្តបន្ទាប់អំពី dependencies ណាដែលត្រូវបានប្រើប្រាស់ អាចកេងប្រវ័ញ្ច ឬហួសសម័យ ដែលជួយអ្នកសម្រេចចិត្តថាត្រូវអនុវត្ត abstraction នៅកន្លែងណា។
  • CI/CD Guardrails អនុវត្តគោលការណ៍សរសេរកូដដែលមានសុវត្ថិភាពដោយរារាំងការបង្កើតដែលរំលោភលើ DIP ឬណែនាំការពឹងផ្អែកដែលមានហានិភ័យដោយមិនចាំបាច់ញែកដាច់ពីគ្នា។
  • ការរកឃើញភាពមិនប្រក្រតីនៃកូដ ត្រួតពិនិត្យការផ្លាស់ប្តូរនៅក្នុងស្រទាប់ចំណុចប្រទាក់ កម្មវិធីពិពណ៌នាការពឹងផ្អែក និងឯកសារកំណត់រចនាសម្ព័ន្ធ ដើម្បីចាប់បានការរសាត់បាត់នៃស្ថាបត្យកម្មទាន់ពេលវេលា។

តាមរយៈការរួមបញ្ចូល Xygeni ទៅក្នុងការអភិវឌ្ឍរបស់អ្នក pipelineអ្នកធ្វើស្វ័យប្រវត្តិកម្មការអនុវត្តការបញ្ច្រាស់ភាពអាស្រ័យនៅទូទាំងមូលដ្ឋានកូដរបស់អ្នក។ នេះធ្វើអោយប្រសើរឡើងនូវការថែទាំ ធ្វើឱ្យការឆ្លើយតបនៃឧប្បត្តិហេតុមានភាពសាមញ្ញ និង ពង្រឹងការការពាររបស់អ្នកប្រឆាំងនឹងការវាយប្រហារខ្សែសង្វាក់ផ្គត់ផ្គង់.

ការចាត់ទុក DIP ជាស្រទាប់សុវត្ថិភាពជួយកាត់បន្ថយកាំផ្ទុះនៃកញ្ចប់ដែលរងការសម្របសម្រួល។ ជាមួយ Xygeni ស្រទាប់នោះត្រូវបានអនុវត្តដោយការរចនា។

ឧបករណ៍វិភាគសមាសភាពកម្មវិធី sca
ផ្តល់អាទិភាព ដោះស្រាយ និងធានាសុវត្ថិភាពហានិភ័យផ្នែកទន់របស់អ្នក
ទទួលបានគណនីឥតគិតថ្លៃរបស់អ្នក។
មិនតម្រូវឱ្យមានកាតឥណទានទេ។

ធានាសុវត្ថិភាពនៃការអភិវឌ្ឍន៍ និងការដឹកជញ្ជូនកម្មវិធីរបស់អ្នក

ជាមួយឈុតផលិតផល Xygeni