JavaScript প্রোগ্রামিং শব্দকোষ — ১১৭৫টি শব্দের সহজ বাংলা মানে

JavaScript Programming Glossary in Bangla — every technical term from the course, with pronunciation and a plain Bangla explanation.

কোর্সের প্রতিটি পর্বে যে ইংরেজি শব্দগুলো এসেছে — class, thread, stack — সবগুলো এখানে এক জায়গায়। প্রতিটির পাশে বাংলা উচ্চারণ, সহজ মানে আর কোন পর্বে বিস্তারিত শিখবেন, তার লিংক।

মোট ১১৭৫টি শব্দ

#

<template> elementটেমপ্লেট এলিমেন্ট
পর্দায় না দেখানো, নিষ্ক্রিয় markup-এর ছাঁচ: ভেতরের ছবি নামে না, script চলে না। tpl.content একটি DocumentFragment, যা cloneNode দিয়ে কপি করে বারবার ব্যবহার করা হয়।যেখানে শিখবেন: পর্ব ৩৭
409 Conflictফোর-ও-নাইন কনফ্লিক্ট
HTTP status code — অনুরোধটি সার্ভারের বর্তমান অবস্থার সাথে সাংঘর্ষিক, যেমন একই ফোন নম্বরে দ্বিতীয় অ্যাকাউন্ট বা স্টকের চেয়ে বেশি অর্ডার।যেখানে শিখবেন: পর্ব ৫২
422 Unprocessable Contentফোর-টু-টু
HTTP status code, যা বলে অনুরোধের গঠন ঠিক কিন্তু বিষয়বস্তু গ্রহণযোগ্য নয় — ফর্মের field-ভিত্তিক যাচাই-error ফেরত দিতে বহুল ব্যবহৃত; আগে নাম ছিল Unprocessable Entityযেখানে শিখবেন: পর্ব ৩৯পর্ব ৫০পর্ব ৫৫
75th percentile (p75)পি-সেভেন্টি-ফাইভ
সব মাপকে ছোট থেকে বড় সাজালে যে মানের নিচে ৭৫% মাপ পড়ে; Core Web Vitals গড়ের বদলে এই মান দিয়ে বিচার হয়, যাতে ধীর যন্ত্রের ব্যবহারকারীরা আড়ালে না পড়েনযেখানে শিখবেন: পর্ব ৫৩
:user-invalidইউজার-ইনভ্যালিড
CSS Selectors Level 4-এর pseudo-class, যা অবৈধ ঘরের সাথে মেলে শুধু ব্যবহারকারী ঘরটির সাথে কাজ করার পর (মান বদলে ঘর ছাড়লে বা জমার চেষ্টায়) — :invalid-এর মতো পাতা খুলতেই লাল দেখায় নাযেখানে শিখবেন: পর্ব ৩৯

A

AbortControllerঅ্যাবর্ট কন্ট্রোলার
একটি বা একাধিক async কাজ বাতিল করার নিয়ন্ত্রক object; এর signal কাজগুলোকে দেওয়া হয়, আর controller.abort(reason) ডাকলে সেই signal বাতিল অবস্থায় যায়। ব্রাউজারে ও Node.js 15 থেকে global হিসেবে পাওয়া যায়।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৩৮পর্ব ৫৩
AbortErrorঅ্যাবর্ট এরর
কাজ বাতিল হলে যে DOMException দিয়ে promise reject হয়, তার name; fetch বা নিজের async function-এ signal বাতিল হলে আসে। এটি সাধারণ ভুল নয়, তাই catch-এ err.name দেখে আলাদা করা হয়; সময় শেষে বাতিলের নাম TimeoutError.যেখানে শিখবেন: পর্ব ৩৬
AbortSignalঅ্যাবর্ট সিগন্যাল
চলমান কাজ বা listener বাতিলের সংকেত বহনকারী object (AbortController-এর signal); fetch-এ দিলে request বাতিল হয়, addEventListener-এর signal option-এ দিলে abort-এর সাথে listener সরে যায়; AbortSignal.timeout(ms) নির্দিষ্ট সময় পরে নিজেই বাতিল হয়।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৬পর্ব ৩৮
Absolute pathঅ্যাবসোলিউট পাথ
ফাইল সিস্টেমের মূল থেকে শুরু হওয়া পূর্ণ পথ, যেমন /home/shop/data বা C:\shop\data. Relative পথ cwd-এর সাপেক্ষে ধরা হয়; path.resolve relative থেকে absolute বানায়যেখানে শিখবেন: পর্ব ৪৯
Access modifierঅ্যাক্সেস মডিফায়ার
TypeScript class-এর ঘরের আগে public, private বা protected লিখে কে ছুঁতে পারবে তা ঠিক করা। এটি শুধু compile-এর সময়ের নিয়ম; চলার সময়ের সত্যিকারের গোপনীয়তার জন্য JavaScript-এর #private.যেখানে শিখবেন: পর্ব ৪৭
Accessibility (a11y)অ্যাক্সেসিবিলিটি
প্রতিবন্ধিতা বা যন্ত্র নির্বিশেষে সবাই যেন ওয়েবসাইট ব্যবহার করতে পারেন — কিবোর্ডে চালানো, screen reader-এ পড়া, যথেষ্ট রঙের বৈপরীত্য ইত্যাদি; নিয়ম লেখা আছে WCAG-এ।যেখানে শিখবেন: পর্ব ০২পর্ব ৩৮পর্ব ৩৯
Accumulatorঅ্যাকুমুলেটর
লুপের আগে শুরু-মান নিয়ে তৈরি একটি ভ্যারিয়েবল, প্রতিটি ঘোরায় যাতে কিছু যোগ হয় — যেমন মোট দাম বা জোড়া দেওয়া লেখা। লুপ শেষে সেটিই ফল reduce-এ callback-এর প্রথম parameter-ও accumulator, যা প্রতিটি ধাপের ফেরত মান হিসেবে পরের ধাপে যায়।যেখানে শিখবেন: পর্ব ১২পর্ব ১৬পর্ব ২১
ACIDঅ্যাসিড
transaction-এর চার প্রতিশ্রুতি — Atomicity (সব নয়তো কিছুই না), Consistency (নিয়ম অক্ষুণ্ণ), Isolation (একসাথে চলা transaction আলাদা থাকে), Durability (commit মানে স্থায়ী)।যেখানে শিখবেন: পর্ব ৫২পর্ব ৫৮
AggregateErrorঅ্যাগ্রিগেট এরর
একসাথে অনেকগুলো error বহন করে (errors array-তে); ES2021-এ যুক্ত, যেমন Promise.any-এর সব promise ব্যর্থ হলে আসেযেখানে শিখবেন: পর্ব ২৯পর্ব ৩৩
Ajaxঅ্যাজাক্স
পাতা reload না করে পেছনে সার্ভার থেকে ডেটা এনে পাতার অংশ বদলানোর কৌশল; ২০০৫ সালে Jesse James Garrett নামটি দেন। আজ সাধারণত fetch দিয়ে করা হয়।যেখানে শিখবেন: পর্ব ০১পর্ব ৩৫
Alternation (|)অল্টারনেশন
| চিহ্ন দিয়ে কয়েকটি বিকল্পের যেকোনো একটি মেলানো, যেমন bKash|Nagad; এর অগ্রাধিকার সবচেয়ে কম, তাই anchor-এর সাথে ব্যবহারে বিকল্পগুলো (?:…)-এ রাখতে হয়যেখানে শিখবেন: পর্ব ৩০
AMD (Asynchronous Module Definition)এএমডি
ব্রাউজারের জন্য asynchronous module ব্যবস্থা, যেখানে define([...নির্ভরতা], function (...) { ... }) লিখে নির্ভরতা আগে ঘোষণা করা হয়; RequireJS এর জনপ্রিয় বাস্তবায়ন, ES module আসার পর প্রায় অবসরেযেখানে শিখবেন: পর্ব ৪৫
Anchor (regex)অ্যাংকর
যে চিহ্ন কোনো অক্ষর খায় না, শুধু একটি অবস্থান দাবি করে — ^ লেখার শুরু, $ শেষ, \b শব্দের সীমানা; যাচাইয়ের regex-এ ^…$ না দিলে ভেতরের আংশিক মিলও পাস করেযেখানে শিখবেন: পর্ব ৩০
Annex Bঅ্যানেক্স বি
ECMAScript specification-এর একটি পরিশিষ্ট, যেখানে শুধু পুরোনো ওয়েব সাইট চালু রাখার জন্য browser-এর প্রয়োজনীয় legacy বৈশিষ্ট্য (যেমন __proto__) রাখা; নতুন কোডে এগুলো ব্যবহার না করার পরামর্শযেখানে শিখবেন: পর্ব ২৫
anyএনি
TypeScript-এর বিশেষ টাইপ, যা ওই মানের টাইপ-যাচাই পুরোপুরি বন্ধ করে দেয় — যেকোনো মান বসে, যেকোনো কাজ করা যায়, আর যেখানে যায় সেখানেও যাচাই বন্ধ করে।যেখানে শিখবেন: পর্ব ৪৭
API (Application Programming Interface)এপিআই
একটি প্রোগ্রাম অন্য প্রোগ্রামকে যে নির্দিষ্ট পথে কাজ করার বা ডেটা নেওয়ার সুযোগ দেয়; ওয়েবে সাধারণত এমন সার্ভার, যা মানুষের জন্য পাতা নয়, প্রোগ্রামের জন্য JSON ফেরত দেয়যেখানে শিখবেন: পর্ব ৩৫পর্ব ৫০
API keyএপিআই কি
কোনো সেবা ব্যবহারের অনুমতির গোপন চাবি-লেখা; front-end কোডে রাখলে যে কেউ দেখে ফেলতে পারে, তাই গোপন key শুধু সার্ভারে রাখতে হয়যেখানে শিখবেন: পর্ব ৩৫পর্ব ৪৩পর্ব ৪৯
API versioningএপিআই ভার্সনিং
পুরোনো client না ভেঙে API বদলানোর ব্যবস্থা — সাধারণত ঠিকানায় সংস্করণ (/api/v1, /api/v2); field যোগ করা ভাঙন নয়, সরানো বা অর্থ বদলানো ভাঙনযেখানে শিখবেন: পর্ব ৫০
App shellঅ্যাপ শেল
অ্যাপের ন্যূনতম কাঠামো — HTML, CSS, JavaScript, আইকন আর অফলাইন পাতা — যা ছাড়া পর্দা আঁকা যায় না; install-এর সময় precache করা হয়, যাতে নেটওয়ার্ক ছাড়াই অ্যাপ সাথে সাথে খোলেযেখানে শিখবেন: পর্ব ৪৪
Argumentআর্গুমেন্ট
কোনো function ডাকার সময় বন্ধনীর ভেতরে যে মান দেওয়া হয়। যেমন console.log('Hi', 5)-এ দুটি argument.যেখানে শিখবেন: পর্ব ০৪পর্ব ১৩
arguments objectআর্গুমেন্টস অবজেক্ট
প্রতিটি সাধারণ (arrow নয়) function-এর ভেতরে স্বয়ংক্রিয়ভাবে থাকা array-এর মতো object, যাতে ডাকার সময়ের সব argument থাকে। আসল array নয়, arrow function-এ নেই; নতুন কোডে rest parameter ব্যবহার করা হয়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৫পর্ব ২৪
ARIA (WAI-ARIA)আরিয়া
role, aria-label, aria-expanded-এর মতো attribute-এর একটি মানদণ্ড, যা screen reader-কে নিজস্ব widget-এর অর্থ আর অবস্থা জানায়; আচরণ যোগ করে না। প্রথম নিয়ম: কাজটি নিজে পারে এমন HTML element থাকলে সেটিই ব্যবহার করুন।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৫৯
aria-describedbyএরিয়া-ডিসক্রাইবড-বাই
ARIA attribute, যা এক বা একাধিক element-এর id দিয়ে ঘরের সাথে বাড়তি বর্ণনা (যেমন error বা উদাহরণ) জোড়ে; focus এলে screen reader নামের পরে সেটিও পড়েযেখানে শিখবেন: পর্ব ৩৯
aria-invalidএরিয়া-ইনভ্যালিড
ARIA attribute, যা screen reader-কে জানায় ঘরের মান অবৈধ; সাধারণত error দেখানোর সময় "true" আর ঠিক হলে "false" বসানো হয়যেখানে শিখবেন: পর্ব ৩৯
aria-liveআরিয়া লাইভ
যে পাত্রের লেখা নিজে থেকে বদলায় (কার্টের সংখ্যা, “সেভ হয়েছে”), তাতে দেওয়া attribute, যাতে screen reader বদলটি পড়ে শোনায়; polite মানে হাতের কাজ শেষ হলে বলা। পাত্রটি আগে থেকেই DOM-এ থাকা ভালো।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৫৫
Arity (fn.length)অ্যারিটি
একটি function কয়টি parameter ঘোষণা করেছে। JavaScript-এ fn.length এটি দেয়, তবে শুধু প্রথম default মানওয়ালা বা rest parameter-এর আগের parameter গোনে: ((a, b = 2) => a).length হলো 1.যেখানে শিখবেন: পর্ব ২৩
Arrange-Act-Assert (AAA)অ্যারেঞ্জ-অ্যাক্ট-অ্যাসার্ট
একটি টেস্ট লেখার তিন ধাপ: Arrange — input ও অবস্থা সাজানো, Act — যাচাইয়ের কাজটি একবার করা, Assert — ফল প্রত্যাশার সাথে মেলানো।যেখানে শিখবেন: পর্ব ৪৮
Arrayঅ্যারে
ক্রমে সাজানো মানের তালিকা, যার প্রতিটি মান একটি সংখ্যা-index দিয়ে পাওয়া যায় (শুরু 0 থেকে)। JavaScript-এ array একটি বিশেষ object — বাড়ে-কমে, যেকোনো টাইপের মান রাখে, আর এর length নিজে থেকে মেলে।যেখানে শিখবেন: পর্ব ১৫
Array literalঅ্যারে লিটারাল
বর্গবন্ধনীর ভেতরে কমা দিয়ে মান লিখে সরাসরি array তৈরি — যেমন [320, 145, 199] বা খালি []. Array তৈরির সবচেয়ে প্রচলিত উপায়।যেখানে শিখবেন: পর্ব ১৫
Array methodঅ্যারে মেথড
Array.prototype-এ থাকা built-in function, যেমন map, filter, reduce, find, sort. বেশিরভাগই একটি callback নেয় আর প্রতিটি উপাদানের জন্য সেটিকে ডাকে — লুপ নিজে লিখতে হয় না।যেখানে শিখবেন: পর্ব ১৬
Array-like objectঅ্যারে-লাইক অবজেক্ট
যে object-এর length আর সংখ্যা-index আছে, কিন্তু আসল array নয়, তাই push, map, includes-এর মতো method নেই — যেমন arguments বা NodeList. Array.from(x) বা [...x] দিয়ে আসল array বানানো যায়।যেখানে শিখবেন: পর্ব ১৫পর্ব ২৪
Array.fromঅ্যারে ডট ফ্রম
যেকোনো iterable (string, Set, Map) বা array-like জিনিস (length আছে এমন object, NodeList, arguments) থেকে নতুন আসল array বানানোর function, ES2015 থেকে আছে। দ্বিতীয় argument হিসেবে function দিলে প্রতিটি উপাদান বানানোর সময়ই রূপান্তর করে, যেমন Array.from({ length: 3 }, (_, i) => i).যেখানে শিখবেন: পর্ব ১৫পর্ব ২৭
ArrayBufferঅ্যারেবাফার
কাঁচা bytes-এর একটি নির্দিষ্ট আকারের খণ্ড। সরাসরি পড়া যায় না; typed array বা DataView দিয়ে এর bytes-কে নির্দিষ্ট টাইপের সংখ্যা হিসেবে পড়া-লেখা হয়।যেখানে শিখবেন: পর্ব ১৫পর্ব ৪২
Arrow functionঅ্যারো ফাংশন
ES2015-এ যুক্ত ছোট রূপের function: (a, b) => a + b. নিজের this, arguments বা super নেই — বাইরের scope থেকে নেয়; new দিয়ে ডাকা যায় না।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৪পর্ব ২৪
as constঅ্যাজ কনস্ট
মানের পরে as const লিখলে সব ঘর readonly হয়, array readonly tuple হয়, আর প্রতিটি মান তার literal টাইপ পায় — widen হয় না।যেখানে শিখবেন: পর্ব ৪৭
ASI (Automatic Semicolon Insertion)এএসআই — অটোমেটিক সেমিকোলন ইনসারশন
ভাষার নিয়ম, যাতে নির্দিষ্ট জায়গায় লাইন ভাঙলে engine নিজেই semicolon ধরে নেয়। return-এর পরে লাইন ভাঙলে এটি ভুল জায়গায় semicolon বসিয়ে ফাঁদ তৈরি করে।যেখানে শিখবেন: পর্ব ০৪পর্ব ১৩পর্ব ১৭
Assertionঅ্যাসারশন
টেস্টের ভেতরের একটি দাবি, যেমন expect(x).toBe(840) বা assert.equal(x, 840); দাবি মিথ্যা হলে এটি একটি error ছোড়ে, আর runner সেই টেস্টকে ফেল ধরে।যেখানে শিখবেন: পর্ব ৪৮
Associativityঅ্যাসোসিয়েটিভিটি
একই অগ্রাধিকারের operator পাশাপাশি এলে কোন দিক থেকে জোড়া লাগবে — 10 - 4 - 3 বাম থেকে, কিন্তু 2 ** 3 ** 2 আর a = b = 0 ডান থেকেযেখানে শিখবেন: পর্ব ০৮
AST (Abstract Syntax Tree)এ-এস-টি
কোডের গঠনকে গাছের আকারে প্রকাশ — কোনটি function, কোনটি expression, কোনটি কার অংশ; engine, ESLint, Babel-এর মতো টুল এটি নিয়ে কাজ করেযেখানে শিখবেন: পর্ব ০৫পর্ব ৪৬
async (script)অ্যাসিঙ্ক স্ক্রিপ্ট
<script src async> — script HTML পড়ার পাশাপাশি নামে আর নামা শেষ হলেই চলে; একাধিক async script-এর চলার ক্রম নিশ্চিত নয়।যেখানে শিখবেন: পর্ব ০২পর্ব ৫৩
Async functionঅ্যাসিঙ্ক ফাংশন
async দিয়ে চিহ্নিত function (ES2017), যা সবসময় একটি Promise ফেরত দেয়: return করা মান দিয়ে সেটি পূর্ণ হয়, ভেতরে throw হলে rejected হয়। এর ভেতরে await লেখা যায়, আর ডাকামাত্র প্রথম await পর্যন্ত সাধারণ কোডের মতো চলেযেখানে শিখবেন: পর্ব ৩৪পর্ব ৫০পর্ব ৫৬
Async generator (async function*)অ্যাসিঙ্ক জেনারেটর
async function* দিয়ে লেখা generator, যার ভেতরে await আর yield দুটোই চলে; সময় নিয়ে আসা মান (যেমন পাতায় পাতায় API-র ফল) একটি একটি করে দেয়, আর for await…of দিয়ে ঘোরা হয়যেখানে শিখবেন: পর্ব ২৭পর্ব ৩৪
Async iteratorঅ্যাসিঙ্ক ইটারেটর
যে iterator-এর next() সরাসরি { value, done } না দিয়ে একটি Promise দেয়, যা পরে { value, done }-এ পূর্ণ হয়; Symbol.asyncIterator method দিয়ে পাওয়া যায় আর for await…of দিয়ে ঘোরা হয় (ES2018)যেখানে শিখবেন: পর্ব ২৭
Async stack traceঅ্যাসিঙ্ক স্ট্যাক ট্রেস
await পেরিয়ে আসা ডাকগুলোও দেখানো stack trace, V8-এ at async … লাইন দিয়ে। await-এর পরে আসল call stack খালি থাকে, তাই engine await-এর শিকল ধরে আগের ডাকগুলো আবার সাজায়; then-শিকলে এই তথ্য প্রায়ই হারায়যেখানে শিখবেন: পর্ব ৩৪
Async validationঅ্যাসিঙ্ক ভ্যালিডেশন
যে যাচাইয়ের উত্তর server-কে জিজ্ঞেস করে জানতে হয় — যেমন ইউজারনেম খালি আছে কি না; সাধারণত debounce আর আগের অনুরোধ বাতিল করার কৌশলসহ লেখা হয়যেখানে শিখবেন: পর্ব ৩৯
Asynchronousঅ্যাসিনক্রোনাস
এমন কাজ যা এখন শুরু হয় কিন্তু ফল আসে পরে — যেমন setTimeout, fetch বা ক্লিক শোনা; কোড অপেক্ষা না করে এগিয়ে যায়, ফল এলে callback বা Promise দিয়ে খবর পায়যেখানে শিখবেন: পর্ব ৩১পর্ব ৩২
Atomicsঅ্যাটমিক্স
SharedArrayBuffer-এর ওপর ভাঙা যায় না এমন এক ধাপের পড়া-লেখা (add, compareExchange ইত্যাদি) আর wait/notify দিয়ে thread-দের মধ্যে সমন্বয়ের built-in objectযেখানে শিখবেন: পর্ব ৪২
Attributeঅ্যাট্রিবিউট
শুরুর ট্যাগের ভেতরে নাম=মান আকারে দেওয়া বাড়তি তথ্য, যেমন class, id, href, alt বা lang.যেখানে শিখবেন: পর্ব ০২পর্ব ৩৭
Authenticationঅথেনটিকেশন
ব্যবহারকারী আসলে কে, তা প্রমাণ করা — পাসওয়ার্ড, OTP, session cookie বা token দিয়ে; ব্যর্থ হলে সাধারণত HTTP 401যেখানে শিখবেন: পর্ব ৫০
Authorizationঅথরাইজেশন
পরিচয় জানার পর এই ব্যবহারকারী এই কাজটি বা এই object-টিতে অনুমতি পান কি না, তা যাচাই করা — ভূমিকা আর মালিকানা দেখে; ব্যর্থ হলে HTTP 403 (বা অস্তিত্ব লুকাতে 404)যেখানে শিখবেন: পর্ব ৫০
Auto-waitingঅটো-ওয়েটিং
Playwright-এর আচরণ: ক্লিক বা টাইপের আগে element দেখা যাওয়া, স্থির আর সক্রিয় হওয়া পর্যন্ত নিজে অপেক্ষা করে, আর expect(...).toHaveText() মেলা পর্যন্ত বারবার দেখে — তাই হাতে sleep লিখতে হয় না।যেখানে শিখবেন: পর্ব ৪৮
Autoboxingঅটোবক্সিং
primitive-এর ওপর method বা property ব্যবহার করলে engine মুহূর্তের জন্য একটি wrapper object (String, Number…) বানিয়ে কাজ সেরে ফেলে দেয় — এজন্য "abc".length চলে।যেখানে শিখবেন: পর্ব ০৬পর্ব ২৫
autocomplete attributeঅটোকমপ্লিট অ্যাট্রিবিউট
ঘরটি কোন তথ্যের (name, tel, email, street-address, new-password, one-time-code…) তা ব্রাউজারকে জানানো, যাতে সেভ করা তথ্য বা পাসওয়ার্ড এক চাপে বসানো যায়যেখানে শিখবেন: পর্ব ৩৯
Autofix (--fix)অটোফিক্স
linter যে সমস্যার নিরাপদ সমাধান জানে, তা নিজে থেকে কোডে ঠিক করে দেওয়া, যেমন eslint --fix; অর্থ নিয়ে সন্দেহ থাকলে টুল নিজে বদলায় নাযেখানে শিখবেন: পর্ব ৪৬
Automated testঅটোমেটেড টেস্ট
কোডে লেখা একটি ছোট প্রোগ্রাম, যা আপনার কোডকে জানা input দিয়ে চালায় আর ফল প্রত্যাশিত মানের সাথে নিজে থেকে মেলায়; মিললে পাস, না মিললে কারণসহ ফেল — মানুষের হাতে ক্লিক করার দরকার হয় না।যেখানে শিখবেন: পর্ব ৪৮
awaitঅ্যাওয়েট
async function-এর ভেতরে একটি Promise পূর্ণ হওয়া পর্যন্ত function থামানোর keyword; থামার সময় thread মুক্ত থাকে, আর বাকি অংশ পরে একটি microtask হিসেবে চলেযেখানে শিখবেন: পর্ব ৩১পর্ব ৩৪পর্ব ৫৬
axiosঅ্যাক্সিওস
জনপ্রিয় npm HTTP library, যা ব্রাউজার আর Node দুই জায়গায় চলে; fetch-এর বিপরীতে ডিফল্টে 2xx-এর বাইরের status-এ নিজে থেকে reject করে আর JSON নিজে parse করেযেখানে শিখবেন: পর্ব ৩৫

B

B-treeবি-ট্রি
চওড়া, কম উচ্চতার সাজানো গাছ-কাঠামো, যার প্রতিটি নোডে অনেক key থাকে; ডেটাবেসের ডিফল্ট index — লাখো সারিতেও কয়েক ধাপে ঠিক সারিতে পৌঁছায়।যেখানে শিখবেন: পর্ব ৫২
Babelব্যাবেল
JavaScript transpiler (২০১৪ সালে 6to5 নামে শুরু), যা নতুন syntax পুরোনো ব্রাউজারের বোঝার মতো কোডে বদলায় আর plugin দিয়ে JSX-এর মতো রূপান্তর করেযেখানে শিখবেন: পর্ব ৪৬
Background Syncব্যাকগ্রাউন্ড সিঙ্ক
পাতা reg.sync.register(tag) দিয়ে অনুরোধ রাখলে সংযোগ ফেরামাত্র ব্রাউজার service worker-কে sync event দেয় — পাতা বন্ধ থাকলেও; ব্যর্থ হলে পরে আবার চেষ্টা করে। এখন পর্যন্ত মূলত Chromium-ভিত্তিক ব্রাউজারে আছেযেখানে শিখবেন: পর্ব ৪৪
Backpressureব্যাকপ্রেশার
ধীর গন্তব্য ভরে গেলে দ্রুত উৎসকে থামানোর ব্যবস্থা — Node.js-এ write() false দেয়, উৎস থামে, drain event-এ আবার চলে; ফলে মেমরিতে ডেটা জমে না, পুরো প্রবাহ সবচেয়ে ধীর অংশের গতিতে চলেযেখানে শিখবেন: পর্ব ৪৯পর্ব ৫১
Backreferenceব্যাকরেফারেন্স
নকশার ভেতরে \1 বা \k<name>, যা আগের group হুবহু যা মিলিয়েছে সেটিই আবার চায় — যেমন /(\w)\1/ পরপর একই অক্ষর; গাণিতিক অর্থে এটি regular নয়যেখানে শিখবেন: পর্ব ৩০
Backtracking (regex engine)ব্যাকট্র্যাকিং
regex engine-এর কৌশল: একটি পথে মিল ব্যর্থ হলে পিছিয়ে এসে আগের quantifier বা বিকল্পকে অন্যভাবে নিয়ে আবার চেষ্টা করা; JavaScript-এর V8 engine এভাবেই কাজ করেযেখানে শিখবেন: পর্ব ৩০
Bare specifierবেয়ার স্পেসিফায়ার
"lodash"-এর মতো শুধু package-এর নাম, যা ./, ../, / বা URL দিয়ে শুরু হয় না; Node তা node_modules-এ খোঁজে, কিন্তু ব্রাউজার import map বা bundler ছাড়া বোঝে নাযেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৬
Barrel fileব্যারেল ফাইল
সাধারণত index.js নামের একটি ফাইল, যা একটি ফোল্ডারের অনেক module re-export করে এক জায়গা থেকে দেয়; সুবিধাজনক, কিন্তু বড় হলে লোড ধীর করে আর circular import ডেকে আনেযেখানে শিখবেন: পর্ব ৪৫
Base caseবেস কেস
recursion-এর সেই শর্ত, যেখানে function আর নিজেকে ডাকে না, সরাসরি ফল ফেরত দেয় — যেমন factorial-এ n <= 1 হলে 1. না থাকলে call stack ভরে RangeError আসে।যেখানে শিখবেন: পর্ব ১৩
Base64বেস সিক্সটি-ফোর
যেকোনো bytes-কে শুধু ৬৪টি ASCII অক্ষরে লেখার উপায় — প্রতি ৩ byte ৪ অক্ষর হয়। Email attachment বা JSON-এর ভেতরে bytes পাঠাতে ব্যবহার হয়; এটি encryption নয়, যে কেউ উল্টে পড়তে পারেযেখানে শিখবেন: পর্ব ৪৯
Baselineবেসলাইন
২০২৩ সাল থেকে MDN ও web.dev-এ দেখানো লেবেল, যা বলে একটি ওয়েব বৈশিষ্ট্য সব প্রধান ব্রাউজারে কতটা পাওয়া যায় — Limited availability, Newly available (সব সর্বশেষ ব্রাউজারে), Widely available (তার প্রায় ৩০ মাস পরে)যেখানে শিখবেন: পর্ব ৪১
Batchingব্যাচিং
অনেক ছোট অনুরোধ অল্প সময় জমিয়ে একটি অনুরোধে পাঠানো — যেমন ৫০টি আলাদা দামের request-এর বদলে একটি /api/prices?ids=… — যাতে নেটওয়ার্ক আর সার্ভারের খরচ কমে।যেখানে শিখবেন: পর্ব ৩৬
beforeunloadবিফোর-আনলোড
পাতা ছাড়ার ঠিক আগে window-এ আসা event; listener-এ preventDefault ডাকলে ব্রাউজার নিজের সাধারণ “আপনি কি নিশ্চিত?” প্রশ্ন দেখায়। শুধু অসংরক্ষিত পরিবর্তন থাকলে লাগানো উচিত।যেখানে শিখবেন: পর্ব ৩৮
BigIntবিগইন্ট
যত বড় খুশি পূর্ণসংখ্যার টাইপ, শেষে n লিখে তৈরি হয় (যেমন 10n); ES2020-এ যুক্ত। number-এর সাথে সরাসরি মেশানো যায় না।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৮পর্ব ১০
Bindingবাইন্ডিং
একটি নাম আর একটি মানের মধ্যে সংযোগ। const বাঁধনটিকে স্থির রাখে — নামটি অন্য মানের দিকে সরানো যায় না, কিন্তু মানটি object হলে তার ভেতর বদলানো যায়।যেখানে শিখবেন: পর্ব ০৭পর্ব ২২পর্ব ৪৫
Biomeবায়োম
Rust-এ লেখা একটি টুল, যা একাই JavaScript/TypeScript lint আর format করে — ESLint আর Prettier-এর একটি দ্রুত, সব-এক-জায়গায় বিকল্পযেখানে শিখবেন: পর্ব ৪৬
Bit flagবিট ফ্ল্যাগ
একটি সংখ্যার প্রতিটি bit-কে আলাদা হ্যাঁ/না সুইচ হিসেবে ব্যবহার — যেমন READ = 1, WRITE = 2, DELETE = 4; | দিয়ে চালু, & ~ দিয়ে বন্ধ, & দিয়ে যাচাইযেখানে শিখবেন: পর্ব ০৮
Bitwise operatorবিটওয়াইজ অপারেটর
সংখ্যাকে bit-এর সারি ধরে কাজ করা operator — &, |, ^, ~, <<, >>, >>>; JavaScript কাজের আগে number-কে ৩২-বিট পূর্ণসংখ্যায় বদলে নেয়যেখানে শিখবেন: পর্ব ০৮
Blameless postmortemব্লেমলেস পোস্টমর্টেম
কোনো বিভ্রাটের পর লেখা বিশ্লেষণ — সময়রেখা, কারণ, শিক্ষা আর পদক্ষেপ — যেখানে দোষী খোঁজা হয় না, বরং দেখা হয় সিস্টেম কীভাবে ভুলটি সম্ভব করল।যেখানে শিখবেন: পর্ব ৫৫
Blobব্লব
ব্রাউজারে কাঁচা binary ডেটার (ছবি, অডিও, PDF) অপরিবর্তনীয় object, সাথে MIME type; File হলো এর একটি বিশেষ রূপ। IndexedDB-তে সরাসরি রাখা যায়, localStorage-এ যায় নাযেখানে শিখবেন: পর্ব ৪০
Blob URL (object URL)ব্লব ইউআরএল
URL.createObjectURL(blob) দিয়ে বানানো blob: দিয়ে শুরু হওয়া একটি অস্থায়ী ঠিকানা, যা মেমরিতে থাকা Blob বা File-কে নির্দেশ করে; কাজ শেষে URL.revokeObjectURL দিয়ে মুক্ত করতে হয়যেখানে শিখবেন: পর্ব ৪২
Blockব্লক
কোঁকড়া বন্ধনী { } দিয়ে ঘেরা statement-এর দল; if, লুপ বা function-এর শরীর হিসেবে একসাথে চলে, আর let/const-এর scope তৈরি করেযেখানে শিখবেন: পর্ব ১১
Block scopeব্লক স্কোপ
কোঁকড়া বন্ধনী { }-এর ভেতরের এলাকা (if, for, while বা খালি block). let, const আর class-এর নাম শুধু সেই block-এর ভেতরে দেখা যায়।যেখানে শিখবেন: পর্ব ০৭পর্ব ১১পর্ব ১২
Blockingব্লকিং
যে কোড thread দখল করে রেখে কাজ শেষ না হওয়া পর্যন্ত অন্য কিছু চলতে দেয় না; ব্রাউজারে লম্বা blocking কাজ পাতা জমিয়ে দেয়, Node.js-এ সব request আটকে রাখেযেখানে শিখবেন: পর্ব ৩১পর্ব ৪৯
Body size limitবডি সাইজ লিমিট
একটি অনুরোধের body সর্বোচ্চ কত বড় হতে পারবে তার সীমা; express.json()-এ ডিফল্ট ১০০ KB, বেশি হলে HTTP 413 Payload Too Large — বিশাল body পাঠিয়ে সার্ভার বসিয়ে দেওয়া ঠেকায়যেখানে শিখবেন: পর্ব ৫০
BOLA (Broken Object Level Authorization)বোলা
API যখন id দিয়ে object দেয় কিন্তু সেটি অনুরোধকারীর কি না যাচাই করে না — id বদলে অন্যের তথ্য পড়া যায়; OWASP API Security Top 10-এর ২০১৯ ও ২০২৩ দুই তালিকাতেই এক নম্বর ঝুঁকিযেখানে শিখবেন: পর্ব ৫০
Booleanবুলিয়ান
শুধু দুটি মানের টাইপ — true আর false; শর্ত আর সিদ্ধান্তে ব্যবহৃত হয়।যেখানে শিখবেন: পর্ব ০৬
Bound functionবাউন্ড ফাংশন
bind দিয়ে তৈরি নতুন function, যা ডাকলে আসল function-কে স্থির this (আর আগে বসানো argument) দিয়ে চালায়। পরে call বা আরেকটি bind দিয়ে তার this বদলানো যায় না; শুধু new তা উপেক্ষা করে।যেখানে শিখবেন: পর্ব ২৪
Box modelবক্স মডেল
প্রতিটি element-কে একটি আয়তক্ষেত্র হিসেবে দেখার CSS নিয়ম — ভেতর থেকে content, padding, border আর margin.যেখানে শিখবেন: পর্ব ০২
Bracket notationব্র্যাকেট নোটেশন
obj[expr] আকারে property পড়া বা লেখা। বন্ধনীর ভেতরের expression আগে হিসাব হয়, তারপর তার মান (string-এ বদলে) key হিসেবে খোঁজা হয় — variable-এ থাকা key বা space-যুক্ত key-এর জন্য দরকার।যেখানে শিখবেন: পর্ব ১৪
Brand checkব্র্যান্ড চেক
কোনো object সত্যিই একটি নির্দিষ্ট class-এর constructor দিয়ে তৈরি কি না যাচাই। JavaScript-এ #field in obj (ES2022) দিয়ে করা যায়, যা instanceof-এর মতো prototype বদলে ঠকানো যায় না।যেখানে শিখবেন: পর্ব ২৬
breakব্রেক
যে statement সবচেয়ে ভেতরের লুপ বা switch সঙ্গে সঙ্গে থামিয়ে তার পরের লাইনে নিয়ে যায়। Label দিলে বাইরের লুপও থামানো যায়।যেখানে শিখবেন: পর্ব ১২
Breaking changeব্রেকিং চেঞ্জ
এমন পরিবর্তন, যার পর পুরোনো কোড না বদলালে আর ঠিকভাবে চলে না — function সরানো, নাম বা আচরণ বদলানো; semver-এ এর জন্য MAJOR বাড়েযেখানে শিখবেন: পর্ব ৪৬
Breakpointব্রেকপয়েন্ট
কোডের একটি লাইনে বসানো চিহ্ন, যেখানে পৌঁছালে debugger প্রোগ্রাম থামিয়ে দেয় যাতে ভেতরের অবস্থা দেখা যায়।যেখানে শিখবেন: পর্ব ০৩পর্ব ২২
Brotliব্রটলি
Google-এর তৈরি একটি compression পদ্ধতি, যা লেখা-ভিত্তিক ফাইলকে সাধারণত gzip-এর চেয়েও কিছুটা বেশি ছোট করে; সার্ভার চেপে পাঠায়, ব্রাউজার খুলে নেয়যেখানে শিখবেন: পর্ব ৫৩
Browserব্রাউজার
যে প্রোগ্রাম ওয়েব পাতা নামিয়ে দেখায় — যেমন Chrome, Firefox, Safari, Edge. এর ভেতরে একটি JavaScript engine থাকে, আর থাকে DOM, fetch-এর মতো API.যেখানে শিখবেন: পর্ব ০১
Browser fingerprintingব্রাউজার ফিঙ্গারপ্রিন্টিং
পর্দার আকার, font, ভাষা, যন্ত্রের নানা বৈশিষ্ট্যের মতো অনেক ছোট তথ্য জুড়ে cookie ছাড়াই একজন ব্যবহারকারীকে চিনে ফেলার কৌশল; প্রতিটি নতুন Web API এর সম্ভাব্য উৎস, তাই ব্রাউজার অনেক তথ্য ইচ্ছা করে কম নির্ভুল রাখেযেখানে শিখবেন: পর্ব ৪০পর্ব ৪১
Browser sniffingব্রাউজার স্নিফিং
navigator.userAgent string পড়ে ব্রাউজারের নাম ও version অনুমান করে আচরণ বদলানো; ভঙ্গুর আর ভুলপ্রবণ, কারণ string-এ ঐতিহাসিক জঞ্জাল থাকে আর ক্ষমতা version-এর সাথে বদলায় — feature detection-এর উল্টোযেখানে শিখবেন: পর্ব ৪১
Browserslistব্রাউজারসলিস্ট
কোন কোন ব্রাউজার সমর্থন করতে হবে তা এক জায়গায় লেখার মানদণ্ড (যেমন "defaults" বা "> 0.5%, not dead"), যা Babel, Autoprefixer-এর মতো বহু টুল পড়েযেখানে শিখবেন: পর্ব ৪৬
Brute forceব্রুট ফোর্স
সব সম্ভাবনা একে একে পরীক্ষা করে উত্তর বের করার সরল পদ্ধতি; প্রায়ই ধীর, কিন্তু সহজে সঠিক লেখা যায় — তাই উন্নত সমাধানের শুরু আর যাচাইয়ের বিচারকযেখানে শিখবেন: পর্ব ৫৯
Bufferবাফার
Node.js-এর কাঁচা bytes রাখার class — Uint8Array-এর subclass, সাথে toString("utf8"), Buffer.from, Buffer.byteLength-এর মতো সুবিধা। ফাইল, নেটওয়ার্ক আর stream-এর ডেটা প্রায়ই Buffer হিসেবে আসেযেখানে শিখবেন: পর্ব ৪৯
bufferedAmountবাফার্ড অ্যামাউন্ট
WebSocket-এর property, যা জানায় send() দিয়ে দেওয়া কত byte এখনো নেটওয়ার্কে পাঠানো বাকি; এটি বাড়তে থাকলে বুঝতে হবে client পিছিয়ে পড়ছে, নতুন বার্তা জমানো ঠিক নয়যেখানে শিখবেন: পর্ব ৫১
Bunবান
Safari-র JavaScriptCore engine-এর ওপর তৈরি, Zig ভাষায় লেখা একটি JavaScript runtime; runtime, package manager, bundler আর test runner এক সাথে দেয়, আর বেশিরভাগ Node API চালাতে পারেযেখানে শিখবেন: পর্ব ৪৯
Bundle sizeবান্ডল সাইজ
একটি পাতা ব্রাউজারে যত KB JavaScript পাঠায় তার মোট আকার; প্রতিটি KB নামাতে, parse, compile আর চালাতে হয় বলে পারফরম্যান্সের বড় নির্ধারকযেখানে শিখবেন: পর্ব ৫৩
Bundlerবান্ডলার
Vite, webpack, Rollup বা esbuild-এর মতো টুল, যা module graph অনুসরণ করে অনেক ফাইলকে ব্রাউজারের জন্য কয়েকটি অপ্টিমাইজ করা ফাইলে জোড়ে; সাথে tree shaking, code splitting আর minify করেযেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৬পর্ব ৫৩
Bytecodeবাইটকোড
Source আর machine code-এর মাঝামাঝি একটি সরল নির্দেশ-ভাষা; JavaScript engine চলার সময় এটি বানায় এবং interpreter দিয়ে চালায়যেখানে শিখবেন: পর্ব ০৫পর্ব ৫৮

C

Cacheক্যাশ
একবার হিসাব করা বা আনা ফল জমিয়ে রাখা, যাতে পরের বার আবার হিসাব না করে সরাসরি দেওয়া যায়; সীমা বা মোছার নিয়ম না থাকলে cache নিজেই memory leak হয়ে উঠতে পারেযেখানে শিখবেন: পর্ব ১৮পর্ব ২২পর্ব ৩৫
Cache APIক্যাশ এপিআই
HTTP request আর response জোড়া রাখার ব্রাউজার storage (caches.open, cache.put, cache.match); service worker এটি দিয়ে পাতার ফাইল আর API-র উত্তর অফলাইনে দেখায়। HTTP-র নিজস্ব cache থেকে আলাদা, পুরো নিয়ন্ত্রণ কোডের হাতেযেখানে শিখবেন: পর্ব ৪০পর্ব ৪৪
Cache-Controlক্যাশ কন্ট্রোল
যে header বলে দেয় উত্তর কে, কতক্ষণ জমিয়ে রাখতে পারবে — যেমন max-age=60 (৬০ সেকেন্ড আবার না জিজ্ঞেস করে ব্যবহার) বা no-store (কখনো জমাবে না)যেখানে শিখবেন: পর্ব ৩৫পর্ব ৪৪পর্ব ৪৬
Cache-firstক্যাশ-ফার্স্ট
আগে cache দেখা, পাওয়া গেলে সেটিই উত্তর, না পেলে network থেকে এনে জমানো; সবচেয়ে দ্রুত আর ডেটা খরচ কম, তবে নামে hash-যুক্ত (বিষয়বস্তু বদলালে নাম বদলায় এমন) static ফাইলের জন্যই নিরাপদযেখানে শিখবেন: পর্ব ৪৪
Cache-onlyক্যাশ-অনলি
শুধু cache থেকে উত্তর, network-এ কখনো যাওয়া হয় না; install-এর সময় precache করা app shell-এর ফাইলের জন্যযেখানে শিখবেন: পর্ব ৪৪
Caching strategyক্যাশিং স্ট্র্যাটেজি
একটি অনুরোধের উত্তর cache থেকে, network থেকে, নাকি দুটো মিলিয়ে আসবে — তার নিয়ম; প্রচলিত পাঁচটি হলো cache-first, network-first, stale-while-revalidate, network-only আর cache-onlyযেখানে শিখবেন: পর্ব ৪৪
Call stackকল স্ট্যাক
চলমান function-গুলোর frame-এর স্তূপ (LIFO); function ডাকলে ওপরে একটি frame বসে, return করলে সরে যায়যেখানে শিখবেন: পর্ব ০৫পর্ব ১৩পর্ব ২৩
Callbackকলব্যাক
যে function argument হিসেবে অন্য function-এ পাঠানো হয়, যাতে সে পরে সুবিধামতো সময়ে সেটিকে ডাকে — যেমন sort-এর তুলনার function, setTimeout বা addEventListener-এ দেওয়া function.যেখানে শিখবেন: পর্ব ১৩পর্ব ১৫পর্ব ১৬
Callback hell (pyramid of doom)কলব্যাক হেল
পরপর নির্ভরশীল async কাজ nested callback দিয়ে লিখলে কোড ডানদিকে পিরামিডের মতো গভীর হয়; পড়া, প্রতিটি স্তরে ভুল সামলানো আর retry বা timeout-এর মতো নিয়ন্ত্রণ কঠিন হয়ে যায়। মূল সমাধান Promise আর async/await.যেখানে শিখবেন: পর্ব ৩২পর্ব ৫৭পর্ব ৫৮
camelCaseক্যামেলকেস
নাম লেখার রীতি: প্রথম শব্দ ছোট হাতে, পরের প্রতিটি শব্দের প্রথম অক্ষর বড় হাতে, যেমন customerName. JavaScript-এ ভ্যারিয়েবল ও function-এর নামে এটিই প্রচলিত।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৭
Capturing groupক্যাপচারিং গ্রুপ
বন্ধনী ( ) দিয়ে ঘেরা নকশার অংশ, যার মেলা লেখা মনে রাখা হয়; বাঁ দিক থেকে নম্বর পায়, মিলের ফলে m[1] আর replace-এ $1 দিয়ে পাওয়া যায়যেখানে শিখবেন: পর্ব ৩০
Caret range (^)ক্যারেট রেঞ্জ
বাঁ দিক থেকে প্রথম অশূন্য অংশ না বদলানো পর্যন্ত আপডেট গ্রহণ করে: ^1.4.2 = >=1.4.2 <2.0.0, ^0.4.2 = >=0.4.2 <0.5.0; npm install ডিফল্টে এটিই লেখেযেখানে শিখবেন: পর্ব ৪৬
Cascadeক্যাসকেড
একই element-এ একাধিক CSS নিয়ম মিললে কোনটি জিতবে তা ঠিক করার পদ্ধতি — উৎস ও গুরুত্ব, তারপর specificity, তারপর লেখার ক্রম।যেখানে শিখবেন: পর্ব ০২
Case-sensitiveকেস-সেনসিটিভ
বড় হাত আর ছোট হাতের অক্ষরকে আলাদা ধরা। JavaScript-এ total আর Total দুটি আলাদা নাম।যেখানে শিখবেন: পর্ব ০৪
Catastrophic backtrackingক্যাটাস্ট্রফিক ব্যাকট্র্যাকিং
নেস্টেড বা ওভারল্যাপ করা quantifier-এর নকশায় (যেমন (a+)+$) মিল না পেলে engine লেখা ভাগ করার সব উপায় চেষ্টা করে, ফলে ইনপুট সামান্য বাড়লেই সময় সূচকীয় হারে বাড়েযেখানে শিখবেন: পর্ব ৩০পর্ব ৫৮
CGI (Common Gateway Interface)সিজিআই
১৯৯০-এর দশকের web server-এর একটি সরল নিয়ম: প্রতিটি অনুরোধে একটি আলাদা প্রোগ্রাম চালানো, ফর্মের ডেটা environment variable আর standard input দিয়ে দেওয়া, আর প্রোগ্রামের আউটপুটকেই নতুন পাতা হিসেবে পাঠানোযেখানে শিখবেন: পর্ব ৩৯
Chain of Responsibilityচেইন অফ রেসপনসিবিলিটি
১৯৯৪ সালের Design Patterns বইয়ের একটি pattern: অনুরোধ কয়েকটি handler-এর শিকল ধরে যায়, প্রত্যেকে নিজে সামলায় বা পরের জনকে দেয় — middleware এই চিন্তারই রূপযেখানে শিখবেন: পর্ব ৫০
change eventচেঞ্জ ইভেন্ট
মান চূড়ান্ত হলে আসা event: লেখার ঘরে focus সরে যাওয়ার সময় (মান বদলে থাকলে), আর checkbox, radio, select-এ বাছাইয়ের সাথে সাথেযেখানে শিখবেন: পর্ব ৩৯
Character classক্যারেক্টার ক্লাস
এক ঘরের জন্য কয়েকটি বিকল্প অক্ষর: [3-9], [০-৯], [^0-9] (উল্টো), আর তৈরি সংক্ষিপ্ত রূপ \d, \w, \s; পুরো class মাত্র একটি অক্ষর মেলায়যেখানে শিখবেন: পর্ব ৩০
Character encodingক্যারেক্টার এনকোডিং
অক্ষরকে bytes-এ আর bytes-কে অক্ষরে রূপান্তরের নিয়ম — যেমন UTF-8, UTF-16, latin1. ভুল encoding ধরে পড়লে লেখা অর্থহীন চিহ্নে ভরে যায়যেখানে শিখবেন: পর্ব ৪৯
Checked exceptionচেকড এক্সেপশন
Java-র নিয়ম: কিছু exception হয় catch করতে হবে, নয়তো method-এর throws অংশে ঘোষণা করতে হবে, না হলে compile হবে না; JavaScript-এ এমন কোনো নিয়ম নেইযেখানে শিখবেন: পর্ব ২৯
checkValidity()চেক-ভ্যালিডিটি
ঘর বা পুরো ফর্ম বৈধ কি না true/false দেয়, অবৈধ ঘরে invalid event পাঠায়, কিন্তু ব্যবহারকারীকে কিছু দেখায় নাযেখানে শিখবেন: পর্ব ৩৯
child_processচাইল্ড প্রসেস
Node.js থেকে অন্য প্রোগ্রাম চালানোর core module — exec (shell দিয়ে), execFile ও spawn (ডিফল্টে shell ছাড়া, argument array), fork (আরেকটি Node process)যেখানে শিখবেন: পর্ব ৪৯
Chunkচাঙ্ক
Stream-এ একবারে আসা ডেটার একটি টুকরো — সাধারণত একটি Buffer বা string; fs.createReadStream-এ ডিফল্ট আকার ৬৪ KiB. Chunk-এর সীমানা লাইন বা অক্ষরের সীমানা মানে নাযেখানে শিখবেন: পর্ব ৪৯
Chunkingচাংকিং
একটি বড় কাজকে ছোট ছোট টুকরোয় ভেঙে আলাদা আলাদা task-এ করা, যাতে কোনো টুকরোই main thread বেশিক্ষণ (৫০ ms-এর বেশি) আটকে না রাখেযেখানে শিখবেন: পর্ব ৩১পর্ব ৪২পর্ব ৫৩
CI/CD (Continuous Integration / Continuous Delivery)সি-আই/সি-ডি
প্রতিটি push-এ পরিষ্কার একটি মেশিনে নিজে থেকে install, lint, টেস্ট আর build চালানো হলো CI; আর সব পাস করলে অ্যাপকে স্বয়ংক্রিয়ভাবে release-এর জন্য প্রস্তুত রাখা বা deploy করা হলো CD.যেখানে শিখবেন: পর্ব ৫৫
Circuit breakerসার্কিট ব্রেকার
পরপর অনেক ব্যর্থতা হলে কিছুক্ষণের জন্য একটি সার্ভিসে request পাঠানোই বন্ধ রাখার নকশা — closed (স্বাভাবিক), open (সাথে সাথে ভুল বা fallback) আর half-open (পরীক্ষামূলক request) — তিন অবস্থা। Michael Nygard-এর “Release It!” (২০০৭) বইয়ে জনপ্রিয়।যেখানে শিখবেন: পর্ব ৩৬
Circular dependencyসার্কুলার ডিপেনডেন্সি
দুই বা ততোধিক module যখন ঘুরে ফিরে একে অপরকে import করে (a → b → a); ES module-এ একজনকে আগে চলতেই হয়, আর সে অন্যের এখনো-না-চলা let/const পড়লে TDZ-এর ReferenceErrorযেখানে শিখবেন: পর্ব ৪৫
Circular referenceসার্কুলার রেফারেন্স
যখন একটি object সরাসরি বা অন্য object ঘুরে নিজেকেই reference করে (যেমন obj.self = obj); JSON.stringify এতে TypeError দেয়, structuredClone ঠিকঠাক কপি করেযেখানে শিখবেন: পর্ব ১৯
Classক্লাস
একই ধরনের অনেক object বানানোর নকশা (ES2015): constructor, method, getter, static আর #private field এক জায়গায় লেখা যায়। ভেতরে এটি prototype-ভিত্তিক ব্যবস্থার ওপর একটি পরিষ্কার লেখার ধরনযেখানে শিখবেন: পর্ব ২৬পর্ব ২৭পর্ব ৫৬
class (HTML/CSS)ক্লাস
element-এর class attribute-এ দেওয়া নাম, যা দিয়ে CSS নিয়ম বসানো হয় আর JavaScript classList দিয়ে যোগ-বাদ করে অবস্থা জানায়; JavaScript-এর class কীওয়ার্ড থেকে আলাদা জিনিস।যেখানে শিখবেন: পর্ব ০২
Class expressionক্লাস এক্সপ্রেশন
মান হিসেবে লেখা class: const A = class { … }. Variable-এ রাখা, function-এ পাঠানো বা function থেকে ফেরত দেওয়া যায় — mixin এর ওপর দাঁড়িয়ে।যেখানে শিখবেন: পর্ব ২৬
Class fieldক্লাস ফিল্ড
class-এর ভেতরে constructor ছাড়াই সরাসরি লেখা property, যেমন items = []; বা add = () => {}. প্রতিটি নতুন object-এর জন্য constructor-এর সময় চলে, তখন this = নতুন object; ES2022-এ মানদণ্ডে যুক্ত।যেখানে শিখবেন: পর্ব ২৪পর্ব ২৬
classListক্লাসলিস্ট
element-এর class-গুলো সামলানোর property; add, remove, toggle (দ্বিতীয় argument-এ শর্ত দেওয়া যায়) আর contains method আছে। চেহারা বদলানোর পছন্দের পথ — নিয়ম থাকে CSS-এ।যেখানে শিখবেন: পর্ব ৩৭
CLDR (Common Locale Data Repository)সি-এল-ডি-আর
Unicode Consortium-এর ভাষা-ডেটার ভান্ডার — মাস ও বারের নাম, তারিখের ক্রম, সংখ্যার কমা, বহুবচনের নিয়ম; Intl-এর বাংলা ফরম্যাট এখান থেকেই আসে।যেখানে শিখবেন: পর্ব ২০
CLI (Command-line interface)সিএলআই
Terminal-এ কমান্ড লিখে চালানো প্রোগ্রাম, যেমন git বা npm. ভালো CLI --help দেখায়, ভুল stderr-এ লেখে আর ঠিক exit code দেয়যেখানে শিখবেন: পর্ব ৪৯
Clickjackingক্লিকজ্যাকিং
অন্য সাইট আপনার পাতাকে স্বচ্ছ iframe-এ নিজের পাতার ওপর বসিয়ে ব্যবহারকারীকে দিয়ে অজান্তে বোতাম চাপিয়ে নেয়; প্রতিরোধ: CSP frame-ancestors বা X-Frame-Optionsযেখানে শিখবেন: পর্ব ৪৩
Clientক্লায়েন্ট
যে প্রোগ্রাম সেবা চায় — ওয়েবে সাধারণত ব্যবহারকারীর ব্রাউজার; এখানে চলা কোড ব্যবহারকারী দেখতে ও বদলাতে পারেন।যেখানে শিখবেন: পর্ব ০২পর্ব ৩৫পর্ব ৫০
Client-side routingক্লায়েন্ট-সাইড রাউটিং
SPA-তে লিংক চাপলে সার্ভার থেকে নতুন পাতা না এনে JavaScript History API দিয়ে URL বদলায় আর শুধু দরকারি component বদলে দেখায়; React Router, Vue Router এর উদাহরণযেখানে শিখবেন: পর্ব ৫৪
Client-side validationক্লায়েন্ট-সাইড ভ্যালিডেশন
ব্রাউজারে, ডেটা পাঠানোর আগেই ইনপুট যাচাই — HTML-এর required, pattern বা JavaScript দিয়ে। এটি শুধু ব্যবহারকারীর সুবিধার জন্য; ব্যবহারকারী চাইলে এড়াতে পারেন, তাই নিরাপত্তা দেয় নাযেখানে শিখবেন: পর্ব ৩৯পর্ব ৫৮
Clipboard APIক্লিপবোর্ড এপিআই
navigator.clipboard-এর async method (writeText, readText, write, read) দিয়ে কপি-পেস্টের জায়গায় লেখা বা পড়া; secure context লাগে, আর পড়ার জন্য ব্যবহারকারীর অনুমতি বা নিশ্চিতকরণযেখানে শিখবেন: পর্ব ৪১
cloneNodeক্লোন নোড
একটি node-এর কপি বানায়; cloneNode(true) পুরো শাখাসহ (deep) কপি করে। addEventListener দিয়ে লাগানো listener কপি হয় না, তবে id কপি হয়।যেখানে শিখবেন: পর্ব ৩৭
Close code (WebSocket)ক্লোজ কোড
WebSocket বন্ধ হওয়ার কারণ জানানো সংখ্যা, close event-এর e.code-এ পাওয়া যায়: 1000 স্বাভাবিক, 1001 চলে যাচ্ছি, 1006 অস্বাভাবিকভাবে কাটা, 1008 নীতি ভঙ্গ, 1009 বার্তা খুব বড়; 4000–4999 অ্যাপের নিজের ব্যবহারের জন্যযেখানে শিখবেন: পর্ব ৫১
closest()ক্লোজেস্ট
element-এর method, যা নিজে থেকে শুরু করে parent, তার parent — এভাবে ওপরে উঠে দেওয়া CSS selector মেলে এমন প্রথম element ফেরত দেয়, না পেলে null; event delegation-এ e.target থেকে আসল item খুঁজতে কাজে লাগে।যেখানে শিখবেন: পর্ব ৩৮
Closureক্লোজার
একটি function আর যে scope-এ সেটি তৈরি হয়েছিল তার variable-গুলোর জোড়। function পরে অন্য কোথাও চললেও সেই variable-গুলো পড়তে ও বদলাতে পারে।যেখানে শিখবেন: পর্ব ০৭পর্ব ১২পর্ব ১৩
Cloud Firestoreফায়ারস্টোর
Google-এর Firebase-এর document ডেটাবেস; ব্রাউজার বা মোবাইল থেকে সরাসরি পড়া-লেখা, real-time আপডেট, আর নিরাপত্তা নিয়ন্ত্রণ হয় security rules দিয়ে।যেখানে শিখবেন: পর্ব ৫২
CLS (Cumulative Layout Shift)সিএলএস
পাতার জিনিস অপ্রত্যাশিতভাবে কতটা সরে যায় তার একক-ছাড়া স্কোর; Core Web Vital, ০.১ বা কম হলে ভালো, ০.২৫-এর বেশি হলে খারাপযেখানে শিখবেন: পর্ব ৫৩
Code coverageকোড কভারেজ
টেস্ট চলার সময় কোডের কত শতাংশ লাইন, শাখা আর function অন্তত একবার চলেছে তার মাপ; না-ছোঁয়া অংশ দেখায়, কিন্তু ফল যাচাই হয়েছে কি না বলে না।যেখানে শিখবেন: পর্ব ৪৮
Code formatterকোড ফরম্যাটার
কোডের অর্থ না বদলে indent, quote, লাইন ভাঙা ইত্যাদি নির্দিষ্ট নিয়মে নতুন করে লেখার টুল — যেমন Prettier, Biomeযেখানে শিখবেন: পর্ব ৪৬পর্ব ৫৭
Code pointকোড পয়েন্ট
Unicode-এ প্রতিটি চিহ্নের নির্দিষ্ট নম্বর, যেমন ‘ক’ বা একটি emoji. JavaScript string-এ একটি code point এক বা দুই UTF-16 code unit জায়গা নেয়; for…of string-কে code point ধরে ঘোরে।যেখানে শিখবেন: পর্ব ০৯পর্ব ১২পর্ব ১৭
Code splittingকোড স্প্লিটিং
অ্যাপের কোড কয়েকটি আলাদা ফাইলে (chunk) ভাগ করা, যাতে শুরুতে শুধু দরকারি অংশ নামে আর বাকিগুলো import() দিয়ে প্রয়োজনের সময়; bundler নিজে এই ভাগ করেযেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৬পর্ব ৫৩
Code unit (UTF-16)কোড ইউনিট
JavaScript string-এর ভেতরের একক — একটি ১৬-বিটের সংখ্যা; string-এর length আর string তুলনা এই code unit গুনে বা মিলিয়ে হয়, অক্ষর হিসেবে নয়যেখানে শিখবেন: পর্ব ০৮পর্ব ০৯পর্ব ৪৯
Command injectionকমান্ড ইনজেকশন
ব্যবহারকারীর ইনপুট shell কমান্ডে বসানোর ফলে আক্রমণকারী নিজের কমান্ড চালাতে পারে এমন দুর্বলতা — যেমন নামের ভেতরে ; rm -rf ~. প্রতিরোধ: shell বাদ দিয়ে execFile/spawn-এ argument array, সাথে ইনপুট যাচাইযেখানে শিখবেন: পর্ব ৪৯
Commentকমেন্ট
কোডের ভেতরে মানুষের জন্য লেখা নোট, যা engine উপেক্ষা করে। JavaScript-এ // দিয়ে এক লাইনের আর /* */ দিয়ে একাধিক লাইনের comment হয়।যেখানে শিখবেন: পর্ব ০৪
CommonJS (CJS)কমনজেএস
২০০৯ সালে সার্ভারের JavaScript-এর জন্য তৈরি module ব্যবস্থা, যা Node.js গ্রহণ করে: require() দিয়ে আমদানি, module.exports দিয়ে রপ্তানি; লোড হয় synchronous ভাবে, চালানোর সময়যেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৯পর্ব ৫৭
Comparatorকম্প্যারেটর
sort-কে দেওয়া তুলনার function (a, b) => …: ঋণাত্মক ফেরত দিলে a আগে, ধনাত্মক দিলে b আগে, 0 দিলে ক্রম অপরিবর্তিত। সংখ্যায় a - b.যেখানে শিখবেন: পর্ব ১৬পর্ব ৫৮পর্ব ৫৯
Comparison operatorকম্প্যারিজন অপারেটর
দুটি মান তুলনা করে true বা false দেয় — <, >, <=, >=; দুটিই string হলে অক্ষর ধরে ধরে UTF-16 নম্বরে তুলনা হয়, নইলে সাধারণত দুটিকেই number-এ বদলেযেখানে শিখবেন: পর্ব ০৮
Componentকম্পোনেন্ট
UI-এর একটি স্বয়ংসম্পূর্ণ, পুনর্ব্যবহারযোগ্য টুকরো, যা নিজের মার্কআপ, ডেটা আর আচরণ একসাথে রাখে; React-এ এটি একটি function, যা props নিয়ে UI-এর বর্ণনা ফেরত দেয়। ছোট component জুড়ে বড় component আর পুরো পাতা তৈরি হয়যেখানে শিখবেন: পর্ব ৫৪
Composite / compositingকম্পোজিট
আলাদা আলাদা স্তরে (layer) আঁকা অংশগুলো সঠিক ক্রমে জুড়ে চূড়ান্ত ছবি বানানো — প্রায়ই GPU দিয়ে; transform আর opacity বদল অনেক সময় শুধু এই ধাপেই সামলানো যায়।যেখানে শিখবেন: পর্ব ০২
Composition (over inheritance)কম্পোজিশন
“is-a” (subclass) সম্পর্কের বদলে “has-a” — একটি object-এর ভেতরে অন্য ছোট object রেখে তাদের দিয়ে কাজ করানো। গভীর class গাছের চেয়ে নমনীয়; Design Patterns (১৯৯৪) বইয়ের বিখ্যাত উপদেশ।যেখানে শিখবেন: পর্ব ২৬পর্ব ৫৭
Composition API (Vue)কম্পোজিশন এপিআই
Vue 3-এর component লেখার ধরন, যেখানে ref, reactive, computed, watch function দিয়ে logic লেখা হয় আর সহজে আলাদা function-এ ভাগ ও পুনর্ব্যবহার করা যায়; পুরোনো Options API-র বিকল্পযেখানে শিখবেন: পর্ব ৫৪
Compound assignmentকম্পাউন্ড অ্যাসাইনমেন্ট
হিসাব আর মান বসানো একসাথে — total += 50 মানে total = total + 50; -=, *=, /=, %=, **= একই ধাঁচেরযেখানে শিখবেন: পর্ব ০৮
Computed property nameকম্পিউটেড প্রপার্টি নেম
object literal-এর ভেতরে key-এর জায়গায় [expr] লিখে চলার সময় key ঠিক করা, যেমন { [field]: value }. ES2015 থেকে আছে।যেখানে শিখবেন: পর্ব ১৪পর্ব ২৮
Concatenationকনক্যাটিনেশন
দুটি string জোড়া লাগিয়ে একটি বানানো; + অপারেটরের এক পাশে string থাকলে যোগ না করে এটিই ঘটে, যেমন "5" + 3 দেয় "53".যেখানে শিখবেন: পর্ব ০৬পর্ব ৫৬
Concurrencyকনকারেন্সি
একই সময়সীমায় অনেক কাজ এগিয়ে নেওয়া, যদিও যেকোনো মুহূর্তে হয়তো একটিই চলছে; JavaScript-এর event loop একটি thread-এ concurrency দেয়যেখানে শিখবেন: পর্ব ৩১পর্ব ৩৪পর্ব ৪২
Concurrency limitকনকারেন্সি লিমিট
একসাথে সর্বোচ্চ কয়টি async কাজ চলবে তার সীমা — যেমন ৫০০টি ছবি আপলোডের সময় একবারে ৪টি; সার্ভার, নেটওয়ার্ক বা rate limit-এর ওপর চাপ নিয়ন্ত্রণে রাখেযেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৬পর্ব ৫৯
Connection poolকানেকশন পুল
আগে থেকে খোলা কয়েকটি ডেটাবেস সংযোগের দল, যেগুলো অনুরোধে অনুরোধে ধার দেওয়া আর ফেরত নেওয়া হয়; নতুন সংযোগ খোলার খরচ বাঁচায় আর সর্বোচ্চ সংযোগ-সংখ্যা বেঁধে রাখে।যেখানে শিখবেন: পর্ব ৫২পর্ব ৫৫
Connection string (DATABASE_URL)কানেকশন স্ট্রিং
ডেটাবেসে পৌঁছানোর সব তথ্য একটি URL-এ — যেমন postgres://user:password@host:5432/dbname; পাসওয়ার্ড থাকে বলে কোডে নয়, environment variable-এ রাখা হয়।যেখানে শিখবেন: পর্ব ৫২
Consoleকনসোল
DevTools-এর একটি প্যানেল (বা Node-এর terminal), যেখানে console.log-এর লেখা ও error দেখা যায়। এটি ডেভেলপারের জন্য, সাধারণ ব্যবহারকারী দেখেন না।যেখানে শিখবেন: পর্ব ০৪
console.assertকনসোল অ্যাসার্ট
console.assert(শর্ত, বার্তা) — শর্ত মিথ্যা হলে console-এ Assertion failed বার্তা দেখায়, কিন্তু exception ছোড়ে না, প্রোগ্রামও থামায় না; উন্নয়নের সময় অনুমান যাচাইয়ের ছোট টুলযেখানে শিখবেন: পর্ব ২৯
constকনস্ট
ES2015 থেকে আসা ঘোষণা, যার বাঁধন আর বদলানো যায় না — নতুন মান বসালে TypeError. Block-scoped; ঘোষণার সময়েই মান দিতে হয়। মান object হলে তার ভেতরের property বদলানো যায়।যেখানে শিখবেন: পর্ব ০৭
Constraint (database)কনস্ট্রেইন্ট
ডেটাবেসের ভেতরে প্রয়োগ হওয়া নিয়ম — NOT NULL, UNIQUE, CHECK, PRIMARY KEY, FOREIGN KEY; নিয়ম ভাঙা লেখা ডেটাবেস error দিয়ে ফিরিয়ে দেয়।যেখানে শিখবেন: পর্ব ৫২
Constraint validationকনস্ট্রেইন্ট ভ্যালিডেশন
HTML attribute-এ লেখা শর্ত (required, pattern, minlength, min, max, step, type) দিয়ে ব্রাউজারের নিজস্ব যাচাই, যা জমা দেওয়ার আগে চলে আর ভুল থাকলে জমা আটকায়যেখানে শিখবেন: পর্ব ৩৯
Constraint Validation APIকনস্ট্রেইন্ট ভ্যালিডেশন এপিআই
ব্রাউজারের যাচাই JavaScript থেকে পড়া ও নিয়ন্ত্রণের উপায় — validity, validationMessage, willValidate, checkValidity(), reportValidity() আর setCustomValidity()যেখানে শিখবেন: পর্ব ৩৯
Constructorকনস্ট্রাক্টর
new দিয়ে object তৈরির সময় একবার চলা বিশেষ function; class-এ এর নাম constructor(...), আর ভেতরে this হলো নতুন object. Child class-এর constructor-এ this-এর আগে super() ডাকতে হয়।যেখানে শিখবেন: পর্ব ২৬
Constructor functionকনস্ট্রাক্টর ফাংশন
new দিয়ে ডাকার জন্য লেখা সাধারণ function (নাম বড় হাতের অক্ষরে শুরু); this-এ নতুন object-এর ডেটা বসায়, আর ভাগের method থাকে তার prototype-এযেখানে শিখবেন: পর্ব ২৫
constructor propertyকনস্ট্রাক্টর প্রপার্টি
Fn.prototype.constructor === Fn — prototype থেকে তার function-এ ফেরার link; সব instance এটি ধার করে, তবে এটি সাধারণ, বদলানো যায় এমন property বলে নির্ভরযোগ্য পরিচয় নয়যেখানে শিখবেন: পর্ব ২৫
Container (Docker)কন্টেইনার
অ্যাপ, তার runtime আর সব dependency একটি image-এ বাঁধা, যা host-এর kernel ভাগ করে কিন্তু আলাদা পরিবেশে চলে — যেখানেই চালান, একই আচরণ। Docker এর সবচেয়ে পরিচিত টুল।যেখানে শিখবেন: পর্ব ৫৫
Container queryকন্টেইনার কোয়েরি
CSS-এর @container নিয়ম, যা পুরো পর্দার বদলে একটি element-এর নিজের পাত্রের (container) আকার দেখে style বদলায় — একই কার্ড চওড়া আর সরু জায়গায় আলাদা layout পায়যেখানে শিখবেন: পর্ব ৪১
Content hashingকনটেন্ট হ্যাশিং
ফাইলের নামে তার বিষয়বস্তুর hash বসানো (যেমন app.3f9a1c.js); বিষয়বস্তু বদলালে নামও বদলায়, তাই ফাইলটিকে খুব লম্বা সময় cache করা নিরাপদযেখানে শিখবেন: পর্ব ৪৬পর্ব ৫৩
Content Security Policy (CSP)সিএসপি
সার্ভারের পাঠানো একটি নিরাপত্তা নিয়ম (HTTP header), যা ব্রাউজারকে বলে কোন উৎসের script, style বা ছবি চলতে পারবে; inline script আর onclick-এর মতো attribute বন্ধ করে XSS-এর ক্ষতি কমায়।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৪৩পর্ব ৫৫
Content-Typeকনটেন্ট টাইপ
যে header body-র ফরম্যাট জানায় — যেমন application/json, text/html, multipart/form-data; JSON পাঠালে এটি না দিলে অনেক সার্ভার body পড়ে নাযেখানে শিখবেন: পর্ব ৩৫পর্ব ৫০
Continuation-passing style (CPS)কন্টিনিউয়েশন-পাসিং স্টাইল
যে রীতিতে function ফল return না করে একটি বাড়তি function-কে (continuation, অর্থাৎ বাকি প্রোগ্রাম) ফল দিয়ে ডাকে; নামটি এসেছে ১৯৭৫ সালে Sussman ও Steele-এর Scheme-বিষয়ক লেখা থেকে। Node.js-এর callback মূলত হাতে লেখা CPS.যেখানে শিখবেন: পর্ব ৩২
continueকন্টিনিউ
যে statement বর্তমান ঘোরার বাকি অংশ বাদ দিয়ে লুপের পরের ঘোরায় নিয়ে যায়। for লুপে এর পরে update অংশ ঠিকই চলে।যেখানে শিখবেন: পর্ব ১২
Continuous integration (CI)কন্টিনিউয়াস ইন্টিগ্রেশন
প্রতিটি push বা pull request-এ একটি পরিষ্কার সার্ভারে নিজে থেকে install, lint আর সব টেস্ট চালানোর অভ্যাস ও ব্যবস্থা; কিছু ভাঙলে merge-এর আগেই লাল সংকেত দেয়।যেখানে শিখবেন: পর্ব ৪৬পর্ব ৪৮
Controlled componentকন্ট্রোলড কম্পোনেন্ট
এমন ফর্ম-ইনপুট, যার মান থাকে component-এর state-এ: প্রতিটি টাইপে state বদলায় আর state-ই ইনপুটে মান বসায়, ফলে যাচাই আর ফরম্যাট সহজ হয়যেখানে শিখবেন: পর্ব ৫৪
Core module (Node.js)কোর মডিউল
Node.js-এর সাথেই আসা built-in module — যেমন fs, path, http, stream, child_process. আলাদা করে ইনস্টল করতে হয় না; আধুনিক রীতিতে node: prefix দিয়ে আনা হয়, যেমন require("node:fs")যেখানে শিখবেন: পর্ব ৪৯
Core Web Vitalsকোর ওয়েব ভাইটালস
ওয়েব পাতার ব্যবহারকারী-অভিজ্ঞতা মাপার জন্য Google-এর তিনটি মূল মাপকাঠি — LCP (লোডের গতি), CLS (লেআউট নড়াচড়া) আর INP (সাড়া দেওয়ার গতি)যেখানে শিখবেন: পর্ব ৩১পর্ব ৪১পর্ব ৫৩
Coroutineকো-রুটিন
এমন routine বা function, যে মাঝপথে নিজে থেমে নিয়ন্ত্রণ অন্যকে দিতে পারে আর পরে সেখান থেকেই আবার চলতে পারে; JavaScript-এর generator আর async function এর সরল (stackless) রূপযেখানে শিখবেন: পর্ব ২৭পর্ব ৩৪
Correlation id (request id)করিলেশন আইডি
প্রতিটি অনুরোধে লাগানো একটি অনন্য সংখ্যা বা লেখা, যা উত্তরেও ফেরত আসে — ফলে উত্তর যে ক্রমেই আসুক, কোন উত্তর কোন অনুরোধের তা মেলানো যায়যেখানে শিখবেন: পর্ব ৪২পর্ব ৫৫
CORS (Cross-Origin Resource Sharing)কর্স
ব্রাউজারের same-origin নিয়মের নিয়ন্ত্রিত ব্যতিক্রম — সার্ভার Access-Control-Allow-Origin-এর মতো header দিয়ে জানায় কোন অন্য origin তার উত্তর পড়তে পারবে; প্রয়োগ করে ব্রাউজারযেখানে শিখবেন: পর্ব ৩৫পর্ব ৪৩পর্ব ৪৫
CPU profileসিপিইউ প্রোফাইল
প্রোগ্রাম চলার সময় নিয়মিত বিরতিতে call stack-এর নমুনা নিয়ে তৈরি রেকর্ড, যা দেখায় কোন function কত CPU সময় নিল; Node-এ --cpu-prof দিয়ে .cpuprofile ফাইল হিসেবে পাওয়া যায়যেখানে শিখবেন: পর্ব ৫৩
CPU-boundসিপিইউ-বাউন্ড
যে কাজের সময় যায় মূলত হিসাব করতে, নেটওয়ার্ক বা ডিস্কের অপেক্ষায় নয় — যেমন ছবি প্রসেসিং, বড় ডেটার যোগফল, hash. এমন কাজ main thread আটকায়, তাই Worker-এ পাঠানোর যোগ্যযেখানে শিখবেন: পর্ব ৪২পর্ব ৪৯
createElementক্রিয়েট এলিমেন্ট
document.createElement('li') — নতুন একটি element বানায়, যা append বা before-এর মতো method দিয়ে বসানো পর্যন্ত গাছের বাইরে থাকে আর পর্দায় দেখা যায় না।যেখানে শিখবেন: পর্ব ৩৭
Critical rendering pathক্রিটিক্যাল রেন্ডারিং পাথ
HTML থেকে DOM, CSS থেকে CSSOM, তারপর render tree, layout আর paint — প্রথম পর্দা আঁকা পর্যন্ত ব্রাউজারের ধাপগুলোর ধারাযেখানে শিখবেন: পর্ব ৫৩
Cross-origin isolationক্রস-অরিজিন আইসোলেশন
পাতার এমন অবস্থা যেখানে Cross-Origin-Opener-Policy: same-origin আর Cross-Origin-Embedder-Policy: require-corp header দিয়ে অনুমতিহীন অন্য-origin জিনিস আলাদা রাখা হয়; Spectre-এর পর SharedArrayBuffer-এর মতো শক্তিশালী API-র শর্ত। যাচাই: self.crossOriginIsolatedযেখানে শিখবেন: পর্ব ৪২
CRUDক্রাড
ডেটার চার মৌলিক কাজ — Create, Read, Update, Delete; SQL-এ INSERT, SELECT, UPDATE, DELETE আর REST API-তে সাধারণত POST, GET, PUT/PATCH, DELETE.যেখানে শিখবেন: পর্ব ৫২
CrUX (Chrome User Experience Report)ক্রাক্স
অনুমতি দেওয়া Chrome ব্যবহারকারীদের আসল অভিজ্ঞতা থেকে Google-এর প্রকাশ করা সমষ্টিগত পারফরম্যান্স তথ্য; PageSpeed Insights আর Search Console-এ field data হিসেবে দেখা যায়যেখানে শিখবেন: পর্ব ৫৩
CSP nonceসিএসপি ননস
প্রতিটি response-এ নতুন করে বানানো এলোমেলো একটি টোকেন; CSP-তে 'nonce-…' দিলে শুধু একই nonce লেখা script tag চলে, ঢোকানো script চলে নাযেখানে শিখবেন: পর্ব ৪৩
CSR (Client-Side Rendering)সিএসআর
ব্রাউজারে JavaScript নামার পরে পাতার HTML তৈরি করা; সার্ভার প্রায় ফাঁকা একটি HTML পাঠায়। ড্যাশবোর্ডে ভালো, কিন্তু প্রথম লোড ধীর আর SEO দুর্বলযেখানে শিখবেন: পর্ব ৫৪পর্ব ৫৮
CSRF (Cross-Site Request Forgery)সিএসআরএফ
অন্য সাইটের পাতা ব্যবহারকারীর অজান্তে কোনো সাইটে অবস্থা-বদলানো অনুরোধ পাঠায়, আর ব্রাউজার নিজে থেকে cookie জুড়ে দেয় বলে সার্ভার সেটিকে ব্যবহারকারীর অনুরোধ ভাবেযেখানে শিখবেন: পর্ব ৩৯পর্ব ৪০পর্ব ৪৩
CSRF tokenসিএসআরএফ টোকেন
সার্ভারের দেওয়া অনুমান-অযোগ্য গোপন মান, যা আসল পাতার ফর্ম বা header-এ যায়; অন্য সাইট এটি পড়তে পারে না, তাই token ছাড়া আসা অনুরোধ সার্ভার বাতিল করেযেখানে শিখবেন: পর্ব ৪৩
CSSসিএসএস
Cascading Style Sheets — ওয়েব পাতার চেহারা (রং, অক্ষর, মাপ, বিন্যাস) ঠিক করার ভাষা; selector দিয়ে HTML element বেছে তার ওপর নিয়ম বসায়।যেখানে শিখবেন: পর্ব ০২
CSSOMসিএসএসওএম
CSS Object Model — CSS নিয়মগুলো parse করে ব্রাউজারের বানানো গঠন; DOM-এর সাথে মিলে render tree তৈরি করে, আর JavaScript দিয়েও পড়া যায়।যেখানে শিখবেন: পর্ব ০২
CSWSH (Cross-Site WebSocket Hijacking)ক্রস-সাইট ওয়েবসকেট হাইজ্যাকিং
অন্য সাইটের পাতা ব্যবহারকারীর ব্রাউজার থেকে আপনার WebSocket সার্ভারে সংযোগ খোলে, আর ব্রাউজার তাতে আপনার cookie জুড়ে দিতে পারে — WebSocket-এর CSRF. প্রতিরক্ষা: handshake-এ Origin header অনুমোদিত তালিকার সাথে মেলানো আর SameSite cookieযেখানে শিখবেন: পর্ব ৫১
currentTargetকারেন্ট-টার্গেট
event object-এর property: যে element-এ বসানো listener এই মুহূর্তে চলছে; target (যেখানে ঘটনা আসলে ঘটেছে) থেকে আলাদা হতে পারে। listener শেষ হলে এর মান null হয়ে যায়।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৫৬
Curryingকারিইং
কয়েকটি argument নেওয়া function-কে এমন function-এর শিকলে বদলানো, যার প্রতিটি একটি করে argument নেয়: f(a, b, c) হয়ে যায় f(a)(b)(c). নামটি যুক্তিবিদ Haskell Curry-র নামে।যেখানে শিখবেন: পর্ব ২৩পর্ব ৫৮
Cursor paginationকার্সর পেজিনেশন
পাতার নম্বরের বদলে “শেষ দেখা জিনিসের পর থেকে” পরের অংশ আনা (যেমন ?after=A-120&limit=10); নতুন ডেটা যোগ হলেও পাতা সরে যায় না, আর বড় টেবিলে offset-এর চেয়ে দ্রুতযেখানে শিখবেন: পর্ব ৫০
Custom error classকাস্টম এরর ক্লাস
class ValidationError extends Error-এর মতো নিজের বানানো error টাইপ; নিজের name আর বাড়তি field (যেমন field) রাখা যায়, আর instanceof দিয়ে আলাদা করে ধরা যায়যেখানে শিখবেন: পর্ব ২৯
CustomEventকাস্টম ইভেন্ট
নিজের নাম আর ডেটাসহ event তৈরির class: new CustomEvent("cart:updated", { detail, bubbles: true }); detail-এ যেকোনো মান রাখা যায়, আর bubbles ও cancelable ডিফল্টে false.যেখানে শিখবেন: পর্ব ৩৮

D

Data pipelineডেটা পাইপলাইন
ডেটাকে একের পর এক ধাপে (বাছাই, রূপান্তর, যোগ ইত্যাদি) পার করিয়ে শেষ ফল বানানোর নকশা; JavaScript-এ সাধারণত filter, map, reduce-এর chain.যেখানে শিখবেন: পর্ব ১৬
data-* attributeডেটা অ্যাট্রিবিউট
HTML element-এ নিজের তথ্য রাখার attribute, যার নাম data- দিয়ে শুরু, যেমন data-id="tea"; JavaScript-এ element.dataset.id দিয়ে পড়া যায়।যেখানে শিখবেন: পর্ব ৩৮
Databaseডেটাবেস
ডেটা স্থায়ীভাবে রাখা, অনেক ব্যবহারকারীকে একসাথে নিরাপদে পড়তে-লিখতে দেওয়া আর দ্রুত খুঁজে দেওয়ার জন্য বানানো আলাদা সফটওয়্যার। Node সাধারণত নেটওয়ার্কের ওপর driver দিয়ে এর সাথে কথা বলে।যেখানে শিখবেন: পর্ব ৫২
Database driverডেটাবেস ড্রাইভার
যে library প্রোগ্রাম আর ডেটাবেসের মাঝে network protocol সামলায় — সংযোগ, query পাঠানো, ফল ফেরত আনা। যেমন pg, mysql2, better-sqlite3, mongodb.যেখানে শিখবেন: পর্ব ৫২
DataCloneErrorডেটা-ক্লোন এরর
structuredClone বা postMessage যখন কোনো মান কপি করতে পারে না (যেমন function বা DOM node), তখন ছোড়া DOMException-এর নামযেখানে শিখবেন: পর্ব ১৯পর্ব ৪২
DataLoaderডেটালোডার
Facebook-এর তৈরি ছোট JavaScript library, যা একই event loop tick-এ আসা আলাদা আলাদা “id দিয়ে আনো” অনুরোধ জড়ো করে একটি batch query বানায় আর ফল cache করে; GraphQL সার্ভারে N+1 ঠেকাতে প্রচলিত।যেখানে শিখবেন: পর্ব ৫২
dataset (data-* attribute)ডেটাসেট
data- দিয়ে শুরু হওয়া নিজের attribute পড়া-লেখার object: data-unit-price পাওয়া যায় el.dataset.unitPrice নামে। মান সবসময় string.যেখানে শিখবেন: পর্ব ৩৭
Date (object)ডেট অবজেক্ট
JavaScript-এর built-in object, যা সময়রেখার একটি মুহূর্ত রাখে — ভেতরে epoch থেকে মিলিসেকেন্ডের একটি number; মাস ০ থেকে গোনে আর set-method দিয়ে বদলানো যায়।যেখানে শিখবেন: পর্ব ২০
Date overflow (rollover)ডেট ওভারফ্লো
অস্তিত্বহীন তারিখ (যেমন ৩১ ফেব্রুয়ারি) Date-এ error না দিয়ে পরের মাসে গড়িয়ে যাওয়ার আচরণ; দিন ০ মানে আগের মাসের শেষ দিন।যেখানে শিখবেন: পর্ব ২০
Debounceডিবাউন্স
দ্রুত আসতে থাকা কল বা event-এর মধ্যে শেষটির পরে নির্দিষ্ট সময় চুপচাপ গেলে তবেই function একবার চালানোর কৌশল; প্রতিটি নতুন কল ঘড়ি আবার শুরু করে। Search box, autosave আর resize-এ ব্যবহার হয়; leading রূপে প্রথম কলেই চলে।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৩৮পর্ব ৩৯
Debuggerডিবাগার
চলমান প্রোগ্রাম থামিয়ে লাইন ধরে ধরে চালানো ও variable-এর মান দেখার টুল — যেমন DevTools-এর Sources ট্যাব বা VS Code-এর Run and Debug.যেখানে শিখবেন: পর্ব ০৩পর্ব ২৯
Declarationডিক্লারেশন
কোডে একটি নতুন নাম পরিচয় করিয়ে দেওয়া, যেমন let total; বা function greet() {}. প্রথম মান বসানোকে বলে initialization.যেখানে শিখবেন: পর্ব ০৭
Declaration file (.d.ts)ডিক্লারেশন ফাইল
শুধু টাইপ-বর্ণনা থাকা ফাইল, কোনো চলার কোড নেই; সাধারণ JavaScript লাইব্রেরির টাইপ জানায়। লাইব্রেরি নিজে দেয়, অথবা DefinitelyTyped-এর @types/… package থেকে আসে।যেখানে শিখবেন: পর্ব ৪৭
Declarativeডিক্লারেটিভ
কী চাই তা বর্ণনা করে লেখা কোড, কীভাবে ধাপে ধাপে করতে হবে তা নয় — যেমন orders.filter(isPaid).map(total). এর বিপরীত imperative: লুপ, counter আর variable বদলে নির্দেশ দেওয়া।যেখানে শিখবেন: পর্ব ২৩
Declarative UIডিক্লেয়ারেটিভ ইউআই
UI লেখার একটি ধরন, যেখানে বলা হয় “এই state-এ পাতা দেখতে এমন”, আর আগের পাতা থেকে সেখানে যাওয়ার ধাপগুলো library বা নিজের render ফাংশন বের করে — সংক্ষেপে UI = f(state) নীতি।যেখানে শিখবেন: পর্ব ২১পর্ব ৩৭পর্ব ৫৪
Decoratorডেকোরেটর
class বা তার method, field-এর আগে @নাম দিয়ে লেখা function, যা সংজ্ঞাটিকে মুড়ে বা প্রতিস্থাপন করে। বর্তমান রূপটি ২০২২ সালে TC39-এ Stage 3-এ পৌঁছায়; TypeScript 5.0 থেকে সমর্থিত, তবে পুরোনো experimentalDecorators রূপ আলাদা।যেখানে শিখবেন: পর্ব ২৮পর্ব ৫৪
Dedicated workerডেডিকেটেড ওয়ার্কার
সবচেয়ে সাধারণ ধরনের Web Worker, যা new Worker(url) দিয়ে একটি পাতা তৈরি করে আর শুধু সেই পাতাই তার সাথে বার্তা আদান-প্রদান করেযেখানে শিখবেন: পর্ব ৪২
Deep copyডিপ কপি
প্রতিটি তলার নতুন কপি — ভেতরের object-গুলোও আলাদা করে কপি হয়, তাই কপি বদলালে মূলটির কিছু বদলায় না। JavaScript-এ structuredClone() দিয়ে করা যায়।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৭পর্ব ১৯
Default bindingডিফল্ট বাইন্ডিং
new, call/apply/bind বা obj.method() — কোনোটি না থাকলে, অর্থাৎ খালি f() ডাকলে this-এর নিয়ম: strict mode-এ undefined, sloppy mode-এ global object.যেখানে শিখবেন: পর্ব ২৪
Default exportডিফল্ট এক্সপোর্ট
export default দিয়ে রপ্তানি করা module-এর একটিমাত্র “প্রধান” জিনিস; আমদানিকারী বাঁকা বন্ধনী ছাড়া যেকোনো নামে আনে, যেমন import taka from "./format.js"যেখানে শিখবেন: পর্ব ৪৫
Default parameterডিফল্ট প্যারামিটার
ES2015 থেকে parameter-এর পাশে লেখা বিকল্প মান, যেমন rate = 0.15. শুধু argument undefined হলে (বাদ দিলে বা undefined পাঠালে) খাটে; null, 0 বা খালি string পাঠালে খাটে না। প্রতিটি কলে নতুন করে হিসাব হয়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৭পর্ব ৫৬
Defense in depthডিফেন্স ইন ডেপথ
একটি সুরক্ষার ওপর ভরসা না করে কয়েক স্তরের সুরক্ষা রাখা, যাতে এক স্তর ব্যর্থ হলেও পরের স্তর ক্ষতি থামায়যেখানে শিখবেন: পর্ব ৪৩
Defensive programmingডিফেন্সিভ প্রোগ্রামিং
ভুল ইনপুট আর অপ্রত্যাশিত অবস্থা আগেই ধরে নিয়ে যাচাই ও সুরক্ষা যোগ করে কোড লেখার অভ্যাস; বেশি হলে ভুল লুকিয়ে ফেলার ঝুঁকি থাকেযেখানে শিখবেন: পর্ব ৩২
deferডেফার
<script> ট্যাগের একটি attribute: ফাইলটি সাথে সাথে নামাও, কিন্তু চালাও HTML পুরো পড়া শেষ হলে। এতে script চলার সময় পাতার সব উপাদান তৈরি থাকে।যেখানে শিখবেন: পর্ব ০৪
defer (script)ডেফার
<script src defer> — script পাশাপাশি নামে, কিন্তু HTML পড়া শেষ হলে লেখার ক্রম মেনে চলে (DOMContentLoaded-এর আগে); শুধু src থাকা script-এ কাজ করে।যেখানে শিখবেন: পর্ব ০২পর্ব ৩৭পর্ব ৪৫
Delegationডেলিগেশন
নিজের কাছে না থাকা property বা method-এর খোঁজ আরেকটি object-কে (prototype) পাঠিয়ে দেওয়া; JavaScript-এর উত্তরাধিকার কপি নয়, এই delegation-এর শিকলযেখানে শিখবেন: পর্ব ২৫
Denoডিনো
Node.js-এর স্রষ্টা Ryan Dahl-এর শুরু করা আরেকটি JavaScript/TypeScript runtime (V8-এর ওপর, Rust-এ লেখা); ডিফল্টে ফাইল বা নেটওয়ার্কের অনুমতি দেয় না, TypeScript সরাসরি চালায়যেখানে শিখবেন: পর্ব ৪৯
Deoptimizationডি-অপ্টিমাইজেশন
JIT-এর অনুমান (যেমন একটি variable সবসময় number) ভুল প্রমাণিত হলে optimized machine code বাতিল করে আবার bytecode-এ ফেরা; ফল সঠিক থাকে, শুধু কিছুটা ধীর হয়যেখানে শিখবেন: পর্ব ০৫পর্ব ২৫পর্ব ৫৩
Dependabotডিপেনডাবট
GitHub-এর সেবা, যা নিয়মিত dependency-র নতুন version আর নিরাপত্তা-সতর্কতা খুঁজে নিজে থেকে pull request খোলে; একই কাজের আরেকটি জনপ্রিয় টুল Renovateযেখানে শিখবেন: পর্ব ৪৬
Dependencyডিপেনডেন্সি
আপনার প্রজেক্ট যে package-এর ওপর নির্ভর করে; package.json-এর dependencies (চলার সময় লাগে) বা devDependencies (তৈরি ও যাচাইয়ে লাগে) তালিকায় লেখা থাকেযেখানে শিখবেন: পর্ব ৪৬
Dependency injection (DI)ডিপেন্ডেন্সি ইনজেকশন
একটি function, class বা component নিজের নির্ভরতা (fetch, ঘড়ি, service) নিজে না বানিয়ে বাইরে থেকে পায় — parameter, constructor বা framework (যেমন Angular-এর inject()) দিয়ে; ফলে টেস্টে সহজে নকল বসানো যায়।যেখানে শিখবেন: পর্ব ৪৮পর্ব ৫৪
Deployment (deploy)ডিপ্লয়মেন্ট
অ্যাপের নতুন সংস্করণকে সার্ভার বা hosting-এ তুলে ব্যবহারকারীদের জন্য চালু করার পুরো প্রক্রিয়া — build, migration, নতুন process চালু আর যাচাই।যেখানে শিখবেন: পর্ব ৫৫
Derived stateডিরাইভড স্টেট
অন্য state বা props থেকে হিসাব করে পাওয়া মান (মোট দাম, filter করা তালিকা); এগুলো আলাদা state হিসেবে জমা না রেখে প্রতি render-এ হিসাব করা হয়, ভারী হলে useMemo, computed বা $derived দিয়ে cacheযেখানে শিখবেন: পর্ব ৫৪
Deserializationডিসিরিয়ালাইজেশন
Serialization-এর উল্টো কাজ — লেখা বা byte-সারি পড়ে আবার মেমরির ডেটা-কাঠামো বানানো; JavaScript-এ JSON.parse প্রতিবার সম্পূর্ণ নতুন object বানায়যেখানে শিখবেন: পর্ব ১৯
Destructuringডিস্ট্রাকচারিং
একটি array-এর মান বা object-এর property এক লাইনে খুলে আলাদা variable-এ রাখার ব্যাকরণ, যেমন const [a, b] = arr বা const { name } = user. Array মেলে অবস্থান দিয়ে, object মেলে নাম দিয়ে; ES2015 (ES6) থেকে আছে।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৭পর্ব ২৭
Detached ArrayBufferডিট্যাচড অ্যারেবাফার
transfer হয়ে যাওয়ার পর পাঠানো দিকে পড়ে থাকা ArrayBuffer; এর byteLength ০, আর এর ওপর বানানো typed array-ও খালি (length ০)যেখানে শিখবেন: পর্ব ৪২
Detached DOM nodeডিট্যাচড ডম নোড
DOM tree থেকে সরানো হয়েছে কিন্তু JavaScript-এর কোনো reference এখনো ধরে আছে বলে GC মুছতে পারে না এমন element; memory leak-এর সাধারণ কারণযেখানে শিখবেন: পর্ব ৫৩
Dev proxyডেভ প্রক্সি
ডেভেলপমেন্টের সময় নিজের dev server-এর মাধ্যমে API-তে অনুরোধ পৌঁছে দেওয়ার ব্যবস্থা, যাতে ব্রাউজারের চোখে অনুরোধটি same-origin হয় — শুধু নিজের যন্ত্রে কাজের সুবিধা, প্রোডাকশনের CORS সমাধান নয়যেখানে শিখবেন: পর্ব ৪৩পর্ব ৫৫
devDependenciesডেভ ডিপেনডেন্সি
শুধু ডেভেলপমেন্ট আর CI-তে লাগে এমন package-এর তালিকা — bundler, linter, formatter, test runner; npm install -D দিয়ে যোগ হয়, আর --omit=dev দিলে ইনস্টল হয় নাযেখানে শিখবেন: পর্ব ৪৬
DevToolsডেভটুলস
Browser-এর ভেতরে ডেভেলপারদের জন্য রাখা টুলের সেট — Console, Elements, Sources (debugger), Network ইত্যাদি; F12 চাপলে খোলে।যেখানে শিখবেন: পর্ব ০২পর্ব ০৩পর্ব ২২
Discriminated unionডিসক্রিমিনেটেড ইউনিয়ন
কয়েকটি object টাইপের union, যাদের সবার মধ্যে একটি সাধারণ literal ঘর (যেমন status) থাকে; সেই ঘর পরীক্ষা করলেই compiler বোঝে কোন সদস্য, আর তার নিজস্ব ঘর পড়তে দেয়।যেখানে শিখবেন: পর্ব ৪৭
dispatchEventডিসপ্যাচ-ইভেন্ট
কোড থেকে একটি event পাঠানোর method; সব listener সাথে সাথে একই call stack-এ চলে (synchronous), তারপর ফেরত আসে। কোনো listener cancelable event-এ preventDefault ডাকলে false ফেরত দেয়।যেখানে শিখবেন: পর্ব ৩৮
Distractorডিসট্র্যাক্টর
MCQ-এর ইচ্ছাকৃত বিভ্রান্তিকর ভুল অপশন, যা কোনো প্রচলিত ভুল ধারণা থেকে বানানো হয় আর দেখতে সঠিক উত্তরের মতো মনে হয়।যেখানে শিখবেন: পর্ব ৫৭
DNS (Domain Name System)ডিএনএস
ইন্টারনেটের ফোনবুক — example.com-এর মতো নামকে কম্পিউটারের বোঝার মতো IP ঠিকানায় বদলে দেয়।যেখানে শিখবেন: পর্ব ০২পর্ব ৩৫
documentডকুমেন্ট
ব্রাউজারের দেওয়া global object, যা একটি পাতার DOM গাছের শিকড়; এখান থেকেই querySelector, createElement, document.body ইত্যাদি পাওয়া যায়। Node.js-এ এটি নেই।যেখানে শিখবেন: পর্ব ৩৭
DocumentFragmentডকুমেন্ট ফ্র্যাগমেন্ট
গাছের বাইরের একটি হালকা পাত্র, যাতে অনেক node জমিয়ে একবারে বসানো যায়; বসানোর সময় fragment নিজে নয়, তার সন্তানেরা সরে যায় আর fragment খালি হয়। nodeType 11.যেখানে শিখবেন: পর্ব ৩৭
DOM (Document Object Model)ডম
ব্রাউজারে HTML পাতার object-এর গাছ, যা JavaScript দিয়ে পড়া ও বদলানো যায়; এটি ব্রাউজার runtime দেয়, ভাষার অংশ নয়যেখানে শিখবেন: পর্ব ০১পর্ব ০২পর্ব ০৪
DOM propertyডম প্রপার্টি
element object-এর একটি property, যেমন input.value, checkbox.checked বা a.href; এটি element-এর এই মুহূর্তের অবস্থা দেখায়। অনেক property HTML attribute-কে প্রতিফলিত করে, কিন্তু সবসময় নয় — input.value বদলালে value attribute বদলায় না।যেখানে শিখবেন: পর্ব ৩৭
DOM traversalডম ট্রাভার্সাল
একটি node থেকে তার parent, সন্তান বা ভাই-বোনের কাছে যাওয়া — parentElement, children, firstElementChild, nextElementSibling, closest ইত্যাদি দিয়ে।যেখানে শিখবেন: পর্ব ৩৭
DOM-based XSSডম-বেসড এক্সএসএস
যে XSS পুরোপুরি ব্রাউজারের JavaScript-এ ঘটে: location.hash-এর মতো উৎসের লেখা innerHTML-এর মতো কোনো sink-এ গিয়ে HTML বা কোড হয়ে যায়যেখানে শিখবেন: পর্ব ৪৩
DOMContentLoadedডম-কনটেন্ট-লোডেড
document-এর event, যা ঘটে HTML পুরো পড়া আর DOM গাছ তৈরি শেষ হলে (defer script চলার পরে); ছবি বা stylesheet তখনো নামতে থাকতে পারে। window-এর load আসে সব resource আসার পরে।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৩৮
DOMExceptionডম এক্সেপশন
ব্রাউজারের Web API-গুলোর error object; ধরন বোঝা যায় name দেখে — যেমন SecurityError, QuotaExceededError, AbortError, DataCloneError. কোডে বার্তা নয়, name মিলিয়ে সিদ্ধান্ত নিনযেখানে শিখবেন: পর্ব ৪০
DOMPurifyডম পিউরিফাই
বহুল ব্যবহৃত open-source JavaScript library, যা ব্রাউজারের নিজের parser দিয়ে HTML পড়ে বিপজ্জনক অংশ ছেঁটে নিরাপদ HTML ফেরত দেয়; innerHTML-এ বসানোর আগে ব্যবহার করা হয়।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৪৩
DORA metricsডোরা মেট্রিকস
সফটওয়্যার দলের ডেলিভারি মাপার চারটি মাপকাঠি: deploy কত ঘনঘন, commit থেকে production-এ কত সময়, কত শতাংশ বদল সমস্যা তৈরি করে, আর সমস্যা হলে সেবা ফেরাতে কত সময় লাগে।যেখানে শিখবেন: পর্ব ৫৫
Dot notationডট নোটেশন
obj.key আকারে property পড়া বা লেখা। ডটের পরের নামটি আক্ষরিক key হিসেবে পড়া হয়, তাই এটি একটি বৈধ identifier হতে হয়।যেখানে শিখবেন: পর্ব ১৪
Double precision (double)ডাবল প্রিসিশন
IEEE 754-এর ৬৪-বিটের বিন্যাস: ১ বিট sign, ১১ বিট exponent, ৫২ বিট mantissa; দশমিকে প্রায় ১৫–১৭টি অঙ্কের নির্ভুলতাযেখানে শিখবেন: পর্ব ১০
Double submitডাবল সাবমিট
একই ফর্ম দুবার জমা পড়া — সাধারণত ধীর নেটওয়ার্কে ব্যবহারকারী আবার চাপলে; ফলে দুবার অর্ডার বা পেমেন্ট হতে পারে। পাঠানোর সময় বোতাম disabled রাখা আর server-এ idempotency দিয়ে ঠেকানো হয়যেখানে শিখবেন: পর্ব ৩৯পর্ব ৫৫
do…whileডু-হোয়াইল
যে লুপ আগে body চালায়, তারপর শর্ত যাচাই করে। তাই body অন্তত একবার চলবেই — মেনু দেখানো বা আবার চেষ্টার কাজে উপযোগী।যেখানে শিখবেন: পর্ব ১২
Dry runড্রাই রান
কম্পিউটারে না চালিয়ে কাগজে-কলমে কোড লাইন ধরে চালানো, যাতে বোঝা যায় প্রোগ্রাম কী করবে আর কী ছাপবে। JavaScript-এ এর সাথে scope তৈরির ধাপ, this আর event loop-এর লাইনও হিসাবে রাখতে হয়।যেখানে শিখবেন: পর্ব ৫৬
DST (Daylight Saving Time)ডি-এস-টি
গ্রীষ্মে ঘড়ি সাধারণত এক ঘণ্টা এগিয়ে রাখার নিয়ম; এতে বছরে একদিন ২৩ ঘণ্টার আর একদিন ২৫ ঘণ্টার হয়। ঢাকায় বর্তমানে DST নেই।যেখানে শিখবেন: পর্ব ২০
Duplex streamডুপ্লেক্স স্ট্রিম
যে stream পড়াও যায়, লেখাও যায়, আর দুই দিক স্বাধীন — যেমন TCP socketযেখানে শিখবেন: পর্ব ৪৯
Dynamic import — import()ডাইনামিক ইমপোর্ট
import(specifier) — ES2020-এর syntax, যা যেকোনো জায়গায় (শর্তের ভেতরে, event handler-এ) একটি module লোড করে আর namespace object দিয়ে পূর্ণ হওয়া Promise ফেরত দেয়; CommonJS ফাইলেও চলেযেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৩
Dynamic scopeডায়নামিক স্কোপ
যে নিয়মে function-এর ভেতরের একটি বাইরের নাম খোঁজা হয় function যেখান থেকে ডাকা হয়েছে সেখানকার পরিবেশে, যেখানে লেখা হয়েছে সেখানে নয়। পুরোনো Lisp আর Bash-এর local variable এমন; JavaScript-এর variable কখনো এই নিয়ম মানে না।যেখানে শিখবেন: পর্ব ২২
Dynamic typingডায়নামিক টাইপিং
টাইপ থাকে মানের গায়ে, variable-এর নয়; একই variable-এ যেকোনো টাইপের মান রাখা যায়, আর টাইপ যাচাই হয় কোড চলার সময়।যেখানে শিখবেন: পর্ব ০৬পর্ব ৪৭

E

Eager evaluationইগার ইভ্যালুয়েশন
সাথে সাথে পুরো হিসাব করে ফেলা: প্রতিটি ধাপ সব উপাদান শেষ করে পরের ধাপে যায়, যেমন array-এর filter আর map প্রতিবার পুরো একটি নতুন array বানায়। lazy evaluation-এর বিপরীতযেখানে শিখবেন: পর্ব ২৭
Early errorআর্লি এরর
যে ভুল engine কোড চালানোর আগেই, parse করার সময় ধরে ফেলে — যেমন একই scope-এ একই নামে দুটি let. এমন error থাকলে পুরো script-এর একটি লাইনও চলে না; সাধারণত এটি SyntaxError হিসেবে দেখা দেয়।যেখানে শিখবেন: পর্ব ৫৬
Early returnআর্লি রিটার্ন
কাজ শেষ বা অসম্ভব বোঝামাত্র function থেকে ফিরে আসা, শেষ পর্যন্ত অপেক্ষা না করে; return-এর পরে else লেখার দরকার থাকে নাযেখানে শিখবেন: পর্ব ১১পর্ব ৩২
ECMAScriptএকমাস্ক্রিপ্ট
JavaScript ভাষার আনুষ্ঠানিক মানদণ্ড, Ecma International-এর TC39 কমিটি প্রতি বছর নতুন version (ES2015, ES2016…) প্রকাশ করেযেখানে শিখবেন: পর্ব ০১পর্ব ০৫পর্ব ৪৭
Edge caseএজ কেস
সাধারণ ব্যবহারের সীমানায় পড়া ইনপুট বা পরিস্থিতি — খালি মান, শূন্য, ঋণাত্মক, বিশাল মান, অদ্ভুত তারিখ — যেখানে বাগ সবচেয়ে বেশি লুকিয়ে থাকে।যেখানে শিখবেন: পর্ব ২১পর্ব ৪৮পর্ব ৫৮
EditorConfigএডিটরকনফিগ
.editorconfig ফাইলে indent-এর ধরন ও আকার, লাইনের শেষ, ফাইলের শেষের ফাঁকা লাইনের মতো সাধারণ নিয়ম লেখার মানদণ্ড, যা প্রায় সব এডিটর বোঝেযেখানে শিখবেন: পর্ব ৪৬
Effect (reactive effect)ইফেক্ট
component-এর render-এর বাইরে চলা কাজ — fetch, timer, subscription, ব্রাউজার API — যা নির্ভরতা বদলালে আবার চলে আর component সরে গেলে cleanup করে; React-এ useEffect, Vue-তে watchEffect, Svelte 5-এ $effectযেখানে শিখবেন: পর্ব ৫৪
Electronইলেকট্রন
Chromium আর Node.js একসাথে বসিয়ে HTML, CSS ও JavaScript দিয়ে desktop অ্যাপ বানানোর কাঠামো; VS Code-ও Electron-এ তৈরি।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩
Elementএলিমেন্ট
HTML-এর মূল একক — সাধারণত শুরুর ট্যাগ, ভেতরের জিনিস আর শেষের ট্যাগ নিয়ে তৈরি, যেমন <h2>শিরোনাম</h2>; DOM-এ প্রতিটি element একটি object.যেখানে শিখবেন: পর্ব ০২
Elimination methodইলিমিনেশন মেথড
উত্তর বাছাইয়ের কৌশল: সরাসরি সঠিকটি না খুঁজে প্রতিটি অপশনের পেছনের নিয়ম যাচাই করে ভুলগুলো একে একে বাদ দেওয়া।যেখানে শিখবেন: পর্ব ৫৭
Embedding vs referencing (document DB)এমবেডিং
document ডেটাবেসের নকশা-সিদ্ধান্ত — সম্পর্কিত ডেটা একই document-এর ভেতরে রাখা (embedding), নাকি আলাদা collection-এ রেখে id দিয়ে নির্দেশ করা (referencing). যা একসাথে পড়া হয়, তা সাধারণত একসাথে রাখা হয়।যেখানে শিখবেন: পর্ব ৫২
Encapsulationএনক্যাপসুলেশন
ডেটা লুকিয়ে রেখে শুধু নিয়ন্ত্রিত পথে (method দিয়ে) পড়া-বদলানোর সুযোগ দেওয়ার নকশা। JavaScript-এ closure বা class-এর #private field দিয়ে করা যায়।যেখানে শিখবেন: পর্ব ২২পর্ব ২৬
End-to-end (E2E) testএন্ড-টু-এন্ড টেস্ট
আসল ব্রাউজারে আসল অ্যাপ চালিয়ে ব্যবহারকারীর পুরো যাত্রা যাচাই — যেমন পণ্য যোগ থেকে চেকআউট পর্যন্ত; সবচেয়ে বাস্তব, কিন্তু ধীর আর দামি, তাই সংখ্যায় কম রাখা হয়।যেখানে শিখবেন: পর্ব ৪৮পর্ব ৫৫পর্ব ৫৮
Endpointএন্ডপয়েন্ট
একটি API-র নির্দিষ্ট একটি “method + ঠিকানা” জোড়া, যেমন POST /api/orders; প্রতিটি endpoint একটি নির্দিষ্ট কাজ করেযেখানে শিখবেন: পর্ব ৩৫পর্ব ৫০
Entryএন্ট্রি
Map বা object-এর একটি key-value জোড়া; JavaScript-এ সাধারণত দুই ঘরের array [key, value] হিসেবে দেখা যায়, যেমন map.entries() বা Object.entries() এর ফলেযেখানে শিখবেন: পর্ব ১৮
Enum (TypeScript)এনাম
নামযুক্ত ধ্রুবকের তালিকার TypeScript-এর নিজস্ব syntax, যেমন enum Status { Pending, Paid }. এটি চলার সময়ের একটি object তৈরি করে, তাই শুধু টাইপ-মোছা পদ্ধতিতে চলে না; আধুনিক কোডে প্রায়ই union literal পছন্দ করা হয়।যেখানে শিখবেন: পর্ব ৪৭
Enumerableইনিউমারেবল
Property-র একটি চিহ্ন, যা ঠিক করে for…in আর Object.keys-এর মতো গণনায় property-টি আসবে কি না। সাধারণভাবে বসানো property enumerable; array-র length নয়।যেখানে শিখবেন: পর্ব ১২পর্ব ১৪পর্ব ২৫
.env fileডট-এনভ ফাইল
NAME=value লাইনে environment variable লেখা একটি ফাইল, নিজের কম্পিউটারে সুবিধার জন্য; Node 20.6 থেকে node --env-file=.env দিয়ে পড়া যায়। এতে গোপন মান থাকে, তাই কখনো git-এ commit করা হয় নাযেখানে শিখবেন: পর্ব ৪৯
Environment recordএনভায়রনমেন্ট রেকর্ড
ECMAScript spec-এর ভাষায় একটি scope-এর নাম-মানের খাতা — প্রতিটি function কল, block, module আর global-এর আলাদা একটি। প্রতিটি record-এ [[OuterEnv]] নামে ঘিরে থাকা record-এর দিকে সংযোগ থাকে, আর এই সংযোগগুলো মিলেই scope chain.যেখানে শিখবেন: পর্ব ২২
Environment variableএনভায়রনমেন্ট ভেরিয়েবল
OS-এর দেওয়া নাম-মানের জোড়া, যা প্রোগ্রাম চালু হওয়ার সময় পায় — যেমন PORT বা DB_URL. Node.js-এ process.env দিয়ে পড়া হয়; সব মান string, আর গোপন সেটিং কোডের বাইরে রাখার প্রচলিত জায়গাযেখানে শিখবেন: পর্ব ৪৯পর্ব ৫০পর্ব ৫২
Error causeএরর কজ
ES2022-এ যুক্ত option: new Error(msg, { cause: err }). নিচু স্তরের আসল error-কে হারিয়ে না ফেলে তার ওপর প্রসঙ্গসহ নতুন error বানানো যায়; আসলটি থাকে err.cause-এযেখানে শিখবেন: পর্ব ২৯পর্ব ৩৪পর্ব ৫৮
Error code (errno)এরর কোড
OS-এর দেওয়া ভুলের স্থির ছোট নাম, যা Node.js error-এর code property-তে থাকে — যেমন ENOENT (নেই), EACCES (অনুমতি নেই), EEXIST (আগেই আছে). বার্তা বদলাতে পারে, code বদলায় না, তাই সিদ্ধান্ত নেওয়া হয় code দেখেযেখানে শিখবেন: পর্ব ৪৯
Error envelopeএরর এনভেলপ
API-র সব error-এর জন্য একটি নির্দিষ্ট JSON ছাঁচ, যেমন { error: { code, message, fields } }; code প্রোগ্রামের জন্য স্থির, message মানুষের জন্য, fields ফর্মের ঘর ধরে ধরেযেখানে শিখবেন: পর্ব ৫০
Error monitoringএরর মনিটরিং
ব্যবহারকারীদের ব্রাউজার বা সার্ভারে ঘটা error স্বয়ংক্রিয়ভাবে সংগ্রহ করে stack trace, ব্রাউজার, সংস্করণসহ এক জায়গায় দেখানোর ব্যবস্থা, যেমন Sentryযেখানে শিখবেন: পর্ব ২৯পর্ব ৫৫
Error objectএরর অবজেক্ট
new Error(message) দিয়ে তৈরি object; এতে থাকে name, message, ঐচ্ছিক cause আর বেশিরভাগ engine-এ stack (কোথা থেকে ডাকা হয়েছিল তার তালিকা)যেখানে শিখবেন: পর্ব ২৯
Error summaryএরর সামারি
লম্বা ফর্মে জমা ব্যর্থ হলে ওপরে দেখানো ভুলের তালিকা, যার প্রতিটি লাইন সংশ্লিষ্ট ঘরের লিংক — ব্যবহারকারী আর screen reader দুজনেই এক জায়গায় সব ভুল পানযেখানে শিখবেন: পর্ব ৩৯
Error-first callbackএরর-ফার্স্ট কলব্যাক
Node.js-এর রীতি: async কাজের callback-এর প্রথম parameter ভুল (err), সফল হলে সেখানে null, আর ফল আসে পরের parameter-এ, যেমন (err, data); callback একবারই ডাকা হয় আর প্রথমেই if (err) দেখতে হয়।যেখানে শিখবেন: পর্ব ৩২পর্ব ৪৯পর্ব ৫৭
Error-handling middlewareএরর-হ্যান্ডলিং মিডলওয়্যার
ঠিক চার প্যারামিটারের (err, req, res, next) function, যাকে Express error handler হিসেবে চেনে; সব route-এর পরে বসে আর সব error-কে এক ছাঁচের নিরাপদ উত্তরে বদলায়যেখানে শিখবেন: পর্ব ৫০পর্ব ৫৮
ES module (type="module")ইএস মডিউল
import আর export দিয়ে ফাইল ভাগ করার JavaScript-এর নিজস্ব module ব্যবস্থা; ব্রাউজারে <script type="module"> ডিফল্টেই defer-এর মতো চলে আর strict mode-এ থাকে।যেখানে শিখবেন: পর্ব ০২পর্ব ০৭পর্ব ৪২
esbuildই-এস-বিল্ড
Evan Wallace-এর Go-তে লেখা (২০২০) খুব দ্রুত bundler ও transpiler; দেখিয়েছে native ভাষায় লেখা টুল JavaScript-এ লেখা টুলের চেয়ে বহু গুণ দ্রুত হতে পারেযেখানে শিখবেন: পর্ব ৪৬
Escape sequenceএস্কেপ সিকোয়েন্স
Backslash (\) দিয়ে শুরু হওয়া ছোট সংকেত, যা string-এ বিশেষ অক্ষর বোঝায় — যেমন \n নতুন লাইন, \t tab, \u0985 অযেখানে শিখবেন: পর্ব ০৯পর্ব ১৯
ESLintই-এস-লিন্ট
JavaScript কোড পড়ে সম্ভাব্য ভুল ও নিয়মভঙ্গ (অব্যবহৃত variable, রয়ে যাওয়া debugger ইত্যাদি) চিহ্নিত করার টুল — একটি linter.যেখানে শিখবেন: পর্ব ০৩পর্ব ৪৬পর্ব ৫৫
eval()ইভ্যাল
একটি string-কে JavaScript কোড হিসেবে চালানোর built-in function; বাইরের ডেটায় ব্যবহার করলে ঢোকানো কোডও চলে, তাই JSON পড়তে কখনো নয় — JSON.parse ব্যবহার করুনযেখানে শিখবেন: পর্ব ১৯পর্ব ৪৩
EvalErrorইভাল এরর
পুরোনো মানদণ্ডে eval-এর ভুল ব্যবহারের জন্য রাখা error টাইপ; ভাষার মানদণ্ড এখন নিজে এটি ব্যবহার করে না, তবে Chrome/Edge-এ CSP eval আটকালে এই টাইপটিই দেখা যায়।যেখানে শিখবেন: পর্ব ২৯
Eventইভেন্ট
ব্রাউজারে ঘটে যাওয়া কোনো ঘটনা — ক্লিক, কি চাপা, পাতা লোড শেষ হওয়া ইত্যাদি। JavaScript আগে থেকে একটি ফাংশন (event handler) বলে রাখে, ঘটনাটি ঘটলে সেটি চলে।যেখানে শিখবেন: পর্ব ০১পর্ব ০২পর্ব ২১
Event bubblingইভেন্ট বাবলিং
target-এ পৌঁছানোর পরে event-এর আবার parent, তার parent হয়ে window পর্যন্ত ওপরে ওঠা; সাধারণ addEventListener এই ধাপে শোনে। focus, blur, mouseenter আর load-এর মতো কিছু event bubble করে না।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৫৬পর্ব ৫৮
Event capturingইভেন্ট ক্যাপচারিং
event যাত্রার প্রথম ধাপ, যেখানে event window থেকে নিচে target-এর দিকে নামে; এই ধাপে শুধু { capture: true } দিয়ে লাগানো listener চলে।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৫৮
Event delegationইভেন্ট ডেলিগেশন
অনেক সন্তান element-এর জন্য আলাদা listener না দিয়ে তাদের সাধারণ parent-এ একটি listener বসানো, আর bubbling-এর সুবিধা নিয়ে e.target.closest() দিয়ে কোন সন্তানে ঘটনা ঘটল তা বের করা; পরে যোগ হওয়া element-ও কাজ করে।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৫৫পর্ব ৫৭
Event listenerইভেন্ট লিসেনার
কোনো element-এ নির্দিষ্ট event ঘটলে যে function চলবে, তা আগে থেকে রেজিস্টার করে রাখা — element.addEventListener('click', fn) দিয়ে।যেখানে শিখবেন: পর্ব ০২পর্ব ২১পর্ব ২২
Event loopইভেন্ট লুপ
JavaScript runtime-এর সেই ব্যবস্থা যা মূল কোড শেষ হওয়ার পর অপেক্ষমাণ কাজ (টাইমার, I/O, event-এর callback) একে একে চালায়; Node.js-এ কোনো কাজ বাকি না থাকলে process শেষ হয়।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ০৫
Event loop lagইভেন্ট লুপ ল্যাগ
একটি timer বা callback যখন চলার কথা তার কত পরে আসলে চলল; বেশি হলে বোঝা যায় main thread কোনো ভারী sync কাজে আটকে আছেযেখানে শিখবেন: পর্ব ৫৩
Event loop phase (Node.js)ইভেন্ট লুপ ফেজ
Node.js-এর event loop-এর প্রতিটি ঘুরের নির্দিষ্ট ধাপ — timers, pending callbacks, poll, check, close callbacks; প্রতিটি ধাপ নিজের ধরনের callback চালায়যেখানে শিখবেন: পর্ব ৩১
Event objectইভেন্ট অবজেক্ট
listener-এর প্রথম argument হিসেবে আসা object, যাতে ঘটনার বিবরণ থাকে — type, target, currentTarget, কি-বোর্ডের key, মাউসের clientX ইত্যাদি; ধরন অনুযায়ী MouseEvent, KeyboardEvent, PointerEvent-এর মতো আলাদা class.যেখানে শিখবেন: পর্ব ৩৮
Event propagationইভেন্ট প্রোপাগেশন
একটি event-এর DOM গাছ বেয়ে যাত্রা: capture ধাপে window থেকে target-এর parent পর্যন্ত নামা, target ধাপ, তারপর bubble ধাপে আবার ওপরে ওঠা; পথের প্রতিটি element-এর listener সুযোগ পায়।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৫৬
Event-driven programmingইভেন্ট-ড্রিভেন প্রোগ্রামিং
যে ধরনের প্রোগ্রাম ওপর থেকে নিচে চলে শেষ হয় না, বরং অপেক্ষা করে আর ক্লিক, কি চাপা, বার্তা আসার মতো ঘটনা ঘটলে আগে থেকে রেজিস্টার করা function চালায়; ওয়েব পাতা, GUI অ্যাপ আর Node.js সার্ভার এভাবে চলে।যেখানে শিখবেন: পর্ব ৩৮
EventEmitterইভেন্ট এমিটার
Node.js-এর node:events মডিউলের class: on(নাম, fn) দিয়ে listener লাগানো হয়, once দিয়ে একবারের listener, আর emit(নাম, ডেটা) দিয়ে ঘটনা ঘোষণা করা হয়। emit নিজে synchronous — listener-গুলো রেজিস্টারের ক্রমে সাথে সাথে চলে।যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৮পর্ব ৪৯
EventSourceইভেন্ট-সোর্স
ব্রাউজারের একটি built-in object, যা একটি URL-এ Server-Sent Events সংযোগ খোলে, সার্ভারের পাঠানো প্রতিটি বার্তায় event দেয়, আর সংযোগ ছিঁড়লে নিজে থেকে আবার জোড়ে।যেখানে শিখবেন: পর্ব ৫১পর্ব ৫৫
EventTargetইভেন্ট টার্গেট
যে মূল class addEventListener, removeEventListener আর dispatchEvent দেয়; Element, document, window, WebSocket, AbortSignal সবাই এর থেকে আসে। ব্রাউজার আর Node.js-এ নিজের class-ও extends EventTarget দিয়ে বানানো যায়।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৫১
Exceptionএক্সেপশন
চলার সময় এমন অবস্থা, যেখানে কোড স্বাভাবিক পথে আর এগোতে পারে না; JavaScript-এ throw দিয়ে একটি মান (সাধারণত Error object) ছোড়া হয়, আর কোনো catch না ধরা পর্যন্ত সেটি call stack বেয়ে ওপরে ওঠেযেখানে শিখবেন: পর্ব ২৯
Excess property checkএক্সেস প্রপার্টি চেক
সরাসরি লেখা নতুন object literal-এ টাইপে নেই এমন বাড়তি ঘর থাকলে TypeScript-এর error; বানান ভুল ধরতে এই বিশেষ পরীক্ষা। Variable থেকে আসা object-এ এটি চলে না।যেখানে শিখবেন: পর্ব ৪৭
Execution contextএক্সিকিউশন কনটেক্সট
কোড চলার সময় engine-এর রাখা পরিবেশ — কোন variable আছে, this কী, কোথায় ফিরতে হবে; script-এর জন্য একটি global context আর প্রতিটি function কলের জন্য নতুন একটিযেখানে শিখবেন: পর্ব ০৫পর্ব ০৭
Execution policy (PowerShell)এক্সিকিউশন পলিসি
Windows PowerShell-এর একটি নিরাপত্তা-সেটিং, যা ঠিক করে কোন .ps1 script চালানো যাবে; কড়া সেটিংয়ে npm-এর মতো script-নির্ভর কমান্ড আটকে যেতে পারে।যেখানে শিখবেন: পর্ব ০৩
Executor (promise)এক্সিকিউটর
new Promise((resolve, reject) => { … })-এ দেওয়া function; promise তৈরির মুহূর্তেই synchronous-ভাবে চলে, আর কাজ শেষে resolve বা reject ডাকে। executor-এর ভেতরে throw হলে promise rejected হয়যেখানে শিখবেন: পর্ব ৩৩
Exhaustiveness checkএক্সহস্টিভনেস চেক
switch বা if-এর শেষে মানটিকে never টাইপে বসিয়ে compiler দিয়ে প্রমাণ করানো যে union-এর সব সদস্য সামলানো হয়েছে; নতুন সদস্য যোগ হলে compile error আসে।যেখানে শিখবেন: পর্ব ৪৭
Exit codeএক্সিট কোড
প্রোগ্রাম শেষে OS-কে জানানো একটি সংখ্যা: ০ মানে সফল, অশূন্য মানে ব্যর্থ। CI, cron বা shell script এটি দেখেই সিদ্ধান্ত নেয়; Node.js-এ process.exitCode দিয়ে সেট করা হয়যেখানে শিখবেন: পর্ব ৪৯
Explicit bindingএক্সপ্লিসিট বাইন্ডিং
call, apply বা bind দিয়ে হাতে this ঠিক করে দেওয়া, যেমন greet.call(nila). obj.method() আকারের implicit binding-কে হারায়।যেখানে শিখবেন: পর্ব ২৪
Explicit construction anti-patternএক্সপ্লিসিট কনস্ট্রাকশন অ্যান্টি-প্যাটার্ন
আগে থেকেই promise ফেরত দেয় এমন কাজকে অকারণে new Promise-এ মুড়ে হাতে resolve/reject ডাকা; কোড লম্বা হয় আর ভুলে কোনো error-পথ বাদ পড়লে promise চিরকাল pending থেকে যায়। ঠিক উপায় হলো সরাসরি then-এর ফল return করাযেখানে শিখবেন: পর্ব ৩৩
Explicit type conversionএক্সপ্লিসিট টাইপ কনভার্শন
এক টাইপের মানকে অন্য টাইপে বদলানো — স্পষ্টভাবে (Number(x), String(x)) অথবা অপারেটরের নিজে থেকে (coercion).যেখানে শিখবেন: পর্ব ০৬পর্ব ৫৬
Exponential backoffএক্সপোনেনশিয়াল ব্যাকঅফ
প্রতিটি ব্যর্থ চেষ্টার পরে অপেক্ষার সময় গুণিতক হারে বাড়ানো — যেমন 100, 200, 400, 800 ms, অর্থাৎ base × 2^(n−1) — সাথে একটি সর্বোচ্চ সীমা (cap) রাখা হয়; এতে ব্যস্ত সার্ভার সেরে ওঠার সময় পায়।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫১পর্ব ৫৮
Exponentiation operator (**)এক্সপোনেনশিয়েশন অপারেটর
ঘাত নির্ণয়ের operator, ES2016 থেকে: 2 ** 10 হলো 1024. ডান দিক থেকে জোড়া লাগে, আর বাম দিকে বন্ধনী ছাড়া unary minus দিলে SyntaxErrorযেখানে শিখবেন: পর্ব ০৮
"exports" (package.json)এক্সপোর্টস ফিল্ড
package.json-এর field, যা ঠিক করে একটি package-এর কোন ফাইল বাইরে থেকে আমদানি করা যাবে, আর import করলে কোন ফাইল, require করলে কোনটি; তালিকার বাইরের ফাইল আমদানি করা যায় নাযেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৬
Expressএক্সপ্রেস
Node.js-এর ছোট ও বহুল ব্যবহৃত web framework, যা node:http-এর ওপর routing আর middleware pipeline যোগ করে; TJ Holowaychuk-এর শুরু করা, Express 5 প্রকাশিত হয় ২০২৪ সালেযেখানে শিখবেন: পর্ব ৫০পর্ব ৫৫
express.Router()এক্সপ্রেস রাউটার
নিজস্ব route আর middleware-সহ একটি ছোট, আলাদা অ্যাপ, যাকে app.use("/api/products", router) দিয়ে একটি ঠিকানায় বসানো যায় — প্রতিটি resource-এর route আলাদা ফাইলে রাখার উপায়যেখানে শিখবেন: পর্ব ৫০
Expressionএক্সপ্রেশন
কোডের এমন অংশ যা হিসাব করলে একটি মান পাওয়া যায় — যেমন 2 + 3 বা x * 2. ঘোষণা (let x = 10) একটি statement, expression নয়।যেখানে শিখবেন: পর্ব ০৩পর্ব ০৪পর্ব ০৮
Extensionএক্সটেনশন
Editor বা browser-এ বাড়তি সুবিধা যোগ করার ছোট প্রোগ্রাম — যেমন VS Code-এর ESLint বা Prettier.যেখানে শিখবেন: পর্ব ০৩

F

Factorialফ্যাক্টোরিয়াল
1 থেকে n পর্যন্ত সব পূর্ণসংখ্যার গুণফল, লেখা হয় n!; খুব দ্রুত বড় হয় — 25! ছাব্বিশ অঙ্কের সংখ্যাযেখানে শিখবেন: পর্ব ১০
Fail fastফেইল ফাস্ট
ভুল অবস্থা ধরা পড়ামাত্র স্পষ্ট error দিয়ে থেমে যাওয়ার নীতি, যাতে ভুল ডেটা নিয়ে প্রোগ্রাম চুপচাপ এগিয়ে গিয়ে দূরে কোথাও অদ্ভুত সমস্যা না বানায়যেখানে শিখবেন: পর্ব ২৯পর্ব ৩৩
Fakeফেক
সত্যিই কাজ করে এমন, কিন্তু সরল একটি বিকল্প বাস্তবায়ন — যেমন ডেটাবেসের বদলে একটি Map, বা আসল ঘড়ির বদলে নকল ঘড়ি; টেস্টে দ্রুত আর নিশ্চিত ফল দেয়।যেখানে শিখবেন: পর্ব ৪৮
Fake timersফেক টাইমার
টেস্টের সময় আসল setTimeout/setInterval-এর জায়গায় বসানো নকল ঘড়ি, যা টেস্ট নিজে এগিয়ে দেয় (যেমন Vitest-এর vi.useFakeTimers আর vi.advanceTimersByTime); ফলে দীর্ঘ অপেক্ষা ছাড়াই timer-নির্ভর কোড দ্রুত আর নিশ্চিতভাবে টেস্ট করা যায়।যেখানে শিখবেন: পর্ব ৩২পর্ব ৪৮
Fall-throughফল-থ্রু
switch-এ মিল পাওয়া case-এর শেষে break বা return না থাকলে পরের case-এর কোডও চলে যাওয়া; কয়েকটি case একসাথে সাজাতে কাজে লাগে, ভুলে হলে বাগযেখানে শিখবেন: পর্ব ১১
Falsyফলসি
যে মান শর্তে মিথ্যা হিসেবে গণ্য হয়; JavaScript-এ মাত্র কয়েকটি: false, 0, -0, 0n, "" (ফাঁকা string), null, undefined আর NaNযেখানে শিখবেন: পর্ব ০৬পর্ব ০৮পর্ব ১১
Fan-out (broadcast)ফ্যান-আউট
একটি বার্তাকে অনেক গ্রহণকারীর কাছে ছড়িয়ে দেওয়া — যেমন একটি chat room-এর সব সদস্যের সংযোগে একই বার্তা পাঠানো; অন্য room-এর কেউ যেন না পায়, সেটি নিশ্চিত করা জরুরিযেখানে শিখবেন: পর্ব ৫১
Fastifyফাস্টিফাই
Node.js-এর একটি web framework, যা JSON Schema দিয়ে যাচাই ও দ্রুত JSON serialization, plugin ব্যবস্থা আর শুরু থেকেই async সমর্থনের জন্য পরিচিত; পারফরম্যান্সে সাধারণত Express-এর চেয়ে এগিয়েযেখানে শিখবেন: পর্ব ৫০
FCP (First Contentful Paint)এফসিপি
পাতায় প্রথম যেকোনো লেখা বা ছবি আঁকা হওয়ার সময়, অর্থাৎ সাদা পর্দা শেষ হওয়া; সহায়ক মেট্রিক, ১.৮ সেকেন্ড বা কম হলে ভালোযেখানে শিখবেন: পর্ব ৫৩
Feature detectionফিচার ডিটেকশন
ব্রাউজারের নাম না দেখে সরাসরি যাচাই করা কোনো ক্ষমতা আছে কি না — যেমন 'geolocation' in navigator বা CSS.supports() — তারপর থাকলে ব্যবহার, না থাকলে বিকল্প পথযেখানে শিখবেন: পর্ব ৪১পর্ব ৪৪
fetch()ফেচ
পাতা না ছেড়েই সার্ভারে HTTP অনুরোধ পাঠানোর বিল্ট-ইন ফাংশন। এটি একটি Promise ফেরত দেয়, তাই সাধারণত await দিয়ে উত্তরের অপেক্ষা করা হয়।যেখানে শিখবেন: পর্ব ০১পর্ব ০২পর্ব ৩৫
Field dataফিল্ড ডেটা
আসল ব্যবহারকারীদের আসল যন্ত্র আর নেটওয়ার্ক থেকে সংগ্রহ করা পারফরম্যান্সের মাপ, যেমন CrUX বা নিজের RUM; সাফল্য মাপার নির্ভরযোগ্য উৎসযেখানে শিখবেন: পর্ব ৫৩
filterফিল্টার
Array.prototype.filter: যেসব উপাদানের জন্য callback truthy মান দেয়, শুধু সেগুলো নিয়ে একটি নতুন array বানায়। উপাদানগুলো বদলায় না, শুধু বাছাই হয়।যেখানে শিখবেন: পর্ব ১৬
FinalizationRegistryফাইনালাইজেশন রেজিস্ট্রি
নিবন্ধিত object garbage collection-এ মুছে যাওয়ার পরে কোনো এক সময় একটি callback ডাকার ব্যবস্থা (ES2021); callback চলবেই এমন নিশ্চয়তা নেই, তাই জরুরি পরিষ্কারের কাজ এতে রাখা যায় নাযেখানে শিখবেন: পর্ব ১৮
finallyফাইনালি
try/catch-এর শেষে যোগ করা block, যা সফল হোক, error হোক বা try-এর ভেতরে return থাকুক — সবসময় চলে; সংযোগ বন্ধ, লোডিং চিহ্ন সরানোর মতো পরিষ্কারের কাজে ব্যবহার হয়যেখানে শিখবেন: পর্ব ২৯
Fine-grained reactivity (signals)ফাইন-গ্রেইনড রিঅ্যাক্টিভিটি
প্রতিটি ডেটা-টুকরো (signal) মনে রাখে কোন DOM আপডেট তার ওপর নির্ভর করে, আর বদলালে শুধু সেটিই চলে — পুরো component আবার চলে না, গাছের তুলনাও নেই। SolidJS, Svelte 5, Angular-এর signal আর Preact Signals এ ধরনের; Vue-ও এভাবে নির্ভরতা মনে রাখে, তবে বদল হলে component স্তরে virtual DOM দিয়ে আঁকে।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৫৪
Finite automatonফাইনাইট অটোমেটন
সীমিত কয়েকটি অবস্থা আর প্রতিটি অক্ষর পড়ে কোন অবস্থায় যাবে তার নিয়ম দিয়ে তৈরি গাণিতিক যন্ত্র; বিশুদ্ধ regular expression আর এই যন্ত্রের চেনার ক্ষমতা সমানযেখানে শিখবেন: পর্ব ৩০
Fire-and-forgetফায়ার অ্যান্ড ফরগেট
কোনো async কাজ শুরু করে তার ফলের জন্য অপেক্ষা না করা (await বা then ছাড়া)। ইচ্ছাকৃত হলেও একটি .catch লাগে, নইলে ব্যর্থতা unhandled rejection হয়; অনিচ্ছাকৃত হলে এটি await ভুলে যাওয়ার বাগযেখানে শিখবেন: পর্ব ৩৪
First-class functionফার্স্ট-ক্লাস ফাংশন
যে ভাষায় function অন্য যেকোনো মানের মতো — variable-এ রাখা, argument হিসেবে পাঠানো, ফেরত দেওয়া, array বা object-এ রাখা যায়। JavaScript-এ সব function এমন।যেখানে শিখবেন: পর্ব ১৩পর্ব ২২পর্ব ২৩
Flaky testফ্লেকি টেস্ট
কোড না বদলেও যে টেস্ট কখনো পাস, কখনো ফেল করে; সাধারণ কারণ সময়ের ওপর নির্ভরতা, টেস্টের মধ্যে ভাগ করা অবস্থা আর আসল নেটওয়ার্ক — দলকে লাল সংকেত উপেক্ষা করতে শেখায় বলে বিপজ্জনক।যেখানে শিখবেন: পর্ব ৪৮
Flame chartফ্লেম চার্ট
profile দেখানোর একটি চিত্র, যেখানে অনুভূমিক দিকে সময় আর উল্লম্ব দিকে call stack; চওড়া ব্লক মানে বেশি সময় নেওয়া functionযেখানে শিখবেন: পর্ব ৫৩
Flat config (eslint.config.js)ফ্ল্যাট কনফিগ
ESLint 9 থেকে ডিফল্ট config ব্যবস্থা: eslint.config.js একটি JavaScript module, যা config object-এর array export করে; ESLint 10-এ পুরোনো .eslintrc আর চলে নাযেখানে শিখবেন: পর্ব ৪৬
Floating-pointফ্লোটিং পয়েন্ট
সংখ্যা রাখার পদ্ধতি যেখানে অঙ্কগুলো (mantissa) আর ২-এর ঘাত (exponent) আলাদা রাখা হয়, ফলে দশমিক বিন্দু “ভেসে” সরে; পরিসর বিশাল, কিন্তু অঙ্কের সংখ্যা সীমিতযেখানে শিখবেন: পর্ব ১০পর্ব ৪৮পর্ব ৫২
Follow-up questionফলো-আপ কোয়েশ্চেন
আগের উত্তর থেকে জন্মানো পরের প্রশ্ন, যা একই বিষয়ে আরও গভীরে যায়। ভাইভা আর ইন্টারভিউতে বোঝার গভীরতা যাচাইয়ের প্রধান উপায়।যেখানে শিখবেন: পর্ব ৫৮
font-displayফন্ট-ডিসপ্লে
@font-face-এর CSS property, যা ঠিক করে web font নামার আগে লেখা কীভাবে দেখাবে; swap দিলে আগে system font-এ লেখা দেখা যায়, পরে বদলে যায়যেখানে শিখবেন: পর্ব ৫৩
for await…ofফর অ্যাওয়েট অফ
async iterable-এর প্রতিটি মানের জন্য অপেক্ষা করে একে একে দেওয়া লুপ (ES2018); শুধু async function বা module-এর ভেতরে লেখা যায়, আর মাঝপথে break করলে iterator-এর return() ডাকা হয়যেখানে শিখবেন: পর্ব ২৭পর্ব ৩৪
Foreign keyফরেন কি
যে কলাম অন্য টেবিলের primary key-কে নির্দেশ করে (যেমন orders.customer_id); ডেটাবেস নিশ্চিত করে নির্দেশিত সারিটি সত্যিই আছে।যেখানে শিখবেন: পর্ব ৫২
FormDataফর্ম ডেটা
একটি ফর্মের সব ঘর name=মান জোড়া হিসেবে তুলে আনার built-in object (new FormData(form)); get, getAll, has দিয়ে পড়া যায়, আর fetch-এর body-তে দিলে ব্রাউজার নিজেই multipart/form-data আর boundary-সহ Content-Type লেখে।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৯
for…inফর-ইন
একটি object-এর enumerable property-র নাম (key) string হিসেবে একটি একটি করে দেওয়া লুপ, prototype chain থেকে পাওয়া key-সহ। Array ঘোরার জন্য উপযুক্ত নয়।যেখানে শিখবেন: পর্ব ১২পর্ব ১৪পর্ব ২৫
for…ofফর-অফ
যেকোনো iterable-এর (array, string, Map, Set ইত্যাদি) মান একটি একটি করে দেওয়া লুপ। ES2015 থেকে আছে, আর iteration protocol-এর ওপর দাঁড়িয়ে।যেখানে শিখবেন: পর্ব ১২পর্ব ১৭পর্ব ২৭
Free variableফ্রি ভ্যারিয়েবল
যে variable একটি function ব্যবহার করে কিন্তু নিজে ঘোষণা করেনি — parameter বা local নয়, বাইরের কোনো scope থেকে আসে। Closure মূলত এই free variable-গুলোর binding ধরে রাখে।যেখানে শিখবেন: পর্ব ২২
fs.watchএফএস ওয়াচ
ফাইল বা ফোল্ডার বদলালে event দেওয়া Node.js API; OS-ভেদে আচরণ আলাদা — একটি সেভে একাধিক event আসতে পারে, ফাইলের নাম কখনো null আসে — তাই সাধারণত event জমিয়ে একবার কাজ করা হয়যেখানে শিখবেন: পর্ব ৪৯
fs/promisesএফএস প্রমিসেস
Node.js-এর ফাইল API-র Promise রূপ — readFile, writeFile, mkdir, readdir ইত্যাদি Promise ফেরত দেয়, তাই async/await আর try/catch দিয়ে লেখা যায়। নতুন কোডে এটিই প্রস্তাবিতযেখানে শিখবেন: পর্ব ৪৯
Full-duplexফুল-ডুপ্লেক্স
যে সংযোগে দুই পক্ষ একই সময়ে একে অপরকে ডেটা পাঠাতে পারে, পালা করে নয় — যেমন ফোন কল; WebSocket full-duplex, সাধারণ HTTP request–response নয়যেখানে শিখবেন: পর্ব ৫১
Full-stackফুল-স্ট্যাক
ব্রাউজারের অংশ (front end), সার্ভারের অংশ (back end) আর ডেটাবেস — একটি অ্যাপের সব স্তর একসাথে। Full-stack ডেভেলপার এই সব স্তরে কাজ করতে পারেন।যেখানে শিখবেন: পর্ব ৫৫
Fullscreen APIফুলস্ক্রিন এপিআই
element.requestFullscreen() আর document.exitFullscreen() দিয়ে একটি element-কে পুরো পর্দায় দেখানোর API; ক্লিক লাগে, আর ব্যবহারকারী Esc দিয়ে সবসময় বেরোতে পারেনযেখানে শিখবেন: পর্ব ৪১
Functionফাংশন
নাম দেওয়া, বারবার ব্যবহারযোগ্য কোডের অংশ: parameter দিয়ে input নেয়, body চালায়, return দিয়ে একটি মান ফেরত দেয়। JavaScript-এ function নিজেও একটি মান (object).যেখানে শিখবেন: পর্ব ১৩
Function compositionফাংশন কম্পোজিশন
কয়েকটি function জুড়ে একটি নতুন function বানানো, যেখানে একটির output পরেরটির input — গণিতের f(g(x)). JavaScript-এ সাধারণত compose বা pipe helper দিয়ে করা হয়।যেখানে শিখবেন: পর্ব ২৩
Function declarationফাংশন ডিক্লারেশন
function শব্দ দিয়ে শুরু হওয়া statement, যেমন function square(x) { return x * x; }. পুরোটা hoist হয়, তাই ঘোষণার আগের লাইন থেকেও ডাকা যায়।যেখানে শিখবেন: পর্ব ১৩
Function expressionফাংশন এক্সপ্রেশন
expression হিসেবে লেখা function, যার মান সাধারণত একটি variable-এ রাখা হয়, যেমন const square = function (x) { return x * x; };. Variable-এর hoisting নিয়ম মানে।যেখানে শিখবেন: পর্ব ১৩
Function factoryফাংশন ফ্যাক্টরি
যে function ডাকলে একটি নতুন function তৈরি করে ফেরত দেয়, যেমন makeCounter() বা makeDiscount(10). প্রতিটি কলের নিজের environment থাকে, তাই প্রতিটি তৈরি function-এর অবস্থা আলাদা।যেখানে শিখবেন: পর্ব ২২
Function scopeফাংশন স্কোপ
একটি function-এর পুরো শরীর জুড়ে থাকা scope. var দিয়ে ঘোষিত নাম, parameter আর ভেতরের function declaration এখানে থাকে — ভেতরের block-এ ঘোষণা করলেও।যেখানে শিখবেন: পর্ব ০৭
Function.prototype.applyঅ্যাপ্লাই মেথড
f.apply(obj, [a, b]) — call-এর মতোই এখনই চালায়, তবে argument-গুলো একটি array (বা array-এর মতো object) হিসেবে নেয়। আধুনিক কোডে অনেক জায়গায় spread একই কাজ করে।যেখানে শিখবেন: পর্ব ২৪
Function.prototype.bindবাইন্ড মেথড
f.bind(obj, a) — f চালায় না; স্থায়ী this আর চাইলে কিছু আগে বসানো argument-সহ একটি নতুন bound function ফেরত দেয়। ES5 (২০০৯) থেকে ভাষার অংশ।যেখানে শিখবেন: পর্ব ২৪পর্ব ৫৮
Function.prototype.callকল মেথড
f.call(obj, a, b) — f-কে এখনই চালায়, this = obj আর argument-গুলো কমা দিয়ে একটি একটি করে দিয়ে।যেখানে শিখবেন: পর্ব ২৪
Functional core, imperative shellফাংশনাল কোর, ইমপেরেটিভ শেল
একটি নকশা-নীতি: সিদ্ধান্তের সব যুক্তি pure function-এর একটি core-এ, আর DOM, নেটওয়ার্ক, ফাইলের মতো বাইরের জগতের সাথে কাজ একটি পাতলা shell-এ। Gary Bernhardt ২০১২ সালে নামটি জনপ্রিয় করেন।যেখানে শিখবেন: পর্ব ২১পর্ব ২৩পর্ব ৪৮
Functional programmingফাংশনাল প্রোগ্রামিং
একটি প্রোগ্রামিং ধরন, যেখানে shared state ধাপে ধাপে বদলানোর বদলে ছোট pure function জুড়ে প্রোগ্রাম বানানো হয়: ডেটা ঢোকে, নতুন ডেটা বেরোয়। JavaScript pure functional ভাষা নয়, তবে first-class function-এর কারণে এর মূল ধারণাগুলো সহজে ব্যবহার করা যায়।যেখানে শিখবেন: পর্ব ২৩
Futureফিউচার
পরে পাওয়া যাবে এমন একটি ফলের জন্য জায়গা ধরে রাখা object — promise-এর আরেক নাম; Java-র Future/CompletableFuture, C++-এর std::future আর Python asyncio-র Future একই ধারণার রূপ

G

Garbage collection (GC)গারবেজ কালেকশন
যে object-এ প্রোগ্রাম থেকে আর পৌঁছানো যায় না, সেগুলোর মেমরি engine-এর নিজে থেকে মুক্ত করার ব্যবস্থাযেখানে শিখবেন: পর্ব ০৫পর্ব ১৮পর্ব ২২
GC rootজি-সি রুট
যেখান থেকে garbage collector জীবিত object খোঁজা শুরু করে — যেমন global object আর call stack-এ থাকা local variableযেখানে শিখবেন: পর্ব ০৫পর্ব ১৮
GDPRজিডিপিআর
ইউরোপীয় ইউনিয়নের General Data Protection Regulation, ২০১৮ সালের মে মাস থেকে কার্যকর — ব্যক্তিগত তথ্য (অনলাইন identifier-সহ) সংগ্রহ ও ব্যবহারের নিয়ম; ট্র্যাকিং cookie-র আগে সম্মতি চাওয়ার চর্চা এখান থেকে আর ePrivacy নিয়ম থেকে এসেছেযেখানে শিখবেন: পর্ব ৪০
Generational garbage collectionজেনারেশনাল জিসি
heap-কে নতুন (young) আর পুরোনো (old) প্রজন্মে ভাগ করে নতুনটিকে ঘন ঘন ও দ্রুত পরিষ্কার করার GC কৌশল, কারণ বেশিরভাগ object অল্প সময়েই অপ্রয়োজনীয় হয়যেখানে শিখবেন: পর্ব ৫৩
Generatorজেনারেটর
function* ডাকলে পাওয়া object, যে একই সাথে iterator আর iterable; প্রতিটি next()-এ function-এর body পরের yield পর্যন্ত চলে আর থামে, local variable মনে রেখে। ES2015 থেকে আছে, আর একবারই ঘোরা যায়যেখানে শিখবেন: পর্ব ২৭পর্ব ৩৪পর্ব ৫৭
Generator function (function*)জেনারেটর ফাংশন
function-এর পরে তারকা দিয়ে লেখা function, যেমন function* ids() {}; ডাকলে body চলে না, একটি generator object ফেরত আসে। Arrow function হতে পারে না, new দিয়েও ডাকা যায় নাযেখানে শিখবেন: পর্ব ২৭
Genericsজেনেরিকস
টাইপকে parameter বানানো, যেমন function first<T>(arr: T[]): T | undefined — একই কোড বিভিন্ন টাইপে কাজ করে, আর ইনপুট-আউটপুটের টাইপের সম্পর্ক বজায় থাকে।যেখানে শিখবেন: পর্ব ৪৭
Geolocation APIজিওলোকেশন এপিআই
navigator.geolocation-এর getCurrentPosition আর watchPosition দিয়ে যন্ত্রের অক্ষাংশ, দ্রাঘিমাংশ আর নির্ভুলতা (মিটারে) জানার API; অনুমতি লাগে, ভুলের code 1 = অনুমতি নেই, 2 = অবস্থান মেলেনি, 3 = সময় শেষযেখানে শিখবেন: পর্ব ৪১
Getter (get)গেটার
property-র মতো পড়া যায় এমন function: get total() { … }. obj.total পড়লেই function চলে আর হিসাব করা মান দেয়। ES5 থেকে মানদণ্ডে।যেখানে শিখবেন: পর্ব ১৪পর্ব ২৬পর্ব ২৮
Git hookগিট হুক
Git-এর নির্দিষ্ট মুহূর্তে (যেমন commit-এর আগে, push-এর আগে) নিজে থেকে চলা script; শূন্য ছাড়া অন্য exit code দিলে কাজটি থেমে যায়যেখানে শিখবেন: পর্ব ৪৬
GitHub Actionsগিটহাব অ্যাকশনস
GitHub-এর ভেতরের CI/CD সেবা; রিপোজিটরির .github/workflows/ ফোল্ডারে একটি YAML ফাইলে লেখা ধাপগুলো (checkout, npm ci, npm test) প্রতিটি push-এ একটি সার্ভারে চলে।যেখানে শিখবেন: পর্ব ৪৮পর্ব ৫৫
Global error handlerগ্লোবাল এরর হ্যান্ডলার
যে exception কেউ ধরেনি, তা শেষ মুহূর্তে ধরার ব্যবস্থা — ব্রাউজারে window-এর error ও unhandledrejection event, Node.js-এ process.on('uncaughtException'); কাজ শুধু log করা, সামলানো নয়যেখানে শিখবেন: পর্ব ২৯
Global objectগ্লোবাল অবজেক্ট
runtime-এর দেওয়া একটি বিশেষ object, যার property-গুলো সব জায়গা থেকে নাম দিয়েই পাওয়া যায়। ব্রাউজারে window, Web Worker-এ self, Node.js-এ global; সব জায়গায় একই নাম globalThis.যেখানে শিখবেন: পর্ব ০৭পর্ব ২৪
Global scopeগ্লোবাল স্কোপ
সবচেয়ে বাইরের scope, যেখান থেকে নাম পুরো প্রোগ্রামের সব জায়গায় দেখা যায়। ব্রাউজারে একাধিক classic script একই global scope ভাগ করে নেয়।যেখানে শিখবেন: পর্ব ০৭পর্ব ৪৫
Global symbol registryগ্লোবাল সিম্বল রেজিস্ট্রি
পুরো JavaScript পরিবেশের জন্য একটি ভাগাভাগির খাতা। Symbol.for("নাম") একই নামে সবসময় একই Symbol দেয়, আর Symbol.keyFor(sym) খাতার নামটি ফেরত দেয়।যেখানে শিখবেন: পর্ব ২৮
globalThisগ্লোবাল দিস
ES2020-এ যুক্ত একটি নাম, যা যেকোনো runtime-এ (ব্রাউজার, Worker, Node.js) global object-কে বোঝায়।যেখানে শিখবেন: পর্ব ০৭পর্ব ২৪
Graceful shutdownগ্রেসফুল শাটডাউন
বন্ধ হওয়ার সংকেত পেলে সার্ভারের ভদ্রভাবে বিদায়: নতুন কাজ নেওয়া বন্ধ, চলমান কাজ শেষ, ডেটাবেসের মতো সংযোগ বন্ধ, তারপর process শেষ — যাতে কোনো কাজ অর্ধেক না থাকেযেখানে শিখবেন: পর্ব ৪৯পর্ব ৫৫
Gradual typingগ্র্যাজুয়াল টাইপিং
একই প্রোগ্রামে টাইপসহ আর টাইপহীন অংশ পাশাপাশি রাখার তত্ত্ব (Siek ও Taha, ২০০৬), যাতে ধীরে ধীরে টাইপ যোগ করা যায়; TypeScript-এর any এই সেতুর কাজ করে।যেখানে শিখবেন: পর্ব ৪৭
Grapheme clusterগ্রাফিম ক্লাস্টার
মানুষের চোখে একটি “অক্ষর” হিসেবে দেখা এক বা একাধিক code point-এর গুচ্ছ, যেমন “বাং” বা একটি পতাকা-ইমোজি; সীমা ঠিক হয় Unicode-এর UAX #29 নিয়মেযেখানে শিখবেন: পর্ব ০৯পর্ব ৫৬পর্ব ৫৮
GraphQLগ্রাফকিউএল
Facebook-এ ২০১২ সালে তৈরি, ২০১৫ সালে প্রকাশিত API-র query ভাষা; সাধারণত একটি endpoint-এ client নিজেই বলে দেয় কোন কোন field চায়, আর একটি typed schema চুক্তি হিসেবে কাজ করেযেখানে শিখবেন: পর্ব ৫০পর্ব ৫৮
Greedy quantifierগ্রিডি কোয়ান্টিফায়ার
JavaScript-এর ডিফল্ট quantifier আচরণ: প্রথমে যত বেশি সম্ভব অক্ষর খায়, বাকি নকশা না মিললে একটি একটি করে ফেরত দেয়; তাই /<.+>/ কয়েকটি ট্যাগ পেরিয়ে যায়যেখানে শিখবেন: পর্ব ৩০
gRPCজি-আর-পি-সি
Google-এর ২০১৫ সালে প্রকাশিত RPC framework, যা HTTP/2-এর ওপর Protocol Buffers নামের binary ফরম্যাটে বার্তা পাঠায়; .proto ফাইল থেকে বহু ভাষার কোড তৈরি হয়, মূলত সার্ভিসদের নিজেদের মধ্যে যোগাযোগে ব্যবহৃতযেখানে শিখবেন: পর্ব ৫০
Guard clauseগার্ড ক্লজ
Function-এর শুরুতে অবৈধ বা বিশেষ অবস্থা ধরে সাথে সাথে return বা throw করা শর্ত; এর ফলে মূল কাজ গভীর nested if ছাড়া সোজা লেখা যায়যেখানে শিখবেন: পর্ব ১১পর্ব ২১পর্ব ২৯

H

Handler (Proxy)হ্যান্ডলার
Proxy-র দ্বিতীয় argument — একটি সাধারণ object, যার method-গুলো (trap) ঠিক করে কোন মৌলিক কাজে কী ঘটবে। খালি handler {} মানে সব কাজ অপরিবর্তিতভাবে target-এ যায়।যেখানে শিখবেন: পর্ব ২৮
Hash tableহ্যাশ টেবিল
key থেকে একটি সংখ্যা (hash) হিসাব করে সরাসরি সেই ঘরে মান রাখার কাঠামো; ফলে খোঁজা, যোগ আর মোছা গড়ে প্রায় এক ধাপে হয় — JavaScript engine সাধারণত Map আর Set এভাবেই বানায়যেখানে শিখবেন: পর্ব ১৮পর্ব ৫৩পর্ব ৫৯
HATEOASহেটিওস
Hypermedia As The Engine Of Application State — Roy Fielding-এর REST-এর একটি শর্ত: প্রতিটি উত্তরের ভেতরেই পরের সম্ভাব্য কাজের link থাকবে, client ঠিকানা মুখস্থ রাখবে না; আজকের বেশিরভাগ JSON API এটি মানে নাযেখানে শিখবেন: পর্ব ৫০
Haversine formulaহ্যাভারসাইন ফর্মুলা
গোলকের ওপর দুটি অক্ষাংশ-দ্রাঘিমাংশ বিন্দুর সবচেয়ে ছোট (great-circle) দূরত্ব বের করার সূত্র; পৃথিবীর গড় ব্যাসার্ধ ৬৩৭১ km ধরলে দোকান খোঁজার মতো কাজে যথেষ্ট নির্ভুল, তবে এটি সোজা দূরত্ব, রাস্তার নয়যেখানে শিখবেন: পর্ব ৪১
Headless browserহেডলেস ব্রাউজার
জানালা না দেখিয়ে পেছনে চলা আসল ব্রাউজার — পাতা লোড, JavaScript, ক্লিক সব হয়, শুধু পর্দায় কিছু আসে না; CI সার্ভারে E2E টেস্ট এভাবেই চলে।যেখানে শিখবেন: পর্ব ৪৮
Health checkহেলথ চেক
সার্ভারের একটি ছোট endpoint (যেমন /healthz), যা অ্যাপ আর তার ডেটাবেস ঠিক আছে কি না জানায়; deploy টুল, load balancer আর uptime monitor এটি নিয়মিত দেখে।যেখানে শিখবেন: পর্ব ৫৫
Heapহিপ
মেমরির যে বড় অংশে object, array আর function রাখা হয়; garbage collector এখান থেকেই অব্যবহৃত object মুছে দেয়যেখানে শিখবেন: পর্ব ০৫পর্ব ০৬পর্ব ১৪
Heap snapshotহিপ স্ন্যাপশট
কোনো এক মুহূর্তে heap-এর সব object, তাদের আকার আর কে কাকে ধরে রেখেছে তার ছবি; DevTools-এর Memory প্যানেলে দুটি snapshot তুলনা করে leak খোঁজা হয়যেখানে শিখবেন: পর্ব ৫৩
Heartbeat (ping/pong)হার্টবিট
নির্দিষ্ট সময় পরপর ছোট সংকেত (WebSocket-এ ping, উত্তরে pong) পাঠিয়ে সংযোগ বেঁচে আছে কি না যাচাই করা; উত্তর না এলে সংযোগ বন্ধ করা হয়, আর নিয়মিত byte চলায় proxy-র idle timeout-ও এড়ানো যায়যেখানে শিখবেন: পর্ব ৫১
helmetহেলমেট
Express-এর একটি middleware package, যা এক লাইনে Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options-এর মতো নিরাপত্তা header বসায় আর X-Powered-By header সরায়যেখানে শিখবেন: পর্ব ৫০
Hidden class (shape)হিডেন ক্লাস
Engine-এর ভেতরের একটি বিবরণ, যা লিখে রাখে কোন property object-এর কোন ঘরে আছে; একই property একই ক্রমে থাকা object-গুলো একই hidden class ভাগ করে (V8-এ নাম Map)যেখানে শিখবেন: পর্ব ০৫পর্ব ১৪পর্ব ২৫
Higher-order functionহায়ার-অর্ডার ফাংশন
যে function অন্য function-কে argument হিসেবে নেয়, বা একটি function ফেরত দেয়, বা দুটোই। যেমন map, filter, setTimeout, আর function-বানানো makeMultiplier.যেখানে শিখবেন: পর্ব ১৩পর্ব ১৬পর্ব ২১
highWaterMarkহাই ওয়াটার মার্ক
একটি stream-এর ভেতরের জমার সীমা (bytes বা object-এর সংখ্যা); জমা এটি ছাড়ালে backpressure শুরু হয়। এটি কঠিন সর্বোচ্চ সীমা নয়, থামার সংকেতের মাত্রাযেখানে শিখবেন: পর্ব ৪৯
HMR (Hot Module Replacement)এইচএমআর
ডেভেলপমেন্টে ফাইল সেভ করলে পুরো পাতা reload না করে শুধু বদলানো module চলমান পাতায় বদলে দেওয়া, ফলে পাতার অবস্থা (ফর্মের লেখা, কার্ট) থেকে যায়যেখানে শিখবেন: পর্ব ৪৬
Hoistingহয়েস্টিং
কোনো scope-এর কোড চলার আগেই engine সেই scope-এর সব ঘোষণা নিবন্ধন করে রাখে — মনে হয় যেন ঘোষণাগুলো ওপরে তুলে আনা হয়েছে। function declaration পুরোপুরি তৈরি থাকে, var পায় undefined, আর let/const/class থাকে TDZ-এ।যেখানে শিখবেন: পর্ব ০৭পর্ব ১৩পর্ব ৫৬
Hole (empty slot)হোল
Array-র এমন একটি ঘর, যেখানে কোনো উপাদানই নেই — undefined মানও নয়। new Array(3), delete arr[i] বা সীমার অনেক বাইরে লিখলে তৈরি হয়; map, forEach, filter hole টপকে যায়।যেখানে শিখবেন: পর্ব ১৫
Honeypot fieldহানিপট
মানুষের কাছে লুকানো একটি বাড়তি ফর্ম-ঘর; মানুষ সেটি পূরণ করেন না, কিন্তু স্বয়ংক্রিয় bot প্রায়ই সব ঘর পূরণ করে — তাই ঘরটিতে মান এলে server জমাটি সন্দেহজনক ধরেযেখানে শিখবেন: পর্ব ৩৯
Hooks (React)হুকস
React 16.8 (২০১৯) থেকে আসা use দিয়ে শুরু নামের function — useState, useEffect, useMemo, useRef — যা function component-কে state, effect আর অন্যান্য React সুবিধা দেয়যেখানে শিখবেন: পর্ব ৫৪
HSTS (HTTP Strict Transport Security)এইচএসটিএস
Strict-Transport-Security header, যা ব্রাউজারকে নির্দিষ্ট সময় ধরে এই সাইটে শুধু HTTPS ব্যবহার করতে বলে — কেউ http:// লিখলেও ব্রাউজার নিজে https-এ যায়যেখানে শিখবেন: পর্ব ৪৩পর্ব ৫৫
HTMLএইচটিএমএল
HyperText Markup Language — ওয়েব পাতার কাঠামো ও অর্থ লেখার ভাষা; ট্যাগ দিয়ে বলে কোনটি শিরোনাম, কোনটি অনুচ্ছেদ, কোনটি বোতাম।যেখানে শিখবেন: পর্ব ০২
HTML sanitization (sanitizer)স্যানিটাইজেশন
অবিশ্বস্ত HTML থেকে script, event handler attribute, javascript: লিংকের মতো বিপজ্জনক অংশ বাদ দিয়ে শুধু নিরাপদ ট্যাগ রাখা। নিজে regex দিয়ে নয়, পরীক্ষিত library (যেমন DOMPurify) বা ব্রাউজারের Sanitizer API দিয়ে করা হয়।যেখানে শিখবেন: পর্ব ৩৭
HTMLCollectionএইচটিএমএল কালেকশন
শুধু element রাখা একটি array-like তালিকা — getElementsByClassName, getElementsByTagName আর el.children-এর ফল। এটি live: DOM বদলালে তালিকা নিজে থেকে বদলায়; forEach নেই, তবে for…of চলে।যেখানে শিখবেন: পর্ব ৩৭
htmxএইচটিএমএক্স
একটি ছোট JavaScript library, যা hx-get, hx-post-এর মতো HTML attribute দিয়ে সার্ভার থেকে HTML টুকরো এনে পাতার নির্দিষ্ট অংশে বসায়; সার্ভার-রেন্ডারড সাইটে framework ছাড়া interactivity আনেযেখানে শিখবেন: পর্ব ৫৪
HTTPএইচটিটিপি
HyperText Transfer Protocol — ব্রাউজার আর সার্ভারের মধ্যে অনুরোধ (যেমন GET) আর উত্তর (status কোড, header, body) আদান-প্রদানের নিয়ম; এনক্রিপ্ট করা রূপটি HTTPS.যেখানে শিখবেন: পর্ব ০২পর্ব ৩৫পর্ব ৫১
HTTP headerএইচটিটিপি হেডার
Request বা response-এর সাথে যাওয়া নাম: মান আকারের বাড়তি তথ্য, যেমন Content-Type, Authorization, Cache-Control; নামের বড়-ছোট হাতের অক্ষরে পার্থক্য নেইযেখানে শিখবেন: পর্ব ৩৫পর্ব ৪০পর্ব ৫১
HTTP methodএইচটিটিপি মেথড
Request-এর প্রথম শব্দ, যা সার্ভারকে উদ্দেশ্য জানায় — GET (পড়া), POST (তৈরি), PUT (পুরো বদল), PATCH (আংশিক বদল), DELETE (মোছা)যেখানে শিখবেন: পর্ব ৩৫পর্ব ৫০
HTTP status codeস্ট্যাটাস কোড
Response-এর তিন অঙ্কের সংখ্যা, যা ফলাফলের সারকথা জানায় — 2xx সফল, 3xx অন্য জায়গায় দেখুন, 4xx client-এর ভুল, 5xx server-এর ভুলযেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৯পর্ব ৫০
HTTP/2এইচটিটিপি টু
HTTP-র ২০১৫ সালের সংস্করণ, যেখানে একটি TCP সংযোগের ভেতরে অনেকগুলো request একসাথে stream হিসেবে চলে (multiplexing); তাই HTTP/1.1-এর প্রতি-domain প্রায় ৬টি সংযোগের সীমা SSE-কে আর আটকায় নাযেখানে শিখবেন: পর্ব ৫১
HTTPSএইচটিটিপিএস
TLS এনক্রিপশনের ভেতর দিয়ে চলা HTTP — পথের কেউ (যেমন পাবলিক Wi-Fi) লেখা পড়তে বা বদলাতে পারে না, আর ব্রাউজার সার্ভারের পরিচয় certificate দিয়ে যাচাই করেযেখানে শিখবেন: পর্ব ৪৩পর্ব ৪৪পর্ব ৫১
huskyহাস্কি
JavaScript প্রজেক্টে Git hook সহজে বসানো আর দলের সবার যন্ত্রে চালু রাখার টুল; prepare script-এর মাধ্যমে npm install-এর সময় নিজে থেকে চালু হয়যেখানে শিখবেন: পর্ব ৪৬
Hydrationহাইড্রেশন
সার্ভারে তৈরি HTML ব্রাউজারে পৌঁছানোর পরে framework-এর JavaScript সেই বিদ্যমান DOM-এর সাথে মিলিয়ে event listener আর state লাগানোর ধাপ, যাতে স্থির পাতা interactive হয়; DOM নতুন করে বানানো হয় নাযেখানে শিখবেন: পর্ব ৫৪পর্ব ৫৮

I

IANA time zone databaseআয়ানা টাইম জোন ডেটাবেস
পৃথিবীর সব time zone-এর নিয়ম আর ইতিহাসের যৌথভাবে রক্ষণাবেক্ষণ করা তালিকা (tzdata), যার নাম Area/City ধরনের; ব্রাউজার, OS আর ডেটাবেস এটি ব্যবহার করে।যেখানে শিখবেন: পর্ব ২০
Idempotentআইডেমপোটেন্ট
যে অনুরোধ একবার বা বহুবার পাঠালে সার্ভারের শেষ অবস্থা একই থাকে — GET, PUT, DELETE এমন, POST নয়; তাই idempotent অনুরোধ নিশ্চিন্তে আবার পাঠানো যায়যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৬পর্ব ৪৪
Identifierআইডেন্টিফায়ার
ভ্যারিয়েবল, function বা class-এর নাম। অক্ষর, _ বা $ দিয়ে শুরু হতে হয়, ফাঁকা বা হাইফেন চলে না, সংরক্ষিত শব্দ চলে না।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৭পর্ব ১৪
IEEE 754আই-ট্রিপল-ই সেভেন-ফাইভ-ফোর
১৯৮৫ সালে প্রকাশিত floating-point সংখ্যার আন্তর্জাতিক মানদণ্ড; বিট-বিন্যাস, গোল করার নিয়ম আর Infinity, NaN, -0-এর মতো বিশেষ মান ঠিক করে দেয়যেখানে শিখবেন: পর্ব ১০পর্ব ৫৬
iframeআই-ফ্রেম
একটি ওয়েবপাতার ভেতরে আরেকটি আলাদা পাতা দেখানোর HTML element (<iframe>); sandbox attribute দিয়ে এর ক্ষমতা সীমিত করা যায়।যেখানে শিখবেন: পর্ব ০৩পর্ব ৪০পর্ব ৪১
if…else statementইফ-এলস স্টেটমেন্ট
শর্ত সত্য হলে একটি block, মিথ্যা হলে অন্য block চালানোর statement; else if দিয়ে কয়েকটি শর্তের সারি বানানো যায়, যেখানে প্রথম সত্য শর্তটিই চলেযেখানে শিখবেন: পর্ব ১১
IIFE (Immediately Invoked Function Expression)ইফি
যে function expression লিখেই সঙ্গে সঙ্গে ডাকা হয়, যেমন (function () { ... })();. ES module আর let/const আসার আগে variable-কে global থেকে আড়াল করার প্রধান উপায় ছিল।যেখানে শিখবেন: পর্ব ০৭পর্ব ১৩পর্ব ২২
Immutableইমিউটেবল
অপরিবর্তনীয় — একবার তৈরি হলে ভেতর থেকে বদলানো যায় না; বদলাতে চাইলে নতুন মান তৈরি হয়। JavaScript-এর সব primitive এমন।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৯পর্ব ২০
Immutable updateইমিউটেবল আপডেট
মূল object বা array না বদলে, বদলানো অংশসহ একটি নতুন কপি বানানোর পদ্ধতি, যেমন { ...item, qty: 4 }. বাকি অংশ পুরোনো object-এর সাথে ভাগাভাগি হয়; React ও Redux এর ওপর নির্ভর করে।যেখানে শিখবেন: পর্ব ১৬পর্ব ১৭পর্ব ২১
Implicit (accidental) globalইমপ্লিসিট গ্লোবাল
ঘোষণা না করে কোনো নামে মান বসালে sloppy mode-এ চুপচাপ global object-এ যে property তৈরি হয়। strict mode-এ এর বদলে ReferenceError আসে।যেখানে শিখবেন: পর্ব ০৭পর্ব ৪৫
Implicit bindingইমপ্লিসিট বাইন্ডিং
obj.method() আকারে ডাকলে this হয় ডটের (বা bracket-এর) বাঁ পাশের object. শর্তটি ডাকার মুহূর্তের — function আলাদা করে নিলে এই বন্ধন থাকে না।যেখানে শিখবেন: পর্ব ২৪
Implicit returnইমপ্লিসিট রিটার্ন
arrow function-এর body বাঁকা বন্ধনী ছাড়া একটি expression হলে return না লিখলেও সেই expression-এর মান ফেরত আসে। object ফেরত দিতে () => ({ a: 1 }) লিখতে হয়।যেখানে শিখবেন: পর্ব ১৩পর্ব ৩৩
Import mapইমপোর্ট ম্যাপ
<script type="importmap">-এর ভেতরের JSON, যা bare specifier বা উপসর্গকে আসল URL-এ রূপান্তর করে; এর ফলে bundler ছাড়াই ব্রাউজারে import x from "package" লেখা যায়যেখানে শিখবেন: পর্ব ৪৫
import.meta.env (Vite)ইমপোর্ট মেটা এনভ
Vite-এ .env ফাইলের মান কোডে পড়ার object; শুধু VITE_ দিয়ে শুরু হওয়া নাম পৌঁছায়, আর মানগুলো build-এর সময় বান্ডিলে বসে যায় — তাই এখানে গোপন তথ্য রাখা যায় নাযেখানে শিখবেন: পর্ব ৪৬
importScripts()ইমপোর্ট-স্ক্রিপ্টস
classic Worker-এর ভেতরে অন্য script ফাইল synchronous ভাবে লোড করে চালানোর পুরোনো function; module worker-এ এটি চলে না, সেখানে import ব্যবহার হয়যেখানে শিখবেন: পর্ব ৪২
inইন
object-এ (বা তার prototype chain-এ) একটি নামের property আছে কি না যাচাই করে — "b" in obj; মান undefined হলেও property থাকলে trueযেখানে শিখবেন: পর্ব ০৮পর্ব ১৪
In-placeইন-প্লেস
নতুন কপি না বানিয়ে মূল ডেটাকেই বদলে দেওয়া অপারেশন। sort, reverse, splice in-place; toSorted, toReversed, toSpliced নতুন array দেয়।যেখানে শিখবেন: পর্ব ১৫পর্ব ১৬পর্ব ৫৬
Increment / decrement (++ / --)ইনক্রিমেন্ট অপারেটর
variable-এর মান এক বাড়ায় বা কমায়; i++ আগে পুরোনো মান ফেরত দিয়ে পরে বাড়ায়, ++i আগে বাড়িয়ে নতুন মান দেয়যেখানে শিখবেন: পর্ব ০৮
Indexইনডেক্স
Array-তে একটি উপাদানের সংখ্যা-ঠিকানা: প্রথমটি 0, শেষটি length − 1. ভেতরে index-গুলো "0", "1" নামের property; সীমার বাইরে পড়লে error নয়, undefined আসে।যেখানে শিখবেন: পর্ব ১৫
Index (database)ইনডেক্স
কোনো কলাম বা field দিয়ে দ্রুত খোঁজার জন্য আলাদা করে সাজানো কাঠামো (সাধারণত B-tree) — SQL-এ CREATE INDEX, IndexedDB-তে createIndex; খোঁজা দ্রুত হয়, কিন্তু প্রতিটি লেখায় বাড়তি খরচ।যেখানে শিখবেন: পর্ব ৪০পর্ব ৫২
Index signatureইনডেক্স সিগনেচার
আগে থেকে না জানা key-ওয়ালা object-এর টাইপ, যেমন { [key: string]: number } বা তার ছোট রূপ Record<string, number>.যেখানে শিখবেন: পর্ব ৪৭
IndexedDBইনডেক্সড-ডিবি
ব্রাউজারের ভেতরের asynchronous ডেটাবেস, যেখানে বড় পরিমাণ structured ডেটা (object, File, Blob) রাখা যায়; localStorage-এর মতো নয়, এটি Worker-এর ভেতরেও ব্যবহার করা যায়যেখানে শিখবেন: পর্ব ৪০পর্ব ৪২পর্ব ৪৪
Infinite loopইনফিনিট লুপ
যে লুপের শর্ত কখনো মিথ্যা হয় না, তাই নিজে থেকে থামে না। Browser-এ এটি main thread আটকে পুরো পাতা জমিয়ে দেয়।যেখানে শিখবেন: পর্ব ১২
Infinityইনফিনিটি
সব সসীম সংখ্যার চেয়ে বড় বিশেষ number মান; 1 / 0 বা পরিসর ছাড়ানো গণনায় আসে, ঋণাত্মক রূপ -Infinityযেখানে শিখবেন: পর্ব ১০
Inheritanceইনহেরিট্যান্স
class B extends A লিখে একটি class-কে অন্য class-এর সব আচরণ পাইয়ে দেওয়া, তারপর নিজের অংশ যোগ করা; ভেতরে কাজ করে prototype chain দিয়েযেখানে শিখবেন: পর্ব ২৯
Initial value (reduce)ইনিশিয়াল ভ্যালু
reduce-এর দ্বিতীয় argument — accumulator-এর শুরুর মান, যেমন যোগে 0 বা খাতা বানাতে {}. না দিলে প্রথম উপাদান শুরুর মান হয়, আর খালি array-এ TypeError আসে।যেখানে শিখবেন: পর্ব ১৬
Inline cacheইনলাইন ক্যাশ
কোডের যে জায়গায় property পড়া হয়, সেখানে আগের বার দেখা hidden class আর property-র ঘর মনে রাখার কৌশল; একই আকারের object এলে খোঁজা ছাড়াই দ্রুত পড়া যায়যেখানে শিখবেন: পর্ব ০৫পর্ব ১৪পর্ব ২৫
Inline event handlerইনলাইন ইভেন্ট হ্যান্ডলার
HTML attribute-এ string হিসেবে লেখা JavaScript, যেমন <button onclick="save()">; global function লাগে, HTML আর আচরণ মিশে যায়, আর Content Security Policy এগুলো বন্ধ করে দিতে পারে। addEventListener ভালো বিকল্প।যেখানে শিখবেন: পর্ব ৩৮
Inline style (el.style)ইনলাইন স্টাইল
element-এর style attribute-এ সরাসরি বসানো CSS, JavaScript-এ el.style.color-এর মতো property দিয়ে। এটি বেশিরভাগ CSS নিয়মকে হারায় আর চেহারার নিয়ম JavaScript-এ ছড়িয়ে দেয়, তাই শুধু সত্যিকারের গতিশীল মানে ব্যবহার করা হয়।যেখানে শিখবেন: পর্ব ৩৭
Inline validationইনলাইন ভ্যালিডেশন
পুরো ফর্ম জমার অপেক্ষা না করে প্রতিটি ঘরের পাশে চলতি feedback দেখানো; প্রচলিত নিয়ম হলো প্রথম ভুল ঘর ছাড়ার পর দেখানো, তারপর প্রতিটি পরিবর্তনে হালনাগাদযেখানে শিখবেন: পর্ব ৩৯
innerHTMLইনারএইচটিএমএল
DOM উপাদানের ভেতরের HTML পড়া বা বদলানোর property. দেওয়া লেখাকে HTML হিসেবে পড়ে, তাই ব্যবহারকারীর ডেটা এতে ঢোকালে XSS-এর ঝুঁকি তৈরি হয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ২১
innerTextইনারটেক্সট
element-এর পর্দায় দেখা যায় এমন লেখা পড়া বা বদলানোর property; CSS মেনে লুকানো অংশ বাদ দেয় আর লাইন ভাঙা রাখে। পড়ার সময় ব্রাউজারকে layout হিসাব করতে হয়, তাই textContent-এর চেয়ে ধীর।যেখানে শিখবেন: পর্ব ৩৭
INP (Interaction to Next Paint)আই-এন-পি
Core Web Vitals-এর সাড়া-মাপ (মার্চ ২০২৪ থেকে FID-এর বদলে): ক্লিক, ট্যাপ বা কী-চাপ থেকে পরের বার পর্দা আঁকা পর্যন্ত দেরি, প্রায় সবচেয়ে ধীর ইন্টারঅ্যাকশনটির; ২০০ ms বা কম হলে ভালোযেখানে শিখবেন: পর্ব ৩১পর্ব ৪২পর্ব ৫৩
input eventইনপুট ইভেন্ট
ঘরের মানের প্রতিটি পরিবর্তনে আসা event — প্রতিটি অক্ষর টাইপ, মুছে ফেলা বা পেস্টে। কোড দিয়ে value বসালে নিজে থেকে আসে নাযেখানে শিখবেন: পর্ব ৩৯
Input typeইনপুট টাইপ
<input>-এর type attribute (email, tel, number, date, password, checkbox ইত্যাদি), যা ব্রাউজারকে জানায় মানটি কী ধরনের — তাতে মানানসই মোবাইল কিবোর্ড, নিজস্ব যাচাই আর বিশেষ নিয়ন্ত্রণ পাওয়া যায়যেখানে শিখবেন: পর্ব ৩৯
inputmodeইনপুটমোড
যে attribute শুধু মোবাইলে কোন কিবোর্ড আসবে তা বলে দেয় (numeric, decimal, tel, email…), কোনো যাচাই ছাড়া — যেমন OTP-র ঘরে type="text" রেখে inputmode="numeric"যেখানে শিখবেন: পর্ব ৩৯
insertAdjacentHTMLইনসার্ট অ্যাডজাসেন্ট এইচটিএমএল
element-এর আগে, ভেতরের শুরুতে, ভেতরের শেষে বা পরে (beforebegin, afterbegin, beforeend, afterend) একটি HTML string parse করে বসায়। বিদ্যমান সন্তানদের ছোঁয় না, কিন্তু innerHTML-এর মতোই বাইরের ডেটায় XSS-এর ঝুঁকি।যেখানে শিখবেন: পর্ব ৩৭
Insertion orderইনসার্শন অর্ডার
যে ক্রমে উপাদান সংগ্রহে ঢোকানো হয়েছে; Map আর Set ঘোরার সময় ঠিক এই ক্রম মানে — পুরোনো key-এর মান বদলালে জায়গা বদলায় না, মুছে আবার যোগ করলে শেষে যায়যেখানে শিখবেন: পর্ব ১৮
Installabilityইনস্টলেবিলিটি
কোন শর্তে ব্রাউজার একটি সাইটকে অ্যাপ হিসেবে ইনস্টলের প্রস্তাব দেবে, তার নিয়ম; ব্রাউজারভেদে আলাদা আর সময়ের সাথে বদলায়, তাই DevTools-এর Application → Manifest প্যানেলে যাচাই করা সবচেয়ে নির্ভরযোগ্যযেখানে শিখবেন: পর্ব ৪৪
Instanceইনস্ট্যান্স
কোনো class থেকে new দিয়ে তৈরি একটি নির্দিষ্ট object. প্রতিটি instance-এর ডেটা আলাদা, কিন্তু method একই prototype থেকে আসে।যেখানে শিখবেন: পর্ব ২৬
instanceofইনস্ট্যান্সঅফ
object-টির prototype chain-এ কোনো constructor বা class-এর prototype আছে কি না যাচাই করে — [] instanceof Array হলো trueযেখানে শিখবেন: পর্ব ০৮পর্ব ২৫পর্ব ২৬
Integrated terminalইন্টিগ্রেটেড টার্মিনাল
Editor-এর ভেতরেই খোলা terminal (VS Code-এ Ctrl+`), যা সাধারণত খোলা project ফোল্ডারে শুরু হয়।যেখানে শিখবেন: পর্ব ০৩
Integration testইন্টিগ্রেশন টেস্ট
কয়েকটি অংশ একসাথে ঠিক কাজ করে কি না, তার টেস্ট — যেমন UI, state আর event একসাথে, বা API আর ডেটাবেস একসাথে; unit-এর চেয়ে বাস্তব, E2E-র চেয়ে দ্রুত।যেখানে শিখবেন: পর্ব ৪৮পর্ব ৫৫পর্ব ৫৮
Interface (TypeScript)ইন্টারফেস
object-এর আকার (কোন ঘর, কোন টাইপ) বর্ণনার TypeScript ঘোষণা; extends দিয়ে বাড়ানো যায় আর একই নামে দুবার লিখলে মিশে যায়। চলার সময় এর কোনো অস্তিত্ব নেই।যেখানে শিখবেন: পর্ব ৪৭
Internal slotইন্টারনাল স্লট
Specification-এ [[নাম]] আকারে লেখা object-এর লুকানো ঘর, যেমন [[Prototype]]; engine-এর ভেতরের তথ্য, সাধারণ property-র মতো সরাসরি পড়া যায় নাযেখানে শিখবেন: পর্ব ২৫
Interpreterইন্টারপ্রেটার
যে প্রোগ্রাম কোড বা bytecode একটি একটি নির্দেশ করে পড়ে সাথে সাথে চালায়; V8-এর interpreter-এর নাম Ignitionযেখানে শিখবেন: পর্ব ০৫
IntersectionObserverইন্টারসেকশন অবজার্ভার
কোনো element একটি এলাকায় (viewport বা একটি scroll হওয়া element) ঢুকল বা বেরোল, ব্রাউজার নিজে হিসাব করে asynchronous callback-এ জানায় — root, rootMargin আর threshold option-সহ; lazy loading, infinite scroll আর seen analytics-এর ভিত্তিযেখানে শিখবেন: পর্ব ৪১
Intl.Collatorইন্টল ডট কোলেটর
ভাষার নিয়মে দুটি string তুলনা করার built-in object; এর compare ফাংশন sort-এ দিলে নাম অভিধানের ক্রমে সাজে।যেখানে শিখবেন: পর্ব ২০
Intl.DateTimeFormatইন্টল ডেট-টাইম-ফরম্যাট
ভাষা ও অঞ্চল অনুযায়ী তারিখ-সময় লেখার built-in formatter; যেমন bn-BD আর timeZone: 'Asia/Dhaka' দিলে “অক্টোবর ২০২৬”-এর মতো বাংলা মাসের নাম দেয়।যেখানে শিখবেন: পর্ব ২০পর্ব ২১
Intl.ListFormatইন্টল ডট লিস্ট-ফরম্যাট
একটি তালিকার উপাদানগুলোকে ভাষার নিয়মে কমা আর “এবং/বা” দিয়ে জুড়ে একটি লেখা বানায়।যেখানে শিখবেন: পর্ব ২০
Intl.NumberFormatইন্টল ডট নাম্বার-ফরম্যাট
ভাষা ও দেশের নিয়মে সংখ্যা, মুদ্রা বা শতাংশ সাজানোর built-in API; "bn-BD" দিলে বাংলা অঙ্ক আর লাখ-কোটির কমা দেয়যেখানে শিখবেন: পর্ব ১০পর্ব ২০পর্ব ২১
Intl.PluralRulesইন্টল ডট প্লুরাল-রুলস
একটি সংখ্যা একটি ভাষার কোন বহুবচন শ্রেণিতে পড়ে (one, two, few, other…) তা বলে দেয়, যাতে সঠিক শব্দরূপ বেছে নেওয়া যায়।যেখানে শিখবেন: পর্ব ২০
Intl.RelativeTimeFormatইন্টল ডট রিলেটিভ-টাইম-ফরম্যাট
একটি সংখ্যা আর একক (day, week…) থেকে “৩ দিন আগে”, “গতকাল”-এর মতো আপেক্ষিক সময়ের লেখা বানায়; ব্যবধান নিজে হিসাব করে না।যেখানে শিখবেন: পর্ব ২০
Intl.Segmenterইন্টল সেগমেন্টার
ES2022-এর Intl API-তে যুক্ত built-in, যা লেখাকে grapheme, শব্দ বা বাক্যে ভাগ করে; ফল নির্ভর করে engine-এর Unicode/ICU ডেটার version-এর ওপরযেখানে শিখবেন: পর্ব ০৯পর্ব ৩০পর্ব ৫৯
Invariant (Proxy)ইনভ্যারিয়েন্ট
ভাষার এমন নিয়ম, যা Proxy-র trap ভাঙতে পারে না — যেমন non-configurable আর non-writable property-র জন্য get trap-কে আসল মানই দিতে হবে। Engine trap-এর ফল target-এর সাথে মিলিয়ে দেখে, না মিললে TypeError.যেখানে শিখবেন: পর্ব ২৮
Inversion of controlইনভার্সন অফ কন্ট্রোল
Callback দেওয়ার মাধ্যমে নিজের কোডের বাকি অংশ কখন, কতবার আর কোন argument দিয়ে চলবে সেই নিয়ন্ত্রণ অন্যের (যেমন third-party লাইব্রেরির) হাতে তুলে দেওয়া; ফলে callback দুবার, কখনো না, বা ভুলভাবে ডাকা হওয়ার ঝুঁকি থাকে।যেখানে শিখবেন: পর্ব ৩২
Islands architectureআইল্যান্ডস আর্কিটেকচার
পাতার বেশিরভাগ অংশ স্থির HTML, আর শুধু interactive অংশগুলো (দ্বীপ) আলাদাভাবে JavaScript নামিয়ে hydrate হয়; Astro এর পরিচিত উদাহরণযেখানে শিখবেন: পর্ব ৫৪
ISO 8601আই-এস-ও এইট্টি-সিক্স-জিরো-ওয়ান
তারিখ-সময় লেখার আন্তর্জাতিক মানদণ্ড, যেমন "2026-10-19T04:30:00.000Z" (শেষের Z মানে UTC); Date-এর toISOString আর toJSON এই আকারে লেখেযেখানে শিখবেন: পর্ব ১৯পর্ব ২০
Isolation levelআইসোলেশন লেভেল
একসাথে চলা transaction একে অপরের বদল কতটা দেখতে পাবে তার মাত্রা — Read Uncommitted, Read Committed, Repeatable Read, Serializable; যত কড়া তত নিরাপদ, কিন্তু অপেক্ষা বা retry বেশি।যেখানে শিখবেন: পর্ব ৫২
isPrototypeOfইজ-প্রোটোটাইপ-অফ
proto.isPrototypeOf(obj) বলে proto object-টি obj-এর prototype chain-এর কোথাও আছে কি না; constructor ছাড়া Object.create-এর ক্ষেত্রে কাজে লাগেযেখানে শিখবেন: পর্ব ২৫
ISR (Incremental Static Regeneration)আইএসআর
SSG আর SSR-এর মাঝামাঝি: স্থির পাতা পরিবেশন করা হয়, কিন্তু নির্দিষ্ট সময় পরপর বা অনুরোধে পেছনে নতুন করে বানানো হয়, পুরো সাইট আবার build না করেই; Next.js এটি জনপ্রিয় করেযেখানে শিখবেন: পর্ব ৫৪
isTrustedইজ-ট্রাস্টেড
event object-এর property: সত্যিকারের ব্যবহারকারী-ঘটনা হলে true, আর element.click() বা dispatchEvent দিয়ে কোড থেকে তৈরি হলে false; popup, fullscreen-এর মতো কিছু ক্ষমতা ব্রাউজার শুধু trusted event-এ দেয়।যেখানে শিখবেন: পর্ব ৩৮
Iterableইটারেবল
যে জিনিসের [Symbol.iterator] method আছে, অর্থাৎ যার মানগুলো একটি একটি করে নেওয়া যায়। Array, string, Map, Set iterable; সাধারণ object নয়।যেখানে শিখবেন: পর্ব ১২পর্ব ১৫পর্ব ১৭
Iterationইটারেশন
লুপের একটি ঘোরা — body-র একবার চলা। “পাঁচ iteration” মানে body পাঁচবার চলেছে।যেখানে শিখবেন: পর্ব ১২
Iteration protocolইটারেশন প্রোটোকল
ES2015-এর একটি চুক্তি: একটি object [Symbol.iterator]() দিয়ে iterator দিলে for…of, spread, destructuring আর Array.from তার সাথে কাজ করে।যেখানে শিখবেন: পর্ব ১২পর্ব ২৭
Iteratorইটারেটর
যে object-এর next() method প্রতিবার { value, done } দেয় — পরের মান, আর মান শেষ হয়েছে কি না। for…of ভেতরে ভেতরে এটিই ব্যবহার করে।যেখানে শিখবেন: পর্ব ১২পর্ব ১৮পর্ব ২৭
Iterator helperইটারেটর হেল্পার
ES2025-এ যুক্ত Iterator.prototype-এর method — map, filter, take, drop, flatMap, reduce, toArray ইত্যাদি — যা মাঝের array না বানিয়ে lazy পাইপলাইন তৈরি করে। Node.js 22 থেকে আছে।যেখানে শিখবেন: পর্ব ১৬পর্ব ২৭
ITP (Intelligent Tracking Prevention)আইটিপি — ইন্টেলিজেন্ট ট্র্যাকিং প্রিভেনশন
২০১৭ সাল থেকে Safari-র গোপনীয়তা-ব্যবস্থা, যা tracker-এর cookie আটকায় আর script দিয়ে লেখা storage (localStorage, IndexedDB, document.cookie-র cookie) ৭ দিন Safari ব্যবহারের মধ্যে সাইটে কোনো ক্লিক বা ট্যাপ না হলে মুছে দিতে পারেযেখানে শিখবেন: পর্ব ৪০

J

Jankজ্যাঙ্ক
স্ক্রল বা অ্যানিমেশন মসৃণ না হয়ে আটকে আটকে চলা; সাধারণত main thread ব্যস্ত থাকায় ব্রাউজার সময়মতো নতুন frame আঁকতে পারে না বলে ঘটে।যেখানে শিখবেন: পর্ব ৩৮
JavaScriptজাভাস্ক্রিপ্ট
ওয়েবের প্রোগ্রামিং ভাষা — সব ব্রাউজার একে সরাসরি চালায়, আর Node.js-এর মতো runtime দিয়ে সার্ভার, ডেস্কটপ ও মোবাইলেও চলে। এর লিখিত মানদণ্ডের নাম ECMAScript.যেখানে শিখবেন: পর্ব ০১
JavaScript engineজাভাস্ক্রিপ্ট ইঞ্জিন
যে প্রোগ্রাম JavaScript কোড পড়ে bytecode বানিয়ে চালায়, আর বারবার চলা অংশ machine code-এ রূপ দেয় — যেমন V8, SpiderMonkey, JavaScriptCore. প্রতিটি browser-এর ভেতরে একটি থাকে।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ০৪
Jestজেস্ট
Facebook-এর ২০১৪ সালে open-source করা JavaScript test runner; প্রায় শূন্য config, jsdom, mock আর snapshot ভেতরেই — বহু বছর React প্রজেক্টের প্রায় মানদণ্ড ছিল।যেখানে শিখবেন: পর্ব ৪৮
JIT (Just-In-Time) compilerজে-আই-টি
প্রোগ্রাম চলার সময় বারবার চলা “গরম” কোডকে সেই কম্পিউটারের machine code-এ বদলে নেওয়ার ব্যবস্থা; V8-এ Sparkplug, Maglev আর TurboFan এই কাজ করেযেখানে শিখবেন: পর্ব ০১পর্ব ০৫পর্ব ১২
Jitterজিটার
Retry-এর অপেক্ষার সময়ে ইচ্ছাকৃত এলোমেলোতা মেশানো, যাতে একসাথে ব্যর্থ হওয়া অনেক client একই মুহূর্তে আবার request না পাঠায়। “Full jitter”-এ অপেক্ষা হয় 0 থেকে backoff-এর পুরো মানের মধ্যে একটি random সংখ্যা।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫১
JOIN (SQL)জয়েন
দুই বা বেশি টেবিলের সারি কোনো শর্তে (সাধারণত key মিলিয়ে) একসাথে জোড়া দেওয়ার SQL কাজ। INNER JOIN শুধু মিল-থাকা সারি দেয়, LEFT JOIN বাঁ টেবিলের সব সারি রাখে।যেখানে শিখবেন: পর্ব ৫২
JSDocজেএসডক
/** */ দিয়ে লেখা বিশেষ comment, যাতে @param, @returns দিয়ে function-এর বর্ণনা ও টাইপ লেখা হয়। VS Code-এর মতো editor এটি পড়ে সাহায্য দেখায়।যেখানে শিখবেন: পর্ব ০৪পর্ব ১৩পর্ব ৪৭
jsdom (ও happy-dom)জে-এস-ডম
Node.js-এ চলা ব্রাউজারের DOM-এর একটি JavaScript নকল — document, element, event, form আছে, কিন্তু layout বা আসল আঁকা নেই; DOM-এর টেস্ট দ্রুত চালাতে ব্যবহার হয়, happy-dom এর একটি দ্রুততর বিকল্প।যেখানে শিখবেন: পর্ব ৪৮
JSONজেসন
JavaScript Object Notation — ডেটা আদান-প্রদানের একটি সহজ টেক্সট ফরম্যাট, দেখতে JavaScript object-এর মতো। প্রায় সব ওয়েব API এই ফরম্যাটে তথ্য পাঠায়।যেখানে শিখবেন: পর্ব ০১পর্ব ০৬পর্ব ১৪
JSXজেএসএক্স
JavaScript-এর ভেতরে HTML-এর মতো করে UI লেখার একটি syntax extension; build tool একে jsx() বা React.createElement() function call-এ বদলে দেয়, যা element-এর বর্ণনা দেওয়া একটি সাধারণ object ফেরত দেয়যেখানে শিখবেন: পর্ব ৫৪
JWT (JSON Web Token)জে-ডব্লিউ-টি — জেসন ওয়েব টোকেন
base64url-এ লেখা, তিন অংশের (header.payload.signature) একটি সই করা token, যা লগইনের পরিচয় বহন করে; ভেতরের ডেটা গোপন নয়, শুধু বদলানো ধরা পড়ে। যার হাতে token, সে-ই ব্যবহারকারী — তাই চুরি ঠেকানো জরুরিযেখানে শিখবেন: পর্ব ৪০পর্ব ৫০পর্ব ৫১

K

key (list key)কি
তালিকার প্রতিটি আইটেমে দেওয়া স্থায়ী, অনন্য পরিচয় (React-এ key, Vue-তে :key, Angular-এ track), যা দিয়ে framework আগের আর নতুন render-এ কোন আইটেম কোনটি তা চেনে। array-এর index দিলে ক্রম বদলানোর সময় ভুল সারিতে state থেকে যায়যেখানে শিখবেন: পর্ব ৫৪
keyPathকি-পাথ
IndexedDB-তে object-এর কোন property তার key হবে, তা জানানোর নিয়ম — যেমন { keyPath: "id" } দিলে প্রতিটি object-এর id-ই তার অনন্য key; না দিলে autoIncrement বা আলাদা key দিতে হয়যেখানে শিখবেন: পর্ব ৪০
Kill switch (service worker)কিল সুইচ
ভুল service worker সব ব্যবহারকারীর ফোন থেকে সরানোর জরুরি ব্যবস্থা: একই ঠিকানায় এমন একটি sw.js তোলা, যা সাথে সাথে active হয়ে সব cache মোছে, নিজেকে unregister করে আর খোলা পাতাগুলো আবার লোড করেযেখানে শিখবেন: পর্ব ৪৪

L

Lab dataল্যাব ডেটা
নিয়ন্ত্রিত পরিবেশে (নির্দিষ্ট যন্ত্র, নেটওয়ার্ক আর throttling) টুল দিয়ে মাপা পারফরম্যান্স, যেমন Lighthouse; কারণ খোঁজা আর পরিবর্তন যাচাইয়ে কাজের, কিন্তু আসল ব্যবহারকারীর ছবি নয়যেখানে শিখবেন: পর্ব ৫৩
Labelলেবেল
একটি লুপের সামনে বসানো নাম আর কোলন (যেমন search:)। break search বা continue search লিখে ভেতর থেকে সেই নির্দিষ্ট লুপকে নিয়ন্ত্রণ করা যায়।যেখানে শিখবেন: পর্ব ১২
Lambda calculusল্যাম্বডা ক্যালকুলাস
১৯৩০-এর দশকে Alonzo Church-এর তৈরি হিসাবের একটি গাণিতিক মডেল, যেখানে আছে শুধু variable, function বানানো আর function প্রয়োগ। Lisp থেকে JavaScript-এর arrow function পর্যন্ত functional ধারণার মূল ভিত্তি।যেখানে শিখবেন: পর্ব ২৩
Last-Event-IDলাস্ট ইভেন্ট আইডি
SSE-তে reconnection-এর সময় ব্রাউজার যে HTTP header পাঠায়, যাতে শেষ পাওয়া event-এর id থাকে; সার্ভার এটি দেখে শুধু পরের event-গুলো পাঠায়, ফলে সংযোগ কাটলেও কিছু হারায় নাযেখানে শিখবেন: পর্ব ৫১
lastIndexলাস্ট ইনডেক্স
g বা y flag-যুক্ত regex object-এর একটি property, যা পরের খোঁজা কোন ঘর থেকে শুরু হবে তা মনে রাখে; একই regex দিয়ে বারবার test() ডাকলে এর কারণে true আর false পালা করে আসেযেখানে শিখবেন: পর্ব ৩০
Latencyলেটেন্সি
একটি খবর বা অনুরোধ এক জায়গা থেকে রওনা দিয়ে অন্য জায়গায় পৌঁছাতে যে দেরি হয়, সাধারণত মিলিসেকেন্ডে মাপা হয়; real-time অ্যাপের লক্ষ্য এটি কম রাখাযেখানে শিখবেন: পর্ব ৫১
Layered architectureলেয়ার্ড আর্কিটেকচার
কোডকে স্তরে ভাগ করা — route/controller (HTTP), service (ব্যবসার নিয়ম), repository (ডেটাবেস) — যেখানে প্রতিটি স্তর শুধু নিচের স্তরকে চেনে; ফলে টেস্ট আর বদলানো সহজযেখানে শিখবেন: পর্ব ৫০
Layout (reflow)লেআউট
ব্রাউজারের যে ধাপে প্রতিটি বাক্সের সঠিক অবস্থান ও মাপ হিসাব হয়; পর্দার চওড়া বা element-এর মাপ বদলালে আবার ঘটে।যেখানে শিখবেন: পর্ব ০২পর্ব ৩৭
Layout thrashingলেআউট থ্র্যাশিং
DOM-এ লেখার পরপর offsetHeight বা getBoundingClientRect-এর মতো মাপ পড়ায় ব্রাউজারকে তখনই layout করতে বাধ্য করা (forced synchronous layout), আর loop-এ সেটি বারবার ঘটা। সমাধান: আগে সব পড়া, পরে সব লেখা।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৪১পর্ব ৫৩
Lazy (non-greedy) quantifierলেজি কোয়ান্টিফায়ার
পেছনে ? দেওয়া quantifier (+?, *?), যা যত কম সম্ভব অক্ষর নেয় আর দরকার হলে একটি একটি করে বাড়ায়; ছোটতম মিল খুঁজতে কাজেরযেখানে শিখবেন: পর্ব ৩০
Lazy evaluationলেজি ইভ্যালুয়েশন
দরকার না পড়া পর্যন্ত হিসাব না করা: প্রতিটি উপাদান একে একে পুরো পাইপলাইন পার হয়, আর যথেষ্ট ফল পেলেই কাজ থামে। Array method eager, iterator helper আর generator lazy.যেখানে শিখবেন: পর্ব ১৬পর্ব ২৭
Lazy loadingলেজি লোডিং
ছবি, iframe বা কোড শুরুতেই না নামিয়ে দরকারের কাছাকাছি সময়ে (যেমন পর্দার কাছে এলে) নামানো; HTML-এ loading="lazy", আর বেশি নিয়ন্ত্রণে IntersectionObserver. প্রথম পর্দার ছবিতে ব্যবহার করবেন নাযেখানে শিখবেন: পর্ব ৪১পর্ব ৫৩
LCP (Largest Contentful Paint)এলসিপি
পাতার সবচেয়ে বড় দৃশ্যমান লেখা বা ছবি কখন আঁকা হলো তার সময়; Core Web Vital, ২.৫ সেকেন্ড বা কম হলে ভালো, ৪ সেকেন্ডের বেশি হলে খারাপযেখানে শিখবেন: পর্ব ৫৩পর্ব ৫৪
Leaky abstractionলিকি অ্যাবস্ট্রাকশন
যে বিমূর্ততা নিচের স্তরের জটিলতা পুরোপুরি লুকাতে পারে না — সমস্যা হলে নিচের স্তরটি (যেমন ORM-এর নিচের SQL) বুঝতেই হয়। Joel Spolsky ২০০২ সালে নামটি জনপ্রিয় করেন।যেখানে শিখবেন: পর্ব ৫২
Leap secondলিপ সেকেন্ড
পৃথিবীর ঘূর্ণনের সাথে মেলাতে UTC-তে মাঝে মাঝে যোগ করা বাড়তি এক সেকেন্ড (23:59:60); JavaScript আর Unix সময় এটি উপেক্ষা করে।যেখানে শিখবেন: পর্ব ২০
letলেট
ES2015 থেকে আসা variable ঘোষণার keyword. Block-scoped, পরে নতুন মান বসানো যায়, আর ঘোষণার লাইনের আগে ব্যবহার করলে ReferenceError (TDZ).যেখানে শিখবেন: পর্ব ০৭
Lexical environmentলেক্সিক্যাল এনভায়রনমেন্ট
কোডের একটি জায়গায় দেখা যায় এমন নাম আর মানের খাতা, সাথে তাকে ঘিরে থাকা খাতার দিকে একটি সংযোগ। Function তৈরি হওয়ার সময় চলতি lexical environment-টি মনে রেখে দেয়; এখনকার spec-এ একে environment record আর তার outer সংযোগ হিসেবে বর্ণনা করা হয়।যেখানে শিখবেন: পর্ব ২২
Lexical scopeলেক্সিক্যাল স্কোপ
যে নিয়মে একটি নাম কোন variable-কে বোঝায় তা ঠিক হয় কোড কোথায় লেখা আছে তা দেখে, কে কোথা থেকে ডাকল তা দেখে নয়। একে static scope-ও বলে; closure এর ওপর দাঁড়িয়ে।যেখানে শিখবেন: পর্ব ০৭পর্ব ২২পর্ব ২৪
Lexical thisলেক্সিক্যাল দিস
arrow function-এর this-এর নিয়ম: নিজের this না থাকায় সে যেখানে লেখা, তার চারপাশের scope-এর this ব্যবহার করে। তৈরির সময় ঠিক হয়, পরে call/bind দিয়েও বদলায় না।যেখানে শিখবেন: পর্ব ২৪পর্ব ৩৮
Lexicographic orderলেক্সিকোগ্রাফিক অর্ডার
অভিধানের মতো অক্ষর ধরে ধরে তুলনার ক্রম। Comparator ছাড়া JavaScript-এর sort মানগুলোকে string বানিয়ে এই ক্রমে সাজায়, তাই [10, 9, 100] হয় [10, 100, 9].যেখানে শিখবেন: পর্ব ১৬
libuvলিব-ইউ-ভি
Node.js-এর নিচের C library, যা event loop চালায় আর অপারেটিং সিস্টেমের ব্যবস্থা (epoll, kqueue, IOCP) ও একটি thread pool দিয়ে নেটওয়ার্ক, ফাইল আর timer-এর অপেক্ষার কাজ করেযেখানে শিখবেন: পর্ব ৩১পর্ব ৩২পর্ব ৪৯
Lifecycle script (install script)লাইফসাইকেল স্ক্রিপ্ট
package-এর preinstall, install, postinstall-এর মতো script, যা ইনস্টলের সময়ই নিজে থেকে চলে; ক্ষতিকর package-এর প্রিয় পথ, তাই --ignore-scripts দিয়ে বন্ধ রাখা যায়যেখানে শিখবেন: পর্ব ৪৬
Lifting state upলিফটিং স্টেট আপ
দুই বা ততোধিক component-এর একই ডেটা লাগলে state-কে তাদের নিকটতম সাধারণ parent-এ সরিয়ে নেওয়া, যাতে ডেটার একটিই মালিক থাকে আর সবাই props হিসেবে পায়যেখানে শিখবেন: পর্ব ৫৪
Lighthouseলাইটহাউস
Google-এর একটি স্বয়ংক্রিয় নিরীক্ষা টুল (DevTools-এ, PageSpeed Insights-এ আর CLI হিসেবে), যা একটি নিয়ন্ত্রিত লোডে performance, accessibility আর SEO মেপে স্কোর ও পরামর্শ দেয়যেখানে শিখবেন: পর্ব ৫৩
lint-stagedলিন্ট-স্টেজড
শুধু এই commit-এর জন্য stage করা ফাইলগুলোর ওপর lint ও format কমান্ড চালানোর টুল, যাতে pre-commit hook দ্রুত হয়যেখানে শিখবেন: পর্ব ৪৬
Linterলিন্টার
কোড না চালিয়েই পড়ে (static analysis) সম্ভাব্য বাগ, ঝুঁকিপূর্ণ ধরন আর নিয়মভঙ্গ খুঁজে জানানোর টুল — JavaScript-এ ESLint, Biome, oxlintযেখানে শিখবেন: পর্ব ৪৬পর্ব ৫৭
List virtualizationলিস্ট ভার্চুয়ালাইজেশন
লম্বা তালিকার সব সারি DOM-এ না রেখে শুধু পর্দায় দৃশ্যমান সারিগুলো আঁকা, আর scroll করলে সেগুলোতেই নতুন ডেটা বসানো; virtual list বা windowing নামেও পরিচিতযেখানে শিখবেন: পর্ব ৫৩
Literal typeলিটারাল টাইপ
একটি নির্দিষ্ট মানই যার একমাত্র সদস্য, যেমন "paid" বা 42. এদের union দিয়ে অনুমোদিত মানের তালিকা বানানো যায়।যেখানে শিখবেন: পর্ব ৪৭
Live bindingলাইভ বাইন্ডিং
ES module-এর import মানের কপি নয়, রপ্তানিকারীর আসল binding-এর দিকে শুধু-পড়া একটি জানালা: রপ্তানিকারী মান বদলালে আমদানিকারী নতুন মান দেখে, কিন্তু নিজে বসাতে গেলে TypeErrorযেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৬
Live collectionলাইভ কালেকশন
এমন DOM তালিকা, যা কপি নয় বরং প্রতিবার পড়ার সময় গাছ থেকে নতুন করে হিসাব হয় — যেমন HTMLCollection আর childNodes. loop চলাকালীন element বদলালে তালিকা ছোট-বড় হয়ে element বাদ পড়তে পারে; querySelectorAll-এর NodeList এর বিপরীতে static.যেখানে শিখবেন: পর্ব ৩৭
Live Serverলাইভ সার্ভার
VS Code-এর একটি জনপ্রিয় extension, যা ফোল্ডারটিকে একটি local web server দিয়ে ব্রাউজারে খোলে আর ফাইল সেভ করলেই পাতা নিজে থেকে reload করে।যেখানে শিখবেন: পর্ব ২১
Load balancerলোড ব্যালান্সার
সামনে বসে আসা অনুরোধ বা সংযোগ কয়েকটি সার্ভারের মধ্যে ভাগ করে দেওয়ার যন্ত্র বা সেবা; WebSocket-এর জন্য একে upgrade সমর্থন করতে হয় আর idle timeout যথেষ্ট লম্বা রাখতে হয়যেখানে শিখবেন: পর্ব ৫১
load eventলোড ইভেন্ট
window-এর event, যা ঘটে পাতার সব কিছু — ছবি, stylesheet, iframe — নামা শেষ হলে; DOMContentLoaded-এর পরে আসে।যেখানে শিখবেন: পর্ব ৩৭
Localeলোকেল
ভাষা আর অঞ্চলের পরিচয়, যেমন "bn-BD" বা "en-US"; সংখ্যা, তারিখ আর মুদ্রা কোন নিয়মে দেখানো হবে তা ঠিক করেযেখানে শিখবেন: পর্ব ১০পর্ব ২০
localeCompareলোকেল কম্পেয়ার
String-এর method যা একটি ভাষার নিয়ম মেনে দুটি string তুলনা করে ঋণাত্মক, 0 বা ধনাত্মক সংখ্যা দেয় — যেমন a.localeCompare(b, "bn") বাংলা নাম সাজাতে।যেখানে শিখবেন: পর্ব ১৬
localStorageলোকালস্টোরেজ
ব্রাউজারে origin-ভিত্তিক স্থায়ী key-value জমার জায়গা; একই origin-এর যেকোনো JavaScript (XSS-এ ঢোকানো কোডসহ) এটি পড়তে পারে, তাই গোপন token রাখার জন্য ঝুঁকিপূর্ণযেখানে শিখবেন: পর্ব ৪০পর্ব ৪৩পর্ব ৫৮
Location headerলোকেশন হেডার
Response header, যা 201 Created-এর সাথে নতুন তৈরি resource-এর ঠিকানা জানায় (যেমন /api/orders/A-101); redirect-এর বেলায় নতুন গন্তব্যও এটিই বলেযেখানে শিখবেন: পর্ব ৫০
Locatorলোকেটর
Playwright-এ element খোঁজার একটি রেসিপি, যেমন page.getByRole("button", { name: "চেকআউট" }); প্রতিবার ব্যবহারের সময় নতুন করে খোঁজে, তাই পাতা আবার আঁকা হলেও পুরোনো element-এ আটকে থাকে না।যেখানে শিখবেন: পর্ব ৪৮
Lockfileলকফাইল
package-lock.json-এর মতো ফাইল, যাতে প্রতিটি dependency-র ঠিক কোন version আর hash ইনস্টল হয়েছে তা লেখা থাকে; npm ci এটি হুবহু মেনে ইনস্টল করেযেখানে শিখবেন: পর্ব ৪৩পর্ব ৪৬পর্ব ৪৮
Logic errorলজিক এরর
কোড কোনো error ছাড়াই চলে, কিন্তু ফল ভুল দেয় — যেমন ভুল সূত্রে হিসাব; engine টের পায় না বলে এগুলো ধরতে লাগে টেস্ট, assert আর নিজের যাচাইযেখানে শিখবেন: পর্ব ২৯
Logical assignmentলজিক্যাল অ্যাসাইনমেন্ট
ES2021-এ যুক্ত তিনটি operator: x ??= v (x nullish হলে বসাও), x ||= v (x falsy হলে বসাও), x &&= v (x truthy হলে বসাও); শর্ত না মিললে assignment হয়ই নাযেখানে শিখবেন: পর্ব ০৮
Long pollingলং পোলিং
Polling-এর রূপ, যেখানে সার্ভার নতুন খবর না হওয়া পর্যন্ত (বা একটি সময়সীমা পর্যন্ত) উত্তর আটকে রাখে, আর উত্তর পাওয়ামাত্র ব্রাউজার আবার request পাঠায় — ফলে প্রায় তাৎক্ষণিক খবর পাওয়া যায়।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫১
Long taskলং টাস্ক
Browser-এর main thread ৫০ মিলিসেকেন্ডের বেশি সময় আটকে রাখা একটি কাজ। এ সময় ক্লিক বা স্ক্রলের সাড়া দেরি হয়; Long Tasks API এগুলো রিপোর্ট করে।যেখানে শিখবেন: পর্ব ১২পর্ব ৩১পর্ব ৩২
Lookaheadলুকঅ্যাহেড
(?=…) বা (?!…) — বর্তমান অবস্থানের ডানে কিছু আছে (বা নেই) কি না পরীক্ষা করে, কিন্তু সেই অংশ মিলের ভেতরে নেয় না; যেমন /\d+(?=টাকা)/যেখানে শিখবেন: পর্ব ৩০
Lookbehindলুকবিহাইন্ড
(?<=…) বা (?<!…) — বর্তমান অবস্থানের বাঁয়ে কিছু আছে (বা নেই) কি না পরীক্ষা করে, অক্ষর না খেয়ে; JavaScript-এ ES2018 থেকে, যেকোনো দৈর্ঘ্যের নকশা চলেযেখানে শিখবেন: পর্ব ৩০
Lookup tableলুকআপ টেবিল
একটি মান থেকে আরেকটি মান খুঁজে পাওয়ার জন্য সাজানো ডেটা — array, Map বা object; লম্বা if/switch-এর বদলে সিদ্ধান্তকে ডেটা হিসেবে রাখেযেখানে শিখবেন: পর্ব ১১পর্ব ৫৫
Loopলুপ
একটি শর্ত যতক্ষণ সত্য থাকে, ততক্ষণ একটি কোড-অংশ বারবার চালানোর গঠন। JavaScript-এ for, while, do…while, for…of আর for…in — এই পাঁচ রূপ আছে।যেখানে শিখবেন: পর্ব ১২
Loop variableলুপ ভ্যারিয়েবল
যে ভ্যারিয়েবল লুপের অগ্রগতি গোনে বা বর্তমান মান ধরে রাখে, যেমন for-এর i বা for…of-এর item. let দিলে প্রতিটি ঘোরায় এর নতুন কপি তৈরি হয়।যেখানে শিখবেন: পর্ব ১২
Loose equality (==)লুজ ইকুয়ালিটি
টাইপ আলাদা হলে আগে coercion করে তারপর তুলনা; যেমন 0 == "" true. প্রচলিত একমাত্র নিরাপদ ব্যবহার x == null.যেখানে শিখবেন: পর্ব ০৬পর্ব ৪৬পর্ব ৫৬
Lost thisলস্ট দিস
method-কে object থেকে আলাদা করে (variable-এ রেখে বা callback হিসেবে পাঠিয়ে) ডাকলে ডটের বাঁ পাশে আর object থাকে না, তাই this আর সেই object নয় — এই সাধারণ বাগের নাম।যেখানে শিখবেন: পর্ব ২৪পর্ব ২৬পর্ব ৩২
LRU cacheএলআরইউ ক্যাশ
Least Recently Used — নির্দিষ্ট সর্বোচ্চ আকারের cache, যা পূর্ণ হলে সবচেয়ে দীর্ঘ সময় ধরে ব্যবহার না হওয়া entry বাদ দেয়; ফলে মেমরি সীমার মধ্যে থাকেযেখানে শিখবেন: পর্ব ৫৩পর্ব ৫৯
LTS (Long-Term Support)এল-টি-এস
যে version দীর্ঘ সময় ধরে নিরাপত্তা ও bug-fix আপডেট পাবে বলে প্রতিশ্রুতি থাকে; শেখা ও production-এর জন্য প্রস্তাবিত।যেখানে শিখবেন: পর্ব ০৩পর্ব ৪৯পর্ব ৫৫

M

Machine codeমেশিন কোড
CPU সরাসরি চালাতে পারে এমন নির্দেশের সারি; প্রতিটি CPU পরিবারের (x86, ARM) নিজস্ব machine code থাকেযেখানে শিখবেন: পর্ব ০৫
Machine coding roundমেশিন কোডিং রাউন্ড
ইন্টারভিউর যে ধাপে ৬০–৯০ মিনিটে চলমান একটি ছোট জিনিস বানাতে হয় — যেমন typeahead, tabs বা todo অ্যাপ; কাঠামো, অবস্থা সামলানো, edge case আর accessibility দেখা হয়যেখানে শিখবেন: পর্ব ৫৯
Main threadমেইন থ্রেড
ব্রাউজারের যে thread-এ পাতার JavaScript, ইনপুট সামলানো, style, layout আর paint চলে; এটি আটকালে পুরো পাতা সাড়া দেওয়া বন্ধ করেযেখানে শিখবেন: পর্ব ৩১পর্ব ৩৮পর্ব ৪০
Mantissa (significand)ম্যান্টিসা
Floating-point সংখ্যার আসল অঙ্কগুলোর অংশ; double-এ ৫২ বিট আর একটি লুকানো 1 মিলে ৫৩ বিটের নির্ভুলতা দেয়যেখানে শিখবেন: পর্ব ১০
Mapম্যাপ
Key থেকে value-এর built-in সংগ্রহ (ES2015); যেকোনো type-এর key রাখা যায়, type বদলায় না (map.get("1") আর map.get(1) আলাদা), আর সাধারণ object-এর মতো prototype থেকে বাড়তি key আসে নাযেখানে শিখবেন: পর্ব ১১পর্ব ১৪পর্ব ১৮
map (Array)ম্যাপ
Array.prototype.map: প্রতিটি উপাদানে callback চালিয়ে তার ফেরত মান দিয়ে সমান দৈর্ঘ্যের একটি নতুন array বানায়; মূল array বদলায় না। (Map ডেটা স্ট্রাকচার আলাদা জিনিস.)যেখানে শিখবেন: পর্ব ১৬
Mark-and-sweepমার্ক অ্যান্ড সুইপ
GC-র একটি পদ্ধতি: root থেকে reference ধরে পৌঁছানো যায় এমন সব object-এ চিহ্ন দেওয়া (mark), তারপর অচিহ্নিত সব মুছে ফেলা (sweep); পরস্পরকে দেখানো চক্রও এতে মোছেযেখানে শিখবেন: পর্ব ০৫
Mass assignmentম্যাস অ্যাসাইনমেন্ট
client-এর পাঠানো পুরো body সরাসরি ডেটাবেসের object-এ বসিয়ে দেওয়ার দুর্বলতা — তখন কেউ role বা price-এর মতো field পাঠিয়ে নিজের অনুমতি বা দাম বদলে নিতে পারে; প্রতিরোধ: শুধু চেনা field বেছে নেওয়াযেখানে শিখবেন: পর্ব ৫০
Math (object)ম্যাথ অবজেক্ট
গণিতের প্রস্তুত function (round, floor, sqrt, max…) আর ধ্রুবক (PI, E) রাখা built-in object; new দিয়ে বানানো যায় নাযেখানে শিখবেন: পর্ব ১০
MCQ (Multiple Choice Question)এম-সি-কিউ
বহুনির্বাচনী প্রশ্ন — কয়েকটি অপশন দেওয়া থাকে, সাধারণত চারটি, আর তার মধ্যে থেকে সঠিকটি বেছে নিতে হয়।যেখানে শিখবেন: পর্ব ৫৭
Memoizationমেমোইজেশন
একটি pure function-এর আগের ফল input অনুযায়ী জমিয়ে রেখে একই input আবার এলে হিসাব না করে জমানো ফল ফেরত দেওয়ার কৌশল। JavaScript-এ cache সাধারণত closure-এর ভেতরের একটি Map.যেখানে শিখবেন: পর্ব ২২পর্ব ২৩পর্ব ৩৬
Memory leakমেমরি লিক
অপ্রয়োজনীয় object reachable থেকে যাওয়ায় GC সেগুলো মুছতে না পারা, ফলে মেমরি ব্যবহার ক্রমাগত বাড়তে থাকাযেখানে শিখবেন: পর্ব ০৫পর্ব ১৮পর্ব ২২
message eventমেসেজ ইভেন্ট
postMessage দিয়ে পাঠানো বার্তা পৌঁছালে গ্রহণকারীর দিকে যে event আসে; event.data-তে থাকে ডেটার কপি। বার্তা deserialize করা না গেলে আসে messageerror eventযেখানে শিখবেন: পর্ব ৪২
Message protocolমেসেজ প্রোটোকল
WebSocket-এর মতো একটি পাইপে কোন বার্তার আকার ও অর্থ কী, তার নিজের ঠিক করা নিয়ম — সাধারণত type, v (version), id আর ডেটাসহ একটি JSON খাম; দুই পক্ষকে একই নিয়ম মানতে হয়যেখানে শিখবেন: পর্ব ৫১
Meta-frameworkমেটা-ফ্রেমওয়ার্ক
একটি UI framework-এর ওপরে বানানো পূর্ণ অ্যাপ-কাঠামো, যা routing, data loading, build আর rendering-এর ধরন (SSR, SSG, CSR) এক জায়গায় দেয় — যেমন Next.js, Nuxt, SvelteKit, Astroযেখানে শিখবেন: পর্ব ৫৪
Metacharacterমেটাক্যারেক্টার
regex-এ বিশেষ অর্থের অক্ষর: . * + ? ^ $ { } ( ) [ ] | \ /; হুবহু অক্ষর হিসেবে খুঁজতে সামনে backslash দিয়ে escape করতে হয়, যেমন \.যেখানে শিখবেন: পর্ব ৩০
Metaprogrammingমেটাপ্রোগ্রামিং
এমন কোড লেখা, যা অন্য কোডের আচরণ দেখে বা বদলায় — যেমন object পড়া-লেখার নিয়ম বদলানো। JavaScript-এ এর প্রধান হাতিয়ার Symbol, Proxy আর Reflect (ES2015 থেকে), সাথে getter/setter আর Object.defineProperty.যেখানে শিখবেন: পর্ব ২৮
Methodমেথড
কোনো মান বা object-এর সাথে যুক্ত function, যা ডট দিয়ে ডাকা হয় — যেমন "dhaka".toUpperCase()যেখানে শিখবেন: পর্ব ০৯পর্ব ১৪
Method borrowingমেথড বরোয়িং
একটি object-এর method কপি না করে call বা apply দিয়ে আরেকটি object-এর ওপর চালানো, যেমন Array.prototype.slice.call(arguments). Method শুধু this দিয়ে ডেটা পড়লে এটি কাজ করে।যেখানে শিখবেন: পর্ব ২৪
Method chainingমেথড চেইনিং
একটি method-এর ফেরত মানের ওপর সরাসরি পরের method ডাকা, যেমন arr.filter(f).map(g). প্রতিটি ধাপ আগের ধাপের ফল নিয়ে কাজ করে।যেখানে শিখবেন: পর্ব ১৬
Method overridingমেথড ওভাররাইডিং
child class-এ parent-এর একই নামের method নতুন করে লেখা। Prototype chain-এ child-এরটি আগে পাওয়া যায়, তাই সেটিই চলে; parent-এরটি দরকার হলে super.method()যেখানে শিখবেন: পর্ব ২৬
Method shorthandমেথড শর্টহ্যান্ড
object literal-এ total: function () { }-এর বদলে total() { } লেখা। ES2015 থেকে আছে; সাধারণ function-এর মতোই নিজের this পায়, তাই method-এর জন্য এটিই সঠিক রূপ।যেখানে শিখবেন: পর্ব ১৪
Micro-optimizationমাইক্রো-অপটিমাইজেশন
কোডের খুব ছোট অংশে সামান্য গতি পাওয়ার কৌশল (যেমন forEach-এর বদলে for); মাপা প্রমাণ ছাড়া করলে সাধারণত চোখে পড়ার মতো লাভ নেই, পড়ার সুবিধা কমেযেখানে শিখবেন: পর্ব ৫৩
Microservicesমাইক্রোসার্ভিসেস
অ্যাপকে অনেক ছোট, আলাদাভাবে deploy করা সেবায় ভাগ করার স্থাপত্য, যারা নেটওয়ার্কে কথা বলে; বড় সংগঠনে দলগুলোকে স্বাধীন রাখে, কিন্তু নেটওয়ার্ক ও ডেটার জটিলতা বাড়ায়।যেখানে শিখবেন: পর্ব ৫৫
Microtaskমাইক্রোটাস্ক
অগ্রাধিকারের লাইনে থাকা ছোট কাজ — যেমন Promise-এর then/catch callback বা queueMicrotask; চলমান কোড শেষ হলেই, পরের task-এর আগে, সবগুলো চলেযেখানে শিখবেন: পর্ব ০৫পর্ব ৩১পর্ব ৩২
Microtask starvationমাইক্রোটাস্ক স্টারভেশন
Microtask যখন বারবার নতুন microtask যোগ করে আর queue কখনো খালি হয় না — ফলে কোনো task (ক্লিক, timer) বা পাতা আঁকা সুযোগ পায় না, পাতা জমে যায়যেখানে শিখবেন: পর্ব ৩১পর্ব ৫৬
Middlewareমিডলওয়্যার
(req, res, next) আকারের function, যা request আর handler-এর মাঝে বসে অনুরোধ পড়ে বা বদলায়, নিজে উত্তর দেয় অথবা next() ডেকে পরের জনকে দেয় — log, auth, body parse-এর মতো সাধারণ কাজের জন্যযেখানে শিখবেন: পর্ব ৫০পর্ব ৫৫পর্ব ৫৭
Minificationমিনিফিকেশন
কোডের আচরণ না বদলে ফাঁকা জায়গা, মন্তব্য মুছে আর নাম ছোট করে ফাইলের আকার কমানোযেখানে শিখবেন: পর্ব ৪৬পর্ব ৫৩
Mixinমিক্সিন
একাধিক class-এ একই আচরণ যোগ করার কৌশল, যেহেতু একটি class শুধু একটি parent extend করতে পারে। প্রচলিত রূপ: const M = (Base) => class extends Base { … }যেখানে শিখবেন: পর্ব ২৬
Mockমক
কীভাবে ডাকা উচিত তার প্রত্যাশাসহ একটি নকল; প্রত্যাশামতো ডাকা না হলে টেস্ট ফেল। দৈনন্দিন ভাষায় যেকোনো নকল function-কেই (vi.fn()) mock বলা হয়।যেখানে শিখবেন: পর্ব ৪৮
Module (ES module)মডিউল
নিজস্ব scope-ওয়ালা একটি JavaScript ফাইল, যা import/export দিয়ে অন্য ফাইলের সাথে কোড ভাগ করে। Browser-এ type="module" দিয়ে চালানো হয়, আর এটি সবসময় strict mode-এ চলে।যেখানে শিখবেন: পর্ব ০৪পর্ব ৩৪পর্ব ৪৫
Module graphমডিউল গ্রাফ
কোন module কোন module import করে তার সম্পূর্ণ মানচিত্র; ES module-এ কোনো কোড চালানোর আগেই শুরুর ফাইল থেকে import অনুসরণ করে এটি বানানো হয়, তারপর link আর evaluateযেখানে শিখবেন: পর্ব ৪৫
Module patternমডিউল প্যাটার্ন
ES module আসার আগের একটি নকশা: একটি IIFE-এর ভেতরে variable আর helper গোপন রেখে শুধু বাছাই করা method একটি object হিসেবে ফেরত দেওয়া; method-গুলো closure হিসেবে গোপন ডেটা দেখতে পায়।যেখানে শিখবেন: পর্ব ২২পর্ব ৪৫
Module scopeমডিউল স্কোপ
একটি ES module ফাইলের top level-এর scope. এখানে ঘোষিত নাম (var সহ) শুধু ওই ফাইলের ভেতরে দেখা যায়, export না করলে বাইরে যায় না, global object-এও বসে না।যেখানে শিখবেন: পর্ব ০৭পর্ব ৪৫
Module specifierমডিউল স্পেসিফায়ার
from-এর পরের string, যা বলে কোন module আনতে হবে, যেমন "./price.js", "/js/cart.js", একটি পূর্ণ URL বা "node:fs"; static import-এ এটি সরাসরি লেখা string হতে হয়যেখানে শিখবেন: পর্ব ৪৫
module.exportsমডিউল ডট এক্সপোর্টস
CommonJS ফাইলের রপ্তানির আসল object, যা require ফেরত দেয়; exports শুরুতে এরই আরেকটি নাম, তাই exports.x = ... চলে কিন্তু exports = {...} কোনো প্রভাব ফেলে নাযেখানে শিখবেন: পর্ব ৪৫
modulepreloadমডিউলপ্রিলোড
<link rel="modulepreload" href="..."> — ব্রাউজারকে একটি module আগেভাগে নামিয়ে parse করে রাখতে বলা, যাতে গভীর module graph ধাপে ধাপে আবিষ্কারের দেরি (জলপ্রপাত) কমেযেখানে শিখবেন: পর্ব ৪৫
MongoDBমংগোডিবি
জনপ্রিয় document ডেটাবেস — ডেটা থাকে collection-এর JSON-এর মতো document-এ (BSON). Node-এ official driver mongodb বা ODM Mongoose দিয়ে ব্যবহার হয়।যেখানে শিখবেন: পর্ব ৫২
Monkey patchingমাংকি প্যাচিং
চলার সময় অন্যের তৈরি object বা built-in prototype-এ (যেমন Array.prototype) method যোগ বা বদল করা; লাইব্রেরি আর ভবিষ্যৎ মানকের সাথে সংঘর্ষ ঘটায় বলে এড়ানো উচিতযেখানে শিখবেন: পর্ব ২৫
Monolithমনোলিথ
পুরো অ্যাপ একটি codebase আর একটি deploy করা একক হিসেবে — সাধারণত একটি ডেটাবেসসহ। ভেতরে পরিষ্কার module সীমানা থাকলে একে modular monolith বলে।যেখানে শিখবেন: পর্ব ৫৫
Monomorphicমনোমরফিক
যে function বা property-খোঁজার জায়গা সবসময় একই আকারের (একই hidden class) object পায়; engine এমন কোডকে সবচেয়ে ভালোভাবে optimize করতে পারেযেখানে শিখবেন: পর্ব ৫৩
MPA (Multi-Page Application)এমপিএ
ঐতিহ্যবাহী ওয়েবসাইটের ধরন, যেখানে প্রতিটি লিংকে ব্রাউজার সার্ভার থেকে সম্পূর্ণ নতুন HTML পাতা আনে; SPA-র বিপরীতযেখানে শিখবেন: পর্ব ৫৪
Multidimensional arrayমাল্টিডাইমেনশনাল অ্যারে
Array-র ভেতরে array — যেমন সারি আর কলামের আসন-নকশা বা matrix. JavaScript-এ আলাদা কোনো 2D টাইপ নেই; seats[r][c] লিখে আগে সারি, তারপর কলাম পড়া হয়।যেখানে শিখবেন: পর্ব ১৫
Mutationমিউটেশন
একটি object বা array-এর ভেতরের অবস্থা বদলানো (property বসানো, push, sort ইত্যাদি) — নতুন object না বানিয়ে। const বাঁধন mutation আটকায় না।যেখানে শিখবেন: পর্ব ০৭পর্ব ১৪পর্ব ১৫
MutationObserverমিউটেশন অবজার্ভার
একটি DOM node-এর child যোগ-বিয়োগ, attribute বা লেখা বদলালে পরিবর্তনগুলো MutationRecord হিসেবে জমিয়ে একটি microtask-এ একবারে callback-কে দেয়; পুরোনো synchronous Mutation Events-এর আধুনিক বিকল্পযেখানে শিখবেন: পর্ব ৪১পর্ব ৫৬
MVCC (Multi-Version Concurrency Control)এম-ভি-সি-সি
ডেটাবেস প্রতিটি বদলে সারির নতুন version লেখে আর প্রতিটি transaction-কে তার উপযুক্ত version দেখায়; ফলে পড়া আর লেখা একে অপরকে আটকায় না, আর rollback সহজ হয়। PostgreSQL এভাবে কাজ করে।যেখানে শিখবেন: পর্ব ৫২
MVP (minimum viable product)এম-ভি-পি
একটি পণ্যের সবচেয়ে ছোট সংস্করণ, যা তবু পুরোপুরি কাজ করে আর আসল ব্যবহারকারীকে দেওয়া যায়; বাড়তি বৈশিষ্ট্য পরের সংস্করণে আসে।যেখানে শিখবেন: পর্ব ২১পর্ব ৫৫

N

N+1 query problemএন প্লাস ওয়ান
একটি তালিকা আনতে ১টি query, তারপর তালিকার প্রতিটি সারির জন্য আরেকটি করে query — মোট N+1টি round-trip. সমাধান JOIN, IN/ANY দিয়ে batch বা ORM-এর eager loading.যেখানে শিখবেন: পর্ব ৫২
Named exportনেমড এক্সপোর্ট
নিজের নামে রপ্তানি করা জিনিস, যেমন export function addVat() {}; একটি module-এ অনেকগুলো থাকতে পারে, আর আমদানিকারী একই নামে বাঁকা বন্ধনীতে আনে: import { addVat } from "./price.js"যেখানে শিখবেন: পর্ব ৪৫
Named groupনেমড গ্রুপ
(?<name>…) লিখে নাম দেওয়া capturing group (ES2018); m.groups.name দিয়ে আর বদলিতে $<name> দিয়ে পাওয়া যায়, তাই নকশায় নতুন group যোগ হলেও কোড ভাঙে নাযেখানে শিখবেন: পর্ব ৩০পর্ব ৫০
Namespace importনেমস্পেস ইমপোর্ট
import * as cart from "./cart.js" — একটি module-এর সব named export একটি শুধু-পড়া module namespace object-এ একসাথে আনা, যার property হিসেবে export-গুলো পাওয়া যায়যেখানে শিখবেন: পর্ব ৪৫
NaN (Not-a-Number)ন্যান
অবৈধ সংখ্যার হিসাবের ফল, যেমন Number("abc"); এটি number type-এরই একটি মান, নিজের সাথেও সমান নয় (NaN === NaN মিথ্যা), তাই যাচাই করতে Number.isNaN ব্যবহার করুনযেখানে শিখবেন: পর্ব ০৬পর্ব ১০পর্ব ১১
Narrowingন্যারোয়িং
typeof, in, === বা instanceof-এর মতো সাধারণ শর্ত দেখে compiler-এর কোনো শাখায় একটি union টাইপকে ছোট (নির্দিষ্ট) টাইপে নামিয়ে আনা।যেখানে শিখবেন: পর্ব ৪৭
navigator.hardwareConcurrencyহার্ডওয়্যার কনকারেন্সি
ব্রাউজার যে সংখ্যা জানায় যন্ত্রে কয়টি logical CPU core আছে; worker pool-এর আকার ঠিক করতে ব্যবহার হয়, তবে গোপনীয়তার জন্য কিছু ব্রাউজার সংখ্যাটি কমিয়ে দেখায়যেখানে শিখবেন: পর্ব ৪২
NDJSON (JSON Lines)এন-ডি-জেসন
Newline-delimited JSON — প্রতিটি লাইনে একটি সম্পূর্ণ JSON মান; লাইন ধরে ধরে parse করা যায়, তাই log আর stream-এর জন্য সুবিধাজনকযেখানে শিখবেন: পর্ব ১৯
Negative markingনেগেটিভ মার্কিং
যে পরীক্ষায় ভুল উত্তরের জন্য নম্বর কাটা হয়; তখন না জেনে আন্দাজ করা লাভ না ক্ষতি, তা হিসাব করে ঠিক করতে হয়।যেখানে শিখবেন: পর্ব ৫৭
Negative zero (-0)নেগেটিভ জিরো
Sign বিট 1 এমন শূন্য; -0 === 0 সত্য, কিন্তু Object.is(-0, 0) মিথ্যা আর 1 / -0 দেয় -Infinityযেখানে শিখবেন: পর্ব ১০
Network error (fetch)নেটওয়ার্ক এরর
যখন কোনো HTTP উত্তরই পাওয়া যায় না — সংযোগ নেই, DNS ব্যর্থ, সার্ভার বন্ধ বা CORS-এ আটকে গেছে; fetch তখন TypeError দিয়ে reject করে (Edge/Chrome-এ Failed to fetch, Node-এ fetch failed)যেখানে শিখবেন: পর্ব ৩৫পর্ব ৪৪
Network throttlingনেটওয়ার্ক থ্রটলিং
DevTools-এ ইচ্ছা করে নেটওয়ার্ক ধীর করা (যেমন Slow 4G বা 3G), যাতে দুর্বল মোবাইল সংযোগে পাতা কেমন চলে তা নিজের কম্পিউটারে দেখা যায়যেখানে শিখবেন: পর্ব ৫৩
Network-firstনেটওয়ার্ক-ফার্স্ট
আগে network থেকে আনার চেষ্টা, সফল হলে একটি কপি cache-এ রাখা, ব্যর্থ হলে (অফলাইন) cache-এর কপি দেওয়া; খবর, API ডেটা আর HTML পাতার জন্য, সাধারণত একটি timeout-সহযেখানে শিখবেন: পর্ব ৪৪
Network-onlyনেটওয়ার্ক-অনলি
শুধু network থেকে উত্তর, cache-এ কিছুই রাখা বা পড়া হয় না; পেমেন্ট, লগইন, OTP-র মতো কাজের জন্য, যেখানে পুরোনো উত্তর বিপজ্জনকযেখানে শিখবেন: পর্ব ৪৪
neverনেভার
যে টাইপের কোনো মানই হতে পারে না। সবসময় throw করা function-এর ফেরত টাইপ, আর union-এর সব সম্ভাবনা বাদ যাওয়ার পর যা থাকে।যেখানে শিখবেন: পর্ব ৪৭
new bindingনিউ বাইন্ডিং
function-কে new দিয়ে ডাকলে this-এর নিয়ম: engine একটি নতুন object বানিয়ে this হিসেবে বসায়, আর function অন্য object ফেরত না দিলে সেটিই ফেরত দেয়। চার নিয়মের মধ্যে সবচেয়ে বেশি অগ্রাধিকার, bind-কেও হারায়।যেখানে শিখবেন: পর্ব ২৪
new operatorনিউ অপারেটর
new F(...) — একটি নতুন object তৈরি করে, তার prototype হিসেবে F.prototype বসায়, this = সেই object দিয়ে F চালায় আর object-টি ফেরত দেয়। Arrow function-কে new দিয়ে ডাকা যায় না।যেখানে শিখবেন: পর্ব ২৪পর্ব ২৫পর্ব ২৬
next()নেক্সট
Express-এর middleware-কে দেওয়া function, যা ডাকলে শিকলের পরের middleware চলে; next(err) ডাকলে মাঝের সাধারণ middleware বাদ দিয়ে সোজা error handler-এ যায়। না ডাকলে আর উত্তরও না দিলে অনুরোধ ঝুলে থাকেযেখানে শিখবেন: পর্ব ৫০
Node (DOM)নোড
DOM গাছের প্রতিটি বিন্দু — element, লেখা (text node), মন্তব্য বা document নিজেই; প্রতিটির একজন অভিভাবক আর শূন্য বা একাধিক সন্তান থাকে।যেখানে শিখবেন: পর্ব ০২পর্ব ৩৭
Node.jsনোড জেএস
V8 engine-এর ওপর তৈরি একটি JavaScript runtime, যা browser ছাড়াই কম্পিউটারে বা সার্ভারে JavaScript চালায় এবং ফাইল, নেটওয়ার্ক ও process-এর সুবিধা দেয়।যেখানে শিখবেন: পর্ব ০১পর্ব ০২পর্ব ০৩
NodeListনোডলিস্ট
DOM থেকে পাওয়া node-এর তালিকা, যেমন document.querySelectorAll('li')-এর ফল। এটি array নয়, তবে length, index আর forEach আছে এবং iterable; পুরো array-সুবিধা চাইলে Array.from.যেখানে শিখবেন: পর্ব ১৫পর্ব ২৭পর্ব ৩৭
nodeTypeনোড টাইপ
প্রতিটি DOM node-এর ধরন জানানো একটি সংখ্যা: element হলে 1, text হলে 3, comment হলে 8, document হলে 9, DocumentFragment হলে 11. Node.ELEMENT_NODE-এর মতো নামেও পাওয়া যায়।যেখানে শিখবেন: পর্ব ৩৭
Nominal typingনমিনাল টাইপিং
নাম আর স্পষ্ট ঘোষিত সম্পর্ক (extends, implements) দেখে টাইপ মেলানো; আকার একই হলেও নাম আলাদা হলে মেলে না। Java, C#, C++-এর class এই নিয়মে চলে।যেখানে শিখবেন: পর্ব ৪৭
Non-capturing groupনন-ক্যাপচারিং গ্রুপ
(?:…) — কয়েকটি জিনিসকে একক বানায় যাতে quantifier বা | পুরোটার ওপর খাটে, কিন্তু মিলের টুকরো মনে রাখে না আর group নম্বরও নেয় নাযেখানে শিখবেন: পর্ব ৩০
Non-null assertion (!)নন-নাল অ্যাসারশন
মানের পরে ! লিখে compiler-কে বলা “এটি null বা undefined নয়”. কোনো যাচাই হয় না; ভুল হলে চলার সময় TypeError.যেখানে শিখবেন: পর্ব ৪৭
Normalizationনরমালাইজেশন
একই তথ্য একাধিক জায়গায় না রেখে আলাদা টেবিলে ভাগ করে key দিয়ে জোড়ার নকশা-নিয়ম; এতে এক জায়গায় বদলালেই সবখানে ঠিক থাকে।যেখানে শিখবেন: পর্ব ৫২
NoSQLনো-এস-কিউ-এল
টেবিল আর SQL-এর বাইরের ডেটাবেসের সাধারণ নাম — document (MongoDB), key-value (Redis), wide-column, graph ইত্যাদি। অনেকগুলো বহু মেশিনে ছড়ানোর জন্য বানানো।যেখানে শিখবেন: পর্ব ৫২
Notifications APIনোটিফিকেশনস এপিআই
Notification.requestPermission() আর new Notification(title, options) দিয়ে অপারেটিং সিস্টেমের notification দেখানোর API; শুধু পাতা খোলা থাকলে কাজ করে, অবস্থার নাম granted, denied বা defaultযেখানে শিখবেন: পর্ব ৪১
novalidateনোভ্যালিডেট
<form>-এর attribute (JavaScript-এ form.noValidate), যা জমার সময় ব্রাউজারের নিজস্ব যাচাই আর বুদবুদ বন্ধ করে; শর্তগুলো তবুও validity-তে পড়া যায়। একটি বোতামের জন্য একই কাজ করে formnovalidateযেখানে শিখবেন: পর্ব ৩৯
npmএন-পি-এম
Node.js-এর সাথে আসা package manager; অন্যদের লেখা library (package) নামানো, project-এর dependency সামলানো আর script চালানোর কাজে লাগে।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ৪৬
npm auditএনপিএম অডিট
প্রকল্পের dependency-গুলোকে জানা নিরাপত্তা-ত্রুটির ডেটাবেসের সাথে মিলিয়ে রিপোর্ট দেওয়ার npm কমান্ডযেখানে শিখবেন: পর্ব ৪৩পর্ব ৪৬
npm ciএনপিএম সিআই
lockfile হুবহু মেনে পরিষ্কারভাবে ইনস্টল করার কমান্ড: node_modules মুছে নতুন করে বসায়, lockfile কখনো বদলায় না, আর package.json-এর সাথে গরমিল হলে থেমে যায়; CI আর deploy-এর জন্যযেখানে শিখবেন: পর্ব ৪৬
npm provenanceপ্রোভেন্যান্স
প্রকাশিত package-এর সাথে যাচাইযোগ্য প্রমাণ — কোন repository-র কোন commit থেকে কোন CI-তে তৈরি; npm publish --provenance বা trusted publishing দিয়ে যুক্ত হয়যেখানে শিখবেন: পর্ব ৪৬
npm registryএনপিএম রেজিস্ট্রি
registry.npmjs.org — JavaScript package-এর কেন্দ্রীয় ভান্ডার, যেখান থেকে npm, pnpm, yarn আর Bun package নামায়; যে কেউ account খুলে package প্রকাশ করতে পারেনযেখানে শিখবেন: পর্ব ৪৬
npm scriptsএনপিএম স্ক্রিপ্ট
package.json-এর scripts ঘরে রাখা নামযুক্ত কমান্ড, যা npm run নাম দিয়ে চলে; চলার সময় node_modules/.bin PATH-এ থাকে, আর pre/post নামের script আগে-পরে নিজে থেকে চলেযেখানে শিখবেন: পর্ব ৪৬
npxএনপিএক্স
npm-এর সাথে আসা কমান্ড, যা একটি package-এর টুল চালায় — আগে প্রজেক্টের node_modules/.bin-এ খোঁজে, না পেলে অনুমতি নিয়ে registry থেকে সাময়িকভাবে নামিয়ে চালায়যেখানে শিখবেন: পর্ব ৪৬
nullনাল
প্রোগ্রামারের ইচ্ছাকৃতভাবে বসানো “কোনো মান নেই” চিহ্ন; একটি primitive, যদিও typeof null ভুলভাবে "object" দেয়।যেখানে শিখবেন: পর্ব ০৬
Null-prototype objectনাল-প্রোটোটাইপ অবজেক্ট
Object.create(null) দিয়ে তৈরি object, যার কোনো prototype নেই — toString, constructor, __proto__ কিছুই inherited নয়; নিরাপদ dictionary হিসেবে কাজে লাগেযেখানে শিখবেন: পর্ব ২৫
Nullishনালিশ
null অথবা undefined — “কোনো মান নেই” বোঝানো এই দুটি মানের একসাথে নাম; ?? আর ?. শুধু এদের দেখেই থামে, 0 বা "" দেখে নয়যেখানে শিখবেন: পর্ব ০৮
Nullish coalescing (??)নালিশ কোয়ালেসিং
a ?? b — a যদি null বা undefined হয় তবেই b দেয়, নইলে a; || -এর মতো 0 বা ""-কে বাদ দেয় না। ES2020-এ যুক্তযেখানে শিখবেন: পর্ব ০৮পর্ব ১১পর্ব ৫৭
numberনাম্বার
JavaScript-এর সংখ্যার টাইপ; পূর্ণসংখ্যা আর ভগ্নাংশ দুটোই ৬৪-বিট floating-point হিসেবে রাখা হয়, সাথে Infinity আর NaN-এর মতো বিশেষ মান।যেখানে শিখবেন: পর্ব ০৬
number (type)নাম্বার টাইপ
JavaScript-এর সাধারণ সংখ্যার টাইপ; পূর্ণসংখ্যা আর দশমিক দুটোই একটি 64-bit IEEE 754 double হিসেবে থাকে, typeof দেয় "number"যেখানে শিখবেন: পর্ব ১০
Number.EPSILONনাম্বার ডট এপসাইলন
1 আর তার ঠিক পরের double-এর ব্যবধান, প্রায় 2.22e-16; দশমিক তুলনায় সহনসীমা ঠিক করতে কাজে লাগেযেখানে শিখবেন: পর্ব ১০
Numbering systemনাম্বারিং সিস্টেম
সংখ্যা লেখার অঙ্কের সেট — beng (০১২৩) বা latn (0123); Intl-এ numberingSystem option বা locale-এর -u-nu- অংশ দিয়ে বদলানো যায়।যেখানে শিখবেন: পর্ব ২০
Numeric separatorনিউমেরিক সেপারেটর
সংখ্যার literal-এর ভেতরে পড়ার সুবিধার জন্য লেখা _ চিহ্ন, যেমন 1_000_000; ES2021-এ যুক্ত, মানে কোনো প্রভাব নেইযেখানে শিখবেন: পর্ব ১০

O

Objectঅবজেক্ট
নাম-মানের জোড়ার (property) সংগ্রহ; primitive নয় এমন সব কিছু — array, function, Date — আসলে object. Variable-এ এর reference থাকে।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৪পর্ব ১৫
Object literalঅবজেক্ট লিটারাল
বাঁকা বন্ধনী { }-এর ভেতরে key: value লিখে সরাসরি object তৈরির পদ্ধতি, যেমন { id: 1, qty: 2 }. প্রতিবার চললে একটি নতুন object তৈরি হয়।যেখানে শিখবেন: পর্ব ১৪
Object storeঅবজেক্ট স্টোর
IndexedDB-র ভেতরের ডেটা রাখার পাত্র, SQL-এর টেবিলের মতো, তবে সারির বদলে পুরো JavaScript মান (structured clone) রাখে; প্রতিটি record-এর একটি অনন্য key থাকে। শুধু onupgradeneeded-এর ভেতরে বানানো বা মোছা যায়যেখানে শিখবেন: পর্ব ৪০
Object URL (URL.createObjectURL)অবজেক্ট ইউআরএল
মেমরিতে থাকা File বা Blob-এর জন্য ব্রাউজারের বানানো অস্থায়ী blob: ঠিকানা, যা img বা video-তে বসানো যায়; কাজ শেষে URL.revokeObjectURL() দিয়ে ছেড়ে দিতে হয়যেখানে শিখবেন: পর্ব ৩৯
Object.assign()অবজেক্ট ডট অ্যাসাইন
Object.assign(target, ...sources) — source-গুলোর নিজের enumerable property target-এ কপি করে target-টিই ফেরত দেয়; ES2015 থেকে আছে। এটি shallow, আর target-কে বদলায়।যেখানে শিখবেন: পর্ব ১৪
Object.createঅবজেক্ট ডট ক্রিয়েট
Object.create(proto) একটি নতুন খালি object বানায়, যার prototype হবে proto; constructor বা new ছাড়াই prototype ঠিক করার উপায় (ES5)যেখানে শিখবেন: পর্ব ২৫
Object.defineProperty()অবজেক্ট ডট ডিফাইন প্রপার্টি
descriptor দিয়ে একটি property তৈরি বা বদলানোর পদ্ধতি, ES5 থেকে আছে। এভাবে বানালে উল্লেখ না করা সুইচগুলো ডিফল্টে false হয়।যেখানে শিখবেন: পর্ব ১৪পর্ব ২৮
Object.entries()অবজেক্ট ডট এন্ট্রিজ
object-এর নিজের enumerable string key-গুলোকে [key, value] জোড়ার array-তে বদলায়; ES2017 থেকে আছে। এর উল্টো কাজ করে Object.fromEntries (ES2019 থেকে), আর সাথে আছে Object.keys ও Object.values.যেখানে শিখবেন: পর্ব ১৪
Object.freeze()অবজেক্ট ডট ফ্রিজ
একটি object-কে বদলের অযোগ্য করে: নতুন property যোগ, মোছা বা মান বদলানো যায় না (strict mode-এ চেষ্টা করলে TypeError). এটি shallow — ভেতরের object আলাদা করে freeze না করলে বদলানো যায়।যেখানে শিখবেন: পর্ব ০৭পর্ব ১৪পর্ব ২৩
Object.getPrototypeOfঅবজেক্ট ডট গেট-প্রোটোটাইপ-অফ
একটি object-এর [[Prototype]] (তার prototype object, বা null) পড়ার মানক উপায়; ES5 থেকে আছেযেখানে শিখবেন: পর্ব ২৫
Object.groupByঅবজেক্ট গ্রুপবাই
ES2024-এ যুক্ত function: একটি iterable আর একটি callback নিয়ে, callback-এর ফেরত দেওয়া key অনুযায়ী উপাদানগুলোকে দলে ভাগ করে null-prototype object-এ রাখে। Node.js 21 থেকে আছে।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৬
Object.hasOwn()অবজেক্ট ডট হ্যাজ-ওন
Object.hasOwn(obj, key) — key-টি obj-এর নিজের property কি না বলে। ES2022-এ যুক্ত; পুরোনো hasOwnProperty-র বদলি, prototype-হীন object-এও কাজ করে।যেখানে শিখবেন: পর্ব ১৪পর্ব ২১পর্ব ২৫
Object.isঅবজেক্ট ডট ইজ
ES2015-এর তুলনা-function, যা প্রায় === -এর মতো, শুধু Object.is(NaN, NaN) true আর Object.is(0, -0) false দেয়।যেখানে শিখবেন: পর্ব ০৬
Object.seal()অবজেক্ট ডট সিল
object-এ নতুন property যোগ আর মোছা বন্ধ করে, কিন্তু বিদ্যমান মান বদলানো যায়। যাচাই করা যায় Object.isSealed দিয়ে; freeze-এর মতো এটিও অগভীর।যেখানে শিখবেন: পর্ব ১৪
Object.setPrototypeOfঅবজেক্ট ডট সেট-প্রোটোটাইপ-অফ
বিদ্যমান object-এর prototype বদলায় (ES2015); কাজ করে, কিন্তু engine-এর optimization ভাঙে বলে খুব ধীর — prototype তৈরির সময়েই ঠিক করা ভালোযেখানে শিখবেন: পর্ব ২৫
Observabilityঅবজারভেবিলিটি
সিস্টেমের বাইরের সংকেত — log, metric, trace — দেখে ভেতরে কী ঘটছে বোঝার ক্ষমতা, এমনকি আগে না ভাবা প্রশ্নেরও উত্তর খোঁজা যায়।যেখানে শিখবেন: পর্ব ৫৫
Observer patternঅবজারভার প্যাটার্ন
একটি object (subject) নিজের পরিবর্তনের খবর একাধিক নির্ভরশীল object-কে (observer) দেয়, তাদের নির্দিষ্ট পরিচয় না জেনেই; ১৯৯৪ সালের Gang of Four বইয়ের নকশা। DOM event আর addEventListener এর সরাসরি রূপ।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৪১পর্ব ৫৪
Off-by-one errorঅফ-বাই-ওয়ান এরর
লুপ একবার বেশি বা একবার কম ঘোরার ভুল, সাধারণত < আর <= গুলিয়ে ফেলায়। JavaScript-এ এতে error না হয়ে প্রায়ই undefined বা NaN আসে।যেখানে শিখবেন: পর্ব ১২
Offline fallbackঅফলাইন ফলব্যাক
নেটওয়ার্ক নেই আর cache-এও চাওয়া পাতাটি নেই — এমন সময় দেখানোর জন্য আগে থেকে precache করা একটি পাতা (যেমন /offline.html), যা ব্যবহারকারীকে পরিষ্কার বার্তা আর ফেরার পথ দেয়যেখানে শিখবেন: পর্ব ৪৪
Offline-firstঅফলাইন-ফার্স্ট
এমন নকশা, যেখানে অ্যাপ সবসময় আগে স্থানীয় ডেটাবেসে লেখে আর সেখান থেকে পড়ে, আর সার্ভারের সাথে মেলায় পরে, সুযোগমতো; নেটওয়ার্ক না থাকাকে স্বাভাবিক অবস্থা ধরে নেয়যেখানে শিখবেন: পর্ব ৪৪
OffscreenCanvasঅফস্ক্রিন ক্যানভাস
DOM ছাড়া ব্যবহার করা যায় এমন canvas; transferControlToOffscreen() দিয়ে পাতার canvas-এর নিয়ন্ত্রণ Worker-এ পাঠালে Worker সরাসরি সেখানে আঁকতে পারেযেখানে শিখবেন: পর্ব ৪২
One-way data flowওয়ান-ওয়ে ডেটা ফ্লো
ডেটা শুধু এক দিকে বয় — মালিক component থেকে props হয়ে নিচে; নিচের component ডেটা বদলাতে চাইলে callback দিয়ে মালিককে জানায়। React এই নীতি জনপ্রিয় করে, যা two-way binding-এর জট এড়ায়যেখানে শিখবেন: পর্ব ৫৪
OpenAPI (Swagger)ওপেন-এপিআই
HTTP API-র endpoint, প্যারামিটার, body-র গঠন আর উত্তর বর্ণনার একটি মানসম্মত YAML/JSON ফরম্যাট (আগের নাম Swagger); এ থেকে চেষ্টা করে দেখার মতো ডক পাতা আর client কোড তৈরি করা যায়যেখানে শিখবেন: পর্ব ৫০
Operandঅপারেন্ড
যে মানের ওপর operator কাজ করে; 2 + 3-এ 2 আর 3 হলো operandযেখানে শিখবেন: পর্ব ০৮
Operational errorঅপারেশনাল এরর
কোড ঠিক থাকলেও বাইরের কারণে ঘটা ব্যর্থতা — নেটওয়ার্ক বন্ধ, সার্ভার ব্যস্ত, ভুল ইনপুট, ফাইল নেই; এগুলো আগে থেকে ভেবে সামলানো যায় ও উচিতযেখানে শিখবেন: পর্ব ২৯পর্ব ৩২পর্ব ৫৫
Operatorঅপারেটর
এক বা একাধিক মান নিয়ে নতুন একটি মান তৈরি করার চিহ্ন বা শব্দ — যেমন +, ===, &&, typeofযেখানে শিখবেন: পর্ব ০৮পর্ব ১৭
Operator precedenceঅপারেটর প্রিসিডেন্স
একাধিক operator থাকলে কোনটি আগে operand নেবে তার নিয়ম — যেমন * আগে +, && আগে ||; বন্ধনী দিয়ে নিয়ম বদলানো বা স্পষ্ট করা যায়যেখানে শিখবেন: পর্ব ০৮পর্ব ৫৬
Optimistic updateঅপটিমিস্টিক আপডেট
সার্ভারের উত্তরের অপেক্ষা না করে সফল হবে ধরে নিয়ে UI আগেই বদলে দেওয়া, আর request ব্যর্থ হলে আগের অবস্থায় ফিরিয়ে আনা (rollback) — যেমন লাইক বোতাম।যেখানে শিখবেন: পর্ব ৩৬
Optional catch bindingঅপশনাল ক্যাচ বাইন্ডিং
ES2019 থেকে error-এর মান দরকার না হলে catch (err)-এর বদলে শুধু catch { … } লেখা যায়যেখানে শিখবেন: পর্ব ২৯
Optional chaining (?.)অপশনাল চেইনিং
a?.b — a যদি null বা undefined হয়, error না দিয়ে পুরো expression-এর মান undefined হয়; গভীর object নিরাপদে পড়তে কাজে লাগে। ES2020-এ যুক্তযেখানে শিখবেন: পর্ব ০৮পর্ব ১১পর্ব ১৪
Options objectঅপশনস অবজেক্ট
অনেকগুলো ঐচ্ছিক argument আলাদা আলাদা না পাঠিয়ে নামসহ একটি object-এ পাঠানোর ধাঁচ, যেমন createOrder({ qty: 2, express: true }). Parameter-এ destructuring আর default দিয়ে নেওয়া হয়; সব ঐচ্ছিক হলে শেষে = {} দিতে হয়।যেখানে শিখবেন: পর্ব ১৭
Originঅরিজিন
একটি ওয়েব ঠিকানার protocol, host আর port — এই তিনটির মিলিত রূপ — যেমন https://shop.example.com; তিনটির একটিও আলাদা হলে origin আলাদা, আর ব্রাউজারের নিরাপত্তা-নিয়ম এর ভিত্তিতেই চলেযেখানে শিখবেন: পর্ব ৩৫পর্ব ৪০পর্ব ৪২
ORM (Object-Relational Mapper)ও-আর-এম
যে library ডেটাবেসের টেবিলকে class বা model হিসেবে দেখায় আর আপনার হয়ে SQL লেখে; যেমন Prisma, Sequelize, TypeORM. সুবিধা দেয়, কিন্তু তৈরি SQL বোঝার দায় থেকে যায়।যেখানে শিখবেন: পর্ব ৫২
os moduleওএস মডিউল
যে যন্ত্রে প্রোগ্রাম চলছে তার তথ্য দেওয়া Node.js core module — platform, CPU-র সংখ্যা (availableParallelism), মেমরি, home ও temp ফোল্ডার, লাইন-শেষের চিহ্ন (EOL)যেখানে শিখবেন: পর্ব ৪৯
Output encodingআউটপুট এনকোডিং
ডেটা যে প্রসঙ্গে বসবে (HTML লেখা, attribute, URL, JavaScript, CSS) সেই প্রসঙ্গের বিশেষ অক্ষরগুলো নিরীহ রূপে বদলে দেওয়া — যেমন HTML-এ < হয়ে যায় &lt;যেখানে শিখবেন: পর্ব ৪৩পর্ব ৫১
OWASP Top 10ওওয়াস্প টপ টেন
OWASP নামের অলাভজনক সংগঠনের কয়েক বছর পরপর প্রকাশিত ওয়েব অ্যাপের সবচেয়ে গুরুত্বপূর্ণ দশটি ঝুঁকির তালিকা — নিরাপত্তা আলোচনার প্রচলিত সাধারণ ভাষাযেখানে শিখবেন: পর্ব ৪৩পর্ব ৫০
Own propertyওন প্রপার্টি
object-এর নিজের ভেতরে থাকা property, prototype থেকে পাওয়া নয়। Object.hasOwn, Object.keys আর spread শুধু own property দেখে।যেখানে শিখবেন: পর্ব ১৪পর্ব ২৫পর্ব ২৬

P

Packageপ্যাকেজ
একটি package.json-সহ কোডের বান্ডিল, যা registry-তে প্রকাশ করা হয় আর অন্য প্রজেক্ট নামিয়ে ব্যবহার করে — যেমন dayjs বা viteযেখানে শিখবেন: পর্ব ৪৬
Package managerপ্যাকেজ ম্যানেজার
registry থেকে package নামানো, version-এর সীমা মিলিয়ে নির্দিষ্ট version বাছা, lockfile লেখা আর ফোল্ডারে সাজানোর টুল — যেমন npm, pnpm, yarn, Bunযেখানে শিখবেন: পর্ব ৪৬
package.jsonপ্যাকেজ ডট জেসন
প্রতিটি npm প্রজেক্টের মূল ফোল্ডারের পরিচয়পত্র: নাম, version, type, scripts, আর dependency-গুলোর নাম ও version-সীমাযেখানে শিখবেন: পর্ব ৪৬
Paginationপেজিনেশন
বড় তালিকা একবারে না পাঠিয়ে পাতায় পাতায় পাঠানো, যেমন ?page=2&limit=10; সাথে মোট সংখ্যা ও পাতার তথ্য দেওয়া হয়, আর limit-এ একটি উপরের সীমা রাখা জরুরিযেখানে শিখবেন: পর্ব ৫০
Paintপেইন্ট
রেন্ডারিংয়ের যে ধাপে বাক্সগুলোর রং, লেখা, border, ছবি আসলে পিক্সেলে আঁকা হয়।যেখানে শিখবেন: পর্ব ০২পর্ব ৩৭
Pair programmingপেয়ার প্রোগ্রামিং
দুজন মিলে একটি কোডে কাজ করার পদ্ধতি — একজন লেখেন (driver), অন্যজন পাশে বসে রিভিউ করেন ও ভুল ধরেন (navigator ভূমিকা)। AI-কে navigator হিসেবেও ব্যবহার করা যায়।যেখানে শিখবেন: পর্ব ২১
Parallelismপ্যারালেলিজম
সত্যিই একই মুহূর্তে একাধিক কাজ চলা — আলাদা thread বা CPU core-এ; JavaScript-এ Web Worker বা Node.js-এর worker_threads দিয়ে পাওয়া যায়যেখানে শিখবেন: পর্ব ৩১পর্ব ৪২
Parameterপ্যারামিটার
function লেখার সময় বন্ধনীর ভেতরে দেওয়া নাম, যেমন function addVat(amount, rate)-এ amount আর rate. ডাকার সময় পাঠানো argument এই নামগুলোতে অবস্থান অনুযায়ী বসে।যেখানে শিখবেন: পর্ব ১৩
Parameter tamperingপ্যারামিটার ট্যাম্পারিং
client থেকে পাঠানো মান (hidden ঘরের দাম, পরিমাণ, id, ভূমিকা) বদলে server-কে ঠকানোর চেষ্টা; ঠেকানোর উপায় হলো এসব তথ্য server নিজের উৎস থেকে নেওয়া আর প্রতিটি field যাচাই করাযেখানে শিখবেন: পর্ব ৩৯পর্ব ৫০পর্ব ৫৫
Parameterized query (prepared statement)প্যারামিটারাইজড কোয়েরি
যে query-তে SQL-এর লেখায় শুধু placeholder ($1, ?) থাকে আর মানগুলো আলাদাভাবে পাঠানো হয়; ডেটাবেস মানকে কখনো SQL হিসেবে parse করে না।যেখানে শিখবেন: পর্ব ৫২পর্ব ৫৫পর্ব ৫৮
Parserপার্সার
Engine-এর যে অংশ token-গুলো ব্যাকরণ মেনে সাজিয়ে AST বানায়; ব্যাকরণ ভুল হলে এখানেই SyntaxError হয়যেখানে শিখবেন: পর্ব ০২পর্ব ০৪পর্ব ০৫
Partial applicationপার্শিয়াল অ্যাপ্লিকেশন
একটি function-এর কিছু argument আগেই বসিয়ে কম argument নেওয়া নতুন function বানানো, যেমন add.bind(null, 15) বা (x) => add(15, x).যেখানে শিখবেন: পর্ব ২৩পর্ব ২৪
Pass by sharingপাস বাই শেয়ারিং
JavaScript-এ object argument পাঠালে reference-টির কপি যায়, object-এর নয়। তাই function ভেতরের property বদলালে কলকারীও দেখে, কিন্তু parameter-কে নতুন object-এ সরালে বাইরে প্রভাব পড়ে না।যেখানে শিখবেন: পর্ব ১৪পর্ব ৫৮
Password hashingপাসওয়ার্ড হ্যাশিং
পাসওয়ার্ড সরাসরি না রেখে ইচ্ছা করে ধীর, salt-যুক্ত একমুখী function (Argon2id, bcrypt, scrypt) দিয়ে বদলে রাখা; লগইনে একই হিসাব করে মেলানো হয়, আর ডেটাবেস ফাঁস হলেও আসল পাসওয়ার্ড বের করা খুব ব্যয়বহুলযেখানে শিখবেন: পর্ব ৫০পর্ব ৫৫
PATHপাথ
একটি environment variable, যাতে কয়েকটি ফোল্ডারের তালিকা থাকে; terminal-এ node লিখলে OS এই তালিকা ধরে প্রোগ্রামটি খোঁজে।যেখানে শিখবেন: পর্ব ০৩
Path separatorপাথ সেপারেটর
পথের ফোল্ডারগুলোর মাঝের চিহ্ন: Windows-এ \, Linux ও macOS-এ /. Node.js-এ path.join চলমান OS অনুযায়ী ঠিক চিহ্ন বসায়, আর path.sep সেটি জানায়যেখানে শিখবেন: পর্ব ৪৯
Pattern matchingপ্যাটার্ন ম্যাচিং
একটি মানকে তার আকারের (structure) সাথে মিলিয়ে ভেতরের অংশগুলোকে নাম দেওয়া, আর আকার না মিললে অন্য শাখায় যাওয়ার কৌশল। ML ও Haskell থেকে আসা; JavaScript-এর destructuring এর প্রথম অর্ধেক।যেখানে শিখবেন: পর্ব ১৭
Pause on exceptionsপজ অন এক্সেপশনস
DevTools-এর Sources প্যানেলের একটি option; exception ছোড়ার ঠিক মুহূর্তে debugger কোড থামিয়ে দেয়, তখন সব variable আর call stack দেখা যায়যেখানে শিখবেন: পর্ব ২৯
peerDependenciesপিয়ার ডিপেনডেন্সি
একটি library বা plugin যে package নিজে আনে না, বরং আশা করে ব্যবহারকারীর প্রজেক্টে থাকবে — যেমন React component library-র react; এতে একই package-এর দুটি কপি হয় নাযেখানে শিখবেন: পর্ব ৪৬
Per-iteration bindingপার-ইটারেশন বাইন্ডিং
for (let …) লুপে প্রতিটি পুনরাবৃত্তির জন্য loop variable-এর নতুন একটি binding তৈরি হওয়া (spec-এর CreatePerIterationEnvironment ধাপ); আগের মান কপি করে তারপর বাড়ানো হয়, তাই প্রতিটি callback নিজের মান মনে রাখে।যেখানে শিখবেন: পর্ব ২২পর্ব ৫৬পর্ব ৫৭
Percent-encodingপার্সেন্ট এনকোডিং
URL-এ বিশেষ অক্ষর বা non-ASCII লেখা পাঠানোর নিয়ম — প্রতিটি byte লেখা হয় %XX আকারে; যেমন & হয় %26, আর “চা” হয় %E0%A6%9A%E0%A6%BEযেখানে শিখবেন: পর্ব ৩৫
Performance budgetপারফরম্যান্স বাজেট
আগে থেকে ঠিক করা সীমা, যেমন শুরুর JavaScript সর্বোচ্চ কত KB বা LCP সর্বোচ্চ কত; CI প্রতিটি পরিবর্তনে যাচাই করে আর সীমা ছাড়ালে build ব্যর্থ করেযেখানে শিখবেন: পর্ব ৫৩
PerformanceObserverপারফরম্যান্স অবজার্ভার
পাতার পারফরম্যান্স-ঘটনা — long task, LCP, layout shift, resource-এর সময় — ঘটার সাথে সাথে callback-এ জানানোর observer; Core Web Vitals মাপার লাইব্রেরি এর ওপর তৈরিযেখানে শিখবেন: পর্ব ৪১পর্ব ৫৩
Permission promptপারমিশন প্রম্পট
ব্রাউজারের নিজের দেখানো বাক্স, যেমন “এই সাইট আপনার অবস্থান জানতে চায়” আর Allow ও Block বোতাম; পাতা এর লেখা বা নকশা বদলাতে পারে না, আর Block সাধারণত মনে রাখা হয়যেখানে শিখবেন: পর্ব ৪১
Permissions APIপারমিশনস এপিআই
navigator.permissions.query({ name }) দিয়ে কোনো ক্ষমতার অনুমতির অবস্থা জানার API — granted, denied বা prompt; নিজে কখনো prompt দেখায় না, শুধু অবস্থা পড়েযেখানে শিখবেন: পর্ব ৪১
Permissions Policyপারমিশনস পলিসি
HTTP header বা iframe-এর allow attribute দিয়ে ঠিক করা নিয়ম — কোন পাতা বা কোন iframe কোন শক্তিশালী API (ক্যামেরা, অবস্থান, fullscreen…) ব্যবহার করতে পারবে; নিষেধ থাকলে prompt-ই আসে না, সাথে সাথে ব্যর্থযেখানে শিখবেন: পর্ব ৪১
Persistent data structureপারসিস্টেন্ট ডেটা স্ট্রাকচার
এমন ডেটা কাঠামো, যার প্রতিটি পুরোনো সংস্করণ বদলের পরও অক্ষত ও ব্যবহারযোগ্য থাকে; structural sharing-এর কারণে নতুন সংস্করণ বানানো সস্তা। এখানে persistent মানে ডিস্কে সেভ করা নয়।যেখানে শিখবেন: পর্ব ২১পর্ব ২৩
Persistent storageপারসিস্টেন্ট স্টোরেজ
যে storage ডিস্কের জায়গা কমলেও ব্রাউজার নিজে থেকে মোছে না, শুধু ব্যবহারকারী মুছতে পারেন; navigator.storage.persist() দিয়ে অনুরোধ করা হয়, আর ব্রাউজার সাইটের ব্যবহার দেখে রাজি হয় বা হয় না। ডিফল্ট হলো best-effortযেখানে শিখবেন: পর্ব ৪০
Phantom dependencyফ্যান্টম ডিপেনডেন্সি
package.json-এ না লেখা অথচ সমতল node_modules-এ থাকায় import করা যায় এমন package; যে package সেটি এনেছিল সে বাদ দিলে আপনার কোড হঠাৎ ভাঙে। pnpm-এর কঠোর গঠন এটি আটকায়যেখানে শিখবেন: পর্ব ৪৬
pipe()পাইপ
একটি helper, যা কয়েকটি function নিয়ে বাঁ থেকে ডানে একের পর এক চালানোর একটি নতুন function ফেরত দেয়: pipe(f, g)(x) মানে g(f(x)). সাধারণত reduce দিয়ে লেখা; compose একই কাজ ডান থেকে বাঁয়ে করে।যেখানে শিখবেন: পর্ব ২৩
pipeline (stream/promises)পাইপলাইন
কয়েকটি stream জোড়া দেওয়ার Node.js function: backpressure সামলায়, যেকোনো একটিতে error হলে সবগুলো destroy করে, আর একটি Promise ফেরত দেয়। পুরোনো .pipe()-এর নিরাপদ বিকল্পযেখানে শিখবেন: পর্ব ৪৯
Pipeline operator (|>)পাইপলাইন অপারেটর
TC39-এর একটি প্রস্তাব (Hack-style, Stage 2), যাতে x |> f(%) লিখে বাঁ থেকে ডানে function চালানো যাবে। এখনো মানদণ্ডের অংশ নয়, কোনো ব্রাউজার বা Node.js-এ সরাসরি চলে না।যেখানে শিখবেন: পর্ব ২৩
Playground (online)প্লেগ্রাউন্ড
Browser-এ খোলা অনলাইন কোড-লেখার জায়গা — যেমন CodePen, JSFiddle, StackBlitz — যেখানে কিছু ইনস্টল না করেই কোড চালিয়ে দেখা ও শেয়ার করা যায়।যেখানে শিখবেন: পর্ব ০৩
Playwrightপ্লেরাইট
Microsoft-এর open-source (২০২০) end-to-end টেস্টিং টুল; একই কোডে Chromium, Firefox আর WebKit চালায়, auto-waiting, locator, codegen আর trace viewer ভেতরেই।যেখানে শিখবেন: পর্ব ৪৮পর্ব ৫৫
pnpmপিএনপিএম
একটি package manager, যা সব package যন্ত্রের একটি content-addressable store-এ একবার রাখে আর প্রজেক্টে link দেয়; ডিস্ক বাঁচায় আর package.json-এ না লেখা package import করতে দেয় নাযেখানে শিখবেন: পর্ব ৪৬
Point-free styleপয়েন্ট-ফ্রি স্টাইল
Argument-এর নাম না লিখে শুধু function জুড়ে নতুন function বানানোর লেখার ধরন, যেমন pipe(applyDiscount, addVat). ছোট, ভালো নামের ধাপে পাঠযোগ্য; বাড়াবাড়ি করলে ধাঁধা হয়ে যায়।যেখানে শিখবেন: পর্ব ২৩
Pointer eventsপয়েন্টার ইভেন্টস
মাউস, আঙুল (touch) আর stylus — তিনটিকে এক API-তে আনা event পরিবার: pointerdown, pointermove, pointerup ইত্যাদি, সাথে pointerType, pressure-এর মতো তথ্য; Microsoft-এর প্রস্তাব থেকে ২০১৫ সালে W3C মানদণ্ড।যেখানে শিখবেন: পর্ব ৩৮
Pollingপোলিং
নির্দিষ্ট সময় পরপর বারবার জিজ্ঞেস করা “নতুন কিছু আছে?” — সার্ভারকে (fetch দিয়ে) বা পাতার অবস্থাকে (setInterval দিয়ে মাপ পড়ে); সরল, কিন্তু বেশিরভাগ উত্তর খালি আর খবর আসে দেরিতে।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৪১পর্ব ৫১
Polyfillপলিফিল
নতুন ভাষা-বৈশিষ্ট্য বা Web API যে পুরোনো environment-এ নেই, সেখানে একই আচরণ পুরোনো JavaScript দিয়ে লিখে যোগ করার কোড — যেমন ES5-এর আগের ব্রাউজারের জন্য নিজে লেখা bind.যেখানে শিখবেন: পর্ব ২৪পর্ব ২৫পর্ব ৪১
Polymorphismপলিমরফিজম
একই ডাক (যেমন shape.area()) ভিন্ন ভিন্ন object-এ তাদের নিজের নিয়মে চলা। JavaScript-এ inheritance ছাড়াও, শুধু একই নামের method থাকলেই এটি সম্ভব — একে বলে duck typingযেখানে শিখবেন: পর্ব ২৬
PostgreSQLপোস্টগ্রেস-কিউ-এল / পোস্টগ্রেস
শক্তিশালী open-source relational ডেটাবেস — কড়া transaction, JSONB, নানা ধরনের index আর extension-এর জন্য পরিচিত। Node-এ সাধারণত pg driver দিয়ে।যেখানে শিখবেন: পর্ব ৫২পর্ব ৫৫
postMessage()পোস্ট-মেসেজ
অন্য thread বা জানালায় বার্তা পাঠানোর method; ডেটা structured clone দিয়ে কপি হয়, আর দ্বিতীয় argument-এ দেওয়া ArrayBuffer-গুলো কপি না হয়ে transfer হয়যেখানে শিখবেন: পর্ব ৪২
Pre-release versionপ্রি-রিলিজ
হাইফেন দিয়ে চিহ্নিত পরীক্ষামূলক version, যেমন 2.0.0-beta.1; ক্রমে 2.0.0-এর আগে, আর সীমায় নিজে pre-release না লিখলে npm এটি বেছে নেয় নাযেখানে শিখবেন: পর্ব ৪৬
Precacheপ্রিক্যাশ
service worker-এর install ধাপে দরকারি ফাইলগুলো আগে থেকে Cache API-তে জমিয়ে রাখা, সাধারণত cache.addAll() দিয়ে; একটি ফাইলও না এলে পুরো install ব্যর্থ হয়যেখানে শিখবেন: পর্ব ৪৪
Predicateপ্রেডিকেট
যে function একটি উপাদান দেখে হ্যাঁ বা না (truthy বা falsy) উত্তর দেয়, যেমন (p) => p.stock > 0. filter, find, some, every এমন function নেয়।যেখানে শিখবেন: পর্ব ১৫পর্ব ১৬
Preflight requestপ্রিফ্লাইট রিকোয়েস্ট
আসল cross-origin অনুরোধের আগে ব্রাউজারের পাঠানো একটি OPTIONS অনুরোধ, যাতে সার্ভার Access-Control-Allow-* header দিয়ে জানায় method আর header অনুমোদিত কি নাযেখানে শিখবেন: পর্ব ৪৩পর্ব ৫৮
Presenceপ্রেজেন্স
এই মুহূর্তে কে অনলাইন বা কে একটি room-এ আছেন, তার তালিকা ও খবর — “কে এখন অনলাইন”, “টাইপ করছেন”; মৃত সংযোগ সরাতে heartbeat লাগে, নইলে তালিকায় ভুল মানুষ থাকেযেখানে শিখবেন: পর্ব ৫১
Prettierপ্রিটিয়ার
কোডের ফরম্যাট (indent, quote, লাইনের দৈর্ঘ্য) নিজে থেকে এক রকম করে দেওয়ার টুল, যাতে টিমের সবার কোড একই রকম দেখায়।যেখানে শিখবেন: পর্ব ০৩পর্ব ৪৬পর্ব ৫৫
preventDefaultপ্রিভেন্ট-ডিফল্ট
event object-এর method, যা ব্রাউজারের নিজস্ব ডিফল্ট কাজ থামায় — যেমন ফর্ম জমা দিলে পাতা reload হওয়া বা লিংকে চাপলে অন্য পাতায় যাওয়া।যেখানে শিখবেন: পর্ব ২১পর্ব ৩৮পর্ব ৩৯
Primary keyপ্রাইমারি কি
টেবিলের প্রতিটি সারির অনন্য পরিচয়-কলাম (বা কলামের জোড়া); কখনো NULL বা ডুপ্লিকেট হয় না। ডেটাবেস নিজে থেকে এতে index বানায়।যেখানে শিখবেন: পর্ব ৫২
Primitiveপ্রিমিটিভ
JavaScript-এর ৭টি মৌলিক টাইপের মান — string, number, bigint, boolean, undefined, null, symbol. এরা অপরিবর্তনীয়, আর কপি করলে মানটাই কপি হয়।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৪পর্ব ২৫
Principle of least privilegeলিস্ট প্রিভিলেজ
প্রতিটি ব্যবহারকারী বা প্রোগ্রামকে শুধু তার কাজের জন্য ন্যূনতম অনুমতি দেওয়ার নিরাপত্তা-নীতি; যেমন অ্যাপের ডেটাবেস ব্যবহারকারী টেবিল মুছতে পারবে না।যেখানে শিখবেন: পর্ব ৫২
Prismaপ্রিজমা
Node আর TypeScript-এর জনপ্রিয় ORM — schema.prisma ফাইল থেকে টাইপসহ client তৈরি করে, আর Prisma Migrate দিয়ে migration সামলায়।যেখানে শিখবেন: পর্ব ৫২
Private field (#)প্রাইভেট ফিল্ড
নামের আগে # দেওয়া field বা method (ES2022), যা শুধু সেই class-এর body-র কোড ছুঁতে পারে। বাইরে লিখলে parse-এর সময়েই SyntaxError; Object.keys বা JSON-এ কখনো আসে না।যেখানে শিখবেন: পর্ব ২৬পর্ব ৩৮পর্ব ৪৭
PRNG (pseudo-random number generator)পি-আর-এন-জি
সূত্র দিয়ে random-এর মতো দেখতে সংখ্যা বানানোর পদ্ধতি; Math.random এমন একটি, তাই খেলায় চলে কিন্তু নিরাপত্তার কাজে নয়যেখানে শিখবেন: পর্ব ১০
Processপ্রসেস
চলমান একটি প্রোগ্রামের OS-স্বীকৃত রূপ, যার নিজস্ব মেমরি ও exit code থাকে। Node.js-এ process নামের global object এই চলমান প্রোগ্রামের তথ্য দেয়।যেখানে শিখবেন: পর্ব ০৩পর্ব ৪৯পর্ব ৫৮
Process manager (যেমন PM2)প্রসেস ম্যানেজার
একটি টুল যা সার্ভারে Node.js process চালু রাখে — crash হলে আবার চালায়, সার্ভার reboot-এর পর চালু করে, log জমায়; PM2 একটি পরিচিত উদাহরণ।যেখানে শিখবেন: পর্ব ৫৫
process.argvপ্রসেস আর্গভি
কমান্ড লাইনের শব্দগুলোর array: প্রথমটি node-এর পথ, দ্বিতীয়টি script-এর পথ, আর ব্যবহারকারীর দেওয়া argument শুরু হয় argv[2] থেকে। সব মান stringযেখানে শিখবেন: পর্ব ৪৯
process.nextTick()প্রসেস নেক্সট টিক
Node.js-এর function, যা callback-কে চলমান কাজ শেষ হওয়ার ঠিক পরে চালায় — Promise microtask-এরও আগে; বারবার ব্যবহার করলে I/O আটকে যেতে পারে, তাই বেশিরভাগ ক্ষেত্রে queueMicrotask ভালোযেখানে শিখবেন: পর্ব ৩১পর্ব ৩২পর্ব ৫৬
Profilingপ্রোফাইলিং
প্রোগ্রাম চলার সময় কোন function কত সময় বা কত মেমরি নিচ্ছে তা টুল দিয়ে মেপে দেখা, যাতে অনুমান ছাড়া আসল বাধা (bottleneck) খুঁজে পাওয়া যায়যেখানে শিখবেন: পর্ব ৫৩
Programmer errorপ্রোগ্রামার এরর
কোডের নিজের বাগ — undefined-এর property পড়া, ভুল টাইপের argument পাঠানো; এগুলো চলার সময় সামলানোর বদলে কোড ঠিক করেই দূর করতে হয়যেখানে শিখবেন: পর্ব ২৯
Progressive enhancementপ্রোগ্রেসিভ এনহ্যান্সমেন্ট
আগে সবার জন্য কাজ করা HTML ভিত্তি, তার ওপর CSS, সবশেষে JavaScript দিয়ে অভিজ্ঞতা ভালো করার নীতি — JavaScript ব্যর্থ হলেও মূল কাজ চলে।যেখানে শিখবেন: পর্ব ০২পর্ব ২১পর্ব ৩৯
Promiseপ্রমিস
ভবিষ্যতে আসবে এমন একটি ফলের প্রতিনিধি object (ES2015); শুরুতে অপেক্ষমাণ (pending) থাকে, পরে একটি মান দিয়ে পূর্ণ (fulfilled) বা একটি কারণ দিয়ে ব্যর্থ (rejected) হয়, আর then বা await দিয়ে ফল নেওয়া হয়যেখানে শিখবেন: পর্ব ২৭পর্ব ২৯পর্ব ৩৩
Promise chainingপ্রমিস চেইনিং
.then() প্রতিবার একটি নতুন promise ফেরত দেয়, তাই a().then(b).then(c) লিখে একটির পর একটি async কাজ চ্যাপ্টা শিকলে সাজানো যায়; handler-এর ফেরত মান বা ছোড়া error পরের ধাপে যায়যেখানে শিখবেন: পর্ব ৩৩
Promise combinatorপ্রমিস কম্বিনেটর
অনেকগুলো promise নিয়ে একটি নতুন promise বানানোর static method — Promise.all, Promise.allSettled, Promise.race আর Promise.any; প্রত্যেকটির “কখন শেষ” আর “কী ফল” নিয়ম আলাদাযেখানে শিখবেন: পর্ব ৩৩পর্ব ৫৭
Promise.allপ্রমিস ডট অল
সব promise সফল হলে তাদের মানের array (মূল ক্রমে) দিয়ে fulfilled হয়; কোনো একটি ব্যর্থ হওয়ামাত্র সেই কারণ দিয়ে rejected হয় (fail-fast). ES2015 থেকে আছেযেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৪পর্ব ৫৮
Promise.allSettledপ্রমিস ডট অল সেটলড
সব promise settled হওয়া পর্যন্ত অপেক্ষা করে, তারপর প্রতিটির জন্য { status, value } বা { status, reason } object-এর array দেয়; নিজে কখনো rejected হয় না। ES2020-এ যুক্তযেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৪পর্ব ৫৮
Promise.anyপ্রমিস ডট এনি
প্রথম যে promise সফল হয় তার মান নেয়, ব্যর্থগুলো উপেক্ষা করে; সবগুলো ব্যর্থ হলে AggregateError দিয়ে rejected হয়। ES2021-এ যুক্তযেখানে শিখবেন: পর্ব ৩৩পর্ব ৫৮
Promise.raceপ্রমিস ডট রেস
যে promise সবার আগে settled হয় — সফল বা ব্যর্থ — তার ফলই নেয়; timeout বানাতে প্রায়ই ব্যবহার হয়। বাকি কাজগুলো বাতিল হয় না, শুধু তাদের ফল উপেক্ষিত হয়যেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৪পর্ব ৩৬
Promise.withResolversপ্রমিস ডট উইথ রিজলভারস
একটি নতুন promise আর তার resolve ও reject function একসাথে { promise, resolve, reject } হিসেবে দেয়, যাতে executor-এর বাইরে থেকে promise শেষ করা যায়। ES2024-এ যুক্ত; Node.js 22 থেকে আছেযেখানে শিখবেন: পর্ব ৩৩
Promises/A+প্রমিসেস এ প্লাস
২০১২ সালে JavaScript সম্প্রদায়ের লেখা খোলা স্পেসিফিকেশন, যা then-এর আচরণ নিখুঁতভাবে ঠিক করে দেয় এবং একটি টেস্ট-স্যুট দিয়ে যাচাই করা যায়; ES2015-এর Promise এর সাথে সামঞ্জস্যপূর্ণযেখানে শিখবেন: পর্ব ৩৩
Promisifyপ্রমিসিফাই
callback-ধাঁচের function-কে promise ফেরত দেওয়া function-এ রূপান্তর করা; Node.js-এ util.promisify শেষ argument-এ (err, value) callback নেওয়া function-কে এভাবে মুড়ে দেয়যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৩পর্ব ৪৯
Propertyপ্রপার্টি
object-এর ভেতরের একটি key → value জোড়া, যেমন { name: "Riya" }-এ name হলো key আর "Riya" তার মান। Key সবসময় string বা Symbol; মান যেকোনো টাইপ হতে পারে।যেখানে শিখবেন: পর্ব ১৪
Property descriptorপ্রপার্টি ডেসক্রিপ্টর
একটি property-র বিবরণ: value (বা get/set) আর তিনটি সুইচ — writable (বদলানো যায়), enumerable (তালিকায় দেখা যায়), configurable (মোছা বা সুইচ বদলানো যায়)। Object.getOwnPropertyDescriptor দিয়ে দেখা যায়।যেখানে শিখবেন: পর্ব ১৪পর্ব ২৮
Property shadowingপ্রপার্টি শ্যাডোয়িং
prototype-এ থাকা একটি নামের সমান নামে object-এর নিজের property তৈরি হওয়া; তখন পড়লে নিজেরটি পাওয়া যায় আর prototype-এরটি আড়ালে থাকে, কিন্তু বদলায় নাযেখানে শিখবেন: পর্ব ২৫পর্ব ২৬
Property shorthandপ্রপার্টি শর্টহ্যান্ড
variable-এর নাম আর key একই হলে { name: name }-এর বদলে শুধু { name } লেখা। ES2015 (ES6) থেকে আছে।যেখানে শিখবেন: পর্ব ১৪
Propsপ্রপস
parent component থেকে child component-এ পাঠানো মান (properties-এর সংক্ষেপ); child এগুলো পড়ে কিন্তু নিজে বদলায় না — বদলাতে চাইলে parent-এর দেওয়া callback ডাকেযেখানে শিখবেন: পর্ব ৫৪
__proto__ডান্ডার প্রোটো
Object.prototype-এ বসানো পুরোনো getter/setter, যা [[Prototype]] পড়ে ও বদলায়; শুধু পুরোনো ওয়েবের জন্য Annex B-তে রাখা — নতুন কোডে Object.getPrototypeOf/Object.create ব্যবহার করুনযেখানে শিখবেন: পর্ব ২৫
Protocol upgrade (HTTP 101)প্রোটোকল আপগ্রেড
একটি HTTP request-এ Upgrade আর Connection: Upgrade header দিয়ে একই TCP সংযোগে অন্য প্রোটোকলে যাওয়ার অনুরোধ; সার্ভার রাজি হলে 101 Switching Protocols দেয় — WebSocket এভাবেই শুরু হয়যেখানে শিখবেন: পর্ব ৫১
Prototypal inheritanceপ্রোটোটাইপাল ইনহেরিট্যান্স
এক object-এর prototype হিসেবে আরেকটি object বসিয়ে আচরণ ভাগ করা; constructor-এর ক্ষেত্রে Child.prototype = Object.create(Parent.prototype), আর class-এ extends ভেতরে এটিই করেযেখানে শিখবেন: পর্ব ২৫পর্ব ২৬
Prototypeপ্রোটোটাইপ
প্রতিটি object-এর পেছনের লুকানো সংযোগে থাকা আরেকটি object. নিজের ভেতরে কোনো property না পেলে engine সেটি prototype-এ খোঁজে — এভাবেই সব object toString-এর মতো ভাগের method পায়।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৯পর্ব ২৫
Prototype chainপ্রোটোটাইপ চেইন
object → তার prototype → সেটির prototype → … → null — property খোঁজার এই শিকল। কোথাও না পেলে ফল undefined.যেখানে শিখবেন: পর্ব ১৪পর্ব ২৫পর্ব ২৬
Prototype pollutionপ্রোটোটাইপ পলিউশন
বাইরে থেকে আসা __proto__ বা constructor-এর মতো key দিয়ে object-এ মান বসানোর ফলে কোনো prototype বদলে যাওয়ার নিরাপত্তা-ত্রুটি; প্রতিরক্ষা: বাইরের key-এর জন্য Map, বা Object.create(null) আর Object.hasOwnযেখানে শিখবেন: পর্ব ১৪পর্ব ১৮পর্ব ১৯
prototype property (Fn.prototype)প্রোটোটাইপ প্রপার্টি
সাধারণ function আর class-এর একটি সাধারণ property; new Fn() দিয়ে তৈরি object-এর [[Prototype]]-এ এই object বসে। Function-এর নিজের prototype নয় — সেটি Function.prototypeযেখানে শিখবেন: পর্ব ২৫
Proxyপ্রক্সি
new Proxy(target, handler) দিয়ে তৈরি একটি মোড়ক object, যা target-এর ওপর পড়া, লেখা, in, delete, key-তালিকা, function call-এর মতো মৌলিক কাজ মাঝপথে ধরে handler-এর নিয়ম চালায়। ES2015-এ যুক্ত।যেখানে শিখবেন: পর্ব ২৮পর্ব ৪২পর্ব ৫৪
Proxy bufferingপ্রক্সি বাফারিং
nginx-এর মতো reverse proxy-র backend-এর উত্তর জমিয়ে রেখে পরে একবারে পাঠানোর অভ্যাস; সাধারণ পাতায় উপকারী, কিন্তু SSE বা stream-এ event দেরিতে বা একসাথে আসে — তাই proxy_buffering off বা X-Accel-Buffering: no দিয়ে বন্ধ করা হয়যেখানে শিখবেন: পর্ব ৫১
Publish/subscribe (pub/sub)পাব-সাব
বার্তা আদান-প্রদানের নকশা, যেখানে প্রকাশক আর শ্রোতা একে অপরকে চেনে না; প্রকাশক একটি নামের channel বা event bus-এ বার্তা পাঠায়, আর যারা সেই নামে subscribe করেছে তারা পায়।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৫১
Pure functionপিওর ফাংশন
যে function একই input-এ সবসময় একই output দেয় এবং বাইরের কিছু বদলায় না (কোনো side effect নেই) — যেমন (a, b) => a + b. পরীক্ষা করা, বোঝা আর পুনরায় ব্যবহার করা সহজ।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৬পর্ব ২০
Push APIপুশ এপিআই
সার্ভার থেকে ব্রাউজারের push service হয়ে service worker-এ বার্তা পৌঁছানোর ব্যবস্থা, পাতা বন্ধ থাকলেও; ব্যবহারকারীর অনুমতি লাগে, আর প্রতিটি push-এ সাধারণত একটি দৃশ্যমান notification দেখাতে হয়যেখানে শিখবেন: পর্ব ৪৪
Push notificationপুশ নোটিফিকেশন
সার্ভার থেকে push service হয়ে আসা বার্তা, যা পাতা বন্ধ থাকলেও service worker জেগে উঠে notification হিসেবে দেখায়; Push API আর অনুমতি দুটোই লাগেযেখানে শিখবেন: পর্ব ৪১
PWA (Progressive Web App)পিডব্লিউএ
HTTPS, web app manifest আর service worker যুক্ত একটি সাধারণ ওয়েবসাইট, যা অ্যাপের মতো ইনস্টল করা যায়, দ্রুত খোলে আর দুর্বল বা শূন্য নেটওয়ার্কেও চলে; পুরোনো ব্রাউজারে সাধারণ সাইট হিসেবেই কাজ করেযেখানে শিখবেন: পর্ব ৪৪পর্ব ৫৫পর্ব ৫৭

Q

Quantifierকোয়ান্টিফায়ার
ঠিক আগের জিনিসটি কতবার আসবে তা বলার চিহ্ন: ? (০ বা ১), * (০ বা বেশি), + (১ বা বেশি), {n}, {n,m}যেখানে শিখবেন: পর্ব ৩০
Query builderকোয়েরি বিল্ডার
SQL-এর কাছাকাছি থেকে function-এর chain দিয়ে query বানানোর library (যেমন Knex, Drizzle); string জোড়ার বদলে নিরাপদ, parameterized query তৈরি করে।যেখানে শিখবেন: পর্ব ৫২
Query plan (EXPLAIN)কোয়েরি প্ল্যান
ডেটাবেস একটি query কীভাবে চালাবে তার পরিকল্পনা — কোন index, কোন ক্রমে JOIN; EXPLAIN দিয়ে দেখা যায়, আর EXPLAIN ANALYZE সত্যিই চালিয়ে সময়ও দেখায়।যেখানে শিখবেন: পর্ব ৫২
querySelectorকোয়েরি-সিলেক্টর
document.querySelector('#list') — CSS selector মেলে এমন প্রথম element ফেরত দেয়, না পেলে null. DOM-এ element খোঁজার সবচেয়ে প্রচলিত উপায়।যেখানে শিখবেন: পর্ব ২১পর্ব ৩৭
Queueকিউ
যে তালিকায় পেছনে যোগ হয় আর সামনেরটা আগে বেরোয় (FIFO — first in, first out), ব্যাংকের লাইনের মতো। ছোট তালিকায় array-র push আর shift দিয়ে বানানো যায়; বড় তালিকায় shift ধীর হতে পারে।যেখানে শিখবেন: পর্ব ১৫
queueMicrotask()কিউ মাইক্রোটাস্ক
একটি function-কে সরাসরি microtask queue-তে পাঠানোর built-in function; চলমান কোড শেষ হওয়ার পরে, পরের task আর পাতা আঁকার আগে চলেযেখানে শিখবেন: পর্ব ৩১পর্ব ৩২
QuotaExceededErrorকোটা এক্সিডেড এরর
storage-এর বরাদ্দ জায়গা ফুরিয়ে গেলে ব্রাউজার যে DOMException ছোড়ে — যেমন localStorage-এর প্রায় ৫ MB পার হলে setItem-এ; ধরে নিয়ে পুরোনো ডেটা মোছা বা IndexedDB-তে সরানো উচিতযেখানে শিখবেন: পর্ব ৪০

R

Race conditionরেস কন্ডিশন
যখন একসাথে চলা একাধিক কাজ (async callback, দুটি request, দুটি transaction) কোন ক্রমে শেষ হয় তার ওপর ফল নির্ভর করে — যেমন search-এ পুরোনো উত্তর নতুনটিকে মুছে দেওয়া, বা দুই অনুরোধ একসাথে “নেই” দেখে ডুপ্লিকেট ঢোকানো।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৩৯পর্ব ৪২
Radixর‍্যাডিক্স
সংখ্যা-পদ্ধতির ভিত্তি — ২ (binary), ১০ (decimal), ১৬ (hexadecimal); parseInt-এর দ্বিতীয় argument, যা সবসময় দেওয়া উচিত।যেখানে শিখবেন: পর্ব ০৬পর্ব ১০পর্ব ১৬
RangeErrorরেঞ্জ এরর
মানের টাইপ ঠিক কিন্তু অনুমোদিত সীমার বাইরে হলে আসে — যেমন new Array(-1), toFixed(200), বা অন্তহীন recursion-এ Maximum call stack size exceededযেখানে শিখবেন: পর্ব ২৯পর্ব ৫৬
Rate limitরেট লিমিট
একটি সার্ভার বা API নির্দিষ্ট সময়ে সর্বোচ্চ কয়টি অনুরোধ নেবে তার সীমা, যেমন সেকেন্ডে ১০টি। সীমা পেরোলে সাধারণত HTTP 429 Too Many Requests উত্তর আসেযেখানে শিখবেন: পর্ব ৩৪পর্ব ৩৯পর্ব ৫০
Re-exportরি-এক্সপোর্ট
অন্য module-এর export নিজের নামে আবার রপ্তানি করা, যেমন export * from "./price.js" বা export { qty } from "./format.js"; নিজে ব্যবহার না করেই এগিয়ে দেওয়াযেখানে শিখবেন: পর্ব ৪৫
RE2আর-ই-টু
Google-এর তৈরি regex engine, যা backtracking না করে automata পদ্ধতিতে চলে, তাই সময় ইনপুটের দৈর্ঘ্যের সমানুপাতিক থাকে; বিনিময়ে backreference আর lookaround সমর্থন করে নাযেখানে শিখবেন: পর্ব ৩০
React Compilerরিঅ্যাক্ট কম্পাইলার
React দলের একটি build-time টুল, যা component বিশ্লেষণ করে নিজে থেকে memoization বসায়, ফলে হাতে useMemo, useCallback আর memo লেখার প্রয়োজন কমে; শুধু React-এর নিয়ম মানা কোডেই কাজ করেযেখানে শিখবেন: পর্ব ৫৪
React Nativeরিঅ্যাক্ট নেটিভ
Meta-র (Facebook) framework, যা দিয়ে JavaScript ও React-এ লিখে Android আর iPhone-এর অ্যাপ বানানো যায়; পর্দায় দেখায় ফোনের আসল native উপাদান।যেখানে শিখবেন: পর্ব ০১পর্ব ৫৪
React Server Components (RSC)রিঅ্যাক্ট সার্ভার কম্পোনেন্টস
শুধু সার্ভারে চলা React component, যারা সরাসরি ডেটাবেস বা ফাইল পড়তে পারে আর যাদের কোড ব্রাউজারে পাঠানো হয় না; interactive অংশ 'use client' চিহ্ন দেওয়া client component-এ থাকে। Next.js-এর App Router এই মডেলে চলেযেখানে শিখবেন: পর্ব ৫৪
Reactivityরিঅ্যাক্টিভিটি
ডেটা বদলালে তার ওপর নির্ভরশীল হিসাব বা UI নিজে থেকে আবার চলার ব্যবস্থা। Vue 3 আর MobX-এর মতো library Proxy দিয়ে কে কোন property পড়ল তা নোট রাখে, আর বদলালে তাদের আবার চালায়।যেখানে শিখবেন: পর্ব ২৮পর্ব ৫৪
ReadableStreamরিডেবল স্ট্রিম
টুকরো টুকরো আসা ডেটা ধাপে ধাপে পড়ার Web API object; res.body একটি ReadableStream, যা getReader() বা for await দিয়ে পুরোটা আসার আগেই পড়া যায়যেখানে শিখবেন: পর্ব ৩৫পর্ব ৪৯পর্ব ৫১
readline (Node.js)রিডলাইন
Node.js-এর core module, যা একটি readable stream (ফাইল বা stdin) থেকে লাইন ধরে ধরে পড়ে; for await (const line of rl) দিয়ে বড় ফাইলও অল্প মেমরিতে পড়া যায়যেখানে শিখবেন: পর্ব ৪৯
READMEরিডমি
প্রজেক্টের মূল ফোল্ডারের পরিচয়-ফাইল (সাধারণত README.md): প্রজেক্ট কী, কীভাবে চালাতে ও টেস্ট করতে হয়, স্থাপত্য আর সীমা; GitHub-এ repository খুললেই এটি দেখা যায়।যেখানে শিখবেন: পর্ব ৫৫
readyStateরেডিস্টেট
WebSocket বা EventSource-এর সংযোগের অবস্থা জানানো সংখ্যা; WebSocket-এ 0 CONNECTING, 1 OPEN, 2 CLOSING, 3 CLOSED, আর EventSource-এ 0 CONNECTING, 1 OPEN, 2 CLOSED. OPEN না হলে WebSocket-এর send() চলে নাযেখানে শিখবেন: পর্ব ৫১
Real-timeরিয়েল-টাইম
যে ব্যবস্থায় খবর তৈরি হওয়ামাত্র ব্যবহারকারীর কাছে পৌঁছায়, দেরি খুবই কম — যেমন চ্যাট, লাইভ স্কোর বা অর্ডার ট্র্যাকিং; ওয়েবে সাধারণত SSE বা WebSocket দিয়ে সার্ভার নিজে খবর পাঠায় (push)যেখানে শিখবেন: পর্ব ৫১
Receiverরিসিভার
Property পড়া বা লেখার সময় যে object-এর ওপর কাজটি শুরু হয়েছিল — getter বা setter চলার সময় সেটিই this হয়। Proxy-র get/set trap এটি শেষ argument হিসেবে পায়; Reflect.get/set-কে দিলে inheritance-এও this ঠিক থাকে।যেখানে শিখবেন: পর্ব ২৮
Recursionরিকার্শন
একটি function-এর নিজেকেই ডাকা; প্রতিটি কলে নতুন stack frame তৈরি হয়, তাই থামার শর্ত (base case) অবশ্যই লাগেযেখানে শিখবেন: পর্ব ০৫পর্ব ১৩পর্ব ২৩
Redisরেডিস
মেমোরিতে চলা দ্রুত key-value store; সাধারণত cache, session, rate limit আর queue-এর জন্য মূল ডেটাবেসের পাশে ব্যবহার হয়।যেখানে শিখবেন: পর্ব ৫১পর্ব ৫২
ReDoS (Regular expression Denial of Service)রি-ডস
দুর্বল regex-এ বিশেষ লম্বা ইনপুট এসে catastrophic backtracking ঘটিয়ে CPU দখল করে সেবা বসিয়ে দেওয়ার ঝুঁকি; প্রতিরোধ: সরল নকশা, ইনপুটের দৈর্ঘ্যের সীমা, বাইরের লেখা escape আর linear-time engineযেখানে শিখবেন: পর্ব ৩০পর্ব ৪৩পর্ব ৫০
reduceরিডিউস
Array.prototype.reduce: একটি accumulator নিয়ে প্রতিটি উপাদানে callback চালায়, প্রতিবারের ফেরত মান পরের কলে accumulator হয়; শেষে পুরো array থেকে একটি মান দেয়। অন্য ভাষায় একে fold বলে।যেখানে শিখবেন: পর্ব ১৬পর্ব ২১পর্ব ২৩
Reducerরিডিউসার
একটি pure function (state, action) => newState, যা বর্তমান state আর ঘটনার বর্ণনা (action) নিয়ে কিছু না বদলে নতুন state ফেরত দেয়। Redux আর React-এর useReducer এর ওপর দাঁড়িয়ে; নামটি array-এর reduce থেকে।যেখানে শিখবেন: পর্ব ২৩পর্ব ৫৪
Reduxরিডাক্স
২০১৫ সালে তৈরি একটি JavaScript state-management লাইব্রেরি: পুরো অ্যাপের state এক জায়গায়, আর তা বদলায় শুধু pure reducer দিয়ে। Elm ভাষার নকশা থেকে অনুপ্রাণিত; আধুনিক রূপ Redux Toolkit.যেখানে শিখবেন: পর্ব ২৩পর্ব ৫৪
Refactoringরিফ্যাক্টরিং
বাইরের আচরণ একটুও না বদলে কোডের ভেতরের গঠন পরিষ্কার করা — নাম ভালো করা, function ভাগ করা, পুনরাবৃত্তি সরানো; টেস্ট সবুজ থাকলে বোঝা যায় আচরণ বদলায়নি।যেখানে শিখবেন: পর্ব ৪৮
Referenceরেফারেন্স
Heap-এ থাকা একটি object-এর ঠিকানা; variable-এ object রাখলে আসলে reference রাখা হয়, তাই দুটি variable একই object দেখাতে পারেযেখানে শিখবেন: পর্ব ০৫পর্ব ০৬পর্ব ১৩
ReferenceErrorরেফারেন্স এরর
এমন একটি নাম ব্যবহার করলে আসে, যা কোথাও ঘোষণা করা হয়নি (প্রায়ই বানান ভুল), অথবা let/const/class-এর নাম ঘোষণার লাইনের আগে (TDZ-এ) ছুঁলে; derived class-এ super()-এর আগে this ছুঁলেও আসে — বার্তা যেমন "totl is not defined" বা "Cannot access 'x' before initialization".যেখানে শিখবেন: পর্ব ০৪পর্ব ০৭পর্ব ২৬
Referential transparencyরেফারেনশিয়াল ট্রান্সপারেন্সি
একটি expression-কে তার ফল দিয়ে বদলে দিলেও প্রোগ্রামের আচরণ না বদলানোর বৈশিষ্ট্য। Pure function-এর কল এমন: add(2, 3)-এর জায়গায় 5 লেখা যায়।যেখানে শিখবেন: পর্ব ২৩
Reflectরিফ্লেক্ট
১৩টি static function-ওয়ালা একটি built-in object (class নয়), যার প্রতিটি Proxy-র একটি trap-এর নাম ও argument মেনে সেই মৌলিক কাজের স্বাভাবিক রূপ চালায় — যেমন Reflect.get(target, key, receiver). ব্যর্থ হলে অনেক ক্ষেত্রে error না ছুড়ে false দেয়।যেখানে শিখবেন: পর্ব ২৮
Reflected XSSরিফ্লেক্টেড এক্সএসএস
যে XSS-এ অনুরোধের অংশ (যেমন URL-এর সার্চ শব্দ) সার্ভার বা পাতা তখনই উত্তরের HTML-এ ফিরিয়ে দেখায় — সাধারণত একটি সাজানো link-এর মাধ্যমেযেখানে শিখবেন: পর্ব ৪৩
Reflectionরিফ্লেকশন
চলার সময় প্রোগ্রামের নিজের গঠন দেখা ও বদলানোর ক্ষমতা — কোন object-এ কোন property আছে, তার descriptor কী, ইত্যাদি। JavaScript-এ Reflect object আর Object.getOwnPropertyNames-এর মতো function এই কাজ করে।যেখানে শিখবেন: পর্ব ২৮
Regex (regular expression)রেজেক্স
লেখার আকৃতি বর্ণনার একটি ছোট ভাষা, যেমন /^\d{4}$/ মানে “ঠিক চারটি অঙ্ক”; JavaScript-এ এটি RegExp object, যা দিয়ে লেখা যাচাই, খোঁজা, টুকরো তোলা আর বদলানো যায়যেখানে শিখবেন: পর্ব ৩০পর্ব ৫০
Regex flagরেজেক্স ফ্ল্যাগ
পুরো নকশার আচরণ বদলানোর এক-অক্ষরের সুইচ, যা literal-এর শেষ স্ল্যাশের পরে বা new RegExp-এর দ্বিতীয় argument-এ বসে: g, i, m, s, u, y, d, vযেখানে শিখবেন: পর্ব ৩০
Regex literalরেজেক্স লিটারাল
দুটি স্ল্যাশের মাঝে লেখা regex, শেষে flag — যেমন /dhaka/gi; script লোডের সময়ই পরীক্ষা হয়, আর string-এর মতো backslash দুবার লিখতে হয় নাযেখানে শিখবেন: পর্ব ৩০
Regressionরিগ্রেশন
নতুন কোনো বদলের ফলে আগে ঠিকঠাক চলা একটি কাজ চুপচাপ ভেঙে যাওয়া; স্বয়ংক্রিয় টেস্ট বারবার চালিয়ে এমন ভাঙন দ্রুত ধরা হয়, একে বলে regression testingযেখানে শিখবেন: পর্ব ৪৮
Relational databaseরিলেশনাল ডেটাবেস
যে ডেটাবেসে ডেটা থাকে সারি-কলামের টেবিলে, আর টেবিলগুলো key দিয়ে সম্পর্কিত; প্রশ্ন করা হয় SQL দিয়ে। যেমন PostgreSQL, MySQL, SQLite.যেখানে শিখবেন: পর্ব ৫২
Remainder operator (%)রিমেইন্ডার অপারেটর
ভাগশেষ দেয়; JavaScript-এ ফলের চিহ্ন বাম দিকের সংখ্যার (ভাজ্যের) মতো, তাই -7 % 3 হলো -1 — গণিতের modulo-র মতো 2 নয়যেখানে শিখবেন: পর্ব ০৮
Render treeরেন্ডার ট্রি
DOM আর CSSOM মিলিয়ে তৈরি, শুধু পর্দায় দেখা যাবে এমন জিনিসের গাছ — প্রতিটির সাথে তার চূড়ান্ত style; head বা display: none দেওয়া জিনিস এতে থাকে না।যেখানে শিখবেন: পর্ব ০২পর্ব ৫৩
Render-blocking resourceরেন্ডার-ব্লকিং রিসোর্স
যে ফাইল নামা ও প্রসেস না হওয়া পর্যন্ত ব্রাউজার পাতা আঁকে না, যেমন head-এর সাধারণ stylesheet বা defer/async ছাড়া scriptযেখানে শিখবেন: পর্ব ৫৩
REPL (Read–Eval–Print Loop)রেপল
এমন পরিবেশ যেখানে একটি লাইন লিখলে সেটি পড়া, হিসাব করা ও ফল দেখানো হয়, তারপর আবার পরের লাইনের অপেক্ষা — যেমন browser console বা node কমান্ড।যেখানে শিখবেন: পর্ব ০৩পর্ব ০৬পর্ব ৪৯
Replacerরিপ্লেসার
JSON.stringify-এর দ্বিতীয় argument; function হলে প্রতিটি key-value বদলাতে বা undefined ফেরত দিয়ে বাদ দিতে পারে, array হলে শুধু তালিকার key-গুলো লেখায় যায় (allow-list)যেখানে শিখবেন: পর্ব ১৯
reportValidity()রিপোর্ট-ভ্যালিডিটি
checkValidity()-এর মতোই ফল দেয়, সাথে প্রথম অবৈধ ঘরে focus নিয়ে ব্রাউজারের বার্তার বুদবুদ দেখায়যেখানে শিখবেন: পর্ব ৩৯
Repository patternরিপোজিটরি প্যাটার্ন
ডেটাবেসের সব কাজ (SQL বা ORM) একটি আলাদা স্তরে রাখার নকশা; route বা ব্যবসার কোড শুধু createCustomer()-এর মতো function ডাকে, ডেটাবেসের খুঁটিনাটি জানে না।যেখানে শিখবেন: পর্ব ৫২
Request deduplicationরিকোয়েস্ট ডিডুপ্লিকেশন
একই জিনিসের জন্য একসাথে আসা একাধিক অনুরোধকে একটিতে জুড়ে দেওয়া — প্রথম অনুরোধের চলমান promise একটি Map-এ key অনুযায়ী রেখে বাকিদের সেটিই দেওয়া হয়, আর শেষ হলে entry মুছে ফেলা হয়।যেখানে শিখবেন: পর্ব ৩৬
requestAnimationFrameরিকোয়েস্ট অ্যানিমেশন ফ্রেম
ব্রাউজারকে বলা “পরের বার পর্দা আঁকার ঠিক আগে এই function চালাবেন”; প্রতি ফ্রেমে একবার চলে, তাই মসৃণ অ্যানিমেশনের সঠিক উপায় — এটি task বা microtask নয়, rendering ধাপের অংশযেখানে শিখবেন: পর্ব ৩১পর্ব ৩৬
requestIdleCallbackরিকোয়েস্ট আইডল কলব্যাক
ব্রাউজার যখন ফাঁকা (জরুরি কাজ বা আঁকা নেই), তখন একটি function চালানোর API; analytics পাঠানোর মতো অ-জরুরি কাজের জন্য, সব ব্রাউজারে সমর্থন সমান নয়যেখানে শিখবেন: পর্ব ৩১
requestSubmit()রিকোয়েস্ট-সাবমিট
কোড থেকে ফর্ম জমা দেওয়ার আধুনিক method, যা বোতাম চাপার মতোই আগে যাচাই চালায় আর submit event পাঠায়; পুরোনো submit() এ দুটোর কোনোটিই করে নাযেখানে শিখবেন: পর্ব ৩৯
require()রিকোয়ার
CommonJS-এর আমদানির function: ফাইল খুঁজে, প্রথমবার হলে চালিয়ে, তার module.exports সাথে সাথে (synchronous) ফেরত দেয় আর require.cache-এ জমায়; যেকোনো জায়গায় ডাকা যায়যেখানে শিখবেন: পর্ব ৪৫
Reserved wordরিজার্ভড ওয়ার্ড
ভাষার নিজের জন্য সংরক্ষিত শব্দ (if, for, class, return, const…), যা variable বা function-এর নাম হিসেবে ব্যবহার করা যায় না।যেখানে শিখবেন: পর্ব ০৭
ResizeObserverরিসাইজ অবজার্ভার
একটি element-এর নিজের আকার বদলালে callback-এ নতুন contentRect (width, height) দেয় — জানালার resize ছাড়াও; callback-এ সেই element-এর আকার আবার বদলালে loop error আসতে পারেযেখানে শিখবেন: পর্ব ৪১
Resolved (promise)রিজলভড
যে promise-এর ভাগ্য ঠিক হয়ে গেছে — resolve ডাকা হয়েছে; অন্য একটি promise দিয়ে resolve করলে সে সেটির সাথে বাঁধা পড়ে, তাই resolved হয়েও কিছুক্ষণ pending থাকতে পারে। resolved মানেই fulfilled নয়যেখানে শিখবেন: পর্ব ৩৩
Resource (REST)রিসোর্স
REST API-তে ঠিকানাযুক্ত যেকোনো জিনিস — পণ্য, অর্ডার, ব্যবহারকারী; একটি সংগ্রহের ঠিকানা বহুবচনে (/api/orders), একটির ঠিকানা id দিয়ে (/api/orders/A-101)যেখানে শিখবেন: পর্ব ৫০
Response (fetch)রেসপন্স
fetch-এর Promise যে object দিয়ে পূর্ণ হয়: status, ok, headers আর একবারই পড়া যায় এমন body রাখে; body পড়ার method হলো json(), text(), blob(), যারা নিজেরাও Promise ফেরত দেয়যেখানে শিখবেন: পর্ব ৩৫পর্ব ৪৪
Responsive images — srcset, sizesরেসপনসিভ ইমেজ
srcset দিয়ে একই ছবির কয়েকটি আকার আর sizes দিয়ে পর্দায় তার প্রস্থ জানানো, যাতে ব্রাউজার যন্ত্রের জন্য উপযুক্ত সবচেয়ে ছোট ফাইলটি বাছেযেখানে শিখবেন: পর্ব ৫৩
REST / RESTful APIরেস্ট এপিআই
Roy Fielding-এর (২০০০) বর্ণিত নকশা-রীতি অনুসারে বানানো API — সবকিছু ঠিকানাযুক্ত resource, কাজ বোঝায় HTTP method, অনুরোধ stateless, ডেটা সাধারণত JSONযেখানে শিখবেন: পর্ব ৩৫পর্ব ৫০পর্ব ৫৫
Rest elementরেস্ট এলিমেন্ট
Destructuring pattern-এর শেষে তিন ডট, যেমন const [first, ...others] = list বা const { id, ...rest } = obj. বাকি সব মান একটি নতুন array-তে, বা বাকি সব property একটি নতুন object-এ জড়ো করে। একটিই থাকতে পারে, আর সবশেষে।যেখানে শিখবেন: পর্ব ১৭
Rest parameterরেস্ট প্যারামিটার
শেষ parameter-এর আগে তিন ডট, যেমন function sum(...prices). বাকি সব argument একটি আসল Array-তে জড়ো করে; কোনোটি না এলে খালি array. একটিই থাকতে পারে, আর সবশেষে।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৭পর্ব ৫৬
Result objectরেজাল্ট অবজেক্ট
exception না ছুড়ে { ok: true, value } বা { ok: false, error } আকারে ফল ফেরত দেওয়ার নকশা; প্রত্যাশিত ব্যর্থতায় (ভুল ইনপুট, কম ব্যালান্স) ডাকার কোডকে দুই পথই ভাবতে বাধ্য করেযেখানে শিখবেন: পর্ব ২৯
Resumabilityরিজিউমেবিলিটি
Qwik framework-এর পদ্ধতি: সার্ভার অ্যাপের অবস্থা আর listener-এর তথ্য HTML-এ লিখে পাঠায়, ফলে ব্রাউজার hydration ছাড়াই সেখান থেকে কাজ চালিয়ে যায় আর JavaScript নামে শুধু ব্যবহারকারী কিছু করলেযেখানে শিখবেন: পর্ব ৫৪
Retaining pathরিটেইনিং পাথ
একটি object থেকে GC root পর্যন্ত reference-এর শিকল, যার কারণে object-টি এখনো জীবিত; DevTools-এর Retainers অংশে দেখা যায় আর leak-এর দোষী reference দেখিয়ে দেয়যেখানে শিখবেন: পর্ব ৫৩
Rethrowরিথ্রো
catch-এ ধরা error নিজে সামলাতে না পারলে throw err লিখে আবার ওপরে পাঠিয়ে দেওয়া, যাতে যে স্তর সত্যিই সামলাতে পারে সে পায়যেখানে শিখবেন: পর্ব ২৯
Retryরিট্রাই
ব্যর্থ একটি কাজ স্বয়ংক্রিয়ভাবে আবার চেষ্টা করা। নিরাপদ হতে হলে শুধু ক্ষণস্থায়ী ভুলে, শুধু idempotent কাজে, সীমিত সংখ্যকবার আর বাড়তে থাকা বিরতিতে (backoff) করতে হয়।যেখানে শিখবেন: পর্ব ৩৬
Retry-Afterরিট্রাই-আফটার
HTTP উত্তরের একটি header (সাধারণত 429 বা 503-এর সাথে), যা জানায় কত সেকেন্ড পরে বা কোন তারিখ-সময়ে আবার request পাঠানো উচিত। থাকলে client নিজের backoff হিসাবের বদলে এটিই মানে।যেখানে শিখবেন: পর্ব ৩৬
Return valueরিটার্ন ভ্যালু
function শেষে return দিয়ে যে মান ফেরত পাঠায়; যেখান থেকে ডাকা হয়েছিল, কলের জায়গায় এই মান বসে। return না থাকলে ফেরত আসে undefined.যেখানে শিখবেন: পর্ব ১৩
Reverse proxyরিভার্স প্রক্সি
সার্ভারের সামনে বসা একটি প্রোগ্রাম (যেমন nginx), যা ব্যবহারকারীর অনুরোধ নিয়ে ভেতরের অ্যাপের কাছে পাঠায় — সাথে HTTPS খোলা, static ফাইল দেওয়া আর অনুরোধ সীমিত করার কাজ করে।যেখানে শিখবেন: পর্ব ৫৫
Reviverরিভাইভার
JSON.parse-এর দ্বিতীয় argument হিসেবে দেওয়া function; প্রতিটি key-value-এর জন্য ভেতর থেকে বাইরে ক্রমে ডাকা হয়, আর যা ফেরত দেয় ফলাফলে সেটিই বসে — যেমন ISO string থেকে Date বানানোযেখানে শিখবেন: পর্ব ১৯
Revocable proxyরিভোকেবল প্রক্সি
Proxy.revocable(target, handler) দিয়ে তৈরি Proxy, যার সাথে একটি revoke function আসে। revoke() ডাকার পর ওই Proxy দিয়ে যেকোনো কাজ TypeError দেয় — সাময়িক প্রবেশাধিকার দেওয়ার জন্য উপযোগী।যেখানে শিখবেন: পর্ব ২৮
Rollbackরোলব্যাক
মাঝপথে ভুল হলে একটি transaction-এর সব বদল বাতিল করে আগের অবস্থায় ফেরা; SQL-এ এর কমান্ড ROLLBACK. Deploy-এর প্রসঙ্গে আগের সংস্করণে ফিরে যাওয়াকেও rollback বলে।যেখানে শিখবেন: পর্ব ৫৫
Rolldownরোলডাউন
Vite দলের Rust-এ লেখা bundler, Rollup-এর plugin API মেনে চলে; Vite 8 থেকে dev-এর pre-bundle আর production build দুটোই করেযেখানে শিখবেন: পর্ব ৪৬
Route parameter (req.params)রাউট প্যারামিটার
ঠিকানা-ছাঁচের :id-এর মতো ফাঁকা ঘর, যেখানে অনুরোধের ঠিকানার সেই অংশটি বসে; Express এটি req.params-এ দেয়, আর মান সবসময় stringযেখানে শিখবেন: পর্ব ৫০
Routingরাউটিং
অনুরোধের method আর path দেখে ঠিক কোন handler function চলবে তা নির্ধারণ করা; Express-এ app.get(path, handler)-এর মতো ঘোষণা দিয়ে, ঘোষণার ক্রমে প্রথম মিলটি চলেযেখানে শিখবেন: পর্ব ৫০
RPC (Remote Procedure Call)আর-পি-সি
অন্য জায়গায় (আরেকটি thread, process বা সার্ভারে) চলা কোডকে সাধারণ function ডাকার মতো করে ডাকার কৌশল; ভেতরে ডাক আর ফল দুটোই বার্তা হয়ে যাওয়া-আসা করেযেখানে শিখবেন: পর্ব ৪২পর্ব ৫০
Rules of hooksরুলস অফ হুকস
React hook ব্যবহারের দুটি নিয়ম: hook শুধু component-এর ওপরের স্তরে ডাকা (শর্ত, loop বা nested function-এর ভেতরে নয়) আর শুধু React component বা custom hook থেকে ডাকা — কারণ React ডাকার ক্রম দিয়ে hook চেনেযেখানে শিখবেন: পর্ব ৫৪
RUM (Real User Monitoring)রাম / রিয়েল ইউজার মনিটরিং
নিজের সাইটে আসল ব্যবহারকারীদের ব্রাউজার থেকে পারফরম্যান্সের মাপ (যেমন web-vitals library দিয়ে) সংগ্রহ করে নিজের সার্ভারে পাঠানো ও বিশ্লেষণ করাযেখানে শিখবেন: পর্ব ৫৩
Run-to-completionরান-টু-কমপ্লিশন
JavaScript-এর নিয়ম যে একটি callback শুরু হলে শেষ না হওয়া পর্যন্ত অন্য কোনো JavaScript মাঝখানে ঢুকতে পারে না; তাই lock লাগে না, কিন্তু লম্বা কাজ সবকিছু আটকায়যেখানে শিখবেন: পর্ব ৩১পর্ব ৩২
Runes (Svelte 5)রুনস
Svelte 5 (২০২৪)-এর $ দিয়ে শুরু বিশেষ চিহ্ন — $state, $derived, $effect, $props — যা compiler-কে reactivity জানায়; ভেতরে signal দিয়ে চলেযেখানে শিখবেন: পর্ব ৫৪
Runtime (environment)রানটাইম
যে পরিবেশে কোড চলে — engine-এর সাথে বাড়তি সুবিধা মিলিয়ে। Browser একটি runtime (DOM, window দেয়), Node.js আরেকটি (process, fs দেয়)।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ০৫

S

Safe integerসেফ ইন্টিজার
যে পূর্ণসংখ্যা double-এ হুবহু রাখা যায় এবং প্রতিবেশীদের থেকে আলাদা থাকে: −(2^53 − 1) থেকে 2^53 − 1 পর্যন্ত; Number.isSafeInteger দিয়ে যাচাইযেখানে শিখবেন: পর্ব ১০পর্ব ১৯পর্ব ৫৯
Same-origin policy (SOP)সেম-অরিজিন পলিসি
ব্রাউজারের মূল নিরাপত্তা-নিয়ম: একটি origin-এর পাতার JavaScript অন্য origin-এর পাতা, DOM বা উত্তর সাধারণত পড়তে পারে না; ছবি বা script জুড়ে দেখানো (embed) অবশ্য চলেযেখানে শিখবেন: পর্ব ৪০পর্ব ৪৩পর্ব ৫১
Same-siteসেম-সাইট
দুটি ঠিকানার scheme আর registrable domain (যেমন shop.com.bd) একই হলে তারা same-site — origin আলাদা হলেও; api.shop.com.bd আর shop.com.bd same-site কিন্তু cross-originযেখানে শিখবেন: পর্ব ৪৩
SameValueZeroসেম-ভ্যালু-জিরো
Map, Set আর includes যে নিয়মে দুটি মানকে সমান ধরে: প্রায় === এর মতো, তবে NaN নিজের সমান আর +0 ও -0 একই; object মেলে শুধু একই reference হলেযেখানে শিখবেন: পর্ব ১৫পর্ব ১৮
Sandboxস্যান্ডবক্স
এমন সুরক্ষিত, আলাদা পরিবেশ যেখানে কোড চালালে বাইরের জিনিসে (অন্য পাতা, ফাইল, storage) হাত দিতে পারে না।যেখানে শিখবেন: পর্ব ০৩পর্ব ২১পর্ব ৪১
Sanitizationস্যানিটাইজেশন
HTML সত্যিই দরকার হলে অনুমোদিত tag আর attribute-এর তালিকা (allowlist) রেখে বাকি সব — script, event attribute, বিপজ্জনক URL — ছেঁটে ফেলাযেখানে শিখবেন: পর্ব ৪৩
scheduler.yield()শিডিউলার ইল্ড
Main thread ছেড়ে দেওয়ার আধুনিক ব্রাউজার API, যা একটি Promise ফেরত দেয়; বাকি কাজ পরে চলে, কিন্তু সাধারণ নতুন task-এর চেয়ে অগ্রাধিকার পায়। Chrome ও Edge 129 থেকে আছে, সব ব্রাউজারে নয়যেখানে শিখবেন: পর্ব ৩১
Schema (database)স্কিমা
ডেটাবেসের নকশা — কোন কোন টেবিল, কোন কলাম কোন ধরনের, কোন key, constraint আর index আছে।যেখানে শিখবেন: পর্ব ৫২
Schema migrationস্কিমা মাইগ্রেশন
ডেটাবেসের schema (টেবিল, কলাম, index) বা জমানো ডেটার আকার বদলানোর সংখ্যা-দেওয়া, ক্রমানুসারে চালানো ধাপ; ডেটাবেসে migration ফাইল git-এ থাকে আর একটি টুল কোনগুলো চলেছে তা টেবিলে লিখে রাখে, ব্রাউজারের স্টোরেজে ডেটার সাথে সংস্করণ নম্বর রাখা হয় (v1 → v2 → v3).যেখানে শিখবেন: পর্ব ৪০পর্ব ৫২পর্ব ৫৫
Schema validationস্কিমা ভ্যালিডেশন
ডেটার প্রত্যাশিত আকার (কোন field, কোন টাইপ, কোন সীমা) একবার বর্ণনা করে তার সাথে আসল ডেটা মিলিয়ে দেখা; JavaScript-এ Zod বা JSON Schema-র মতো টুল ব্যবহার হয়যেখানে শিখবেন: পর্ব ১৯পর্ব ৩৯পর্ব ৪৭
Scopeস্কোপ
কোডের যে অংশে একটি নাম দেখা ও ব্যবহার করা যায়। JavaScript-এ scope ঠিক হয় কোড কোথায় লেখা হয়েছে তা দেখে — block, function, module আর global.যেখানে শিখবেন: পর্ব ০৭পর্ব ৫৬
Scope chainস্কোপ চেইন
নাম খোঁজার পথ: engine প্রথমে চলতি scope-এ খোঁজে, না পেলে তাকে ঘিরে থাকা scope-এ, এভাবে global পর্যন্ত। কোথাও না পেলে ReferenceError.যেখানে শিখবেন: পর্ব ০৭পর্ব ২২
Screen readerস্ক্রিন রিডার
যে সফটওয়্যার পর্দার লেখা ও নিয়ন্ত্রণগুলো পড়ে শোনায় আর কিবোর্ডে নেভিগেশন করতে দেয় — যেমন NVDA, JAWS, VoiceOver, TalkBack; দৃষ্টিপ্রতিবন্ধী ব্যবহারকারীরা ব্যবহার করেন।যেখানে শিখবেন: পর্ব ০২পর্ব ৩৭পর্ব ৩৯
Screen Wake Lock APIস্ক্রিন ওয়েক লক এপিআই
navigator.wakeLock.request('screen') দিয়ে পর্দা নিজে থেকে নিভে যাওয়া আটকানোর API — রেসিপি বা QR টিকিট দেখানোর সময় কাজের; ট্যাব লুকালে lock নিজে ছেড়ে যায়যেখানে শিখবেন: পর্ব ৪১
Secure contextসিকিওর কনটেক্সট
https (বা localhost) থেকে আসা পাতা, যার কোড পথে কেউ বদলাতে পারে না বলে ব্রাউজার ধরে নেয়; geolocation, clipboard, notification, service worker-এর মতো শক্তিশালী API শুধু এখানেই পাওয়া যায়। যাচাই: window.isSecureContextযেখানে শিখবেন: পর্ব ৪১পর্ব ৪৪
Security headersসিকিউরিটি হেডার
নিরাপত্তার নির্দেশ দেওয়া response header-এর দল — Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, Referrer-Policy, Permissions-Policy ইত্যাদিযেখানে শিখবেন: পর্ব ৪৩পর্ব ৫০পর্ব ৫৫
Selector (CSS)সিলেক্টর
কোন element-এর ওপর নিয়ম বসবে তা বাছাইয়ের নকশা — যেমন button, .card, #cart বা .card button; JavaScript-এর querySelector-ও একই ভাষা বোঝে।যেখানে শিখবেন: পর্ব ০২পর্ব ৩৭
Self-testসেলফ-টেস্ট
প্রোগ্রামের ভেতরেই লেখা ছোট পরীক্ষা, যা চালানোর সময় নিজের ফাংশনগুলোর কিছু দাবি (যেমন “পুরোনো state অক্ষত”) সত্যি কি না যাচাই করে আর ফল জানায়।যেখানে শিখবেন: পর্ব ২১পর্ব ৪৮
Semantic HTMLসিমান্টিক এইচটিএমএল
কাজ অনুযায়ী অর্থপূর্ণ ট্যাগ ব্যবহার — header, nav, main, article, button, form — যাতে ব্রাউজার, screen reader আর search engine বোঝে কোনটি কী।যেখানে শিখবেন: পর্ব ০২পর্ব ৩৭পর্ব ৫৭
Semantic versioning (semver)সিমভার
MAJOR.MINOR.PATCH আকারে version দেওয়ার নিয়ম: PATCH মানে বাগ ঠিক, MINOR মানে পুরোনো কোড না ভেঙে নতুন সুবিধা, MAJOR মানে breaking changeযেখানে শিখবেন: পর্ব ৪৬পর্ব ৫৭পর্ব ৫৮
Sentinel valueসেন্টিনেল ভ্যালু
“এখানেই শেষ” বোঝানোর জন্য বেছে নেওয়া একটি বিশেষ মান, যেমন দামের তালিকার শেষে 0. লুপ এই মান দেখলেই থামে।যেখানে শিখবেন: পর্ব ১২
Separation of concernsসেপারেশন অফ কনসার্নস
আলাদা দায়িত্ব আলাদা জায়গায় রাখার নকশা-নীতি; ওয়েবে কাঠামো HTML-এ, চেহারা CSS-এ আর আচরণ JavaScript-এ।যেখানে শিখবেন: পর্ব ০২পর্ব ৩৮পর্ব ৫৪
Serializationসিরিয়ালাইজেশন
মেমরিতে থাকা ডেটা-কাঠামোকে একটি ধারাবাহিক লেখা বা byte-সারিতে রূপান্তর করা, যাতে তা ফাইলে রাখা বা নেটওয়ার্কে পাঠানো যায়; JavaScript-এ JSON.stringify এই কাজ করেযেখানে শিখবেন: পর্ব ১৯পর্ব ৪০
Serverসার্ভার
নেটওয়ার্কে থাকা যে কম্পিউটার বা প্রোগ্রাম অন্যদের (যেমন ব্রাউজারের) অনুরোধ গ্রহণ করে উত্তর পাঠায় — ডেটাবেসে তথ্য রাখা, লগইন যাচাই ইত্যাদি এখানেই হয়।যেখানে শিখবেন: পর্ব ০১পর্ব ০২পর্ব ৩৫
Server-Sent Events (SSE)সার্ভার-সেন্ট ইভেন্টস
একটি খোলা HTTP সংযোগে সার্ভার থেকে ব্রাউজারে একমুখী event-এর ধারা পাঠানোর মানদণ্ড; ব্রাউজারের EventSource API সংযোগ কেটে গেলে নিজেই আবার জোড়ে।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫১পর্ব ৫৫
Server-side validationসার্ভার-সাইড ভ্যালিডেশন
অনুরোধ server-এ পৌঁছানোর পর প্রতিটি নিয়ম আবার যাচাই করা। ব্রাউজারে যা-ই হোক, ডেটার সঠিকতা আর নিরাপত্তার আসল নিশ্চয়তা এখান থেকেই আসেযেখানে শিখবেন: পর্ব ৩৯পর্ব ৫০পর্ব ৫৫
Service workerসার্ভিস ওয়ার্কার
পাতা আর নেটওয়ার্কের মাঝে বসা একটি বিশেষ worker, যা request ধরে cache থেকে উত্তর দিতে পারে আর push notification সামলায়; পাতা বন্ধ থাকলেও ব্রাউজার ঘটনা এলে একে চালায়, DOM ছুঁতে পারে নাযেখানে শিখবেন: পর্ব ৪১পর্ব ৪২পর্ব ৪৪
Service worker scopeস্কোপ
একটি service worker কোন URL-পথের পাতাগুলো নিয়ন্ত্রণ করবে তার পরিধি; ডিফল্টভাবে sw.js ফাইল যে ফোল্ডারে আছে সেটি আর তার নিচের সব পথ — JavaScript ভ্যারিয়েবলের scope থেকে আলাদা ধারণাযেখানে শিখবেন: পর্ব ৪৪
Sessionসেশন
লগইনের পর সার্ভারে রাখা একটি রেকর্ড — “এই এলোমেলো id = এই ব্যবহারকারী”; id-টি ব্রাউজারে cookie হয়ে থাকে আর প্রতিটি অনুরোধে ফেরে। সার্ভার চাইলে সাথে সাথে session বাতিল করতে পারে।যেখানে শিখবেন: পর্ব ৫৫
sessionStorageসেশন স্টোরেজ
localStorage-এর মতো একই API, কিন্তু প্রতিটি ট্যাবের আলাদা: পাতা রিলোডে টেকে, ট্যাব বন্ধ করলে মুছে যায়; ট্যাব Duplicate করলে নতুন ট্যাব একটি কপি পায়যেখানে শিখবেন: পর্ব ৪০পর্ব ৫৮
Setসেট
শুধু অনন্য মানের built-in সংগ্রহ (ES2015); একই মান দ্বিতীয়বার add করলে কিছু ঘটে না, ঢোকানোর ক্রম বজায় থাকে, আর has দিয়ে খোঁজা খুব দ্রুতযেখানে শিখবেন: পর্ব ১৬পর্ব ১৮পর্ব ৫৩
setCustomValidity()সেট-কাস্টম-ভ্যালিডিটি
ঘরে নিজের error বার্তা বসানো: খালি নয় এমন লেখা দিলে ঘরটি অবৈধ হয় (customError), আর খালি string দিলে আবার বৈধ — মোছা না হলে ঘর চিরকাল অবৈধ থাকেযেখানে শিখবেন: পর্ব ৩৯
setImmediate()সেট ইমিডিয়েট
Node.js-এর function, যা একটি callback-কে event loop-এর check phase-এ চালায় — poll phase-এর ঠিক পরে; I/O callback-এর ভেতর থেকে ডাকলে setTimeout 0-এর আগে চলেযেখানে শিখবেন: পর্ব ৩১পর্ব ৫৬
setInterval / clearIntervalসেট-ইন্টারভাল
setInterval(fn, ms) প্রতি ms মিলিসেকেন্ড পরপর fn বারবার চালায়, যতক্ষণ না clearInterval(id) দিয়ে থামানো হয়। কাজ শেষ হওয়ার অপেক্ষা করে না, তাই দীর্ঘ কাজে recursive setTimeout নিরাপদ।যেখানে শিখবেন: পর্ব ৩২পর্ব ৫৩
Setter (set)সেটার
property-তে মান বসানোর সময় চলা function: set fullName(v) { … }. obj.fullName = v লিখলে চলে — যাচাই বা রূপান্তরের সুযোগ দেয়।যেখানে শিখবেন: পর্ব ১৪পর্ব ২৫পর্ব ২৬
setTimeout / clearTimeoutসেট-টাইমআউট
setTimeout(fn, ms, ...args) অন্তত ms মিলিসেকেন্ড পরে fn একবার চালানোর জন্য একটি timer বসায় আর একটি timer id ফেরত দেয়; clearTimeout(id) সেই timer বাতিল করে। Delay একটি ন্যূনতম সময়, নিশ্চয়তা নয়।যেখানে শিখবেন: পর্ব ৩২
Settled (promise)সেটলড
যে promise আর pending নেই — fulfilled বা rejected, যেকোনো একটি হয়ে গেছে; একবার settled হলে তার অবস্থা ও মান আর কখনো বদলায় নাযেখানে শিখবেন: পর্ব ৩৩পর্ব ৫৮
Shadow DOMশ্যাডো ডম
একটি element-এর সাথে যুক্ত আলাদা, লুকানো DOM গাছ, যার CSS বাইরে যায় না আর বাইরের selector ভেতরে ঢোকে না; attachShadow() দিয়ে বানানো হয়। Web Components-এর একটি মূল অংশ।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৫৪
Shadowingশ্যাডোয়িং
ভেতরের scope-এ বাইরের একটি নামের সমান নাম ঘোষণা করা। ভেতরে থাকাকালীন বাইরের variable-টি আড়ালে চলে যায়, কিন্তু মুছে বা বদলে যায় না।যেখানে শিখবেন: পর্ব ০৭
Shallow copyশ্যালো কপি
শুধু ওপরের তলার কপি: নতুন object বা array তৈরি হয়, কিন্তু ভেতরের object-গুলোর শুধু reference কপি হয়, তাই সেগুলো মূলটির সাথে ভাগাভাগি থাকে। Spread, Object.assign আর slice এমন কপি দেয়।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৫পর্ব ১৭
SharedArrayBufferশেয়ার্ড অ্যারেবাফার
ES2017-এ যুক্ত এমন ArrayBuffer, যা postMessage করলে কপি হয় না — একাধিক thread একই bytes পড়ে-লেখে। ব্রাউজারে শুধু cross-origin isolated পাতায় পাওয়া যায়, আর race এড়াতে Atomics লাগেযেখানে শিখবেন: পর্ব ৪২
SharedWorkerশেয়ার্ড ওয়ার্কার
একই origin-এর একাধিক tab, জানালা বা iframe ভাগ করে ব্যবহার করে এমন Worker; প্রতিটি সংযোগ একটি port দিয়ে কথা বলে। সব ব্রাউজারে সমানভাবে নেই (Android-এর Chrome-এ দীর্ঘদিন ছিল না)যেখানে শিখবেন: পর্ব ৪২
Shebang (#!)শিব্যাং
Script-এর প্রথম লাইন, যেমন #!/usr/bin/env node: Linux/macOS-এ ফাইলটি সরাসরি চালালে OS এটি দেখে বোঝে কোন প্রোগ্রাম দিয়ে চালাতে হবে। Windows এটি পড়ে না; npm সেখানে আলাদা wrapper বানায়যেখানে শিখবেন: পর্ব ৪৯
Short-circuit evaluationশর্ট-সার্কিট ইভ্যালুয়েশন
&&, || আর ?? বাঁ দিক দেখেই ফল জানা গেলে ডান দিক হিসাবই করে না; যেমন false && f() — এখানে f কখনো ডাকা হয় নাযেখানে শিখবেন: পর্ব ০৮পর্ব ১১পর্ব ১৬
Side effectসাইড ইফেক্ট
মান ফেরত দেওয়ার বাইরে function যা কিছু বদলায় বা করে: পাওয়া object/array বদলানো, global variable বদলানো, পাতা বদলানো, নেটওয়ার্কে পাঠানো, এমনকি console-এ লেখা।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৫পর্ব ১৬
Side-effect importসাইড-ইফেক্ট ইমপোর্ট
import "./polyfills.js" — কোনো নাম না এনে শুধু একটি module-কে (একবার) চালানো, তার top-level কাজের জন্য, যেমন polyfill বসানো বা global কিছু সেট করাযেখানে শিখবেন: পর্ব ৪৫
Signal (OS)সিগন্যাল
OS-এর পাঠানো একটি ছোট বার্তা, যা process-কে কোনো ঘটনা জানায় — যেমন Ctrl+C চাপলে SIGINT, বন্ধ করতে বললে SIGTERM. Node.js-এ process.on("SIGINT", fn) দিয়ে শোনা যায়যেখানে শিখবেন: পর্ব ৪৯
Simple request (CORS)সিম্পল রিকোয়েস্ট
GET, HEAD বা POST, শুধু নিরাপদ তালিকার header আর form বা text ধরনের Content-Type — এমন cross-origin অনুরোধ ব্রাউজার preflight ছাড়াই পাঠায়যেখানে শিখবেন: পর্ব ৪৩
Single-file component (SFC)সিঙ্গেল-ফাইল কম্পোনেন্ট
Vue-র .vue ফাইল (Svelte-এর .svelte-ও একই ধাঁচের), যেখানে একটি component-এর script, template আর style একই ফাইলে আলাদা অংশে থাকে; build tool একে JavaScript-এ রূপান্তর করেযেখানে শিখবেন: পর্ব ৫৪
Single-threadedসিঙ্গেল-থ্রেডেড
একটিমাত্র thread ও একটি call stack-এ চলা, অর্থাৎ একসময়ে একটিই কাজ; ব্রাউজারে আপনার JavaScript আর পাতা আঁকা একই main thread-এ চলেযেখানে শিখবেন: পর্ব ০৫পর্ব ১২পর্ব ৩২
Singletonসিঙ্গেলটন
পুরো প্রোগ্রামে যার একটিমাত্র instance থাকে এমন object; ES module একবারই evaluate হয় বলে একটি module থেকে রপ্তানি করা object স্বাভাবিকভাবেই singleton, সব আমদানিকারী একই object পায়যেখানে শিখবেন: পর্ব ৪৫
Sink (XSS)সিংক
এমন API বা জায়গা, যেখানে লেখা দিলে তা HTML বা কোড হিসেবে পড়া হয় — innerHTML, outerHTML, insertAdjacentHTML, document.write, eval, javascript: URL, inline event attributeযেখানে শিখবেন: পর্ব ৪৩
Sliding windowস্লাইডিং উইন্ডো
তালিকা বা string-এর টানা একটি অংশকে জানালার মতো ধরে রাখার কৌশল: ডান প্রান্ত এগোয়, শর্ত ভাঙলে বাঁ প্রান্ত এগোয়; কোনো প্রান্ত পেছায় না বলে মোট কাজ O(n)যেখানে শিখবেন: পর্ব ৫৯
Sloppy modeস্লপি মোড
strict mode ছাড়া JavaScript-এর পুরোনো, ঢিলেঢালা নিয়মের অনানুষ্ঠানিক নাম। এখানে খালি ডাকে this হয় global object, আর অনেক ভুল চুপচাপ উপেক্ষিত হয়।যেখানে শিখবেন: পর্ব ২৪
Slopsquattingস্লপস্কোয়াটিং
AI যেসব অস্তিত্বহীন package-নাম প্রায়ই বানায়, সেই নামে আক্রমণকারীর আগেভাগে ক্ষতিকর package প্রকাশ করে রাখা; AI-এর পরামর্শ যাচাই না করে ইনস্টল করলেই বিপদযেখানে শিখবেন: পর্ব ৪৬
Smi (small integer)স্মি
V8-এর ভেতরের একটি দ্রুত রূপ, যেখানে ছোট পূর্ণসংখ্যা double না বানিয়ে সরাসরি রাখা হয়; ভাষার আচরণ বদলায় না, শুধু গতি বাড়ায়যেখানে শিখবেন: পর্ব ১০
Smoke testস্মোক টেস্ট
deploy-এর ঠিক পরে live অ্যাপে কয়েকটি খুব মৌলিক পরীক্ষা — পাতা খোলে কি না, health check সবুজ কি না — যাতে বড় কোনো ভাঙন সাথে সাথে ধরা পড়ে।যেখানে শিখবেন: পর্ব ৫৫
Snapshot testingস্ন্যাপশট টেস্টিং
প্রথমবার চলার output একটি ফাইলে সেভ করে পরেরবার থেকে নতুন output তার সাথে মেলানো (toMatchSnapshot); অপ্রত্যাশিত বদল ধরে, কিন্তু কোনটি সঠিক তা জানে না — প্রথম snapshot-এর বাগও “সত্য” হয়ে যায়।যেখানে শিখবেন: পর্ব ৪৮
Socket.IOসকেট আইও
Node.js-এর জনপ্রিয় real-time লাইব্রেরি, যা reconnection, room, acknowledgement আর long polling fallback দেয়। এটি নিজস্ব প্রোটোকল (Engine.IO-র ওপর) — সাধারণ WebSocket client বা সার্ভারের সাথে সরাসরি কথা বলতে পারে না, দুই পক্ষেই Socket.IO লাগেযেখানে শিখবেন: পর্ব ৫১
Software licenseলাইসেন্স
কোড ব্যবহার, বদল আর বিতরণের আইনি শর্ত; MIT, ISC, Apache-2.0 সাধারণত বাণিজ্যিক কাজেও উদার, GPL ও AGPL-এর শর্ত অনেক কঠোরযেখানে শিখবেন: পর্ব ৪৬
Source mapসোর্স ম্যাপ
minify বা রূপান্তর করা কোডের প্রতিটি অংশ মূল ফাইলের কোন লাইনে ছিল, তার মানচিত্র (.map ফাইল); এতে DevTools আর error রিপোর্টে আসল কোড দেখা যায়যেখানে শিখবেন: পর্ব ৪৬
SPA (single-page application)এসপিএ
যে ওয়েব অ্যাপ একবার লোড হয়ে বাকি সব পাতা ও পরিবর্তন ব্রাউজারে JavaScript দিয়ে বানায়, প্রতিবার সার্ভার থেকে নতুন HTML পাতা আনে না।যেখানে শিখবেন: পর্ব ০২পর্ব ৫৪
Space complexityস্পেস কমপ্লেক্সিটি
ইনপুটের আকার n বাড়লে একটি অ্যালগরিদমের বাড়তি মেমরি কোন হারে বাড়ে, তার Big-O মাপ; যেমন সব মান একটি Map-এ রাখলে O(n)যেখানে শিখবেন: পর্ব ৫৯
Sparse arrayস্পার্স অ্যারে
যে array-তে এক বা একাধিক hole (ফাঁকা ঘর) আছে, তাই length উপাদানের আসল সংখ্যার চেয়ে বেশি। Engine এমন array ধীর পথে চালায়; উল্টো, ফাঁকহীন array-কে বলে dense বা packed.যেখানে শিখবেন: পর্ব ১৫
Specificityস্পেসিফিসিটি
CSS selector কতটা নির্দিষ্ট তার মাপ; id selector class-এর চেয়ে, আর class selector ট্যাগ selector-এর চেয়ে বেশি নির্দিষ্ট — বেশি নির্দিষ্টটি জেতে।যেখানে শিখবেন: পর্ব ০২
Spread syntaxস্প্রেড সিনট্যাক্স
তিন ডট ... দিয়ে একটি iterable-এর মানগুলো (function কলে বা array literal-এ), অথবা একটি object-এর নিজস্ব property-গুলো (object literal-এ) আলাদা আলাদা করে ছড়িয়ে দেওয়া, যেমন Math.max(...prices) বা { ...user }. এটি rest-এর উল্টো কাজ।যেখানে শিখবেন: পর্ব ০৮পর্ব ১৩পর্ব ১৪
Spyস্পাই
যে test double প্রতিটি কল আর তার argument রেকর্ড করে, যাতে টেস্ট পরে জিজ্ঞেস করতে পারে “ঠিক একবার, ‘শাড়ি’ দিয়ে ডাকা হয়েছে তো?” — যেমন vi.fn() বা node:test-এর mock.fn()যেখানে শিখবেন: পর্ব ৪৮
SQL (Structured Query Language)এস-কিউ-এল / সিকুয়েল
relational ডেটাবেসের ঘোষণামূলক ভাষা — কীভাবে নয়, কী চাই তা বলা হয়: SELECT, INSERT, UPDATE, DELETE, JOIN, GROUP BY ইত্যাদি।যেখানে শিখবেন: পর্ব ৫২
SQL injectionএস-কিউ-এল ইনজেকশন
ব্যবহারকারীর ইনপুট SQL-এর লেখায় জোড়া লাগার ফলে ইনপুটের অংশ SQL নির্দেশ হিসেবে পড়া হওয়ার নিরাপত্তা-ত্রুটি। প্রতিকার parameterized query.যেখানে শিখবেন: পর্ব ৫২পর্ব ৫৫পর্ব ৫৭
SQLiteএস-কিউ-লাইট
সার্ভারহীন relational ডেটাবেস — একটি library হিসেবে প্রোগ্রামের ভেতরে চলে, পুরো ডেটাবেস একটি ফাইল। মোবাইল অ্যাপ, ব্রাউজার আর টেস্টে বহুল ব্যবহৃত।যেখানে শিখবেন: পর্ব ৫২পর্ব ৫৫
SSG (Static Site Generation)এসএসজি
build-এর সময় একবার সব পাতার HTML বানিয়ে স্থির ফাইল হিসেবে পরিবেশন করা; দ্রুত আর সস্তা, কিন্তু ডেটা বদলালে আবার build করতে হয়যেখানে শিখবেন: পর্ব ৫৪পর্ব ৫৮
SSR (Server-Side Rendering)এসএসআর
প্রতিটি অনুরোধে সার্ভারে component চালিয়ে সম্পূর্ণ HTML বানিয়ে পাঠানো, যাতে লেখা দ্রুত দেখা যায় আর search engine পড়তে পারে; ব্রাউজারে পরে hydration লাগেযেখানে শিখবেন: পর্ব ৫৪পর্ব ৫৮
Stable sortস্টেবল সর্ট
যে সাজানোর পদ্ধতি সমান বিবেচিত উপাদানগুলোর আগের আপেক্ষিক ক্রম বদলায় না। ES2019 থেকে JavaScript-এর sort stable হওয়া বাধ্যতামূলক।যেখানে শিখবেন: পর্ব ১৬পর্ব ৫৯
Stackস্ট্যাক
যে তালিকায় শেষে যোগ হয় আর শেষেরটাই আগে বেরোয় (LIFO — last in, first out), প্লেটের স্তূপের মতো। JavaScript-এ array-র push আর pop দিয়ে বানানো যায়।যেখানে শিখবেন: পর্ব ১৫পর্ব ৫৯
Stack frameস্ট্যাক ফ্রেম
একটি function কলের জন্য call stack-এ রাখা তথ্যের প্যাকেট — argument, local variable আর ফেরার ঠিকানাযেখানে শিখবেন: পর্ব ০৫পর্ব ১৩পর্ব ২৭
Stack traceস্ট্যাক ট্রেস
Error-এর সাথে আসা at … লাইনগুলোর তালিকা, যা দেখায় কোন function কোন ফাইলের কোন লাইন ও column থেকে ডাকা হয়েছিল। ওপরের লাইনটি ভুলের জায়গা।যেখানে শিখবেন: পর্ব ০৪পর্ব ২৯পর্ব ৫০
Stack unwindingস্ট্যাক আনওয়াইন্ডিং
exception ছোড়ার পর engine একটির পর একটি function frame সরিয়ে call stack-এ নিচের দিকে (ডাকার দিকে) যায়, যতক্ষণ না কোনো try/catch পায়; সরানো function-গুলোর বাকি লাইন আর চলে নাযেখানে শিখবেন: পর্ব ২৯
Stale closureস্টেল ক্লোজার
যে closure একটি পুরোনো environment-এর পুরোনো binding ধরে রেখেছে, ফলে পরে চলার সময় এখনকার মানের বদলে পুরোনো মান দেখে। Timer, async কোড আর React hook-এ সাধারণ বাগ।যেখানে শিখবেন: পর্ব ২২পর্ব ৫৪
Stale-while-revalidateস্টেল-হোয়াইল-রিভ্যালিডেট
cache-এর পুরোনো কপি সাথে সাথে দেওয়া, আর একই সময়ে পেছনে network থেকে নতুন কপি এনে cache হালনাগাদ করা, যাতে পরের বার নতুনটি আসে; পণ্যের তালিকার মতো কিছুটা পুরোনো চললেও ক্ষতি নেই এমন ডেটার জন্যযেখানে শিখবেন: পর্ব ৪৪
STAR methodস্টার মেথড
অভিজ্ঞতা বা প্রজেক্টের গল্প গুছিয়ে বলার একটি কাঠামো: Situation (প্রেক্ষাপট), Task (আপনার দায়িত্ব), Action (আপনি কী করলেন) আর Result (কী ফল হলো)।যেখানে শিখবেন: পর্ব ৫৮
Stateস্টেট
অ্যাপ বা একটি component-এর বদলাতে পারে এমন ডেটা — যেমন কার্টের পণ্য বা খোঁজার শব্দ — যা থেকে পাতায় দেখানো সবকিছু হিসাব করা হয়; প্রতিটি ডেটার একটিই মালিক থাকা ভালো।যেখানে শিখবেন: পর্ব ২১পর্ব ৫৪
State machineস্টেট মেশিন
এমন ব্যবস্থা যা যেকোনো সময় নির্দিষ্ট কয়েকটি অবস্থার একটিতে থাকে, আর প্রতিটি ঘটনায় নিয়ম মেনে পরের অবস্থায় যায়; পুরোনো ব্রাউজারের জন্য generator-কে switch-ভিত্তিক state machine-এ রূপান্তর করা হতোযেখানে শিখবেন: পর্ব ২৭পর্ব ৫৫
Statementস্টেটমেন্ট
প্রোগ্রামের একটি সম্পূর্ণ নির্দেশ, যেমন একটি মান বসানো বা কিছু ছাপানো। Engine এগুলো সাধারণত ওপর থেকে নিচে একটির পর একটি চালায়।যেখানে শিখবেন: পর্ব ০৪পর্ব ১১পর্ব ১৩
Static (method/field)স্ট্যাটিক
static দিয়ে ঘোষিত method বা field, যা instance-এর নয়, class-এর নিজের — ডাকা হয় class-এর নাম দিয়ে, যেমন BankAccount.fromJSON(text) বা Math.max()যেখানে শিখবেন: পর্ব ২৬
Static analysisস্ট্যাটিক অ্যানালাইসিস
কোড না চালিয়েই শুধু পড়ে ভুল খোঁজা — ESLint সন্দেহজনক নকশা ধরে, TypeScript টাইপের ভুল ধরে; টেস্টের সবচেয়ে সস্তা, সবচেয়ে নিচের স্তর।যেখানে শিখবেন: পর্ব ৪৮
Static blockস্ট্যাটিক ব্লক
class-এর ভেতরে static { … } অংশ (ES2022), যা class তৈরির সময় একবার চলে। এখানে this হলো class নিজে, আর private static ঘরও ছোঁয়া যায়।যেখানে শিখবেন: পর্ব ২৬
Static factory methodস্ট্যাটিক ফ্যাক্টরি মেথড
class-এর একটি static method, যা constructor-এর বদলে object তৈরি করে ফেরত দেয় — যেমন static async connect(), যা আগে async প্রস্তুতি সেরে তারপর new ডাকে। constructor async হতে পারে না বলে এই নকশাযেখানে শিখবেন: পর্ব ৩৪
Static hostingস্ট্যাটিক হোস্টিং
শুধু তৈরি করা ফাইল (HTML, CSS, JavaScript, ছবি) পরিবেশন করার hosting — সার্ভারে কোনো কোড চলে না; Vite-এর build করা front end রাখার জন্য উপযুক্ত।যেখানে শিখবেন: পর্ব ৫৫
Static typingস্ট্যাটিক টাইপিং
টাইপ কোডে লেখা থাকে (বা বের করা হয়) আর প্রোগ্রাম চালানোর আগেই compiler বা checker যাচাই করে — যেমন C, Java, TypeScript. Dynamic typing-এর বিপরীত।যেখানে শিখবেন: পর্ব ৪৭
stdin / stdout / stderrস্ট্যান্ডার্ড ইন, আউট, এরর
প্রতিটি process-এর তিনটি ডিফল্ট চ্যানেল: stdin দিয়ে ইনপুট আসে, stdout-এ সাধারণ আউটপুট যায়, stderr-এ ভুলের বার্তা। আলাদা থাকায় আউটপুট ফাইলে পাঠালেও ভুলের লেখা তাতে মেশে নাযেখানে শিখবেন: পর্ব ৪৯
Sticky sessionস্টিকি সেশন
Load balancer-এর এমন নিয়ম, যাতে একই client-এর সব অনুরোধ একই সার্ভারে যায়; long polling দিয়ে শুরু হওয়া Socket.IO-র মতো ব্যবস্থায় দরকার, কারণ সেশনের অবস্থা একটি সার্ভারের মেমরিতে থাকেযেখানে শিখবেন: পর্ব ৫১
stopPropagationস্টপ-প্রোপাগেশন
event object-এর method, যা event-কে পরের element-এ যেতে দেয় না; একই element-এর বাকি listener তবু চলে, আর ব্রাউজারের ডিফল্ট কাজ থামে না। অন্যের analytics বা delegation ভাঙতে পারে বলে সাবধানে ব্যবহার করতে হয়।যেখানে শিখবেন: পর্ব ৩৮
storage eventস্টোরেজ ইভেন্ট
localStorage বদলালে একই origin-এর অন্য খোলা পাতায় (ট্যাবে) window-এ যে event আসে; এতে থাকে key, oldValue, newValue, url আর storageArea. যে পাতা লিখল সে নিজে পায় না, আর মান না বদলালে event যায় নাযেখানে শিখবেন: পর্ব ৪০
Storage partitioningস্টোরেজ পার্টিশনিং
iframe বা third-party context-এর storage ও cookie-কে উপরের সাইট ধরে আলাদা রাখা — ফলে একই tracker দুটি আলাদা সাইটে দুটি আলাদা storage পায় আর সাইটগুলোর মধ্যে মানুষকে মেলাতে পারে নাযেখানে শিখবেন: পর্ব ৪০
Storage quotaস্টোরেজ কোটা
একটি origin ব্রাউজারে মোট কত জায়গা (IndexedDB, Cache API ইত্যাদি মিলে) পাবে তার সীমা; ব্রাউজার আর ডিস্কের খালি জায়গার ওপর নির্ভর করে, navigator.storage.estimate() দিয়ে জানা যায়যেখানে শিখবেন: পর্ব ৪০পর্ব ৪৪
Stored XSSস্টোর্ড এক্সএসএস
যে XSS-এ ক্ষতিকর লেখা সার্ভারে (রিভিউ, মন্তব্য, প্রোফাইল) জমা থাকে আর পরে যে-ই পাতাটি খোলেন তাঁর ব্রাউজারে HTML হিসেবে বসেযেখানে শিখবেন: পর্ব ৪৩
Stream (Node.js)স্ট্রিম
ডেটা পুরোটা একসাথে না নিয়ে টুকরো টুকরো (chunk) প্রসেস করার Node.js ব্যবস্থা; চার রকম — Readable, Writable, Duplex, Transform. বড় ফাইল বা নেটওয়ার্কের ডেটা অল্প মেমরিতে সামলানো যায়যেখানে শিখবেন: পর্ব ৪৯
Streaming SSRস্ট্রিমিং এসএসআর
সার্ভার পুরো পাতা তৈরির অপেক্ষা না করে তৈরি অংশগুলো আগে আগে টুকরো করে পাঠায়, আর ধীর ডেটার অংশ পরে আসে; ব্যবহারকারী আগেই কিছু দেখতে পানযেখানে শিখবেন: পর্ব ৫৪
Stress testingস্ট্রেস টেস্টিং
একটি ধীর কিন্তু নিশ্চিতভাবে সঠিক সমাধান আর আসল সমাধানকে অনেকগুলো ছোট এলোমেলো ইনপুটে চালিয়ে ফল মেলানো; প্রথম অমিলের ইনপুটই বাগ খোঁজার সূত্রযেখানে শিখবেন: পর্ব ৫৯
Strict equality (===)স্ট্রিক্ট ইকুয়ালিটি
Type না বদলে দুটি মান তুলনা: type আর মান দুটোই এক হলে সত্য, তাই "1" === 1 মিথ্যা; switch-ও এই তুলনাই ব্যবহার করেযেখানে শিখবেন: পর্ব ০৬পর্ব ০৮পর্ব ১১
Strict modeস্ট্রিক্ট মোড
ES5 (২০০৯) থেকে "use strict" দিয়ে চালু করা কড়া নিয়ম, যাতে নীরব ভুল error হয়ে ধরা পড়ে; ES module আর class-এর কোড নিজে থেকেই strictযেখানে শিখবেন: পর্ব ০৪পর্ব ০৫পর্ব ০৭
strictNullChecksস্ট্রিক্ট নাল চেকস
TypeScript-এর একটি সেটিং (strict-এর অংশ), যেখানে null আর undefined আলাদা টাইপ; “খালি হতে পারে” এমন মান ব্যবহারের আগে যাচাই না করলে compiler error দেয়।যেখানে শিখবেন: পর্ব ৪৭
Stringস্ট্রিং
লেখা বা অক্ষরের সারি, যা একক, দ্বৈত উদ্ধৃতিচিহ্ন বা backtick-এর ভেতরে লেখা হয়, যেমন 'Dhaka'.যেখানে শিখবেন: পর্ব ০৪পর্ব ০৬পর্ব ০৯
String interpolationস্ট্রিং ইন্টারপোলেশন
লেখার ভেতরে কোনো expression-এর মান বসিয়ে দেওয়া; JavaScript-এ template literal-এর ${...} এই কাজ করেযেখানে শিখবেন: পর্ব ০৯
Structural sharingস্ট্রাকচারাল শেয়ারিং
নতুন সংস্করণ বানানোর সময় না-বদলানো অংশ কপি না করে পুরোনো সংস্করণের সাথে ভাগাভাগি করা — যেমন spread দিয়ে বানানো নতুন array পুরোনো object-গুলোর reference রাখে।যেখানে শিখবেন: পর্ব ২১পর্ব ২৩
Structural typingস্ট্রাকচারাল টাইপিং
নাম নয়, আকার দেখে টাইপ মেলানো: প্রয়োজনীয় সব ঘর ঠিক টাইপে থাকলেই একটি মান টাইপটির জায়গায় বসে। TypeScript এই নিয়মে চলে।যেখানে শিখবেন: পর্ব ৪৭পর্ব ৫৭
Structured loggingস্ট্রাকচার্ড লগিং
log-কে মুক্ত লেখা নয়, নির্দিষ্ট field-সহ data হিসেবে লেখা — যেমন প্রতিটি অনুরোধে এক লাইন JSON; ফলে পরে সময়, পথ বা request id দিয়ে খোঁজা আর গোনা যায়।যেখানে শিখবেন: পর্ব ৫৫
structuredClone()স্ট্রাকচার্ড ক্লোন
একটি মানের গভীর কপি বানানোর built-in function. Date, Map, Set, circular reference রক্ষা করে; function কপি করতে পারে না (DataCloneError), আর class-এর prototype হারায়।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৯পর্ব ৪০
Stubস্টাব
যে test double ডাকলে আগে থেকে ঠিক করা উত্তর দেয় — যেমন সবসময় একই দুটি পণ্য; কোডকে input জোগায়, কিন্তু কল মনে রাখে না।যেখানে শিখবেন: পর্ব ৪৮
submit eventসাবমিট ইভেন্ট
ফর্ম জমা দেওয়ার চেষ্টায় (বোতাম চাপা, Enter, requestSubmit) <form>-এর ওপর আসা event; ব্রাউজারের যাচাই সফল হলেই আসে, আর preventDefault() দিয়ে নিজের পাঠানো থামানো যায়যেখানে শিখবেন: পর্ব ৩৯
Subresource Integrity (SRI)সাবরিসোর্স ইন্টেগ্রিটি
script বা link tag-এ integrity="sha384-…" দিয়ে ফাইলের প্রত্যাশিত hash লিখে রাখা; CDN-এর ফাইল এক byte বদলালেও hash মেলে না, আর ব্রাউজার ফাইলটি চালায় নাযেখানে শিখবেন: পর্ব ৪৩
superসুপার
child class-এ parent-কে বোঝানোর keyword. super(...) parent-এর constructor চালায় (this ব্যবহারের আগে বাধ্যতামূলক); super.method() parent-এর method ডাকে, this না বদলে।যেখানে শিখবেন: পর্ব ২৬
Supersetসুপারসেট
এমন ভাষা যার ভেতরে আরেকটি ভাষা পুরোটা আছে, সাথে আরও কিছু। TypeScript JavaScript-এর superset: বৈধ JavaScript (প্রায়) বৈধ TypeScript-ও।যেখানে শিখবেন: পর্ব ৪৭
supertestসুপারটেস্ট
Node.js-এর HTTP টেস্টিং library, যা Express app-কে port না খুলেই নকল অনুরোধ পাঠায় আর status, header, body যাচাই করতে দেয়; Vitest বা Jest-এর সাথে ব্যবহৃতযেখানে শিখবেন: পর্ব ৫০পর্ব ৫৫
Supply-chain attackসাপ্লাই-চেইন অ্যাটাক
সরাসরি আপনার কোডে নয়, আপনি যার ওপর নির্ভর করেন — npm package, CDN script, build tool — সেখানে ক্ষতিকর কোড ঢুকিয়ে আপনার ব্যবহারকারীদের কাছে পৌঁছানোযেখানে শিখবেন: পর্ব ৪৩পর্ব ৪৬পর্ব ৪৯
Surrogate pairসারোগেট পেয়ার
UTF-16-এ U+FFFF-এর চেয়ে বড় একটি code point রাখতে ব্যবহৃত দুটি ১৬-বিটের code unit-এর জোড়া; এজন্যই "🙂".length হলো 2যেখানে শিখবেন: পর্ব ০৯পর্ব ১৯পর্ব ৩০
switch statementসুইচ স্টেটমেন্ট
একটি মানকে ওপর থেকে একে একে case-এর মানের সাথে === দিয়ে মেলায়, প্রথম মিল থেকে কোড চালায়; break না থাকলে পরের case-এও চলে, কোনোটি না মিললে defaultযেখানে শিখবেন: পর্ব ১১
Symbolসিম্বল
প্রতিবার তৈরি হলে অনন্য একটি primitive মান, Symbol("id") দিয়ে তৈরি; ES2015-এ যুক্ত, মূলত object-এর লুকানো বা সংঘর্ষহীন property-র নাম হিসেবে ব্যবহৃত।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৪পর্ব ২৬
Symbol.hasInstanceসিম্বল ডট হ্যাজ-ইনস্ট্যান্স
একটি well-known Symbol (ES2015); ডান পাশের object-এ এই নামের method থাকলে instanceof সেটি ডেকেই উত্তর ঠিক করে, না থাকলে স্বাভাবিকভাবে prototype chain দেখেযেখানে শিখবেন: পর্ব ২৫
Symbol.iteratorসিম্বল ডট ইটারেটর
ভাষার নিজস্ব একটি বিশেষ Symbol; কোনো object-এ এই নামের method থাকলে এবং সেটি iterator দিলে object-টি iterable হয়, আর for…of, spread, destructuring তার সাথে কাজ করেযেখানে শিখবেন: পর্ব ২৭
Sync API (…Sync)সিংক এপিআই
Node.js-এর যেসব function-এর নাম Sync দিয়ে শেষ, যেমন readFileSync: কাজ শেষ না হওয়া পর্যন্ত ফেরে না, তাই সেই সময় event loop আটকে থাকে। প্রোগ্রাম শুরুতে বা ছোট script-এ চলে, সার্ভারের request-এর পথে নয়যেখানে শিখবেন: পর্ব ৪৯
Synchronousসিনক্রোনাস
লাইনের পর লাইন চলা কোড, যেখানে একটি কাজ শেষ না হলে পরেরটি শুরু হয় না; ফল হাতে নিয়েই পরের লাইনে যায়যেখানে শিখবেন: পর্ব ৩১পর্ব ৪০
Syntactic sugarসিনট্যাকটিক সুগার
নতুন ক্ষমতা না এনে একই কাজ আরও সহজে বা পরিষ্কারভাবে লেখার ব্যাকরণ। JavaScript-এর class-কে প্রায়ই prototype-এর ওপর sugar বলা হয়, যদিও এতে কিছু সত্যিকারের নতুন ক্ষমতাও আছে।যেখানে শিখবেন: পর্ব ২৬পর্ব ৩৪
SyntaxErrorসিনট্যাক্স এরর
কোডের ব্যাকরণ ভুল হলে parser-এর দেওয়া error; parse-এর সময় ধরা পড়ে বলে সেই script-এর কোনো লাইনই চলে না। তবে JSON.parse-এর মতো চলার সময় লেখা পড়ার ভুলে আসা SyntaxError সাধারণ exception, try/catch দিয়ে ধরা যায়।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৫পর্ব ১৯

T

Tagged templateট্যাগড টেমপ্লেট
Backtick-এর ঠিক আগে একটি function-এর নাম (tag`...`); JavaScript স্থির টুকরোগুলোর array আর ${}-এর মান সেই function-কে দেয়, function ঠিক করে কী ফেরত যাবে। String.raw এর একটি built-in উদাহরণযেখানে শিখবেন: পর্ব ০৯
Tail callটেইল কল
একটি function-এর একেবারে শেষ কাজ যখন আরেকটি function কল। Proper tail call-এ পুরোনো stack frame ফেলে দেওয়া যায়, তাই recursion-এ stack বাড়ে না; ES2015 মানদণ্ডে থাকলেও কার্যত শুধু Safari এটি চালু করেছে।যেখানে শিখবেন: পর্ব ২৩পর্ব ৫৯
Take-home assignmentটেক-হোম অ্যাসাইনমেন্ট
ইন্টারভিউর একটি ধাপ, যেখানে প্রার্থী নিজের সময়ে নির্দিষ্ট সীমার মধ্যে একটি ছোট অ্যাপ বা কাজ বানিয়ে জমা দেন; পরে সেই কোড নিয়ে আলোচনা হয়যেখানে শিখবেন: পর্ব ৫৯
Target (Proxy)টার্গেট
যে আসল object বা function-কে Proxy মুড়ে রাখে। Handler-এ কোনো trap না থাকলে কাজটি সরাসরি target-এ যায়, আর invariant যাচাইও target-এর সাথে মিলিয়ে হয়।যেখানে শিখবেন: পর্ব ২৮
Task queue (macrotask)টাস্ক কিউ
setTimeout, ক্লিক বা নেটওয়ার্ক ইভেন্টের callback যে লাইনে অপেক্ষা করে; event loop প্রতিবার এখান থেকে একটি করে কাজ নেয়যেখানে শিখবেন: পর্ব ০৫পর্ব ৩১পর্ব ৩২
TC39টি-সি-থার্টি-নাইন
Ecma International-এর Technical Committee 39 — ব্রাউজার নির্মাতা ও প্রযুক্তি কোম্পানির প্রতিনিধিদের কমিটি, যারা ঐকমত্যের ভিত্তিতে ECMAScript-এ নতুন বৈশিষ্ট্য যোগ করে।যেখানে শিখবেন: পর্ব ০১পর্ব ১১পর্ব ২৮
TCP (Transmission Control Protocol)টিসিপি
ইন্টারনেটের যে পরিবহন প্রোটোকল দুই যন্ত্রের মধ্যে একটি নির্ভরযোগ্য সংযোগ দেয় — সব byte ঠিক ক্রমে, না হারিয়ে পৌঁছায়; HTTP/1.1, HTTP/2 আর WebSocket এর ওপর চলেযেখানে শিখবেন: পর্ব ৫১
TDZ (Temporal Dead Zone)টেম্পোরাল ডেড জোন
scope শুরু হওয়া থেকে let, const বা class-এর ঘোষণার লাইন চলা পর্যন্ত সময়। এই সময়ে নামটি আছে কিন্তু ছোঁয়া যায় না — পড়লে বা লিখলে (typeof দিয়েও) ReferenceError.যেখানে শিখবেন: পর্ব ০৭পর্ব ১১পর্ব ২৬
Template literalটেমপ্লেট লিটারাল
Backtick (`) দিয়ে লেখা string (ES2015 থেকে), যার ভেতরে ${...} দিয়ে expression-এর মান বসানো যায় আর সরাসরি একাধিক লাইন লেখা যায়যেখানে শিখবেন: পর্ব ০৯পর্ব ২৮
Temporal APIটেম্পোরাল এপিআই
TC39-এর নতুন তারিখ-সময়ের API — immutable object, মাস ১ থেকে, আর মুহূর্ত (Instant), শুধু তারিখ (PlainDate) ও জোনসহ সময়ের (ZonedDateTime) আলাদা টাইপ; সব runtime-এ এখনো নেই।যেখানে শিখবেন: পর্ব ২০
Terminalটার্মিনাল
লেখা কমান্ড দিয়ে কম্পিউটার চালানোর জানালা — Windows-এ PowerShell বা Command Prompt, macOS/Linux-এ Terminal.যেখানে শিখবেন: পর্ব ০৩পর্ব ৪৯
Ternary operator (? :)টারনারি অপারেটর
শর্ত ? মান১ : মান২ — শর্ত সত্য হলে প্রথম মান, নইলে দ্বিতীয় মান দেয়; if…else-এর মতো, কিন্তু এটি expression, তাই সরাসরি variable-এ বসানো যায়যেখানে শিখবেন: পর্ব ০৮পর্ব ১১
Test doubleটেস্ট ডাবল
টেস্টের সময় আসল নির্ভরতার (নেটওয়ার্ক, ঘড়ি, SMS) জায়গায় বসানো নকল — সিনেমার স্টান্ট ডাবলের মতো; stub, spy, mock আর fake এর বিভিন্ন রূপ।যেখানে শিখবেন: পর্ব ৪৮
Test hook (beforeEach/afterEach)টেস্ট হুক
টেস্টের আগে বা পরে নিজে থেকে চলা function — beforeEach প্রতিটি টেস্টের আগে নতুন প্রস্তুতি নেয়, afterEach পরে পরিষ্কার করে; এতে এক টেস্টের অবস্থা আরেকটিতে যায় না।যেখানে শিখবেন: পর্ব ৪৮
Test runnerটেস্ট রানার
যে টুল টেস্ট ফাইল খুঁজে বের করে, প্রতিটি টেস্ট চালায়, পাস-ফেল গুনে রিপোর্ট দেয় আর কিছু ফেল করলে exit code 1 দিয়ে শেষ করে — যেমন Vitest, Jest বা Node-এর node --testযেখানে শিখবেন: পর্ব ৪৮
Test suiteটেস্ট স্যুট
একসাথে রাখা কয়েকটি টেস্টের দল — Vitest/Jest-এ describe("cart", ...) দিয়ে বানানো; প্রজেক্টের সব টেস্ট মিলেও “পুরো স্যুট” বলা হয়।যেখানে শিখবেন: পর্ব ৪৮
Test-driven development (TDD)টি-ডি-ডি
আগে একটি ব্যর্থ টেস্ট (red), তারপর তা পাস করানোর ন্যূনতম কোড (green), তারপর টেস্ট সবুজ রেখে কোড পরিষ্কার (refactor) — ছোট ছোট চক্রে কাজের পদ্ধতি; Kent Beck-এর ২০০২ সালের বই একে জনপ্রিয় করে।যেখানে শিখবেন: পর্ব ৪৮
Testing Libraryটেস্টিং লাইব্রেরি
Kent C. Dodds-এর শুরু করা লাইব্রেরি-পরিবার, যার নীতি: ব্যবহারকারী যেভাবে পাতা দেখেন, টেস্টও সেভাবে খুঁজবে — getByRole, getByLabelText, লেখা দিয়ে, CSS class দিয়ে নয়।যেখানে শিখবেন: পর্ব ৪৮
Testing pyramidটেস্টিং পিরামিড
Mike Cohn-এর জনপ্রিয় করা ছবি (২০০৯): নিচে অনেক দ্রুত unit টেস্ট, মাঝে কম integration, চূড়ায় অল্প কয়েকটি ধীর E2E টেস্ট।যেখানে শিখবেন: পর্ব ৪৮পর্ব ৫৫
Testing trophyটেস্টিং ট্রফি
Kent C. Dodds-এর আঁকা ছবি (২০১৮): নিচে static analysis, তারপর unit, সবচেয়ে মোটা অংশ integration, ওপরে E2E — ফ্রন্টএন্ডে বেশিরভাগ বাগ অংশগুলোর জোড়ায় থাকে, এই যুক্তিতে।যেখানে শিখবেন: পর্ব ৪৮
Text nodeটেক্সট নোড
DOM গাছে লেখার একটি টুকরো — ট্যাগের মাঝের লেখা, এমনকি HTML সাজাতে দেওয়া নতুন লাইন আর ফাঁকা ঘরও। এর কোনো সন্তান থাকে না; nodeType 3.যেখানে শিখবেন: পর্ব ৩৭
text/event-stream formatইভেন্ট-স্ট্রিম ফরম্যাট
SSE-র লেখার ফরম্যাট: প্রতিটি লাইন field: মান (data, event, id, retry), : দিয়ে শুরু হলে comment, আর একটি ফাঁকা লাইন মানে একটি event শেষ। শুধু UTF-8 লেখা চলেযেখানে শিখবেন: পর্ব ৫১
textContentটেক্সটকনটেন্ট
DOM উপাদানের ভেতরের লেখা পড়া বা বদলানোর property. যা দেওয়া হয় তা শুধু সাধারণ লেখা হিসেবে বসে, HTML হিসেবে নয় — তাই ব্যবহারকারীর ডেটার জন্য নিরাপদ।যেখানে শিখবেন: পর্ব ০৪পর্ব ২১
Thenableদেনেবল
then নামের method আছে এমন যেকোনো object; Promise.resolve, await আর then-এর ফেরত মান এদের promise-এর মতো ধরে নিয়ে মান বের করে আনে — তাই বিভিন্ন promise library একসাথে কাজ করতে পারেযেখানে শিখবেন: পর্ব ৩৩
Think aloudথিংক অ্যালাউড
সমস্যা সমাধানের সময় নিজের ভাবনার ধাপগুলো জোরে বলা, যাতে পরীক্ষক বা ইন্টারভিউয়ার আপনার যুক্তির পথ দেখতে পান — উত্তর পুরো ঠিক না হলেও।যেখানে শিখবেন: পর্ব ৫৮পর্ব ৫৯
thisদিস
function-এর ভেতরের একটি বিশেষ মান, যা ঠিক হয় function কীভাবে ডাকা হলো তা দেখে। obj.method() আকারে ডাকলে this হলো obj; method আলাদা করে ডাকলে this হারায়। Arrow function-এর নিজের this নেই।যেখানে শিখবেন: পর্ব ১৪পর্ব ২৪পর্ব ২৬
thisArgদিস আর্গ
forEach, map, filter, some, every, find-এর মতো array method-এর ঐচ্ছিক দ্বিতীয় argument, যা callback-এর this হিসেবে বসে, যেমন list.forEach(printer.print, printer). Arrow callback-এ এর প্রভাব নেই।যেখানে শিখবেন: পর্ব ২৪
Threadথ্রেড
একটি প্রোগ্রামের ভেতরে কাজ চালানোর একটি স্বাধীন ধারা, যার নিজের call stack থাকে; একাধিক thread একসাথে আলাদা কাজ করতে পারেযেখানে শিখবেন: পর্ব ০৫পর্ব ১২পর্ব ৪২
Thread poolথ্রেড পুল
আগে থেকে তৈরি করে রাখা কয়েকটি thread, যাদের মধ্যে কাজ ভাগ করে দেওয়া হয়; libuv ডিফল্টভাবে ৪টি thread রাখে ফাইল পড়া, DNS খোঁজা আর কিছু crypto কাজের জন্যযেখানে শিখবেন: পর্ব ৩১পর্ব ৪২পর্ব ৪৯
Threat modelথ্রেট মডেল
কে আক্রমণ করতে পারে, কোন পথে কী পাঠাতে পারে আর কোন জিনিস রক্ষা করতে হবে — নিরাপত্তা-নকশার শুরুতে এই প্রশ্নগুলোর লিখিত উত্তরযেখানে শিখবেন: পর্ব ৪৩
Throttleথ্রটল
নির্দিষ্ট সময়ের জানালায় একটি function বড়জোর একবার চালানোর কৌশল; মাঝের কলগুলো বাদ পড়ে, তবে টানা event চললেও নিয়মিত তালে চলতে থাকে। Scroll, mousemove আর বোতামে বারবার চাপে ব্যবহার হয়।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৩৮পর্ব ৪১
throwথ্রো
যে statement বর্তমান কাজ সাথে সাথে থামিয়ে একটি মান exception হিসেবে ছুড়ে দেয়; পরের লাইনগুলো আর চলে না। যেকোনো মান ছোড়া যায়, তবে নিয়ম হলো Error object ছোড়াযেখানে শিখবেন: পর্ব ২৯
Thundering herdথান্ডারিং হার্ড
অনেক client বা process একই মুহূর্তে একই সম্পদের দিকে ছুটে যাওয়া — যেমন সার্ভার ফিরে এলে সবার retry একসাথে, বা cache-এর মেয়াদ শেষে হাজার request একসাথে ডেটাবেসে। Jitter আর request coalescing এর প্রতিকার।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫১
Tilde range (~)টিল্ড রেঞ্জ
শুধু PATCH বাড়তে দেয়: ~1.4.2 = >=1.4.2 <1.5.0; caret-এর চেয়ে সাবধানী সীমাযেখানে শিখবেন: পর্ব ৪৬
Time complexity (Big-O)টাইম কমপ্লেক্সিটি / বিগ-ও
input-এর আকার n বাড়লে একটি অ্যালগরিদমের কাজ কোন হারে বাড়ে তার বর্ণনা; যেমন O(n) মানে n দ্বিগুণ হলে কাজ দ্বিগুণ, O(n²) মানে চার গুণযেখানে শিখবেন: পর্ব ৫৩পর্ব ৫৮পর্ব ৫৯
Time zoneটাইম জোন
একটি অঞ্চলের দেয়ালঘড়ির নিয়ম — UTC থেকে কত ঘণ্টা পার্থক্য আর কবে DST শুরু-শেষ, তার ইতিহাসসহ; যেমন Asia/Dhaka, America/New_York.যেখানে শিখবেন: পর্ব ২০
Timer clampingটাইমার ক্ল্যাম্পিং
ব্রাউজারের নিয়ম যে timer-এর ভেতর থেকে timer পাঁচ স্তরের বেশি নেস্টেড হলে ৪ ms-এর কম দেরি চাইলেও অন্তত ৪ ms ধরা হয়; লুকানো tab-এ timer আরও ধীর হয়যেখানে শিখবেন: পর্ব ৩১পর্ব ৩২
Timer driftটাইমার ড্রিফট
Timer প্রতিবার নির্ধারিত সময়ের চেয়ে সামান্য দেরিতে চলে আর সেই দেরি জমতে থাকে — ব্যস্ত main thread বা পেছনের ট্যাবে ধীর করা timer-এর কারণে; তাই tick গুনে সময় না মেপে শেষ সময় থেকে বাকি সময় হিসাব করতে হয়।যেখানে শিখবেন: পর্ব ৩২
Timer idটাইমার আইডি
setTimeout বা setInterval-এর ফেরত দেওয়া পরিচয়, যা clearTimeout বা clearInterval-এ দিয়ে timer থামানো হয়; ব্রাউজারে এটি একটি ধনাত্মক পূর্ণসংখ্যা, আর Node.js-এ একটি Timeout object, যার unref ও refresh method আছে।যেখানে শিখবেন: পর্ব ৩২
Timestampটাইমস্ট্যাম্প
একটি মুহূর্তকে প্রকাশ করা সংখ্যা — JavaScript-এ epoch থেকে পেরোনো মিলিসেকেন্ড (getTime() বা Date.now()-এর ফল); সব time zone-এ একই।যেখানে শিখবেন: পর্ব ২০
TLS certificate (যেমন Let's Encrypt)টি-এল-এস সার্টিফিকেট
একটি ডিজিটাল দলিল যা প্রমাণ করে সার্ভারটি সত্যিই ওই domain-এর, আর HTTPS-এর এনক্রিপশন সম্ভব করে। Let's Encrypt একটি অলাভজনক certificate authority, যার স্বল্পমেয়াদি certificate certbot-এর মতো টুল নিজে থেকে নবায়ন করে।যেখানে শিখবেন: পর্ব ৫৫
toFixed()টু-ফিক্সড
number-কে দশমিকের পরে নির্দিষ্ট সংখ্যক অঙ্কে গোল করে string হিসেবে ফেরত দেয় এমন method; জমা থাকা আসল double ধরে গোল করেযেখানে শিখবেন: পর্ব ১০
toJSON()টু-জেসন
কোনো object-এ এই method থাকলে JSON.stringify object-টির বদলে এর ফেরত মান লেখে; Date-এর toJSON ISO string দেয়, আর নিজের class-এ লিখে লেখার রূপ ঠিক করা যায়যেখানে শিখবেন: পর্ব ১৯পর্ব ২৬
Tokenটোকেন
Source code-এর ক্ষুদ্রতম অর্থপূর্ণ টুকরো — keyword, নাম, সংখ্যা, string বা চিহ্ন; scanner লেখাকে প্রথমে token-এ ভাঙেযেখানে শিখবেন: পর্ব ০৫
Toolchainটুলচেইন
কোড লেখা থেকে চালানো বা প্রকাশ পর্যন্ত একসাথে ব্যবহৃত টুলের সারি; JavaScript-এ সাধারণত package manager, bundler, linter, formatter আর test runnerযেখানে শিখবেন: পর্ব ৪৬
Top-level awaitটপ-লেভেল অ্যাওয়েট
ES module-এর একেবারে বাইরের স্তরে, কোনো async function ছাড়াই await লেখার সুবিধা, ES2022-এ যুক্ত। এই module-কে import করা module-গুলো তার শেষ হওয়া পর্যন্ত অপেক্ষা করে; classic script-এ এটি SyntaxErrorযেখানে শিখবেন: পর্ব ৩৪পর্ব ৪৫
ToPrimitiveটু-প্রিমিটিভ
ECMAScript-এর ভেতরের নিয়ম, যা object-কে primitive-এ বদলায়: object-এ Symbol.toPrimitive থাকলে আগে সেটি; না থাকলে সংখ্যার প্রসঙ্গে আগে valueOf() তারপর toString(), লেখার প্রসঙ্গে উল্টো ক্রমে — তাই [] হয় "" আর {} হয় "[object Object]".যেখানে শিখবেন: পর্ব ০৬পর্ব ২৮
Trace tableট্রেস টেবিল
Dry run-এর খাতা: প্রতিটি কলামে একটি ভ্যারিয়েবল (TDZ-সহ অবস্থা), প্রতিটি সারিতে একটি ধাপ, আর একটি কলামে যা ছাপা হলো। Async কোডে microtask আর task-এর জন্য আলাদা দুটি কলাম রাখা হয়।যেখানে শিখবেন: পর্ব ৫৬
Trace viewerট্রেস ভিউয়ার
Playwright-এর টুল, যা একটি টেস্ট রানের রেকর্ড (trace) দেখায় — প্রতিটি ধাপের আগে-পরে পাতার DOM snapshot, network request আর console বার্তা; CI-তে ফেল হওয়া টেস্ট খুঁটিয়ে দেখতে কাজে লাগে।যেখানে শিখবেন: পর্ব ৪৮
Transactionট্রানজ্যাকশন
ডেটাবেসের কয়েকটি পড়া-লেখাকে একসাথে বাঁধা একক কাজ — হয় সবগুলো সফল হয়ে জমা (commit) হয়, নয়তো কোনোটিই নয়, অর্থাৎ পুরোটা বাতিল (rollback বা abort) হয়। SQL-এ BEGIN … COMMIT/ROLLBACK দিয়ে লেখা হয়; IndexedDB-তে অপেক্ষমাণ request শেষ হলে নিজে থেকেই commit হয়।যেখানে শিখবেন: পর্ব ৪০পর্ব ৫২পর্ব ৫৫
Transferable objectট্রান্সফারেবল অবজেক্ট
যে object (যেমন ArrayBuffer, MessagePort, ImageBitmap, OffscreenCanvas) postMessage-এ কপি না করে মালিকানা বদলে পাঠানো যায়; ডেটা যত বড়ই হোক প্রায় তাৎক্ষণিক, কিন্তু পাঠানো দিক আর তা ব্যবহার করতে পারে নাযেখানে শিখবেন: পর্ব ৪২
Transform streamট্রান্সফর্ম স্ট্রিম
Duplex stream-এর বিশেষ রূপ, যার লেখা দিকে ঢোকা ডেটা বদলে পড়া দিকে বের হয় — যেমন gzip সংকোচন, encryption বা লাইন ভাগ করা। transform আর শেষে flush method দিয়ে বানানো হয়যেখানে শিখবেন: পর্ব ৪৯
Transient errorট্রানজিয়েন্ট এরর
ক্ষণস্থায়ী ভুল, যা একটু পরে আবার চেষ্টা করলে প্রায়ই সেরে যায় — নেটওয়ার্ক বিচ্ছিন্নতা, 429 Too Many Requests, 503 Service Unavailable, 504 Gateway Timeout ইত্যাদি। এর বিপরীত স্থায়ী ভুল, যেমন 400 বা 404.যেখানে শিখবেন: পর্ব ৩৬
Transitive dependencyট্রানজিটিভ ডিপেনডেন্সি
আপনি সরাসরি চাননি, কিন্তু আপনার dependency-র dependency হিসেবে আসা package; বড় প্রজেক্টে এদের সংখ্যা সরাসরি dependency-র চেয়ে অনেক গুণ বেশিযেখানে শিখবেন: পর্ব ৪৬
Transpilerট্রান্সপাইলার
এক ভাষা বা সংস্করণের source code-কে আরেক ভাষা বা সংস্করণের source code-এ রূপান্তর করার টুল, যেমন Babel নতুন JavaScript-কে পুরোনো ব্রাউজারে চলার মতো JavaScript-এ, আর TypeScript compiler TypeScript-কে JavaScript-এ বদলায়যেখানে শিখবেন: পর্ব ২৭পর্ব ৪৬পর্ব ৫৪
Trapট্র্যাপ
Proxy-র handler-এর একটি method, যা একটি নির্দিষ্ট মৌলিক কাজ ধরে — যেমন get (পড়া), set (লেখা), has (in), deleteProperty, ownKeys, apply, construct. মোট ১৩টি trap আছে।যেখানে শিখবেন: পর্ব ২৮
Tree shakingট্রি শেকিং
bundler-এর যে কৌশলে কেউ import করেনি এমন export চূড়ান্ত ফাইল থেকে বাদ পড়ে; ES module-এর static import-এর কারণেই এটি নির্ভরযোগ্যভাবে সম্ভবযেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৬পর্ব ৫৩
Trusted Typesট্রাস্টেড টাইপস
ব্রাউজারের একটি ব্যবস্থা (CSP-র require-trusted-types-for দিয়ে চালু), যেখানে innerHTML-এর মতো sink সাধারণ string নেয় না — শুধু অনুমোদিত policy-র তৈরি বিশেষ object নেয়; আগে Chromium-এ এসেছেযেখানে শিখবেন: পর্ব ৪৩
Trusted Web Activity (TWA)ট্রাস্টেড ওয়েব অ্যাক্টিভিটি
একটি PWA-কে Android অ্যাপ হিসেবে মুড়ে Play Store-এ দেওয়ার উপায়; ভেতরে Chrome-এ সাইটটিই ঠিকানার বার ছাড়া চলে, আর সাইটের মালিকানা প্রমাণ করতে Digital Asset Links ফাইল লাগেযেখানে শিখবেন: পর্ব ৪৪
Truthyট্রুথি
যে মান শর্তে (if, &&, ||, ternary) সত্য হিসেবে গণ্য হয়; falsy তালিকার বাইরের সব মান — "0", "false", [] আর {} সহযেখানে শিখবেন: পর্ব ০৬পর্ব ০৮পর্ব ১১
try...catchট্রাই-ক্যাচ
try block-এর ভেতরে ছোড়া exception ধরার কাঠামো; exception এলে try-এর বাকি অংশ বাদ পড়ে আর catch (err) block চলে। ES3 (১৯৯৯) থেকে ভাষার অংশযেখানে শিখবেন: পর্ব ২৯পর্ব ৩৪
tsconfig.jsonটিএস-কনফিগ
TypeScript প্রজেক্টের সেটিং ফাইল — কোন ফাইল যাচাই হবে, target কোন JavaScript version, strict চালু কি না, module কীভাবে খোঁজা হবে ইত্যাদি। npx tsc --init দিয়ে তৈরি হয়।যেখানে শিখবেন: পর্ব ৪৭
TTFB (Time to First Byte)টিটিএফবি
request পাঠানো থেকে সার্ভারের উত্তরের প্রথম byte পৌঁছানো পর্যন্ত সময়; সহায়ক মেট্রিক, ০.৮ সেকেন্ড বা কম হলে ভালোযেখানে শিখবেন: পর্ব ৫৩
TTL (Time to live)টিটিএল — টাইম টু লিভ
কোনো জমানো ডেটা কতক্ষণ বৈধ থাকবে তার মেয়াদ; সাধারণত রাখার সময় expiresAt timestamp লিখে পড়ার সময় বর্তমান সময়ের সাথে মিলিয়ে দেখা হয়, মেয়াদ শেষ হলে ডেটা বাদযেখানে শিখবেন: পর্ব ৪০পর্ব ৫২
Tupleটাপল
নির্দিষ্ট দৈর্ঘ্যের array-র টাইপ, যার প্রতিটি অবস্থানের নিজস্ব টাইপ আছে, যেমন [number, number] বা [string, boolean].যেখানে শিখবেন: পর্ব ৪৭
Two-factor authentication (2FA)টু-ফ্যাক্টর অথেন্টিকেশন
পাসওয়ার্ডের সাথে দ্বিতীয় একটি প্রমাণ (অ্যাপের কোড বা security key) চাওয়া; npm account-এ থাকলে শুধু চুরি করা পাসওয়ার্ড দিয়ে লগইন বা package প্রকাশ করা যায় না।যেখানে শিখবেন: পর্ব ৪৬
Type aliasটাইপ অ্যালিয়াস
type শব্দ দিয়ে যেকোনো টাইপকে একটি নাম দেওয়া, যেমন type Status = "paid" | "shipped". object, union, tuple, function — সব টাইপের নাম দেওয়া যায়।যেখানে শিখবেন: পর্ব ৪৭
Type annotationটাইপ অ্যানোটেশন
নামের পরে : টাইপ লিখে বলে দেওয়া মানটি কোন ধরনের, যেমন delivery: number. TypeScript-এ এটি শুধু checker-এর জন্য; চলার আগে মুছে ফেলা হয়।যেখানে শিখবেন: পর্ব ৪৭
Type assertion (as)টাইপ অ্যাসারশন
value as Type লিখে compiler-কে জোর করে একটি টাইপ মানানো। কোনো যাচাই বা রূপান্তর হয় না, চলার সময় মুছে যায় — ভুল হলে বাগ লুকিয়ে থাকে।যেখানে শিখবেন: পর্ব ৪৭
Type checkerটাইপ চেকার
কোড না চালিয়ে শুধু পড়ে প্রতিটি মান আর তার টাইপ মিলিয়ে দেখার টুল। TypeScript-এ tsc আর editor-এর language service এই কাজ করে।যেখানে শিখবেন: পর্ব ৪৭
Type coercionটাইপ কোয়ার্শন
JavaScript-এর নিজে থেকে এক টাইপের মানকে অন্য টাইপে বদলে নেওয়া — যেমন "5" - 2 দেয় 3, কিন্তু "5" + 2 দেয় "52". অনেক চুপচাপ ভুলের উৎস।যেখানে শিখবেন: পর্ব ০১পর্ব ০৬পর্ব ০৮
Type erasureটাইপ ইরেজার
যাচাইয়ের পর টাইপের তথ্য মুছে ফেলা, যাতে চলার সময় কোনো টাইপ না থাকে। TypeScript-এর সব টাইপ এভাবে মুছে যায়; Java-র generics-এও একই ব্যবস্থা।যেখানে শিখবেন: পর্ব ৪৭পর্ব ৫৭পর্ব ৫৮
Type guardটাইপ গার্ড
যে শর্ত বা function narrowing ঘটায় — typeof, in, instanceof, বা নিজের লেখা (x: unknown): x is Product ধরনের function. নিজের guard-এর যুক্তি compiler যাচাই করে না।যেখানে শিখবেন: পর্ব ৪৭
Type inferenceটাইপ ইনফারেন্স
টাইপ লেখা না থাকলেও compiler নিজে মান আর ব্যবহার দেখে টাইপ বের করে নেওয়া, যেমন let total = 0 থেকে number. এজন্য সব জায়গায় টাইপ লিখতে হয় না।যেখানে শিখবেন: পর্ব ৪৭
Type strippingটাইপ স্ট্রিপিং
যাচাই না করে শুধু TypeScript-এর টাইপ-অংশ মুছে বাকি JavaScript চালানো। Node.js (Node 23.6 থেকে flag ছাড়াই), esbuild, Vite এভাবে কাজ করে; enum-এর মতো যেসব syntax কোড বানায় তা শুধু-মোছা পদ্ধতিতে চলে না।যেখানে শিখবেন: পর্ব ৪৭
Typed arrayটাইপড অ্যারে
নির্দিষ্ট আকারের, এক টাইপের সংখ্যার array — যেমন Uint8Array, Int32Array, Float64Array. ভেতরে একটি ArrayBuffer-এর bytes পড়ে; ছবি, অডিও, ফাইল, WebGL আর WebAssembly-র মতো কাজে দ্রুত।যেখানে শিখবেন: পর্ব ১৫পর্ব ১৯পর্ব ৪২
TypeErrorটাইপ এরর
নাম আছে, কিন্তু তার মান দিয়ে চাওয়া কাজটি করা যায় না — যেমন undefined-কে function হিসেবে ডাকা, null-এর property পড়া, const-এ নতুন মান বসানো, BigInt আর number মেশানো বা BigInt-কে JSON.stringify করা।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৬পর্ব ১০
typeofটাইপঅফ
কোনো মানের টাইপ string আকারে জানানোর অপারেটর, যেমন typeof 42 দেয় "number". ফাঁকি: null-এ "object", function-এ "function".যেখানে শিখবেন: পর্ব ০৬
typeofটাইপঅফ
মানের টাইপের নাম string হিসেবে দেয় — "number", "string", "boolean", "undefined", "bigint", "symbol", "function", "object"; ঐতিহাসিক কারণে typeof null হলো "object"যেখানে শিখবেন: পর্ব ০৮
TypeScriptটাইপস্ক্রিপ্ট
Microsoft-এর তৈরি (২০১২) JavaScript-এর ওপর টাইপের একটি স্তর। কোড চালানোর আগেই টাইপের ভুল ধরে; চালানোর সময় টাইপ মুছে সাধারণ JavaScript হয়ে যায়।যেখানে শিখবেন: পর্ব ০১পর্ব ০৬পর্ব ১৩
Typosquattingটাইপোস্কোয়াটিং
জনপ্রিয় package-এর নামের কাছাকাছি বানানে (যেমন cross-env-এর বদলে crossenv) ক্ষতিকর package প্রকাশ করে মানুষের বানান-ভুলের অপেক্ষা করাযেখানে শিখবেন: পর্ব ৪৬

U

UMD (Universal Module Definition)ইউএমডি
একটি মোড়ক-নকশা, যা চালানোর সময় দেখে AMD-র define, CommonJS-এর module নাকি শুধু global আছে, আর সেই অনুযায়ী নিজেকে রপ্তানি করে; library যাতে সব পরিবেশে চলেযেখানে শিখবেন: পর্ব ৪৫
Unary operatorইউনারি অপারেটর
মাত্র একটি operand নেয় এমন operator — যেমন -x, !ok, typeof v, i++যেখানে শিখবেন: পর্ব ০৮
Unary plus (+x)ইউনারি প্লাস
মানের সামনে + বসালে মানটিকে number-এ বদলায় — প্রায় Number(x)-এর মতোই (ব্যতিক্রম: BigInt-এ error দেয়); যেমন +"42" দেয় 42.যেখানে শিখবেন: পর্ব ০৬
Uncaught exceptionআনকট এক্সেপশন
যে exception কোনো catch ধরেনি; ব্রাউজারে সেই script-এর কাজ থামে আর console-এ Uncaught … দেখায়, Node.js-এ পুরো process বন্ধ হয়ে যায়যেখানে শিখবেন: পর্ব ২৯পর্ব ৩২
undefinedআনডিফাইনড
“এখনো কোনো মান দেওয়া হয়নি” বোঝানোর মান ও টাইপ; মান ছাড়া ঘোষিত variable, নেই এমন property বা কিছু return না করা function-এর ফল।যেখানে শিখবেন: পর্ব ০৬
Undo stackআনডু স্ট্যাক
আগের অবস্থাগুলো (বা কাজগুলো) জমা রাখার একটি stack — শেষে ঢোকে, শেষ থেকে বেরোয় (LIFO নিয়ম)। undo মানে stack-এর ওপরের অবস্থাটি তুলে আনা।যেখানে শিখবেন: পর্ব ২১
Unhandled rejectionআনহ্যান্ডেলড রিজেকশন
ব্যর্থ (rejected) promise, যার ভুল কেউ catch বা try/await দিয়ে সামলায়নি; ব্রাউজারে unhandledrejection event আসে, Node.js 15 থেকে ডিফল্টে process বন্ধ হয়যেখানে শিখবেন: পর্ব ২৯পর্ব ৩৩পর্ব ৩৪
Unicodeইউনিকোড
পৃথিবীর প্রায় সব লিপির প্রতিটি অক্ষর ও চিহ্নকে একটি নির্দিষ্ট নম্বর (code point) দেওয়ার আন্তর্জাতিক মান; বাংলা আছে U+0980 থেকে U+09FF অংশেযেখানে শিখবেন: পর্ব ০৯
Unicode normalizationইউনিকোড নরমালাইজেশন
একই অর্থের কিন্তু ভিন্ন code point-এ লেখা টেক্সটকে একটি নির্দিষ্ট রূপে (যেমন NFC) আনা, যাতে তুলনা ঠিক হয়; JavaScript-এ s.normalize("NFC")যেখানে শিখবেন: পর্ব ০৯
Unicode property escapeইউনিকোড প্রপার্টি এস্কেপ
\p{…} (উল্টো \P{…}) — Unicode-এর বৈশিষ্ট্য ধরে অক্ষর মেলানো, যেমন \p{Script=Bengali}, \p{L}, \p{Nd}; ES2018 থেকে, শুধু u বা v flag-এর সাথে কাজ করেযেখানে শিখবেন: পর্ব ৩০
Union typeইউনিয়ন টাইপ
| দিয়ে লেখা “এটি অথবা ওটি” টাইপ, যেমন string | null. ব্যবহারের আগে narrowing করে নির্দিষ্ট সদস্যে নামিয়ে আনতে হয়।যেখানে শিখবেন: পর্ব ৪৭
Unit testইউনিট টেস্ট
একটি function বা ছোট module-কে বাকি অ্যাপ থেকে আলাদা করে যাচাই করা টেস্ট; মিলিসেকেন্ডে চলে, তাই হাজারটি রাখা যায়।যেখানে শিখবেন: পর্ব ৪৮পর্ব ৫৫পর্ব ৫৮
Unix epochইউনিক্স ইপক
সময় গোনার শূন্য বিন্দু — ১৯৭০ সালের ১ জানুয়ারি 00:00:00 UTC; JavaScript এখান থেকে মিলিসেকেন্ডে, Unix/C সাধারণত সেকেন্ডে গোনে।যেখানে শিখবেন: পর্ব ২০
unknownআননোন
“কী আছে জানা নেই” বোঝানোর নিরাপদ টাইপ: যেকোনো মান বসে, কিন্তু typeof, in বা অন্য যাচাই দিয়ে narrowing না করে প্রায় কিছুই করা যায় না। বাইরের ডেটার জন্য উপযুক্ত।যেখানে শিখবেন: পর্ব ৪৭পর্ব ৫৮
URIErrorইউআরআই এরর
decodeURIComponent-এর মতো URI-ফাংশনে ভাঙা ইনপুট দিলে আসে, যেমন decodeURIComponent('%') → URI malformedযেখানে শিখবেন: পর্ব ২৯
URLইউআরএল
Uniform Resource Locator — ওয়েবে কোনো জিনিসের পূর্ণ ঠিকানা: protocol, host, port, path, query আর hash নিয়ে গঠিত; JavaScript-এর URL class দিয়ে নিরাপদে ভাঙা ও বানানো যায়যেখানে শিখবেন: পর্ব ৩৫
URLSearchParamsইউআরএল সার্চ প্যারামস
URL-এর query string (?a=1&b=2) পড়া আর বানানোর built-in class; বাংলা লেখা, ফাঁকা আর &-এর মতো বিশেষ অক্ষর নিজে থেকেই নিরাপদে encode করেযেখানে শিখবেন: পর্ব ৩৫
User activationইউজার অ্যাক্টিভেশন
ব্যবহারকারী এইমাত্র পাতায় ক্লিক, ট্যাপ বা কী-প্রেস করেছেন — এই অবস্থা। Transient activation অল্প কিছুক্ষণ থাকে; popup, fullscreen, share, অনেক ব্রাউজারে clipboard-এ লেখা এটি ছাড়া কাজ করে নাযেখানে শিখবেন: পর্ব ৪১
User storyইউজার স্টোরি
ব্যবহারকারীর চোখে লেখা একটি ছোট চাহিদা: “একজন <কে> হিসেবে আমি <কী> চাই, যাতে <কেন>”, সাথে কিছু শর্ত যা পূরণ হলে কাজটি শেষ ধরা হয়।যেখানে শিখবেন: পর্ব ৫৫
UTC (Coordinated Universal Time)ইউ-টি-সি
পৃথিবীর মানদণ্ড ঘড়ি, কোনো দেশের নিজের নয়; সব time zone এর সাথে কত ঘণ্টা আগে-পিছে তা দিয়ে বোঝানো হয়, আর এতে DST নেই।যেখানে শিখবেন: পর্ব ২০পর্ব ৫২
UTC offsetইউ-টি-সি অফসেট
একটি নির্দিষ্ট মুহূর্তে স্থানীয় সময় UTC থেকে কতটা আগে বা পিছে, যেমন +06:00 (ঢাকা) বা -04:00; ISO string-এ Z মানে +00:00.যেখানে শিখবেন: পর্ব ২০
UTF-16ইউ-টি-এফ ষোলো
Unicode লেখাকে ১৬-বিটের ঘরে রাখার নিয়ম: U+FFFF পর্যন্ত code point একটি ঘরে, তার বড়গুলো (যেমন বেশিরভাগ ইমোজি) দুটি ঘরে (surrogate pair). JavaScript আর Java-র string এভাবেই রাখা হয়যেখানে শিখবেন: পর্ব ০৯পর্ব ৪৯পর্ব ৫৮
UTF-8ইউটিএফ-এইট
Unicode-এর সবচেয়ে প্রচলিত encoding: প্রতিটি code point ১ থেকে ৪ byte নেয় — ASCII ১ byte, বাংলা অক্ষর ৩ byte. ওয়েব, ফাইল আর Node.js-এর ডিফল্ট encodingযেখানে শিখবেন: পর্ব ৪৯
util.inspectইউটিল ইনস্পেক্ট
যেকোনো মানকে পড়ার মতো string-এ রূপ দেওয়া Node.js function; console.log ভেতরে এটিই ব্যবহার করে। ডিফল্টে ২ স্তরের বেশি গভীর object [Object] দেখায়, { depth: null } দিলে পুরোটাযেখানে শিখবেন: পর্ব ৪৯
util.parseArgsপার্স আর্গস
Node.js-এর built-in function (Node 18.3-এ যুক্ত, Node 20-এ স্থিতিশীল), যা argv থেকে option (যেমন -o file, --help) আর positional argument আলাদা করে; অচেনা option পেলে error দেয়যেখানে শিখবেন: পর্ব ৪৯
Utility typeইউটিলিটি টাইপ
TypeScript-এর সাথে আসা তৈরি generic টাইপ, যা একটি টাইপ থেকে নতুন টাইপ বানায় — Partial, Pick, Omit, Readonly, Record, ReturnType, Awaited ইত্যাদি।যেখানে শিখবেন: পর্ব ৪৭

V

V8ভি-এইট
Google-এর তৈরি open-source JavaScript engine; Chrome, Edge আর Node.js-এর ভেতরে এটিই কোড চালায়।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ০৫
ValidityStateভ্যালিডিটি স্টেট
el.validity-তে পাওয়া object, যাতে প্রতিটি শর্তের জন্য একটি true/false flag থাকে — valueMissing, typeMismatch, patternMismatch, tooShort, rangeUnderflow, customError ইত্যাদি — আর সব ঠিক হলে validযেখানে শিখবেন: পর্ব ৩৯
VAPIDভ্যাপিড
Voluntary Application Server Identification — web push-এ আপনার সার্ভারকে চেনানোর জন্য একজোড়া key; public key ব্রাউজারে subscribe-এর সময় দেওয়া হয়, private key শুধু সার্ভারে থাকে আর বার্তায় স্বাক্ষর করেযেখানে শিখবেন: পর্ব ৪৪
varভার
JavaScript-এর পুরোনো variable ঘোষণা। Function-scoped (block মানে না), hoist হয়ে শুরুতেই undefined পায়, একই নামে আবার ঘোষণা করা যায়, আর script-এর top level-এ global object-এর property হয়ে যায়। নতুন কোডে ব্যবহার করা হয় না।যেখানে শিখবেন: পর্ব ০৭
Variableভ্যারিয়েবল
একটি নাম, যা দিয়ে প্রোগ্রাম কোনো মানকে খুঁজে পায় ও ব্যবহার করে। JavaScript-এ variable তৈরি হয় let, const বা (পুরোনো কোডে) var দিয়ে।যেখানে শিখবেন: পর্ব ০৭
Version managerভার্শন ম্যানেজার
একই কম্পিউটারে একটি টুলের (যেমন Node.js) একাধিক version রাখা ও এক কমান্ডে বদলানোর টুল — যেমন nvm, nvm-windows, fnm, Volta.যেখানে শিখবেন: পর্ব ০৩পর্ব ৪৬
Vibration APIভাইব্রেশন এপিআই
navigator.vibrate(ms) বা একটি ছন্দের array দিয়ে যন্ত্র কাঁপানোর API; ক্লিক লাগে, আর iPhone-এর Safari-তে নেই — তাই শুধু বাড়তি ইঙ্গিত হিসেবে ব্যবহার করুনযেখানে শিখবেন: পর্ব ৪১
Virtual DOMভার্চুয়াল ডম
UI-এর একটি হালকা JavaScript object-গাছ; state বদলালে নতুন গাছ বানিয়ে পুরোনোটির সাথে তুলনা (diffing) করে শুধু পার্থক্যগুলো আসল DOM-এ বসানো হয়। React এটি জনপ্রিয় করে।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৫৪
visibilitychangeভিজিবিলিটি-চেঞ্জ
document-এর event, যা ঘটে ট্যাব লুকালে বা আবার দেখা গেলে; document.visibilityState তখন "hidden" বা "visible". ভিডিও থামানো বা অসমাপ্ত কাজ সেভ করার নির্ভরযোগ্য জায়গা।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৪১
Viteভিট
Evan You-র তৈরি (২০২০) আধুনিক ফ্রন্টএন্ড build tool আর dev server; ডেভেলপমেন্টে ES module সরাসরি ব্রাউজারে দেয় বলে খুব দ্রুত চালু হয়, আর production-এর জন্য কোড bundle করে।যেখানে শিখবেন: পর্ব ৪৬পর্ব ৪৮পর্ব ৫৫
Vitestভিটেস্ট
Vite-এর ওপর তৈরি JavaScript/TypeScript test runner (২০২১); অ্যাপের Vite config আর রূপান্তরই টেস্টে ব্যবহার করে, API প্রায় হুবহু Jest-এর মতো (describe, it, expect, vi.fn), আর watch mode খুব দ্রুত।যেখানে শিখবেন: পর্ব ৪৮পর্ব ৫৫
Viva (viva voce)ভাইভা
মৌখিক পরীক্ষা — পরীক্ষক মুখে প্রশ্ন করেন, প্রার্থী মুখে উত্তর দেন, আর উত্তর থেকেই পরের প্রশ্ন আসে। লাতিন viva voce মানে “জীবন্ত কণ্ঠে”।যেখানে শিখবেন: পর্ব ৫৮
VS Code (Visual Studio Code)ভি-এস কোড
Microsoft-এর ফ্রি, open-source code editor; Electron-এ তৈরি, JavaScript ও TypeScript সাপোর্ট ভেতরেই আছে, extension দিয়ে বাড়ানো যায়।যেখানে শিখবেন: পর্ব ০৩

W

Watch mode (node --watch)ওয়াচ মোড
node --watch app.js: ফাইল বদলালেই Node প্রোগ্রামটি আবার চালায়; Node 18.11-এ পরীক্ষামূলকভাবে এসেছে, পরে স্থিতিশীল হয়েছে। আগে এ কাজে nodemon package লাগতযেখানে শিখবেন: পর্ব ৪৯
Watch mode (test runner)ওয়াচ মোড
Test runner চালু থেকে ফাইলের বদল নজরে রাখে, আর সেভ করামাত্র শুধু প্রভাবিত টেস্টগুলো আবার চালায় — কোড লেখার সাথে সাথে প্রতিক্রিয়া।যেখানে শিখবেন: পর্ব ৪৮
WCAGডব্লিউ-ক্যাগ
Web Content Accessibility Guidelines — W3C-র প্রকাশিত ওয়েব accessibility-র আন্তর্জাতিক নির্দেশিকা (2.0: ২০০৮, 2.1: ২০১৮, 2.2: ২০২৩); A, AA, AAA — তিন স্তরের নিয়মে লেখাযেখানে শিখবেন: পর্ব ৩৯পর্ব ৫৫
WeakMapউইকম্যাপ
এমন Map যার key অবশ্যই object (বা registry-বাইরের Symbol), আর key-কে সে বাঁচিয়ে রাখে না — key object-এর অন্য কোনো reference না থাকলে entry-টিও garbage collection-এ মুছে যেতে পারে; ঘোরা যায় না, size নেইযেখানে শিখবেন: পর্ব ১৮পর্ব ৫৩পর্ব ৫৮
WeakRefউইকরেফ
একটি object-এর দুর্বল reference (ES2021); deref() object-টি দেয় যদি তখনো garbage collection সেটি না মুছে থাকে, নইলে undefined — ফল অনিশ্চিত, তাই সাবধানে ও কম ব্যবহার করুনযেখানে শিখবেন: পর্ব ১৮পর্ব ৫৩
WeakSetউইকসেট
শুধু object রাখা যায় এমন Set, যা সদস্যদের বাঁচিয়ে রাখে না; add, has আর delete আছে, ঘোরা বা size নেই — কোনো object-এ “হয়ে গেছে” চিহ্ন দেওয়ার জন্যযেখানে শিখবেন: পর্ব ১৮
Web APIওয়েব এপিআই
ব্রাউজারের দেওয়া ক্ষমতা, যা ভাষার অংশ নয় — যেমন DOM, fetch, setTimeout, localStorage; অপেক্ষার কাজগুলো ব্রাউজার নিজে করে, পরে callback queue-তে পাঠায়যেখানে শিখবেন: পর্ব ০৫পর্ব ৩১পর্ব ৩২
Web app manifestওয়েব অ্যাপ ম্যানিফেস্ট
<link rel="manifest"> দিয়ে যুক্ত একটি JSON ফাইল, যাতে অ্যাপের নাম, ছোট নাম, আইকন, start_url, display আর রং লেখা থাকে; ইনস্টলের পর অ্যাপটি কেমন দেখাবে, তা এখান থেকেই ঠিক হয়যেখানে শিখবেন: পর্ব ৪৪
Web Componentsওয়েব কম্পোনেন্টস
ব্রাউজারের নিজস্ব মানদণ্ড — custom element, Shadow DOM আর template — যা দিয়ে নিজের HTML ট্যাগ (যেমন <my-button>) বানানো যায় আর যেকোনো framework-এ বা framework ছাড়াই চলেযেখানে শিখবেন: পর্ব ৫৪
Web Share APIওয়েব শেয়ার এপিআই
navigator.share({ title, text, url }) দিয়ে অপারেটিং সিস্টেমের নিজস্ব শেয়ার শিট খোলার API; ক্লিক আর secure context লাগে, মোবাইলে ব্যাপক, ডেস্কটপে সব ব্রাউজারে নেই। ব্যবহারকারী বন্ধ করলে AbortErrorযেখানে শিখবেন: পর্ব ৪১
Web Storageওয়েব স্টোরেজ
ব্রাউজারের key-value storage-এর মানদণ্ড, যার দুটি অংশ: localStorage আর sessionStorage. দুটোই শুধু string রাখে, origin ধরে আলাদা, API synchronous, আর ডেটা সার্ভারে নিজে থেকে যায় নাযেখানে শিখবেন: পর্ব ৪০
Web Workerওয়েব ওয়ার্কার
ব্রাউজারে আলাদা thread-এ JavaScript চালানোর ব্যবস্থা; নিজের heap ও event loop থাকে, DOM ছুঁতে পারে না, main thread-এর সাথে postMessage দিয়ে কথা বলেযেখানে শিখবেন: পর্ব ০৫পর্ব ৩১পর্ব ৪২
WebAssembly (Wasm)ওয়েব-অ্যাসেম্বলি
ব্রাউজারে প্রায় native গতিতে চলা একটি compact binary কোড ফরম্যাট — C, C++, Rust থেকে compile করা হয়। এটি JavaScript-এর সঙ্গী, বদলি নয়; সাধারণত JavaScript দিয়েই লোড হয়।যেখানে শিখবেন: পর্ব ০১পর্ব ৪২
WebP / AVIFওয়েবপি / এভিআইএফ
আধুনিক ছবির ফরম্যাট, যা একই দৃশ্যমান মানে সাধারণত JPEG বা PNG-এর চেয়ে ছোট ফাইল দেয়; সব আধুনিক ব্রাউজারে সমর্থিতযেখানে শিখবেন: পর্ব ৫৩
webpackওয়েবপ্যাক
Tobias Koppers-এর তৈরি (২০১২) bundler, যা JavaScript-এর সাথে CSS, ছবি সবকিছুকে module ধরে loader ও plugin দিয়ে বান্ডিল বানায়; প্রায় এক দশক frontend-এর প্রধান টুল ছিলযেখানে শিখবেন: পর্ব ৪৬
WebSocketওয়েবসকেট
ব্রাউজার আর সার্ভারের মধ্যে একটি স্থায়ী, দুইমুখী সংযোগের প্রোটোকল, যেখানে দুই পক্ষই যেকোনো সময় বার্তা পাঠাতে পারে — চ্যাট, গেম আর লাইভ সহযোগিতার জন্য।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫১পর্ব ৫৮
WebSocket frameওয়েবসকেট ফ্রেম
WebSocket সংযোগে তথ্যের একক টুকরো: কয়েক byte-এর মাথায় ধরন (text, binary, close, ping, pong, continuation) আর দৈর্ঘ্য, তারপর ডেটা। Client থেকে যাওয়া frame সবসময় একটি এলোমেলো key দিয়ে masked থাকেযেখানে শিখবেন: পর্ব ৫১
WebTransportওয়েবট্রান্সপোর্ট
HTTP/3 (QUIC)-এর ওপর বানানো নতুন ব্রাউজার API: একটি সংযোগে অনেকগুলো নির্ভরযোগ্য stream আর অনির্ভরযোগ্য datagram, তাই একটি packet হারালে বাকিরা আটকায় না। সব ব্রাউজার আর সার্ভারে এখনো সমান সমর্থন নেইযেখানে শিখবেন: পর্ব ৫১
Well-known symbolওয়েল-নোন সিম্বল
ভাষার নিজের বানানো বিশেষ Symbol, যেমন Symbol.iterator, Symbol.toPrimitive, Symbol.toStringTag, Symbol.hasInstance. Object-এ এই key-তে method রাখলে ভাষা নির্দিষ্ট কাজের সময় (for…of, রূপান্তর, instanceof) সেটি ডাকে।যেখানে শিখবেন: পর্ব ২৮
Word boundary (\b)ওয়ার্ড বাউন্ডারি
যে অবস্থানের একদিকে \w অক্ষর আর অন্যদিকে নয়; JavaScript-এ \w শুধু ইংরেজি অক্ষর-অঙ্ক, তাই বাংলা শব্দে \b কাজ করে না — /\bআম\b/.test("আম") হলো falseযেখানে শিখবেন: পর্ব ৩০
Workboxওয়ার্কবক্স
service worker লেখার জন্য Google-এর library; precache-এর তালিকা, CacheFirst, NetworkFirst, StaleWhileRevalidate-এর মতো তৈরি strategy, cache-এর সীমা আর Background Sync-এর বিকল্প দেয়, আর অনেক build টুলের PWA plugin এর ওপর চলেযেখানে শিখবেন: পর্ব ৪৪
Worker poolওয়ার্কার পুল
আগে থেকে তৈরি কয়েকটি Worker, যাদের মধ্যে একটি কাজের লাইন থেকে কাজ ভাগ করে দেওয়া হয় — যে Worker ফাঁকা হয় সে পরের কাজ নেয়; প্রতিটি কাজে নতুন Worker বানানোর খরচ বাঁচেযেখানে শিখবেন: পর্ব ৪২
worker.terminate()ওয়ার্কার টার্মিনেট
বাইরে থেকে একটি Worker সাথে সাথে বন্ধ করার method; চলমান হিসাব মাঝপথে থেমে যায়, কোনো শেষ বার্তা আসে না। Worker নিজে বন্ধ হতে চাইলে ভেতরে self.close() ডাকেযেখানে শিখবেন: পর্ব ৪২
worker_threads (Node.js)ওয়ার্কার থ্রেডস
Node.js-এর built-in module, যা আলাদা thread-এ JavaScript চালায় — নিজের event loop, parentPort দিয়ে বার্তা, workerData দিয়ে শুরুর ডেটা; CPU-ভারী কাজ main event loop থেকে সরাতে ব্যবহার হয়যেখানে শিখবেন: পর্ব ৪২পর্ব ৪৯
WorkerGlobalScopeওয়ার্কার গ্লোবাল স্কোপ
Worker-এর ভেতরের global object, যাকে self বা globalThis দিয়ে পাওয়া যায়; এখানে fetch, IndexedDB, timer, crypto আছে, কিন্তু window, document বা localStorage নেইযেখানে শিখবেন: পর্ব ৪২
Working directoryওয়ার্কিং ডিরেক্টরি
Terminal বা প্রোগ্রাম এই মুহূর্তে যে ফোল্ডারে আছে; node app.js লিখলে app.js এই ফোল্ডারেই খোঁজা হয়।যেখানে শিখবেন: পর্ব ০৩পর্ব ৪৯
Workletওয়ার্কলেট
ব্রাউজারের rendering বা অডিও pipeline-এর ভেতরে চলা খুব হালকা, বিশেষ কাজের script — যেমন AudioWorklet বা CSS-এর paintWorklet; কখন চলবে তা ব্রাউজার ঠিক করেযেখানে শিখবেন: পর্ব ৪২
Writable streamরাইটেবল স্ট্রিম
যে stream-এ ডেটা লেখা হয় — যেমন fs.createWriteStream, process.stdout, HTTP response. ভেতরের জমা সীমা ছাড়ালে write() false ফেরত দেয়, খালি হলে drain event দেয়যেখানে শিখবেন: পর্ব ৪৯
ws:// আর wss://ডব্লিউএস আর ডব্লিউএসএস
WebSocket-এর দুই URL scheme: ws:// খোলা লেখায় (HTTP-র মতো), wss:// TLS-এ এনক্রিপ্ট করা (HTTPS-এর মতো, সাধারণত port 443); HTTPS পাতা থেকে ws:// ব্রাউজার আটকে দেয়, তাই production-এ wss://যেখানে শিখবেন: পর্ব ৫১

X

XMLHttpRequest (XHR)এক্সএমএল এইচটিটিপি রিকোয়েস্ট
fetch-এর আগের, callback আর event-ভিত্তিক ব্রাউজার API, যা ১৯৯৯ সালে Internet Explorer 5-এ জন্ম নিয়ে Ajax যুগ শুরু করে; নামে XML থাকলেও যেকোনো ডেটা আনা যায়যেখানে শিখবেন: পর্ব ৩৫
XSS (Cross-Site Scripting)এক্সএসএস — ক্রস-সাইট স্ক্রিপ্টিং
একটি ওয়েব নিরাপত্তা-ত্রুটি, যেখানে কারও দেওয়া লেখা HTML হিসেবে পাতায় ঢুকে অন্য ব্যবহারকারীর browser-এ অনাকাঙ্ক্ষিত script চালায়। ঠেকানোর প্রথম ধাপ: ব্যবহারকারীর ডেটা textContent দিয়ে দেখানো।যেখানে শিখবেন: পর্ব ০৪পর্ব ১৯পর্ব ২১

Y

yieldইল্ড
generator-এর ভেতরের keyword: একটি মান বাইরে দিয়ে function সেখানেই থামে; পরের next(v) ডাকলে সেখান থেকে চলে, আর yield expression-এর মান হয় vযেখানে শিখবেন: পর্ব ২৭
yield* (delegation)ইল্ড স্টার
একটি generator-এর ভেতরে আরেকটি iterable-এর সব মান পরপর বাইরে পাঠানোর লেখা; ভেতরের generator-এর return মান yield* expression-এর মান হয়, আর next, return, throw ভেতরে পৌঁছে যায়যেখানে শিখবেন: পর্ব ২৭
Yielding to the main threadইল্ড টু মেইন
লম্বা কাজের মাঝে ইচ্ছে করে থেমে একটি নতুন task-এ বাকি কাজ পাঠানো, যাতে ফাঁকে ব্রাউজার ইনপুট সামলাতে আর পাতা আঁকতে পারে — setTimeout বা scheduler.yield() দিয়ে, microtask দিয়ে নয়যেখানে শিখবেন: পর্ব ৩১

Z

Zalgo (releasing Zalgo)জালগো
একটি API কখনো callback সাথে সাথে (sync) আর কখনো পরে (async) ডাকলে কলকারীর কোডের ক্রম অনিশ্চিত হয়ে যাওয়ার সমস্যা; Isaac Schlueter-এর ২০১৩ সালের লেখা থেকে নামটি জনপ্রিয়। সমাধান: callback সবসময় async করা।যেখানে শিখবেন: পর্ব ৩২পর্ব ৫৬
Zodজড
TypeScript-কেন্দ্রিক জনপ্রিয় schema-validation library; একবার schema লিখলে তা দিয়ে চলার সময় ডেটা যাচাই (safeParse) আর TypeScript-এর type দুটোই পাওয়া যায়যেখানে শিখবেন: পর্ব ৫০

← JavaScript প্রোগ্রামিং কোর্সের হোম পেজে ফিরে যান