Hacker News

Spring Boot Done Right: មេរៀនពី 400-Module Codebase

មតិយោបល់

1 min read Via medium.com

Mewayz Team

Editorial Team

Hacker News
<រាងកាយ>

Spring Boot Done Right: មេរៀនពី 400-Module Codebase

ការសន្យារបស់ Spring Boot គឺទាក់ទាញ៖ ការអភិវឌ្ឍន៍កម្មវិធីយ៉ាងឆាប់រហ័ស ការកំណត់រចនាសម្ព័ន្ធសាមញ្ញ និងប្រព័ន្ធអេកូដ៏សម្បូរបែប។ វាអនុញ្ញាតឱ្យក្រុមតូចៗបង្កើតសេវាកម្មមីក្រូដ៏មានថាមពលជាមួយនឹងល្បឿនមិនគួរឱ្យជឿ។ ប៉ុន្តែតើមានអ្វីកើតឡើងនៅពេលដែលគំរូដំបូងនោះវិវត្តទៅជាវេទិកាសហគ្រាសដ៏ធំទូលាយ? នៅពេលដែលសេវាកម្មមួយក្តាប់តូចរបស់អ្នកគុណទៅជា monorepo ដែលមានម៉ូឌុលពឹងផ្អែកគ្នាទៅវិញទៅមករាប់រយ? នេះគឺជាកន្លែងដែលការធ្វើតេស្តពិតប្រាកដនៃការសម្រេចចិត្តស្ថាបត្យកម្មរបស់អ្នកចាប់ផ្តើម។ យើងបានរុករកទឹកពិតប្រាកដទាំងនេះ ហើយមេរៀនដែលបានរៀនពីការគ្រប់គ្រង 400-module Spring Boot codebase គឺជាថ្នាក់មេក្នុងការអភិវឌ្ឍន៍កម្មវិធីប្រកបដោយនិរន្តរភាព។

សសរស្តម្ភនៃរចនាសម្ព័ន្ធដែលអាចធ្វើមាត្រដ្ឋានបាន

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

ការគ្រប់គ្រង​ភាពអាស្រ័យ

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

ស្វ័យប្រវត្តិកម្មជាឆ្អឹងខ្នងនៃភាពស៊ីសង្វាក់គ្នា

កំហុសរបស់មនុស្សគឺជៀសមិនរួច ប៉ុន្តែនៅក្នុងមូលដ្ឋានកូដធំ កំហុសតូចមួយអាចមានផលប៉ះពាល់យ៉ាងខ្លាំង។ យើងបានរៀនជឿជាក់លើស្វ័យប្រវត្តិកម្មលើការទន្ទេញចាំ។ រាល់ការប្តេជ្ញាចិត្តបានធ្វើឱ្យថ្មនៃការត្រួតពិនិត្យដោយស្វ័យប្រវត្តិដែលអនុវត្តស្តង់ដារស្ថាបត្យកម្មរបស់យើង។ នេះ​រួម​មាន៖

  • ការវិភាគកូដឋិតិវន្ត ដើម្បីអនុវត្តស្តង់ដារការសរសេរកូដ និងរកឃើញការប្រឆាំងលំនាំ។
  • ការ​ធ្វើ​តេស្ត​ដោយ​ស្វ័យ​ប្រវត្តិ​សម្រាប់​គ្រប់​ម៉ូឌុល ដោយ​ធានា​ថា​គ្មាន​ការ​ផ្លាស់​ប្តូរ​បាន​បំផ្លាញ​កិច្ចសន្យា​ដែល​មាន​ស្រាប់។
  • ការត្រួតពិនិត្យភាពអាស្រ័យដែលដាក់ទង់កំណែផ្ទាល់ណាមួយដែលបដិសេធមិនមកពី BOM កណ្តាល។
  • ពិនិត្យភាពត្រូវគ្នា API យ៉ាងតឹងរឹងសម្រាប់បណ្ណាល័យដែលបានចែករំលែក ដើម្បីការពារការបំបែកម៉ូឌុលចុះក្រោម។

