දුරස්ථ සර්වර් එකක් සහ ඔබේ පරිගණකයේ ෆෝල්ඩරයක් අතර ගොනු හුවමාරු කරන සමමුහුර්තකරණ මෙවලමක් නිර්මාණය කරන විට, කේතයේ සුළු ගැටලුවක් පවා පරිශීලකගේ වැඩ අහිමි කරවීමට හැකියාව තිබේ. මෙහිදී අපි හමුවූ හතරේ දෝෂ සහ ඒවා වැළැක්වීමේ ක්රම ගැන කෙටි විස්තරයක් ඉදිරිපත් කරමු.
- 1. os.WriteFile මගින් ගොනුව ත්රිත්වය කර ගැනීම – ලියන විට පළමුව ගොනුව හිස් කර පසුව ලියන නිසා, ක්රියාව අත්හිටුවීමේදී පරණ දත්ත අඩු වේ. විසඳුම: තාවකාලික ගොනුවකට ලියලා,
os.Renameමගින් පළමු ගොනුවට පරිවර්තනය කිරීම. මෙය ඒකාකාරී (atomic) ක්රියාවක් වන නිසා අඩු කොටසක් නොපැමිණේ. - 2. ටයිම්ස්ටෑම්/ETag මත පදනම් වූ ගැටළුව – සර්වර් සහ ලොකල් ගොනුව දෙකම වෙනස් වුවහොත්, මැට්රික්ස් පරීක්ෂාව මගින් පරිශීලකගේ වෙනස්කම් අතහැර දමයි. විසඳුම: ගොනුවේ හැෂ් (hash) පරීක්ෂා කර, පරණ හැෂ් සමඟ සමානදැයි බලන්න. හැෂ් එකම අධිකාරියයි.
- 3. "Delete what's not on the server" නීතිය – Prune/මිරර විකල්පය භාවිතා කරන විට, සින්ක් නොකළ ලොකල් ගොනු අහෝසි වේ. විසඳුම: ඔබේ ලෙඩ්ජරය (ledger) භාවිතා කර, ඔබ සින්ක් කළ ගොනු පමණක් මකා දමන්න. අර්ධ-අසම්පූර්ණ ධාවනයක් සිදු වුවහොත්, එය අසාර්ථක ලෙස ලියා තබා, prune ක්රියාව නොකරන්න.
- 4. දත්ත ආකෘතිය නොදන්නා අවස්ථාව – ගොනුවේ අන්තර්ගතය ඔබේ පද්ධතියට නොහැදින්වූ විට, අනුමාන කර ඉදිරියට යාමෙන් තවත් දෝෂ ඇතිවිය හැක. විසඳුම: අනිශ්චිත ආකෘතියක් එන විට, එය ප්රතික්ෂේප කර, පරිශීලකයාට නිවැරදි ආකෘතිය ලබා දීමට ඉල්ලන්න.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තරුණ සංවර්ධකයින්, ව්යාපාරිකයින් සහ විද්යාල සිසුන්ට මෙම උපදෙස් ඉතා ප්රයෝජනවත් වේ. ගොනු සමමුහුර්තකරණය භාවිතා කරන ආකාරය නිවැරදිව නොකළහොත්, පළමු ව්යාපාරික ව්යාපෘතියක හෝ අධ්යයන කාර්යයක දත්ත අහිමි වීමේ අවදානම ඉහළ යයි. අණුක (atomic) ලියන ක්රම, හැෂ් පරීක්ෂා කිරීම සහ ලෙඩ්ජරය භාවිතා කිරීම මගින් දත්ත ආරක්ෂාව වැඩි කර, ශ්රී ලංකාවේ තාක්ෂණික නිර්මාණශීලීත්වය සහ විශ්වාසය ඉහළ ගත හැක.
අවසන් වශයෙන්, ගොනු සමමුහුර්තකරණ මෙවලම් නිර්මාණය කරන සැමට “දත්ත අහිමි වීම” යන ගුප්ත අවදානම ගැන සැලකිල්ලෙන් සිටීමට, ඉහත සඳහන් නිරූපිත ක්රම අනුගමනය කිරීමට උපදෙස් දෙනු ඇත.