ដើម្បីទទួលបានប្រភពពិតប្រាកដ code securityក្រុមអភិវឌ្ឍន៍ត្រូវតែអនុម័តឧបករណ៍ស្កេន និងការអនុវត្ត shift-left ដែលការពារការប្រើប្រាស់ដោយគ្មានការអនុញ្ញាត និងបញ្ឈប់ការគំរាមកំហែងមុនពេលដែលកូដឈានដល់ការផលិត។ ប្រសិនបើអ្នកកំពុងសួរ តើខ្ញុំអាចការពារការប្រើប្រាស់កូដប្រភពរបស់ខ្ញុំដោយរបៀបណាចម្លើយចាប់ផ្តើមដោយភាពមើលឃើញ guardrailsនិងការការពារតាមពេលវេលាជាក់ស្តែង។ ដោយការរួមបញ្ចូលប្រភពដែលអាចទុកចិត្តបាន code security ដោយស្កេនឧបករណ៍ទៅក្នុងលំហូរការងាររបស់អ្នក អ្នកអាចរកឃើញចំណុចខ្វះខាតតក្កវិជ្ជា អាថ៌កំបាំងដែលបានអ៊ិនកូដ និងការពឹងផ្អែកដែលងាយរងគ្រោះតាំងពីដំបូង ដោយធានាថាភាពសុចរិតនៃកូដមិនត្រូវបានទុកចោលដោយចៃដន្យឡើយ។
តើប្រភពជាអ្វី Code Security និងហេតុអ្វីបានជាវាសំខាន់
ប្រសិនបើអ្នកសរសេរកូដ អ្នកទទួលខុសត្រូវលើសពីមុខងារទៅទៀត។ អ្នកក៏ទទួលខុសត្រូវចំពោះការការពារវាផងដែរ។ ប្រភព code security គឺនិយាយអំពីការធានាថាអ្វីដែលអ្នកសាងសង់នៅតែមានសុវត្ថិភាព ពី commit ដើម្បីដាក់ពង្រាយ។
និយាយឱ្យសាមញ្ញ វាមានន័យថា ការការពារអ្នកវាយប្រហារពីការចាក់បញ្ចូលចំណុចខ្សោយ លួចតក្កវិជ្ជា ឬការជ្រៀតជ្រែកជាមួយឃ្លាំងរបស់អ្នក។ ប៉ុន្តែវាទៅកាន់តែស៊ីជម្រៅ។ វាក៏គ្របដណ្តប់អ្វីៗគ្រប់យ៉ាងចាប់ពី ភាពត្រឹមត្រូវនៃកូដ ទៅ ការអនុវត្តការផ្លាស់ប្តូរទៅខាងឆ្វេង ដែលចាប់បានហានិភ័យតាំងពីដំបូង។
យ៉ាងណាមិញ អ្នកវាយប្រហារកម្ររង់ចាំការផលិតណាស់។ ពួកគេច្រើនតែវាយប្រហារនៅពេលដែលអ្នកមានការប្រុងប្រយ័ត្ន ដូចជាពេលដែលការសម្ងាត់ដែលបានអ៊ិនកូដរឹងមួយរអិលចូលទៅក្នុង... commit ឬការពឹងផ្អែកដ៏អាក្រក់លួចចូលទៅក្នុង package.json.
នោះហើយជាមូលហេតុដែលលំហូរការងារអភិវឌ្ឍន៍ដែលមានសុវត្ថិភាពត្រូវតែរួមបញ្ចូល៖
- ការរកឃើញដំបូងនៃចំណុចខ្វះខាត និងអាថ៌កំបាំង
- ការការពារប្រឆាំងនឹងការពឹងផ្អែកដែលត្រូវបានកែប្រែ
- ជាបន្ត ប្រភព code security ឧបករណ៍ស្កេន ដែលរត់នៅក្នុងរបស់អ្នក CI/CD
ក្នុងន័យផ្សេងទៀត, ប្រភព code security លែងជាជម្រើសទៀតហើយ។ វាមានសារៈសំខាន់សម្រាប់ក្រុមដែលចង់កសាងយ៉ាងឆាប់រហ័សដោយមិនចាំបាច់បើកទ្វារឱ្យមានការគំរាមកំហែងពិតប្រាកដ។
ការគំរាមកំហែងទូទៅចំពោះភាពសុចរិតនៃកូដប្រភព (និងរបៀបដែលអ្នកវាយប្រហារកេងប្រវ័ញ្ចពួកគេ)
ការការពារកូដប្រភពរបស់អ្នកមិនមែនគ្រាន់តែជាការសរសេរតក្កវិជ្ជាស្អាតស្អំនោះទេ។ ប្រសិនបើអ្នកកំពុងសួរ តើខ្ញុំអាចការពារការប្រើប្រាស់កូដប្រភពរបស់ខ្ញុំដោយរបៀបណា ដោយអ្នកដែលមិនមានការអនុញ្ញាត ចម្លើយចាប់ផ្តើមដោយការយល់ដឹងពីរបៀបដែលអ្នកវាយប្រហារគិត។ ពួកគេច្រើនតែកេងប្រវ័ញ្ចចំណុចខ្សោយនៅក្នុងវដ្តជីវិតអភិវឌ្ឍន៍របស់អ្នក មិនមែនត្រឹមតែកូដផលិតកម្មរបស់អ្នកនោះទេ។ ទាំងនេះគឺជាការគំរាមកំហែងទូទៅបំផុតចំពោះភាពសុចរិតនៃកូដប្រភពដែលអ្នកអភិវឌ្ឍន៍គ្រប់រូបគួរតែដោះស្រាយតាំងពីដំបូង។
១. អាថ៌កំបាំងដែលលេចធ្លាយនៅក្នុង Commits
ថូខឹន សោ API និងព័ត៌មានសម្ងាត់ ជារឿយៗទទួលបាន commitច្រឡំ។ រឿងនេះកើតឡើងជាញឹកញាប់នៅក្នុង .env ឯកសារ ស្គ្រីបបំបាត់កំហុស ឬករណីសាកល្បងដែលត្រូវបានបំភ្លេចចោល។ នៅពេលដែលត្រូវបានលាតត្រដាង អ្នកវាយប្រហារអាចប្រើអាថ៌កំបាំងទាំងនេះដើម្បីចូលប្រើសេវាកម្ម cloud ឬប្រព័ន្ធខាងក្នុង។ ពួកគេស្កេនឃ្លាំងសាធារណៈជាបន្តបន្ទាប់ ហើយធ្វើសកម្មភាពយ៉ាងឆាប់រហ័សនៅពេលដែលពួកគេរកឃើញអ្វីដែលមានប្រយោជន៍។
2. ការពឹងផ្អែកដែលត្រូវបានកែប្រែ ឬលួចយក
ការពឹងផ្អែកប្រភពបើកចំហគឺជាចំណុចចូលទូទៅមួយ។ អ្នកវាយប្រហារអាចធ្វើឱ្យខូចគណនីអ្នកថែទាំ ឬបោះពុម្ពផ្សាយការអាប់ដេតព្យាបាទដែលហាក់ដូចជាស្របច្បាប់។ បើគ្មានការខ្ទាស់កំណែយ៉ាងតឹងរ៉ឹង ឬការស្កេនអាកប្បកិរិយាទេ ការបង្កើតបន្ទាប់របស់អ្នកអាចនាំចូលមេរោគដោយគ្មានការព្រមាន។
3. CI/CD Pipeline ការចាក់ថ្នាំ
CI/CD ប្រព័ន្ធនានាគឺជាគោលដៅចម្បង។ ប្រសិនបើអ្នក pipeline រួមទាំងស្គ្រីបដែលមិនមានសុវត្ថិភាព សកម្មភាពភាគីទីបីដែលមិនបានផ្ទៀងផ្ទាត់ ឬការពឹងផ្អែកដែលមិនបានខ្ទាស់ អ្នកវាយប្រហារអាចចាក់កូដដែលដំណើរការកំឡុងពេលបង្កើត។ ការវាយប្រហារទាំងនេះច្រើនតែរំលងកូដប្រភពទាំងស្រុង ហើយធ្វើឱ្យប្រព័ន្ធរបស់អ្នកចុះខ្សោយតាមរយៈស្វ័យប្រវត្តិកម្មដែលមិនមានសុវត្ថិភាព។
4. អសន្តិសុខ Pull Requests និងការរួមបញ្ចូលគ្នាដោយងងឹតងងល់
កូដដែលមានហានិភ័យអាចលាក់ខ្លួននៅពីក្រោយវាក្យសម្ព័ន្ធស្អាត។ ប្រសិនបើក្រុមរំលងការពិនិត្យឡើងវិញដោយមិត្តភក្ដិ ឬការត្រួតពិនិត្យការវិភាគឋិតិវន្ត តក្កវិជ្ជាដ៏គ្រោះថ្នាក់អាចបញ្ចូលទៅក្នុងផលិតកម្ម។ បន្ទាប់មកអ្នកវាយប្រហាររកមើលចំណុចខ្វះខាតទាំងនេះនៅក្នុងចំណុចបញ្ចប់ដែលបានដាក់ពង្រាយ ជាពិសេសនៅក្នុងការគ្រប់គ្រងការចូលប្រើ និងលំហូរផ្ទៀងផ្ទាត់។
ការអនុវត្តល្អបំផុតដើម្បីការពារការប្រើប្រាស់ដោយគ្មានការអនុញ្ញាតនៃកូដប្រភពរបស់អ្នក
ដើម្បីកាត់បន្ថយការប៉ះពាល់ និងពង្រឹងប្រភពរបស់អ្នក code security និងភាពសុចរិតនៃកូដ សូមអនុវត្តតាមការអនុវត្តល្អបំផុតទាំងនេះនៅទូទាំងវដ្តជីវិតអភិវឌ្ឍន៍របស់អ្នក។ ប្រសិនបើអ្នកកំពុងឆ្ងល់ តើខ្ញុំអាចការពារការប្រើប្រាស់កូដប្រភពរបស់ខ្ញុំដោយរបៀបណា បើគ្មានការអនុញ្ញាតទេ បញ្ជីត្រួតពិនិត្យនេះគឺជាចំណុចចាប់ផ្តើមរបស់អ្នក។
១. ប្រើប្រាស់ប្រភព Code Security ឧបករណ៍ស្កេននៅលើគ្រប់ Commit
Run SAST ឧបករណ៍នៅនីមួយៗ commit or pull requestស្កេនរកចំណុចខ្វះខាតខាងតក្កវិជ្ជា អាថ៌កំបាំង និងមុខងារមិនមានសុវត្ថិភាព មុនពេលកូដទៅដល់សាខាសំខាន់របស់អ្នក។ ផ្តល់អាទិភាពដល់ឧបករណ៍ដែលផ្តល់លទ្ធផលដែលអាចអនុវត្តបាន ជាមួយនឹងលទ្ធផលវិជ្ជមានមិនពិតតិចតួចបំផុត។
២. អនុវត្តការការពារសាខា និងទាមទារការពិនិត្យឡើងវិញដោយមិត្តភក្ដិ
បើកច្បាប់ការពារសាខានៅក្នុងការកំណត់ឃ្លាំងរបស់អ្នក។ តម្រូវឱ្យមានអ្នកពិនិត្យមើលយ៉ាងហោចណាស់ម្នាក់ក្នុងមួយ pull request និងរារាំងការរុញដោយផ្ទាល់ទៅកាន់សាខាដែលត្រូវបានការពារ។ នេះការពារការផ្លាស់ប្តូរដែលគ្មានការអនុញ្ញាត និងធានានូវការត្រួតពិនិត្យ។
៣. ស្កេនភាពអាស្រ័យជាមួយនឹងការត្រួតពិនិត្យលទ្ធភាពទទួលបាន និងលទ្ធភាពកេងប្រវ័ញ្ច
ប្រើប្រភព code security ឧបករណ៍ស្កេនដែលលើសពី CVEs។ ជ្រើសរើស SCA ម៉ាស៊ីនដែលវាយតម្លៃថាតើការពឹងផ្អែកដែលងាយរងគ្រោះត្រូវបានហៅនៅក្នុងកូដរបស់អ្នកឬអត់ និងថាតើផ្លូវទាំងនោះអាចកេងប្រវ័ញ្ចបានកម្រិតណា។
៤. បង្វិលអាថ៌កំបាំងដោយស្វ័យប្រវត្តិ ហើយស្កេនរកការលេចធ្លាយ
រក្សាទុកព័ត៌មានសម្ងាត់ និងសញ្ញាសម្ងាត់ទាំងអស់នៅក្នុងកម្មវិធីគ្រប់គ្រងសម្ងាត់ដែលមានសុវត្ថិភាព។ កំណត់គោលការណ៍បង្វិលដោយស្វ័យប្រវត្តិ ហើយស្កេនឯកសារពេញលេញរបស់អ្នក ប្រវត្តិ Gitស្លាក និងស្រទាប់កុងតឺន័រសម្រាប់អាថ៌កំបាំងដែលបានអ៊ិនកូដរឹង ឬការលេចធ្លាយដោយចៃដន្យ។
៥. សវនកម្មរបស់អ្នក CI/CD Pipelines សម្រាប់ឥរិយាបថប្រថុយប្រថាន
ពិនិត្យឡើងវិញរបស់អ្នក pipelines ជាកូដ។ ពិនិត្យមើលស្គ្រីបដែលមិនមានសុវត្ថិភាព ការពឹងផ្អែកដែលមិនបានខ្ទាស់ និងសកម្មភាពភាគីទីបីដែលទាញចេញពីបញ្ជីឈ្មោះដែលមិនស្គាល់។ អនុវត្ត CI/CD guardrails ដែលបំបែកការកសាងសកម្មភាពគួរឱ្យសង្ស័យ។ ជារឿយៗអ្នកគំរាមកំហែងកេងប្រវ័ញ្ច pipeline ចំណុចខ្សោយ មិនមែនគ្រាន់តែកូដប្រភពនោះទេ។ ជំហាននេះការពារភាពសុចរិតនៃដំណើរការចែកចាយទាំងមូលរបស់អ្នក។
ចង់រំលឹកឡើងវិញអំពីអត្ថន័យពិតនៃកម្មវិធីដែលមានសុវត្ថិភាព?
សូមពិនិត្យមើលសុវត្ថិភាពកម្មវិធី៖ ត្រឡប់ទៅមូលដ្ឋានគ្រឹះវិញ ហើយស្វែងយល់ពីរបៀបដែលការអនុវត្តជាមូលដ្ឋាននៅតែការពារបច្ចេកវិទ្យាទំនើប pipelines.
ឧទាហរណ៍ក្នុងពិភពពិត៖ ពេលដែលប្រភព Code Security ការបរាជ័យនៅក្នុង CI Pipeline
ឧបមាថាអ្នកអភិវឌ្ឍន៍ម្នាក់បន្ថែមកញ្ចប់ប្រភពបើកចំហដែលមើលទៅពេញនិយមក្នុងអំឡុងពេលធ្វើបច្ចុប្បន្នភាពជាប្រចាំ៖
"dependencies": { "net-utils-helper": "1.2.3" } នៅពេលមើលដំបូង អ្វីៗហាក់ដូចជាមានសុវត្ថិភាព។ ទេ។ CVEs ត្រូវបានរាយបញ្ជី។ កំណែត្រូវបានខ្ទាស់។ repo មើលទៅស្របច្បាប់។
ទោះយ៉ាងណាក៏ដោយ អ្វីដែលអ្នកអភិវឌ្ឍន៍ខកខានគឺ៖
- កញ្ចប់នេះមានស្គ្រីបក្រោយការដំឡើងដែលផ្ញើប្រព័ន្ធដោយស្ងាត់ៗ
SSH_PRIVATE_KEYទៅម៉ាស៊ីនមេពីចម្ងាយ។ - ស្គ្រីបធ្វើឱ្យសកម្មតែនៅក្នុងបរិស្ថាន CI ប៉ុណ្ណោះ ដោយពិនិត្យមើល
CI=trueនៅក្នុងអថេរបរិស្ថាន។ - ឧបករណ៍វិភាគឋិតិវន្តបរាជ័យក្នុងការដាក់ទង់សម្គាល់កញ្ចប់ ព្រោះវាមិនត្រូវគ្នានឹងហត្ថលេខា CVE ណាមួយដែលគេស្គាល់។
ប្រភពអ្វីម្ល៉េះ Code Security ឧបករណ៍ស្កេនគួរធ្វើ
នេះគឺជាកន្លែងដែលទំនើប ប្រភព code security ឧបករណ៍ស្កេន ដូច ស៊ីហ្គេនី ចូលមក៖
- ពួកគេ ស្កេនកំណែពិតប្រាកដ បានបន្ថែមមិនត្រឹមតែឈ្មោះទេ។
- ពួកគេ វិភាគឥរិយាបថកញ្ចប់រួមទាំងស្គ្រីបដំឡើង គំរូចូលប្រើឯកសារ និងការហៅទូរស័ព្ទតាមបណ្តាញ។
- ពួកគេ រកឃើញចេតនាអាក្រក់ទោះបីជាកញ្ចប់នេះមិនមាន CVE ដែលបានរាយការណ៍ក៏ដោយ។
- ពួកគេ រារាំងការសាងសង់ នៅក្នុងស៊ីអ៊ី pipeline មុនពេលការពឹងផ្អែកដែលរងការសម្របសម្រួលដំណើរការ។
លទ្ធផល
- ទ្វារក្រោយមិនដែលប្រតិបត្តិទេ។
- អាថ៌កំបាំងមិនដែលលេចធ្លាយឡើយ។
- ក្រុមការងារជៀសវាងការសម្របសម្រួលខ្សែសង្វាក់ផ្គត់ផ្គង់។
ឧទាហរណ៍នេះបង្ហាញពីមូលហេតុដែលការពឹងផ្អែកតែលើ CVEs ឬការត្រួតពិនិត្យដោយដៃលែងគ្រប់គ្រាន់ទៀតហើយ។ ដើម្បីការពារភាពសុចរិតនៃកូដ និងការពារកូដព្យាបាទពីការចូលទៅក្នុងរបស់អ្នក pipelineអ្នកត្រូវការឧបករណ៍ឆ្លាតវៃជាងមុនជាមួយនឹងការវិភាគអាកប្បកិរិយា និងពេលវេលាជាក់ស្តែង CI/CD ការពង្រឹង
របៀបដែល Xygeni SAST ធានាសុវត្ថិភាពកូដប្រភពពីខាងក្នុងទៅខាងក្រៅ
ច្រើនបំផុត SAST ឧបករណ៍ធ្វើឱ្យការអភិវឌ្ឍយឺតយ៉ាវ ឬកប់ក្រុមក្នុងលទ្ធផលវិជ្ជមានមិនពិត។ Xygeni ប្រើវិធីសាស្រ្តផ្សេងវាផ្តល់នូវការវិភាគឋិតិវន្តដែលផ្តោតលើអ្នកអភិវឌ្ឍន៍ជាមុន ដែលផ្តោតលើអ្វីដែលសំខាន់ពិតប្រាកដ៖ គុណវិបត្តិដែលអាចកេងប្រវ័ញ្ចបាននៅក្នុងផ្លូវកូដពិតប្រាកដ។
នេះជារបៀបដែល Xygeni ការពារកូដប្រភពរបស់អ្នកពីខាងក្នុងទៅខាងក្រៅ៖
- ស្កេនរាល់ Pull Request ក្នុងពេលវេលាពិត
Xygeni វិភាគកូដនៅពេលដែល PR បើក។ វាតាមដានលំហូរប្រតិបត្តិ កំណត់គំរូងាយរងគ្រោះ និងបន្លិចបញ្ហាមុនពេលពួកវាទៅដល់សាខាសំខាន់។ - ធ្វើតាមលំហូរទិន្នន័យជាក់ស្តែង
ជំនួសឲ្យការពិនិត្យមើលលំនាំទូទៅ Xygeni តាមដានការបញ្ចូលពីប្រភពទៅអាងស្តុក។ នេះធានាថាវាសម្គាល់តែភាពងាយរងគ្រោះដែលអាចចូលទៅដល់បាន និងពាក់ព័ន្ធប៉ុណ្ណោះ។ - ផ្តល់ឱ្យអ្នកអភិវឌ្ឍន៍នូវរូបភាពពេញលេញ
បញ្ហានីមួយៗរួមមានស្លាក CWE កម្រិតភាពធ្ងន់ធ្ងរ បរិបទនៃការកេងប្រវ័ញ្ច និងទីតាំងឯកសារ។ តាមវិធីនេះ អ្នកអភិវឌ្ឍន៍អាចយល់ និងជួសជុលបញ្ហាដោយមិនចាំបាច់ទាយបន្ថែម។ - ផ្តល់ការជួសជុលដោយមិនបាត់បង់ការគ្រប់គ្រង
នៅពេលដែលអាចធ្វើទៅបាន Xygeni ស្នើ AutoFix ដោយផ្ទាល់នៅក្នុង pull requestអ្នកអភិវឌ្ឍន៍ពិនិត្យមើលបំណះ អនុម័តវា និងទទួលបន្ទុកទាំងស្រុងលើអ្វីដែលត្រូវបានបញ្ចូលគ្នា។ - ការពារការជួសជុលដែលមានហានិភ័យពីការណែនាំកំហុសថ្មីៗ
ប្រសិនបើបំណះណាមួយណែនាំពីភាពងាយរងគ្រោះថ្មី ឬបង្កើតហានិភ័យមុខងារ Xygeni នឹងជូនដំណឹងដល់ក្រុមការងារមុនពេលការផ្លាស់ប្តូរត្រូវបានបញ្ចូលគ្នា។ - បញ្ឈប់ការបញ្ចូលគ្នាដែលមិនមានសុវត្ថិភាពដោយស្វ័យប្រវត្តិ
អ្នកអាចកំណត់គោលការណ៍សុវត្ថិភាពដែលរារាំងការរួមបញ្ចូលគ្នានៅពេលដែលកំហុសសំខាន់ៗត្រូវបានរកឃើញ។ វាការពារមូលដ្ឋានកូដរបស់អ្នក ខណៈពេលដែលរក្សាលំហូរការងារឱ្យរលូន។
ជាមួយ Xygeni ក្រុមរបស់អ្នកទទួលបានការវិភាគឋិតិវន្តរហ័ស ត្រឹមត្រូវ និងយល់ដឹងពីបរិបទ។ អ្នករកឃើញការគំរាមកំហែងពិតប្រាកដតាំងពីដំបូង ជួសជុលវាដោយទំនុកចិត្ត និងរក្សាភាពសុចរិតនៃកូដដោយមិនធ្វើឱ្យការចេញផ្សាយរបស់អ្នកយឺតយ៉ាវ។
សេចក្តីសន្និដ្ឋាន៖ បង្កើតលឿន រក្សាសុវត្ថិភាព និងជាម្ចាស់កូដរបស់អ្នក
ប្រភព code security លែងជាជម្រើសទៀតហើយ។ ប្រសិនបើអ្នកកំពុងឆ្ងល់ តើខ្ញុំអាចការពារការប្រើប្រាស់កូដប្រភពរបស់ខ្ញុំដោយរបៀបណា បើគ្មានការអនុញ្ញាតទេ ចម្លើយស្ថិតនៅលើភាពមើលឃើញ ស្វ័យប្រវត្តិកម្ម និងអន្តរាគមន៍ដំបូង។ អ្នកវាយប្រហារលែងរង់ចាំការផលិតទៀតហើយ។ ពួកគេកេងចំណេញពីកំហុសក្នុង pull requestsកញ្ចប់ដែលត្រូវបានកែប្រែ និងកំណត់រចនាសម្ព័ន្ធមិនត្រឹមត្រូវ pipelines.
នោះហើយជាមូលហេតុដែលក្រុមទំនើបៗបង្កប់ ប្រភព code security ឧបករណ៍ស្កេន ចូលទៅក្នុងលំហូរការងារអភិវឌ្ឍន៍របស់ពួកគេ។ ឧបករណ៍ដូចជា Xygeni ផ្តល់ឱ្យអ្នកអភិវឌ្ឍន៍នូវការការពារពេលវេលាជាក់ស្តែងពីកំហុសឡូជីខល ការពឹងផ្អែកដែលមានគំនិតអាក្រក់ អាថ៌កំបាំងដែលលេចធ្លាយ និង CI/CD ការកេងប្រវ័ញ្ច ទាំងអស់ដោយមិនធ្វើឱ្យការដឹកជញ្ជូនយឺតយ៉ាវ។
ដើម្បីសាងសង់បានលឿន និងរក្សាសុវត្ថិភាព អ្នកត្រូវតែរំកិលទៅខាងឆ្វេង។ បញ្ចូលការស្កេនសុវត្ថិភាពទៅក្នុងរាល់ commitរាល់ការបញ្ចូលគ្នា និងរាល់ការបង្កើត។ តាមវិធីនេះ ក្រុមរបស់អ្នករក្សាការគ្រប់គ្រងកូដ ហានិភ័យ និងការចេញផ្សាយ។ អ្វីដែលសំខាន់បំផុតនោះគឺ អ្នកបញ្ឈប់ការគំរាមកំហែងមុនពេលពួកវាឈានដល់ការផលិត។
ឥឡូវនេះជាពេលវេលាដើម្បីពង្រឹងកូដប្រភពរបស់អ្នកពីខាងក្នុងទៅខាងក្រៅ។
ត្រៀមខ្លួនជាស្រេចដើម្បីចាប់ផ្តើម? រុករក ការសាកល្បងឥតគិតថ្លៃរបស់ Xygeni




