វិធីសាស្រ្ត IDEF5 ។ ភាសាក្រាហ្វិក

ធាតុ

អត្ថបទនេះត្រូវបានបម្រុងទុកសម្រាប់អ្នកដែលស្គាល់ពីគំនិតនៃ ontology យ៉ាងហោចណាស់នៅកម្រិតបឋម។ ប្រសិនបើអ្នកមិនស៊ាំជាមួយ ontologies នោះទំនងជាគោលបំណងនៃ ontologies ហើយជាពិសេសអត្ថបទនេះនឹងមិនច្បាស់សម្រាប់អ្នកទេ។ ខ្ញុំណែនាំអ្នកឱ្យស្គាល់ខ្លួនអ្នកជាមួយនឹងបាតុភូតនេះ មុនពេលអ្នកចាប់ផ្តើមអានអត្ថបទនេះ (ប្រហែលជាសូម្បីតែអត្ថបទពី Wikipedia នឹងគ្រប់គ្រាន់)។

ដូច្នេះ Ontology - នេះគឺជាការពិពណ៌នាលម្អិតនៃប្រធានបទជាក់លាក់មួយដែលកំពុងពិចារណា។ ការពិពណ៌នាបែបនេះត្រូវតែផ្តល់ឱ្យជាភាសាដែលបានបង្កើតយ៉ាងច្បាស់មួយចំនួន។ ដើម្បីពិពណ៌នាអំពី ontologies អ្នកអាចប្រើវិធីសាស្រ្ត IDEF5 ដែលមាន 2 ភាសានៅក្នុងឃ្លាំងរបស់វា៖

  • IDEF5 ភាសាគ្រោងការណ៍។ ភាសានេះគឺមើលឃើញ និងប្រើប្រាស់ធាតុក្រាហ្វិក។
  • ភាសាអត្ថបទ IDEF5 ។ ភាសានេះត្រូវបានតំណាងជាអត្ថបទដែលមានរចនាសម្ព័ន្ធ។

អត្ថបទនេះនឹងពិចារណាជម្រើសដំបូង - ភាសាគ្រោងការណ៍។ យើងនឹងនិយាយអំពីអត្ថបទនៅក្នុងអត្ថបទបន្ទាប់។

វត្ថុ

នៅក្នុងភាសា schematic ដូចដែលបានបញ្ជាក់រួចមកហើយ ធាតុក្រាហ្វិកត្រូវបានប្រើ។ ជាដំបូង យើងគួរពិចារណាលើធាតុជាមូលដ្ឋាននៃភាសានេះ។

ជារឿយៗ ontology ប្រើទាំងអង្គធាតុទូទៅ និងវត្ថុជាក់លាក់។ អង្គភាពទូទៅត្រូវបានគេហៅថា ប្រភេទ. ពួកវាត្រូវបានបង្ហាញជារង្វង់ដែលមានស្លាក (ឈ្មោះវត្ថុ) នៅខាងក្នុង៖

វិធីសាស្រ្ត IDEF5 ។ ភាសាក្រាហ្វិក

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

ករណីបុគ្គលនៃប្រភេទសត្វត្រូវបានកំណត់ស្រដៀងទៅនឹងប្រភេទសត្វខ្លួនឯង ដោយគ្រាន់តែចង្អុលបង្ហាញដោយចំណុចនៅខាងក្រោមរង្វង់៖

វិធីសាស្រ្ត IDEF5 ។ ភាសាក្រាហ្វិក

ដូចគ្នានេះផងដែរជាផ្នែកមួយនៃការពិភាក្សាអំពីវត្ថុវាមានតម្លៃនិយាយអំពីវត្ថុដូចជា ដំណើរការ.

ប្រសិនបើទិដ្ឋភាព និងវត្ថុត្រូវបានគេហៅថាវត្ថុឋិតិវន្ត (មិនផ្លាស់ប្តូរតាមពេលវេលា) នោះដំណើរការគឺជាវត្ថុថាមវន្ត។ នេះមានន័យថាវត្ថុទាំងនេះមាននៅក្នុងរយៈពេលកំណត់យ៉ាងតឹងរ៉ឹងជាក់លាក់។

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

ដំណើរការត្រូវបានបង្ហាញជាចតុកោណដែលមានស្លាក (ឈ្មោះ) នៃដំណើរការ៖

វិធីសាស្រ្ត IDEF5 ។ ភាសាក្រាហ្វិក

ដំណើរការត្រូវបានប្រើក្នុងគ្រោងការណ៍សម្រាប់ការផ្លាស់ប្តូរវត្ថុមួយទៅវត្ថុមួយទៀត។ នេះនឹងត្រូវបានពិភាក្សាលម្អិតបន្ថែមទៀតខាងក្រោម។

