এলোমেলো সংখ্যা উৎপন্ন করা

TypeScript:
এলোমেলো সংখ্যা উৎপন্ন করা

কিভাবে:

TypeScript-এ, আপনি বিশ্বব্যাপী Math অবজেক্ট ব্যবহার করে র‍্যান্ডম সংখ্যা তৈরি করতে পারেন। নিচে বিভিন্ন দাবিদের জন্য র‍্যান্ডম সংখ্যা উৎপন্ন করার কিছু প্রাক্টিক্যাল উদাহরণ দেওয়া হলো।

একটি বেসিক র‍্যান্ডম সংখ্যা তৈরি

০ (অন্তর্ভুক্ত) এবং ১ (বাদ দেওয়া) মধ্যে একটি বেসিক র‍্যান্ডম দশমিক সংখ্যা তৈরি করতে, আপনি Math.random() ব্যবহার করবেন। এতে কোন অতিরিক্ত ম্যানিপুলেশনের দরকার হয় না:

const randomNumber = Math.random();
console.log(randomNumber);

এটি এমন একটি মান আউটপুট দিতে পারে যেমন 0.8995452185604771.

দুইটি নির্দিষ্ট মানের মধ্যে একটি র‍্যান্ডম পূর্ণসংখ্যা তৈরি

দুইটি নির্দিষ্ট মানের মধ্যে একটি পূর্ণসংখ্যা প্রয়োজন হলে, আপনাকে Math.random()-এর সাথে কিছু অংক সংক্রান্ত কার্য যুক্ত করতে হয়:

function getRandomInt(min: number, max: number): number {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

const randomInt = getRandomInt(1, 10);
console.log(randomInt);

এটি ১ এবং ১০-এর মধ্যে একটি পূর্ণসংখ্যা মান আউটপুট দিতে পারে, যেমন 7.

একটি অনন্য শনাক্তকারী তৈরি

র‍্যান্ডম সংখ্যা অন্যান্য পদ্ধতির সাথে মিলিত করে অনন্য শনাক্তকারী তৈরি করা যায়, যেমন, একটি সহজ UUID জেনারেটর স্নিপেট:

function generateUUID(): string {
    return 'xxxxyxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
        const r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    });
}

const uuid = generateUUID();
console.log(uuid);

এটি একটি UUID-এর মতো স্ট্রিং উৎপন্ন করে, যেমন 110e8400-e29b-41d4-a716-446655440000.

গভীর ডাইভ

JavaScript এবং তদুপরি TypeScript-এ র‍্যান্ডম সংখ্যা উৎপন্নের প্রধান পদ্ধতি, Math.random(), একটি পিউডো-র‍্যান্ডম সংখ্যা জেনারেটর (PRNG)-এ নির্ভর করে। এটি লক্ষণীয় যে ফলাফল যদিও র‍্যান্ডম মনে হয়, তবে তা একটি আরম্ভিক বীজ মানের উপর ভিত্তি করে একটি নির্ধারিত অ্যালগরিদম দ্বারা উৎপন্ন হয়। তাই, Math.random() দ্বারা উৎপন্ন সংখ্যা প্রকৃতপক্ষে র‍্যান্ডম নয় এবং ক্রিপ্টোগ্রাফিক উদ্দেশ্যে ব্যবহারের জন্য উপযুক্ত নয়।

ক্রিপ্টোগ্রাফিকভাবে নিরাপদ র‍্যান্ডম সংখ্যার জন্য, Web Crypto API crypto.getRandomValues() প্রদান করে, যা Web Crypto মানদণ্ড সমর্থন করে এমন পরিবেশে অ্যাক্সেসযোগ্য, যার মধ্যে আধুনিক ব্রাউজার এবং Node.js (এর crypto মডিউলের মাধ্যমে) অন্তর্ভুক্ত। এখানে একটি দ্রুত উদাহরণ দেওয়া হলো যা TypeScript-এ একটি নিরাপদ র‍্যান্ডম সংখ্যা উৎপন্ন করার জন্য তার ব্যবহার দেখায়:

function secureRandom(min: number, max: number): number {
    const array = new Uint32Array(1);
    window.crypto.getRandomValues(array);
    return min + (array[0] % (max - min + 1));
}

const secureRandNum = secureRandom(1, 100);
console.log(secureRandNum);

এই পদ্ধতিটি উচ্চতর স্তরের র‍্যান্ডমতা প্রদান করে এবং নিরাপত্তা-সংবেদনশীল অ্যাপ্লিকেশনের জন্য অধিক উপযুক্ত। যাইহোক, এটি আরও সম্পদ-গহন এবং সাধারণ সিমুলেশন অথবা অকৃত্রিম র‍্যান্ডম মান উৎপন্নের মতো কম গুরুত্বপূর্ণ কাজের জন্য প্রয়োজনীয় নাও হতে পারে।