ប្រូក្រាមីងប្រូក្រាមីង
តាមដាន៖
ការប្រើប្រាស់ Dependency ក្នុងការ​សរសេរសូហ្វវែរ៍

ដោយ៖ឈូក​​ ដាវី

ថ្ងៃទី៖23 មករា 2021

ប្រវែង៖5 នាទី

ក្នុងការ​សរសេរសូហ្វវែរ៍សព្វថ្ងៃនេះ យើងតែងតែប្រើកូដ ឫសូហ្វវែរ៍ដែលមានស្រាប់មកប្រើជាជាង​សរសេរ​ខ្លួន​ឯងទាំងអស់​ (Reuse)។ ហើយក្នុងការ​យក​កូដដែលមានស្រាប់លើអុីធឺណេត​មកប្រើនេះ (Package, Library ឫ Module) ដែលយើងហៅវាថា Dependency។

ការប្រើ Dependency នេះជួយឲ្យយើងអាច​សរសេរកូដបានលឿន និងងាយស្រួលជាងមុនដោយ​យកកូដដែលមានស្រាប់ដែលគេបានចែករំលែកជាលក្ខណៈ Open Source មកប្រើ​ទៅ​តាម​ការ​ដែល​យើង​ត្រូវការ។ អ្វីទៅជា Dependency ឲ្យប្រាកដ? Dependency ជា​កូដដែលយើង​យកប្រើនៅក្នុង Project របស់យើងក្នុងលក្ខណៈ Package, Library ឫ Module ជំនួសឲ្យការដែលត្រូវ​សរសេរ​ខ្លួនឯង។ ជាទូទៅ​ស្ទើរតែ​គ្រប់ភាសាប្រូក្រាមីង​ទៅហើយ​ដែលមាន Registry ដែលអាចឲ្យប្រូក្រាមើរ៍អាចចែក…

ចំនួនអាន៖ 134
អានបន្ត
ចាវ៉ាស្ក្រីបត៍ក្នុងប្រៅស៍ស័រ

ដោយ៖ឈូក​​ ដាវី

ថ្ងៃទី៖13 តុលា 2020

ប្រវែង៖2 នាទី

ភាសាចាវ៉ាស្ក្រីបត៍ (JavaScript) ភាសាចាវ៉ាស្ក្រីបត៍តាំងពីដំបូងមកត្រូវបានគេសរសេរឡើងមកដើម្បីតែដំណើរការក្នុងប្រៅស៍ស័រតែប៉ុណ្ណោះ។ ចាវ៉ាស្ក្រីបត៍ត្រូវបានគេសរសេរឡើងមកដោយប្រើពេលតែដប់ថ្ងៃប៉ុណ្ណោះកាលពីជំនាន់ឆ្នាំ 90។

ប្រការនេះហើយដែលនាំឲ្យវាមិនមែនជាភាសារដែលមានមុខងារ និងគុណសម្បត្តិល្អគ្រប់គ្រាន់ប៉ុន្មាននោះទេ។ ដោយហេតុបែបហ្នឹងហើយបានជាគេព្យាយាម​ប្រើភាសាផ្សេងមកជំនួសវិញសម្រាប់សរសេរវែបសាយដូចដែលយើងបានឃើញមានមកដូចជា Flash, Java។ តែយ៉ាងណាការធ្វើបែបនេះក៏មិនបានធ្វើឲ្យការ​អភិវឌ្ឍន៍វែបសាយប្រសើរជាងមុនដែរ។ តែវាជាកត្តាជួយជំរុញឲ្យចាវ៉ាស្ក្រីបត៍បានវិវត្តន៍ជារឿយៗជារាងរាល់ឆ្នាំរហូតបានក្លាយជាភាសាដ៏មានឥទ្ធិពលដូចសព្វថ្ងៃនេះ។ ការព្យាយាមប្រើភាសាផ្សេងជំន…

ចំនួនអាន៖ 42
អានបន្ត
គួរប្រើ Storage មួយណាសម្រាប់វែបសាយ?

ដោយ៖ឈូក​​ ដាវី

ថ្ងៃទី៖23 កក្កដា 2020

ប្រវែង៖2 នាទី

បើចង់ផ្ទុកទិន្នន័យរបស់វែបសាយដែលយើងធ្វើនៅក្នុង Browser យើងមានវិធីច្រើនក្នុងការផ្ទុក ឫ Cache ទិន្នន័យ ឫ Static Resources ផ្សេងៗ។ តើយើងគួរប្រើ Storage មួយណាល្អសម្រាប់ Client-Side Data Storing? ហើយធ្វើយ៉ាងណាដើម្បីទិន្នន័យមានសុវត្តិភាពល្អ? ថ្ងៃនេះយើងមកមើលពីប្រធានបទនេះទាំងអស់គ្នា! TL;DR សម្រាប់ទិន្នន័យតិចដូចជា String ដែលជា Key ខ្លីៗ យើងគួរប្រើ LocalStorage។

