លំហសិក្សាធិការកម្ពុជា លំហសិក្សាធិការកម្ពុជា V1.0
ចូល ចុះឈ្មោះ
personal
មេរៀនទី ៧៖ ការរក្សាទុក Blockchain Data ដោយប្រើ CSV File

មេរៀនទី ៧ នេះផ្ដោតលើការរក្សាទុក Blockchain Data ទៅក្នុង CSV File។ នៅមេរៀនទី ៦ និស្សិតបានបង្កើត Blockchain សាមញ្ញដោយប្រើ Python List ដែលមាន Genesis Block និង Blocks ថ្មីៗ។ ប៉ុន្តែ Blockchain ដែលរក្សាទុកក្នុង Memory នឹងបាត់បង់នៅពេលកម្មវិធីបិទ។ ដូច្នេះ មេរៀននេះណែនាំពីរបៀប Save Blocks ទៅក្នុង blocks.csv, Load Blocks ត្រឡប់មកក្នុង Python, Save Transactions ទៅក្នុង transactions.csv, និង Convert List/Dictionary Data ទៅជា JSON String មុនដាក់ក្នុង CSV។ Python csv module គាំទ្រ reader, writer, DictReader, និង DictWriter សម្រាប់អាន និងសរសេរទិន្នន័យជា row ឬ dictionary form ។ ព្រោះ Block មាន transactions ជា List of Dictionaries យើងត្រូវប្រើ json.dumps() ដើម្បី serialize ទិន្នន័យនេះទៅជា JSON formatted string ហើយ json.loads() ដើម្បី convert ត្រឡប់មក Python object នៅពេល Load ពី CSV; Python documentation ក៏បញ្ជាក់ថា sort_keys=True អាចធ្វើឱ្យ dictionary keys ត្រូវបាន sort ដើម្បីជួយឱ្យ serialization មានលំដាប់ថេរ ។ មេរៀននេះជាជំហានសំខាន់សម្រាប់ Final Project ព្រោះវាធ្វើឱ្យ Blockchain Prototype អាចរក្សាទុក Records បានជាក់ស្តែង មុនបន្តទៅមេរៀនទី៨ ស្តីពី Blockchain Validation និង Tamper Detection។

25 Aug 2026 16:56 UTC
សេក សុជាតិ 0 22
personal
មេរៀនទី ៦៖ ការបង្កើត Blockchain សាមញ្ញក្នុង Python Console

មេរៀនទី ៦ នេះផ្ដោតលើការបង្កើត Blockchain សាមញ្ញក្នុង Python Console ដោយយកចំណេះដឹងពីមេរៀនមុនៗមកភ្ជាប់ជាប្រព័ន្ធតែមួយ។ នៅមេរៀនទី ៥ និស្សិតបានរៀនពី Transaction Structure និង Block Structure។ ក្នុងមេរៀននេះ និស្សិតនឹងរៀនបង្កើត Genesis Block, បន្ថែម Block ថ្មី, ភ្ជាប់ Block ដោយប្រើ previous_hash, បង្កើត current hash, រក្សាទុក Blocks ក្នុង Python List និងបង្ហាញ Blockchain នៅក្នុង Console។ Blockchain ត្រូវបានពន្យល់ដោយ NIST ថាជា Ledger ដែលមាន Blocks ភ្ជាប់គ្នាតាម Cryptographic Hashes និងអាចជួយឱ្យការកែប្រែទិន្នន័យត្រូវបានរកឃើញ [1]។ ក្នុងមេរៀននេះ និស្សិតនឹងប្រើ Python modules ដូចជា hashlib, json និង datetime ដើម្បីបង្កើត Hash និង Timestamp សម្រាប់ Block។ Python hashlib ផ្ដល់ interface សម្រាប់ secure hashes ដូចជា SHA-256 [2] ហើយ json.dumps(..., sort_keys=True) ជួយ serialize dictionary ដោយមានលំដាប់ key ថេរ មុនធ្វើ hashing [3]។ មេរៀននេះជាជំហានសំខាន់មុនទៅកាន់មេរៀនទី ៧ ដែលនឹងបន្តទៅ CSV-Based Blockchain Storage។

25 Aug 2026 16:19 UTC · បានកែប្រែ
សេក សុជាតិ 0 8
personal
មេរៀនទី ៥៖ ការរចនា Transaction និង Block សម្រាប់ Blockchain Console Application