អភិបាលកិច្ចដោយស្វ័យប្រវត្តិនេះគឺជាកាវដែលរក្សាប្រព័ន្ធអេកូស្មុគ្រស្មាញរបស់យើងជាមួយគ្នា ដែលអនុញ្ញាតឱ្យអ្នកអភិវឌ្ឍន៍ផ្លាស់ទីបានយ៉ាងលឿនដោយមិនធ្វើឱ្យខូចអ្វីៗសម្រាប់អ្នកដទៃ។

តួនាទីនៃវេទិកាបង្រួបបង្រួម

ទោះបីជាមានស្ថាបត្យកម្ម និងស្វ័យប្រវត្តិកម្មដ៏ល្អឥតខ្ចោះក៏ដោយ អ្នកអភិវឌ្ឍន៍នៅតែត្រូវការផ្លាស់ប្តូរបរិបទរវាងឧបករណ៍រាប់មិនអស់ - ឃ្លាំង Git បំពង់បង្ហូរ CI/CD ឧបករណ៍តាមដានបញ្ហា និងផ្ទាំងគ្រប់គ្រងការដាក់ឱ្យប្រើប្រាស់។ ការបែកខ្ញែកនេះបង្កើតបន្ទុកការយល់ដឹង និងបន្ថយការដឹកជញ្ជូន។ នេះគឺជាបញ្ហាដែលប្រព័ន្ធប្រតិបត្តិការអាជីវកម្មម៉ូឌុលដូចជា Mewayz ត្រូវបានបង្កើតឡើងដើម្បីដោះស្រាយ។ ដោយផ្តល់នូវវេទិកាបង្រួបបង្រួមដែលរួមបញ្ចូលវដ្តនៃការអភិវឌ្ឍន៍ទាំងមូល Mewayz អនុញ្ញាតឱ្យក្រុមផ្តោតលើការកសាងលក្ខណៈពិសេសនៅក្នុងម៉ូឌុលដែលបានកំណត់យ៉ាងល្អរបស់ពួកគេ ជាជាងការចំបាប់ជាមួយនឹងការរួមបញ្ចូលឧបករណ៍។ វាជាស្រទាប់ប្រតិបត្តិការដែលបំពេញបន្ថែមមូលដ្ឋានកូដស្អាត ដោយបង្វែរបណ្តុំនៃម៉ូឌុលទៅជារោងចក្រផលិតកម្មវិធីដ៏ស្អិតរមួត និងមានប្រសិទ្ធភាព។

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →
គោលដៅគឺមិនមែនគ្រាន់តែដើម្បីកសាងប្រព័ន្ធធំមួយ; វា​គឺ​ជា​ការ​បង្កើត​ប្រព័ន្ធ​ដែល​នៅ​តែ​អាច​បត់បែន​បាន​និង​អាច​យល់​បាន​ទោះ​បី​ជា​វា​រីក​ធំ។ ស្ថាបត្យកម្មត្រូវតែជាទ្រព្យសកម្ម មិនមែនជាការទទួលខុសត្រូវទេ។

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

សំណួរដែលគេសួរញឹកញាប់

Spring Boot Done Right: មេរៀនពី 400-Module Codebase

ការសន្យារបស់ Spring Boot គឺទាក់ទាញ៖ ការអភិវឌ្ឍន៍កម្មវិធីយ៉ាងឆាប់រហ័ស ការកំណត់រចនាសម្ព័ន្ធសាមញ្ញ និងប្រព័ន្ធអេកូដ៏សម្បូរបែប។ វាអនុញ្ញាតឱ្យក្រុមតូចៗបង្កើតសេវាកម្មមីក្រូដ៏មានថាមពលជាមួយនឹងល្បឿនមិនគួរឱ្យជឿ។ ប៉ុន្តែតើមានអ្វីកើតឡើងនៅពេលដែលគំរូដំបូងនោះវិវត្តទៅជាវេទិកាសហគ្រាសដ៏ធំទូលាយ? នៅពេលដែលសេវាកម្មមួយក្តាប់តូចរបស់អ្នកគុណទៅជា monorepo ដែលមានម៉ូឌុលពឹងផ្អែកគ្នាទៅវិញទៅមករាប់រយ? នេះគឺជាកន្លែងដែលការធ្វើតេស្តពិតប្រាកដនៃការសម្រេចចិត្តស្ថាបត្យកម្មរបស់អ្នកចាប់ផ្តើម។ យើងបានរុករកទឹកពិតប្រាកដទាំងនេះ ហើយមេរៀនដែលបានរៀនពីការគ្រប់គ្រង 400-module Spring Boot codebase គឺជាថ្នាក់មេក្នុងការអភិវឌ្ឍន៍កម្មវិធីប្រកបដោយនិរន្តរភាព។