សម្រាប់ទិន្នន័យច្រើន Storage យើងគួរតែប្រើនោះគឺ IndexedDB ព្រោះវា Asynchronous ចំណែកឯ LocalStorage និង SessionStorage ដំណើរការបែប Synchronous ដែលវាអាចប្លុក Main Thread បាន។ សម្រាប់ Cache យើងគួរតែប្រើ Cache Storage API (Service Workers)។ ប្រភេទរបស់ Web Storage បើសិនជាយើ…

ចំនួនអាន៖ 67
អានបន្ត
អ្វីទៅ UX/UI?

ដោយ៖ឈូក​​ ដាវី

ថ្ងៃទី៖22 កក្កដា 2020

ប្រវែង៖1 នាទី

សួស្ដី! ថ្ងៃនេះមានសំណួរមួយសួរមកពីប្អូនម្នាក់គាត់បានសួរខ្ញុំថា “អ្វីទៅជា UX/UI?”។ តាមពិតទៅខ្ញុំក៏មិនជាអ្នកជំនាញ​ឌីហ្សាញ​អីដែរ តែការងារឌីហ្សាញក៏ជាមួយក្នុងចំណោមការងារដែលខ្ញុំចាប់អារម្មណ៍ ហើយខ្ញុំក៏ធ្លាប់បានរៀនពីវា និងធ្លាប់បានធ្វើការងារឌីហ្សាញកម្មវិធី និងវែបសាយមួយចំនួនដែរកន្លងមកតួយ៉ាងប្លក់ដែលអ្នកទាំងអស់គ្នាកំពុងអាននេះផ្ទាល់។

អ៊ីចឹងហើយប្រហែលជាមានរឿងដែលខ្ញុំអាចនិយាយបានខ្លះដែរសម្រាប់ប្រធានបទនេះ។ អ៊ីចឹងយើងមកមើលទាំងអស់គ្នា! អ្វីទៅជា UX និង UI? ដំបូងបំផុតនោះគឺជំនាញ UX/UI មិនមែនសម្រាប់តែការរចនាវែបសាយ កម្មវិធីកុំព្យូទ័ កម្មវិធីទូរស័ព្ទ និងផលិតផលបច្ចេកវិទ្យា​តែ​ប៉ុណ្ណោះទេ។ យើងត្រូវការវាសម្រាប់ការឌីហ្សាញគ្រប់សព្វបែបយ៉ាងតាំងពីរបស…

ចំនួនអាន៖ 73
អានបន្ត
អ្វីទៅ Git Stash?

ដោយ៖ឈូក​​ ដាវី

ថ្ងៃទី៖2 កក្កដា 2020

ប្រវែង៖3 នាទី

👉 Version Control ដោយប្រើកម្មវិធីគ្រប់គ្រងកំណែ Git បើយើងចេះប្រើ Git មែនយើងត្រូវតែឆ្លើយសំណួរនេះបាន “អ្វីទៅ Git Stash?” ដែលជាសំណួរដែលគេតែងតែសួរបើគេចង់សាកថាយើងពិតជាចេះប្រើ Git ស្ទាត់ពិតប្រាកដ ឫអត់នោះ។ អ៊ីចឹងយើងមកមើលទាំងអស់គ្នាថាយើងអាចប្រើ Git Stash នេះដើម្បីអ្វី។ អ្វីទៅជា Git Stash? Stash ជាមុខងារមួយក្នុង Git ដែលយើងអាចប្រើដើម្បីលុបរាល់ការកែប្រែមិនថាកូដ ឫហ្វាល់ផ្សេងៗក្នុង Branch ដែលយើងកំពុងធ្វើការ ហើយរក្សារទុកនៅកន្លែងមួយដែលយើងអាចទាញយកមកវិញនៅពេលក្រោយបាន។

ករណីដែលយើងប្រើ Stash ករណីដែលយើងប្រើ Stash មានច្រើនករណី តែជាទូទៅខ្ញុំប្រើវាពេល៖ ចង់ កូដពី ទាំងដែលមានកូដត្រូវបានកែរួចហើយខ្លះ ហើយវា ជាមួយកូដនៅលើ ។ ចង់ប្តូរ Branch ខណៈដែល…

