ស្ប៉ាយដឺ (កម្មវិធី)

**ស្ប៉ាយដឺ** គឺជាកម្មវិធីអភិវឌ្ឍន៍ចម្រុះសម្រាប់អភិវឌ្ឍឬបង្កើតកម្មវិធីគណនាបែបវិទ្យាសាស្ត្រដោយប្រើភាសាសរសេរកម្មវិធីផាយថុន ។ វាជាកម្មវិធីបើកចំហ ( អ្នកប្រើប្រាស់អាចយកកូដរបស់វាមកសិក្សា កែច្នៃ និងចែកចាយបន្តដោយសេរី ) ហើយយើងអាចប្រើប្រាស់វានៅលើប្រព័ន្ធប្រតិបត្តិការផ្សេងៗជាច្រើន ។ ស្ប៉ាយដឺត្រូវបានភ្ជាប់មកជាមួយនូវកញ្ចប់បណ្ណាល័យ និងកម្មវិធីពិសេសៗជាច្រើនសម្រាប់អភិវឌ្ឍឬបង្កើតកម្មវិធីគណនាបែបវិទ្យាសាស្ត្រដូចជា​ ណាំផាយ (NumPy) សាយផាយ (SciPy) ម៉ាតផ្លតលីប (Matplotlib) ផេនដាស (pandas) អាយផាយថុន (IPython) ស៊ីមផាយ (SymPy) សាយថុន (Cython) និងកម្មវិធីបើកចំហមួយចំនួនទៀត ។  កម្មវិធីអភិវឌ្ឍន៍ចម្រុះស្ប៉ាយដឺនេះត្រូវបានចែកចាយឲ្យប្រើប្រាស់ក្រោមអាជ្ញាបណ្ណអេមអាយធី (MIT license) ។ 

ស្ប៉ាយដឺត្រូវបានបង្កើត និងអភិវឌ្ឍឡើងជាដំបូងនៅឆ្នាំ ២០០៩ ដោយលោក ព្យែរ រេបូ (Pierre Raybaut) ហើយចាប់តាំងពីឆ្នាំ ២០១២ មក វាត្រូវបានថែទាំ និងអភិវឌ្ឍដោយអ្នកអភិវឌ្ឍផាយថុនសម្រាប់ការគណនាបែបវិទ្យាសាស្ត្រមួយក្រុម និងសហគមន៍អ្នកប្រើប្រាស់ផងដែរ ។ 

យើងអាចដំឡើងកម្មវិធីបន្ថែមមុខងារនានាទៅលើស្ប៉ាយដឺបាន ដែលកម្មវិធីបន្ថែមមុខងារទាំងនោះត្រូវបានបង្កើតឡើងដោយក្រុមអ្នកអភិវឌ្ឍស្ប៉ាយដឺផ្ទាល់ ( ភាគីទី ១ ) ឬដោយអ្នកអភិវឌ្ឍដទៃទៀត ( ភាគីទី ៣ ) ។ មុខងារបន្ថែមទាំងនោះរួមមាន មុខងារត្រួតពិនិត្យទិន្នន័យដោយប្រើឧបករណ៍អន្តរកម្ម ( សកម្មភាពឆ្លើយតបទៅមកជាមួយអ្នកប្រើប្រាស់ ) មុខងារធានាគុណភាព និងត្រួតពិនិត្យកូដដោយស្វ័យប្រវត្តិនានាដូចជា ផាយហ្វលេកស៍ (Pyflakes) ផាយលីនធ៍ (Pylint) និងរ៉ូភ (Rope) ។ លើសពីនេះទៅទៀត ស្ប៉ាយដឺអាចដំណើរការបានទាំងនៅលើប្រព័ន្ធប្រតិបត្តិការវីនដូស៍ (Windows) ម៉ាក់ខ៍អូអេស៍ (macOS) និងលីនុកស៍ ( ឬលីនុច ) ។ ចំពោះលីនុកស៍ យើងអាចប្រើវាបានតែនៅលើមែកធាងលីនុកស៍ដែលគេពេញនិយមមួយចំនួនតែប៉ុណ្ណោះដូចជា អាក់ខ៍លីនុកស៍ (Arch Linux) ឌីបៀន (Debian) ហ្វេដូរ៉ា (Fedora) ហ្គេនធូលីនុកស៍ (Gentoo Linux) អូផេនសូហ្សា (openSUSE) និងអ៊ុប៊ុនធូ (Ubuntu) ។ 

ស្ប៉ាយដឺប្រើ Qt សម្រាប់បង្កើតផ្ទៃប្រើប្រាស់ដោយរូបភាពរបស់វា ហើយវាត្រូវបានរចនាឡើងដើម្បីប្រើ PyQt ឬ PySide ។  

## លក្ខណៈពិសេសៗ 
លក្ខណៈពិសេសៗរបស់វារួមមាន ៖  