មេរៀនទី ៥ នេះផ្ដោតលើការរចនា Transaction និង Block ដែលជារចនាសម្ព័ន្ធស្នូលរបស់ Blockchain។ នៅមេរៀនមុនៗ និស្សិតបានរៀនពី Python Console Application, Functions, Lists, Dictionaries, CSV File Handling និង SHA-256 Hashing។ មេរៀននេះនឹងភ្ជាប់ចំណេះដឹងទាំងនោះ ដើម្បីបង្កើត Certificate Transaction និង Blockchain Block ដោយប្រើ Python Dictionary។ ក្នុង Project នេះ Transaction មួយតំណាងឱ្យ Certificate Record មួយ ហើយ Block មួយជាក្រុមនៃ Transactions ដែលមាន fields សំខាន់ៗដូចជា index, timestamp, transactions, previous_hash, nonce និង hash។ NIST ពន្យល់ថា Blockchain អាចឱ្យអ្នកប្រើកត់ត្រា Transactions ក្នុង Shared Ledger ហើយ Blocks ត្រូវបានភ្ជាប់គ្នាតាម Cryptographic Hashes ដើម្បីធ្វើឱ្យប្រព័ន្ធមានលក្ខណៈ Tamper-Evident [1]។ Python time module ត្រូវបានប្រើសម្រាប់បង្កើត Timestamp ហើយ Python json module អាចប្រើសម្រាប់បម្លែង Dictionary ទៅជា JSON String មុនធ្វើ Hash [2], [3]។ មេរៀននេះជាមូលដ្ឋានសំខាន់សម្រាប់មេរៀនទី ៦ ដែលនឹងបង្កើត Simple Blockchain ពេញលេញក្នុង Console។

25 Aug 2026 15:54 UTC
សេក សុជាតិ 0 7
personal
មេរៀនទី ៤៖ ការប្រើ SHA-256 Hashing និងការពិនិត្យភាពត្រឹមត្រូវនៃទិន្នន័យ

មេរៀនទី ៤ នេះណែនាំនិស្សិតអំពីគោលគំនិតសំខាន់មួយរបស់ Blockchain គឺ Hashing។ បន្ទាប់ពីមេរៀនទី៣ ដែលនិស្សិតបានរៀនពី Console Menu និង CSV File Handling មេរៀននេះបន្តទៅការប្រើ Hash ដើម្បីពិនិត្យភាពត្រឹមត្រូវនៃទិន្នន័យ។ Hash អាចយល់បានថាជា “ស្នាមម្រាមដៃឌីជីថល” របស់ទិន្នន័យ។ ទិន្នន័យដូចគ្នានឹងបង្កើត Hash ដូចគ្នា ប៉ុន្តែបើកែតែអក្សរមួយ Hash នឹងផ្លាស់ប្តូរខ្លាំង។ ក្នុងមេរៀននេះ និស្សិតនឹងប្រើ Python hashlib ដើម្បីបង្កើត SHA-256 hash សម្រាប់អត្ថបទធម្មតា Certificate Record និង CSV Data។ Python Documentation បង្ហាញថា hashlib ផ្ដល់ interface សម្រាប់ secure hash និង message digest algorithms រួមទាំង SHA-256 [1]។ NIST Secure Hash Standard កំណត់លក្ខណៈស្តង់ដាររបស់ SHA-256 ដែលមាន message digest size 256 bits [2]។ មេរៀននេះជាមូលដ្ឋានសំខាន់មុនទៅកាន់ Block Hash, Previous Hash, Blockchain Validation និង Tamper Detection។

25 Aug 2026 14:21 UTC
សេក សុជាតិ 0 3
personal
មេរៀនទី ៣៖ ការបង្កើតម៉ឺនុយ Console និងការរក្សាទុកទិន្នន័យជាមួយ CSV

