সরাসরি প্রধান সামগ্রীতে চলে যান

পোস্টগুলি

Spring Boot লেবেল থাকা পোস্টগুলি দেখানো হচ্ছে

স্প্রিং বুট ব্যবহার করে কুইজ অ্যাপ তৈরি: পার্ট ৩ (মাইক্রোসার্ভিসেস)

ভূমিকা (Introduction) এই ভিডিওতে আমরা একটি কুইজ অ্যাপ্লিকেশন তৈরির পরবর্তী ধাপগুলো শিখব। মূলত এখানে দেখানো হয়েছে কীভাবে ডাটাবেস থেকে নির্দিষ্ট ক্যাটাগরি (যেমন: Java, Python) অনুযায়ী প্রশ্ন খুঁজে বের করা যায় এবং কীভাবে নতুন প্রশ্ন সিস্টেমে যোগ (Add) করা যায়। এটি একটি Microservices Tutorial সিরিজের অংশ, যেখানে Spring Boot এবং Spring Data JPA ব্যবহার করে ব্যাকএন্ডের কাজগুলো সহজ করা হয়েছে। পার্ট ১: ক্যাটাগরি অনুযায়ী প্রশ্ন খোঁজা (Fetching Questions by Category) আগের পর্বে আমরা সব প্রশ্ন একসাথে আনা শিখেছিলাম। কিন্তু বাস্তবে আমাদের হয়তো শুধু 'Java' বা 'Python'-এর প্রশ্ন দরকার হতে পারে। রেফারেন্স: ভিডিওর শুরু থেকে ০৫:৫০ পর্যন্ত দেখুন বিস্তারিত আলোচনা: ১. Controller-এ পরিবর্তন: আমরা একটি নতুন মেথড তৈরি করি যা ইউজার থেকে একটি 'Category' ইনপুট নেবে। ২. Path Variable: ব্রাউজারের লিঙ্কে (URL) যখন আমরা কোনো মান পাঠাই (যেমন: /question/category/java ), তখন সেই 'java' শব্দটিকে কোডে ধরার জন্য @PathVariable অ্যানোটেশন ব্যবহার করা হয়। ৩. JPA Magic: মজার ব্যা...

মাইক্রোসার্ভিস আর্কিটেকচারে সার্ভিস রেজিস্ট্রি (Eureka Server) তৈরি

ইন্ট্রোডাকশন: আজকালকার সফটওয়্যার ডেভেলপমেন্টে যখন অনেকগুলো ছোট ছোট সার্ভিস বা মাইক্রোসার্ভিস একসাথে কাজ করে, তখন তারা একে অপরকে চিনবে কীভাবে? এই সমস্যা সমাধানের জন্যই প্রয়োজন একটি 'সার্ভিস রেজিস্ট্রি'। সহজ কথায়, এটি একটি ফোনের কন্টাক্ট লিস্টের মতো, যেখানে সব সার্ভিসের নাম এবং ঠিকানা (IP address ও Port) জমা থাকে। আজকের আলোচনায় আমরা শিখব কীভাবে Netflix Eureka Server ব্যবহার করে একটি সার্ভিস রেজিস্ট্রি তৈরি করতে হয় এবং কীভাবে অন্যান্য সার্ভিসগুলো এর সাথে যুক্ত হয়। ১. সার্ভিস রেজিস্ট্রি কী এবং কেন প্রয়োজন? রেফারেন্স: [ 00:00 ] যখন আপনার সিস্টেমে ১০-২০টি বা তার বেশি মাইক্রোসার্ভিস থাকে, তখন একটি সার্ভিস অন্যটির সাথে কানেক্ট করতে চাইলে তার নির্দিষ্ট ঠিকানা জানা কঠিন হয়ে পড়ে। এখানেই আসে Service Discovery বা সার্ভিস রেজিস্ট্রির ধারণা। সার্ভিস ডিসকভারি: এটি একটি কেন্দ্রীয় সার্ভার যেখানে সব মাইক্রোসার্ভিস নিজে থেকে এসে নাম লিখিয়ে (Register) যায়। ইউরেকা সার্ভার (Eureka Server): এটি নেটফ্লিক্সের তৈরি একটি ওপেন সোর্স টুল যা মাইক্রোসার্ভিস ম্যানেজ করতে সাহায্য করে। সহজ কথায় ব...