* កម្មវិធីសរសេរកូដដែលមានមុខងារផាត់ពណ៌វាក្យសម្ពន្ធ មុខងារបង្ហើយកូដដោយស្វ័យប្រវត្តិ និងមុខងារត្រួតពិនិត្យកំហុស 
* អាចប្រើបានជាមួយកុងសូល IPython ផ្សេងៗជាច្រើន 
* សមត្ថភាពក្នុងការរុករក និងកែសម្រួលអថេរតាមរយៈផ្ទៃប្រើប្រាស់ដោយរូបភាព 
* អាចបង្ហាញឯកសារជំនួយអំពី function, class និង method ណាមួយនៃផាយថុនដោយស្វ័យប្រវត្តិឬទៅតាមតម្រូវការ 
* កម្មវិធីសាកល្បងកូដឬកម្មវិធី ( ដែលកំពុងតែត្រូវបានបង្កើតឡើង ) ដែលត្រូវបានភ្ជាប់ទៅនឹង IPdb សម្រាប់ប្រតិបត្តិកូដជាជំហ៊ានៗ 
* ការវិភាគកូដដោយមិនចាំបាច់ធ្វើប្រតិបត្តិការកូដ ដែលលក្ខណៈពិសេសនេះដំណើរការដោយ Pylint 
* ការវិភាគកូដក្រោយពេលធ្វើប្រតិបត្តិការកូដ ដើម្បីដឹងពីចំនួននៃអង្គចងចាំដែលត្រូវបានប្រើ រយៈពេលដែលត្រូវបានចំណាយ ។ល។  
* ការអនុញ្ញាតឱ្យយើងធ្វើការអភិវឌ្ឍន៍លើគម្រោងផ្សេងៗគ្នាជាច្រើនក្នុងពេលដំណាលគ្នា 
* មុខងាររុករកឯកសារ ដែលមានស្រាប់សម្រាប់ធ្វើអន្តរកម្មជាមួយប្រព័ន្ធឯកសារ និងគ្រប់គ្រងគម្រោង 
* មុខងាររុករកនៅក្នុងឯកសារ 
* មុខងាររុករកជំនួយតាមអ៊ីនធឺណេត ដែលអនុញ្ញាតឲ្យអ្នកប្រើប្រាស់ស្វែងរក និងមើលឯកសារជំនួយនៅក្នុងស្ប៉ាយដឺផ្ទាល់ 
* មុខងារកំណត់ហេតុប្រវត្តិ ដែលកត់ត្រារាល់ពាក្យបញ្ជាដែលអ្នកប្រើប្រាស់បានបញ្ចូលនៅក្នុងកុងសូលនីមួយៗ 
* កុងសូលផ្ទៃក្នុង ដែលអនុញ្ញាតឲ្យអ្នកប្រើប្រាស់ត្រួតពិនិត្យលើប្រតិបត្តិការដោយឡែករបស់ស្ប៉ាយដឺ 

## កម្មវិធីបន្ថែមមុខងារនានា 
កម្មវិធីបន្ថែមមុខងារនានាសម្រាប់ស្ប៉ាយដឺមានដូចជា ៖  

* Spyder-Unittest ដែលរួមបញ្ចូលមុខងារសាកល្បងផ្នែកនៃកូដដ៏ពេញនិយមដូចជា Pytest, Unittest និង Nose with Spyder 
* Spyder-Notebook ដែលអនុញ្ញាតឲ្យយើងមើល និងកែសម្រួល Jupyter Notebooks នៅក្នុងស្ប៉ាយដឺផ្ទាល់ 
* Spyder-Reports ដែលអាចឲ្យយើងសរសេររបាយការណ៍ដោយប្រើភាសាផាយថុន ( ស្រដៀងគ្នានឹង Jupyter Notebooks ) 
* Spyder-Terminal ដែលអាចឲ្យយើងបើក បញ្ជា និងគ្រប់គ្រង Shell នានានៅក្នុងស្ប៉ាយដឺផ្ទាល់ 
* Spyder-Vim ដែលផ្ទុកពាក្យបញ្ជា និងផ្លូវកាត់តាមលំនាំកម្មវិធីសរសេរកូដ Vim 
* Spyder-AutoPEP8 ដែលអាចបម្លែងទម្រង់កូដដែលយើងបានសរសេរទៅតាមទម្រង់ស្ដង់ដា PEP 8 ដោយស្វ័យប្រវត្តិ 
* Spyder-Line-Profiler និង Spyder-Memory-Profiler ដែលបន្ថែមសមត្ថភាពទៅលើមុខងារវិភាគកូដដែលមានស្រាប់នៅក្នុងស្ប៉ាយដឺឲ្យវាអាចសាកល្បងបន្ទាត់កូដនីមួយៗ និងវ៉ាស់ការប្រើប្រាស់អង្គចងចាំបាន 

## សូម​មើល​ផង​ដែរ 
* បញ្ជីរាយនាមនៃកម្មវិធីអភិវឌ្ឍន៍ចម្រុះសម្រាប់ភាសាសរសេរកូដផាយថុន 

## ឯកសារយោង 
## តំណ​ភ្ជាប់​ខាងក្រៅ 
* គេហទំព័រផ្លូវការ 
* ឯកសារ 
* ស្ព៉ាយដឺនៅលើគេហទំព័រហ្គីតហាប់ (GitHub)
ចំណាត់ថ្នាក់ក្រុម:ព័ត៌មានវិទ្យា
ចំណាត់ថ្នាក់ក្រុម:កុំព្យូទ័រ