វិស្វករលីនេអ៊ែរ Mufeez Amjad បានបោះពុម្ភផ្សាយគណនីលម្អិតអំពីរបៀបដែលក្រុមហ៊ុនបានដំណើរការឡើងវិញនូវបំពង់បញ្ចូលគ្នាជាបន្តបន្ទាប់របស់ខ្លួន បន្ទាប់ពីភ្នាក់ងារសរសេរកូដ AI បានប្រែក្លាយ CI ទៅជាឧបសគ្គដ៏អាក្រក់បំផុតរបស់ខ្លួន ដោយកាត់បន្ថយការរង់ចាំការស្នើសុំពីច្រើនជាងប្រាំមួយនាទីមកត្រឹមជាងប្រាំ ខណៈដែលឈុតសាកល្បងរបស់វាជិតបួនដងចាប់តាំងពីដើមឆ្នាំមក។

ការបង្ហោះដែលត្រូវបានបោះពុម្ពនៅលើប្លុកវិស្វកម្មរបស់ Linear នៅថ្ងៃទី 21 ខែកញ្ញា បានចាប់ផ្តើមដូចដែលរឿងទាំងនេះតែងតែធ្វើ ដោយមានសំបុត្រ terse ពីខាងលើ។ កាលពីដើមឆ្នាំនេះ Amjad បានបើក Linear ដើម្បីរកឱ្យឃើញថា Tuomas ដែលជា CTO របស់ក្រុមហ៊ុនបានផ្ដល់ឱ្យគាត់នូវបញ្ហាមួយដែលមានចំណងជើងថា "តម្លៃ CI គឺខ្ពស់" ហើយបានសុំឱ្យគាត់ធ្វើ CI លឿនជាងមុនខណៈពេលដែលគាត់នៅវា។ សម្រាប់បរិបទបន្ថែមអំពីរឿងនេះ សូមមើល [ការគ្របដណ្តប់ឧស្សាហកម្ម AI] (https://aibuzzwire.news) ដែលកំពុងដំណើរការរបស់យើង។

នៅពេលភ្នាក់ងារហួសសុពលភាព

បញ្ហា​គឺ​ជា​រចនាសម្ព័ន្ធ​មិនមែន​ដោយ​ចៃដន្យ​ទេ។ លោក Amjad បានសរសេរថា "ភ្នាក់ងារបានធ្វើឱ្យវាកាន់តែលឿនក្នុងការបញ្ជូនកូដ" ប៉ុន្តែការធ្វើឱ្យមានសុពលភាពនៃការផ្លាស់ប្តូរទាំងនោះមិនបានរក្សាអត្រាដូចគ្នានោះទេ។ រាល់សំណើទាញនៅតែត្រូវឆ្លងកាត់ CI ដូច្នេះនៅពេលដែលការអភិវឌ្ឍន៍បង្កើនល្បឿន CI ក្លាយជាចំណុចទាញ - ជំរុញការចំណាយលើហេដ្ឋារចនាសម្ព័ន្ធ ហើយទុកឱ្យអ្នកអភិវឌ្ឍន៍ និងភ្នាក់ងាររបស់ពួកគេរង់ចាំមតិកែលម្អយូរជាងនេះ។

លីនេអ៊ែរត្រូវបានធ្វើឱ្យប្រសើរឡើងសម្រាប់រង្វាស់ពីរ៖ រយៈពេលដែល PR រង់ចាំនៅលើ CI និងរយៈពេលដែលវាប្រើប្រាស់។ លទ្ធផលបន្ទាប់ពីការងារជាច្រើនខែ៖ ទោះបីជាឈុតសាកល្បងស្ទើរតែបួនដងចាប់តាំងពីខែមករាក៏ដោយ ពេលវេលារង់ចាំការស្នើសុំបានធ្លាក់ចុះពីជាងប្រាំមួយនាទីមកត្រឹមតែជាង 5 ហើយពេលវេលារត់ក្នុងមួយការធ្វើតេស្តត្រូវបានកាត់បន្ថយប្រហែលពាក់កណ្តាល។

ការងារនេះបានបែងចែកជាបួនប្រភេទយ៉ាងទូលំទូលាយ៖ ធ្វើឱ្យប្រសើរឡើងនូវហេដ្ឋារចនាសម្ព័ន្ធ និងឧបករណ៍, ធ្វើឱ្យការងារដែលបិទទ្វារការងារផ្សេងទៀត, កាត់បន្ថយការដំឡើងម្តងហើយម្តងទៀត និងធ្វើឱ្យការអនុវត្តការសាកល្បងកាន់តែមានប្រសិទ្ធភាព។ មូលដ្ឋានកូដរបស់ Linear គឺជា TypeScript ជាចម្បង ប៉ុន្តែការបង្កើនប្រសិទ្ធភាពជាច្រើនអនុវត្តលើភាសា និងបណ្តាញឧបករណ៍។

ម៉ាស៊ីនលឿនជាងមុន និងម៉ាស៊ីនចងក្រងដើម

ការកើនឡើងដំបូងបំផុតមួយចំនួន ស្ទើរតែគ្មានការបង្កើនប្រសិទ្ធភាពនៃ CI ខ្លួនឯងទេ។ ការផ្ទេរបន្ទុកការងារចេញពី GitHub Actions ទៅកាន់ភាគីទីបីដែលមានស៊ីភីយូលឿនជាងមុន ការផ្ទុកដែលដំណើរការកាន់តែខ្ពស់ និងហេដ្ឋារចនាសម្ព័ន្ធឃ្លាំងសម្ងាត់ប្រសើរជាងមុនត្រូវបានទូទាត់ភ្លាមៗ៖ នៅក្នុងការប្រៀបធៀបដូចគ្នាសម្រាប់ពីរថ្ងៃនៃកុងតាក់ ការងារបានដំណើរការលឿនជាងជាមធ្យម 34% ជាមួយនឹងបន្ទុកការងារមួយចំនួនដូចជា `tsc` ធ្លាក់ចុះ 52% ។

ការធ្វើទំនើបកម្មខ្សែសង្វាក់ឧបករណ៍បានរួមបញ្ចូលគ្នានូវការឈ្នះ។ ដោយប្តូរទៅ 'tsgo' ដែលជាអ្នកចងក្រង TypeScript ដើមបានកាត់បន្ថយមធ្យមភាគប្រចាំសប្តាហ៍នៃការវាយអក្សរដោយ 73% - ធំល្មមដើម្បីរំកិលចំណុចទាញចេញពីការវាយអក្សរទាំងស្រុង។

Linting ដោយគ្មានប្រភេទក្រាហ្វ

Linting គឺជាគោលដៅដំបូងមួយផ្សេងទៀត។ ច្បាប់ ESLint ផ្ទាល់ខ្លួនមួយក្តាប់តូចរបស់ Linear ពឹងផ្អែកលើព័ត៌មានប្រភេទ TypeScript ដែលបង្ខំឱ្យគ្រប់លីនីតដំណើរការបង្កើតក្រាហ្វប្រភេទពេញលេញ មុនពេលវាយតម្លៃពួកគេ - ធ្វើឱ្យការងារមួយក្នុងចំណោមការងារ CI ដែលពឹងផ្អែកខ្លាំងលើការចងចាំបំផុត។

ក្រុមសរសេរឡើងវិញនូវច្បាប់ដើម្បីប្រើការវិភាគឋិតិវន្តលើមែកធាងវាក្យសម្ព័ន្ធអរូបី ដោយកំណត់អត្តសញ្ញាណរចនាសម្ព័ន្ធដូចមុខងារ និងលំនាំការពារដោយគ្មានព័ត៌មានប្រភេទណាមួយ។ ដែលអនុញ្ញាតឱ្យ ESLint ទម្លាក់ TypeScript ទាំងស្រុង ដោយកាត់បន្ថយពេលវេលា API lint 68% និងពេញឃ្លាំង 55% ជាមួយនឹងការប្រើប្រាស់អង្គចងចាំធ្លាក់ចុះយ៉ាងខ្លាំង។ វាក៏បានបន្ធូរបន្ថយការធ្វើចំណាកស្រុកនៅពេលក្រោយទៅ Oxlint ដែលកាត់បន្ថយការរត់នាទីរបស់ CI ដែលចំណាយលើការចងខ្សែ។

ការបង្រួញផ្លូវត្រិះរិះ

ជាមួយនឹងការត្រួតពិនិត្យបុគ្គលកាន់តែលឿន លីនេអ៊ែរបានពង្រីក និងចាត់ទុក CI ជាប្រព័ន្ធ។ នោះបានទាក់ទាញការយកចិត្តទុកដាក់ចំពោះការងារតូចៗដែលអង្គុយនៅពីមុខអ្វីៗផ្សេងទៀត - ការរកឃើញការផ្លាស់ប្តូរផ្លូវ និងលទ្ធផលតេស្តឃ្លាំងសម្ងាត់ពិនិត្យច្រកទ្វារនោះនៅកម្រិតការងារ មានន័យថាគ្មានផ្នែកសាកល្បង API ទាំងប្រាំបីអាចចាប់ផ្តើមរហូតដល់ពួកគេបញ្ចប់នោះទេ។

ការ​ជួសជុល​មាន​លក្ខណៈ​ជា​ដុំៗ ប៉ុន្តែ​បន្ថែម។ ជម្រៅនៃការចាប់យក Capping បានយកច្រកចេញយឺតបំផុតពី 94 វិនាទីទៅ 20 ។ ការដកប្រាក់ចេញទាំងស្រុងពីការងារដែលមិនត្រូវការមែកធាងធ្វើការកាត់វាពី 27 វិនាទីមកត្រឹម 7 ។ ការឆែកឆេរដ៏កម្រ និងគ្មានបញ្ហាជាមួយនឹងប្រវត្តិមានកំណត់បានរក្សាទុក 11 វិនាទីសេសទៀតសម្រាប់ព្រឹត្តិការណ៍ជំរុញ និងបញ្ចូលជួរ។ សរុបមក រយៈពេលជាមធ្យមនៃការងាររកឃើញការផ្លាស់ប្តូរបានធ្លាក់ចុះពី 26 វិនាទីមក 8, p90 របស់វាពី 31 ទៅ 12 និងដំណើរការយឺតបំផុតរបស់វាពី 138 វិនាទីទៅ 37 ។

ភាពជឿជាក់នៃការពិនិត្យចេញក៏ត្រូវការជាចាំបាច់ដែរ៖ ដោយសារតែអ្នករត់ភាគីទីបីអង្គុយនៅខាងក្រៅបណ្តាញរបស់ GitHub ហើយពឹងផ្អែកលើតំណ IP ផ្ទាល់ ការបំផ្លាញតំណមិនទៀងទាត់ ម្តងម្កាលបានជាប់គាំងក្នុងការទាញយក។ Linear បានជំនួស `actions/checkout` ជាមួយនឹងសកម្មភាពរួមរបស់វាផ្ទាល់ ដែលព្យាយាមឡើងវិញជាមួយនឹងការ backoff កំណត់ `GIT_HTTP_LOW_SPEED_LIMIT` និង `GIT_HTTP_LOW_SPEED_TIME` ដូច្នេះការតភ្ជាប់ដែលជាប់គាំងបានរំលូតបន្ទាប់ពីប្រហែល 30 វិនាទីជំនួសឱ្យការព្យួរ ហើយប្រើ checkout cache នៅលើ disk ដែលរក្សាវាឱ្យជាប់។

ការជួសជុលដ៏តូចតាចមួយត្រូវបានដកចេញដោយខ្ជះខ្ជាយពេលវេលានៃជួរបញ្ចូលគ្នា៖ សញ្ញាសម្គាល់ឃ្លាំងសម្ងាត់កំពុងត្រូវបានសរសេរជាផ្នែកនៃការត្រួតពិនិត្យចុងក្រោយមុនពេលបញ្ចូលគ្នា ដូច្នេះ PR អាចអង្គុយក្នុងជួរសូម្បីតែបន្ទាប់ពីការធ្វើតេស្តរបស់វាបានកន្លងផុតទៅក៏ដោយ។ ការផ្លាស់ប្តូរការសរសេរនោះទៅជាការងារមិនចូល កោរសក់ 42 វិនាទីពីផ្លូវបញ្ចូលគ្នាសម្រាប់រាល់សំណើរទាញ API និងការបញ្ចូលជួរចូលគ្នា។ រួមគ្នា ការផ្លាស់ប្តូរទាំងនេះបានចំណាយពេលប្រហែលមួយនាទីពីការត្រួតពិនិត្យដែលត្រូវការសម្រាប់ API PRs លើការខកខានក្នុងឃ្លាំងសម្ងាត់ ខណៈពេលដែលកាត់បន្ថយការចាប់ផ្តើមដំណើរការ។

តិចជាងការខ្ជះខ្ជាយវិនាទីក្នុងមួយការងារ

ប្រភេទចុងក្រោយបានវាយប្រហារការចំណាយលើការដំឡើងម្តងហើយម្តងទៀតនៅគ្រប់ការងារទាំងអស់។ ការធ្វើតេស្ត API នីមួយៗបានចំណាយពេលពី 7 ទៅ 8 វិនាទីក្នុងការដំឡើងកម្មវិធី Postgres ដូចគ្នាជាមួយនឹង apt នៅរាល់ការរត់។ ការផ្លាស់ប្តូរវាទៅជារូបភាពមូលដ្ឋាន CI តូចមួយនៅជាប់នឹង Node មានន័យថា shards អាចចាប់ផ្តើមរួចរាល់ដើម្បីដំណើរការ។ ក្រោយមកក្រុមការងារបានបន្ថែមបឋមកថានៃការបង្កើតដើមទៅរូបភាព បន្ទាប់ពីបានរកឃើញថាការទាញយកពួកវាកំឡុងពេលដំឡើងអាចព្យួរម្តងម្កាល។

ហេតុអ្វីបានជាវារំញ័រ

ការបង្ហោះនេះបានធ្វើឱ្យមានការភ័យខ្លាចជាមួយអ្នកអភិវឌ្ឍន៍៖ វាបានឈានដល់ទំព័រមុខរបស់ Hacker News ដោយទទួលបានប្រហែល 250 ពិន្ទុ និងប្រហែល 280 យោបល់ក្នុងរយៈពេលមួយថ្ងៃ។ ប្រតិកម្មគឺងាយស្រួលពន្យល់ — បទពិសោធន៍របស់ Linear កំណត់តម្លៃនៃការអភិវឌ្ឍន៍ដែលជួយដោយ AI ដែលស្ថាប័នវិស្វកម្មភាគច្រើនកំពុងប្រឈមមុខ។ ភ្នាក់ងារដែលបង្កើតសំណើទាញក្នុងរយៈពេលប៉ុន្មាននាទីនៅតែរង់ចាំនៅលើបំពង់ដែលមានសុពលភាពដែលត្រូវបានរចនាឡើងសម្រាប់ចង្វាក់របស់មនុស្ស ហើយរាល់នាទីនៃការរង់ចាំនោះត្រូវបានគុណលើគ្រប់ភ្នាក់ងារដែលធ្វើការស្របគ្នា។

មេរៀនពីការងារឡើងវិញរបស់ Linear គឺថាការជាប់គាំងគឺអាចផ្លាស់ទីបាន ប៉ុន្តែបានតែតាមរយៈការប្រមូលផ្តុំនៃការជួសជុលតូចតាចជាច្រើន - អ្នករត់លឿនជាងមុន ការវាយអក្សរដែលមានតំលៃថោក ច្បាប់កម្រិតវាក្យសម្ព័ន្ធ ការប្រមូលយក ការត្រួតពិនិត្យដែលធន់ទ្រាំ រូបភាពដែលបានសាងសង់រួចជាជាងគ្រាប់ប្រាក់តែមួយ។

---

ស្នាក់នៅមុន AI

ទទួលបានព័ត៌មាន AI ការវិភាគ និងរបកគំហើញចុងក្រោយបំផុត — ទាំងអស់នៅកន្លែងតែមួយ។

អានព័ត៌មាន AI បន្ថែម →