ចំនួនអាន៖ 81
អានបន្ត
Arrow Function កំណែចាវ៉ាស្ក្រីបត៍ ES6

ដោយ៖ឈូក​​ ដាវី

ថ្ងៃទី៖1 កក្កដា 2020

ប្រវែង៖2 នាទី

Arrow Function ឫ Fat Arrow Function ជារបៀបសរសេរ Function មួយបែបក្នុងភាសាចាវ៉ាស្ក្រីបត៍ដែលត្រូវបានបញ្ចេញក្នុងកំណែ ES6។ ចំណុចពិសេសរបស់វាគឺ ខ្លីងាយស្រួលសរសេរ ហើយវាមិនមាន Bindings ផ្ទាល់ខ្លួនរបស់វាទេ។

ពេលប្រើ Arrow Function យើងនឹងមិនអាចហៅ , , ឫ បានទេព្រោះវាអត់មានរបស់ទាំងអស់នេះក្នុងខ្លួនវាទេ។ ជា keyword មួយដែលជាទូទៅយើងប្រើសម្រាប់ហៅ Key ឫ Property របស់ Object ឫ Class។ តែសម្រាប់ Arrow Function វានឹងហៅ របស់ Function, Closure ឫ Class មេវិញ។ ជា Variable មួយដែលជា Array នៅក្នុង Function មួយដែលអាចឲ្យយើងហៅ Arguments របស់ Function នោះបាន។ ជា keyword មួយដែលយើងប្រើសម្រាប់ហៅ​ constructor របស់ Parent Class។ Arrow Function មិនអាចប…

ចំនួនអាន៖ 68
អានបន្ត
ដេណូ - ណូដដែលល្អជាងមុន?

ដោយ៖ឈូក​​ ដាវី

ថ្ងៃទី៖17 មិថុនា 2020

ប្រវែង៖2 នាទី

ដេណូ (Deno) បានចេញកំណែផ្លូវការដំបូង v1 នៅកំឡុងពាក់កណ្ដាលខែមុនខែឧសភា។ បើអ្នកតាមដានពីពិភពប្រូក្រាមមីងចុងក្រោយ ប្រហែលជាបានលឺមកហើយ។

វាទទួលបានចំណាប់អារម្មណ៍ច្រើនសមគួរណាស់ ហើយមានរហូតដល់អ្នកខ្លះគេនិយាយថ្ងៃអវសានរបស់ណូដជិតមកដល់ហើយទៀតផង។ អ៊ីចឹងថ្ងៃនេះ យើងមកមើលថាតើដេណូជាអ្វី វាខុសពីណូដយ៉ាងណាខ្លះ ហើយវាពិតជាល្អជាងណូដមែនដែរឫទេ។ ដេណូជាអ្វី? ចំណុចខុសគ្នារវាងដេណូ និង ណូដ ដេណូ (Deno) ជាប្រូក្រាមដែល Secure សម្រាប់ដំណើការ JavaScript និង TypeScript ក្រៅវែបប្រៅស័រ​ថ្មីមួយ។ អ្នកដែលបង្កើតដេណូ និងណូដជាមនុស្សតែមួយគឹដោយលោក​ Ryan Dahl។ ដេណូប្រើ TypeScript, Rust, Tokio (សម្រាប់ Event Loop) និង V8 (Rusty-V8 ជា JavaScript Engine) ដែលខុសពីណូដដែលប្រ…

ចំនួនអាន៖ 34
អានបន្ត
អ្វីទៅ Static Site, SPA និង SSR?

ដោយ៖ឈូក​​ ដាវី

ថ្ងៃទី៖13 មិថុនា 2020

ប្រវែង៖2 នាទី

ក្នុងអត្ថបទនេះ ខ្ញុំនិយាយពីប្រភេទរបស់វែបសាយដែលមាន Static Site, SPA និង SSR។ អ្នកគួរតែយល់ពីគំនិតគោលរបស់ប្រភេទវែបសាយទាំងអស់នេះ ដើម្បីអាចរើសយកប្រភេទដែលត្រឹមត្រូវទៅតាមតម្រូវការរបស់វែបសាយដែលអ្នកនឹងធ្វើ។