សសរស្តម្ភនៃរចនាសម្ព័ន្ធដែលអាចធ្វើមាត្រដ្ឋានបាន

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

គ្រប់គ្រង​ភាព​អាស្រ័យ​បាន​ស្ទាត់ជំនាញ

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

ស្វ័យប្រវត្តិកម្មជាឆ្អឹងខ្នងនៃភាពស៊ីសង្វាក់គ្នា

កំហុសរបស់មនុស្សគឺជៀសមិនរួច ប៉ុន្តែនៅក្នុងមូលដ្ឋានកូដធំ កំហុសតូចមួយអាចមានផលប៉ះពាល់យ៉ាងខ្លាំង។ យើងបានរៀនជឿជាក់លើស្វ័យប្រវត្តិកម្មលើការទន្ទេញចាំ។ រាល់ការប្តេជ្ញាចិត្តបានធ្វើឱ្យថ្មនៃការត្រួតពិនិត្យដោយស្វ័យប្រវត្តិដែលអនុវត្តស្តង់ដារស្ថាបត្យកម្មរបស់យើង។ នេះ​រួម​មាន៖

តួនាទីនៃវេទិកាបង្រួបបង្រួម

ទោះបីជាមានស្ថាបត្យកម្ម និងស្វ័យប្រវត្តិកម្មដ៏ល្អឥតខ្ចោះក៏ដោយ អ្នកអភិវឌ្ឍន៍នៅតែត្រូវការផ្លាស់ប្តូរបរិបទរវាងឧបករណ៍រាប់មិនអស់ - ឃ្លាំង Git បំពង់បង្ហូរ CI/CD ឧបករណ៍តាមដានបញ្ហា និងផ្ទាំងគ្រប់គ្រងការដាក់ឱ្យប្រើប្រាស់។ ការបែកខ្ញែកនេះបង្កើតបន្ទុកការយល់ដឹង និងបន្ថយការដឹកជញ្ជូន។ នេះគឺជាបញ្ហាដែលប្រព័ន្ធប្រតិបត្តិការអាជីវកម្មម៉ូឌុលដូចជា Mewayz ត្រូវបានបង្កើតឡើងដើម្បីដោះស្រាយ។ ដោយផ្តល់នូវវេទិកាបង្រួបបង្រួមដែលរួមបញ្ចូលវដ្តនៃការអភិវឌ្ឍន៍ទាំងមូល Mewayz អនុញ្ញាតឱ្យក្រុមផ្តោតលើការកសាងលក្ខណៈពិសេសនៅក្នុងម៉ូឌុលដែលបានកំណត់យ៉ាងល្អរបស់ពួកគេ ជាជាងការចំបាប់ជាមួយនឹងការរួមបញ្ចូលឧបករណ៍។ វាជាស្រទាប់ប្រតិបត្តិការដែលបំពេញបន្ថែមមូលដ្ឋានកូដស្អាត ដោយបង្វែរបណ្តុំនៃម៉ូឌុលទៅជារោងចក្រផលិតកម្មវិធីដ៏ស្អិតរមួត និងមានប្រសិទ្ធភាព។

បង្កើតប្រព័ន្ធប្រតិបត្តិការអាជីវកម្មរបស់អ្នកនៅថ្ងៃនេះ

ពីអ្នកឯករាជ្យរហូតដល់ភ្នាក់ងារ មេវេសផ្តល់ថាមពលដល់អាជីវកម្ម 138,000+ ជាមួយនឹងម៉ូឌុលរួមបញ្ចូលគ្នាចំនួន 208 ។ ចាប់ផ្តើមដោយឥតគិតថ្លៃ ដំឡើងកំណែនៅពេលអ្នករីកចម្រើន។

បង្កើតគណនីឥតគិតថ្លៃ →

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime