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.resolverelative থেকে 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 বহন করে (
errorsarray-তে); 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-কেsyncevent দেয় — পাতা বন্ধ থাকলেও; ব্যর্থ হলে পরে আবার চেষ্টা করে। এখন পর্যন্ত মূলত Chromium-ভিত্তিক ব্রাউজারে আছেযেখানে শিখবেন: পর্ব ৪৪ - Backpressureব্যাকপ্রেশার
- ধীর গন্তব্য ভরে গেলে দ্রুত উৎসকে থামানোর ব্যবস্থা — Node.js-এ
write()false দেয়, উৎস থামে,drainevent-এ আবার চলে; ফলে মেমরিতে ডেটা জমে না, পুরো প্রবাহ সবচেয়ে ধীর অংশের গতিতে চলেযেখানে শিখবেন: পর্ব ৪৯পর্ব ৫১ - 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-এর সাথে সরাসরি মেশানো যায় না।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৮পর্ব ১০ - Binary searchবাইনারি সার্চ
- সাজানো তালিকায় মাঝের ঘর দেখে প্রতিবার অর্ধেক অংশ বাদ দিয়ে খোঁজার পদ্ধতি; সময় O(log n) — দশ লাখ ঘরেও প্রায় ২০টি তুলনাযেখানে শিখবেন: পর্ব ৫৯
- 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 বদলে ঠকানো যায় না।যেখানে শিখবেন: পর্ব ২৬ - Breadth-first search (BFS)ব্রেডথ-ফার্স্ট সার্চ
- একটি graph-এ শুরুর জায়গার কাছের সবগুলো আগে, তারপর তাদের পাশের গুলো — এভাবে স্তরে স্তরে খোঁজার পদ্ধতি; একটি queue আর “দেখা হয়ে গেছে” রাখার একটি Set বা array লাগে।যেখানে শিখবেন: পর্ব ১৮পর্ব ৫৯
- 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.userAgentstring পড়ে ব্রাউজারের নাম ও 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 আর চালাতে হয় বলে পারফরম্যান্সের বড় নির্ধারকযেখানে শিখবেন: পর্ব ৫৩
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 গুনে বা মিলিয়ে হয়, অক্ষর হিসেবে নয়যেখানে শিখবেন: পর্ব ০৮পর্ব ০৯পর্ব ৪৯
- Comlinkকমলিংক
- Google Chrome Labs-এর একটি ছোট JavaScript library, যা Proxy দিয়ে Worker-এর function-গুলোকে Promise-ফেরত দেওয়া সাধারণ function-এর মতো ডাকার সুযোগ দেয়; postMessage আর id মেলানোর কাজ নিজেই করেযেখানে শিখবেন: পর্ব ৪২
- 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,watchfunction দিয়ে 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-ই ইনপুটে মান বসায়, ফলে যাচাই আর ফরম্যাট সহজ হয়যেখানে শিখবেন: পর্ব ৫৪
- Cookieকুকি
- সার্ভারের পাঠানো ছোট এক টুকরো তথ্য, যা ব্রাউজার জমিয়ে রাখে আর পরের প্রতিটি অনুরোধে সেই সার্ভারে ফেরত পাঠায় — লগইন session চেনার সাধারণ উপায়যেখানে শিখবেন: পর্ব ৩৫পর্ব ৪০পর্ব ৫১
- Cookie attributeকুকি অ্যাট্রিবিউট
- Set-Cookie-তে নাম=মান-এর পরে সেমিকোলন দিয়ে লেখা নিয়ম — Expires/Max-Age (মেয়াদ), Path ও Domain (কোথায় যাবে), Secure (শুধু HTTPS), HttpOnly (script থেকে লুকানো), SameSite (অন্য সাইটের request-এ যাবে কি না)যেখানে শিখবেন: পর্ব ৪০
- Cookie Store APIকুকি স্টোর এপিআই
- document.cookie-এর আধুনিক বিকল্প: cookieStore.get, set, delete Promise দিয়ে কাজ করে, cookie-কে object হিসেবে দেয় (মেয়াদ, domain সহ), change event দেয় আর service worker-এও চলে; সব ব্রাউজারে সমর্থন সাম্প্রতিকযেখানে শিখবেন: পর্ব ৪০
- 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 কখনো এই নিয়ম মানে না।যেখানে শিখবেন: পর্ব ২২
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-এর
codeproperty-তে থাকে — যেমন 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নতুন লাইন,\ttab,\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বাpipehelper দিয়ে করা হয়।যেখানে শিখবেন: পর্ব ২৩ - 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ওunhandledrejectionevent, 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 ফাইল থেকে বহু ভাষার কোড তৈরি হয়, মূলত সার্ভিসদের নিজেদের মধ্যে যোগাযোগে ব্যবহৃতযেখানে শিখবেন: পর্ব ৫০
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 সরায়যেখানে শিখবেন: পর্ব ৫০
- 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-কে আর আটকায় নাযেখানে শিখবেন: পর্ব ৫১
- HttpOnly / Secure (cookie flag)এইচটিটিপি-অনলি, সিকিউর
- HttpOnly দিলে JavaScript (document.cookie) cookie পড়তে পারে না, Secure দিলে cookie শুধু HTTPS-এ যায় — session cookie-তে দুটোই দরকারযেখানে শিখবেন: পর্ব ৪০পর্ব ৪৩পর্ব ৫০
- HTTPSএইচটিটিপিএস
- TLS এনক্রিপশনের ভেতর দিয়ে চলা HTTP — পথের কেউ (যেমন পাবলিক Wi-Fi) লেখা পড়তে বা বদলাতে পারে না, আর ব্রাউজার সার্ভারের পরিচয় certificate দিয়ে যাচাই করেযেখানে শিখবেন: পর্ব ৪৩পর্ব ৪৪পর্ব ৫১
- huskyহাস্কি
- JavaScript প্রজেক্টে Git hook সহজে বসানো আর দলের সবার যন্ত্রে চালু রাখার টুল; prepare script-এর মাধ্যমে npm install-এর সময় নিজে থেকে চালু হয়যেখানে শিখবেন: পর্ব ৪৬
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)বলেprotoobject-টি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 ফেরত দেয়যেখানে শিখবেন: পর্ব ৫৪
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বাyflag-যুক্ত 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 নয় — এই সাধারণ বাগের নাম।যেখানে শিখবেন: পর্ব ২৪পর্ব ২৬পর্ব ৩২
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 এভাবে কাজ করে।যেখানে শিখবেন: পর্ব ৫২
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-এ < হয়ে যায় <যেখানে শিখবেন: পর্ব ৪৩পর্ব ৫১
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: Upgradeheader দিয়ে একই 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 আর অনুমতি দুটোই লাগেযেখানে শিখবেন: পর্ব ৪১
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-এ
Reflectobject আরObject.getOwnPropertyNames-এর মতো function এই কাজ করে।যেখানে শিখবেন: পর্ব ২৮ - Regex (regular expression)রেজেক্স
- লেখার আকৃতি বর্ণনার একটি ছোট ভাষা, যেমন
/^\d{4}$/মানে “ঠিক চারটি অঙ্ক”; JavaScript-এ এটিRegExpobject, যা দিয়ে লেখা যাচাই, খোঁজা, টুকরো তোলা আর বদলানো যায়যেখানে শিখবেন: পর্ব ৩০পর্ব ৫০ - 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, যার সাথে একটিrevokefunction আসে।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 দিয়ে চলেযেখানে শিখবেন: পর্ব ৫৪
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যেখানে শিখবেন: পর্ব ৪৩
- SameSite (cookie attribute)সেমসাইট
- cookie-র একটি বৈশিষ্ট্য — Strict, Lax বা None — যা ঠিক করে অন্য সাইট থেকে শুরু হওয়া অনুরোধে cookie যাবে কি না; Lax হলে cross-site POST-এ যায় নাযেখানে শিখবেন: পর্ব ৪০পর্ব ৪৩পর্ব ৫৫
- 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এমন কপি দেয়।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৫পর্ব ১৭ - 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সিনক্রোনাস
- লাইনের পর লাইন চলা কোড, যেখানে একটি কাজ শেষ না হলে পরেরটি শুরু হয় না; ফল হাতে নিয়েই পরের লাইনে যায়যেখানে শিখবেন: পর্ব ৩১পর্ব ৪০
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থিংক অ্যালাউড
- সমস্যা সমাধানের সময় নিজের ভাবনার ধাপগুলো জোরে বলা, যাতে পরীক্ষক বা ইন্টারভিউয়ার আপনার যুক্তির পথ দেখতে পান — উত্তর পুরো ঠিক না হলেও।যেখানে শিখবেন: পর্ব ৫৮পর্ব ৫৯
- Third-party cookieথার্ড-পার্টি কুকি
- ব্যবহারকারী যে সাইটে আছেন তার নয়, পাতায় বসানো অন্য domain-এর (যেমন বিজ্ঞাপন বা tracker-এর iframe বা ছবি) cookie; সাইট থেকে সাইটে মানুষ অনুসরণের মূল উপায় ছিল, তাই Safari ও Firefox ডিফল্টে আটকায় বা আলাদা রাখে — বা অন্য site-এর API-তে পাঠানো অনুরোধে যাওয়া cookie-ও।যেখানে শিখবেন: পর্ব ৪০পর্ব ৫৫
- 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আর শেষেflushmethod দিয়ে বানানো হয়যেখানে শিখবেন: পর্ব ৪৯ - 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ট্রাই-ক্যাচ
tryblock-এর ভেতরে ছোড়া 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দিয়ে সামলায়নি; ব্রাউজারেunhandledrejectionevent আসে, 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-এর
URLclass দিয়ে নিরাপদে ভাঙা ও বানানো যায়যেখানে শিখবেন: পর্ব ৩৫ - 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 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 ফেরত দেয়, খালি হলেdrainevent দেয়যেখানে শিখবেন: পর্ব ৪৯ - 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 থাকলেও যেকোনো ডেটা আনা যায়যেখানে শিখবেন: পর্ব ৩৫
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 দুটোই পাওয়া যায়যেখানে শিখবেন: পর্ব ৫০
এই শব্দটি পাওয়া যায়নি। বানান বদলে বা বাংলায় লিখে দেখুন।