ជាដំបូងយើងត្រូវយល់ថារាល់វែបសាយទាំងអស់ត្រូវដំណើរការនៅលើ Browser។ នៅពេលយើងចូលទៅកាន់វែបសាយណាមួយ Browser ផ្ញើរសំណើរទៅកាន់ Server ហើយ Server បញ្ជូនត្រលប់មកវិញជា Response មួយ។ ហើយបើ Response នោះជាកូដ HTML នោះ Browser នឹងយកបង្ហាញជាវែបសាយ។ តែថាកូដ HTML ដែល Server បញ្ជូនត្រលប់មកនោះ វាត្រូវបានបង្កើតឡើងដោយរបៀបណា? អ្វីទៅ Static Site? ដំបូងគេនោះគឺជាប្រភេទ Static​ Site។ រាល់កូដទាំងអស់ត្រូវបានបង្កើតហើយជាស្រេចមុននឹងគេយកវាទៅដាក់នៅលើ Server…

ចំនួនអាន៖ 39
អានបន្ត
Version Control ដោយប្រើកម្មវិធីគ្រប់គ្រងកំណែ Git

ដោយ៖ឈូក​​ ដាវី

ថ្ងៃទី៖11 មិថុនា 2020

ប្រវែង៖1 នាទី

តើអ្វីទៅជាការគ្រប់គ្រងកំណែរ? ហើយអីទៅ Git? Version Control ឫ ការគ្រប់គ្រងកំណែរ (VSC) ជាការគ្រប់គ្រងរាល់កំណែប្រែនៃកូដ ឫ ឯកសារផ្សេងៗនៅក្នុងគម្រោងសូហ្វវែរ៍។ Git ជា​កម្មវិធី​គ្រប់គ្រង​កំណែរ​ដែល​វា​អាច​ជួយ​យើង​កត់​ត្រា​រាល់​កំណែ​ប្រែ​របស់​កូដ​ទាំង​អស់​ជា​កំណែរ​ៗ ហើយវាមានភាពងាយស្រួលមែនទែនក្នុងការត្រលប់ទៅកំណែមុនបើមានអីខុសប្រកតី ឫប្ដូរមកកំណែចុងក្រោយវិញ។

ពេលប្រើ Git យើងបង្កើតវាជា Repository មួយ។ យើងមានលទ្ធភាពចែកវាជា Branch ដែល Branch នីមួយៗយើងអាចធ្វើការផ្សេងៗពីគ្នាបានដែលវាជួយឲ្យកូដយើងមិនជាន់គ្នា។ ពេលធ្វើរួច យើងអាចដាក់វាបញ្ជូលគ្នាវិញ (Merge) ទៅក្នុង Main Branch ដែលយើងភាគច្រើនហៅវាថា Master Branch វិញបាន។ ម្យ៉ាងទៀតមុននឹង Merge យ…

ចំនួនអាន៖ 51
អានបន្ត
ពេលធ្វើ Software Project មិនគួររំលងរបស់ទាំងអស់នេះ

ដោយ៖ឈូក​​ ដាវី

ថ្ងៃទី៖9 មិថុនា 2020

ប្រវែង៖3 នាទី

សួស្ដី! ថ្ងៃនេះខ្ញុំសូមនិយាយដល់ Tools ដែលខ្ញុំតែងតែប្រើពេលធ្វើ Software Project។ តែមុននឹងចាប់ផ្ដើម ខ្ញុំសូមនិយាយដល់ SDLC របស់ SWEBOK សិន។

អីគេទៅ SWEBOK? SWEBOK មកពីពាក្យថា SoftWare Engineering Body of Knowledge ឫយើងហៅវាថាជាស្ដង់ដារដែលណែនាំពីវិស្វកម្មសូហ្វវែរ៍។ ហើយ SDLC មកពីពាក្យថា Software Development Life Cycle ដែលវានិយាយពីវដ្ដជីវិតនៃការអភិវឌ្ឍន៍សូហ្វវែរ៍។ នៅក្នុង SDLC គេបែងចែកវាជា 5 ដំណាក់កាលសំខាន់ៗដែលរួមមាន៖ Requirement Analysis ៖ ក្នុងដំណាក់កាលដំបូងនេះ គេត្រូវសិក្សាពីសូហ្វវែរ៍ដែលយើងនឹងធ្វើសិនថាអាចទៅរួច ឫក៏អត់? ហើយបើសិនជាទៅរួចតើសូហ្វវែរ៍ដែលយើងនឹងធ្វើគួរមានមុខងារ និងលក្ខណៈសម្បត្តិអ្វីខ្លះ។ Design ៖ បន្ទាប់មកយើងត្រ…

ចំនួនអាន៖ 129
អានបន្ត
Node.js ចំណុចថ្មីមួយរបស់ចាវ៉ាស្ក្រីបត៍

ដោយ៖ឈូក​​ ដាវី

ថ្ងៃទី៖8 មិថុនា 2020

ប្រវែង៖1 នាទី

