Practical use of PHP Array array_rand function

Practical use of PHP array_rand function

PHP array_rand() ফাংশনটি একটি অ্যারে থেকে randomly এক বা একাধিক key গুলো সিলেক্ট করতে ব্যবহৃত হয়। যদিও এটি অন্তর্নিহিতভাবে একটি ডাটাবেস-সম্পর্কিত ফাংশন নয়, এটি প্রোগ্রামিংয়ের বিভিন্ন ক্ষেত্রে বিভিন্ন পরিস্থিতিতে কার্যকর হতে পারে। এখানে array_rand(এর জন্য কিছু সেরা Use Cases রয়েছে):

১. Randomized Data Sampling:

একটি ডাটাবেস পরিপ্রেক্ষিতে, আপনি বিশ্লেষণ বা প্রদর্শনের জন্য একটি বড় ডেটাসেট থেকে রেন্ডমলি ডেটার একটি সাবসেট স্যাম্পল করতে array_rand() ব্যবহার করতে পারেন।

কল্পনা করুন আপনি একটি জনপ্রিয় ই-কমার্স ওয়েবসাইটের মালিক যেটি প্রচুর প্রোডাক্ট বিক্রি করে এবং আপনি বিভিন্ন উদ্দেশ্যে রেন্ডমলি ডেটা স্যাম্পলিং করতে চান৷ আসুন একটি feature-rich এবং বিস্তৃত উদাহরণ খুঁজ করা যাক:

Scenario:

আপনি বিভিন্ন ক্যাটাগরি গুলো জুড়ে লক্ষ লক্ষ প্রোডাক্ট সহ একটি সফল ই-কমার্স প্ল্যাটফর্ম পরিচালনা করেন। আপনার কাছে এই প্রোডাক্ট গুলির names, prices, customer reviews এবং অন্যান্য attributes সহ এই প্রোডাক্ট গুলি সম্পর্কে তথ্য সহ একটি বড় ডাটাবেস রয়েছে৷ data-driven সিদ্ধান্ত নিতে এবং ইউজারের অভিজ্ঞতা উন্নত করতে, আপনি নিয়মিতভাবে randomized data sampling techniques ব্যবহার করেন।

Personalized product recommendations:

Personalized product recommendations হল প্রত্যেক আলাদা ব্যবহারকারীদের তাদের unique preferences, behavior এবং একটি প্ল্যাটফর্ম বা ওয়েবসাইটের সাথে historical interactions উপর ভিত্তি করে প্রদত্ত historical interactions. একজন ব্যবহারকারীর অতীত কেনাকাটা, অনুসন্ধান এবং ব্রাউজিং ইতিহাস বিশ্লেষণ করে, ব্যক্তিগতpersonalized recommendations গুলি ব্যবহারকারীর কেনাকাটার অভিজ্ঞতাকে উন্নত করার লক্ষ্যে তাদের এমন পণ্যগুলির সাথে উপস্থাপন করে যা তাদের আগ্রহের সম্ভাবনা বেশি, শেষ পর্যন্ত engagement এবং sales বৃদ্ধি করে৷

প্রথমে আমরা নিম্নোক্ত SQL এর মাধ্যমে আমরা আমাদের ডাটাবেস টেবিল এবং স্যাম্পল ডেটা গুলো তৈরি করব :

-- Create a products table
CREATE TABLE products (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    category VARCHAR(50) NOT NULL,
    price DECIMAL(10, 2) NOT NULL,
    description TEXT
);

-- Insert sample data into the products table
INSERT INTO products (name, category, price, description)
VALUES
    ('Product 1', 'Electronics', 499.99, 'A sample electronic product.'),
    ('Product 2', 'Clothing', 29.99, 'A sample clothing item.'),
    ('Product 3', 'Electronics', 799.99, 'Another electronic product.'),
    ('Product 4', 'Home Decor', 49.99, 'Decorative home item.'),
    ('Product 5', 'Clothing', 39.99, 'Another clothing item.'),
    ('Product 6', 'Electronics', 199.99, 'Yet another electronic product.'),
    ('Product 7', 'Books', 19.99, 'A sample book.'),
    ('Product 8', 'Home Decor', 29.99, 'Decorative home item.');

-- You can insert more sample data as needed.

