MERN Stack শেখার ৩৭তম দিন
আমি আমার MERN stack শেখার যাত্রার ৩৭তম দিনে আছি।
গতকাল, আমি /about এবং /contact এর মতো পেজগুলোর জন্য ক্লিন রাউটিং (clean routing) সেটআপ করেছি। আজ, আমি ব্যাকএন্ড ডেটা কমিউনিকেশনের ওপর গুরুত্ব দিয়েছি। আমি URL parsing এবং query parameters নিয়ে পড়াশোনা করেছি।
আপনি যখন কোনো ওয়েবসাইটে পণ্য অনুসন্ধান করেন, তখন সাইটটি URL-এর মাধ্যমে ডেটা পাঠায়। আপনি প্রায়শই অ্যাড্রেস বারে একটি প্রশ্ন চিহ্নের পরে অতিরিক্ত টেক্সট দেখতে পান। এটিই হলো query data।
আমি এই ডেটা পড়ার জন্য Node.js url module কীভাবে ব্যবহার করতে হয় তা শিখেছি। এই মডিউলটি একটি দীর্ঘ URL string-কে একটি স্ট্রাকচার্ড অবজেক্টে (structured object) রূপান্তর করে।
ডেটাগুলো যেভাবে বিভক্ত হয় তা নিচে দেওয়া হলো:
- Pathname: এটি হলো মূল লোকেশন, যেমন /search বা /api/products।
- Query: এগুলো হলো প্রশ্ন চিহ্নের পরের key-value pair, যেমন ?name=ali&id=7।
url module এই ডেটাগুলোকে আপনার কোডে ব্যবহার করা সহজ করে তোলে। এটি string-টিকে একটি JavaScript object-এ রূপান্তর করে।
Example code:
const http = require("http");
const url = require("url");
const server = http.createServer((req, res) => {
let parsedUrl = url.parse(req.url, true);
let pathname = parsedUrl.pathname;
let queryData = parsedUrl.query;
if (pathname === "/search") {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end(`Searching logs for user: ${queryData.name} with ID: ${queryData.id}`);
} else {
res.end("Standard Endpoint View");
}
});
server.listen(8000);
URL parse করা শিখলে আপনাকে ডায়নামিক ওয়েবসাইট তৈরি করতে সাহায্য করে। এখন আপনি সরাসরি ওয়েব অ্যাড্রেস থেকে ইউজারের ইনপুট সংগ্রহ করতে পারবেন।
Source: https://dev.to/ali_hamza_589ec7b3eb6688d/day-37-of-learning-mern-stack-4758