មាតិកាមេរៀន
- មេរៀនទី១៖ ការណែនាំអំពីការអភិវឌ្ឍវេប
- មេរៀនទី២៖ លក្ខណៈទូទៅនៃវេបសាយមួយ
- មេរៀនទី៣៖ មូលដ្ឋាននៃ HTML
វាជាការចាំបាច់ដែលយើងត្រូវដឹងអំពីនិយមន័យនិងកម្មវត្ថុនៃការសិក្សានិងមេរៀននីមួយៗ។ នៅក្នុងមេរៀនទី១ យើងនឹងជជែកទៅលើរឿងរ៉ាវទូទៅដែលកើតមាននៅក្នុងជំនាញមួយនេះ។
ការអភិវឌ្ឍវេប ឬ Web Development វាជាពាក្យមួយដ៏ទូលាយសំដៅយកការងារទាំងឡាយណាដែលរួមមានការអភិវឌ្ឍវេបសាយសម្រាប់អ៊ីនធឺណិត មានទំហំចាប់ពីត្រឹមទំព័រធម្មតាដល់កម្មវិធីដែលមានភាពស្មុគស្មាញ។ ពាក្យនេះអាចមានន័យផ្សេងៗទៀតទៅតាមបរិបទនិងស្ថានភាពប្រើប្រាស់។ នៅក្នុងការអភិវឌ្ឍវេបមានដូចជា៖ វិស្វកម្មវេប, ការរចនាវេប, ការអភិវឌ្ឍមាតិកាវេប, ការបង្កើតកម្មវិធី client/server, ម៉ាស៊ីនបម្រើវេប, e-Commerce។ល។ បច្ចុប្បន្ននេះ ការអភិវឌ្ឍវេបក៏អាចសំដៅយកការបង្កើតប្រព័ន្ធគ្រប់គ្រងមាតិកាដែរ។ [Wikipedia: Web Development]
ដោយសារតែទំហំនៃការអភិវឌ្ឍវេប វាធំទូលំទូលាយពេក ខ្ញុំក៏យកតែប៉ុន្មានចំណុចនៅក្នុងផ្នែកនោះ មកបកស្រាយនៅក្នុងស៊េរីមេរៀនមួយនេះសម្រាប់អ្នកចាប់ផ្ដើមដំបូង៖
- មូលដ្ឋានវេប
- ការរចនាវេប (Web Design)
- ការបង្កើតកម្មវិធីវេប (Web Application – client/server)
- ប្រព័ន្ធគ្រប់គ្រងមាតិកា (Content Management System)
- ម៉ាស៊ីនបម្រើវេប (Web Server)
ទិដ្ឋភាពទូទៅ
សំណួរសួរថា តើទំព័រវេបដែលអ្នកឃើញនៅលើអេក្រង់នេះ វាបានមកដោយវិធីណា?
រូបភាពខាងលើនេះគឺជាសេចក្ដីសង្ខេបមួយអំពីដំណើរការមួយនេះ ប៉ុន្តែតាមការណ៍ពិតគឺវាមានច្រើនលើសពីនេះ។ តួអង្គនិងសកម្មភាពនៅក្នុងរូបខាងលើរួមមាន៖
- Client – តំណាងឲ្យអ្នកប្រើប្រាស់ ឬក៏ Web Browser
- Page request – ជាសកម្មភាពស្នើរកទំព័រដោយអាស្រ័យទៅលើអាសយដ្ឋាន
- Internet – ជាកន្លែងធ្វើការច្រើនផ្សេងទៀត ដើម្បីនាំទិសទៅដល់អាសយដ្ឋានមួយនោះ
- Server – ជាកន្លែងទុកដាក់ឯកសារ ដែលមានអាសយដ្ឋានដូចក្នុងសំណើខាងលើ
- Page response – ជាការឆ្លើយតបដោយភ្ជាប់មកនូវទំព័រដែលសមស្របទៅតាមសំណើខាងលើ ជាទម្រង់ HTML មកឲ្យខាងអ្នកប្រើប្រាស់វិញ។
Client-side & Server-side
នៅក្នុងការងារនេះ អ្នកអាចនឹងឧស្សាហ៍ឮគេនិយាយពាក្យ client និង server។ គេហៅវាកាត់ៗដោយបំបាត់ពាក្យ side។ បើយើងប្រៀបធៀបឲ្យងាយទៅ វាដូចជាអ្នកចូលហាងលក់សាច់មាន់បំពង ហើយកុម្មង់ភ្លៅមាន់បួនដុំ។
ក្នុងការប្រៀបធៀបនេះ យើងដែលជាអ្នកកុម្មង់គឺជាភ្ញៀវ (client) ហើយអ្នកទទួលការកុម្មង់ឬបុគ្គលិក គឺជាអ្នកបម្រើភ្ញៀវ (server)។ អ៊ីចឹង តើអ្នកគិតថាអ្នកនឹងទទួលបានអ្វី? ប្រាកដណាស់! គឺអ្នកនឹងទទួលបានភ្លៅមាន់បួនដុំទៅតាមការកុម្មង់ ក្រោយពេលពួកគេបំពងនិងខ្ចប់ឲ្យអ្នករួច។ អូ៎! កុំភ្លេចយកទឹកម្ទេសថែមផង។
Client-side
Client-side សំដៅយកការងារទាំងឡាយណាដែលត្រូវបានធ្វើនៅខាង client ឬលើកុំព្យូទ័ររបស់អ្នកប្រើប្រាស់។ មានន័យថា ការងារមួយចំនួនមិនត្រូវបានធ្វើនៅឯខាង server ទេ តែផ្ដល់ការងារនោះមកឲ្យខាង client ជាអ្នកអនុវត្តវិញ។ ឧទាហរណ៍ដូចជាការប្រើប្រាស់ JavaScript ដើម្បីបង្កើតកម្មវិធីលើទំព័រតែមួយ (single-page application), ឬក៏ការធីកយកអ៊ីមែល (Select all) ដែលអ្នកតែងឃើញនៅក្នុង Gmail និង Yahoo។ល។
Server-side
តាមអ្វីដែលបានរៀបរាប់ពីខាងលើ យើងអាចនិយាយបានថា server-side ជាការងារទាំងឡាយណាដែលត្រូវបានធ្វើនៅខាង server។ តើ server វាស្ថិតនៅឯណា? ជាទូទៅ វាស្ថិតនៅកន្លែងមួយឆ្ងាយពីយើង ហើយវាមានអាសយដ្ឋានជាក់លាក់ណាមួយដែលយើងអាចរកវាឃើញបាន។ ការងារចម្បងរបស់ server គឺចាំទទួលសំណើពីខាង client ហើយអនុវត្តទៅតាមសំណើនោះ។ វាអាចជាការគណនាដ៏ស្មុគស្មាញ, ការផ្ដល់ព័ត៌មានដែលចាំបាច់មកខាង client, ជាអ្នករក្សាទុកទិន្នន័យទុកប្រើការពេលក្រោយ។ល។
សាកល្បងគិត
នៅត្រង់នេះខ្ញុំលើកយកសេណារីយ៉ូពីរមកនិយាយ។
សេណារីយ៉ូទី១៖ សាច់គោអាំងរួចស្រាប់
- យើងចូលទៅហាងលក់សាច់គោអាំងមួយកន្លែង នៅម្ដុំផ្សារបឹងកេងកង
- យើងហៅអ្នករត់តុ
- យើងកុម្មង់សាច់គោអាំងទៅតាមតម្រូវការ
- យើងអង្គុយចាំសាច់គោ
- សាច់គោក៏មកដល់ យើងហូបបានភ្លាម!
សេណារីយ៉ូទី២៖ សាច់គោអាំងដោយភ្ញៀវ
- យើងចូលទៅហាងលក់សាច់គោអាំងមួយកន្លែង នៅម្ដុំផ្សារទួលគោក
- យើងហៅអ្នករត់តុ
- យើងកុម្មង់សាច់គោទៅតាមតម្រូវការ
- យើងអង្គុយចាំសាច់គោ
- សាច់គោក៏មកដល់ ប៉ុន្តែយើងត្រូវអាំងដោយខ្លួនឯង
- អាំងខ្លួនឯងហើយ ទើបយើងហូបបាន!
នៅក្នុងសេណារីយ៉ូទាំងពីរនេះ យើងអាចមើលឃើញដំណើរការចំនួនពីរខុសគ្នាគឺ៖ ឲ្យភ្ញៀវធ្វើការតិច និង ឲ្យភ្ញៀវធ្វើការច្រើន។ បើត្រឡប់មកមេរៀនយើងវិញ វាប្រៀបបានដូចជាបែបផែនអនុវត្តការងារចំនួនពីរយ៉ាង៖
- ឲ្យ client ធ្វើការតិចជាង server
- ឲ្យ client ធ្វើការច្រើនជាង server
សំណួរ៖ តើបែបផែនមួយណាដែលល្អប្រសើរជាង? ហេតុអ្វី?
សូមសាកល្បងឆ្លើយសំណួរដ៏ខ្លីនេះ។ អ្នកអាចឆ្លើយទុកក្នុងចិត្ត ឬក៏សរសេរជាមតិនៅខាងក្រោមមេរៀននេះ។ ខ្ញុំនឹងជួយបន្ថែមទៅលើការយល់ឃើញរបស់អ្នក។ ខ្ញុំឲ្យគន្លឹះបន្តិចថាការលើកយកករណី (សើៗ) មួយនេះមកបង្ហាញ វាជាការចាប់ផ្ដើមបណ្ដុះចិត្តគំនិតឲ្យយកចិត្តទុកដាក់នៅពេលអ្នកចាប់ផ្ដើមធ្វើវេបសាយមួយ។ ត្រឹមតែការថែមថយមួយចំណុចនេះ ក្នុងករណីជាក់ស្ដែង វាអាចជះឥទ្ធិពលយ៉ាងខ្លាំងទៅដល់ល្បឿនដំណើរការរបស់វេបសាយនោះ។ តែវាមានមូលហេតុផ្សេងទៀត ដែលអ្នកគួរតែសាកល្បងឆ្លើយ ដើម្បីបណ្ដុះគំនិតបន្ថែម។
ទំព័រឥតប្រែប្រួល & ទំព័រឌីណាមិក
ក្រៅអំពីរឿងរ៉ាវរបស់ server-side និង client-side, ចំណុចមួយនេះគឺជារឿងដែលយើងគួរដឹងជាចាំបាច់ដែរ ពីព្រោះថាវាជារឿងបឋម ហើយក៏ជារឿងស្នូលនៅក្នុងការសិក្សាអំពីការអភិវឌ្ឍវេប។
ទំព័រឥតប្រែប្រួល – Static Web Page
ទំព័រឥតប្រែប្រួល គឺជាទំព័រវេបដែលគេសរសេររួចហើយស្រាប់ មានរក្សាទុកនៅឯម៉ាស៊ីនបម្រើ (server) ហើយបង្ហាញទៅឲ្យអ្នកប្រើតាមអ្វីដែលវាមាន។ និយាយឲ្យខ្លីគឺ សរសេរទុកយ៉ាងម៉េច បង្ហាញមកយ៉ាងហ្នឹង។ ទោះបីជានរណាម្នាក់បើកទំព័រនោះ ក៏ពួកគេឃើញមាតិកាដូចៗគ្នា គ្មានអ្វីប្រែប្រួលដូចទំព័រឌីណាមិកនោះទេ។
បើយើងនិយាយម្យ៉ាងទៀត វាមិនខុសអីពីឯកសារ txt ដែលយើងសរសេរទុកនៅលើហាតឌីស ហើយបើកមើលម្ដងណា ក៏វានៅតែប៉ុណ្ណឹងដដែល។ ទោះឲ្យនរណាបើកមើល ក៏នៅតែប៉ុណ្ណឹង គឺវាគ្មានការប្រែប្រួលទៅតាមបរិបទនោះទេ។
ទំព័រឥតប្រែប្រួលនេះ ច្រើនតែជាប្រភេទ .html ពីព្រោះថា HTML គឺជា[ទម្រង់]ឯកសារចម្បងបំផុតនៅក្នុងការបង្កើតវេប ហើយវាជាអ្វីដែល browser អាចអាននិងប្រែឲ្យយើងអាចឃើញបាន។ យើងនឹងជជែកបន្ថែមអំពី HTML នៅមេរៀនខាងមុខទៀត។ ប្រសិនបើគេចង់កែសម្រួលមាតិកានៅក្នុងនោះ គេចាំបាច់ត្រូវកែកូដរបស់វា រួចទើបអាប់ឡូតចូលទៅក្នុងម៉ាស៊ីនបម្រើម្ដងទៀត។
គុណសម្បត្តិ
- ងាយស្រួលបង្កើត
- មិនត្រូវការម៉ាស៊ីនបម្រើធំ
- ត្រូវការកន្លែងទុកតូចល្មម
- មានល្បឿនលឿន
- ចំណាយថវិកាមិនច្រើន
- មិនសូវខ្វាយខ្វល់ច្រើនអំពីសុវត្ថិភាព
- មិនត្រូវការមូលដ្ឋានទិន្នន័យ
គុណវិបត្តិ
- គ្មានភាពបត់បែន
- ទំព័រនៅតែមួយបែប
- ពិបាកក្នុងការផ្លាស់ប្ដូរមាតិកានៅថ្ងៃក្រោយ
- បានត្រឹមតែបង្ហាញព័ត៌មានធម្មតានិងមានកំណត់រួចស្រាប់
ទំព័រឌីណាមិក – Dynamic Web Page
កូដក្នុងការបកស្រាយផ្នែកនេះគឺ !static_web_page ។ និយាយលេងទេ, អ្នកប្រហែលត្រូវការការបកស្រាយលើសពីនេះ។ និយាយយ៉ាងខ្លីទៅចុះ ទំព័រឌីណាមិក គឺជាទំព័រដែលផ្ទុយពីទំព័រឥតប្រែប្រួល។ តើវាខុសគ្នាយ៉ាងដូចម្ដេចទៅ?
ទំព័រឌីណាមិក វាជាទំព័រដែលត្រូវបានបង្កើតឡើងដោយម៉ាស៊ីនបម្រើដែលស្ថិតនៅម្ខាងទៀតនៃទំនាក់ទំនង។ មាតិកាដែលមាននៅលើទំព័រឌីណាមិក គឺវាមានលទ្ធភាពប្រែប្រួលគ្រប់ពេលវេលា ឬក៏អាស្រ័យទៅលើសំណើនិងបរិបទរបស់អ្នកប្រើប្រាស់។ វាមិនមែននៅនឹងថ្កល់មួយកន្លែងដូចទំព័រឥតប្រែប្រួលនោះទេ។
ឧទាហរណ៍ងាយៗដែលយើងធ្លាប់ឃើញនោះគឺ Facebook។ យើងតែងតែឃើញវាផ្លាស់ប្ដូរទំព័រស្ទើរតែគ្រប់ពេលវេលា ឬរាល់ពេលដែលមានបច្ចុប្បន្នភាពថ្មីៗពីមិត្តភក្ដិរបស់យើង។ យើងមើល Google វាផ្លាស់ប្ដូរមាតិកាក្នុងទំព័រស្វែងរក រាល់ពេលយើងផ្លាស់ប្ដូរពាក្យគន្លឹះ។ វាមិនបានបង្កើតទំព័រលទ្ធផលសម្រាប់ពាក្យគន្លឹះរួចជាមុនទេ តែវាបង្កើតទំព័រទាំងនោះដោយផ្អែកលើសំណើដែលវាទទួលបានម្ដងៗ។
គុណសម្បត្តិ
- មានភាពបត់បែន
- អាចបង្កើតកម្មវិធីវេបស្មុគស្មាញ
- បម្រើដល់ធុរកិច្ចនិងប្រព័ន្ធដំណើរការគ្រប់គ្រងរបស់ស្ថាប័ន
- ងាយស្រួលក្នុងការគ្រប់គ្រងមាតិកា
- ផ្លាស់ប្ដូរមាតិកាដោយមិនចំណាយពេលយូរ
- ផ្ដល់ទំព័រទៅតាមតម្រូវការរបស់អ្នកប្រើប្រាស់
គុណវិបត្តិ
- ចំណាយថវិកាច្រើនគួរសម (ឬលើសលប់)
- ត្រូវការម៉ាស៊ីនបម្រើដែលមានល្បឿនលឿន (អាស្រ័យទៅតាមប្រភេទកម្មវិធីវេប)
- អាចមានល្បឿនយឺត ប្រសិនបើមានការរៀបចំស្មុគស្មាញ
- ត្រូវគិតគូរឲ្យបានម៉ត់ចត់អំពីសុវត្ថិភាព ជាពិសេសប្រសិនបើកម្មវិធីវេបនោះបម្រើការគ្រប់គ្រងព័ត៌មានសំខាន់ៗ
ចុះតើត្រូវប្រើមួយណា? មែនទែនទៅ បើនិយាយឲ្យងាយបំផុតនោះ ក្នុងការងារជាក់ស្ដែង គេប្រើវាទាំងពីរបូកបញ្ចូលគ្នា។
How Internet Works
បន្ថែមនៅលើផ្នែក «ទិដ្ឋភាពទូទៅ» នេះជាការពន្យល់តាមរូបមួយទៀតជាគំនូរត្លុក។ មើលរូបនេះហើយ សាកល្បងបកស្រាយវាទៅមើល៍!