ইউজারদেরকে Personalized product recommendations করতে আমরা নিম্নোক্ত ধাপ গুলো প্রয়োগ করব :

  • ১. আমরা ডাটাবেস থেকে পণ্যগুলির একটি random subset নির্বাচন করতে randomized data sampling ব্যবহার করব ৷
  • ২. বিভিন্ন ক্যাটেগরির মধ্যে trends এবং popular item গুলি সনাক্ত করতে sampled product গুলি এনালাইজ করব৷
  • ৩. ইউজারদের personalized product recommendations করতে, তাদের কেনাকাটার অভিজ্ঞতা বাড়াতে এই ডেটা ব্যবহার করব।

চলুন ক্লাস টি লিখে ফেলা যাক :

<?php
 
class ProductRecommendationSystem {
    private $pdo;
 
    public function __construct($pdo) {
        $this->pdo = $pdo;
    }
 
    public function getRandomProducts($count) {
        $sql = "SELECT * FROM products";
        $stmt = $this->pdo->query($sql);
     
        $products = $stmt->fetchAll(PDO::FETCH_ASSOC);
        $count = min($count, count($products)); // Ensure $count doesn't exceed the number of products
        $randomKeys = array_rand($products, $count);
     
        $randomProducts = [];
        if (!is_array($randomKeys)) {
            $randomKeys = [$randomKeys];
        }
        foreach ($randomKeys as $key) {
            $randomProducts[] = $products[$key];
        }
     
        return $randomProducts;
    }
    
    /* 
    public function analyzeTrends($products) {
        $trends = [];

        foreach ($products as $product) {
            $category = $product['category'];
            if (!isset($trends[$category])) {
                $trends[$category] = 1;
            } else {
                $trends[$category]++;
            }
        }

        arsort($trends);

        return $trends;
    }    
    */
 
    public function analyzeTrends($products) {
        $categories = array_column($products, 'category');
        $categoryCounts = array_count_values($categories);
        arsort($categoryCounts);
     
        return $categoryCounts;
    }

        
 
    public function makeRecommendations($userPreferences) {
        $recommendedProducts = [];
 
        foreach ($userPreferences as $category => $count) {
            $sql = "SELECT * FROM products WHERE category = :category LIMIT :count";
            $stmt = $this->pdo->prepare($sql);
            $stmt->bindParam(':category', $category);
            $stmt->bindParam(':count', $count, PDO::PARAM_INT);
            $stmt->execute();
 
            $products = $stmt->fetchAll(PDO::FETCH_ASSOC);
            $recommendedProducts = array_merge($recommendedProducts, $products);
        }
 
        return $recommendedProducts;
    }
}
 
// Example usage
try {
    $pdo = new PDO("mysql:host=localhost;dbname=eshop", "root", "");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
    $recommendationSystem = new ProductRecommendationSystem($pdo);
 
    $randomProducts = $recommendationSystem->getRandomProducts(3);
    $trends = $recommendationSystem->analyzeTrends($randomProducts);
 
    // Simulate user preferences (e.g., user likes the top 2 trending categories)
    $userPreferences = array_slice($trends, 0, 2, true);
 
    $recommendedProducts = $recommendationSystem->makeRecommendations($userPreferences);
 
    // Display the recommendations to the user
    echo "Recommended Products:\n";
    foreach ($recommendedProducts as $product) {
        echo "{$product['name']} (Category: {$product['category']})\n";
    }
} catch (PDOException $e) {
    die("Database connection failed: " . $e->getMessage());
}
?>

Output:

Recommended Products:
Product 1 (Category: Electronics)
Product 3 (Category: Electronics)
Product 7 (Category: Books)

Random Quality Assurance:

customer reviews এর উপর ভিত্তি করে Random Quality Assurance হল এমন একটি প্রক্রিয়া যেখানে customer reviews এবং feedback এর একটি সাবসেট মূল্যায়ন এবং বিশ্লেষণের জন্য রান্ডমলি নির্বাচিত হয়। এই পদ্ধতির লক্ষ্য হল গ্রাহকের অনুভূতি এবং উদ্বেগের একটি নিরপেক্ষ এবং প্রতিনিধিত্বমূলক স্যাম্পল প্রদান করা, যা ব্যবসাগুলিকে product quality, shipping, বা customer service সম্পর্কিত সমস্যাগুলিকে আরও সুশৃঙ্খল এবং ব্যাপকভাবে চিহ্নিত করতে এবং সমাধান করতে দেয়৷ randomness সিলেকশনের মাধ্যমে সামগ্রিক কোয়ালিটি এবং স্যাটিসফেকশন এর একটি ন্যায্য এবং উদ্দেশ্যমূলক মূল্যায়ন নিশ্চিত করতে সহায়তা করে।

