$lang['tuto'] = "ಟ್ಯುಟೋರಿಯಲ್"; ?> 0 ಮತ್ತು 1 ರ ನಡುವೆ

0 ಮತ್ತು 1 ರ ನಡುವೆ ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯವನ್ನು ರಚಿಸಲು ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು

Temp mail SuperHeros
0 ಮತ್ತು 1 ರ ನಡುವೆ ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯವನ್ನು ರಚಿಸಲು ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು
0 ಮತ್ತು 1 ರ ನಡುವೆ ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯವನ್ನು ರಚಿಸಲು ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು

ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್‌ನೊಂದಿಗೆ ಪ್ಲ್ಯಾಟ್‌ಫಾರ್ಮ್‌ಗಳಾದ್ಯಂತ ಯಾದೃಚ್ಛಿಕತೆಯನ್ನು ಹೆಚ್ಚಿಸುವುದು

ವೆಬ್, ನೋಡ್ಜೆಎಸ್ ಮತ್ತು ರಿಯಾಕ್ಟ್ ನೇಟಿವ್‌ಗಾಗಿ ಹಂಚಿದ ಕೋರ್ ಲೈಬ್ರರಿಯನ್ನು ನಿರ್ಮಿಸುವಾಗ, ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಾದ್ಯಂತ ಸ್ಥಿರತೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳುವುದು ನಿರಂತರ ಸವಾಲಾಗಿದೆ. 🤔 ನನ್ನ ಇತ್ತೀಚಿನ ಕೆಲಸದಲ್ಲಿ, ನಾನು ಸಮಸ್ಯೆಯನ್ನು ಗಮನಿಸಿದ್ದೇನೆ Math.random(), ವಿಶೇಷವಾಗಿ ರಿಯಾಕ್ಟ್ ನೇಟಿವ್ ನ ಕೆಲವು ಆವೃತ್ತಿಗಳಲ್ಲಿ. ಔಟ್‌ಪುಟ್ ಅನೇಕವೇಳೆ ತೊಂದರೆದಾಯಕ ಸಂಖ್ಯೆಯ ನಕಲುಗಳಿಗೆ ಕಾರಣವಾಯಿತು, ಅದರ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ನಾನು ಮರುಪರಿಶೀಲಿಸುವಂತೆ ಮಾಡಿತು.

ನಾನು ಪರ್ಯಾಯಗಳನ್ನು ಅನ್ವೇಷಿಸಿದಾಗ, ನನ್ನ ಲೈಬ್ರರಿ ಈಗಾಗಲೇ ಅವಲಂಬಿತವಾಗಿದೆ ಎಂದು ನಾನು ಅರಿತುಕೊಂಡೆ ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಕಾರ್ಯಗಳಿಗಾಗಿ SHA-256. ಸ್ವಾಭಾವಿಕವಾಗಿ, ಇದು ಯಾದೃಚ್ಛಿಕತೆಯ ದೃಢವಾದ ಮೂಲವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಬಹುದೇ ಎಂದು ನಾನು ಆಶ್ಚರ್ಯ ಪಡಲು ಪ್ರಾರಂಭಿಸಿದೆ. ಇದು ಕೋರ್ ಲೈಬ್ರರಿಯ ಪರಿಕರಗಳನ್ನು ಏಕೀಕರಿಸುವುದಲ್ಲದೆ ಪರಿಸರದಾದ್ಯಂತ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಉತ್ಪಾದನೆಯ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ.

ದಿ ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ದಸ್ತಾವೇಜನ್ನು CryptoJS.lib.WordArray.random ನೊಂದಿಗೆ ಆರಂಭಿಕ ಹಂತವನ್ನು ಒದಗಿಸಿದೆ, ಇದು ಯಾದೃಚ್ಛಿಕ ಬೈಟ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಆದರೆ ಆ ಬೈಟ್‌ಗಳನ್ನು 0-1 ಶ್ರೇಣಿಗೆ ಪರಿವರ್ತಿಸುವುದು, ಇದೇ ರೀತಿ Math.random(), ಮುಂದಿನ ತಾರ್ಕಿಕ ಹೆಜ್ಜೆಯಂತೆ ತೋರುತ್ತಿತ್ತು. ಇದು ನಿಜವಾಗಿಯೂ ಯಾದೃಚ್ಛಿಕ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಬಹುದೇ?