ផ្អាកបន្តិច – សាកល្បងគិតនិងរំឭកអំពីចំណុចគោលៗនៅក្នុងមេរៀនមួយនេះ ហើយសាកល្បងបកស្រាយវាទៅតាមការនឹកឃើញនិងការចងចាំ។ ធ្វើបែបនេះ អ្នកអាចជួយអភិវឌ្ឍការចងចាំនិងការយល់អំពីមេរៀននីមួយៗ។
សេចក្ដីសន្និដ្ឋាន
ទាំងអស់នេះគឺជាការណែនាំខ្លះៗអំពីការអភិវឌ្ឍវេប។ វាមិនទាន់គ្រប់គ្រាន់នៅឡើយទេ ពីព្រោះបើសរសេរទាំងអស់ វាត្រូវការពេលវេលាច្រើន ហើយអាចនឹងហួសពីទំហំមេរៀន។ ខ្ញុំបានព្យាយាមតម្រឹមយកត្រឹមមួយសមល្មម ឲ្យអ្នកអាចដឹងត្រួសៗអំពីនិយមន័យនិងរឿងរ៉ាវមួយចំនួននៅក្នុងផ្នែកនេះ ហើយប្រាប់គោលៗដើម្បីឲ្យអ្នកអាចសិក្សាស្រាវជ្រាវបន្ថែមទៀត។
មុនបញ្ចប់ការអានមេរៀននេះ និងដើម្បីបន្ថែមចំណេះដឹងទៅលើផ្នែកនេះ ខ្ញុំចង់ឲ្យអ្នកសាកល្បងសិក្សាខ្លួនឯងបន្ថែមទៀតទៅលើចំណុចមួយចំនួនទៀតដូចជា (អាចមានចំណុចខ្លះ វាជ្រៅ)៖
- Hosting server
- DNS server
- Domain name
- TCP/IP
- Hypertext Transfer Protocol (HTTP)
- HTTP Secure
- File Transfer Protocol (FTP)
បើមានចម្ងល់ឬយោបល់ផ្សងៗនៅក្នុងមេរៀននេះ សូមសរសេរនៅខាងក្រោម។ ខ្ញុំនឹងព្យាយាមឆ្លើយតបតាមតែអាចធ្វើទៅបាន។ ជួបគ្នានៅសប្ដាហ៍ក្រោយ!