স্প্রিং বুট ব্যবহার করে কুইজ অ্যাপের রেজাল্ট ক্যালকুলেশন

কুইজ অ্যাপ্লিকেশন তৈরির এই পর্যায়ে আমরা শিখব কীভাবে একজন ইউজার বা ক্লায়েন্ট যখন তার উত্তরগুলো সাবমিট (Submit) করবে, তখন সার্ভার সাইডে সেই উত্তরগুলো যাচাই করে স্কোর বা ফলাফল বের করতে হয়। এটি একটি কুইজ সিস্টেমের অন্যতম গুরুত্বপূর্ণ অংশ। প্রজেক্ট রেফারেন্স এই টিউটোরিয়ালটি Telusko চ্যানেলের "Quiz App Using Spring Boot #8 | Microservices Tutorial" ভিডিওর ওপর ভিত্তি করে তৈরি। ভিডিও লিঙ্ক ১. ইউজার রেসপন্স এবং ডেটা ফরম্যাট (User Response & Data Format) প্রথমে আমাদের বুঝতে হবে ক্লায়েন্ট (যেমন: মোবাইল অ্যাপ বা ওয়েবসাইট) সার্ভারে কী পাঠাবে। ক্লায়েন্ট সাধারণত প্রতিটি প্রশ্নের ID এবং ইউজারের দেওয়া উত্তর (Response) পাঠায়। সহজ ব্যাখ্যা: Client: যে অ্যাপ ব্যবহার করছে। JSON: এটি ডেটা আদান-প্রদান করার একটি সহজ ফরম্যাট। যেমন: { "id": 18, "response": "Java" } । ২. রেসপন্স মডেল তৈরি (Creating Response Model) ইউজারের পাঠানো ডেটা গ্রহণ করার জন্য জাভাতে একটি ক্লাস তৈরি করতে হবে। একে আমরা বলছি Response ক্লাস। কোড স্নপেট: Java @Data @RequiredA...

স্প্রিং বুট মাইক্রোসার্ভিস দিয়ে কুইজ অ্যাপে ডেটা ফেচ করা

Introduction এই কন্টেন্টটি মূলত একটি Quiz Application তৈরির সিরিজ টিউটোরিয়ালের অংশ। এখানে শেখানো হয়েছে কীভাবে ডেটাবেস থেকে একটি নির্দিষ্ট কুইজের প্রশ্নগুলো খুঁজে বের করে (fetch) ব্যবহারকারীর সামনে উপস্থাপন করা যায়। বিশেষ করে সিকিউরিটি বা নিরাপত্তার কথা মাথায় রেখে, কীভাবে সঠিক উত্তর (Right Answer) লুকিয়ে রেখে শুধু প্রশ্ন এবং অপশনগুলো ইউজারকে পাঠানো হয়, তা এখানে বিস্তারিত দেখানো হয়েছে। কুইজ ডেটা ফেচ করার প্রক্রিয়া (Fetching Quiz Data) আগের পর্বে কুইজ তৈরি করা হয়েছিল, এবার সেই কুইজটিকে আইডি (ID) দিয়ে খুঁজে বের করার পালা। রেফারেন্স: [ 00:00 ] বিস্তারিত আলোচনা: যখন আমরা একটি কুইজ তৈরি করি, তখন সেটি ডেটাবেসের quiz এবং quiz_questions টেবিলে জমা হয়। এখন একজন ইউজার যখন কোনো কুইজে অংশ নিতে চাইবে, তখন আমাদের এমন একটি সিস্টেম দরকার যা ওই কুইজের আইডি অনুযায়ী সব প্রশ্ন তুলে আনবে। সহজ ভাষায় ব্যাখ্যা: মনে করুন, একটি লাইব্রেরিতে অনেকগুলো বইয়ের তাক আছে। প্রতিটি তাকের একটি নম্বর (ID) আছে। আপনি যখন লাইব্রেরিয়ানকে বলবেন "আমাকে ২ নম্বর তাকের বইগুলো দাও", তখন তিনি আপনাকে শুধু ওই তাকের...