មេរៀនទី ៣ នេះបន្តពីមេរៀនទី ១ និងទី ២ ដោយផ្ដោតលើការបង្កើតកម្មវិធី Python Console ដែលមានម៉ឺនុយប្រើប្រាស់ច្បាស់លាស់ និងការរក្សាទុកទិន្នន័យវិញ្ញាបនបត្រទៅក្នុង CSV File។ នៅមេរៀនទី២ និស្សិតបានរៀនអំពី Functions, Lists, Dictionaries និង Certificate Transactions។ ប៉ុន្តែទិន្នន័យដែលរក្សាទុកក្នុង List នឹងបាត់បង់នៅពេលកម្មវិធីបិទ។ ដូច្នេះ មេរៀនទី៣ណែនាំពី File Storage ដោយប្រើ Python csv module ដើម្បីអាន សរសេរ បន្ថែម និងស្វែងរកទិន្នន័យក្នុង CSV File។ Python Documentation ពន្យល់ថា csv module ផ្ដល់ reader, writer, DictReader និង DictWriter សម្រាប់អាន និងសរសេរទិន្នន័យជា rows ឬ dictionary form [1]។ មេរៀននេះសំខាន់សម្រាប់ Final Project ព្រោះ CSV នឹងត្រូវប្រើសម្រាប់រក្សាទុក certificates, transactions, blocks, verification logs និង audit logs មុនពេលបន្តទៅ Hashing និង Blockchain Structure នៅមេរៀនបន្ទាប់ៗ។

25 Aug 2026 13:55 UTC · បានកែប្រែ
សេក សុជាតិ 0 6
personal
មេរៀនទី ២៖ ការពិនិត្យ Python និងរចនាសម្ព័ន្ធទិន្នន័យ Blockchain

មេរៀនទី ២ នេះផ្ដោតលើការរំលឹកចំណេះដឹង Python សំខាន់ៗដែលត្រូវប្រើសម្រាប់ការរៀបចំទិន្នន័យ Blockchain។ បន្ទាប់ពីមេរៀនទី ១ ដែលនិស្សិតបានរៀនអំពី Python Console Application, input(), print(), conditions និង loops មេរៀននេះបន្តទៅកាន់ functions, lists និង dictionaries។ គោលបំណងសំខាន់គឺឱ្យនិស្សិតយល់ថា Blockchain មិនចាប់ផ្ដើមពី Block ភ្លាមៗទេ ប៉ុន្តែចាប់ផ្ដើមពី Transaction ដែលជាកំណត់ត្រាទិន្នន័យមួយ។ ក្នុង Project នេះ Transaction មួយអាចតំណាងឱ្យ Certificate Record មួយ ដែលមាន Certificate ID, Student Name, Program, Certificate Title, Issue Date និង Status។ Python Documentation ពន្យល់ថា list គឺជារចនាសម្ព័ន្ធទិន្នន័យសម្រាប់រក្សាទុកធាតុជាច្រើន ហើយ dictionary គឺជារចនាសម្ព័ន្ធ key-value ដែលសមស្របសម្រាប់តំណាងឱ្យកំណត់ត្រាទិន្នន័យមួយ [1]. Blockchain ក៏ប្រើ Transaction ជាធាតុមូលដ្ឋានក្នុង ledger ដែលបន្ទាប់មកត្រូវបានដាក់ចូលក្នុង Block [2]. ដូច្នេះ មេរៀននេះជាជំហានសំខាន់សម្រាប់បង្កើត Certificate Transaction Manager មុននឹងបន្តទៅ CSV Storage, Hashing និង Block Creation។

25 Aug 2026 13:17 UTC · បានកែប្រែ
សេក សុជាតិ 0 15
personal
មេរៀនទី ១៖ ការរំលឹក Python មូលដ្ឋាន និងការណែនាំអំពី Blockchain

មេរៀននេះណែនាំនិស្សិតឱ្យចាប់ផ្ដើមរៀន Blockchain តាមរយៈការរំលឹកមូលដ្ឋាន Python Programming និងការបង្កើតកម្មវិធី Console Application សាមញ្ញ។ មុនពេលនិស្សិតអាចសរសេរកូដ Blockchain ដូចជា Transaction, Hash, Block, Previous Hash និង Chain Validation ពួកគេត្រូវយល់ជាមុនអំពី print(), input(), variables, conditions, loops និងរបៀបសរសេរកម្មវិធីដែលទទួលទិន្នន័យពីអ្នកប្រើប្រាស់។ បន្ទាប់ពីនោះ មេរៀននេះភ្ជាប់ចំណេះដឹង Python ទៅនឹងគំនិត Blockchain ដូចជា Digital Trust, Data Integrity, Certificate Verification និង Tamper Detection។ Blockchain ត្រូវបានពន្យល់ថាជាប្រព័ន្ធកត់ត្រាទិន្នន័យដែលប្រើ Cryptography ដើម្បីគាំទ្រការពារទិន្នន័យ និងធ្វើឱ្យការកែប្រែទិន្នន័យអាចត្រូវបានរកឃើញ។ NIST បានពន្យល់ថា Blockchain ជាបច្ចេកវិទ្យា Ledger ដែលមានលក្ខណៈ Tamper-Evident និងប្រើ Hashing, Blocks, Transactions និង Consensus Concepts ដើម្បីគាំទ្រការកត់ត្រាទិន្នន័យឌីជីថល [1].

