সব ডিভাইস থেকে একসাথে লগআউট করার (Logout from all devices / Global Logout) ফিচারটি মূলত Session Management -এর ওপর ভিত্তি করে কাজ করে। ডেভেলপমেন্টে এটি প্রধানত ২টি উপায়ে ইমপ্লিমেন্ট করা হয়—আপনি সেশন ট্র্যাকিংয়ের জন্য Database/Redis (Stateful) ব্যবহার করছেন নাকি JWT (Stateless) ব্যবহার করছেন তার ওপর ভিত্তি করে। নিচে সহজ ভাষায় এবং টেকনিক্যাল আর্কিটেকচারসহ দুটি পদ্ধতিই আলোচনা করা হলো: ১. Database বা Redis ব্যবহার করে (Stateful Session) যদি আপনার অ্যাপ্লিকেশনে ট্র্যাডিশনাল সেশন আইডি (Session ID) বা টোকেন ডেটাবেজ/Redis-এ সেভ করা থাকে, তবে গ্লোবাল লগআউট করা সবচেয়ে সহজ এবং সিকিউর। যেভাবে কাজ করে: ১. সেশন ট্র্যাকিং: ইউজার যখনই কোনো ডিভাইসে লগইন করে, ডেটাবেজ বা Redis-এ একটি নতুন রো বা কি (Key) তৈরি হয়। সেখানে user_id , session_id , device_info এবং expires_at সেভ থাকে। ২. গ্লোবাল লগআউট রিকোয়েস্ট: ইউজার যখন "Logout from all devices" বাটনে ক্লিক করে, তখন ব্যাকএন্ডে একটি রিকোয়েস্ট যায়। ৩. ডেটা ডিলিট/ইনভ্যালিডেট: ব্যাকএন্ড কুয়েরি চালিয়ে ওই নির্দিষ্ট user_id -এর যতগুলো অ্যাক্টিভ সেশ...
ডাটাবেস বা API থেকে বড় পরিমাণের ডাটা ছোট ছোট টুকরো করে ইউজারকে দেখানোর প্রক্রিয়াকে Pagination (পেজিনেশন) বলা হয়। যখন আমাদের টেবিলে হাজার হাজার বা লাখ লাখ ডাটা থাকে, তখন একবারে সব ডাটা লোড না করে পেজ আকারে লোড করা হয়। সবচেয়ে জনপ্রিয় দুটি পেজিনেশন পদ্ধতি হলো Offset Pagination এবং Cursor Pagination । নিচে এ দুটি পদ্ধতির বিস্তারিত আলোচনা করা হলো: ১. Offset Pagination (অফসেট পেজিনেশন) এটি পেজিনেশনের সবচেয়ে সাধারণ এবং সহজ পদ্ধতি। আমরা সাধারণত ওয়েবসাইটে যে ১, ২, ৩, ৪ নম্বর পেজ বা "Next/Previous" বাটন দেখি, সেটি বেশিরভাগ সময় অফসেট পেজিনেশন দিয়েই করা হয়। এটি কীভাবে কাজ করে? এটি ডাটাবেসের LIMIT এবং OFFSET ক্লজ ব্যবহার করে কাজ করে। LIMIT: একটি পেজে কয়টি ডাটা দেখানো হবে (Page Size)। OFFSET: কয়টি ডাটা বাদ দিয়ে (Skip) পরের ডাটাগুলো নেওয়া শুরু হবে। উদাহরণ: ধরি, প্রতি পেজে আমরা ৫টি করে ডাটা দেখাতে চাই ( LIMIT = 5 )। Page 1: LIMIT 5 OFFSET 0 (প্রথম ৫টি ডাটা আসবে) Page 2: LIMIT 5 OFFSET 5 (প্রথম ৫টি বাদ দিয়ে ৬ থেকে ১০ নম্বর ডাটা আসবে) Page 3: LIMIT 5 OFFSET 10 (প্রথম ১০টি বাদ দি...