Spring Boot ব্যবহার করে একটি কুইজ অ্যাপ তৈরি (পার্ট ২)

ইন্ট্রোডাকশন: এই কন্টেন্টটিতে মূলত শেখানো হয়েছে কিভাবে একটি Spring Boot অ্যাপ্লিকেশনে ডেটাবেস থেকে তথ্য (Data) এনে তা ব্যবহারকারীর সামনে তুলে ধরা যায়। গত পর্বে প্রজেক্ট সেটআপ দেখানো হয়েছিল, আর এই পর্বে আমরা শিখব কিভাবে Controller , Service , এবং DAO (Data Access Object) লেয়ার ব্যবহার করে একটি পূর্ণাঙ্গ ব্যাকএন্ড সিস্টেম দাঁড় করানো যায়। বিশেষ করে ডেটাবেসের টেবিলকে কিভাবে জাভা অবজেক্টের সাথে ম্যাপ করতে হয় (ORM) এবং Spring Data JPA ব্যবহার করে কোডিং কমিয়ে আনা যায়, তা এখানে বিস্তারিত আলোচনা করা হয়েছে। ১. অ্যাপ্লিকেশন লেয়ারিং (Application Layering) যেকোনো বড় সফটওয়্যার বানানোর সময় সব কোড এক জায়গায় না লিখে আলাদা আলাদা ভাগে ভাগ করা হয়। একে বলা হয় 'Layered Architecture'। রেফারেন্স: [ 00:52 ] বিস্তারিত ব্যাখ্যা: এখানে তিনটি প্রধান লেয়ার বা স্তরের কথা বলা হয়েছে: Controller Layer: এটি অনেকটা হোটেলের ওয়েটারের মতো। আপনি (ইউজার) যখন কোনো অর্ডার দেন (Request), ওয়েটার সেটা নেয় এবং সঠিক জায়গায় পাঠায়। এর কাজ হলো ইউজারের সাথে যোগাযোগ রাখা। Service Layer: এটি হলো হোটেলের বাবুর্চি বা...

স্প্রিং বুট ব্যবহার করে কুইজ অ্যাপ তৈরি (পার্ট ১)

Introduction এই ভিডিওতে আমরা শিখব কীভাবে Spring Boot ব্যবহার করে একটি Quiz Application তৈরি করা যায়। কন্টেন্ট ক্রিয়েটর এখানে সরাসরি মাইক্রোসার্ভিস (Microservices) শুরু না করে প্রথমে একটি মনোলিথিক (Monolithic) অ্যাপ্লিকেশন তৈরি করার পরিকল্পনা করেছেন। সহজ কথায় বললে, আগে পুরো অ্যাপটা একসাথেই বানানো হবে, তারপর সেটাকে ছোট ছোট ভাগে (Microservices) ভাগ করা শিখবো। এই পর্বে মূলত প্রজেক্টের সেটআপ, ডাটাবেস কানেকশন এবং একটি বেসিক কন্ট্রোলার তৈরি করা দেখানো হয়েছে। কুইজ অ্যাপ্লিকেশনের ধারণা ও প্রজেক্ট সেটআপ এই অংশটি ভিডিওর শুরুতে [ 00:00 ] থেকে [ 02:16 ] পর্যন্ত আলোচনা করা হয়েছে। রেফারেন্স: ভিডিও লিংক বিস্তারিত: কুইজ অ্যাপটি এমন হবে যেখানে ইউজার কিছু প্রশ্ন (MCQ) পাবে এবং সেগুলো উত্তর দেওয়ার পর তার স্কোর দেখতে পারবে। এই অ্যাপের জন্য ডাটাবেস হিসেবে PostgreSQL ব্যবহার করা হয়েছে। Monolithic Application (মনোলিথিক অ্যাপ্লিকেশন): যখন একটি সফটওয়্যারের সব কাজ (যেমন: ইউজার ম্যানেজমেন্ট, প্রশ্ন ম্যানেজমেন্ট, কুইজ লজিক) একটাই কোডবেসের মধ্যে থাকে, তখন তাকে মনোলিথিক বলে। এটি শুরুতে শেখার জন্য সহজ।...