បន្ថែមពីលើដំណើរការគ្រោងការណ៍បែបនេះប្រើ ប្រតិបត្តិករឡូជីខល. អ្វីគ្រប់យ៉ាងនៅទីនេះគឺសាមញ្ញណាស់សម្រាប់អ្នកដែលស្គាល់ការព្យាករណ៍ ពិជគណិតប៊ូលីន ឬការសរសេរកម្មវិធី។ IDEF5 ប្រើសញ្ញាប្រមាណវិធីឡូជីខលជាមូលដ្ឋានចំនួនបី៖

  • ឡូជីខល AND (AND);
  • ឡូជីខល ឬ (OR);
  • ផ្តាច់មុខ OR (XOR) ។

ស្តង់ដារ IDEF5 (http://idef.ru/documents/Idef5.pdf - ភាគច្រើននៃព័ត៌មានពីប្រភពនេះ) កំណត់រូបភាពនៃប្រតិបត្តិករឡូជីខលក្នុងទម្រង់ជារង្វង់តូចៗ (ប្រៀបធៀបទៅនឹងទិដ្ឋភាព និងឧទាហរណ៍) ជាមួយនឹងស្លាកនៅក្នុង ទម្រង់នៃនិមិត្តសញ្ញា។ ទោះយ៉ាងណាក៏ដោយ នៅក្នុងបរិយាកាសក្រាហ្វិក IDEF5 ដែលយើងកំពុងអភិវឌ្ឍ យើងបានផ្លាស់ប្តូរឆ្ងាយពីច្បាប់នេះសម្រាប់ហេតុផលជាច្រើន។ មួយក្នុងចំណោមពួកគេគឺជាការកំណត់អត្តសញ្ញាណដ៏លំបាកនៃប្រតិបត្តិករទាំងនេះ។ ដូច្នេះ យើងប្រើការសម្គាល់អត្ថបទរបស់ប្រតិបត្តិករដែលមានលេខអត្តសញ្ញាណ៖

វិធីសាស្រ្ត IDEF5 ។ ភាសាក្រាហ្វិក

ប្រហែលជាយើងនឹងបញ្ចប់ដោយវត្ថុនៅទីនេះ។

ទំនាក់ទំនង

មានទំនាក់ទំនងរវាងវត្ថុដែលនៅក្នុង ontology មានន័យថាក្បួនដែលកំណត់អន្តរកម្មរវាងវត្ថុនិងពីការសន្និដ្ឋានថ្មីត្រូវបានចេញមក។

ជាធម្មតា ទំនាក់ទំនងត្រូវបានកំណត់ដោយប្រភេទនៃគ្រោងការណ៍ដែលប្រើក្នុង ontology ។ គម្រោងនេះ គឺជាសំណុំនៃវត្ថុ ontology និងទំនាក់ទំនងរវាងពួកវា។ មានគ្រោងការណ៍សំខាន់ៗដូចខាងក្រោមៈ

  1. គ្រោងការណ៍នៃសមាសភាព។
  2. គ្រោងការណ៍ចំណាត់ថ្នាក់។
  3. ដ្យាក្រាមការផ្លាស់ប្តូរ។
  4. ដ្យាក្រាមមុខងារ។
  5. គ្រោងការណ៍រួមបញ្ចូលគ្នា។

ជួនកាលក៏មានប្រភេទនៃគ្រោងការណ៍ដូចជា អត្ថិភាព. គ្រោងការណ៍អត្ថិភាពគឺជាបណ្តុំនៃវត្ថុដែលគ្មានទំនាក់ទំនង។ ដ្យាក្រាម​បែប​នេះ​គ្រាន់​តែ​បង្ហាញ​ថា​នៅ​ក្នុង​ប្រធានបទ​ជាក់លាក់​មួយ​មាន​សំណុំ​វត្ថុ​ជាក់លាក់។

មែនហើយឥឡូវនេះតាមលំដាប់លំដោយអំពីប្រភេទនីមួយៗនៃគ្រោងការណ៍។

គ្រោងការណ៍នៃសមាសភាព

ប្រភេទនៃដ្យាក្រាមនេះត្រូវបានប្រើដើម្បីតំណាងឱ្យសមាសភាពនៃវត្ថុមួយ ប្រព័ន្ធ រចនាសម្ព័ន្ធ។ល។ ឧទាហរណ៍ធម្មតាគឺគ្រឿងបន្លាស់រថយន្ត។ នៅក្នុងទម្រង់ដ៏ធំបំផុតរបស់វា រថយន្តមានតួខ្លួន និងការបញ្ជូន។ នៅក្នុងវេនរាងកាយត្រូវបានបែងចែកទៅជាស៊ុមទ្វារនិងផ្នែកផ្សេងទៀត។ ការបំផ្លាញនេះអាចបន្តបានបន្ថែមទៀត - វាទាំងអស់គឺអាស្រ័យលើកម្រិតដែលត្រូវការនៃព័ត៌មានលម្អិតនៅក្នុងកិច្ចការពិសេសនេះ។ ឧទាហរណ៍នៃគ្រោងការណ៍បែបនេះ៖
វិធីសាស្រ្ត IDEF5 ។ ភាសាក្រាហ្វិក
ទំនាក់ទំនងការតែងត្រូវបានបង្ហាញជាព្រួញដែលមានក្បាលព្រួញនៅខាងចុង (មិនដូចឧទាហរណ៍ទំនាក់ទំនងចំណាត់ថ្នាក់ ដែលក្បាលព្រួញនៅដើមព្រួញ ព័ត៌មានលម្អិតបន្ថែមខាងក្រោម)។ ទំនាក់ទំនងបែបនេះអាចត្រូវបានដាក់ស្លាកសញ្ញាដូចនៅក្នុងរូបភាព (ផ្នែក) ។

គ្រោងការណ៍ចំណាត់ថ្នាក់

គ្រោងការណ៍ចាត់ថ្នាក់មានគោលបំណងបង្ហាញនិយមន័យនៃប្រភេទ ប្រភេទរងរបស់វា និងឧទាហរណ៍នៃប្រភេទ។ ជាឧទាហរណ៍ រថយន្តអាចជារថយន្ត ឬឡានដឹកទំនិញ។ នោះគឺទិដ្ឋភាព "រថយន្ត" មានទិដ្ឋភាពរងចំនួនពីរ។ VAZ-2110 គឺជាឧទាហរណ៍ជាក់លាក់នៃប្រភេទរង "រថយន្តដឹកអ្នកដំណើរ" ហើយ GAZ-3307 គឺជាឧទាហរណ៍នៃប្រភេទរង "ឡានដឹកទំនិញ"៖

វិធីសាស្រ្ត IDEF5 ។ ភាសាក្រាហ្វិក

ទំនាក់ទំនងនៅក្នុងគ្រោងការណ៍ចាត់ថ្នាក់ (ប្រភេទរង ឬឧទាហរណ៍ជាក់លាក់មួយ) មានទម្រង់ជាព្រួញដែលមានព័ត៌មានជំនួយនៅដើម ហើយដូចនៅក្នុងករណីនៃគ្រោងការណ៍សមាសភាព អាចមានស្លាកជាមួយឈ្មោះនៃទំនាក់ទំនង។

គ្រោងការណ៍ផ្លាស់ប្តូរ

គ្រោងការណ៍នៃប្រភេទនេះគឺចាំបាច់ដើម្បីបង្ហាញដំណើរការនៃការផ្លាស់ប្តូរវត្ថុពីរដ្ឋមួយទៅរដ្ឋមួយទៀតក្រោមឥទ្ធិពលនៃដំណើរការជាក់លាក់មួយ។ ជាឧទាហរណ៍ បន្ទាប់ពីដំណើរការគូរគំនូរពណ៌ក្រហម ឡានពណ៌ខ្មៅក្លាយជាពណ៌ក្រហម៖

វិធីសាស្រ្ត IDEF5 ។ ភាសាក្រាហ្វិក

ទំនាក់ទំនងផ្លាស់ប្តូរត្រូវបានចង្អុលបង្ហាញដោយព្រួញដែលមានក្បាលនៅខាងចុង និងរង្វង់នៅចំកណ្តាល។ ដូចដែលអ្នកអាចមើលឃើញពីដ្យាក្រាម ដំណើរការសំដៅទៅលើទំនាក់ទំនង មិនមែនវត្ថុទេ។

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

វិធីសាស្រ្ត IDEF5 ។ ភាសាក្រាហ្វិក

ការផ្លាស់ប្តូរដ៏តឹងរឹងមួយត្រូវបានសម្គាល់ស្រដៀងគ្នាទៅនឹងការផ្លាស់ប្តូរធម្មតា លើកលែងតែសម្រាប់ ferrule ទ្វេនៅចុងបញ្ចប់។

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

វិធីសាស្រ្ត IDEF5 ។ ភាសាក្រាហ្វិក

ឧទាហរណ៍បង្ហាញពីការផ្លាស់ប្តូរដ៏តឹងរឹង ប៉ុន្តែអ្នកក៏អាចប្រើការផ្លាស់ប្តូរធម្មតាជាការផ្លាស់ប្តូរភ្លាមៗផងដែរ។

ដ្យាក្រាមមុខងារ

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

វិធីសាស្រ្ត IDEF5 ។ ភាសាក្រាហ្វិក

ទំនាក់ទំនងមុខងារត្រូវបានបង្ហាញជាបន្ទាត់ត្រង់ដោយគ្មានព័ត៌មានជំនួយ ប៉ុន្តែជួនកាលមានស្លាកមួយ ដែលជាឈ្មោះនៃទំនាក់ទំនង។

គ្រោងការណ៍រួមបញ្ចូលគ្នា

គ្រោងការណ៍រួមបញ្ចូលគ្នាគឺជាការរួមបញ្ចូលគ្នានៃគ្រោងការណ៍ដែលបានពិភាក្សាពីមុន។ គ្រោងការណ៍ភាគច្រើននៅក្នុងវិធីសាស្រ្ត IDEF5 ត្រូវបានបញ្ចូលគ្នា ចាប់តាំងពី ontologies ដែលប្រើតែប្រភេទនៃគ្រោងការណ៍គឺកម្រណាស់។

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

វិធីសាស្រ្ត IDEF5 ។ ភាសាក្រាហ្វិក

ក្នុងករណីជាក់លាក់មួយ គ្រោងការណ៍រួមបញ្ចូលគ្នាប្រើគ្រោងការណ៍សមាសភាព (កញ្ចក់ + ឡានគ្មានកញ្ចក់ = ឡានដែលមានកញ្ចក់) និងគ្រោងការណ៍ផ្លាស់ប្តូរ (ឡានដែលមានកញ្ចក់ក្លាយជាឡានពណ៌ក្រហមក្រោមឥទ្ធិពលនៃដំណើរការថ្នាំលាបក្រហម) ។ លើសពីនេះទៅទៀតរថយន្តដែលមានកញ្ចក់មិនត្រូវបានបង្ហាញឱ្យច្បាស់លាស់ទេ - ផ្ទុយទៅវិញ ប្រតិបត្តិករឡូជីខល AND ត្រូវបានចង្អុលបង្ហាញ។

សេចក្តីសន្និដ្ឋាន

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

Ontologies និងការវិភាគនៃចំនេះដឹងដែនគឺជាប្រធានបទដ៏ទូលំទូលាយ និងប្រើប្រាស់ពេលវេលា។ ទោះយ៉ាងណាក៏ដោយនៅក្នុងក្របខ័ណ្ឌនៃ IDEF5 អ្វីគ្រប់យ៉ាងប្រែទៅជាមិនពិបាកទេយ៉ាងហោចណាស់មូលដ្ឋាននៃប្រធានបទនេះត្រូវបានរៀនយ៉ាងសាមញ្ញ។ គោលបំណងនៃអត្ថបទរបស់ខ្ញុំគឺដើម្បីទាក់ទាញទស្សនិកជនថ្មីចំពោះបញ្ហានៃការវិភាគចំណេះដឹង ទោះបីតាមរយៈឧបករណ៍ IDEF5 បឋមជាភាសាក្រាហ្វិកក៏ដោយ។

បញ្ហានៃភាសាក្រាហ្វិកគឺថា ដោយមានជំនួយរបស់វា វាមិនអាចទៅរួចទេក្នុងការបង្កើតទំនាក់ទំនងមួយចំនួន (axioms) នៃ ontology យ៉ាងច្បាស់។ មានភាសាអត្ថបទ IDEF5 សម្រាប់រឿងនេះ។ ទោះជាយ៉ាងណាក៏ដោយ នៅដំណាក់កាលដំបូង ភាសាក្រាហ្វិកអាចមានប្រយោជន៍ខ្លាំងណាស់សម្រាប់ការបង្កើតតម្រូវការ ontology ដំបូង និងកំណត់វ៉ិចទ័រសម្រាប់ការបង្កើត ontology លម្អិតបន្ថែមទៀតនៅក្នុងភាសាអត្ថបទ IDEF5 ឬនៅក្នុងឧបករណ៍ផ្សេងទៀត។

ខ្ញុំសង្ឃឹមថាអត្ថបទនេះនឹងមានប្រយោជន៍សម្រាប់អ្នកចាប់ផ្តើមដំបូងក្នុងវិស័យនេះ ប្រហែលជាសូម្បីតែសម្រាប់អ្នកដែលបានដោះស្រាយបញ្ហានៃការវិភាគ ontological អស់រយៈពេលជាយូរមកហើយ។ សម្ភារៈសំខាន់ៗទាំងអស់នៅក្នុងអត្ថបទនេះត្រូវបានបកប្រែ និងបកស្រាយពីស្តង់ដារ IDEF5 ដែលខ្ញុំបានលើកឡើងពីមុន (ស្ទួន) ខ្ញុំក៏ត្រូវបានបំផុសគំនិតដោយសៀវភៅដ៏អស្ចារ្យពីអ្នកនិពន្ធមកពី NOU INTUIT (ភ្ជាប់ទៅសៀវភៅរបស់ពួកគេ។).

ប្រភព: www.habr.com

បន្ថែមមតិយោបល់