25 Aug 2026 12:28 UTC · បានកែប្រែ
សេក សុជាតិ 0 110
personal
Design and Development of a Coffee and Snack Sales Management System Using PyQt6 and SQLite3

គម្រោង Design and Development of a Coffee and Snack Sales Management System Using PyQt6 and SQLite3 គឺជាប្រព័ន្ធ Desktop Application ពេញលេញ សម្រាប់គ្រប់គ្រងការលក់កាហ្វេ និងអាហារសម្រន់ក្នុងហាងខ្នាតតូច។ ប្រព័ន្ធនេះត្រូវបានអភិវឌ្ឍដោយប្រើ Python, PyQt6 សម្រាប់ផ្ទាំង GUI និង SQLite3 សម្រាប់មូលដ្ឋានទិន្នន័យ local។ មុខងារសំខាន់ៗរួមមាន Login និង Role-Based Access Control, Product Management, Inventory Management, Sales Transaction, Dashboard, Reports and CSV Export, User Management, Audit Log និង Database Backup។ គម្រោងនេះជួយបម្លែងដំណើរការគ្រប់គ្រងការលក់ និងស្តុកពីការកត់ត្រាដោយដៃ ឬ Excel ទៅជាប្រព័ន្ធឌីជីថលដែលមានលំដាប់ ត្រឹមត្រូវ និងងាយត្រួតពិនិត្យ។ លើសពីនេះ ប្រព័ន្ធក៏ផ្ដល់ឯកសារគាំទ្រ ដូចជា README, User Manual, Technical Documentation និង Testing Report ដែលអាចប្រើសម្រាប់ការសិក្សា ការពារ Project និងការអភិវឌ្ឍបន្តបាន។

21 Aug 2026 18:07 UTC · បានកែប្រែ
សេក សុជាតិ 0 31
personal
ការបំផុសគំនិតគម្រោងសំណើ R&D លើប្រធានបទ Coffee and Snack Sales Management System

អត្ថបទនេះបង្ហាញពីគំរូផ្លូវការសម្រាប់ការបំផុសគំនិតគម្រោងសំណើ Research and Development (R&D) លើប្រធានបទ Coffee and Snack Sales Management System។ គម្រោងនេះផ្ដោតលើការវិភាគបញ្ហាជាក់ស្ដែងក្នុងហាងកាហ្វេ និងអាហារសម្រន់ខ្នាតតូច ដែលនៅតែប្រើក្រដាស ឬកម្មវិធីតារាងសម្រាប់កត់ត្រាការលក់ ស្តុក និងរបាយការណ៍ប្រចាំថ្ងៃ។ អត្ថបទនេះណែនាំពីរបៀបបម្លែងបញ្ហាជាក់ស្ដែងទៅជាគម្រោងកម្មវិធី ដោយកំណត់ Problem Statement, Objectives, Stakeholders, User Needs, Functional Requirements, Non-functional Requirements, System Modules, Workflow, UI/UX Prototype, System Architecture, Database Design, Expected Outputs, Work Plan និង Evaluation Plan។ លើសពីនេះ អត្ថបទក៏បង្ហាញកន្លែងដែលគួរដាក់រូបភាព តារាង ក្រាហ្វ លំហូរ និងរបៀបដាក់ IEEE Citation ក្នុងអត្ថបទ ដើម្បីឱ្យនិស្សិតអាចរៀបចំគម្រោងសំណើបានមានលក្ខណៈសិក្សា ផ្លូវការ និងមានមូលដ្ឋានប្រភពច្បាស់លាស់។

21 Aug 2026 17:10 UTC · បានកែប្រែ
សេក សុជាតិ 0 30
personal
ប្រធានបទគំរូ៖ Coffee and Snack Sales Management System