ហេលឡូវើរ៍ល! ថ្ងៃនេះខ្ញុំចង់និយាយពីចាវ៉ាស្ក្រីបត៍បន្តដោយយើងមកស្វែងយល់ពីណូដ។​ អ៊ីចឹងតោះ! អីទៅជាណូដ? ណូដជាចាវ៉ាស្ក្រីបត៍ runtime ដែលវាត្រូវបានសរសរឡើងដោយប្រើ Chromium V8 (ចាវ៉ាស្ក្រីបត៍អ៊ីនជីន) និង LibUV (សម្រាប់ Cross-platform Asynchronous I/O)។ បើនិយាយស្រួលស្ដាប់ទៅណូដផ្ដល់ Environment មួយដែលយើងអាចដំណើរការ​កូដចាវ៉ាស្រ្កីបត៍បានដោយមិនចាំបាច់ត្រូវការ Browser’s Engine ទៀតនោះទេ។

ណូដប្រើ​ម៉ូឌែល​ Single​ Thread​, Event​ Loop​, Asynchronous​ Event​-Driven​, Non​-Blocking​ IO​។ វា​មាន​មាឌតូច​ និង​មានប្រសិទ្ធភាព​ក្នុង​ការងារ​ Concurrent​ Connection​ និង​ធ្វើការងារ​ IO​ បានយ៉ាងល្អប្រសើរ។ ចា​វ៉ាស្ក្រី​បត៍​អនុញ្ញា​ត​ឱ្យ​គេ​អាចប​ង្ក…

ចំនួនអាន៖ 26
អានបន្ត
អ៊ីកម៉ាស្ក្រីបត៍ (ECMAScript)

ដោយ៖ឈូក​​ ដាវី

ថ្ងៃទី៖7 មិថុនា 2020

ប្រវែង៖2 នាទី

ហេឡូវើរ៍ល! សួរស្ដី! បើអ្នកទាំងអស់គ្នារៀនកូដ ប្រាកដជាបានលឺពីចាវ៉ាស្ក្រីបត៍ហើយ ហើយក៏ប្រហែលជាបានលឺមកផងដែរថាវាជាភាសាមួយដែលមានគេស្អប់ និងឈឺក្បាលនឹងវាច្រើនបំផុតមួយដែរ។ ថ្ងៃនេះយើងមក​សិក្សាពី​កំណែអ៊ីកម៉ាស្រីបត៍ដែលជាស្ដង់ដាររបស់ចាវ៉ាស្ក្រីបត៍សង្ខេបៗទាំងអស់គ្នា។

អ៊ីកម៉ាអន្តរជាតិ (ecma international​ — European Computer Manufacturers Association International) ជាសមាគមន៍បង្កើតឡើងមកដើម្បីចុះស្ដង់ដារប្រព័ន្ធព័ត៌មាន និង​ទំនាក់ទំនង។ មុនដំបូងអត់មាន International ទេសម្រាប់តែ​ទ្វីប​អឺរ៉ុបទេ តែក្រោយមក​ថែម International ដើម្បីពង្រីកស្ដង់ដារនេះសម្រាប់ពិភពលោកទាំងមូល។ អ៊ីកម៉ាស្ក្រីបត៍ ជាស្ដង់ដារសម្រាប់ភាសាស្ក្រីបត៍។ ចាវ៉ាស្ក្រីបត៍ ដែលជាកំ…

ចំនួនអាន៖ 25
អានបន្ត
Previous
1
2
Next
រូបភាពជ្រើសរើស
រូបថតដោយ៖
ក្នុង
Unsplash
អត្ថបទ​ពេញនិយម

ដំណើរកម្សាន្តបោះតង់ និងឡើងជួរភ្នំឱរ៉ាល់របស់ខ្ញុំ

មានអ្វីកើតឡើងពេល Apple ប្ដូរមក ARM?

ការប្រើប្រាស់ Dependency ក្នុងការ​សរសេរសូហ្វវែរ៍

ពេលធ្វើ Software Project មិនគួររំលងរបស់ទាំងអស់នេះ

អ្វីទៅ Git Stash?

អត្ថបទ​ថ្មីៗ

ការប្រើប្រាស់ Dependency ក្នុងការ​សរសេរសូហ្វវែរ៍

លាហើយបណ្ដាញសង្គម

រឿងដែលកំពុងតែកើតឡើងមកលើ Intel

ចាវ៉ាស្ក្រីបត៍ក្នុងប្រៅស៍ស័រ

គួរប្រើ Storage មួយណាសម្រាប់វែបសាយ?

You've reached singularity, the beginning of time!