ಎಂಬುದನ್ನು ಈ ಲೇಖನದಲ್ಲಿ ನಾವು ಅನ್ವೇಷಿಸುತ್ತೇವೆ ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ 0 ಮತ್ತು 1 ರ ನಡುವೆ ವಿಶ್ವಾಸಾರ್ಹ ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯವನ್ನು ಉತ್ಪಾದಿಸಲು ಬಳಸಬಹುದು. ವೇದಿಕೆಯ ಸ್ಥಿರತೆಯನ್ನು ತಿಳಿಸುವಾಗ ಅದರ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪರಿವರ್ತಿಸುವ ವಿಧಾನವನ್ನು ನಾವು ಚರ್ಚಿಸುತ್ತೇವೆ. ಪರಿಹಾರಕ್ಕೆ ಧುಮುಕೋಣ ಮತ್ತು ಅದು ನಿಮ್ಮ ಯೋಜನೆಗಳನ್ನು ಹೇಗೆ ವರ್ಧಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡೋಣ! 🚀

ಆಜ್ಞೆ ಬಳಕೆಯ ಉದಾಹರಣೆ
CryptoJS.lib.WordArray.random ಯಾದೃಚ್ಛಿಕ ಬೈಟ್‌ಗಳ ಅನುಕ್ರಮವನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಇದು ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಲೈಬ್ರರಿಗೆ ನಿರ್ದಿಷ್ಟವಾಗಿದೆ ಮತ್ತು ದ್ರಾವಣದಲ್ಲಿ ಬಳಸಲಾದ ಕಚ್ಚಾ ಯಾದೃಚ್ಛಿಕತೆಯನ್ನು ಉತ್ಪಾದಿಸಲು ಅವಶ್ಯಕವಾಗಿದೆ. ಉದಾಹರಣೆ: CryptoJS.lib.WordArray.random(8) 8 ಯಾದೃಚ್ಛಿಕ ಬೈಟ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ.
.toString(CryptoJS.enc.Hex) WordArray ವಸ್ತುವನ್ನು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಸ್ಟ್ರಿಂಗ್ ಪ್ರಾತಿನಿಧ್ಯಕ್ಕೆ ಪರಿವರ್ತಿಸುತ್ತದೆ. ಯಾದೃಚ್ಛಿಕ ಬೈಟ್‌ಗಳನ್ನು ಓದಬಲ್ಲ ಮತ್ತು ಪರಿವರ್ತಿಸಬಹುದಾದ ಸ್ವರೂಪದಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಇದು ಪ್ರಮುಖವಾಗಿದೆ. ಉದಾಹರಣೆ: randomBytes.toString(CryptoJS.enc.Hex).
parseInt(hexString, 16) ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ದಶಮಾಂಶ ಪೂರ್ಣಾಂಕಕ್ಕೆ ಪರಿವರ್ತಿಸುತ್ತದೆ. ರಾ ಯಾದೃಚ್ಛಿಕ ಬೈಟ್‌ಗಳನ್ನು ಮತ್ತಷ್ಟು ಕುಶಲತೆಗಾಗಿ ಸಂಖ್ಯಾತ್ಮಕ ಸ್ವರೂಪಕ್ಕೆ ಪರಿವರ್ತಿಸಲು ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆ: parseInt("ff", 16) 255 ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.
BigInt ಸಾಮಾನ್ಯ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಪೂರ್ಣಾಂಕಗಳ ಗಾತ್ರದ ಮಿತಿಯನ್ನು ಮೀರಿದ ದೊಡ್ಡ ಸಂಖ್ಯೆಗಳನ್ನು ನಿಭಾಯಿಸುತ್ತದೆ. ಈ ಪರಿಹಾರದಲ್ಲಿ, 8-ಬೈಟ್ ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯಗಳ ಗರಿಷ್ಠ ಶ್ರೇಣಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆ: BigInt("0xffffffffffffff").
Math.pow ಸಂಖ್ಯೆಯ ಶಕ್ತಿಯನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುತ್ತದೆ. ಇಲ್ಲಿ, ಯಾದೃಚ್ಛಿಕ ಬೈಟ್‌ಗಳಿಗೆ ಸಂಭವನೀಯ ಮೌಲ್ಯಗಳ ಶ್ರೇಣಿಯನ್ನು ನಿರ್ಧರಿಸಲು ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆ: Math.pow(2, 64) 8-ಬೈಟ್ ಮೌಲ್ಯಗಳ ಒಟ್ಟು ಶ್ರೇಣಿಯನ್ನು ನೀಡುತ್ತದೆ.
describe Defines a test suite in Jest. It groups related tests for clarity and modularity. Example: describe("Random Number Generation Tests", () =>ಜೆಸ್ಟ್‌ನಲ್ಲಿ ಪರೀಕ್ಷಾ ಸೂಟ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ. ಇದು ಸ್ಪಷ್ಟತೆ ಮತ್ತು ಮಾಡ್ಯುಲಾರಿಟಿಗಾಗಿ ಸಂಬಂಧಿಸಿದ ಪರೀಕ್ಷೆಗಳನ್ನು ಗುಂಪು ಮಾಡುತ್ತದೆ. ಉದಾಹರಣೆ: ವಿವರಿಸಿ("ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಜನರೇಷನ್ ಪರೀಕ್ಷೆಗಳು", () => {...}).
test Specifies an individual test case in Jest. Each test validates one specific behavior of the function being tested. Example: test("Generated value should be between 0 and 1", () =>ಜೆಸ್ಟ್‌ನಲ್ಲಿ ವೈಯಕ್ತಿಕ ಪರೀಕ್ಷಾ ಪ್ರಕರಣವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಪ್ರತಿ ಪರೀಕ್ಷೆಯು ಪರೀಕ್ಷಿಸಲ್ಪಡುವ ಕಾರ್ಯದ ಒಂದು ನಿರ್ದಿಷ್ಟ ನಡವಳಿಕೆಯನ್ನು ಮೌಲ್ಯೀಕರಿಸುತ್ತದೆ. ಉದಾಹರಣೆ: test("ಉತ್ಪಾದಿತ ಮೌಲ್ಯವು 0 ಮತ್ತು 1 ರ ನಡುವೆ ಇರಬೇಕು", () => {...}).
expect ಪರೀಕ್ಷೆಯ ನಿರೀಕ್ಷಿತ ಫಲಿತಾಂಶವನ್ನು ಪ್ರತಿಪಾದಿಸಲು ಬಳಸಲಾಗುವ ಜೆಸ್ಟ್ ಫಂಕ್ಷನ್. ಉದಾಹರಣೆ: ನಿರೀಕ್ಷಿಸಬಹುದು(ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯ).
require ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಆಮದು ಮಾಡಲು Node.js ನಲ್ಲಿ ಬಳಸಲಾಗಿದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಇದು ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಲೈಬ್ರರಿ ಅಥವಾ ಪರೀಕ್ಷಿಸುತ್ತಿರುವ ಕಾರ್ಯವನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ. ಉದಾಹರಣೆ: const CryptoJS = ಅಗತ್ಯವಿದೆ("ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್");.
toBeLessThan ಮೌಲ್ಯವು ನಿಗದಿತ ಮಿತಿಗಿಂತ ಕಡಿಮೆಯಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುವ ಜೆಸ್ಟ್ ಮ್ಯಾಚರ್. ಉತ್ಪತ್ತಿಯಾದ ಮೌಲ್ಯಗಳು ಸರಿಯಾದ ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಬರುತ್ತವೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು ಉಪಯುಕ್ತವಾಗಿದೆ. ಉದಾಹರಣೆ: ನಿರೀಕ್ಷಿಸಬಹುದು(ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯ).

ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್‌ನೊಂದಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳನ್ನು ರಚಿಸುವುದು

ಮೊದಲು ಒದಗಿಸಿದ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು 0 ಮತ್ತು 1 ರ ನಡುವೆ ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯವನ್ನು ಉತ್ಪಾದಿಸುವುದರ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುತ್ತವೆ ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಗ್ರಂಥಾಲಯ, NodeJS, ರಿಯಾಕ್ಟ್ ಸ್ಥಳೀಯ ಮತ್ತು ವೆಬ್ ಪರಿಸರಗಳಿಗೆ ವೇದಿಕೆಯ ಸ್ಥಿರತೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಈ ವಿಧಾನವು ಕಡಿಮೆ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ Math.random(), ವಿಶೇಷವಾಗಿ ರಿಯಾಕ್ಟ್ ನೇಟಿವ್‌ನಲ್ಲಿ ನಕಲುಗಳಂತಹ ಯಾದೃಚ್ಛಿಕ ಸಮಸ್ಯೆಗಳು ಉದ್ಭವಿಸುವ ಸಂದರ್ಭಗಳಲ್ಲಿ. ಸನ್ನೆ ಮಾಡುವ ಮೂಲಕ CryptoJS.lib.WordArray.random, ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಯಾದೃಚ್ಛಿಕ ಬೈಟ್‌ಗಳನ್ನು ಅಡಿಪಾಯವಾಗಿ ಉತ್ಪಾದಿಸುತ್ತವೆ, ಅವುಗಳನ್ನು ಗಣಿತದ ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ ಸೂಕ್ತವಾದ ಸಂಖ್ಯೆಗಳಾಗಿ ಪರಿವರ್ತಿಸುತ್ತವೆ. ಇದು ಎಲ್ಲಾ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಲ್ಲಿ ಏಕರೂಪದ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಉತ್ಪಾದನೆಯ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಖಾತ್ರಿಗೊಳಿಸುತ್ತದೆ. 🚀

ಕಚ್ಚಾ ಯಾದೃಚ್ಛಿಕ ಬೈಟ್‌ಗಳನ್ನು ಸಾಮಾನ್ಯ ಮೌಲ್ಯಕ್ಕೆ ಪರಿವರ್ತಿಸುವಲ್ಲಿ ಪರಿಹಾರದ ಕೀಲಿಯು ಇರುತ್ತದೆ. ಯಾದೃಚ್ಛಿಕ ಬೈಟ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಬಳಸಿಕೊಂಡು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಪರಿವರ್ತಿಸಲಾಗುತ್ತದೆ toString(CryptoJS.enc.Hex). ಉದಾಹರಣೆಗೆ, ಹೆಕ್ಸ್‌ನಲ್ಲಿನ "FF" ಬೈಟ್‌ಗಳು ದಶಮಾಂಶದಲ್ಲಿ 255 ಗೆ ಸಂಬಂಧಿಸಿರುತ್ತವೆ. ಹೆಕ್ಸ್ ಮೌಲ್ಯವನ್ನು ಅದರ ದಶಮಾಂಶ ಸಮಾನಕ್ಕೆ ಪರಿವರ್ತಿಸುವ ಮೂಲಕ ಮತ್ತು ಅದನ್ನು ಗರಿಷ್ಠ ಸಂಭವನೀಯ ಮೌಲ್ಯದಿಂದ ಭಾಗಿಸುವ ಮೂಲಕ (8 ಬೈಟ್‌ಗಳಿಗೆ 2^64 ನಂತೆ), ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯನ್ನು 0 ರಿಂದ 1 ರ ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಬರುವಂತೆ ಸಾಮಾನ್ಯೀಕರಿಸಲಾಗುತ್ತದೆ. ಈ ರೂಪಾಂತರವು ನಿರ್ಣಾಯಕವಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯವನ್ನು ಅನುಕರಿಸಬಹುದು Math.random() ಅದರ ಕ್ರಿಯಾತ್ಮಕತೆಯಲ್ಲಿ.

ಹಿಂಭಾಗದಲ್ಲಿ, ಬಳಕೆ BigInt 8 ಬೈಟ್‌ಗಳ ಗರಿಷ್ಠ ಮೌಲ್ಯ (18,446,744,073,709,551,615) ನಂತಹ ದೊಡ್ಡ ಸಂಖ್ಯೆಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ ನಿಖರತೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದು ಪ್ರಮಾಣಿತ ಪೂರ್ಣಾಂಕಗಳೊಂದಿಗೆ ಸಂಭವಿಸಬಹುದಾದ ಪೂರ್ಣಾಂಕದ ದೋಷಗಳನ್ನು ತಡೆಯುತ್ತದೆ, ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಉತ್ಪಾದನೆಯನ್ನು ಹೆಚ್ಚು ದೃಢವಾಗಿ ಮಾಡುತ್ತದೆ. ಪರೀಕ್ಷೆಗಾಗಿ ಜೆಸ್ಟ್‌ನಂತಹ ಲೈಬ್ರರಿಗಳನ್ನು ಬಳಸುವುದರಿಂದ, ರಚಿಸಲಾದ ಸಂಖ್ಯೆಗಳು ಬಹು ಕರೆಗಳಲ್ಲಿ 0 ಮತ್ತು 1 ರ ನಡುವೆ ಉಳಿಯುತ್ತವೆ ಮತ್ತು ಅನಗತ್ಯವಾಗಿ ಪುನರಾವರ್ತಿಸುವುದಿಲ್ಲ ಎಂದು ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮೌಲ್ಯೀಕರಿಸುತ್ತವೆ. ಕ್ರಿಪ್ಟೋಗ್ರಫಿ ಅಥವಾ ಅನನ್ಯ ಐಡೆಂಟಿಫಯರ್ ಉತ್ಪಾದನೆಯಂತಹ ಉನ್ನತ ಮಟ್ಟದ ಯಾದೃಚ್ಛಿಕತೆಯ ಅಗತ್ಯವಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಇದು ವಿಶೇಷವಾಗಿ ಉಪಯುಕ್ತವಾಗಿದೆ.

ಒಟ್ಟಾರೆಯಾಗಿ, ಈ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮಾಡ್ಯುಲರ್ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ. ಸಾಂಪ್ರದಾಯಿಕ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಉತ್ಪಾದನಾ ವಿಧಾನಗಳಲ್ಲಿ ಮಿತಿಗಳನ್ನು ಹೇಗೆ ಜಯಿಸಬೇಕು ಎಂಬುದನ್ನು ಅವರು ಪ್ರದರ್ಶಿಸುತ್ತಾರೆ, ಪರಿಸರದಾದ್ಯಂತ ಹೊಂದಾಣಿಕೆಯನ್ನು ಖಾತ್ರಿಪಡಿಸಿಕೊಳ್ಳುತ್ತಾರೆ. ಉದಾಹರಣೆಗೆ, ಮೊಬೈಲ್ ಮತ್ತು ವೆಬ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಲ್ಲಿ ಫೇರ್ ಡೈಸ್ ರೋಲ್‌ಗಳ ಅಗತ್ಯವಿರುವ ಗೇಮಿಂಗ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ. ಈ ಪರಿಹಾರವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೂಲಕ, ಡೆವಲಪರ್‌ಗಳು ವಿಭಿನ್ನ ಎಂಜಿನ್‌ಗಳಲ್ಲಿ ಅಸಮಂಜಸವಾದ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಉತ್ಪಾದನೆಯಿಂದ ಉಂಟಾಗುವ ವ್ಯತ್ಯಾಸಗಳನ್ನು ತಪ್ಪಿಸಬಹುದು, ಇದು ಬಳಕೆದಾರರಿಗೆ ತಡೆರಹಿತ ಅನುಭವವನ್ನು ಒದಗಿಸುತ್ತದೆ. 🧩 ನೀವು ಡೈನಾಮಿಕ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿರ್ಮಿಸುತ್ತಿರಲಿ ಅಥವಾ ಸರಳವಾಗಿ ವಿಶ್ವಾಸಾರ್ಹ ಯಾದೃಚ್ಛಿಕತೆಯ ಅಗತ್ಯವಿರಲಿ, ಈ ವಿಧಾನಗಳು ನಿಖರತೆ ಮತ್ತು ಸುರಕ್ಷತೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ, ನೈಜ-ಪ್ರಪಂಚದ ಕಾಳಜಿಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಪರಿಹರಿಸುತ್ತದೆ.

ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು 0 ಮತ್ತು 1 ರ ನಡುವೆ ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯಗಳನ್ನು ರಚಿಸುವುದು

ಬಹು ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಾದ್ಯಂತ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಬಳಕೆಯನ್ನು ಪ್ರದರ್ಶಿಸುವ ಫ್ರಂಟ್-ಎಂಡ್ ಮತ್ತು ಬ್ಯಾಕ್-ಎಂಡ್ ಸ್ಕ್ರಿಪ್ಟ್.

// Solution 1: Front-End Script Using Crypto-JS to Generate Random Values Between 0 and 1
import CryptoJS from "crypto-js";
// Generate a random value between 0 and 1 using Crypto-JS WordArray.random()
function generateRandomValue() {
  const randomBytes = CryptoJS.lib.WordArray.random(8); // Generate 8 random bytes
  const hexString = randomBytes.toString(CryptoJS.enc.Hex);
  const decimalValue = parseInt(hexString, 16); // Convert hex to decimal
  const maxValue = Math.pow(2, 64); // Maximum value for 8 bytes
  return decimalValue / maxValue; // Normalize to 0-1 range
}
// Usage example
console.log(generateRandomValue());

Node.js ಗಾಗಿ ಬ್ಯಾಕ್-ಎಂಡ್ ಸ್ಕ್ರಿಪ್ಟ್: ವಿಶ್ವಾಸಾರ್ಹ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆ ಜನರೇಷನ್

ಯಾದೃಚ್ಛಿಕತೆಗಾಗಿ ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ವೇದಿಕೆಯ ಸ್ಥಿರತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು Node.js ಸ್ಕ್ರಿಪ್ಟ್.

// Importing the required CryptoJS library
const CryptoJS = require("crypto-js");
// Function to generate a random value between 0 and 1
function generateRandomValue() {
  const randomBytes = CryptoJS.lib.WordArray.random(8);
  const hexString = randomBytes.toString(CryptoJS.enc.Hex);
  const decimalValue = BigInt("0x" + hexString);
  const maxValue = BigInt("0xffffffffffffffff"); // Maximum 8-byte value
  return Number(decimalValue) / Number(maxValue);
}
// Example usage in a back-end context
console.log(generateRandomValue());

ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆ ಉತ್ಪಾದನೆಗಾಗಿ ಘಟಕ ಪರೀಕ್ಷೆಗಳು

ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಉತ್ಪಾದನೆಯ ನಿಖರತೆ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಮೌಲ್ಯೀಕರಿಸಲು ಜೆಸ್ಟ್‌ನಲ್ಲಿ ಬರೆಯಲಾದ ಘಟಕ ಪರೀಕ್ಷೆಗಳು.

// Import necessary modules
const CryptoJS = require("crypto-js");
const generateRandomValue = require("./generateRandomValue");
describe("Random Number Generation Tests", () => {
  test("Generated value should be between 0 and 1", () => {
    const randomValue = generateRandomValue();
    expect(randomValue).toBeGreaterThanOrEqual(0);
    expect(randomValue).toBeLessThan(1);
  });
  test("Generated value should vary across calls", () => {
    const randomValue1 = generateRandomValue();
    const randomValue2 = generateRandomValue();
    expect(randomValue1).not.toBe(randomValue2);
  });
});

ಸ್ಥಿರವಾದ ಕ್ರಾಸ್-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ರಾಂಡಮ್‌ನೆಸ್‌ಗಾಗಿ ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಅನ್ನು ಬಳಸುವುದು

ಬಳಕೆಯಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ಕಡೆಗಣಿಸಲ್ಪಡುವ ಅಂಶ ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಉತ್ಪಾದನೆಯು ವರ್ಧಿತ ಭದ್ರತೆಗಾಗಿ ಅದರ ಸಾಮರ್ಥ್ಯವಾಗಿದೆ. ಭಿನ್ನವಾಗಿ Math.random(), ಇದು ಆಧಾರವಾಗಿರುವ ಎಂಜಿನ್‌ನ ಸೂಡೊರಾಂಡಮ್ ಸಂಖ್ಯೆ ಜನರೇಟರ್ ಅನ್ನು ಅವಲಂಬಿಸಿದೆ, ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ತತ್ವಗಳ ಆಧಾರದ ಮೇಲೆ ಯಾದೃಚ್ಛಿಕತೆಯನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಕೀಗಳು ಅಥವಾ ಅನನ್ಯ ಸೆಶನ್ ಟೋಕನ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸುವಂತಹ ಸುರಕ್ಷಿತ ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯಗಳ ಅಗತ್ಯವಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಇದು ಸೂಕ್ತವಾಗಿಸುತ್ತದೆ. NodeJS, ವೆಬ್ ಮತ್ತು ರಿಯಾಕ್ಟ್ ನೇಟಿವ್‌ನಂತಹ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಾದ್ಯಂತ ಸ್ಥಿರತೆಯನ್ನು ಖಾತ್ರಿಪಡಿಸುವ ಮೂಲಕ, ಪ್ಲಾಟ್‌ಫಾರ್ಮ್-ನಿರ್ದಿಷ್ಟ ದೋಷಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುವಾಗ ಡೆವಲಪರ್‌ಗಳು ತಮ್ಮ ಯಾದೃಚ್ಛಿಕ ಮೂಲಗಳನ್ನು ಏಕೀಕರಿಸಬಹುದು. 🛡️

ಮತ್ತೊಂದು ನಿರ್ಣಾಯಕ ಪ್ರಯೋಜನವೆಂದರೆ ನಿಖರತೆಯ ಮೇಲಿನ ನಿಯಂತ್ರಣ. ಹಾಗೆಯೇ Math.random() ಸೀಮಿತ ಸಂಖ್ಯೆಯ ದಶಮಾಂಶ ಸ್ಥಾನಗಳೊಂದಿಗೆ 0 ಮತ್ತು 1 ರ ನಡುವಿನ ಸಂಖ್ಯೆಗಳನ್ನು ಔಟ್‌ಪುಟ್ ಮಾಡುತ್ತದೆ, Crypto-JS ಯಾದೃಚ್ಛಿಕ ಬೈಟ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ಸರಳವಾಗಿ ಹೆಚ್ಚಿಸುವ ಮೂಲಕ ಹೆಚ್ಚಿನ ನಿಖರತೆಯೊಂದಿಗೆ ಮೌಲ್ಯಗಳನ್ನು ರಚಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, 8 ರ ಬದಲಿಗೆ 16 ಬೈಟ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸುವುದು ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯಗಳ ಇನ್ನೂ ಉತ್ತಮವಾದ ರೆಸಲ್ಯೂಶನ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಈ ನಮ್ಯತೆಯು ಸಿಮ್ಯುಲೇಶನ್‌ಗಳು, ಗೇಮಿಂಗ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಅಥವಾ ಹೆಚ್ಚಿನ ನಿಖರವಾದ ಯಾದೃಚ್ಛಿಕತೆಯು ಅತ್ಯಗತ್ಯವಾಗಿರುವ ವೈಜ್ಞಾನಿಕ ಲೆಕ್ಕಾಚಾರಗಳಲ್ಲಿ ಮೌಲ್ಯಯುತವಾಗಿರುತ್ತದೆ.

ಕೊನೆಯದಾಗಿ, ಹೈಬ್ರಿಡ್ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಯಾದೃಚ್ಛಿಕತೆಯನ್ನು ಸಂಯೋಜಿಸುವುದು ಸ್ಥಿರತೆಯ ಪ್ರಾಮುಖ್ಯತೆಯನ್ನು ಎತ್ತಿ ತೋರಿಸುತ್ತದೆ. ಸರ್ವರ್-ಸೈಡ್ ಮತ್ತು ಕ್ಲೈಂಟ್-ಸೈಡ್ ಎರಡರಲ್ಲೂ ಉತ್ಪತ್ತಿಯಾಗುವ ರಿಯಾಯಿತಿ ಕೋಡ್‌ಗಳಿಗಾಗಿ ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಇ-ಕಾಮರ್ಸ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಅನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ. ಸ್ಥಿರತೆ ಇಲ್ಲದೆ, ಕೋಡ್‌ಗಳು ಅತಿಕ್ರಮಿಸಬಹುದು ಅಥವಾ ಸಾಧನಗಳಾದ್ಯಂತ ಅನಿರೀಕ್ಷಿತವಾಗಿ ವರ್ತಿಸಬಹುದು. ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್‌ನಂತಹ ಲೈಬ್ರರಿಯನ್ನು ಬಳಸಿಕೊಳ್ಳುವ ಮೂಲಕ, ಪರಿಸರವನ್ನು ಲೆಕ್ಕಿಸದೆ ಔಟ್‌ಪುಟ್ ಒಂದೇ ಆಗಿರುವುದನ್ನು ನೀವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುತ್ತೀರಿ. ತಡೆರಹಿತ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹ ಬಳಕೆದಾರ ಅನುಭವಗಳನ್ನು ರಚಿಸಲು ಈ ಮಟ್ಟದ ನಿಯಂತ್ರಣವು ನಿರ್ಣಾಯಕವಾಗಿದೆ, ವಿಶೇಷವಾಗಿ ಹೈಬ್ರಿಡ್ ಚೌಕಟ್ಟುಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ. 🚀

ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯಗಳಿಗಾಗಿ ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಅನ್ನು ಬಳಸುವ ಬಗ್ಗೆ ಸಾಮಾನ್ಯ ಪ್ರಶ್ನೆಗಳು

  1. ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಅನ್ನು ಬಳಸುವುದರ ಮುಖ್ಯ ಪ್ರಯೋಜನವೇನು? Math.random()?
  2. ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಹೆಚ್ಚಿನ ಯಾದೃಚ್ಛಿಕ ಗುಣಮಟ್ಟ ಮತ್ತು ಅಡ್ಡ-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಸ್ಥಿರತೆಯನ್ನು ಖಾತ್ರಿಗೊಳಿಸುತ್ತದೆ. ಇದು ಕೆಲವು ರಿಯಾಕ್ಟ್ ಸ್ಥಳೀಯ ಎಂಜಿನ್‌ಗಳಿಂದ ಉಂಟಾದ ನಕಲುಗಳಂತಹ ಸಮಸ್ಯೆಗಳನ್ನು ತಪ್ಪಿಸುತ್ತದೆ.
  3. ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಯಾದೃಚ್ಛಿಕ ಬೈಟ್‌ಗಳನ್ನು ಸಂಖ್ಯೆಗಳಾಗಿ ಪರಿವರ್ತಿಸುವುದು ಹೇಗೆ?
  4. ಬಳಸಿ toString(CryptoJS.enc.Hex) ಹೆಕ್ಸ್ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪಡೆಯಲು ಮತ್ತು ಅದನ್ನು ದಶಮಾಂಶಕ್ಕೆ ಪರಿವರ್ತಿಸಲು parseInt ಅಥವಾ BigInt.
  5. ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಅನ್ನು ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಕೀಗಳಿಗಾಗಿ ಬಳಸಬಹುದೇ?
  6. ಹೌದು! ಇದರ ಯಾದೃಚ್ಛಿಕ ಬೈಟ್‌ಗಳು ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್-ಗ್ರೇಡ್ ಯಾದೃಚ್ಛಿಕತೆಯನ್ನು ಒದಗಿಸುವ, ಸುರಕ್ಷಿತ ಕೀ ಉತ್ಪಾದನೆಗೆ ಸೂಕ್ತವಾಗಿದೆ.
  7. ನಿಖರತೆಗಾಗಿ ಬಳಸಲು ಸೂಕ್ತವಾದ ಬೈಟ್‌ಗಳ ಸಂಖ್ಯೆ ಯಾವುದು?
  8. 8 ಬೈಟ್‌ಗಳು ಹೆಚ್ಚಿನ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಸಾಕಷ್ಟು ನಿಖರತೆಯನ್ನು ನೀಡುತ್ತವೆ. ಹೆಚ್ಚಿನ ನಿಖರತೆಗಾಗಿ, 16 ಬೈಟ್‌ಗಳು ಅಥವಾ ಹೆಚ್ಚಿನದನ್ನು ಬಳಸುವುದನ್ನು ಪರಿಗಣಿಸಿ.
  9. ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಬಳಸುವಾಗ ಕಾರ್ಯಕ್ಷಮತೆಯ ವ್ಯಾಪಾರ-ವಹಿವಾಟುಗಳಿವೆಯೇ?
  10. ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಗಿಂತ ಸ್ವಲ್ಪ ನಿಧಾನವಾಗಿರಬಹುದು Math.random() ಅದರ ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಕಾರ್ಯಾಚರಣೆಗಳ ಕಾರಣದಿಂದಾಗಿ, ಆದರೆ ಪ್ರಯೋಜನಗಳು ಸುರಕ್ಷಿತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿನ ವ್ಯಾಪಾರ-ವಹಿವಾಟುಗಳನ್ನು ಮೀರಿಸುತ್ತದೆ.

ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಾದ್ಯಂತ ವಿಶ್ವಾಸಾರ್ಹ ಯಾದೃಚ್ಛಿಕತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು

ನಿಂದ ಬದಲಾಯಿಸಲಾಗುತ್ತಿದೆ Math.random() ಗೆ ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಸತ್ಯದ ಏಕೈಕ ಮೂಲವನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ. ಇದು ಪ್ಲಾಟ್‌ಫಾರ್ಮ್-ನಿರ್ದಿಷ್ಟ ಅಸಂಗತತೆಗಳನ್ನು ನಿವಾರಿಸುತ್ತದೆ ಮತ್ತು ಹೈಬ್ರಿಡ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಉತ್ತಮ ಗುಣಮಟ್ಟದ ಯಾದೃಚ್ಛಿಕತೆಯನ್ನು ಖಾತರಿಪಡಿಸುತ್ತದೆ. ಇದು ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ಅನ್ನು ಡೆವಲಪರ್‌ಗಳಿಗೆ ದೃಢವಾದ, ಸ್ಥಿರವಾದ ಪರಿಹಾರಗಳನ್ನು ಗುರಿಯಾಗಿಟ್ಟುಕೊಂಡು ಅಮೂಲ್ಯವಾದ ಸಾಧನವನ್ನಾಗಿ ಮಾಡುತ್ತದೆ.

ನೀವು ಆಟಗಳು, ಸಿಮ್ಯುಲೇಶನ್‌ಗಳು ಅಥವಾ ಸುರಕ್ಷಿತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರಲಿ, ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ ವಿಶ್ವಾಸಾರ್ಹ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಉತ್ಪಾದನೆಗೆ ಅಗತ್ಯವಿರುವ ನಿಖರತೆ ಮತ್ತು ನಮ್ಯತೆಯನ್ನು ನೀಡುತ್ತದೆ. ಇದರ ಅಡ್ಡ-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಸಾಮರ್ಥ್ಯಗಳು ಮತ್ತು ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಸಾಮರ್ಥ್ಯವು ತಡೆರಹಿತ ಬಳಕೆದಾರ ಅನುಭವಗಳನ್ನು ನಿರ್ಮಿಸಲು ಹೊಸ ಮಾನದಂಡವನ್ನು ಹೊಂದಿಸುತ್ತದೆ. 🌟

ವಿಶ್ವಾಸಾರ್ಹ ಯಾದೃಚ್ಛಿಕತೆಗಾಗಿ ಮೂಲಗಳು ಮತ್ತು ಉಲ್ಲೇಖಗಳು
  1. ವಿವರವಾದ ದಸ್ತಾವೇಜನ್ನು ಕ್ರಿಪ್ಟೋ-ಜೆಎಸ್ , ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ವಿಧಾನಗಳು ಮತ್ತು ಲಭ್ಯವಿರುವ ಕಾರ್ಯಗಳ ಒಳನೋಟಗಳನ್ನು ಒದಗಿಸುವುದು CryptoJS.lib.WordArray.random.
  2. ಮಿತಿಗಳ ಕುರಿತು ಲೇಖನ Math.random() ಮತ್ತು MDN ವೆಬ್ ಡಾಕ್ಸ್‌ನಲ್ಲಿ ಅದರ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್-ನಿರ್ದಿಷ್ಟ ಅಸಂಗತತೆಗಳು.
  3. ಕುರಿತು ಚರ್ಚೆ ಸ್ಟಾಕ್ ಓವರ್‌ಫ್ಲೋ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕವಾಗಿ ಸುರಕ್ಷಿತ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಉತ್ಪಾದನೆಗೆ ಸಂಬಂಧಿಸಿದಂತೆ.