প্রথমে আমরা নিম্নোক্ত SQL এর মাধ্যমে আমরা আমাদের ডাটাবেস টেবিল এবং স্যাম্পল ডেটা গুলো তৈরি করব :

-- Create a reviews table
CREATE TABLE reviews (
    id INT AUTO_INCREMENT PRIMARY KEY,
    product_id INT NOT NULL,
    rating INT NOT NULL,
    comment TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Insert sample data into the reviews table
INSERT INTO reviews (product_id, rating, comment) VALUES
    (1, 4, 'Good product, fast delivery'),
    (2, 3, 'Average product, shipping delay'),
    (3, 5, 'Excellent product, great customer service'),
    (4, 2, 'Poor quality, bad experience'),
    (5, 4, 'Satisfied with the product and service');

-- You can add more sample data as needed.

ইউজারদেরকে Random Quality Assurance করতে আমরা নিম্নোক্ত ধাপ গুলো প্রয়োগ করব :

  • ১. রেন্ডম পণ্যগুলির জন্য customer reviews এবং রেটিংগুলির একটি সাবসেট তৈরি করব।
  • ২. quality control problems, shipping delays বা customer service complaints এর মতো সমস্যাগুলি চিহ্নিত করব এবং সমাধান করব।
  • ৩. sampled reviews থেকে প্রাপ্ত রেস্পন্সের উপর ভিত্তি করে যেন product quality, shipping processes এবং customer service যেন উন্নত করতে পারে।

চলুন ক্লাস টি লিখে ফেলা যাক :

<?php

class QualityAssuranceSystem {
    private $pdo;

    public function __construct(PDO $pdo) {
        $this->pdo = $pdo;
    }

    public function getCustomerReviews() {
        $sql = "SELECT * FROM reviews";
        $stmt = $this->pdo->query($sql);
        return $stmt->fetchAll(PDO::FETCH_ASSOC);
    }

    public function sampleReviews($reviews, $count) {
        $sampledReviews = array_rand($reviews, $count);
        $sampledReviewsData = [];

        if (!is_array($sampledReviews)) {
            $sampledReviews = [$sampledReviews];
        }

        foreach ($sampledReviews as $key) {
            $sampledReviewsData[] = $reviews[$key];
        }

        return $sampledReviewsData;
    }

    public function analyzeAndAddressIssues($sampledReviews) {
        foreach ($sampledReviews as $review) {
            $issueAddressed = $this->identifyIssue($review);
            // Implement actions to address identified issues
            echo "Product ID: " . $review['product_id'] . "\n";
            echo "Rating: " . $review['rating'] . "\n";
            echo "Comment: " . $review['comment'] . "\n";
            echo "Issue Addressed: $issueAddressed\n";
            echo "-----------------------------\n";
        }
    }

    private function identifyIssue($review) {
        // Simulated issue identification logic based on review data
        // In a real-world scenario, this would be more complex
        if (strpos($review['comment'], 'quality') !== false) {
            return 'Quality Control Problem';
        } elseif (strpos($review['comment'], 'delay') !== false) {
            return 'Shipping Delay';
        } elseif (strpos($review['comment'], 'customer service') !== false) {
            return 'Customer Service Complaint';
        } else {
            return 'Other Issues';
        }
    }

    public function improveQualityAndService() {
        // Implement actions to improve product quality, shipping processes, and customer service
        echo "Quality and service improvements implemented.\n";
    }
}

try {
    $pdo = new PDO("mysql:host=localhost;dbname=eshop", "root", "");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $qaSystem = new QualityAssuranceSystem($pdo);
    $reviews = $qaSystem->getCustomerReviews();

    // Sample reviews and analyze
    $sampledReviews = $qaSystem->sampleReviews($reviews, 3);
    $qaSystem->analyzeAndAddressIssues($sampledReviews);

    // Implement improvements based on feedback
    $qaSystem->improveQualityAndService();

} catch (PDOException $e) {
    die("Database connection failed: " . $e->getMessage());
}

Output:

Product ID: 1
Rating: 4
Comment: Good product, fast delivery
Issue Addressed: Other Issues
-----------------------------
Product ID: 3
Rating: 5
Comment: Excellent product, great customer service
Issue Addressed: Customer Service Complaint
-----------------------------
Product ID: 4
Rating: 2
Comment: Poor quality, bad experience
Issue Addressed: Quality Control Problem
-----------------------------
Quality and service improvements implemented.

A/B Testing

user interactions এবং গ্রুপ অ্যাসাইনমেন্টের উপর ভিত্তি করে A/B testing একটি নিয়ন্ত্রিত testing পদ্ধতি যেখানে ইউজারদের বিভিন্ন সংস্করণ বা বৈশিষ্ট্যের কার্যকারিতা তুলনা করার জন্য group গুলোকে randomly বিভক্ত করা হয়। user interactions ট্র্যাক করে, এটি ব্যবসায়িকদের উন্নত user engagement এবং conversion rate এর জন্য most successful design বা feature সিলেক্ট করতে data-driven decisions নিতে সাহায্য করে

প্রথমে আমরা নিম্নোক্ত SQL এর মাধ্যমে আমরা আমাদের ডাটাবেস টেবিল এবং স্যাম্পল ডেটা গুলো তৈরি করব :

CREATE TABLE user_interactions (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    groups VARCHAR(1) NOT NULL,
    interaction_type VARCHAR(255) NOT NULL,
    interaction_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

INSERT INTO user_interactions (user_id, groups, interaction_type) VALUES
    (1, 'A', 'Feature A'),
    (2, 'B', 'Feature B'),
    (3, 'A', 'Feature A'),
    (4, 'B', 'Feature B'),
    (5, 'A', 'Feature A'),
    (6, 'B', 'Feature B')

ইউজারদেরকে A/B Testing করতে আমরা নিম্নোক্ত ধাপ গুলো প্রয়োগ করব :

  • এখানে আমরা ওয়েবসাইটে নতুন ফীচার বা লেআউট পরীক্ষা করার সময়, আমাদের ব্যবহারকারীদের গ্রুপ ভিত্তিকে ভাগ করতে রান্ডম ডেটা স্যাম্পলিং ব্যবহার করব।
  • প্রতিটি গ্রুপকে বিভিন্ন ডিজাইন বা ফীচার দেখাবো এবং তাদের interactions এবং পছন্দগুলি ট্র্যাক করব।
  • এটি ব্যবহারকারীর ফিডব্যাক এবং এনগেজমেন্ট এর উপর ভিত্তি করে কোন ডিজাইন বা বৈশিষ্ট্যটি আরও ভাল পারফর্ম করে সে সম্পর্কে অবগত সিদ্ধান্ত নিতে সহায়তা করবে ।
<?php

class ABTestSystem {
    private $pdo;

    public function __construct(PDO $pdo) {
        $this->pdo = $pdo;
    }

/*     public function divideUsers($totalUsers, $splitRatio) {
        $groupA = (int) ($totalUsers * $splitRatio);
        $groupB = $totalUsers - $groupA;
        $userGroups = array_fill(0, $groupA, 'A') + array_fill(0, $groupB, 'B');
        shuffle($userGroups);
        return $userGroups;
    } */

    public function divideUsers($totalUsers, $splitRatio) {
        $userGroups = [];

        for ($i = 0; $i < $totalUsers; $i++) {
            $group = (array_rand([0, 1]) === 0) ? 'A' : 'B';
            $userGroups[] = $group;
        }

        return $userGroups;
    }

    public function trackUserInteraction($userId, $group, $interactionType) {
        $sql = "INSERT INTO user_interactions (user_id, groups, interaction_type) VALUES (:user_id, :groups, :interaction_type)";
        $stmt = $this->pdo->prepare($sql);
        $stmt->bindParam(':user_id', $userId);
        $stmt->bindParam(':groups', $group);
        $stmt->bindParam(':interaction_type', $interactionType);
        $stmt->execute();
    }

    public function analyzeABTestResults() {
        $sql = "SELECT groups, interaction_type, COUNT(*) AS count FROM user_interactions GROUP BY groups, interaction_type";
        $stmt = $this->pdo->query($sql);
        return $stmt->fetchAll(PDO::FETCH_ASSOC);
    }
}

try {
    $pdo = new PDO("mysql:host=localhost;dbname=eshop", "root", "");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $abTestSystem = new ABTestSystem($pdo);

    // Simulated user interactions and A/B testing
    $totalUsers = 1000;
    $splitRatio = 0.5;
    $userGroups = $abTestSystem->divideUsers($totalUsers, $splitRatio);

    // Simulated user interactions and tracking
    foreach ($userGroups as $userId => $group) {
        $interactionType = ($group === 'A') ? 'Feature A' : 'Feature B';
        $abTestSystem->trackUserInteraction($userId, $group, $interactionType);
    }

    // Analyze and report A/B test results
    $results = $abTestSystem->analyzeABTestResults();
    print_r($results);

} catch (PDOException $e) {
    die("Database connection failed: " . $e->getMessage());
}

Output:

Array
(
    [0] => Array
        (
            [groups] => A
            [interaction_type] => Feature A
            [count] => 1481
        )

    [1] => Array
        (
            [groups] => B
            [interaction_type] => Feature B
            [count] => 1525
        )

)

২. Randomized Quizzes or Questions:

quizzes বা questionnaires তৈরি করার সময়, আপনি এভেইলেবল প্রশ্নের পুল থেকে রান্ডমলি একটি প্রশ্ন বা প্রশ্নের একটি সেট সিলেক্ট করতে array_rand() ব্যবহার করতে পারেন।

Scenario: Online Quiz Platform

কল্পনা করুন আপনি একটি online quiz platform তৈরি করছেন যেখানে ইউজাররা বিভিন্ন বিষয়ে বিভিন্ন ধরনের এক বা একাধিক কুইজ বা কুইজ সেটে অ্যাক্সেস করতে পারবেন। আমরা এমন একটি ফীচার তৈরি করব যা ইউজারদের একটি challenge quiz প্রদান করে, যার মধ্যে বিভিন্ন সেট থেকে রান্ডম প্রশ্ন রয়েছে। আমরা এটি অর্জন করতে RandomizedQuizSet PHP ক্লাস তৈরি করব।

চলুন প্রথমে question_sets এবং questions নামে দুটি টেবিল এবং কিছু স্যাম্পল ডেটা তৈরি করব।

-- Create the question_sets table
CREATE TABLE question_sets (
    set_id INT AUTO_INCREMENT PRIMARY KEY,
    set_name VARCHAR(255) NOT NULL
);

-- Create the questions table
CREATE TABLE questions (
    question_id INT AUTO_INCREMENT PRIMARY KEY,
    set_id INT NOT NULL,
    question_text TEXT NOT NULL
);

-- Sample data for question sets
INSERT INTO question_sets (set_name) VALUES
    ('Set 1'),
    ('Set 2'),
    ('Set 3');

-- Sample data for questions (associated with question sets)
-- For Set 1
INSERT INTO questions (set_id, question_text) VALUES
    (1, 'What is the capital of France?'),
    (1, 'What is the largest planet in our solar system?'),
    (1, 'Which gas do plants absorb during photosynthesis?');

-- For Set 2
INSERT INTO questions (set_id, question_text) VALUES
    (2, 'What is the capital of Germany?'),
    (2, 'How many continents are there on Earth?'),
    (2, 'Who wrote "Romeo and Juliet"?');

-- For Set 3
INSERT INTO questions (set_id, question_text) VALUES
    (3, 'What is the chemical symbol for gold?'),
    (3, 'What is the freezing point of water in Fahrenheit?'),
    (3, 'Who is the first President of the United States?');

এবার চলুন আমরা RandomizedQuizSet ক্লাসটি তৈরি করে ফেলি :

<?php
class RandomizedQuizSet {
    private $pdo;

    public function __construct($pdo) {
        $this->pdo = $pdo;
    }

    public function getPublishedSetWithRandomQuestions($numQuestions) {
        $publishedSet = $this->getRandomPublishedSet();
        $questions = $this->getQuestionsForSet($publishedSet['set_id']);
    
        $randomKeys = is_array($questions) ? (array) array_rand($questions, min($numQuestions, count($questions))) : [$randomKeys];
        $selectedQuestions = [];
    
        foreach ($randomKeys as $key) {
            $selectedQuestions[] = $questions[$key];
        }
    
        $publishedSet['questions'] = $selectedQuestions;
        return $publishedSet;
    }
    

    private function getRandomPublishedSet() {
        $query = "SELECT * FROM question_sets WHERE set_id = (SELECT set_id FROM question_sets ORDER BY RAND() LIMIT 1)";
        $stmt = $this->pdo->query($query);
        return $stmt->fetch(PDO::FETCH_ASSOC);
    }

    private function getQuestionsForSet($setId) {
        $query = "SELECT question_text FROM questions WHERE set_id = :setId";
        $stmt = $this->pdo->prepare($query);
        $stmt->bindParam(':setId', $setId, PDO::PARAM_INT);
        $stmt->execute();

        $questions = [];
        while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
            $questions[] = $row['question_text'];
        }

        return $questions;
    }
}

// Database connection setup
try {
    $pdo = new PDO("mysql:host=localhost;dbname=quizdb", "root", "");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $quizSet = new RandomizedQuizSet($pdo);

    // Get a published set with 3 random questions
    $publishedSet = $quizSet->getPublishedSetWithRandomQuestions(3);

    // Display the published set and its random questions
    echo "Published Set ID: " . $publishedSet['set_id'] . "\n";
    echo "Published Set Name: " . $publishedSet['set_name'] . "\n";
    echo "Random Questions:\n";
    foreach ($publishedSet['questions'] as $index => $question) {
        echo ($index + 1) . ". " . $question . "\n";
    }
} catch (PDOException $e) {
    die("Database connection failed: " . $e->getMessage());
}
?>

Output:

Published Set ID: 2
Published Set Name: Set 2
Random Questions:
1. What is the capital of Germany?
2. How many continents are there on Earth?
3. Who wrote "Romeo and Juliet"?

RandomizedQuizSet ক্লাস হল একটি PHP ক্লাস যা randomized কুইজগুলি পরিচালনা এবং জেনারেট করার জন্য ডিজাইন করা হয়েছে। এটি একটি ডাটাবেসের সাথে সংযোগ স্থাপন করে এবং আপনাকে সেই সেট থেকে একটি নির্দিষ্ট সংখ্যক random quiz সহ একটি random quiz সেট বের করতে দেয়৷ এখানে এর মূল ফীচার গুলির একটি সংক্ষিপ্ত বিবরণ রয়েছে:

  • Constructor: ক্লাসটি ডাটাবেসের সাথে ইন্টারঅ্যাক্ট করার জন্য একটি ডাটাবেস কানেকশন দিয়ে শুরু করা হয়।
  • getPublishedSetWithRandomQuestions Method: এই method টি একটি random published question set খুঁজে বের করে এবং array_rand ফাংশন ব্যবহার করে সেই সেট থেকে একটি নির্দিষ্ট সংখ্যক রান্ডম প্রশ্ন সিলেক্ট করে।
  • getRandomPublishedSet Method: এটি ডাটাবেস থেকে একটি random প্রকাশিত সেট নিয়ে আসে।
  • getQuestionsForSet Method: এই method টি একটি নির্দিষ্ট সেটের সাথে সম্পর্কিত সমস্ত প্রশ্ন খুঁজে বের করে।
  • Usage: ক্লাসটি এমন পরিস্থিতিতে ব্যবহার করার উদ্দেশ্যে যেখানে আপনি রান্ডমলি কুইজ তৈরি করতে চান, যেমন daily challenges বা practice tests এর জন্য, বিভিন্ন সেট থেকে রান্ডম প্রশ্ন সহ।

আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ১৫ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller, Amarbebsha Ltd সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ডেটা সাইন্স, মেশিন লার্নিং, বিগ ডেটা, ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। এছাড়াও বাংলাদেশের ১৮৫ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ১২০ এরও অধিক ছাত্র আমার হাতে জেন্ড সার্টিফাইড ইঞ্জিনিয়ার হয়েছেন। বর্তমানে w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -8.2 Engineering, Laravel Mastering Course with ReactJS, Python Beginning To Advance with Blockchain, Machine Learning and Data Science, Professional WordPress Plugin Development Beginning to Advance কোর্স করাই। আর অবসর সময়ে w3programmers.com এ ওয়েব টেকনোলজি নিয়ে লেখালেখি করি।

Leave a Reply