វិធាននៃកម្មវិធីស្មាន់ពិតប្រាកដ
បាល់ចាប់ផ្តើមនៅទីតាំងសញ្ញាសូន្យ និងធ្វើចលនាឆ្វេង/ស្តាំដោយសេរីចំនួនដប់ពីរដង។ កំណត់ចលនាស្តាំជាលេខមួយ និងចលនាឆ្វេងជាលេខសូន្យ។ ចាប់ផ្តើមជាមួយតម្លៃ checksum h ជាសូន្យ; បន្ទាប់ពីរាល់ជំហានមួយ ធ្វើបច្ចុប្បន្នភាព h=(2h+bit) modulo ប្រាំ។ ពិន្ទុដើមគឺជាលទ្ធផលនៃការការេនៃទីតាំងចុងក្រោយ លុះត្រាតែតម្លៃ checksum ចុងក្រោយស្មើពីរ; បើមិនដូច្នោះទេ ពិន្ទុដើមគឺសូន្យ។ ទោះបីជា checksum ដែលឆ្លងកាត់មានទីតាំងចុងក្រោយស្មើសូន្យក៏ដោយ ក៏វានៅតែផ្តល់ពិន្ទុសូន្យដែរ។ ការភ្នាល់ពេញលេញដែលបានចាប់យកគ្របដណ្តប់លើផ្លូវទាំងមូល។
ទាំងនេះគឺជាវិធានដើមរបស់ការណែនាំនេះ។ ការស្រដៀងគ្នាខាងវិចិត្រសាល ឈ្មោះប្រភេទហ្គេម និងការបកស្រាយស្វែងរក មិនផ្តល់ភស្តុតាងអំពីហ្គេមពាណិជ្ជកម្មខាងក្រៅទេ។
ឧទាហរណ៍ការគណនាពិន្ទុជាក់ស្តែង
ការបញ្ជាទាំងអស់ឆ្វេងនឹងធ្វើឱ្យ checksum ស្មើសូន្យ និងពិន្ទុស្មើសូន្យ។ ការបញ្ជាទាំងអស់ស្តាំនឹងកំណត់លេខ 4095 ដែលស្មើសូន្យ modulo ប្រាំ ហើយក៏ផ្តល់ពិន្ទុសូន្យដែរ ទោះបីជាទីតាំងចុងក្រោយស្មើដប់ពីរក៏ដោយ។ ការបញ្ជាឆ្វេងដប់មួយដងបន្ទាប់មកស្តាំមួយដងនឹងផ្តល់ checksum មួយ និងពិន្ទុសូន្យ។ ការបញ្ជាឆ្វេងដប់ដងបន្ទាប់មកស្តាំមួយដង និងឆ្វេងមួយដងនឹងកំណត់លេខពីរ បញ្ចប់នៅទីតាំងដកដប់ និងផ្តល់ពិន្ទុ 100។ តម្លៃ checksum ចុងក្រោយដែលឆ្លងកាត់គឺចាំបាច់; តម្លៃ checksum ពីរក្នុងអំឡុងដំណើរការមិនបង្កើតក្រេឌិតទេ។
អត្រាប្រាក់ចំណេញសុទ្ធស្រាល់តាមការគណនាជាក់លាក់
រាប់បញ្ជីលំនាំទាំងអស់ដែលមានការជ្រើសរើសពី ១២ ជម្រើសចំនួន ៤០៩៦ ដែលមានឱកាសស្មើគ្នា ហើយគណនាមធ្យមភាពជាក់លាក់ដាច់ដោយឡែកសម្រាប់របៀបទម្ងន់នីមួយៗ។ ជ្រើសរើសទាប មធ្យម ឬខ្ពស់មុនពេលចាប់ផ្តើមជុំ។ លទ្ធផលវិជ្ជមានទទួលបានការទម្ងន់ជាឫសការ៉េ អត្តសញ្ញាណ ឬការ៉េតាមលំដាប់លំដោយ; សូន្យនៅតែជាសូន្យ។
ក្រេឌីតស្មាន់សរុបស្មើនឹងភាគរយនៃការភ្នាល់ដែលបានចាប់យក គុណនឹង ០.៩៦ គុណនឹងទម្ងន់ដែលបានសង្កេត ចែកនឹងមធ្យមភាពជាក់លាក់ដែលត្រូវគ្នា។ របៀបនីមួយៗមានអត្រាប្រាក់ចំណូលសរុបសង្កេតជាក់លាក់ ៩៦%។ មិនមានការបង់ប្រាក់ដាច់ដោយឡែកសម្រាប់ការចែកបន្ទាត់ទេ។ ភាគរយនៃការភ្នាល់ត្រូវបានកាត់ចេញនៅពេលចាប់ផ្តើម ដូច្នេះក្រេឌីតសរុបរួមបញ្ចូលផ្នែកនៃភាគរយនៃការភ្នាល់ ហើយមិនមែនជាប្រាក់ចំណេញសុទ្ធទេ។
របៀបទាំងនេះរក្សាប្រេកង់នៃលទ្ធផលវិជ្ជមាន ខណៈពេលដែលផ្លាស់ប្តូរក្រេឌីតវិជ្ជមានបន្ទាប់ពីការធ្វើឱ្យមានលក្ខណៈស្តង់ដារ។ ការរំពឹងទុកមិនមែនជាឱកាស ៩៦% ក្នុងការឈ្នះ ឬការធានាតុល្យភាពក្នុងអំឡុងពេលលេងទេ។ លទ្ធផលពីមុនមិនធ្វើឱ្យលទ្ធផលបន្ទាប់មានលក្ខណៈល្អទេ។
ការកំណត់ដែលបានចាប់យក និងកាត់ប្រាក់កក់ដែលបានរក្សាទុក
កាត់ប្រាក់កក់ក្នុងកម្មវិធីរុករកថ្មីចាប់ផ្តើមដោយមានកាក់ស្មាន់សេរីចំនួន ១,០០០។ តុល្យភាពដែលបានបិទបញ្ចប់ និងក្រេឌីតប្រភាគរក្សាទុកក្នុង localStorage។ ការផ្ទុកឡើងវិញមិនបំពេញបន្ថែមទឹកប្រាក់ដែលបានបិទបញ្ចប់ទេ; ការលុបកាស្សេមអាចនឹងទុក localStorage ឱ្យនៅដដែល។ ប្រភាគសន្សំសម្រុកមុនពេលកាក់ពេលមានតម្លៃត្រូវបានប្រគល់។
អាចមានការដួលចុះដែលមានតម្លៃដាច់ដោយឡែកចំនួនប្រាំមួយកំពុងដំណើរការ។ ការដួលចុះរក្សាការកំណត់ដែលបានចាប់យក; ការផ្លាស់ប្តូរការគ្រប់គ្រងមានផលប៉ះពាល់តែលើការចាប់ផ្តើមនាពេលអនាគតប៉ុណ្ណោះ។ ការចាប់ផ្តើមស្វ័យប្រវត្តិអតិបរមាចំនួនដប់ជុំ; ការឈប់បោះបង់ការចាប់ផ្តើមនាពេលអនាគតខណៈដែលលទ្ធផលសកម្មកំពុងបិទបញ្ចប់។ ការបំពេញបន្ថែមនៅតែជាប់រហូតដល់លទ្ធផលសកម្មទាំងអស់ និងការចាប់ផ្តើមក្នុងជួររងចាំបញ្ចប់។ ការបំពេញបន្ថែមដោយដៃជាជម្រើសអាចមាននៅពេលស្ងប់ស្ងាត់ ប្រសិនបើតុល្យភាពទាបជាងដប់; វាដាក់តុល្យភាពទៅ ១,០០០ និងរក្សាបន្ទុក។ វាមិនមែនជាស្វ័យប្រវត្តិទេ ហើយមិនបន្ថែម ១,០០០ ទេ។
ការផ្ទុកក្នុងម៉ាស៊ីនក្នុងស្រុក និងការស្នើសុំពីខាងក្រៅ
កម្មវិធីរុករករក្សាទុកទឹកប្រាក់ដែលបានដាក់ចូល និងការផ្ទេរកម្ចីជាផ្នែកតូចៗជាស្ថានភាពល្បែងនៅក្នុងម៉ាស៊ីន។ ទិន្នន័យទាំងនេះមិនមែនជាគណនីអនឡាញទេ ហើយវាមិនផ្តល់សេវាកម្មស្តារទិន្នន័យ ឬការសម្របសម្រួលរវាងឧបករណ៍ផ្សេងៗគ្នាទេ។ ការលុបទិន្នន័យកម្មវិធីរុករកអាចនឹងលុបទិន្នន័យទាំងនេះចោល; ការលុប cache តែឯងអាចនឹងមិនលុបវាទេ។
ទំព័រទាំងនេះស្នើសុំ Google Fonts និងកម្មវិធីវិភាគ Statinside។ កំណត់ត្រាសេវ័រ/CDN និងការស្នើសុំពីខាងក្រៅអាចនឹងបង្ហាញអាសយដ្ឋាន IP, កម្មវិធីរុករក, ឧបករណ៍ និងព័ត៌មានលម្អិតនៃការស្នើសុំ។ មិនមានភាពអនាមិក, អាយុកាលនៃកុក្កី, ការគ្មានការតាមដាន ឬការពិពណ៌នាពេញលេញអំពីការដំណើរការពីភាគីទីបីទេ។ ការគ្មានទម្រង់សម្រាប់បញ្ចូលព័ត៌មានផ្ទាល់ខ្លួន មិនមានន័យថាការរុករកមិនបង្កើតកំណត់ត្រាទិន្នន័យផ្ទាល់ខ្លួនទេ។
ដែនកំណត់នៃការអះអាងពីខាងក្រៅ
អត្តសញ្ញាណអាជីវកម្មពីខាងក្រៅ, វេបសាយផ្លូវការ, សេចក្តីសន្និដ្ឋានសុវត្ថិភាពពាណិជ្ជកម្ម, អាជ្ញាប័ណ្ណ, សេវាកម្មហិរញ្ញវត្ថុ ឬប៉ុស្តិ៍គាំទ្រមួយចំនួនមិនត្រូវបានផ្ទៀងផ្ទាត់នៅទីនេះទេ។ រូបសញ្ញា, លំដាប់លំដោយក្នុងការស្វែងរក, ឈ្មោះ ឬចំណុចប្រទាក់ដែលមានមុខសញ្ញាវិជ្ជាជីវៈ មិនមានន័យថាបង្កើតពិតប្រាកដនូវការអះអាងទាំងនេះទេ។ HTTPS អ៊ិនគ្រីបការផ្ទេរទិន្នន័យទៅកាន់ម៉ាស៊ីនមេជាក់លាក់មួយ; វាមិនបញ្ជាក់អំពីអាជីវកម្មរបស់ម៉ាស៊ីនមេទេ។
កម្មវិធីស៊ីមុយឡាទ័រមិនអាចសាកល្បងភាពឆ្លើយតបពីខាងក្រៅ, ការបង់ប្រាក់ពាណិជ្ជកម្ម, គណនី, មូលនិធិ ឬការធ្វើប្រតិបត្តិការបានទេ។ មិនមានប្រវត្តិសាកល្បងពាណិជ្ជកម្ម, ការគាំទ្រពីអ្នកគ្រប់គ្រង ឬក្រុមអ្នកនិពន្ធដែលមានទំនាក់ទំនងដែលបានផ្ទៀងផ្ទាត់ ត្រូវបានបង្កើតឡើងសម្រាប់ទំព័រទាំងនេះទេ។
ការលេងលើកម្មវិធីរុករក និងភស្តុតាងកម្មវិធី
មិនមានកម្មវិធីអនុវត្តដើមដែលបានផ្ទៀងផ្ទាត់ ឬ APK ប័ត្រសញ្ជាតិអ្នកចេញ កំណែកញ្ចប់ ឬប៉ុស្តិ៍ធ្វើបច្ចុប្បន្នភាពត្រូវបានផ្តល់នៅទីនេះទេ។ ម៉ាស៊ីនស៊ីមុយឡាទ័រដំណើរការនៅក្នុងកម្មវិធីរុករកប្លោករ ដោយមិនចាំបាច់ដំឡើង។ ឈ្មោះឯកសារ រូបសញ្ញា ទំហំឯកសារ ឬស្លាកកំណែតែមួយមុខ មិនអាចបញ្ជាក់អំពីប្រភព ឬសុវត្ថិភាពនៃកញ្ចប់បានទេ។
ការប្រៀបធៀបកូដ hash គឺប្រៀបធៀបបៃតាត់នឹងឯកសារយោងដែលទុកចិត្តបាន; វាមិនបញ្ជាក់ថា កម្មវិធីដែលត្រូវបានយោងគឺមានសុវត្ថិភាពនោះទេ។ ទំព័រនេះមិនផ្តល់តំណភ្ជាប់ ឬការណែនាំដំឡើងណាមួយដើម្បីលុបបំបាត់ការព្រមានឧបករណ៍ទេ។ លទ្ធផលហ្គេមប្លោករ មិនវាយតម្លៃកម្មវិធីខាងក្រៅទេ។
ការប្រើប្រាស់សម្រាប់មនុស្សពេញវ័យ និងព្រំដែនពេលវេលា
ការណែនាំ និងម៉ាស៊ីនស៊ីមុយឡាទ័រនេះសម្រាប់មនុស្សពេញវ័យអាយុពីរ៉ាប់ឆ្នាំឡើងទៅ។ នេះគឺជាបទបញ្ជាទីតាំងគេហទំព័ររបស់យើង មិនមែនជាការកំណត់អំពីសមត្ថភាពលេងល្បែង ការប្រើប្រាស់តាមតំបន់ ឬការអនុញ្ញាតតាមតំបន់ទេ។ សំណួរដែលពាក់ព័ន្ធនឹងតំបន់ជាក់លាក់ តម្រូវឱ្យមានប្រភពមូលដ្ឋានដែលមានសមត្ថភាព។
ជ្រើសរើសពេលវេលាឈប់នៅខាងក្រៅហ្គេម យកការសម្រាក និងចាកចេញនៅពេលដែលពេលវេលាមកដល់។ ការបំពេញបន្ថែមឥតគិតថ្លៃគឺជាជម្រើស មិនមែនជាភាពចាំបាច់ក្នុងការបន្តលេងទេ។ ប្រសិនបើការលេងល្បង់បំភាន់សកម្មភាពផ្សេង ឬមានអារម្មណ៍ថាពិបាកក្នុងការឈប់ សូមស្វែងរកការគាំទ្រពីអ្នកជំនាញមូលដ្ឋាន; មិនមានការធ្វើរោគវិនិច្ឆ័យ កម្រិតសញ្ញាណ ឬការអះអាងពីការព្យាបាលណាមួយត្រូវបានផ្តល់នៅទីនេះទេ។
សំណួរដែលគេសួរញឹកញាប់
តើទំព័រគេហទំព័រនេះជាគេហទំព័រអ្នកដំណើរការដែលបានផ្ទៀងផ្ទាត់ដែរឬទេ?
ទេ។ ការណែនាំនេះផ្តល់ម៉ាស៊ីនស៊ីមុយឡាទ័រផ្ទាល់ខ្លួនរបស់វា ហើយមិនផ្ទៀងផ្ទាត់ការភ្ជាប់ពាណិជ្ជកម្មខាងក្រៅណាមួយទេ។
តើពិន្ទុដើមត្រូវបានកំណត់យ៉ាងដូចម្តេច?
បាល់ចាប់ផ្តើមនៅទីតាំងសូន្យដែលបានចុះហត្ថលេខា ហើយធ្វើចលនាទៅឆ្វេង/ស្តាំចំនួនដប់ពីរដងដោយសេរី។ កំណត់តម្លៃស្តាំជា ១ និងឆ្វេងជា ០។ ចាប់ផ្តើម checksum h នៅសូន្យ; បន្ទាប់ពីរាល់ជំហានមួយ ធ្វើបច្ចុប្បន្នភាព h=(2h+bit) modulo ៥។ ស្ថានភាពសុទ្ធគឺជាការការេនៃទីតាំងចុងក្រោយ លុះត្រាតែ checksum ចុងក្រោយស្មើ ២; បើមិនដូច្នោះទេ ស្ថានភាពសុទ្ធគឺសូន្យ។ checksum ដែលមានលក្ខខណ្ឌពេញលេញជាមួយទីតាំងចុងក្រោយសូន្យ នៅតែផ្តល់ស្ថានភាពសូន្យ។ ការភ្នាល់ពេញលេញមួយគ្របដណ្តប់លើផ្លូវ។
តើឧទាហរណ៍នៃស្ថានភាពគឺជាអ្វី?
ការបញ្ជាទាំងអស់ទៅឆ្វេងនឹងទុក checksum ជាសូន្យ និងស្ថានភាពសូន្យ។ ការបញ្ជាទាំងអស់ទៅស្តាំកំណត់តម្លៃ ៤០៩៥ ដែលស្មើសូន្យ modulo ៥ ហើយក៏ផ្តល់ស្ថានភាពសូន្យដែរ ទោះបីជាចំណុចបញ្ចប់នៅ ១២ ក៏ដោយ។ ការបញ្ជាឆ្វេងដប់មួយដងបន្ទាប់មកការបញ្ជាស្តាំមួយផ្តល់ checksum មួយ និងស្ថានភាពសូន្យ។ ការបញ្ជាឆ្វេងដប់ដងបន្ទាប់មកស្តាប់បន្ទាប់មកឆ្វេងកំណត់តម្លៃពីរ បញ្ចប់នៅ -១០ និងផ្តល់ស្ថានភាព ១០០។ checksum ចុងក្រោយដែលមានលក្ខខណ្ឌពេញលេញគឺចាំបាច់; checksum ពីរនៅចន្លោះមិនបង្កើតកម្ចី។
ពិនិត្យមើលកម្មវិធីសាកល្បង Path Checksum Plinko នៅទំព័រដើម ដោយប្រើកាក់វិច្ឆ័យឥតគិតថ្លៃ។ ចាកចេញនៅពេលដែលអ្នកបានជ្រើសរើស។
លេងការសាកល្បងឥតគិតថ្លៃ