អត្ថបទគំរូនេះបង្ហាញពីរបៀបបំផុសគំនិតគម្រោងសំណើ R&D សម្រាប់ប្រធានបទ Coffee and Snack Sales Management System ដោយផ្ដោតលើការស្វែងរកបញ្ហាពិតក្នុងហាងកាហ្វេ និងអាហារសម្រន់ ការកំណត់តម្រូវការអ្នកប្រើ ការបំលែងបញ្ហាទៅជា Modules របស់ប្រព័ន្ធ ការរៀបចំ Scope, Functional Requirements, Non-functional Requirements, Workflow, UI/UX Prototype, System Architecture, Database Design, Expected Outputs, Work Plan និង Evaluation Plan។ អត្ថបទនេះក៏ណែនាំកន្លែងដែលគួរដាក់រូបភាព តារាង ក្រាហ្វ លំហូរ និងភស្តុតាងផ្សេងៗ ដើម្បីធ្វើឱ្យ Proposal មានភាពច្បាស់ និងងាយការពារ។ លើសពីនេះ អត្ថបទបានបង្ហាញរបៀបដាក់ IEEE Citation ក្នុងអត្ថបទ ដើម្បីឱ្យនិស្សិតចេះយោងប្រភពផ្លូវការ និងរៀបចំ References ឱ្យមានលក្ខណៈសិក្សា។

21 Aug 2026 16:27 UTC · បានកែប្រែ
សេក សុជាតិ 0 2
personal
មេរៀនទី ១៨៖ Writing the Final R&D Report, Research Article and Final Defense Presentation

មេរៀនទី ១៨ នេះ គឺជាមេរៀនបញ្ចប់សម្រាប់ផ្នែក Research and Development Project ដែលបានបន្ថែមលើវគ្គ Python Programming II។ មេរៀននេះណែនាំនិស្សិតពីរបៀបសរសេរ Final R&D Report, Research and Development Article, និងរៀបចំ Final Defense Presentation ដោយយោងលើគម្រោង Coffee and Snack Sales Management System ដែលបានបង្កើតដោយប្រើ Python, PyQt6 និង SQLite3។ បន្ទាប់ពីនិស្សិតបានរៀនពីការបំផុសគំនិតគម្រោង និងការសរសេរ Proposal នៅមេរៀនទី១៦ និងទី១៧ មេរៀននេះនឹងបង្ហាញពីរបៀបបម្លែងលទ្ធផលអភិវឌ្ឍកម្មវិធីទៅជាឯកសារសិក្សាផ្លូវការ។ និស្សិតនឹងរៀនសរសេរ Abstract, Keywords, Introduction, Related Work, Methodology, System Design, Implementation, Testing and Results, Discussion, Conclusion, Future Work, References និង Appendices។ មេរៀននេះក៏ណែនាំពីរបៀបបង្ហាញលទ្ធផល Project ក្នុងស្លាយការពារចុងក្រោយ ដោយមានលំដាប់ច្បាស់ មានភស្តុតាង និងមាន Demo Flow ដែលអាចការពារបាន។

21 Aug 2026 16:19 UTC · បានកែប្រែ
សេក សុជាតិ 0 7
personal
មេរៀនទី ១៧៖ Writing a Formal R&D Project Proposal and Proposal Defense

មេរៀនទី ១៧ នេះ ផ្ដោតលើការណែនាំនិស្សិតឱ្យចេះបម្លែងគំនិតគម្រោងដែលបានបំផុស និងរៀបចំនៅមេរៀនទី១៦ ទៅជា គម្រោងសំណើ R&D ផ្លូវការ។ គម្រោងសំណើមានតួនាទីសំខាន់ក្នុងការបង្ហាញថា និស្សិតបានយល់បញ្ហា មានគោលបំណងច្បាស់ មានដំណោះស្រាយសមស្រប មានគម្រោងអភិវឌ្ឍអាចអនុវត្តបាន និងមានគំរូដំបូងសម្រាប់ប្រព័ន្ធដែលនឹងបង្កើត។ ក្នុងមេរៀននេះ យើងប្រើគំរូ Coffee and Snack Sales Management System ដើម្បីបង្ហាញរបៀបសរសេរ Title, Background, Problem Statement, Objectives, Research and Development Questions, Scope, Requirements, UI/UX Prototype, System Architecture, Database Conceptual Design, Methodology, Work Plan, Expected Outputs, Evaluation Criteria និង Proposal Defense Slides។ មេរៀននេះជាដំណាក់កាលសំខាន់មុននិស្សិតចាប់ផ្ដើមអភិវឌ្ឍកម្មវិធីពេញលេញ។

21 Aug 2026 16:11 UTC · បានកែប្រែ
សេក សុជាតិ 0 9
1 2 3 4 5 6 7 8 9 10 11 12 13