সফটওয়্যার ইঞ্জিনিয়ারিং ও Git শব্দকোষ — ১৬০৫টি শব্দের সহজ বাংলা মানে
Software Engineering & Git Glossary in Bangla — every technical term from the course, with pronunciation and a plain Bangla explanation.
কোর্সের প্রতিটি পর্বে যে ইংরেজি শব্দগুলো এসেছে — class — সবগুলো এখানে এক জায়গায়। প্রতিটির পাশে বাংলা উচ্চারণ, সহজ মানে আর কোন পর্বে বিস্তারিত শিখবেন, তার লিংক।
মোট ১৬০৫টি শব্দ
#
- 3 Cs (Card, Conversation, Confirmation)থ্রি সি
- Ron Jeffries-এর বর্ণনা: user story হলো একটি ছোট কার্ড, তার চারপাশে আলাপ, আর কাজ শেষ হয়েছে কি না তা যাচাইয়ের নিশ্চিতকরণ।যেখানে শিখবেন: পর্ব ২২
- 4+1 view modelফোর প্লাস ওয়ান ভিউ মডেল
- Philippe Kruchten-এর ১৯৯৫ সালের কাঠামো: logical, process, development আর physical — চারটি view, আর সেগুলোকে জোড়া দেওয়া scenario বা use case-এর পঞ্চম view.যেখানে শিখবেন: পর্ব ৩৮
A
- Abstract base class (ABC)অ্যাবস্ট্রাক্ট বেস ক্লাস
- যে class থেকে সরাসরি object বানানো যায় না; subclass-কে কিছু abstract method লিখতেই হয় — Python-এ abc module দিয়ে বানানো হয়।যেখানে শিখবেন: পর্ব ২৮
- Abstract classঅ্যাবস্ট্র্যাক্ট ক্লাস
- যে class-এর সরাসরি object বানানো যায় না, শুধু subclass-এর ভিত্তি হয়; UML-এ নাম italic বা পাশে {abstract} লেখা।যেখানে শিখবেন: পর্ব ২৯পর্ব ৩২পর্ব ৩৩
- Abstract Factoryঅ্যাবস্ট্র্যাক্ট ফ্যাক্টরি
- GoF pattern, যেখানে একটি interface সম্পর্কিত কয়েকটি object-এর পুরো পরিবার বানানোর method দেয়, আর প্রতিটি concrete factory একটি মিলে যাওয়া পরিবার বানায়।যেখানে শিখবেন: পর্ব ৩৩
- Abstract syntax tree (AST)অ্যাবস্ট্র্যাক্ট সিনট্যাক্স ট্রি
- Compiler বা interpreter source code পড়ে তার গঠন যে গাছে রাখে — বন্ধনী আর space বাদ দিয়ে শুধু অর্থের অংশগুলো।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৪১পর্ব ৪২
- Abstractionঅ্যাবস্ট্রাকশন
- কোনো জিনিসের দরকারি দিকটুকু দেখানো আর অপ্রাসঙ্গিক খুঁটিনাটি বাদ দেওয়া, যেমন “টাকা পাঠাও” বোতাম, ভেতরের ব্যাংক-লেনদেনের ধাপ নয়।যেখানে শিখবেন: পর্ব ২৫পর্ব ২৬পর্ব ২৭
- Abstractness (A)অ্যাবস্ট্রাক্টনেস
- একটি package-এর মোট class-এর মধ্যে abstract class বা interface-এর অনুপাত, A = Na / Nc.যেখানে শিখবেন: পর্ব ২৫পর্ব ৬৬
- Acceptance criteriaঅ্যাকসেপ্ট্যান্স ক্রাইটেরিয়া
- একটি user story কখন গ্রহণযোগ্যভাবে পূরণ হয়েছে ধরা হবে তার নির্দিষ্ট, যাচাইযোগ্য শর্ত; প্রতিটি story-র নিজস্ব।যেখানে শিখবেন: পর্ব ২২পর্ব ৪৮পর্ব ৬৫
- Acceptance stageঅ্যাকসেপ্ট্যান্স স্টেজ
- Pipeline-এর যে ধাপে artifact একটি production-এর মতো পরিবেশে বসিয়ে স্বয়ংক্রিয় acceptance test চালানো হয় — ব্যবহারকারীর চোখে software ঠিক কাজ করে কি না।যেখানে শিখবেন: পর্ব ৫৯
- Acceptance testঅ্যাকসেপ্ট্যান্স টেস্ট
- গ্রাহক বা ব্যবহারকারী নিজের প্রয়োজনের সাথে মিলিয়ে software গ্রহণ করবেন কি না, তা ঠিক করার শেষ স্তরের যাচাই।যেখানে শিখবেন: পর্ব ০৪পর্ব ২৪পর্ব ৪৫
- Acceptance test-driven development (ATDD)এটিডিডি
- কোড লেখার আগে দল মিলে story-র acceptance criteria থেকে acceptance test লেখে, যা শুরুতে ফেল করে; story শেষ ধরা হয় যখন সেগুলো পাস করে।যেখানে শিখবেন: পর্ব ৪৮
- Accessibilityঅ্যাক্সেসিবিলিটি
- দৃষ্টি, শ্রবণ, চলাচল বা বোধশক্তির প্রতিবন্ধকতা থাকা মানুষসহ সবাই যেন software ব্যবহার করতে পারেন, সেই গুণ।যেখানে শিখবেন: পর্ব ০৩পর্ব ৬৪
- Accidental complexityঅ্যাক্সিডেন্টাল কমপ্লেক্সিটি
- হাতিয়ার আর পদ্ধতির কারণে আসা বাড়তি ঝামেলা, যেমন হাতে memory সামলানো বা ধীর compile; ভালো টুল এগুলো কমাতে পারে।যেখানে শিখবেন: পর্ব ০১পর্ব ০২পর্ব ২৬
- Accidental duplicationঅ্যাক্সিডেন্টাল ডুপ্লিকেশন
- দুটি আলাদা actor-এর নিয়ম আজ একই রকম দেখায় বলে একটি কোডে এক করে ফেলা; একজনের অনুরোধে সেটি বদলালে অন্যজনের ফলও অজান্তে বদলে যায়।যেখানে শিখবেন: পর্ব ২৭
- ACM Code of Ethics and Professional Conductএসিএম কোড অফ এথিকস
- সব computing পেশাজীবীর জন্য ACM-এর আচরণবিধি; সর্বশেষ বড় হালনাগাদ ২০১৮ সালে, যেখানে ক্ষতি এড়ানো, সততা, ন্যায্যতা, privacy আর নিরাপদ system-এর কথা আছে।যেখানে শিখবেন: পর্ব ৬৪
- Action (Flux/Redux)অ্যাকশন
- “কী ঘটেছে” তার একটি সাধারণ data object, যেমন type আর id; নিজে কোনো কাজ করে না, তাই লিখে রাখা আর replay করা যায়।যেখানে শিখবেন: পর্ব ৩৯
- Active listeningঅ্যাকটিভ লিসেনিং
- মনোযোগ দিয়ে শোনা, মাঝে মাঝে নিজের ভাষায় ফিরিয়ে বলে বোঝাপড়া যাচাই করা আর উত্তরের কারণের পিছু নেওয়া।যেখানে শিখবেন: পর্ব ২০
- Active Recordঅ্যাকটিভ রেকর্ড
- Fowler-এর বর্ণিত pattern: একটি object একটি table-এর একটি row, আর একই object-এর ভেতরে data, আচরণ আর নিজেকে save বা find করার database-কাজ।যেখানে শিখবেন: পর্ব ৪০
- Activity diagramঅ্যাক্টিভিটি ডায়াগ্রাম
- UML-এর যে ছবি একটি কাজের ধারা দেখায় — action, decision, merge, fork, join আর swimlane দিয়ে।যেখানে শিখবেন: পর্ব ২৩পর্ব ৩০
- Activity-on-arrow (AOA)অ্যাক্টিভিটি অন অ্যারো
- Network diagram-এর যে রীতিতে activity তীর আর node হলো ঘটনা (event); নির্ভরতা ঠিক রাখতে কখনো dummy activity লাগে।যেখানে শিখবেন: পর্ব ৬১
- Activity-on-node (AON)অ্যাক্টিভিটি অন নোড
- Network diagram-এর যে রীতিতে প্রতিটি activity একটি বাক্স (node) আর তীর শুধু নির্ভরতা দেখায়; precedence diagramming method নামেও পরিচিত।যেখানে শিখবেন: পর্ব ৬১
- Actorঅ্যাক্টর
- System-এর বাইরের কেউ বা কিছু, যে system-এর সাথে কাজ করে — মানুষ, অন্য software বা যন্ত্র; একটি ভূমিকা, নির্দিষ্ট কোনো ব্যক্তি নয়।যেখানে শিখবেন: পর্ব ২২পর্ব ২৩
- Actor (SRP-এ)অ্যাক্টর
- SRP-এর অর্থে একদল মানুষ বা একটি ভূমিকা, যাঁরা কোডের একটি অংশের একই ধরনের বদল চান — যেমন হিসাব বিভাগ বা অপারেশন দল; একজন নির্দিষ্ট ব্যক্তি নয়।যেখানে শিখবেন: পর্ব ২৭
- Actual cost (AC)অ্যাকচুয়াল কস্ট
- একটি তারিখ পর্যন্ত যে কাজ হয়েছে, তাতে আসলে যত খরচ হয়েছে।যেখানে শিখবেন: পর্ব ৬১পর্ব ৬৬
- Acyclic Dependencies Principleঅ্যাসাইক্লিক ডিপেনডেন্সিস প্রিন্সিপল
- Package বা component-এর dependency graph-এ কোনো চক্র থাকা উচিত নয় — graph-টি একটি DAG হবে।যেখানে শিখবেন: পর্ব ২৫
- Adapteeঅ্যাডাপটি
- Adapter pattern-এ যে পুরোনো বা বাইরের class-টিকে মানিয়ে নেওয়া হয়, যেমন তৃতীয় পক্ষের একটি payment SDK; এর interface বদলানো যায় না বা উচিত নয়।যেখানে শিখবেন: পর্ব ৩৪
- Adapter (ports and adapters)অ্যাডাপ্টার
- Hexagonal architecture-এ core-এর একটি port মেনে বাইরের প্রযুক্তিকে (web, database, SMS) core-এর সাথে যুক্ত করা কোড; core-কে যে চালায় সে driving adapter, core যাকে চালায় সে driven adapter.যেখানে শিখবেন: পর্ব ৭০
- Adapter patternঅ্যাডাপ্টার প্যাটার্ন
- একটি class-এর interface-কে client-এর প্রত্যাশিত আরেকটি interface-এ রূপান্তর করার মোড়ক, যাতে অমিল interface-এর দুটি অংশ একসাথে কাজ করতে পারে; এর আরেক নাম wrapper, অর্থাৎ মোড়ক।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৪০পর্ব ৭০
- Adaptive maintenanceঅ্যাডাপটিভ মেইনটেন্যান্স
- বদলে যাওয়া পরিবেশে, যেমন নতুন OS, আইন বা বাইরের API-তে, software-কে মানিয়ে নেওয়ার maintenance.যেখানে শিখবেন: পর্ব ৪৩
- ADR (Architecture Decision Record)এডিআর
- একটি গুরুত্বপূর্ণ architecture সিদ্ধান্তের ছোট লিখিত নথি — শিরোনাম, অবস্থা, প্রেক্ষাপট, সিদ্ধান্ত আর পরিণাম; সাধারণত কোডের পাশে Git-এ রাখা হয়।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৬৫পর্ব ৬৮
- Affected buildঅ্যাফেক্টেড বিল্ড
- Monorepo-তে শুধু বদলানো project আর যারা সেগুলোর ওপর সরাসরি বা পরোক্ষভাবে নির্ভর করে, তাদেরই build আর test করা; বাকিগুলো বাদ বা cache থেকে।যেখানে শিখবেন: পর্ব ১৯
- Afferent coupling (Ca)অ্যাফারেন্ট কাপলিং
- বাইরের কতগুলো package বা class এই package-এর ওপর নির্ভর করে — ভেতরের দিকে আসা নির্ভরতা।যেখানে শিখবেন: পর্ব ২৫পর্ব ৬৬
- Aggregateঅ্যাগ্রিগেট
- DDD-তে কয়েকটি entity আর value object-এর গুচ্ছ, যা একসাথে একটি invariant রক্ষা করে আর বাইরে থেকে একটি একক হিসেবে বদলানো ও সংরক্ষণ করা হয়।যেখানে শিখবেন: পর্ব ৪০
- Aggregate rootঅ্যাগ্রিগেট রুট
- Aggregate-এর প্রবেশদ্বার entity; বাইরের কোড শুধু এর method দিয়েই aggregate বদলায়, আর এটিই invariant রক্ষা করে।যেখানে শিখবেন: পর্ব ৪০
- Aggregation (shared)অ্যাগ্রিগেশন
- দুর্বল অংশ-সমগ্র সম্পর্ক, সমগ্রের প্রান্তে ফাঁপা হীরা; অংশ একাধিক সমগ্রে থাকতে পারে আর সমগ্র মুছলেও টিকে থাকে; UML 2.5.1 নিজেই বলে এর সূক্ষ্ম অর্থ ব্যবহারকারীভেদে আলাদা।যেখানে শিখবেন: পর্ব ২৯পর্ব ৬৮
- Agileঅ্যাজাইল
- ছোট ছোট iteration-এ কাজ, ঘন ঘন কাজ করা software হাতে দেওয়া, গ্রাহকের সাথে নিয়মিত সহযোগিতা আর পরিবর্তনকে স্বাগত জানানোর মূল্যবোধ ও নীতির একটি পরিবার।যেখানে শিখবেন: পর্ব ০২পর্ব ০৪
- Agile Manifestoএজাইল ম্যানিফেস্টো
- ২০০১ সালে Snowbird-এ ১৭ জন software অনুশীলনকারীর লেখা এক পাতার ঘোষণা — চারটি মূল্যবোধ আর বারোটি নীতি, যা Agile ধারার ভিত্তি।যেখানে শিখবেন: পর্ব ০৫
- Agile Modelingঅ্যাজাইল মডেলিং
- Scott Ambler-এর প্রস্তাবিত চর্চা, যেখানে model বানানো হয় নির্দিষ্ট উদ্দেশ্যে, যতটুকু দরকার ততটুকু, আর অপ্রয়োজনীয় model নির্দ্বিধায় ফেলে দেওয়া হয়।যেখানে শিখবেন: পর্ব ২৩
- AHA (Avoid Hasty Abstractions)আহা
- তাড়াহুড়ো করে abstraction না বানানোর পরামর্শ, যা Kent C. Dodds-এর লেখার মাধ্যমে ছড়িয়েছে; পরিবর্তনের ধরন বোঝার পরে তবেই কোড এক করুন।যেখানে শিখবেন: পর্ব ২৬
- ahead / behindঅ্যাহেড / বিহাইন্ড
- একটি local branch তার upstream-এর তুলনায় কয়টি commit এগিয়ে (নিজের কাছে আছে, server-এ নেই) আর কয়টি পিছিয়ে (server-এ আছে, নিজের কাছে নেই) তার হিসাব; git status আর git rev-list --left-right --count দেখায়।যেখানে শিখবেন: পর্ব ৬৬পর্ব ৬৯
- AHP (Analytic Hierarchy Process)এ-এইচ-পি
- Thomas Saaty-র পদ্ধতি, যেখানে বিকল্পগুলোকে জোড়ায় জোড়ায় ১–৯ মাপে তুলনা করে ওজন বের করা হয় আর consistency ratio দিয়ে উত্তরের সামঞ্জস্য যাচাই হয়।যেখানে শিখবেন: পর্ব ২৪
- Algorithmic biasঅ্যালগরিদমিক বায়াস
- Software বা model-এর সিদ্ধান্ত যখন নিয়মিতভাবে কোনো গোষ্ঠীর প্রতি অন্যায্যভাবে ভালো বা খারাপ ফল দেয় — পক্ষপাতদুষ্ট data, ভুল লক্ষ্য বা নকশার কারণে।যেখানে শিখবেন: পর্ব ৬৪
- Alpha testingআলফা টেস্টিং
- প্রকাশের আগে নির্মাতার নিজের জায়গায় বা নিয়ন্ত্রিত পরিবেশে ভেতরের মানুষ বা বাছাই করা ব্যবহারকারী দিয়ে acceptance-ধাঁচের test.যেখানে শিখবেন: পর্ব ৪৫
- Ancestorঅ্যানসেস্টর
- Parent-এর তীর ধরে পেছনে হেঁটে কোনো commit থেকে যে commit-গুলোতে পৌঁছানো যায়, সেগুলো তার পূর্বপুরুষ।যেখানে শিখবেন: পর্ব ০৯পর্ব ১৪পর্ব ৫৪
- Anchor point milestonesঅ্যাংকর পয়েন্ট মাইলস্টোন
- Boehm-এর প্রস্তাবিত তিনটি বড় সিদ্ধান্ত-বিন্দু — LCO, LCA আর IOC — যেখানে stakeholder-রা একমত হয়ে পরের ধাপে টাকা ও সময় দেওয়ার অঙ্গীকার করেন।যেখানে শিখবেন: পর্ব ০৪
- Anchoringঅ্যাংকরিং
- প্রথম শোনা একটি সংখ্যা পরের সব অনুমানকে নিজের দিকে টেনে রাখার মানসিক প্রবণতা; Tversky আর Kahneman-এর গবেষণায় পরিচিত।যেখানে শিখবেন: পর্ব ৬০
- Anemic domain modelঅ্যানিমিক ডোমেইন মডেল
- যে domain model-এর object-গুলোতে শুধু data আর getter-setter, সব নিয়ম আলাদা service-এ; Martin Fowler ২০০৩ সালের একটি লেখায় একে anti-pattern বলেন।যেখানে শিখবেন: পর্ব ৩৯পর্ব ৪০
- Annotated tagঅ্যানোটেটেড ট্যাগ
- git tag -a দিয়ে বানানো tag, যার জন্য Git একটি আলাদা tag object রাখে: কোন commit, tagger, তারিখ, বার্তা আর ঐচ্ছিক স্বাক্ষর; release-এর জন্য এটিই ব্যবহার হয়।যেখানে শিখবেন: পর্ব ১৮পর্ব ৫২পর্ব ৫৩
- Anti-corruption layerঅ্যান্টি-করাপশন লেয়ার
- Eric Evans-এর Domain-Driven Design (২০০৩)-এর ধারণা: বাইরের বা পুরোনো system-এর মডেল যাতে নিজের domain-এ চুইয়ে না ঢোকে, সেজন্য মাঝখানে অনুবাদকারী adapter-এর একটি স্তর।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৪০পর্ব ৪৩
- Anti-patternঅ্যান্টি-প্যাটার্ন
- বারবার দেখা যায় এমন সমাধান, যা দেখতে যুক্তিসংগত কিন্তু শেষে লাভের চেয়ে ক্ষতি বেশি করে; শব্দটি সাধারণত Andrew Koenig-এর ১৯৯৫ সালের লেখার নামে উল্লেখ হয়।যেখানে শিখবেন: পর্ব ৩২
- API documentationএপিআই ডকুমেন্টেশন
- একটি API-র প্রতিটি function বা endpoint, parameter, ফল আর error-এর নথি; সম্ভব হলে কোড বা OpenAPI-এর মতো machine-readable বিবরণ থেকে তৈরি।যেখানে শিখবেন: পর্ব ৬৩
- Application boundaryঅ্যাপ্লিকেশন বাউন্ডারি
- Function point গোনায় মাপা application আর ব্যবহারকারী বা অন্য system-এর মাঝের কাল্পনিক সীমারেখা; কোন data ভেতরে আর কোনটি বাইরে, তা এটি দিয়েই ঠিক হয়।যেখানে শিখবেন: পর্ব ৬০
- Application coreঅ্যাপ্লিকেশন কোর
- Hexagonal architecture-এর কেন্দ্র, যেখানে business-এর নিয়ম আর use case থাকে; এর কোডে কোনো framework, HTTP বা database-এর নাম থাকে না।যেখানে শিখবেন: পর্ব ৪০
- Apprenticingঅ্যাপ্রেন্টিসিং
- Analyst নিজে শিক্ষানবিশ হয়ে একজন অভিজ্ঞ কর্মীর কাছ থেকে কাজটি শেখেন, আর কর্মী কাজ করতে করতে ব্যাখ্যা দেন।যেখানে শিখবেন: পর্ব ২০
- Architectural driverআর্কিটেকচারাল ড্রাইভার
- যে requirement বা শর্ত architecture-এর আকার ঠিক করে দেয় — মূলত quality attribute, constraint আর গুরুত্বপূর্ণ functional requirement; একে architecturally significant requirement-ও বলা হয়।যেখানে শিখবেন: পর্ব ৩৮
- Architectural fitness functionফিটনেস ফাংশন
- Architecture-এর একটি গুণ ঠিক আছে কি না তার স্বয়ংক্রিয় বা নিয়মিত মাপ, যেমন নিষিদ্ধ import খোঁজার test বা latency-র সীমা; ধারণাটি Building Evolutionary Architectures (২০১৭) বইয়ে জনপ্রিয় হয়।যেখানে শিখবেন: পর্ব ৩৮
- Architectural patternআর্কিটেকচারাল প্যাটার্ন
- পুরো system-এর বড় কাঠামোর পুনর্ব্যবহারযোগ্য সমাধান, যেমন layered, pipe-filter, MVC বা microservice; design pattern-এর চেয়ে বড় স্তর।যেখানে শিখবেন: পর্ব ৩২
- Architectural styleআর্কিটেকচারাল স্টাইল
- পুরো system সাজানোর একটি পরিচিত ধরন — কী ধরনের অংশ থাকবে, তারা কীভাবে যুক্ত হবে আর কোন নিয়ম মানবে; যেমন layered, pipe-and-filter বা event-driven.যেখানে শিখবেন: পর্ব ৩৮
- Architectural viewআর্কিটেকচারাল ভিউ
- একই system-কে একটি নির্দিষ্ট দৃষ্টিকোণ থেকে দেখানো বর্ণনা, যেমন কোড কীভাবে ভাগ, চলার সময় কী কী process বা কোন যন্ত্রে কী চলে; একটি ছবিতে সব দেখানো যায় না বলে।যেখানে শিখবেন: পর্ব ৩৮
- Architecture erosionআর্কিটেকচার ইরোশন
- সময়ের সাথে ছোট ছোট শর্টকাটে আসল কোড পরিকল্পিত architecture থেকে সরে যাওয়া, যেমন স্তর ডিঙানো import বা module-এর সীমা ভাঙা।যেখানে শিখবেন: পর্ব ৩৮
- Architecture sinkhole anti-patternআর্কিটেকচার সিংকহোল
- Layered system-এ অনুরোধ যখন কোনো কাজ ছাড়াই স্তরের পর স্তর শুধু পার হয়ে database পর্যন্ত যায়; বেশিরভাগ অনুরোধ এমন হলে স্তরগুলো কেবল খরচ বাড়াচ্ছে।যেখানে শিখবেন: পর্ব ৩৮
- Arrange-Act-Assert (AAA)অ্যারেঞ্জ-অ্যাক্ট-অ্যাসার্ট
- একটি test-কে তিন ভাগে সাজানোর ছাঁচ: Arrange (দরকারি object আর input তৈরি), Act (যাচাই করা কাজটি একবার ডাকা), Assert (ফল প্রত্যাশার সাথে মেলানো)।যেখানে শিখবেন: পর্ব ৪৬
- Arrow codeঅ্যারো কোড
- একটির ভেতরে আরেকটি অনেক if বা loop, যাতে কোড ডানে সরে তীরের মাথার আকার নেয়; পড়া আর বদলানো কঠিন।যেখানে শিখবেন: পর্ব ৪১
- Artifact (Scrum)আর্টিফ্যাক্ট
- Scrum-এ কাজ বা মূল্যের দৃশ্যমান রূপ — Product Backlog, Sprint Backlog আর Increment — এই তিনটি।যেখানে শিখবেন: পর্ব ০৫
- Artifact digestআর্টিফ্যাক্ট ডাইজেস্ট
- Artifact-এর সব byte থেকে হিসাব করা hash, যেমন sha256:…; byte একটিও বদলালে digest বদলায়, তাই দুই জায়গায় একই digest মানে হুবহু একই artifact.যেখানে শিখবেন: পর্ব ৫৯
- Artifact repositoryআর্টিফ্যাক্ট রিপোজিটরি
- Build-এর তৈরি package বা container image রাখার জায়গা, যেখান থেকে প্রতিটি environment একই artifact নামায়; প্রতিটি artifact একটি version আর digest দিয়ে চেনা যায়।যেখানে শিখবেন: পর্ব ৫৯
- Assertionঅ্যাসারশন
- কোডের ভেতরে লেখা একটি শর্ত, যা সত্য হওয়ার কথা; মিথ্যা হলে প্রোগ্রাম error তোলে। Python-এ assert, যা python -O দিলে বাদ পড়ে।যেখানে শিখবেন: পর্ব ৩১পর্ব ৪৫পর্ব ৪৬
- Assertion rouletteঅ্যাসারশন রুলেট
- একটি test-এ বার্তা ছাড়া অনেকগুলো assertion, ফলে ব্যর্থ হলে কোনটি আর কেন ভাঙল তা চট করে বোঝা যায় না।যেখানে শিখবেন: পর্ব ৪৬
- Assertion-free testঅ্যাসারশন-ছাড়া টেস্ট
- যে test কোড চালায় কিন্তু কোনো ফল যাচাই করে না; coverage বাড়ায়, ভুল ধরে না।যেখানে শিখবেন: পর্ব ৫০
- Associationঅ্যাসোসিয়েশন
- UML-এ দুটি উপাদানের মধ্যে সাধারণ রেখার সম্পর্ক — use case diagram-এ actor আর use case-এর যোগ, class diagram-এ দুটি class-এর সম্পর্ক।যেখানে শিখবেন: পর্ব ২৩পর্ব ২৯পর্ব ৩৪
- Association classঅ্যাসোসিয়েশন ক্লাস
- যে association-এর নিজের attribute আছে, তাকে class হিসেবে দেখানো; class-এর বাক্সটি ড্যাশ রেখা দিয়ে association-এর রেখার সাথে জোড়া থাকে।যেখানে শিখবেন: পর্ব ২৯
- Asynchronous communicationঅ্যাসিনক্রোনাস কমিউনিকেশন
- যে যোগাযোগ লেখা থাকে আর যে যার সময়ে পড়ে উত্তর দেন, যেমন issue, PR-এর মন্তব্য বা নথি।যেখানে শিখবেন: পর্ব ৬৩
- Asynchronous messageঅ্যাসিনক্রোনাস মেসেজ
- পাঠিয়েই প্রেরক নিজের কাজে চলে যায় এমন message; সরল রেখা আর খোলা মাথা দিয়ে আঁকা হয়, যেমন queue-তে event রাখা।যেখানে শিখবেন: পর্ব ৩০
- ATAMএটিএএম
- Architecture Tradeoff Analysis Method — SEI-র একটি পদ্ধতি, যেখানে stakeholder-রা quality scenario অগ্রাধিকার দিয়ে architecture-এর ঝুঁকি, sensitivity point আর trade-off point খুঁজে বের করেন।যেখানে শিখবেন: পর্ব ৩৮
- Atomic changeঅ্যাটমিক চেঞ্জ
- একাধিক project-এর জড়িত বদল একটি commit বা একটি merge-এ একসাথে করা, যাতে মাঝামাঝি কোনো ভাঙা অবস্থা কারও কাছে না পৌঁছায়।যেখানে শিখবেন: পর্ব ১৯
- Atomic commitঅ্যাটমিক কমিট
- যে commit ঠিক একটি যুক্তিসংগত পরিবর্তন বহন করে, পুরোটা নিলে project কাজ করে; ফেরানো, review আর bug খোঁজা এতে সহজ হয়।যেখানে শিখবেন: পর্ব ০৮পর্ব ১৮পর্ব ৪১
- Attributeঅ্যাট্রিবিউট
- একটি class বা ধারণার একটি বৈশিষ্ট্য, যার একটি মান থাকে, যেমন ওষুধের নাম বা দাম।যেখানে শিখবেন: পর্ব ২৩পর্ব ২৯
- Author (Git)অথর
- যিনি একটি পরিবর্তন মূলত লিখেছেন; commit-এ তাঁর নাম, email আর সময় থাকে।যেখানে শিখবেন: পর্ব ০৮পর্ব ১৬পর্ব ৫৭
- Authorizationঅথরাইজেশন
- পরিচয় নিশ্চিত হওয়ার পরে এই ব্যবহারকারী নির্দিষ্ট কাজটি বা নির্দিষ্ট data-টি করতে বা দেখতে পারেন কি না, তা যাচাই; login (authentication) থেকে আলাদা।যেখানে শিখবেন: পর্ব ৪৪
- Auto-wiringঅটো-ওয়্যারিং
- Constructor-এর parameter-এর type বা নাম দেখে DI container নিজেই ঠিক করে কোন dependency দিতে হবে; জোড়ার কোড কমে, কিন্তু জোড়া চোখে দেখা যায় না।যেখানে শিখবেন: পর্ব ৩৭
- Automated refactoringঅটোমেটেড রিফ্যাক্টরিং
- IDE বা tool-এর মাধ্যমে rename, extract বা move-এর মতো বদল, যেখানে tool নিজেই কোডের গঠন বিশ্লেষণ করে সব ব্যবহারের জায়গা একসাথে বদলায়।যেখানে শিখবেন: পর্ব ৪২
- Autospec (create_autospec)অটোস্পেক
- Python-এর unittest.mock-এ আসল class বা function দেখে mock বানানোর ব্যবস্থা, যাতে আসলে নেই এমন method বা ভুল সংখ্যক argument ডাকলে সাথে সাথে error আসে।যেখানে শিখবেন: পর্ব ৪৯
- Autosquashঅটোস্কোয়াশ
- git commit --fixup বা --squash দিয়ে তৈরি fixup! ও squash! commit-গুলোকে rebase-এর todo list-এ নিজে থেকে মূল commit-এর নিচে সাজিয়ে দেওয়া, git rebase -i --autosquash দিয়ে।যেখানে শিখবেন: পর্ব ১৫পর্ব ১৬
- Availabilityঅ্যাভেইলেবিলিটি
- মোট সময়ের কত ভাগ system ব্যবহারযোগ্য থাকে; দীর্ঘ সময়ের গড়ে A = MTBF / (MTBF + MTTR).যেখানে শিখবেন: পর্ব ০৩পর্ব ৬৬
- Avalanche effectঅ্যাভালাঞ্চ ইফেক্ট
- ভালো hash function-এর গুণ: input-এর একটি bit বদলালেই output-এর প্রায় অর্ধেক bit বদলে যায়, তাই কাছাকাছি input-এর hash-ও সম্পূর্ণ আলাদা দেখায়।যেখানে শিখবেন: পর্ব ৫২
B
- Baby stepsবেবি স্টেপস
- TDD-তে এত ছোট ধাপে এগোনো যে প্রতিটি ধাপের পর কয়েক মিনিটের মধ্যে আবার সব test সবুজ হয়; অনিশ্চয়তা যত বেশি, ধাপ তত ছোট।যেখানে শিখবেন: পর্ব ৪৮
- Back edgeব্যাক এজ
- DFS চলার সময় এমন একটি তীর, যা বর্তমান পথে থাকা (grey) একটি node-এ ফিরে যায়; এটি পাওয়া মানেই graph-এ চক্র আছে।যেখানে শিখবেন: পর্ব ২৫
- Back-mergeব্যাক-মার্জ
- Release বা hotfix branch main-এ মেলানোর পরে একই branch-কে develop-এ (বা চালু release branch-এ) ফেরত মেলানো, যাতে fix আর version নম্বর হারিয়ে না যায়।যেখানে শিখবেন: পর্ব ১৭
- Backbone (story map)ব্যাকবোন
- Story map-এর ওপরের সারি — ব্যবহারকারীর প্রধান কাজগুলো (activity) তাদের যাত্রার ক্রমে।যেখানে শিখবেন: পর্ব ২২
- Backfiringব্যাকফায়ারিং
- ভাষাভিত্তিক গড় অনুপাত (প্রতি function point-এ কত লাইন) দিয়ে function point আর LOC-এর মধ্যে রূপান্তর; খুব মোটা দাগের হিসাব।যেখানে শিখবেন: পর্ব ৬০পর্ব ৬৬
- Backlog refinementব্যাকলগ রিফাইনমেন্ট
- Product Backlog item-গুলো ভেঙে ছোট ও স্পষ্ট করা, বিবরণ, ক্রম আর আকার যোগ করার চলমান কাজ; এটি আলাদা কোনো event নয়।যেখানে শিখবেন: পর্ব ০৫পর্ব ২৪
- Backportব্যাকপোর্ট
- নতুন কোডে করা একটি সংশোধন (সাধারণত bug বা নিরাপত্তার fix) পুরোনো, এখনো চালু থাকা release-এও পৌঁছে দেওয়া; Git-এ প্রায়ই cherry-pick দিয়ে করা হয়।যেখানে শিখবেন: পর্ব ৫৬পর্ব ৬৯
- Backward compatibilityব্যাকওয়ার্ড কম্প্যাটিবিলিটি
- নতুন version-এ পুরোনো নিয়মে লেখা ব্যবহারকারীর কোড আর data আগের মতোই চলার গুণ; ভাঙলে সেটি breaking change.যেখানে শিখবেন: পর্ব ৩১
- Backward passব্যাকওয়ার্ড পাস
- শেষ থেকে শুরুর দিকে হিসাব: LF = উত্তরসূরিদের LS-এর সর্বনিম্ন, LS = LF − সময়।যেখানে শিখবেন: পর্ব ৬১পর্ব ৬৬
- Backward traceabilityব্যাকওয়ার্ড ট্রেসেবিলিটি
- Test বা কোড থেকে পেছনের দিকে requirement আর stakeholder-এর চাহিদা পর্যন্ত ফেরার সংযোগ — কোনো কোড বা test কেন আছে তা দেখায়।যেখানে শিখবেন: পর্ব ২৪
- Bare repositoryবেয়ার রিপোজিটরি
- Working tree ছাড়া শুধু Git-এর ভেতরের তথ্য (object আর ref) রাখা repository; সাধারণত server-এ থাকে, সেখানে কেউ সরাসরি ফাইল সম্পাদনা করে না, শুধু push আর fetch হয়।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৯পর্ব ৫৪
- Baselineবেসলাইন
- Review করে অনুমোদিত কোনো দলিল বা requirement-এর নির্দিষ্ট version, যা পরের কাজের ভিত্তি আর যা শুধু আনুষ্ঠানিক change control-এর পথে বদলানো যায়।যেখানে শিখবেন: পর্ব ২৪
- Basic blockবেসিক ব্লক
- পরপর চলা statement-এর দল, যাতে ঢোকার পথ শুধু প্রথম লাইনে আর বের হওয়ার পথ শুধু শেষ লাইনে; CFG-র একটি node.যেখানে শিখবেন: পর্ব ৫০
- Basis path testingবেসিস পাথ টেস্টিং
- McCabe-এর পদ্ধতি: CFG থেকে V(G)টি স্বাধীন পথের একটি basis set বের করে প্রতিটি পথের জন্য একটি test নকশা করা; branch coverage-ও নিশ্চিত হয়।যেখানে শিখবেন: পর্ব ৫০
- Batch sizeব্যাচ সাইজ
- একবারে একসাথে পাঠানো কাজের পরিমাণ, যেমন একটি deploy-এ কতগুলো commit; batch যত বড়, অপেক্ষা আর ঝুঁকি সাধারণত তত বেশি।যেখানে শিখবেন: পর্ব ৫৯
- BDFL (Benevolent Dictator For Life)বিডিএফএল
- রসিকতার নাম, এমন একজন project-প্রধানের জন্য যিনি মতবিরোধে চূড়ান্ত সিদ্ধান্ত দেন।যেখানে শিখবেন: পর্ব ৬৩
- Behavioral patternবিহেভিওরাল প্যাটার্ন
- Object-গুলোর মধ্যে আচরণ, দায় আর যোগাযোগ ভাগ করার design pattern; GoF-এ ১১টি, যেমন Strategy, Observer, Command, State, Visitor.যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৫পর্ব ৩৬
- Behaviour verification (interaction testing)বিহেভিয়ার ভেরিফিকেশন
- SUT তার সহযোগীদের কোন method, কোন argument-এ, কতবার ডাকল তা যাচাই করে test পাস-ফেল ঠিক করা; mock আর spy এর প্রধান হাতিয়ার।যেখানে শিখবেন: পর্ব ৪৯পর্ব ৭০
- Behaviour-driven development (BDD)বিহেভিয়ার-ড্রিভেন ডেভেলপমেন্ট
- ব্যবসা, test আর developer একসাথে আচরণের উদাহরণ ঠিক করে সেগুলোকেই requirement আর স্বয়ংক্রিয় test হিসেবে ব্যবহারের পদ্ধতি; Dan North-এর নাম এর সাথে জড়িত।যেখানে শিখবেন: পর্ব ২২পর্ব ৪৮
- Behavioural questionবিহেভিয়েরাল কোয়েশ্চন
- “এমন একটি সময়ের কথা বলুন যখন…” ধাঁচের প্রশ্ন, যা অতীতের সত্যিকারের আচরণ দিয়ে দ্বিমত, চাপ বা ভুলের সময়ে আপনার কাজের ধরন বুঝতে চায়।যেখানে শিখবেন: পর্ব ৭০
- Behavioural subtypingবিহেভিওরাল সাবটাইপিং
- শুধু method-এর নাম আর type মিললেই নয়, আচরণের চুক্তি (precondition, postcondition, invariant, history) মানলে তবেই একটি type অন্যটির subtype — Liskov ও Wing-এর ১৯৯৪ সালের সংজ্ঞা।যেখানে শিখবেন: পর্ব ২৮পর্ব ৭০
- Beta testingবিটা টেস্টিং
- সীমিত সংখ্যক বাইরের ব্যবহারকারী তাঁদের নিজের যন্ত্র আর পরিবেশে প্রায়-চূড়ান্ত software ব্যবহার করে মতামত আর ভুলের খবর দেন।যেখানে শিখবেন: পর্ব ৪৫
- BFG Repo-Cleanerবিএফজি রিপো-ক্লিনার
- Java-তে লেখা একটি tool, যা history থেকে বড় ফাইল বা secret দ্রুত সরায়; default-এ সর্বশেষ commit-এর বিষয়বস্তু ছোঁয় না।যেখানে শিখবেন: পর্ব ৫৭
- Big-bang integrationবিগ-ব্যাং ইন্টিগ্রেশন
- সব module আলাদা বানিয়ে একবারে সব জোড়া দিয়ে test করার কৌশল; ব্যর্থ হলে কোন জোড়ায় ভুল, তা খুঁজে পাওয়া কঠিন।যেখানে শিখবেন: পর্ব ৫১
- Big-bang rewriteবিগ-ব্যাং রিরাইট
- পুরো system একবারে নতুন করে লিখে এক দিনে পুরোনোটির জায়গায় বসানো; জমা জ্ঞান হারানো আর সব ঝুঁকি শেষে জমা হওয়ার জন্য পরিচিত।যেখানে শিখবেন: পর্ব ৪২পর্ব ৪৩
- Binary fileবাইনারি ফাইল
- যে file মানুষের পড়ার মতো লাইনভিত্তিক text নয়, যেমন ছবি, PDF বা zip; line ending রূপান্তর এর byte নষ্ট করতে পারে, আর লাইনভিত্তিক diff এতে অর্থহীন।যেখানে শিখবেন: পর্ব ১০পর্ব ১৯পর্ব ৫৪
- Binary searchবাইনারি সার্চ
- সাজানো সারিতে প্রতিবার মাঝখানের উপাদান দেখে অর্ধেক বাদ দিয়ে খোঁজার পদ্ধতি; n টি উপাদানে মোটামুটি log₂ n ধাপ লাগে।যেখানে শিখবেন: পর্ব ৫৫
- Bisect terms (old/new)বাইসেক্ট টার্মস
- good/bad-এর বদলে নিজের দেওয়া দুটি শব্দ, যেমন fast/slow; old মানে history-র আগের অবস্থা, new মানে পরের, আর Git প্রথম new commit খোঁজে।যেখানে শিখবেন: পর্ব ৫৫
- BitKeeperবিটকিপার
- BitMover কোম্পানির distributed version control, যা ২০০২ থেকে ২০০৫ পর্যন্ত Linux kernel-এর কাজে ব্যবহৃত হতো; এর বিনামূল্যের লাইসেন্স বন্ধ হওয়ার পরই Git তৈরি হয়।যেখানে শিখবেন: পর্ব ০৭
- Black-box testingব্ল্যাক-বক্স টেস্টিং
- ভেতরের কোড না দেখে শুধু requirement আর specification থেকে test বানানো; ইনপুট দিয়ে আউটপুট মেলানো।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৭পর্ব ৬৮
- Blameless cultureব্লেমলেস কালচার
- ভুল বা দুর্ঘটনার পরে “কে দোষী” নয়, “কোন ব্যবস্থা এটি সম্ভব করল আর কী বদলাতে হবে” প্রশ্ন করার দলীয় সংস্কৃতি; এতে মানুষ ভুল লুকায় না।যেখানে শিখবেন: পর্ব ৫৫পর্ব ৫৯পর্ব ৬৩
- Blobব্লব
- Git-এর object store-এ একটি ফাইলের বিষয়বস্তু রাখার object; নাম বা permission নয়, শুধু ভেতরের লেখা, আর তার hash দিয়েই চেনা হয়।যেখানে শিখবেন: পর্ব ০৯পর্ব ১৯পর্ব ৫২
- Blocking commentব্লকিং কমেন্ট
- এমন review মন্তব্য, যা না মেটানো পর্যন্ত reviewer merge-এ রাজি নন; nit বা প্রশ্নের মতো ঐচ্ছিক মন্তব্য থেকে স্পষ্ট করে আলাদা করা উচিত।যেখানে শিখবেন: পর্ব ৪৪
- Blue-green deploymentব্লু-গ্রিন ডিপ্লয়মেন্ট
- দুটি একই রকম production পরিবেশ রেখে নতুন version অন্যটিতে বসানো, তারপর traffic এক ঝটকায় সেদিকে ঘোরানো; সমস্যা হলে আবার ফেরানো যায়।যেখানে শিখবেন: পর্ব ৫৯
- Bottom-up integrationবটম-আপ ইন্টিগ্রেশন
- সবচেয়ে নিচের module থেকে শুরু করে ওপরের দিকে জোড়া দেওয়া; ওপরের ডাকার module-এর জায়গায় test driver ব্যবহার হয়।যেখানে শিখবেন: পর্ব ৫১
- Boundary value analysis (BVA)বাউন্ডারি ভ্যালু অ্যানালাইসিস
- Partition-এর কিনারার মান আর তার পাশের মান দিয়ে test করা; ২-মান রূপে সীমা ও পাশের partition-এর নিকটতম মান, ৩-মান রূপে সীমা ও তার দুই প্রতিবেশী।যেখানে শিখবেন: পর্ব ৪৭পর্ব ৫০পর্ব ৬৫
- Bounded contextবাউন্ডেড কনটেক্সট
- DDD-র একটি স্পষ্ট সীমানা, যার ভেতরে একটি model আর একটি ubiquitous language সুসংগত; সীমানার বাইরে একই শব্দের অর্থ আলাদা হতে পারে।যেখানে শিখবেন: পর্ব ৪০
- Boy scout ruleবয় স্কাউট রুল
- যে কোডে কাজ করছেন, যাওয়ার সময় তা একটু পরিষ্কার রেখে যাওয়ার অভ্যাস; Robert C. Martin-এর Clean Code (২০০৮) বইয়ে জনপ্রিয়।যেখানে শিখবেন: পর্ব ৪১পর্ব ৪৩
- Brainstormingব্রেইনস্টর্মিং
- একটি দলে সমালোচনা ছাড়া দ্রুত অনেক ধারণা তৈরি করা, পরে সেগুলো বাছাই আর যাচাই করা।যেখানে শিখবেন: পর্ব ২০
- Branchব্রাঞ্চ
- Git-এ কাজের একটি আলাদা ধারা — মূল কোড না ছুঁয়ে নতুন পরিবর্তন করার জায়গা; ভেতরে আসলে একটি commit-এর দিকে নির্দেশক।যেখানে শিখবেন: পর্ব ০১পর্ব ০৭পর্ব ০৮
- Branch (decision) coverageব্রাঞ্চ কভারেজ
- প্রতিটি decision-এর প্রতিটি ফল, যেমন if-এর true আর false দিক, অন্তত একবার নেওয়া হয়েছে কি না তার মাপ; statement coverage-কে subsume করে।যেখানে শিখবেন: পর্ব ৫০পর্ব ৭০
- Branch by abstractionব্রাঞ্চ বাই অ্যাবস্ট্র্যাকশন
- বড় পরিবর্তন branch-এর বদলে কোডের ভেতরে করার কৌশল: পুরোনো অংশের সামনে একটি interface বসিয়ে তার পেছনে নতুন implementation ধাপে ধাপে বানানো, তারপর সুইচ করে পুরোনোটি মোছা।যেখানে শিখবেন: পর্ব ১৭পর্ব ৪৩
- Branch protectionব্রাঞ্চ প্রোটেকশন
- Platform-এ কোনো branch-এর জন্য বসানো নিয়ম — সরাসরি push নিষেধ, approval আর সফল check বাধ্যতামূলক, force push নিষেধ ইত্যাদি।যেখানে শিখবেন: পর্ব ১৬পর্ব ১৭পর্ব ৪৪
- Branching strategyব্রাঞ্চিং স্ট্র্যাটেজি
- দলের মেনে চলা নিয়ম — কোন branch কতদিন থাকবে, কোথা থেকে খোলা হবে, কোথায় মিশবে আর release কোথা থেকে বের হবে; Git নিজে এটি ঠিক করে না, দল করে।যেখানে শিখবেন: পর্ব ১৭
- Breaking changeব্রেকিং চেঞ্জ
- এমন পরিবর্তন, যার পরে পুরোনো নিয়মে লেখা ব্যবহারকারীর কোড বা ব্যবহার আর ঠিকমতো চলে না, যেমন function-এর parameter বদলানো; SemVer-এ এতে MAJOR বাড়ে।যেখানে শিখবেন: পর্ব ১৮পর্ব ২৮পর্ব ৩১
- Bridge patternব্রিজ প্যাটার্ন
- Abstraction আর তার implementation-কে দুটি আলাদা hierarchy-তে রেখে জোড়া দেওয়ার structural pattern, যাতে দুই দিক স্বাধীনভাবে বাড়ে আর subclass-এর গুণফল এড়ানো যায়।যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৪
- Broad integration testব্রড ইন্টিগ্রেশন টেস্ট
- অনেক module বা service-এর চালু রূপ একসাথে জোড়া দিয়ে পুরো পথ যাচাই করা test; বেশি আস্থা দেয়, কিন্তু ধীর আর ভাঙলে কারণ খোঁজা কঠিন।যেখানে শিখবেন: পর্ব ৫১
- Broken build (red build)ব্রোকেন বিল্ড
- Mainline-এর এমন অবস্থা, যেখানে সর্বশেষ commit-এ build বা test ব্যর্থ; CI-র নিয়মে এটি ঠিক করা দলের প্রথম অগ্রাধিকার।যেখানে শিখবেন: পর্ব ৫৮
- Broker topologyব্রোকার টপোলজি
- Event-driven ধরনের যে রূপে কোনো কেন্দ্রীয় নিয়ন্ত্রক নেই — প্রতিটি অংশ event শুনে নিজের কাজ করে নতুন event প্রকাশ করে, পুরো প্রবাহ শিকলের মতো গড়ে ওঠে।যেখানে শিখবেন: পর্ব ৩৮
- Brooks’s lawব্রুকসের সূত্র
- Fred Brooks-এর পর্যবেক্ষণ: দেরি হওয়া software project-এ লোক বাড়ালে শেখার সময় আর যোগাযোগের খরচের কারণে সেটি সাধারণত আরও দেরি হয়।যেখানে শিখবেন: পর্ব ০১পর্ব ০২পর্ব ৬০
- Build artifact (build output)বিল্ড আর্টিফ্যাক্ট
- Source code থেকে tool দিয়ে তৈরি হওয়া file, যেমন compile করা .o বা .class, bundle করা dist/ folder; source আর build script থাকলে যেকোনো সময় আবার বানানো যায়, তাই সাধারণত commit করা হয় না।যেখানে শিখবেন: পর্ব ১০পর্ব ১৮পর্ব ৫৮
- Build cacheবিল্ড ক্যাশ
- কোনো build বা test ধাপের সব input-এর hash ধরে আগের ফল জমিয়ে রাখা, যাতে একই input-এ আবার চালাতে না হয়; দলের শেয়ার করা remote cache-ও হতে পারে।যেখানে শিখবেন: পর্ব ১৯পর্ব ৫৮
- Build metadataবিল্ড মেটাডেটা
- Version-এর শেষে + দিয়ে যোগ করা তথ্য, যেমন 1.0.0+build.5; build চেনাতে কাজে লাগে, কিন্তু SemVer-এর precedence-এ পুরো উপেক্ষিত।যেখানে শিখবেন: পর্ব ১৮
- Build once, deploy manyবিল্ড ওয়ান্স, ডিপ্লয় মেনি
- Artifact একবারই build করে সেই একই artifact প্রতিটি environment-এ পাঠানোর নিয়ম; environment-ভেদে শুধু config বদলায়, তাই যা test হয়েছে ঠিক সেটিই production-এ চলে।যেখানে শিখবেন: পর্ব ৫৯
- Build systemবিল্ড সিস্টেম
- Source থেকে program, package আর test-এর ফল বানানোর ধাপগুলো কোন ক্রমে, কোন input দিয়ে চলবে তা ঠিক করে চালানো tool, যেমন Make, Bazel বা Gradle.যেখানে শিখবেন: পর্ব ১৯
- Builderবিল্ডার
- GoF pattern, যেখানে জটিল object ধাপে ধাপে বানানো হয় আর শেষে build() একবারে যাচাই করে সম্পূর্ণ object দেয়; একই ধাপ থেকে ভিন্ন রূপও বানানো যায়।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৪৬
- Burndown chartবার্নডাউন চার্ট
- সময়ের সাথে বাকি কাজ কতটা কমছে তা দেখানো chart, সাধারণত একটি ideal সরল রেখার পাশে।যেখানে শিখবেন: পর্ব ০৫পর্ব ৬৫
- Burnup chartবার্নআপ চার্ট
- সময়ের সাথে Done কাজ আর মোট scope দুটি আলাদা রেখায় দেখানো chart, যাতে scope বাড়া আর ধীর অগ্রগতি আলাদা করে চেনা যায়।যেখানে শিখবেন: পর্ব ০৫
- Bus factorবাস ফ্যাক্টর
- কতজন মানুষ হঠাৎ না থাকলে একটি project-এর কোনো অংশ কেউ বুঝবেন না বা চালাতে পারবেন না; সংখ্যা যত ছোট, ঝুঁকি তত বেশি।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৬৩পর্ব ৬৬
- Business logicবিজনেস লজিক
- সমস্যার জগতের নিয়ম, যা UI বদলালেও বদলায় না, যেমন GPA-র সীমা বা ফ্রি delivery-র শর্ত; domain logic নামেও পরিচিত।যেখানে শিখবেন: পর্ব ৩৯
- Business riskবিজনেস রিস্ক
- যে ঝুঁকি software বানানো বা কেনা প্রতিষ্ঠানকে ক্ষতিগ্রস্ত করে, যেমন প্রতিযোগীর নতুন পণ্য, বাজার বা আইনের বদল।যেখানে শিখবেন: পর্ব ৬২
- Business ruleবিজনেস রুল
- প্রতিষ্ঠানের নীতি বা নিয়ম, যা software-কে মানতে হয় — যেমন একজন ডাক্তারের দিনে সর্বোচ্চ ৪০টি অ্যাপয়েন্টমেন্ট; সাধারণত functional requirement-এর ভেতরে শর্ত হিসেবে বসে।যেখানে শিখবেন: পর্ব ২১
C
- C4 modelসি-ফোর মডেল
- Simon Brown-এর প্রস্তাবিত architecture আঁকার পদ্ধতি — context, container, component আর code — মানচিত্রের মতো চারটি zoom স্তর।যেখানে শিখবেন: পর্ব ৩৮
- Cacheক্যাশ
- আগে পাওয়া ফল কাছে জমিয়ে রাখার জায়গা, যাতে একই প্রশ্নে আবার ধীর উৎসে যেতে না হয়; ঝুঁকি হলো পুরোনো (stale) ফল দেখানো।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৫৮
- Cache keyক্যাশ কি
- CI cache-কে চেনার নাম, সাধারণত operating system আর lockfile-এর hash মিলিয়ে তৈরি; lockfile না বদলালে key একই থাকে আর আগের cache ফিরে আসে।যেখানে শিখবেন: পর্ব ৫৮
- Caching proxyক্যাশিং প্রক্সি
- যে proxy আসল object-এর ফল জমিয়ে রাখে আর একই প্রশ্নে জমানো ফল ফেরত দেয়, ফলে আসল ডাকের সংখ্যা কমে।যেখানে শিখবেন: পর্ব ৩৪
- Calendar Versioning (CalVer)ক্যালেন্ডার ভার্শনিং
- তারিখভিত্তিক version নম্বর, যেমন 24.04 মানে ২০২৪ সালের এপ্রিল; একক কোনো spec নয়, প্রতিটি project নিজের format ঘোষণা করে।যেখানে শিখবেন: পর্ব ১৮
- Callbackকলব্যাক
- একটি function, যা অন্য কোডকে দেওয়া হয় যাতে কোনো ঘটনা ঘটলে বা কাজ শেষ হলে সেই কোড এটিকে ডাকে।যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৫
- CALMSকাল্মস
- DevOps বোঝার একটি প্রচলিত কাঠামো — Culture, Automation, Lean, Measurement আর Sharing — পাঁচটি শব্দের আদ্যক্ষর।যেখানে শিখবেন: পর্ব ৫৯
- Canary releaseক্যানারি রিলিজ
- নতুন version প্রথমে অল্প ব্যবহারকারী বা অল্প server-এ চালিয়ে মাপ দেখা, ভালো হলে ধাপে ধাপে বাড়ানো, খারাপ হলে ফেরা।যেখানে শিখবেন: পর্ব ৫৯
- Capacity testক্যাপাসিটি টেস্ট
- নির্দিষ্ট চাপে (যেমন সেকেন্ডে কয়েকশো অনুরোধ) system তার গতি আর ক্ষমতার লক্ষ্য পূরণ করে কি না, তা মাপার non-functional test; pipeline-এর একটি আলাদা ধাপ হতে পারে।যেখানে শিখবেন: পর্ব ৫৯
- Capstone projectক্যাপস্টোন প্রজেক্ট
- কোনো কোর্সের শেষে একটি পূর্ণ project, যেখানে আগে শেখা সব দক্ষতা একসাথে প্রয়োগ করে শুরু থেকে শেষ পর্যন্ত একটি কাজ দাঁড় করানো হয়।যেখানে শিখবেন: পর্ব ৬৫
- Captive dependencyক্যাপটিভ ডিপেনডেন্সি
- দীর্ঘ আয়ুর object, যেমন singleton, যখন কম আয়ুর scoped বা transient object ধরে রাখে, ফলে সেটি নির্ধারিত সময়ের চেয়ে বেশি বাঁচে আর ভুলভাবে ভাগ হয়; lifetime মেলানোর একটি ভুল।যেখানে শিখবেন: পর্ব ৩৭
- Cause-effect graphকজ-ইফেক্ট গ্রাফ
- Requirement-এর কারণ (শর্ত) আর ফলের যৌক্তিক সম্পর্ক AND, OR, NOT দিয়ে আঁকা ছবি, যা থেকে decision table আর test বের করা হয়; Myers-এর বইয়ে আলোচিত।যেখানে শিখবেন: পর্ব ৪৭
- Centralized VCSসেন্ট্রালাইজড ভিসিএস
- যে version control-এ পুরো ইতিহাস একটি কেন্দ্রীয় server-এ থাকে, আর প্রত্যেকের কাছে শুধু ফাইলের একটি কাজের কপি; commit করতে server লাগে। যেমন CVS আর Subversion.যেখানে শিখবেন: পর্ব ০৭
- Chain of Responsibilityচেইন অব রেসপনসিবিলিটি
- অনুরোধটি handler-দের একটি শিকলে পাঠানো, যেখানে প্রতিটি handler হয় নিজে সামলায়, নয় পরেরজনের হাতে দেয় — পাঠানো পক্ষ জানে না শেষে কে সামলাবে।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৭০
- Change controlচেঞ্জ কন্ট্রোল
- Baseline বদলানোর আনুষ্ঠানিক প্রক্রিয়া: অনুরোধ জমা, প্রভাব বিশ্লেষণ, সিদ্ধান্ত, নতুন version আর সবাইকে জানানো।যেখানে শিখবেন: পর্ব ২৪
- Change control board (CCB)চেঞ্জ কন্ট্রোল বোর্ড
- Change request গ্রহণ, বাতিল বা পিছিয়ে দেওয়ার সিদ্ধান্ত দেওয়ার দায়িত্বপ্রাপ্ত মানুষ বা কমিটি; ছোট দলে দুজনও হতে পারেন।যেখানে শিখবেন: পর্ব ২৪
- Change couplingচেঞ্জ কাপলিং
- Version control-এর ইতিহাসে দেখা যায় এমন সম্পর্ক: যে file বা module-গুলো প্রায়ই একই commit বা একই সময়ে একসাথে বদলায়; লুকানো নির্ভরতা বা ভুল সীমার সংকেত।যেখানে শিখবেন: পর্ব ২৭পর্ব ৪২
- Change failure rateচেঞ্জ ফেইলিওর রেট
- Production-এ যাওয়া deploy-এর মধ্যে কত শতাংশ সমস্যা ঘটিয়েছে, যার জন্য rollback, hotfix বা জরুরি সংশোধন লেগেছে; DORA-র স্থিতিশীলতার একটি মাপ।যেখানে শিখবেন: পর্ব ৫৯পর্ব ৬৫পর্ব ৬৬
- Change requestচেঞ্জ রিকোয়েস্ট
- অনুমোদিত requirement বা পরিকল্পনা বদলানোর একটি আনুষ্ঠানিক অনুরোধ, যার খরচ আর প্রভাব বিচার করে গ্রহণ বা বাতিল করা হয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ২৪
- Changelogচেঞ্জলগ
- Repository-র একটি ফাইল, সাধারণত CHANGELOG.md, যেখানে প্রতিটি version-এ ব্যবহারকারীর জন্য গুরুত্বপূর্ণ পরিবর্তনগুলো নতুন থেকে পুরোনো ক্রমে লেখা থাকে।যেখানে শিখবেন: পর্ব ১৮পর্ব ৫৪পর্ব ৬৫
- Characterization testক্যারেক্টারাইজেশন টেস্ট
- কোডের উচিত আচরণ নয়, বর্তমান আচরণ লিখে রাখা test; refactoring-এর সময় আচরণ যাতে অজান্তে না বদলায় তা নিশ্চিত করে।যেখানে শিখবেন: পর্ব ৪২পর্ব ৪৩পর্ব ৪৮
- Checked exceptionচেকড এক্সেপশন
- Java-র যে exception method-এর signature-এ throws দিয়ে ঘোষণা করতে হয় আর caller-কে ধরতে বা আবার ঘোষণা করতে হয়, যেমন IOException; RuntimeException-এর উত্তরসূরিরা unchecked.যেখানে শিখবেন: পর্ব ৩১
- Checklist-based testingচেকলিস্ট-বেসড টেস্টিং
- দলের অভিজ্ঞতা থেকে লেখা যাচাইয়ের তালিকা ধরে test করা; তালিকা নিয়মিত হালনাগাদ না হলে পুরোনো হয়ে যায়।যেখানে শিখবেন: পর্ব ৪৭
- CHERRY_PICK_HEADচেরি-পিক হেড
- Cherry-pick conflict-এ থামলে যে commit বসানো হচ্ছিল তার hash রাখা বিশেষ ref; --continue বা --abort-এর পর চলে যায়।যেখানে শিখবেন: পর্ব ৫৩
- Choice pseudostateচয়েস সিউডোস্টেট
- হীরা আকারের সিদ্ধান্ত-বিন্দু, যেখানে পৌঁছানোর পরে guard যাচাই হয়, তাই আগের অংশের effect-এ বদলানো মান guard দেখতে পায়।যেখানে শিখবেন: পর্ব ৩০
- CI pipelineসিআই পাইপলাইন
- প্রতিটি push বা pull request-এ স্বয়ংক্রিয়ভাবে চলা ধাপের সাজানো ক্রম — checkout, dependency, lint, build, test, scan, artifact আর ফল জানানো; কোন ধাপ কোনটির পরে, তা একটি DAG দিয়ে ঠিক হয়।যেখানে শিখবেন: পর্ব ৫৮
- CI theatreসিআই থিয়েটার
- CI tool আর সবুজ-লাল ছবি আছে কিন্তু অনুশীলনটি নেই — দীর্ঘজীবী branch, শুধু রাতে চলা build, দিনের পর দিন উপেক্ষিত লাল build — এমন লোক-দেখানো অবস্থা।যেখানে শিখবেন: পর্ব ৫৮
- CIA triadসিআইএ ট্রায়াড
- তথ্য-নিরাপত্তার তিন মূল লক্ষ্য — confidentiality (গোপনীয়তা), integrity (অবিকৃত থাকা) আর availability, অর্থাৎ দরকারের সময় পাওয়া।যেখানে শিখবেন: পর্ব ০৩
- Clarifying questionক্ল্যারিফাইং কোয়েশ্চন
- উত্তর দেওয়ার আগে প্রশ্নের পরিধি, অনুমান আর সীমা বুঝে নিতে করা প্রশ্ন, যেমন কোন ভাষায়, কত বড় ইনপুট বা কোডটি কতদিন চলবে।যেখানে শিখবেন: পর্ব ৭০
- Classক্লাস
- একই ধরনের object-এর নকশা বা ছাঁচ — কোন data (attribute) রাখবে আর কী কাজ (operation) করতে পারবে, তার বর্ণনা।যেখানে শিখবেন: পর্ব ২৯
- Class adapterক্লাস অ্যাডাপ্টার
- যে adapter adaptee-কে inherit করে আর একই সাথে target interface মানে, যেমন Java-তে extends Adaptee implements Target; একটি নির্দিষ্ট adaptee class-এ বাঁধা থাকে।যেখানে শিখবেন: পর্ব ৩৪
- Class diagramক্লাস ডায়াগ্রাম
- UML-এর কাঠামো-দেখানো diagram, যেখানে class, তাদের attribute ও operation আর class-গুলোর মধ্যের সম্পর্ক (association, generalization, dependency ইত্যাদি) আঁকা হয়।যেখানে শিখবেন: পর্ব ২৯পর্ব ৬৫
- Class invariantইনভ্যারিয়েন্ট
- একটি object-এর যে শর্ত প্রতিটি public method-এর আগে ও পরে সবসময় সত্য থাকে, যেমন হিসাবের balance কখনো ঋণাত্মক নয়।যেখানে শিখবেন: পর্ব ২৮পর্ব ৪০
- Class invariantক্লাস ইনভেরিয়েন্ট
- Object-এর প্রতিটি বাইরে-থেকে-দেখা অবস্থায় সবসময় সত্য থাকা শর্ত, যেমন balance শূন্য বা বেশি; প্রতিটি public method-এর শুরু আর শেষে রক্ষা করা class-এর দায়।যেখানে শিখবেন: পর্ব ৩১পর্ব ৬৮
- Class of serviceক্লাস অফ সার্ভিস
- কাজের ধরন অনুযায়ী আলাদা নিয়ম, যেমন expedite (এখনই), fixed date (নির্দিষ্ট তারিখের আগে), standard আর intangible.যেখানে শিখবেন: পর্ব ০৬
- Classicist TDD (Detroit/Chicago school)ক্লাসিসিস্ট টিডিডি
- যে ধারা সম্ভব হলে আসল object আর fake ব্যবহার করে আর ফল বা অবস্থা যাচাই করে; test double (সাধারণত stub বা fake) রাখে শুধু অসুবিধাজনক সহযোগীর জন্য।যেখানে শিখবেন: পর্ব ৪৯
- Clean Architectureক্লিন আর্কিটেকচার
- Robert C. Martin-এর (২০১২ সালের লেখা, ২০১৭ সালের বই) architecture: entities, use cases, interface adapters আর frameworks and drivers-এর চারটি এককেন্দ্রিক বৃত্ত, যাদের ওপর dependency rule খাটে।যেখানে শিখবেন: পর্ব ৪০পর্ব ৬৮
- Clean codeক্লিন কোড
- পড়তে, বুঝতে আর বদলাতে সহজ কোড লেখার অভ্যাসের সমষ্টি — উদ্দেশ্য-প্রকাশক নাম, ছোট এক-কাজের function, কম nesting, প্রয়োজনীয় comment আর সুসংগত format; Robert C. Martin-এর ২০০৮ সালের বইয়ের মাধ্যমে নামটি জনপ্রিয়।যেখানে শিখবেন: পর্ব ৪১
- Client-serverক্লায়েন্ট-সার্ভার
- যে ধরনে একটি বা বহু client অনুরোধ পাঠায় আর একটি server সেবা ও ডেটার মালিক হয়ে উত্তর দেয়; web, mobile app আর API এর পরিচিত রূপ।যেখানে শিখবেন: পর্ব ৩৮
- Cloneক্লোন
- একটি repository-র পুরো ইতিহাসসহ সম্পূর্ণ কপি নিজের কম্পিউটারে নামিয়ে আনা; Git-এ git clone.যেখানে শিখবেন: পর্ব ০৭পর্ব ১৪পর্ব ১৯
- Closed questionক্লোজড কোয়েশ্চেন
- যে প্রশ্নের উত্তর হ্যাঁ/না, একটি সংখ্যা বা কয়েকটি বিকল্পের একটি; তথ্য নিশ্চিত করতে কাজের, কিন্তু নতুন কিছু খুঁজে পেতে দুর্বল।যেখানে শিখবেন: পর্ব ২০
- Closing keywordক্লোজিং কিওয়ার্ড
- Pull request বা commit বার্তায় Closes #42 ধরনের শব্দ, যা merge হলে platform-কে issue নিজে থেকে বন্ধ করতে বলে; কোন শব্দ গণ্য হয় তা platform-ভেদে আলাদা।যেখানে শিখবেন: পর্ব ১৬পর্ব ৬৩
- Closureক্লোজার
- এমন function, যা তৈরি হওয়ার জায়গার বাইরের variable মনে রাখে আর পরে ব্যবহার করতে পারে; functional ধাঁচে dependency একবার দিয়ে রাখার উপায়।যেখানে শিখবেন: পর্ব ৩৭
- Cloud design patternক্লাউড ডিজাইন প্যাটার্ন
- Network-এর ওপর ছড়ানো system-কে ব্যর্থতা সইতে আর বাড়তে সাহায্য করার pattern, যেমন Circuit Breaker, Retry, Bulkhead, Sidecar.যেখানে শিখবেন: পর্ব ৩২
- CMMI (Capability Maturity Model Integration)সিএমএমআই
- SEI-তে শুরু হওয়া প্রক্রিয়া-উন্নতির মডেল, যা প্রতিষ্ঠানের প্রক্রিয়াকে পাঁচটি maturity level-এ মূল্যায়ন করে; এখন CMMI Institute দেখাশোনা করে।যেখানে শিখবেন: পর্ব ৬২পর্ব ৬৮
- COCOMOকোকোমো
- Constructive Cost Model — Barry Boehm-এর ১৯৮১ সালের বই Software Engineering Economics-এ প্রকাশিত, আকার থেকে effort আর সময় হিসাবের সূত্রভিত্তিক মডেল।যেখানে শিখবেন: পর্ব ৬০পর্ব ৬৬পর্ব ৬৮
- COCOMO IIকোকোমো টু
- Boehm ও সহকর্মীদের ২০০০ সালের বইয়ে প্রকাশিত COCOMO-র নতুন রূপ, যেখানে exponent পাঁচটি scale factor থেকে আসে আর effort multiplier দিয়ে সমন্বয় হয়।যেখানে শিখবেন: পর্ব ৬০পর্ব ৬৬
- Code churnকোড চার্ন
- কোনো file বা অংশ নির্দিষ্ট সময়ে কতবার বা কতটা বদলেছে তার মাপ, সাধারণত version control-এর history থেকে commit গুনে বের করা হয়।যেখানে শিখবেন: পর্ব ৪৩পর্ব ৫৫
- Code formatterকোড ফরম্যাটার
- কোডের আচরণ না বদলে indentation, space, লাইন ভাঙা আর বন্ধনী একটি নির্দিষ্ট নিয়মে আবার সাজিয়ে দেওয়া tool, যেমন gofmt, Black বা Prettier.যেখানে শিখবেন: পর্ব ৪১পর্ব ৫৫
- Code kataকোড কাতা
- দক্ষতা বাড়াতে বারবার করা ছোট প্রোগ্রামিং অনুশীলন, যেমন String Calculator বা Bowling Game; নামটি মার্শাল আর্টের অনুশীলন-রুটিন kata থেকে।যেখানে শিখবেন: পর্ব ৪৮
- Code of conductকোড অব কন্ডাক্ট
- একটি project বা community-র আচরণবিধি: কোন আচরণ গ্রহণযোগ্য, কোথায় অভিযোগ করবেন আর কে কীভাবে ব্যবস্থা নেবেন।যেখানে শিখবেন: পর্ব ৬৩
- Code reviewকোড রিভিউ
- একজনের লেখা কোড মেলানোর আগে অন্য একজন বা কয়েকজন পড়ে ভুল, ঝুঁকি আর উন্নতির জায়গা খোঁজেন।যেখানে শিখবেন: পর্ব ০১পর্ব ০৮পর্ব ১৬
- Code review checklistকোড রিভিউ চেকলিস্ট
- Review-এর সময় প্রতিটি পরিবর্তনে মিলিয়ে দেখার ছোট প্রশ্নের তালিকা — সঠিকতা, test, নকশা, নিরাপত্তা, error handling; যন্ত্র যা দেখে তা বাদ দিয়ে।যেখানে শিখবেন: পর্ব ৪৪
- Code smellকোড স্মেল
- কোডের এমন উপরিতলের লক্ষণ, যা প্রায়ই গভীর নকশা-সমস্যার ইঙ্গিত দেয়, যেমন খুব লম্বা function বা একই কোড বারবার; লক্ষণ মানেই ভুল নয়, কিন্তু খতিয়ে দেখার সংকেত।যেখানে শিখবেন: পর্ব ৪২পর্ব ৪৬পর্ব ৭০
- CODEOWNERSকোড-ওনার্স
- Repository-র একটি ফাইল, যেখানে path-এর pattern ধরে লেখা থাকে কোন ফাইলের দায়িত্বে কোন ব্যক্তি বা দল; platform তাঁদের নিজে থেকে reviewer করে।যেখানে শিখবেন: পর্ব ১৬পর্ব ১৯পর্ব ৫৭
- Cognitive complexityকগনিটিভ কমপ্লেক্সিটি
- কোড বোঝা কত কঠিন তার একটি মাপ, যা nesting-কে বাড়তি গুরুত্ব দেয়; SonarSource-এর প্রস্তাবিত, cyclomatic complexity থেকে আলাদা।যেখানে শিখবেন: পর্ব ৪১পর্ব ৫০
- Cognitive loadকগনিটিভ লোড
- একটি মানুষ বা দলকে একসাথে কতটা জিনিস মাথায় রাখতে হয় তার পরিমাণ; বেশি হলে কাজ ধীর হয় আর ভুল বাড়ে।যেখানে শিখবেন: পর্ব ৬৩
- Cohesionকোহেশন
- একটি module-এর ভেতরের অংশগুলো কতটা একই উদ্দেশ্যে কাজ করে; বেশি cohesion ভালো নকশার লক্ষণ।যেখানে শিখবেন: পর্ব ০৩পর্ব ২৫পর্ব ২৬
- Coincidental cohesionকোইনসিডেন্টাল কোহেশন
- সবচেয়ে দুর্বল cohesion: অংশগুলো কাকতালীয়ভাবে এক module-এ, তাদের মধ্যে কোনো অর্থবহ সম্পর্ক নেই, যেমন সবকিছু রাখার একটি Utils class.যেখানে শিখবেন: পর্ব ২৫
- Combinatorial testing (t-way)কম্বিনেটোরিয়াল টেস্টিং
- যেকোনো t-টি parameter-এর প্রতিটি মান-মিলন অন্তত একবার ঢাকার কৌশল; t = 2 হলে pairwise, ঝুঁকি বেশি হলে t = 3 বা তার বেশি।যেখানে শিখবেন: পর্ব ৪৭
- Combined fragmentকম্বাইন্ড ফ্র্যাগমেন্ট
- Sequence diagram-এ কয়েকটি message ঘিরে রাখা আয়তক্ষেত্র, যার কোণে alt, opt, loop, par বা break-এর মতো operator লিখে শাখা, পুনরাবৃত্তি বা সমান্তরালতা বোঝানো হয়।যেখানে শিখবেন: পর্ব ৩০
- Command patternকমান্ড প্যাটার্ন
- একটি অনুরোধকে object বানানোর behavioral pattern, যাতে তা সারিতে রাখা, লগ করা বা undo করা যায়।যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৫পর্ব ৩৯
- Command-line interface (CLI)কমান্ড-লাইন ইন্টারফেস
- Terminal-এ লেখা command দিয়ে প্রোগ্রাম চালানোর পদ্ধতি; Git-এর আসল ও পূর্ণাঙ্গ রূপ এটিই।যেখানে শিখবেন: পর্ব ০৭
- Command–query separation (CQS)কমান্ড-কোয়েরি সেপারেশন
- Bertrand Meyer-এর (১৯৮৮) নীতি: প্রতিটি method হয় অবস্থা বদলাবে (command), নয়তো side effect ছাড়া উত্তর দেবে (query), দুটি একসাথে নয়।যেখানে শিখবেন: পর্ব ২৬পর্ব ৩৫পর্ব ৪১
- Comments as deodorantকমেন্টস অ্যাজ ডিওডোরান্ট
- Fowler-এর ভাষায় কিছু comment দুর্গন্ধ ঢাকার সুগন্ধি: অস্পষ্ট কোড ব্যাখ্যা করতে লেখা comment প্রায়ই বলে দেয় যে ভালো নাম বা আলাদা function দরকার।যেখানে শিখবেন: পর্ব ৪২
- Commitকমিট
- Git-এ project-এর একটি নির্দিষ্ট মুহূর্তের সংরক্ষিত ছবি, সাথে লেখক, সময়, বার্তা আর parent commit-এর hash-এর উল্লেখ।যেখানে শিখবেন: পর্ব ০১পর্ব ০৭পর্ব ০৮
- Commit graph (DAG)কমিট গ্রাফ
- প্রতিটি commit তার parent-এর দিকে তীর দেখায় — এভাবে তৈরি দিকযুক্ত, চক্রহীন গ্রাফ (directed acyclic graph), যা Git-এর পুরো history.যেখানে শিখবেন: পর্ব ০৯পর্ব ১২পর্ব ৫৫
- Commit hash (commit ID)কমিট হ্যাশ
- একটি commit-এর পুরো লেখা (tree, parent, author, committer, বার্তা) hash করে পাওয়া অনন্য নাম; SHA-1-এ ৪০ অক্ষরের hexadecimal, দৈনন্দিন কাজে প্রথম ৭টির মতো অক্ষরই যথেষ্ট।যেখানে শিখবেন: পর্ব ০৮পর্ব ০৯পর্ব ১২
- Commit linterকমিট লিন্টার
- Commit message নির্দিষ্ট নিয়ম মানে কি না যাচাই করার টুল, যেমন type আছে কি না, subject কত লম্বা; সাধারণত Git hook বা CI-তে চলে।যেখানে শিখবেন: পর্ব ১৮পর্ব ৫৬
- Commit messageকমিট মেসেজ
- একটি commit কী বদলেছে আর কেন, তার লিখিত বর্ণনা; প্রথম লাইনে ছোট সারাংশ, একটি ফাঁকা লাইনের পরে বিস্তারিত।যেখানে শিখবেন: পর্ব ০৮পর্ব ১৬পর্ব ১৮
- commit range (A..B)কমিট রেঞ্জ
- A..B মানে B থেকে পৌঁছানো যায় কিন্তু A থেকে নয় এমন commit-এর সেট; A...B (তিন বিন্দু) মানে দুই দিকের নিজস্ব commit — log, rev-list আর cherry-pick এই লেখা বোঝে।যেখানে শিখবেন: পর্ব ৬৯
- Commit stageকমিট স্টেজ
- Deployment pipeline-এর প্রথম, দ্রুত ধাপ — compile, unit test আর static analysis চালিয়ে কয়েক মিনিটে ফল দেয় এবং পরের ধাপের জন্য artifact বানায়।যেখানে শিখবেন: পর্ব ৫৯
- Commit trailerকমিট ট্রেইলার
- Commit বার্তার শেষে Key: value আকারের বাড়তি লাইন, যেমন Signed-off-by বা Co-authored-by; tool-গুলো এগুলো পড়ে লেখক বা সম্মতির তথ্য বোঝে।যেখানে শিখবেন: পর্ব ১৬পর্ব ১৮পর্ব ২৭
- commit-msg hookকমিট-মেসেজ হুক
- Commit-এর বার্তা লেখা হয়ে যাওয়ার পরে, commit তৈরির আগে চলা client-side hook; বার্তার file-এর path একমাত্র argument হিসেবে পায়, আর exit code শূন্য না হলে commit বাতিল হয়।যেখানে শিখবেন: পর্ব ৫৬
- Commitmentকমিটমেন্ট
- নির্দিষ্ট মানের কাজ নির্দিষ্ট তারিখে দেওয়ার প্রতিশ্রুতি; ভালো অভ্যাসে এটি অনুমান দেখে আর ঝুঁকি মেনে ঠিক করা হয়।যেখানে শিখবেন: পর্ব ৬০
- Committer (Git)কমিটার
- যিনি commit-টি repository-তে বসিয়েছেন; সাধারণত author-ই, তবে অন্যের patch বসালে বা rebase করলে আলাদা হতে পারে।যেখানে শিখবেন: পর্ব ০৮পর্ব ১৫পর্ব ১৬
- Common couplingকমন কাপলিং
- কয়েকটি module একই global data পড়ে ও বদলায়; কে কখন বদলাল, তা খুঁজে পাওয়া কঠিন হয়।যেখানে শিখবেন: পর্ব ২৫
- Common-cause variationকমন কজ ভ্যারিয়েশন
- স্থির প্রক্রিয়ার অসংখ্য ছোট কারণের মিলিত স্বাভাবিক ওঠানামা; প্রতিটি বিন্দুর জন্য আলাদা কারণ খোঁজা অর্থহীন।যেখানে শিখবেন: পর্ব ৬২
- Communication diagramকমিউনিকেশন ডায়াগ্রাম
- Sequence diagram-এর তথ্যই সময়-রেখা ছাড়া দেখানো UML diagram: object-গুলো ছড়ানো, যোগাযোগের রেখায় 1, 1.1, 1.2 ধরনের নম্বর দেওয়া message; UML ১-এ নাম ছিল collaboration diagram.যেখানে শিখবেন: পর্ব ৩০
- Communication pathকমিউনিকেশন পাথ
- দলের দুজন মানুষের মধ্যে কথা বলার একটি সম্ভাব্য যোগাযোগ; n জনের দলে মোট n(n−1)/2টি।যেখানে শিখবেন: পর্ব ০১পর্ব ৬৩পর্ব ৬৬
- Communicational cohesionকমিউনিকেশনাল কোহেশন
- অংশগুলো একই data নিয়ে কাজ করে বলে এক জায়গায়, যেমন একজন ছাত্রের record থেকে গড় আর উপস্থিতি দুটোই বের করা।যেখানে শিখবেন: পর্ব ২৫
- Compatibility testingকম্প্যাটিবিলিটি টেস্টিং
- Software নানা device, OS, browser, পর্দার আকার আর network-এ চলে কি না, আর অন্য system-এর সাথে মেলে কি না তার যাচাই।যেখানে শিখবেন: পর্ব ৪৫
- Compensating actionকমপেনসেটিং অ্যাকশন
- একাধিক ধাপের কাজে পরের ধাপ ব্যর্থ হলে আগের সফল ধাপের ফল উল্টে দেওয়ার কাজ, যেমন পেমেন্ট ব্যর্থ হলে আটকে রাখা আসন ছেড়ে দেওয়া।যেখানে শিখবেন: পর্ব ৩৮
- Competent programmer hypothesisকম্পিটেন্ট প্রোগ্রামার হাইপোথিসিস
- Mutation testing-এর একটি ভিত্তি-অনুমান: প্রোগ্রামার মোটামুটি সঠিক কোড লেখেন, আর ভুল সাধারণত ছোট পরিবর্তনের মতো।যেখানে শিখবেন: পর্ব ৫০
- Complicated-subsystem teamকমপ্লিকেটেড-সাবসিস্টেম টিম
- যে দল গভীর বিশেষজ্ঞ জ্ঞান লাগে এমন একটি অংশ, যেমন গাণিতিক মডেল বা ভিডিও engine, সামলায়, যাতে অন্য দলের ওপর সেই বোঝা না পড়ে।যেখানে শিখবেন: পর্ব ৬৩
- Component (UI)কম্পোনেন্ট
- UI-র একটি স্বয়ংসম্পূর্ণ টুকরো, যার নিজের state, ঘটনার handler আর চেহারা আছে এবং যা অন্য component-এর ভেতরে বসানো যায়; React, Vue, Svelte-এর মূল একক।যেখানে শিখবেন: পর্ব ৩৯
- Component teamকম্পোনেন্ট টিম
- যে দল system-এর একটি স্তর বা অংশের দায়িত্বে থাকে, যেমন database বা mobile অংশ; একটি feature বানাতে কয়েকটি এমন দলের হাতবদল লাগে।যেখানে শিখবেন: পর্ব ৬৩
- Composite patternকম্পোজিট প্যাটার্ন
- object-গুলোকে গাছের কাঠামোয় সাজিয়ে অংশ আর পুরোকে একই interface দেওয়া, যাতে client একটি জিনিস আর জিনিসের দলকে একইভাবে ব্যবহার করতে পারে।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৩৬পর্ব ৩৯
- Composite stateকম্পোজিট স্টেট
- ভেতরে নিজস্ব substate আর transition থাকা state; ভেতরের state-এ থাকা মানে বাইরেরটিতেও থাকা, আর এর সীমা থেকে বেরোনো তীর সব substate-এর জন্য প্রযোজ্য।যেখানে শিখবেন: পর্ব ৩০
- Compositionকম্পোজিশন
- শক্ত অংশ-সমগ্র সম্পর্ক, সমগ্রের প্রান্তে ভরাট হীরা; একটি অংশ এক সময়ে সর্বোচ্চ একটি সমগ্রের, আর সমগ্র মুছলে তার অংশগুলোও মুছে যায়।যেখানে শিখবেন: পর্ব ২৯পর্ব ৬৮
- Composition over inheritanceকম্পোজিশন ওভার ইনহেরিট্যান্স
- Gang of Four-এর (১৯৯৪) পরামর্শ: আচরণ পুনর্ব্যবহারে class inheritance-এর চেয়ে object composition-কে অগ্রাধিকার দিন, কারণ এতে coupling কম আর অংশ বদলানো যায়।যেখানে শিখবেন: পর্ব ২৬পর্ব ৩২পর্ব ৩৪
- Composition rootকম্পোজিশন রুট
- প্রোগ্রামের শুরুর কাছের একটি জায়গা, যেখানে আসল object-গুলো বানিয়ে একটির সাথে আরেকটি জোড়া হয়, যেমন main ফাংশন।যেখানে শিখবেন: পর্ব ২৮পর্ব ৩৩পর্ব ৩৭
- Conceptual classকনসেপচুয়াল ক্লাস
- বাস্তব জগতের একটি ধারণা, যেমন অর্ডার বা প্রেসক্রিপশন, যা domain model-এ একটি বাক্স হিসেবে আসে; কোডের class নয়।যেখানে শিখবেন: পর্ব ২৩পর্ব ২৯
- Conceptual integrityকনসেপচুয়াল ইন্টেগ্রিটি
- পুরো system-এর নকশার পেছনে একটি সুসংগত ধারণা থাকা, যেন একজন মানুষের মাথা থেকে এসেছে; Brooks একে নকশার সবচেয়ে গুরুত্বপূর্ণ গুণ বলেছেন।যেখানে শিখবেন: পর্ব ০২
- Concurrency patternকনকারেন্সি প্যাটার্ন
- একসাথে চলা thread বা কাজের সমন্বয়ের পরীক্ষিত সমাধান, যেমন Thread Pool, Producer-Consumer, Reactor বা Active Object.যেখানে শিখবেন: পর্ব ৩২
- Concurrent modificationকনকারেন্ট মডিফিকেশন
- একটি collection-এর ওপর iterator চলার সময়েই collection-টি বদলে ফেলা; এতে উপাদান বাদ পড়তে বা দুবার আসতে পারে, তাই কিছু ভাষা error দেয়।যেখানে শিখবেন: পর্ব ৩৬
- Condition coverageকন্ডিশন কভারেজ
- যুক্ত শর্তের ভেতরের প্রতিটি condition অন্তত একবার true আর একবার false হয়েছে কি না তার মাপ; decision বা statement coverage নিশ্চিত করে না।যেখানে শিখবেন: পর্ব ৫০
- Condition/decision coverageকন্ডিশন/ডিসিশন কভারেজ
- Condition coverage আর decision coverage একসাথে: প্রতিটি condition আর প্রতিটি decision দুই মানই পায়।যেখানে শিখবেন: পর্ব ৫০
- Conditional include (includeIf)কন্ডিশনাল ইনক্লুড
- Config-এ [includeIf "শর্ত"] অংশ, যা শর্ত মিললে তবেই আরেকটি config file পড়ে; যেমন gitdir:~/work/ হলে শুধু work folder-এর repository-তে অফিসের email বসে।যেখানে শিখবেন: পর্ব ১০
- Cone mode (sparse checkout)কোন মোড
- Sparse checkout-এর folder-ভিত্তিক নিয়ম: বেছে নেওয়া folder-এর সব কিছু আর পথের ওপরের folder-গুলোর সরাসরি file রাখা হয়; সাধারণ pattern-এর চেয়ে অনেক দ্রুত, আর আধুনিক Git-এ এটিই ডিফল্ট।যেখানে শিখবেন: পর্ব ৫৬
- Cone of uncertaintyকোন অফ আনসার্টেনটি
- Project-এর শুরুর দিকে অনুমানের সম্ভাব্য ভুলের পরিসর অনেক চওড়া থাকে আর সিদ্ধান্ত নেওয়ার সাথে সাথে সরু হয় — Boehm-এর তথ্য থেকে McConnell-এর জনপ্রিয় করা এই ধারণার চোঙাকৃতি ছবি।যেখানে শিখবেন: পর্ব ৬০পর্ব ৭০
- Config scope (system / global / local / worktree)কনফিগ স্কোপ
- Git config-এর স্তর: system পুরো কম্পিউটারের সব ব্যবহারকারীর জন্য, global একজন ব্যবহারকারীর সব repository-র জন্য, local একটি repository-র জন্য আর worktree একটি নির্দিষ্ট working tree-র জন্য। পরের স্তর আগের স্তরের মান ঢেকে দেয়।যেখানে শিখবেন: পর্ব ১০
- Configuration driftকনফিগারেশন ড্রিফট
- হাতে করা পরিবর্তন বা ভুলে ধীরে ধীরে আসল system তার লিখিত বর্ণনা থেকে আলাদা হয়ে যাওয়া।যেখানে শিখবেন: পর্ব ৫৯
- Confirmation testing (re-testing)কনফার্মেশন টেস্টিং
- একটি defect ঠিক করার পরে ঠিক যে test ফেল করেছিল তা আবার চালিয়ে দেখা যে ভুলটি সত্যিই গেছে।যেখানে শিখবেন: পর্ব ৪৫
- Confirmshamingকনফার্মশেমিং
- একটি dark pattern: “না” বলার বোতামে এমন লেখা, যা ব্যবহারকারীকে লজ্জা দেয় বা বোকা বোঝায়, যেমন “না, আমি টাকা বাঁচাতে চাই না”।যেখানে শিখবেন: পর্ব ৬৪
- Conflict markerকনফ্লিক্ট মার্কার
- Conflict-এর জায়গায় Git ফাইলে যে চিহ্নগুলো বসায় — <<<<<<<, ======= আর >>>>>>> — যাতে দুই পক্ষের লেখা পাশাপাশি দেখা যায়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৫পর্ব ৫৬
- Conflict of interestকনফ্লিক্ট অফ ইন্টারেস্ট
- যখন নিজের বা অন্য কারও ব্যক্তিগত লাভ আপনার পেশাগত বিচারকে প্রভাবিত করতে পারে, যেমন নিজের আত্মীয়ের প্রতিষ্ঠানের tool কেনার সুপারিশ; প্রকাশ করা বা সরে দাঁড়ানোই প্রচলিত সমাধান।যেখানে শিখবেন: পর্ব ৬৪
- Conflict style (merge.conflictStyle)কনফ্লিক্ট স্টাইল
- Conflict marker কোন রূপে দেখাবে তার config: merge (দুই পক্ষ), diff3 (সাথে base) আর zdiff3 (base-সহ, দুই পক্ষের মিল থাকা অংশ বাইরে)।যেখানে শিখবেন: পর্ব ১৩
- Connascenceকনেসেন্স
- Meilir Page-Jones-এর ধারণা: দুটি অংশ connascent, যদি একটি বদলালে সঠিক থাকতে অন্যটিও বদলাতে হয়; নাম, ক্রম, অর্থ, সময় ইত্যাদি ধরনে ভাগ করা হয়।যেখানে শিখবেন: পর্ব ২৫
- Connextra templateকানেক্সট্রা টেমপ্লেট
- As a <role>, I want <goal>, so that <benefit> — user story লেখার পরিচিত ছাঁচ, লন্ডনের Connextra নামের একটি প্রতিষ্ঠানের দল থেকে প্রচলিত বলে ধরা হয়।যেখানে শিখবেন: পর্ব ২২
- Constraintকনস্ট্রেইন্ট
- সমাধানের পথ সীমিত করে দেয় এমন শর্ত — নির্দিষ্ট প্রযুক্তি, platform, মানদণ্ড, আইন, বাজেট বা সময়সীমা; নকশাকারীর স্বাধীনতা কমায়, কিন্তু নিজে কোনো আচরণ বা গুণ বর্ণনা করে না।যেখানে শিখবেন: পর্ব ২১পর্ব ৩৮
- Constructor injectionকনস্ট্রাক্টর ইনজেকশন
- Dependency object তৈরির সময় constructor-এর parameter হিসেবে দেওয়া; object শুরু থেকেই সম্পূর্ণ থাকে আর নির্ভরতা signature-এ দেখা যায়, তাই বাধ্যতামূলক dependency-র জন্য প্রথম পছন্দ।যেখানে শিখবেন: পর্ব ৩৭
- Constructor over-injectionকনস্ট্রাক্টর ওভার-ইনজেকশন
- Constructor-এ অনেক dependency থাকার code smell, যা সাধারণত বোঝায় class-টি অনেক দায়িত্ব নিয়েছে; সমাধান দায়িত্ব ভাগ করা, parameter লুকানো নয়।যেখানে শিখবেন: পর্ব ৩৭
- Consumer-driven contractকনজিউমার-ড্রিভেন কন্ট্র্যাক্ট
- যে পক্ষ API ব্যবহার করে (consumer), সে নিজে লিখে দেয় কোন request পাঠাবে আর response-এর কোন অংশ পড়বে; provider সেই সব চুক্তি নিজের build-এ যাচাই করে।যেখানে শিখবেন: পর্ব ৫১পর্ব ৭০
- Containerকন্টেইনার
- নিজের file system, library আর process-এর আলাদা জগৎসহ চলা একটি প্রোগ্রাম, যা host-এর kernel ভাগ করে; একই image থেকে যেকোনো যন্ত্রে একই পরিবেশ পাওয়া যায়।যেখানে শিখবেন: পর্ব ৫৮
- Content couplingকনটেন্ট কাপলিং
- সবচেয়ে খারাপ coupling: একটি module আরেকটির ভেতরের data বা কোডে সরাসরি হাত দেয় বা বদলায়।যেখানে শিখবেন: পর্ব ২৫
- Content-addressed storageকনটেন্ট-অ্যাড্রেসড স্টোরেজ
- যে সংরক্ষণ ব্যবস্থায় প্রতিটি জিনিসের নাম তার নিজের বিষয়বস্তুর hash; তাই একই বিষয়বস্তু দুবার রাখার দরকার হয় না।যেখানে শিখবেন: পর্ব ০৭পর্ব ০৮পর্ব ৫২
- Context (pattern participant)কনটেক্সট
- State বা Strategy pattern-এ যে object বাইরের জগতের সাথে কথা বলে আর ভেতরে বদলযোগ্য একটি অংশ (state বা strategy object) রাখে, যার কাছে সে কাজ পাঠায়।যেখানে শিখবেন: পর্ব ৩৬
- Context (strategy)কনটেক্সট
- Strategy pattern-এ যে object একটি strategy ধরে রাখে আর কাজের সময় তাকে ডাকে; সে শুধু চুক্তি জানে, কোন strategy চলছে তা নয়।যেখানে শিখবেন: পর্ব ৩৫
- Context diagramকনটেক্সট ডায়াগ্রাম
- সবচেয়ে ওপরের স্তরের DFD, যেখানে পুরো system একটি process আর চারপাশে external entity ও তাদের data flow থাকে; কোনো data store থাকে না।যেখানে শিখবেন: পর্ব ২৩
- Context lineকনটেক্সট লাইন
- Diff-এ পরিবর্তনের আগে-পরে দেখানো অপরিবর্তিত লাইন, যার শুরুতে একটি ফাঁকা ঘর থাকে; Git ডিফল্টভাবে দুই পাশে ৩টি করে দেখায়।যেখানে শিখবেন: পর্ব ০৯
- Context mapকনটেক্সট ম্যাপ
- কয়েকটি bounded context আর তাদের সম্পর্কের (customer-supplier, conformist, shared kernel, anti-corruption layer ইত্যাদি) ছবি বা বিবরণ।যেখানে শিখবেন: পর্ব ৪০
- Context switchingকনটেক্সট সুইচিং
- এক কাজ থেকে আরেক কাজে মনোযোগ সরানো; প্রতিবার আগের অবস্থা মনে করতে সময় যায়, তাই একসাথে অনেক কাজ ধরলে কার্যকর সময় কমে।যেখানে শিখবেন: পর্ব ০৬
- Contextual inquiryকনটেক্সচুয়াল ইনকোয়ারি
- কাজের জায়গায়, কাজ চলাকালীন দেখা আর প্রশ্ন করা — কেন এটা করলেন? — যাতে কাজের প্রেক্ষাপটসহ চাহিদা বোঝা যায়।যেখানে শিখবেন: পর্ব ২০
- Contingency planকন্টিনজেন্সি প্ল্যান
- ঝুঁকি সত্যিই ঘটলে বা trigger দেখা দিলে কী করা হবে তার আগাম পরিকল্পনা ও অনুমোদিত বাজেট; mitigation-এর মতো আগে থেকে চালানো হয় না।যেখানে শিখবেন: পর্ব ৬২
- Continuous deliveryকন্টিনিউয়াস ডেলিভারি
- Software সবসময় release করার মতো অবস্থায় রাখা, যাতে স্বয়ংক্রিয় pipeline দিয়ে যেকোনো সময় নিরাপদে deploy করা যায়।যেখানে শিখবেন: পর্ব ০২পর্ব ৫৮পর্ব ৫৯
- Continuous deploymentকন্টিনিউয়াস ডিপ্লয়মেন্ট
- Pipeline-এর সব ধাপ পার হওয়া প্রতিটি পরিবর্তন মানুষের অনুমোদন ছাড়াই নিজে থেকে production-এ চলে যায় — continuous delivery-র এক ধাপ পরের রূপ।যেখানে শিখবেন: পর্ব ৫৯পর্ব ৬৮পর্ব ৭০
- Continuous integration (CI)কন্টিনিউয়াস ইন্টিগ্রেশন
- দলের প্রত্যেকে ঘন ঘন (দিনে অন্তত একবার) মূল কোডে নিজের কাজ মেলান, আর প্রতিবার স্বয়ংক্রিয় build ও test চলে — এই অনুশীলন।যেখানে শিখবেন: পর্ব ০১পর্ব ০২পর্ব ০৫
- Contract (software)কন্ট্রাক্ট
- একটি operation-এর আচরণের লিখিত চুক্তি — ডাকার আগে কী সত্য থাকতে হবে, শেষে কী সত্য হবে আর object-এর কোন নিয়ম সবসময় সত্য; signature-এর বাইরের অংশ।যেখানে শিখবেন: পর্ব ৩১পর্ব ৫১
- Contract testকন্ট্রাক্ট টেস্ট
- দুটি অংশের মধ্যে চুক্তি, যেমন একটি API কী নেয় আর কী ফেরত দেয়, দুই পক্ষই মানছে কি না যাচাই করা test; একই test আসল বাস্তবায়ন আর fake দুটির ওপর চালিয়ে fake-কে সৎ রাখা যায়।যেখানে শিখবেন: পর্ব ৪৯পর্ব ৫১পর্ব ৭০
- CONTRIBUTING fileকন্ট্রিবিউটিং ফাইল
- Repository-র একটি লেখা file, যাতে বলা থাকে কাজ কীভাবে জমা দিতে হয় — branch-এর নাম, commit message, test আর review-এর নিয়ম।যেখানে শিখবেন: পর্ব ৬৫
- CONTRIBUTING.mdকন্ট্রিবিউটিং গাইড
- Repository-র যে ফাইল অবদানকারীদের বলে কীভাবে environment সাজাবেন, test চালাবেন, commit আর PR-এর নিয়ম কী, আর DCO বা CLA লাগবে কি না।যেখানে শিখবেন: পর্ব ৬৩
- Contributor Covenantকন্ট্রিবিউটর কভেন্যান্ট
- ২০১৪ সালে Coraline Ada Ehmke-এর শুরু করা একটি বহুল ব্যবহৃত code of conduct-এর নমুনা; সময়ের সাথে এর নতুন সংস্করণ এসেছে।যেখানে শিখবেন: পর্ব ৬৩
- Contributor License Agreement (CLA)কন্ট্রিবিউটর লাইসেন্স অ্যাগ্রিমেন্ট
- অবদানকারী আর project-এর মালিক প্রতিষ্ঠানের মধ্যে আলাদা আইনি চুক্তি, যাতে অবদান ব্যবহারের বিস্তৃত অধিকার, কখনো কপিরাইটই, প্রতিষ্ঠানকে দেওয়া হয়।যেখানে শিখবেন: পর্ব ৬৩
- Control chartকন্ট্রোল চার্ট
- সময়ের সাথে একটি মাপ আঁকা লেখচিত্র, যেখানে মাঝের রেখা আর সাধারণত mean ± 3σ-এ দুটি control limit থাকে; Walter Shewhart-এর (১৯২৪) উদ্ভাবন।যেখানে শিখবেন: পর্ব ৬২পর্ব ৬৬
- Control couplingকন্ট্রোল কাপলিং
- একটি module আরেকটিকে flag বা mode পাঠিয়ে বলে দেয় ভেতরে কোন পথে চলতে হবে; ডাকা module-এর ভেতরের যুক্তি ডাকনেওয়ালাকে জানতে হয়।যেখানে শিখবেন: পর্ব ২৫
- Control flowকন্ট্রোল ফ্লো
- Activity diagram-এর সাধারণ তীর, যা শুধু “এরপর এটা” বোঝায় আর control token বহন করে।যেখানে শিখবেন: পর্ব ৩০
- Control-flow graph (CFG)কন্ট্রোল-ফ্লো গ্রাফ
- একটি function-এর ছবি, যেখানে node হলো basic block আর তীর দেখায় কোন অংশের পরে কোন অংশ চলতে পারে; coverage আর cyclomatic complexity-র ভিত্তি।যেখানে শিখবেন: পর্ব ৫০
- Controller (MVC)কন্ট্রোলার
- MVC-তে ব্যবহারকারীর input বা web-এ HTTP request গ্রহণ করে model-এর ডাকে অনুবাদ করার অংশ; নিজে ব্যবসার নিয়ম রাখার কথা নয়।যেখানে শিখবেন: পর্ব ৩৯
- Conventional Commentsকনভেনশনাল কমেন্টস
- Review মন্তব্যের শুরুতে লেবেল (praise, nitpick, suggestion, issue, question) আর বন্ধনীতে অবস্থা (blocking, non-blocking) লেখার একটি প্রকাশিত প্রস্তাব; কোনো আনুষ্ঠানিক মান নয়।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৬৫পর্ব ৭০
- Conventional Commitsকনভেনশনাল কমিটস
- Commit message-এর প্রথম লাইনের একটি নির্দিষ্ট ব্যাকরণ, type(scope)!: description; feat, fix আর breaking change চিহ্ন দেখে যন্ত্র পরের version আর changelog হিসাব করতে পারে।যেখানে শিখবেন: পর্ব ১৮পর্ব ৪২পর্ব ৫৬
- Conway's lawকনওয়ের সূত্র
- Melvin Conway-এর (১৯৬৮) পর্যবেক্ষণ: একটি প্রতিষ্ঠান যে নকশা বানায়, তা প্রায়ই সেই প্রতিষ্ঠানের নিজস্ব যোগাযোগ-কাঠামোর প্রতিচ্ছবি হয়।যেখানে শিখবেন: পর্ব ০১পর্ব ১৯পর্ব ২৫
- Copy detection (blame -C)কপি ডিটেকশন
- git blame-এর যে খোঁজ দেখে কোনো লাইন অন্য ফাইল থেকে সরে বা কপি হয়ে এসেছে কি না, আর তাহলে মূল ফাইল ও commit দেখায়।যেখানে শিখবেন: পর্ব ৫৫
- Copy-modify-mergeকপি-মডিফাই-মার্জ
- প্রত্যেকে নিজের কপিতে স্বাধীনভাবে কাজ করেন, পরে version control পরিবর্তনগুলো মিলিয়ে দেয়; একই অংশ দুজনে বদলালে conflict জানায়।যেখানে শিখবেন: পর্ব ০৭
- Copyleftকপিলেফট
- License-এর এমন শর্ত যে পরিবর্তিত বা মিলিত কাজ বিতরণ করলে পরের মানুষকেও একই স্বাধীনতা আর source দিতে হবে।যেখানে শিখবেন: পর্ব ৬৩
- Copyrightকপিরাইট
- লেখা, কোড, ছবি বা গানের মতো মৌলিক সৃষ্টির প্রকাশরূপের ওপর স্রষ্টার অধিকার; অধিকাংশ দেশে সৃষ্টির সাথে সাথেই জন্মায়, আলাদা নিবন্ধন লাগে না।যেখানে শিখবেন: পর্ব ৬৪
- core.autocrlfকোর অটো-সিআরএলএফ
- Git-এর একটি setting: true হলে add-এর সময় CRLF থেকে LF আর checkout-এর সময় LF থেকে CRLF, input হলে শুধু add-এর সময় CRLF থেকে LF, false হলে কোনো রূপান্তর নয়।যেখানে শিখবেন: পর্ব ১০
- core.hooksPathকোর ডট হুকস-পাথ
- যে config দিয়ে Git-কে .git/hooks-এর বদলে অন্য একটি folder থেকে hook চালাতে বলা হয়; repository-র ভেতরের একটি folder দিলে দলের সবাই একই hook ব্যবহার করতে পারেন, তবে প্রত্যেককে একবার নিজে চালু করতে হয়।যেখানে শিখবেন: পর্ব ৫৬
- Corrective maintenanceকারেক্টিভ মেইনটেন্যান্স
- চালু software-এ ধরা পড়া ভুল সারানোর maintenance; ঘটনার পরে করা হয়।যেখানে শিখবেন: পর্ব ৪৩
- Cost driverকস্ট ড্রাইভার
- Product, hardware, দল বা project-এর এমন বৈশিষ্ট্য (যেমন reliability, দলের দক্ষতা), যার রেটিং effort বাড়ায় বা কমায়।যেখানে শিখবেন: পর্ব ৬০
- Cost of carryকস্ট অফ ক্যারি
- কোডে থাকা কোনো feature-এর চলমান খরচ — প্রতিটি নতুন বদলে সেটিকে বোঝা, test করা আর মানিয়ে নেওয়ার বাড়তি সময়, সেটি ব্যবহার না হলেও।যেখানে শিখবেন: পর্ব ২৬
- Cost of changeকস্ট অব চেঞ্জ
- একটি পরিবর্তন বা ভুল সংশোধন করতে কত খরচ হয়, আর সেটি project-এর কোন ধাপে করা হচ্ছে তার ওপর কীভাবে নির্ভর করে — এই ধারণা।যেখানে শিখবেন: পর্ব ০১পর্ব ২০
- Cost of delayকস্ট অব ডিলে
- কোনো কাজ দেরিতে শেষ হলে প্রতি একক সময়ে যে মূল্য হারায়; Donald Reinertsen-এর product development flow-এর একটি কেন্দ্রীয় ধারণা।যেখানে শিখবেন: পর্ব ২৪পর্ব ৬৬
- Cost of qualityকস্ট অব কোয়ালিটি
- Quality অর্জন ও না-অর্জনের মোট খরচ — prevention, appraisal, internal failure আর external failure — এই চার ভাগে হিসাব।যেখানে শিখবেন: পর্ব ০৩
- Cost slopeকস্ট স্লোপ
- একটি activity এক দিন কমাতে কত বাড়তি খরচ লাগে, তার হার: crash খরচ আর normal খরচের পার্থক্যকে normal সময় আর crash সময়ের পার্থক্য দিয়ে ভাগ।যেখানে শিখবেন: পর্ব ৬১পর্ব ৬৬
- Cost–benefit analysisকস্ট-বেনিফিট অ্যানালাইসিস
- একটি project বা বিকল্পের সব খরচ আর লাভ তালিকা করে, প্রায়ই টাকায় রূপ দিয়ে, তুলনা করার পদ্ধতি।যেখানে শিখবেন: পর্ব ২০
- Couplingকাপলিং
- দুটি module একে অপরের ওপর কতটা নির্ভরশীল; কম coupling মানে একটি বদলালে অন্যটি কম ভাঙে।যেখানে শিখবেন: পর্ব ০৩পর্ব ২৫পর্ব ২৬
- Coupling effectকাপলিং ইফেক্ট
- Mutation testing-এর অনুমান: যে test ছোট সরল ভুল ধরে, সে অনেক জটিল ভুলও ধরে; module-এর coupling থেকে আলাদা ধারণা।যেখানে শিখবেন: পর্ব ৫০
- CPI (cost performance index)সিপিআই
- EV ÷ AC; ১-এর কম মানে যত কাজ হয়েছে তার চেয়ে বেশি খরচ হয়েছে।যেখানে শিখবেন: পর্ব ৬১পর্ব ৬৬
- CPM (critical path method)সিপিএম
- নির্দিষ্ট সময়ের activity আর তাদের নির্ভরতা থেকে forward ও backward pass করে project-এর ন্যূনতম সময়, float আর critical path বের করার পদ্ধতি।যেখানে শিখবেন: পর্ব ৬১পর্ব ৬৫পর্ব ৬৬
- CQRSসিকিউআরএস
- Command Query Responsibility Segregation: অবস্থা বদলানোর (command) আর পড়ার (query) পথ আলাদা model-এ রাখার architecture নকশা।যেখানে শিখবেন: পর্ব ৩৫
- Crashingক্র্যাশিং
- বাড়তি টাকা বা লোক দিয়ে critical path-এর activity-র সময় কমিয়ে project ছোট করা; সবচেয়ে কম cost slope-এর activity আগে।যেখানে শিখবেন: পর্ব ৬১পর্ব ৬৬
- Create messageক্রিয়েট মেসেজ
- নতুন object তৈরির message; ড্যাশ রেখা আর খোলা মাথা সরাসরি নতুন lifeline-এর মাথার বাক্সে লাগে, তাই বাক্সটি সৃষ্টির উচ্চতায় আঁকা হয়।যেখানে শিখবেন: পর্ব ৩০
- Creational patternক্রিয়েশনাল প্যাটার্ন
- Object তৈরির প্রক্রিয়া আড়াল আর নমনীয় করার design pattern; GoF-এ ৫টি — Abstract Factory, Builder, Factory Method, Prototype, Singleton.যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৩
- Credential helperক্রেডেনশিয়াল হেল্পার
- Git-এর একটি সহায়ক প্রোগ্রাম, যা HTTPS-এর username আর token নিরাপদ ভান্ডারে (যেমন OS-এর credential store) রেখে প্রয়োজনমতো Git-কে দেয়, যাতে বারবার লিখতে না হয়।যেখানে শিখবেন: পর্ব ১৪পর্ব ৫৭
- Criss-cross mergeক্রিস-ক্রস মার্জ
- দুই branch একে অপরকে আড়াআড়ি merge করলে যে অবস্থা হয়, যেখানে একাধিক best common ancestor থাকে।যেখানে শিখবেন: পর্ব ১৩পর্ব ৫৪
- Critical chainক্রিটিক্যাল চেইন
- Eliyahu Goldratt-এর (১৯৯৭) পদ্ধতি: activity-র ভেতরের লুকানো নিরাপত্তা-সময় সরিয়ে পথের শেষে একটি সাধারণ buffer রাখা আর সম্পদের সীমাও হিসাবে ধরা।যেখানে শিখবেন: পর্ব ৬১
- Critical pathক্রিটিক্যাল পাথ
- নির্ভরতার graph-এ শুরু থেকে শেষ পর্যন্ত সবচেয়ে লম্বা পথ; এর সময়ই পুরো কাজের ন্যূনতম সময়, তাই এই পথের কোনো ধাপ ছোট না করলে মোট সময় কমে না।যেখানে শিখবেন: পর্ব ৫৮পর্ব ৬১পর্ব ৬৬
- CRLFসিআর-এলএফ
- Carriage Return আর Line Feed — দুটি byte, 0x0D 0x0A, লেখায় \r\n; Windows-এর প্রচলিত line ending.যেখানে শিখবেন: পর্ব ১০
- CRUDক্রাড
- Create, Read, Update, Delete — data তৈরি, পড়া, বদলানো আর মোছার চারটি মৌলিক কাজ; যে app প্রায় শুধু এগুলোই করে, তাকে CRUD app বলা হয়।যেখানে শিখবেন: পর্ব ৪০
- CRUD matrixক্রাড ম্যাট্রিক্স
- সারিতে use case বা process আর কলামে entity রেখে প্রতিটি ঘরে create, read, update, delete-এর কোনটি হয় তা লেখা টেবিল; কোন entity কখনো তৈরি হয় না বা কেউ পড়ে না, তা ধরতে কাজে লাগে।যেখানে শিখবেন: পর্ব ২৩
- Cumulative flow diagram (CFD)কিউমুলেটিভ ফ্লো ডায়াগ্রাম
- প্রতিদিন এ পর্যন্ত মোট কতগুলো কাজ এসেছে, শুরু হয়েছে আর শেষ হয়েছে তার স্তূপ-চিত্র; খাড়া দূরত্ব WIP আর আড়াআড়ি দূরত্ব মোটামুটি সময় দেখায়।যেখানে শিখবেন: পর্ব ০৬
- CVE (Common Vulnerabilities and Exposures)সিভিই
- প্রকাশ্যে জানা নিরাপত্তা-ত্রুটির আন্তর্জাতিক তালিকা, যেখানে প্রতিটি ত্রুটি CVE-2022-24765-এর মতো একটি নম্বর পায়।যেখানে শিখবেন: পর্ব ৫৭
- CVS (Concurrent Versions System)সিভিএস
- ১৯৮৬ সালে Dick Grune-এর হাতে RCS-এর ওপর গড়া centralized version control, যা অনেকে একসাথে একই ফাইলে কাজ করে পরে মেলানোর ধারা জনপ্রিয় করে।যেখানে শিখবেন: পর্ব ০৭
D
- DAG (directed acyclic graph)ড্যাগ
- দিকযুক্ত কিন্তু চক্রহীন graph; Git-এর commit history (প্রতিটি commit তার parent-এর দিকে নির্দেশ করে) আর CI pipeline-এর job-নির্ভরতা দুটিই এমন graph-এর উদাহরণ।যেখানে শিখবেন: পর্ব ১৩পর্ব ২৫পর্ব ৫৪
- Daily Scrumডেইলি স্ক্রাম
- Developers-এর প্রতিদিনের ১৫ মিনিটের event, যেখানে Sprint Goal-এর দিকে অগ্রগতি যাচাই করে পরের দিনের পরিকল্পনা বদলানো হয়।যেখানে শিখবেন: পর্ব ০৫
- Dangling objectড্যাংলিং অবজেক্ট
- এমন unreachable object, যাকে অন্য কোনো unreachable object-ও নির্দেশ করে না — হারানো জিনিসের মাথা; git fsck ডিফল্টভাবে শুধু এগুলোই দেখায়।যেখানে শিখবেন: পর্ব ৫৩
- Dark launchডার্ক লঞ্চ
- নতুন কোড production-এ বসিয়ে চালানো, কিন্তু ব্যবহারকারীকে ফল না দেখানো বা খুব অল্প জনকে দেখানো, যাতে আসল চাপে আচরণ মাপা যায়।যেখানে শিখবেন: পর্ব ৫৯
- Dark pattern (deceptive design)ডার্ক প্যাটার্ন
- এমন UI নকশা যা ব্যবহারকারীকে ঠকিয়ে বা চাপ দিয়ে তাঁর নিজের ইচ্ছার বিরুদ্ধে কিছু করায় — যেমন আগে থেকে টিক দেওয়া সম্মতি, লুকানো খরচ, বাতিল করা কঠিন subscription.যেখানে শিখবেন: পর্ব ৬৪
- Data bindingডেটা বাইন্ডিং
- UI-র একটি অংশকে একটি data property-র সাথে বেঁধে দেওয়া, যাতে একটি বদলালে অন্যটি নিজে থেকে হালনাগাদ হয়; মান পড়া আর বসানোর হাতে লেখা কোড লাগে না।যেখানে শিখবেন: পর্ব ৩৯
- Data clumpsডেটা ক্লাম্পস
- Code smell: কয়েকটি তথ্য সবসময় একসাথে ঘোরে, যেমন zone, road আর house; এরা আসলে একটি object হতে চায়।যেখানে শিখবেন: পর্ব ৪২পর্ব ৭০
- Data couplingডেটা কাপলিং
- সবচেয়ে ভালো coupling: module-গুলো শুধু দরকারি সরল data parameter হিসেবে আদান-প্রদান করে।যেখানে শিখবেন: পর্ব ২৫
- Data flowডেটা ফ্লো
- DFD-তে নাম লেখা তীর, যা দেখায় কোন data কোন দিকে চলছে।যেখানে শিখবেন: পর্ব ২৩
- Data flow diagram (DFD)ডেটা ফ্লো ডায়াগ্রাম
- External entity, process, data store আর নামযুক্ত data flow দিয়ে data কোথা থেকে কোথায় যায় তা দেখানো ছবি; ক্রম বা সিদ্ধান্ত দেখায় না।যেখানে শিখবেন: পর্ব ২৩
- Data minimisationডেটা মিনিমাইজেশন
- শুধু ততটুকু personal data সংগ্রহ ও রাখা, যতটুকু ঘোষিত উদ্দেশ্যের জন্য সত্যিই দরকার; যা নেই, তা ফাঁসও হয় না।যেখানে শিখবেন: পর্ব ৬৪
- Data storeডেটা স্টোর
- DFD-তে যেখানে data জমা থাকে; Yourdon-DeMarco নোটেশনে দুটি সমান্তরাল রেখা, Gane-Sarson নোটেশনে এক দিক খোলা আয়তক্ষেত্র।যেখানে শিখবেন: পর্ব ২৩
- Data transfer object (DTO)ডেটা ট্রান্সফার অবজেক্ট
- শুধু data বহনকারী সরল object, যাতে কোনো আচরণ বা framework-এর জ্ঞান নেই; architecture-এর সীমানা পেরিয়ে data পাঠাতে ব্যবহার হয়।যেখানে শিখবেন: পর্ব ৪০
- Dataclass (Python)ডেটাক্লাস
- Python-এর dataclasses module-এর decorator, যা field-এর তালিকা থেকে নিজেই __init__, __repr__, __eq__ বানায়; frozen=True দিলে object immutable হয়।যেখানে শিখবেন: পর্ব ৩৩
- Dead codeডেড কোড
- যে কোড কোনো পথেই আর চলে না বা যার ফল কোথাও ব্যবহার হয় না (যেমন শর্তহীন return-এর পরের লাইন), অথচ এখনো প্রোগ্রামে রয়ে গেছে; ভুল করে আবার চালু হলে বিপদ আনতে পারে।যেখানে শিখবেন: পর্ব ০২পর্ব ১৭পর্ব ৪২
- Debt registerডেট রেজিস্টার
- জানা technical debt-এর তালিকা — কোথায়, কী, আনুমানিক সুদ আর principal, সিদ্ধান্ত আর দায়িত্ব; সাধারণত issue tracker-এর label বা repository-র একটি file.যেখানে শিখবেন: পর্ব ৪৩
- Decision (predicate) nodeডিসিশন নোড
- Control-flow graph-এর যে node থেকে দুই বা ততোধিক তীর বের হয়, যেমন if, while বা switch-এর শর্ত।যেখানে শিখবেন: পর্ব ৫০
- Decision nodeডিসিশন নোড
- Activity diagram-এ হীরা আকারের উপাদান, যেখান থেকে guard-এর শর্ত অনুযায়ী একটিমাত্র পথ বেছে নেওয়া হয়; একই আকারের merge বিকল্প পথ আবার এক করে।যেখানে শিখবেন: পর্ব ২৩পর্ব ৩০
- Decision tableডিসিশন টেবিল
- শর্ত (condition) আর কাজ (action)-এর টেবিল, যার প্রতিটি কলাম (rule) শর্তের একটি মিলন আর তার প্রত্যাশিত কাজ; n-টি Y/N শর্তে পূর্ণ টেবিলে 2^n rule.যেখানে শিখবেন: পর্ব ৪৭পর্ব ৬৬
- Decision tree (decision analysis)ডিসিশন ট্রি
- Decision node আর chance node দিয়ে আঁকা সিদ্ধান্তের গাছ; ডান থেকে বাঁয়ে EMV হিসাব করে (rollback) সবচেয়ে ভালো পথ বাছা হয়।যেখানে শিখবেন: পর্ব ৬২পর্ব ৬৬
- Decompose Conditionalডিকম্পোজ কন্ডিশনাল
- Refactoring: জটিল if-এর শর্ত আর প্রতিটি শাখাকে নাম দেওয়া আলাদা function-এ সরানো, যাতে শর্তটি পড়ে বোঝা যায় কেন, কী হচ্ছে।যেখানে শিখবেন: পর্ব ৪২
- Decorator (Python)ডেকোরেটর
- একটি function, যা আরেকটি function-কে মুড়ে নতুন আচরণ যোগ করে আর @নাম লিখে বসানো হয়; যেমন ডাকের আগে-পরে contract যাচাই।যেখানে শিখবেন: পর্ব ৩১পর্ব ৩৪
- Decorator patternডেকোরেটর প্যাটার্ন
- একটি object-কে একই interface-এর আরেকটি object দিয়ে মুড়ে চলার সময় নতুন দায়িত্ব যোগ করা; মোড়কের ওপর মোড়ক বসানো যায়, আর তাদের ক্রমে ফল বদলায়।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৬৮পর্ব ৭০
- Deduplicationডিডুপ্লিকেশন
- একই বিষয়বস্তু বারবার না রেখে একবার রাখা আর সব জায়গা থেকে সেটিকেই দেখানো; Git-এ একই বিষয়বস্তু মানেই একই blob, তাই এটি আপনাআপনি ঘটে।যেখানে শিখবেন: পর্ব ৫২
- Deep copyডিপ কপি
- বাইরের object আর তার ভেতরের সব mutable অংশের নতুন কপি; কপি আর আসল সম্পূর্ণ আলাদা হয়, কিন্তু খরচ বেশি আর সব object কপি করা যায় না।যেখানে শিখবেন: পর্ব ৩৩
- Deep history (H*)ডিপ হিস্ট্রি
- বৃত্তে H* লেখা pseudostate, যা composite-এর ভেতরের সব স্তরের শেষ অবস্থা মনে রেখে হুবহু সেখানে ফেরায়।যেখানে শিখবেন: পর্ব ৩০
- Deep moduleডিপ মডিউল
- John Ousterhout-এর (২০১৮) ধারণা: ছোট, সরল interface-এর পেছনে অনেক কাজ লুকানো module; ব্যবহারকারীর কাছে জটিলতা কম দেখায়।যেখানে শিখবেন: পর্ব ৪১
- Default branchডিফল্ট ব্রাঞ্চ
- নতুন repository-তে প্রথম যে branch তৈরি হয় তার নাম; Git ২.৫৩-এ সেটিং ছাড়া master, তবে init.defaultBranch বা git init -b দিয়ে main রাখা যায়।যেখানে শিখবেন: পর্ব ০৮
- Defectডিফেক্ট
- কোড, নকশা বা নথিতে এমন ত্রুটি যা requirement মানে না; সাধারণ কথায় bug, আর প্রায়ই fault-এর সমার্থক।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ৪৫
- Defect clusteringডিফেক্ট ক্লাস্টারিং
- বেশিরভাগ defect অল্প কিছু module-এ জমাট বাঁধার প্রবণতা; ISTQB-র সাত নীতির একটি, অনুপাত project-ভেদে আলাদা।যেখানে শিখবেন: পর্ব ৪৫
- Defect densityডিফেক্ট ডেনসিটি
- কোডের আকারের তুলনায় defect-এর সংখ্যা, সাধারণত প্রতি হাজার লাইনে (KLOC) কয়টি defect.যেখানে শিখবেন: পর্ব ০৩পর্ব ৬২পর্ব ৬৬
- Defect escape rateএস্কেপ রেট
- মোট জানা defect-এর কত ভাগ release-এর পরে ব্যবহারকারীর কাছে পৌঁছেছে; ১ থেকে DRE বাদ দিলে পাওয়া যায়।যেখানে শিখবেন: পর্ব ৬২
- Defect lifecycleডিফেক্ট লাইফসাইকেল
- একটি defect লেখা থেকে বন্ধ হওয়া পর্যন্ত অবস্থাগুলোর পথ — New, Assigned, Fixed, retest, Reopened বা Verified, Closed; নাম tool-ভেদে আলাদা।যেখানে শিখবেন: পর্ব ৪৫
- Defense in depthডিফেন্স ইন ডেপথ
- নিরাপত্তার নীতি: একটির ওপর আরেকটি স্বাধীন সুরক্ষার স্তর বসানো, যাতে একটি স্তর ব্যর্থ হলেও পরেরটি ঝুঁকি ধরে।যেখানে শিখবেন: পর্ব ৫৭
- Defensive copyডিফেন্সিভ কপি
- Mutable data object-এ ঢোকা বা বেরোনোর সময় তার কপি নেওয়া বা দেওয়া, যাতে বাইরের কোড ভেতরের অবস্থা বদলাতে না পারে।যেখানে শিখবেন: পর্ব ৩১পর্ব ৩৩
- Defensive programmingডিফেন্সিভ প্রোগ্রামিং
- প্রতিটি function প্রতিটি input আর অবস্থাকে সন্দেহ করে নিজে যাচাই করবে — এই অভ্যাস; trust boundary-তে খুব কাজের, ভেতরের কোডে বেশি হলে কোড ভারী হয়।যেখানে শিখবেন: পর্ব ৩১
- Definition of Doneডেফিনিশন অফ ডান
- কাজ কখন সত্যিই শেষ ধরা হবে তার গুণমানের আনুষ্ঠানিক মানদণ্ড; Increment-এর commitment, যা না মেলালে item release বা Review-তে দেখানো যায় না।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৬পর্ব ২১
- Definition of Readyডেফিনিশন অফ রেডি
- একটি backlog item কখন Sprint-এ নেওয়ার মতো যথেষ্ট স্পষ্ট, তা নিয়ে দলের নিজের ঠিক করা চেকলিস্ট; Scrum Guide-এর অংশ নয়।যেখানে শিখবেন: পর্ব ২২
- Delegationডেলিগেশন
- একটি object নিজের পাওয়া কাজ নিজে না করে ভেতরে রাখা আরেকটি object-কে দিয়ে করানো; composition-ভিত্তিক pattern-এর মূল কৌশল।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৩৭
- Delighter (attractive quality)ডিলাইটার
- Kano model-এর এমন feature, যা না থাকলে গ্রাহক অভাব টের পান না, কিন্তু থাকলে অবাক হয়ে খুশি হন; সময়ের সাথে প্রায়ই সাধারণ প্রত্যাশায় পরিণত হয়।যেখানে শিখবেন: পর্ব ২৪
- Deliverableডেলিভারেবল
- Project-এর এমন একটি যাচাইযোগ্য ফল, যা হস্তান্তর করা যায় — যেমন SRS দলিল, database schema বা চালানো যায় এমন একটি module.যেখানে শিখবেন: পর্ব ৬১
- Deltaডেল্টা
- একটি version থেকে পরেরটিতে কী কী বদলেছে, শুধু সেই পার্থক্যটুকু।যেখানে শিখবেন: পর্ব ০৭পর্ব ৫২
- Delta chainডেল্টা চেইন
- Packfile-এ যখন একটি delta-র ভিত্তি নিজেও আরেকটি delta; object পড়তে Git শিকলের শুরুর পূর্ণ object থেকে একটির পর একটি delta প্রয়োগ করে।যেখানে শিখবেন: পর্ব ৫২
- Dependencyডিপেনডেন্সি
- এক অংশ যখন কাজ করতে আরেক অংশের ওপর নির্ভর করে, তখন সেটি তার dependency — হতে পারে বাইরের library বা package (যেমন npm-এর node_modules বা Python-এর virtual environment-এ install করা package), আবার নিজের কোডের এক module বা class-এর ওপর আরেকটির নির্ভরতাও।যেখানে শিখবেন: পর্ব ১০
- Dependency (UML)ডিপেনডেন্সি
- UML-এর সবচেয়ে দুর্বল সম্পর্ক: একটি উপাদান অন্যটিকে ব্যবহার করে, তাই অন্যটি বদলালে এটিও বদলাতে পারে; ড্যাশ রেখা আর যাকে ব্যবহার করা হয় তার দিকে খোলা তীর।যেখানে শিখবেন: পর্ব ২৯পর্ব ৩৩
- Dependency cycleডিপেনডেন্সি সাইকেল
- Module-এর নির্ভরতার এমন চক্র, যেখানে তীর ধরে চললে আবার শুরুর module-এ ফেরা যায়; চক্রের সব module কার্যত একসাথে বদলায়, build আর test হয়।যেখানে শিখবেন: পর্ব ২৫পর্ব ৩৭পর্ব ৩৮
- Dependency debtডিপেনডেন্সি ডেট
- বাইরের library, framework বা platform-এর পুরোনো version-এ পড়ে থাকার debt; সুদ আসে নিরাপত্তা-ঝুঁকি আর পরে একসাথে অনেক version লাফানোর কষ্টে।যেখানে শিখবেন: পর্ব ৪৩
- Dependency graphডিপেনডেন্সি গ্রাফ
- কোন project বা module কোনটির ওপর নির্ভর করে, তা তীর দিয়ে দেখানো একটি directed graph; build-এর ক্রম আর প্রভাব হিসাবে লাগে।যেখানে শিখবেন: পর্ব ১৯পর্ব ২৫
- Dependency injectionডিপেনডেন্সি ইনজেকশন
- Object নিজে তার dependency বানায় না; বাইরে থেকে constructor, setter বা parameter দিয়ে দেওয়া হয় — একটি কৌশল, কোনো নীতি নয়।যেখানে শিখবেন: পর্ব ২৮পর্ব ৩৩পর্ব ৩৭
- Dependency inversion principle (DIP)ডিপেনডেন্সি ইনভার্শন প্রিন্সিপল
- উচ্চ-স্তরের নীতি (policy) নিম্ন-স্তরের খুঁটিনাটি (detail)-র ওপর নির্ভর করবে না; দুটিই abstraction-এর ওপর নির্ভর করবে, আর abstraction খুঁটিনাটির ওপর নির্ভর করবে না — খুঁটিনাটিই নির্ভর করবে abstraction-এর ওপর।যেখানে শিখবেন: পর্ব ২৮পর্ব ৪০পর্ব ৪৮
- Dependency ruleডিপেনডেন্সি রুল
- Clean Architecture-এর আইন: source code-এর নির্ভরতা শুধু ভেতরের বৃত্তের দিকে যাবে; ভেতরের কোনো কোড বাইরের বৃত্তের কোনো class, function বা data format-এর নাম জানবে না।যেখানে শিখবেন: পর্ব ৪০
- Deploy keyডিপ্লয় কি
- একটি নির্দিষ্ট repository-তে বাঁধা SSH key, সাধারণত শুধু পড়ার অনুমতিসহ, যা server বা automation ব্যক্তিগত account ছাড়াই ব্যবহার করে।যেখানে শিখবেন: পর্ব ৫৭
- Deploymentডিপ্লয়মেন্ট
- নতুন software version-কে আসল ব্যবহারের পরিবেশে (server, যন্ত্র) বসানো ও চালু করার প্রক্রিয়া।যেখানে শিখবেন: পর্ব ০১পর্ব ০২পর্ব ৫৯
- Deployment frequencyডিপ্লয়মেন্ট ফ্রিকোয়েন্সি
- নির্দিষ্ট সময়ে একটি দল কতবার production-এ সফলভাবে deploy করে, যেমন দিনে বা সপ্তাহে কতবার; DORA-র গতির একটি মাপ।যেখানে শিখবেন: পর্ব ৫৯পর্ব ৬৫পর্ব ৬৬
- Deployment pipelineডিপ্লয়মেন্ট পাইপলাইন
- Commit থেকে production পর্যন্ত একটি পরিবর্তনের স্বয়ংক্রিয় পথ — commit stage, acceptance stage, অন্যান্য test-এর ধাপ আর release; প্রতিটি ধাপ পরিবর্তনটির ওপর আস্থা বাড়ায় বা ব্যর্থ হয়ে দ্রুত জানায়।যেখানে শিখবেন: পর্ব ৫৯
- Deprecationডেপ্রিকেশন
- কোনো সুবিধা এখনো কাজ করে কিন্তু ভবিষ্যতে সরানো হবে, এই আনুষ্ঠানিক ঘোষণা; SemVer-এ সাধারণত MINOR-এ deprecate করে পরের MAJOR-এ সরানো হয়।যেখানে শিখবেন: পর্ব ১৮পর্ব ৩১পর্ব ৪৩
- Derivative workডেরিভেটিভ ওয়ার্ক
- মূল কাজের ওপর ভিত্তি করে বানানো বা তার সাথে মিলিয়ে তৈরি নতুন কাজ; কোনটি এর মধ্যে পড়ে তা আইনভেদে আর ঘটনাভেদে বিতর্কিত হতে পারে।যেখানে শিখবেন: পর্ব ৬৩
- Derived attributeডিরাইভড অ্যাট্রিবিউট
- যে attribute অন্য মান থেকে হিসাব করে পাওয়া যায়, আলাদা করে রাখার দরকার নেই; UML-এ নামের আগে / লেখা, যেমন /total.যেখানে শিখবেন: পর্ব ২৯
- Design by contractডিজাইন বাই কন্ট্র্যাক্ট
- Bertrand Meyer-এর পদ্ধতি: প্রতিটি method-এর precondition (ডাকার আগে caller-এর দায়), postcondition (শেষে method-এর প্রতিশ্রুতি) আর class invariant লিখিত চুক্তি হিসেবে রাখা।যেখানে শিখবেন: পর্ব ২৮পর্ব ৩১পর্ব ৬৮
- Design patternডিজাইন প্যাটার্ন
- নকশায় বারবার আসা একটি সমস্যার পরীক্ষিত, নাম দেওয়া সমাধানের ছাঁচ; ১৯৯৪ সালের Gang of Four বই এগুলো জনপ্রিয় করে।যেখানে শিখবেন: পর্ব ০২পর্ব ২৯পর্ব ৩২
- Design principleডিজাইন প্রিন্সিপল
- নকশার সিদ্ধান্তে সাহায্য করা অভিজ্ঞতা-ভিত্তিক পরামর্শ, যেমন DRY বা YAGNI; এগুলো আইন নয়, বেশিরভাগ ক্ষেত্রে কাজ করা heuristic.যেখানে শিখবেন: পর্ব ২৬
- Desired stateডিজায়ার্ড স্টেট
- System কেমন হওয়া উচিত তার বর্ণনা, যেমন কোন image-এর কয়টি copy চলবে; কীভাবে সেখানে পৌঁছাবে তা নয়, কী হবে তা বলে।যেখানে শিখবেন: পর্ব ৫৯
- Destruction occurrenceডেস্ট্রাকশন অকারেন্স
- Lifeline-এর শেষে আঁকা বড় ×, যা দেখায় object-টির জীবন শেষ; এর পরে তাকে আর কোনো message পাঠানো যায় না।যেখানে শিখবেন: পর্ব ৩০
- Detached HEADডিট্যাচড হেড
- HEAD যখন কোনো branch-এর নাম নয়, সরাসরি একটি commit-এর hash ধরে রাখে — এই অবস্থা; তখন নতুন commit কোনো branch-এ যুক্ত হয় না।যেখানে শিখবেন: পর্ব ১২পর্ব ১৪পর্ব ১৫
- Deterministicডিটারমিনিস্টিক
- একই input আর একই শুরুর অবস্থায় প্রতিবার হুবহু একই ফল দেয় এমন; সময়, এলোমেলো সংখ্যা বা চালানোর ক্রমের ওপর নির্ভর করে না।যেখানে শিখবেন: পর্ব ৪৬
- Developer Certificate of Origin (DCO)ডেভেলপার সার্টিফিকেট অব অরিজিন
- একটি ছোট ঘোষণা যে অবদানকারী কোডটি জমা দেওয়ার অধিকার রাখেন; অনেক project-এ git commit -s-এর Signed-off-by লাইন দিয়ে এতে সম্মতি জানানো হয়, যা cryptographic স্বাক্ষর নয়।যেখানে শিখবেন: পর্ব ১৮পর্ব ৫৭পর্ব ৬৩
- Developers (Scrum)ডেভেলপারস
- Scrum Team-এর সেই সদস্যরা, যাঁরা প্রতিটি Sprint-এ ব্যবহারযোগ্য Increment তৈরি করেন — programmer, tester, designer যে কেউ হতে পারেন।যেখানে শিখবেন: পর্ব ০৫
- DevOpsডেভঅপস
- উন্নয়ন (development) আর চালনা (operations)-এর দলকে এক করে স্বয়ংক্রিয়তা, দ্রুত feedback আর যৌথ দায়িত্বের সংস্কৃতি।যেখানে শিখবেন: পর্ব ০১পর্ব ০২পর্ব ৫৯
- DevSecOpsডেভসেকঅপস
- নিরাপত্তাকে শেষের আলাদা ধাপ না রেখে delivery-র প্রতিটি ধাপে — নকশা, কোড, pipeline, deploy — দলের সবার দায়িত্ব হিসেবে যুক্ত করার চর্চা।যেখানে শিখবেন: পর্ব ৫৯
- DI containerডিআই কন্টেইনার
- যে library কোন জিনিস কীভাবে বানাতে হয় তার নিবন্ধন রাখে, চাইলে পুরো dependency graph resolve করে object বানায় আর তাদের lifetime সামলায়; IoC container নামেও পরিচিত।যেখানে শিখবেন: পর্ব ৩৭
- Diagram as codeডায়াগ্রাম অ্যাজ কোড
- ছবি হাতে না এঁকে লেখার আকারে diagram রাখার চর্চা, যা থেকে tool ছবি বানায়; ফলে diagram Git-এ রাখা আর pull request-এ review করা যায়।যেখানে শিখবেন: পর্ব ৩০
- Diffডিফ
- দুটি লেখা বা ফাইলের পার্থক্যের তালিকা — কোন লাইন বাদ গেছে, কোন লাইন যোগ হয়েছে; Git-এ git diff command-ও।যেখানে শিখবেন: পর্ব ০৯পর্ব ৫৫
- Diff algorithmডিফ অ্যালগরিদম
- দুটি ফাইলের কোন লাইন মিলবে আর কোনটি যোগ-বিয়োগ দেখাবে তা ঠিক করার নিয়ম; Git-এ myers, minimal, patience আর histogram বেছে নেওয়া যায়।যেখানে শিখবেন: পর্ব ০৯পর্ব ৫৪
- Diff driverডিফ ড্রাইভার
- .gitattributes-এ diff=নাম দিয়ে বসানো একটি নিয়ম, যা বলে কোনো file-এর পার্থক্য কীভাবে দেখাতে হবে — যেমন ভাষা অনুযায়ী hunk-এর শিরোনাম, বা textconv দিয়ে binary file-কে আগে text-এ রূপান্তর।যেখানে শিখবেন: পর্ব ১০
- Digital signatureডিজিটাল সিগনেচার
- Private key দিয়ে কোনো লেখার ওপর বানানো একটি গাণিতিক প্রমাণ, যা public key দিয়ে যে কেউ যাচাই করতে পারেন; এটি দেখায় লেখাটি ওই key-র মালিক বানিয়েছেন আর পরে একটি অক্ষরও বদলায়নি।যেখানে শিখবেন: পর্ব ৫৭
- Director (Builder)ডিরেক্টর
- Builder pattern-এর ঐচ্ছিক অংশ, যে একটি নির্দিষ্ট ক্রমে builder-এর ধাপগুলো ডেকে পরিচিত একটি রূপ বানায়, যেমন একটি ঠিক করা রেসিপি।যেখানে শিখবেন: পর্ব ৩৩
- Discount rateডিসকাউন্ট রেট
- ভবিষ্যতের টাকাকে আজকের মূল্যে আনতে ব্যবহৃত বার্ষিক হার, যা সাধারণত টাকার বিকল্প ব্যবহার বা ধার নেওয়ার খরচ আর ঝুঁকি থেকে ঠিক হয়।যেখানে শিখবেন: পর্ব ২০
- Discounted payback periodডিসকাউন্টেড পেব্যাক
- ভবিষ্যতের প্রতিটি বছরের লাভকে discount rate দিয়ে আজকের মূল্যে এনে হিসাব করা payback period; সাধারণ payback-এর চেয়ে লম্বা হয়।যেখানে শিখবেন: পর্ব ২০
- Diseconomy of scaleডিসইকোনমি অফ স্কেল
- আকার দ্বিগুণ হলে effort দ্বিগুণের বেশি বাড়ার প্রবণতা; COCOMO-তে exponent ১-এর বেশি হওয়ায় এটি দেখা যায়।যেখানে শিখবেন: পর্ব ৬০
- Disparate impactডিসপারেট ইমপ্যাক্ট
- নিয়মটি সবার জন্য একই হলেও ফল কোনো গোষ্ঠীর ওপর অসমানুপাতিক খারাপ পড়া; উদ্দেশ্য নয়, ফল মেপে ধরা হয়।যেখানে শিখবেন: পর্ব ৬৪
- Distractorডিস্ট্র্যাক্টর
- MCQ-এর ইচ্ছা করে রাখা ভুল অপশন, যা সাধারণত কোনো প্রচলিত ভুল ধারণা বা হিসাবের ভুল থেকে বানানো হয়।যেখানে শিখবেন: পর্ব ৬৭
- Distributed monolithডিস্ট্রিবিউটেড মনোলিথ
- দেখতে আলাদা আলাদা service, কিন্তু এত জড়ানো যে একসাথে ছাড়া বদলানো বা deploy করা যায় না — microservice-এর খরচ আছে, সুবিধা নেই।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৭০
- Distributed tracingডিস্ট্রিবিউটেড ট্রেসিং
- অনেকগুলো service পেরিয়ে যাওয়া একটি request-এর প্রতিটি ধাপ (span) সময়সহ রেকর্ড করার কৌশল, যার ছবি sequence বা timing diagram-এর মতো দেখায়।যেখানে শিখবেন: পর্ব ৩০
- Distributed VCSডিস্ট্রিবিউটেড ভিসিএস
- যে version control-এ প্রত্যেকের কম্পিউটারে পুরো ইতিহাসসহ একটি সম্পূর্ণ repository থাকে; commit হয় নিজের কাছে, পরে অন্যদের সাথে আদান-প্রদান। যেমন Git আর Mercurial.যেখানে শিখবেন: পর্ব ০৭পর্ব ১৪
- Divergent changeডাইভারজেন্ট চেঞ্জ
- Code smell: একটি module ভিন্ন ভিন্ন কারণে বারবার বদলাতে হয়, যেমন কখনো tax-এর নিয়মে, কখনো database বদলে; shotgun surgery-র উল্টো ছবি।যেখানে শিখবেন: পর্ব ৪২পর্ব ৭০
- Diátaxisডায়াট্যাক্সিস
- Daniele Procida-র documentation কাঠামো, যা নথিকে চার ভাগ করে: tutorial, how-to guide, reference আর explanation.যেখানে শিখবেন: পর্ব ৬৩
- DMAICডিমেইক
- Six Sigma-র উন্নতির পাঁচ ধাপ: Define, Measure, Analyze, Improve আর Control.যেখানে শিখবেন: পর্ব ৬২
- Do activityডু অ্যাক্টিভিটি
- Entry শেষ হলে শুরু হয়ে state-এ থাকা অবস্থায় চলতে থাকা কাজ; শেষ হওয়ার আগে state ছাড়লে মাঝপথে থামানো হয়, শেষ হলে completion event তৈরি হয়।যেখানে শিখবেন: পর্ব ৩০
- DO-178Cডিও-একশো-আটাত্তর-সি
- বিমানের software তৈরির নির্দেশিকা (RTCA, ২০১১), যা ঝুঁকির স্তর অনুযায়ী যাচাই চায়; সর্বোচ্চ স্তরে MC/DC coverage চাওয়া হয় বলে সাধারণভাবে উদ্ধৃত।যেখানে শিখবেন: পর্ব ৫০
- Docs as codeডকস অ্যাজ কোড
- দলিল সাধারণ লেখার ফাইলে, কোডের সাথে একই repository-তে রাখা আর কোডের মতোই commit, review ও version করা।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৬৩
- Docstringডকস্ট্রিং
- Python-এ function, class বা module-এর প্রথম লাইনে লেখা string, যা help() আর editor দেখায়; কী নেয়, কী ফেরত দেয় আর কোন error তোলে তা বলে।যেখানে শিখবেন: পর্ব ৪১
- doctestডকটেস্ট
- Python-এর standard library module, যা docstring-এর ভেতরের >>> উদাহরণ চালিয়ে আউটপুট মিলিয়ে দেখে; ফলে documentation মিথ্যা হলে test ব্যর্থ হয়।যেখানে শিখবেন: পর্ব ৪১
- Document / system analysisডকুমেন্ট অ্যানালাইসিস
- বিদ্যমান ফর্ম, খাতা, report, নিয়মের বই আর পুরোনো system পড়ে requirement আর domain-এর তথ্য বের করা।যেখানে শিখবেন: পর্ব ২০
- Documentation rotডকুমেন্টেশন রট
- কোড বদলালেও নথি না বদলানোয় নথির ধীরে ধীরে পুরোনো আর ভুল হয়ে যাওয়া; ভুল নথি ভুল পথ দেখায়।যেখানে শিখবেন: পর্ব ৬৩
- Domain eventডোমেইন ইভেন্ট
- Domain-এ ঘটে যাওয়া একটি অর্থবহ ঘটনা, অতীত কালের নামে, যেমন OrderPlaced; অন্য অংশ এতে সাড়া দেয়, ঘটনার উৎসকে তাদের চিনতে হয় না।যেখানে শিখবেন: পর্ব ৪০
- Domain glossaryডোমেইন গ্লোসারি
- Project-এর কাজের ক্ষেত্রের গুরুত্বপূর্ণ শব্দ আর তাদের সম্মত অর্থের তালিকা, যাতে stakeholder আর developer একই শব্দে একই জিনিস বোঝেন।যেখানে শিখবেন: পর্ব ২০
- Domain modelডোমেইন মডেল
- সমস্যার জগতের ধারণাগুলো, তাদের attribute আর association-সহ একটি ছবি; requirement স্তরে এতে method বা কোডের অংশ থাকে না।যেখানে শিখবেন: পর্ব ২৩পর্ব ২৯পর্ব ৬৫
- Domain requirementডোমেইন রিকোয়ারমেন্ট
- ব্যবহারকারীর সরাসরি চাওয়া থেকে নয়, application-এর ক্ষেত্র (যেমন চিকিৎসা, ব্যাংকিং, রেল) থেকে আসা requirement; এটি functional বা non-functional দুই রকমই হতে পারে।যেখানে শিখবেন: পর্ব ২১
- Domain serviceডোমেইন সার্ভিস
- যে ব্যবসায়িক নিয়ম কোনো একটি entity বা value object-এর স্বাভাবিক দায় নয়, যেমন দুটি wallet-এর মধ্যে টাকা স্থানান্তর, তা রাখার stateless object.যেখানে শিখবেন: পর্ব ৪০
- Domain-driven design (DDD)ডোমেইন-ড্রিভেন ডিজাইন
- Eric Evans-এর ২০০৩ সালের বই থেকে আসা নকশার পদ্ধতি: domain expert-দের সাথে মিলে ব্যবসার জ্ঞানকে কোডের কেন্দ্রে রাখা, ubiquitous language, aggregate আর bounded context-এর মতো ধারণা দিয়ে।যেখানে শিখবেন: পর্ব ৪০
- Don't-care entryডোন্ট-কেয়ার এন্ট্রি
- Decision table-এ “−” চিহ্ন: ওই rule-এ এই শর্তের মান যা-ই হোক ফল একই; একই কাজের কয়েকটি rule মিশিয়ে টেবিল ছোট করতে ব্যবহৃত।যেখানে শিখবেন: পর্ব ৪৭
- DORA metricsডোরা মেট্রিক
- DevOps Research and Assessment দলের ব্যবহৃত software delivery-র মাপকাঠি — deploy-এর ঘনত্ব, পরিবর্তনের lead time, পরিবর্তনে ব্যর্থতার হার আর সমস্যা থেকে ফেরার সময়।যেখানে শিখবেন: পর্ব ১৭পর্ব ৫৯পর্ব ৬৬
- Double dispatchডাবল ডিসপ্যাচ
- কোন কোড চলবে তা দুটি object-এর চলার সময়ের type দেখে বাছাই — Visitor-এ আগে node-এর accept, তারপর visitor-এর নির্দিষ্ট visit method.যেখানে শিখবেন: পর্ব ৩৬
- Double-checked lockingডাবল-চেকড লকিং
- Lock নেওয়ার আগে একবার আর পরে আরেকবার শর্ত যাচাই করে lazy object বানানোর কৌশল; ভাষার memory model ঠিকমতো না মানলে এটি ভাঙে — Java-তে field volatile না হলে এখনো ভাঙে, আর Java 5-এর আগে volatile দিয়েও নিরাপদ ছিল না।যেখানে শিখবেন: পর্ব ৩৩
- Double-loop TDDডাবল-লুপ টিডিডি
- বাইরের চক্রে একটি ব্যর্থ acceptance test, আর তাকে সবুজ করতে ভেতরে বহু ছোট unit-test-এর red-green-refactor চক্র; Freeman ও Pryce-এর বইয়ে বর্ণিত ধারা।যেখানে শিখবেন: পর্ব ৪৮
- DPIA (Data Protection Impact Assessment)ডিপিআইএ
- ঝুঁকিপূর্ণ data processing শুরুর আগে লিখিত মূল্যায়ন — কী data, কেন, কী ঝুঁকি আর কীভাবে কমানো হবে; GDPR-এ কিছু ক্ষেত্রে বাধ্যতামূলক।যেখানে শিখবেন: পর্ব ৬৪
- Draft pull requestড্রাফট পুল রিকোয়েস্ট
- অসম্পূর্ণ কাজ হিসেবে খোলা pull request — আলোচনা আর CI চলে, কিন্তু merge করা যায় না যতক্ষণ না Ready for review করা হয়।যেখানে শিখবেন: পর্ব ১৬
- DRE (Defect Removal Efficiency)ডিআরই
- Release-এর আগে ধরা defect-কে মোট জানা defect দিয়ে ভাগ করা অনুপাত; বোঝায় কত ভাগ defect ব্যবহারকারীর আগে ধরা গেল।যেখানে শিখবেন: পর্ব ০৩পর্ব ৬২পর্ব ৬৬
- Driven (secondary) adapterড্রিভেন অ্যাডাপ্টার
- যে adapter core-এর ঘোষণা করা driven port বাস্তবায়ন করে আর core-এর ডাকে বাইরের প্রযুক্তির (database, payment, SMS) সাথে কথা বলে।যেখানে শিখবেন: পর্ব ৪০পর্ব ৫১
- Driving (primary) adapterড্রাইভিং অ্যাডাপ্টার
- যে adapter বাইরের অনুরোধ (HTTP request, command-line, test) core-এর driving port-এর ডাকে অনুবাদ করে core-কে চালায়, যেমন web controller.যেখানে শিখবেন: পর্ব ৪০
- DRY (Don't Repeat Yourself)ড্রাই
- Hunt ও Thomas-এর (১৯৯৯) নীতি: প্রতিটি জ্ঞানের system-এ একটিই, দ্ব্যর্থহীন, কর্তৃত্বপূর্ণ রূপ থাকবে; এটি জ্ঞানের পুনরাবৃত্তি নিয়ে, শুধু কোডের লেখা নিয়ে নয়।যেখানে শিখবেন: পর্ব ২৬পর্ব ৬৫পর্ব ৬৮
- DSDMডি-এস-ডি-এম
- Dynamic Systems Development Method — ১৯৯০-এর দশকে RAD-এর চিন্তা থেকে আসা একটি Agile কাঠামো, যেখানে সময় আর খরচ স্থির রেখে MoSCoW দিয়ে পরিধি নমনীয় রাখা হয়।যেখানে শিখবেন: পর্ব ২৪
- Dual licensingডুয়াল লাইসেন্সিং
- একই software দুই বা তার বেশি license-এ দেওয়া, যাতে ব্যবহারকারী যেকোনো একটি বেছে নিতে পারেন, যেমন MIT OR Apache-2.0.যেখানে শিখবেন: পর্ব ৬৩
- Dummy (dummy object)ডামি
- যে test double শুধু একটি parameter-এর জায়গা পূরণ করতে দেওয়া হয়, test-এর পথে কখনো ব্যবহারই হয় না; প্রায়ই None বা একটি খালি object.যেখানে শিখবেন: পর্ব ৪৯পর্ব ৬৭পর্ব ৭০
- Dummy activityডামি অ্যাক্টিভিটি
- AOA diagram-এ শূন্য সময় আর শূন্য খরচের একটি ড্যাশ-দেওয়া তীর, যা শুধু নির্ভরতা দেখায় বা দুটি activity-কে আলাদা করে চেনায়।যেখানে শিখবেন: পর্ব ৬১
- Duplicated codeডুপ্লিকেটেড কোড
- Code smell: একই বা প্রায় একই কোড একাধিক জায়গায়; একটি জায়গায় নিয়ম বদলালে অন্যগুলো ভুলে যাওয়ার ঝুঁকি থাকে।যেখানে শিখবেন: পর্ব ৪২
- Dynamic testingডাইনামিক টেস্টিং
- Software আসলে চালিয়ে নির্দিষ্ট ইনপুটে তার আচরণ আর ফল প্রত্যাশার সাথে মিলিয়ে দেখা।যেখানে শিখবেন: পর্ব ৪৫
E
- E-type systemই-টাইপ সিস্টেম
- Lehman-এর ভাগে বাস্তব জগতে ব্যবহৃত, জগতের অংশ হয়ে যাওয়া software, যেমন একটি billing system; গাণিতিকভাবে পুরো সংজ্ঞায়িত S-type প্রোগ্রামের উল্টো।যেখানে শিখবেন: পর্ব ৪৩
- EAC (estimate at completion)ইএসি
- পুরো project শেষে মোট খরচ কত হবে তার বর্তমান পূর্বাভাস; একটি প্রচলিত রূপ BAC ÷ CPI, তবে আরও কয়েকটি রূপ আছে।যেখানে শিখবেন: পর্ব ৬১পর্ব ৬৬
- Early returnআর্লি রিটার্ন
- কাজ শেষ বা অসম্ভব বোঝামাত্র function থেকে বেরিয়ে যাওয়া, শেষ পর্যন্ত একটি return-এর জন্য অপেক্ষা না করে।যেখানে শিখবেন: পর্ব ৪১
- Earned value management (EVM)আর্নড ভ্যালু
- পরিকল্পিত মূল্য (PV), অর্জিত মূল্য (EV) আর প্রকৃত খরচ (AC) মিলিয়ে schedule আর খরচ — দুটোর অবস্থা একসাথে মাপার পদ্ধতি।যেখানে শিখবেন: পর্ব ৬১পর্ব ৬২পর্ব ৬৬
- EARSইয়ার্স
- Easy Approach to Requirements Syntax — Alistair Mavin ও সহকর্মীদের (২০০৯) কয়েকটি বাক্য-ছাঁচ (ubiquitous, When, While, If…then, Where), যা স্বাভাবিক ভাষার requirement-কে কম অস্পষ্ট করে।যেখানে শিখবেন: পর্ব ২১
- Ed25519ইডি-টু-ফাইভ-ফাইভ-ওয়ান-নাইন
- একটি আধুনিক digital signature algorithm; এর SSH key ছোট, দ্রুত আর বর্তমানে নতুন key-এর জন্য প্রচলিত পছন্দ।যেখানে শিখবেন: পর্ব ৫৭
- Efferent coupling (Ce)ইফারেন্ট কাপলিং
- এই package বাইরের কতগুলো package বা class-এর ওপর নির্ভর করে — বাইরের দিকে যাওয়া নির্ভরতা।যেখানে শিখবেন: পর্ব ২৫পর্ব ৬৬
- Effort adjustment factor (EAF)এফোর্ট অ্যাডজাস্টমেন্ট ফ্যাক্টর
- Intermediate COCOMO-তে ১৫টি cost driver-এর গুণকের গুণফল, যা nominal effort-কে গুণ করে।যেখানে শিখবেন: পর্ব ৬০পর্ব ৬৬
- Effort multiplier (EM)এফোর্ট মাল্টিপ্লায়ার
- COCOMO II-তে reliability, জটিলতা, দলের দক্ষতা, tool-এর মতো বৈশিষ্ট্যের গুণক; nominal মান 1.00, সব গুণ করে effort-এ বসানো হয়।যেখানে শিখবেন: পর্ব ৬০পর্ব ৬৬
- Elaborationইলাবোরেশন
- সংগৃহীত requirement বিশ্লেষণ করে পরিষ্কার, বিস্তারিত আর মডেলে রূপ দেওয়ার কাজ, যেমন use case বা domain model আঁকা।যেখানে শিখবেন: পর্ব ২০
- Elimination methodএলিমিনেশন মেথড
- সঠিক উত্তর সরাসরি খোঁজার বদলে প্রতিটি ভুল অপশনের পেছনের নিয়মটি চিনে একে একে কেটে দেওয়ার কৌশল।যেখানে শিখবেন: পর্ব ৬৭
- Empiricismএম্পিরিসিজম
- অভিজ্ঞতা আর পর্যবেক্ষণ থেকে সিদ্ধান্ত নেওয়ার নীতি; Scrum-এ এর তিন স্তম্ভ স্বচ্ছতা, যাচাই আর খাপ খাওয়ানো।যেখানে শিখবেন: পর্ব ০৫
- Enabling teamএনেবলিং টিম
- বিশেষজ্ঞদের যে দল অন্য দলকে কিছুদিন নতুন দক্ষতা শেখায়, তারপর সরে যায়, যাতে সেই দল নিজে পারে।যেখানে শিখবেন: পর্ব ৬৩
- Encapsulate what variesএনক্যাপসুলেট হোয়াট ভেরিজ
- নকশার যে অংশ বদলাবে বলে মনে হয়, তাকে একটি স্থির interface-এর পেছনে আলাদা রাখার পরামর্শ, যাতে বদল সেখানেই আটকে থাকে।যেখানে শিখবেন: পর্ব ২৬পর্ব ৩২
- Encapsulationএনক্যাপসুলেশন
- Data আর সেই data-র ওপর কাজ করা কোড এক জায়গায় রেখে বাইরে থেকে সরাসরি হাত দেওয়া বন্ধ করা; বাইরের কোড শুধু নির্দিষ্ট method দিয়ে কাজ করে।যেখানে শিখবেন: পর্ব ২৫পর্ব ৭০
- End-of-life (EOL)এন্ড-অফ-লাইফ
- যে তারিখের পরে কোনো ভাষা, framework, OS বা library-র নির্মাতা আর bug fix বা নিরাপত্তা-patch দেন না, যেমন Python 2-এর ক্ষেত্রে ১ জানুয়ারি ২০২০।যেখানে শিখবেন: পর্ব ৪৩
- End-to-end (E2E) testএন্ড-টু-এন্ড টেস্ট
- ব্যবহারকারীর মতো করে পুরো জোড়া-লাগানো system-এর একটি পূর্ণ কাজ (যেমন খোঁজা থেকে টাকা দেওয়া পর্যন্ত) UI বা বাইরের API দিয়ে যাচাই করার পদ্ধতি।যেখানে শিখবেন: পর্ব ৫১পর্ব ৭০
- Enterprise application patternএন্টারপ্রাইজ প্যাটার্ন
- ব্যবসায়িক application-এর data, database আর স্তর সাজানোর pattern, যেমন Repository, Unit of Work, Data Mapper; Martin Fowler-এর ২০০২ সালের বই এদের জনপ্রিয় করে।যেখানে শিখবেন: পর্ব ৩২
- Entityএনটিটি
- যে domain object তার পরিচয় (id) দিয়ে চেনা যায় আর সময়ের সাথে অবস্থা বদলায়, যেমন একটি order; Clean Architecture-এ entities বৃত্তে থাকে ব্যবসার মূল নিয়ম।যেখানে শিখবেন: পর্ব ৪০
- Entry activityএন্ট্রি অ্যাক্টিভিটি
- State-এ ঢোকার সময় প্রতিবার একবার চলা কাজ, state-এর বাক্সে entry / কাজ আকারে লেখা; যে তীর দিয়েই ঢোকা হোক, চলে।যেখানে শিখবেন: পর্ব ৩০
- Enumerationএনিউমারেশন
- নির্দিষ্ট কয়েকটি নাম-দেওয়া মানের একটি data type, যেমন BOOKED, PAID, CANCELLED; UML-এ «enumeration» লেখা বাক্সে।যেখানে শিখবেন: পর্ব ২৯
- .env fileডট-এনভ ফাইল
- KEY=value আকারে environment variable লেখা একটি file, যা অনেক framework app চালুর সময় পড়ে; এতে প্রায়ই secret থাকে, তাই এটি ignore করে খালি মানের .env.example commit করা হয়।যেখানে শিখবেন: পর্ব ৫৭
- Environment branchএনভায়রনমেন্ট ব্রাঞ্চ
- staging বা production-এর মতো প্রতিটি environment-এর জন্য আলাদা branch, যার কোড সেই environment-এ deploy হয়; এক দিকে না চললে branch-গুলো আলাদা হয়ে যাওয়ার ঝুঁকি থাকে।যেখানে শিখবেন: পর্ব ১৭
- Environment promotionএনভায়রনমেন্ট প্রমোশন
- একটি artifact এক environment-এর check পার হলে পরের environment-এ (dev থেকে test, staging, তারপর production) এগিয়ে দেওয়া।যেখানে শিখবেন: পর্ব ৫৯
- Environment variableএনভায়রনমেন্ট ভ্যারিয়েবল
- Operating system প্রতিটি প্রোগ্রামকে যে নাম-মানের জোড়া দেয়, যেমন PATH; কোডে না লিখে secret বা setting এভাবে প্রোগ্রামে পাঠানো হয়।যেখানে শিখবেন: পর্ব ৫৭পর্ব ৫৯
- Epicএপিক
- এক Sprint-এ শেষ করা যায় না এমন বড় backlog item, যাকে পরে কয়েকটি ছোট item-এ ভাঙা হয়; Scrum Guide-এর শব্দ নয়, প্রচলিত অনুশীলন।যেখানে শিখবেন: পর্ব ০৫পর্ব ২২পর্ব ৬০
- Equivalence partitioningইকুইভ্যালেন্স পার্টিশনিং
- যে ইনপুটগুলোর সাথে system একইভাবে আচরণ করার কথা, তাদের এক দলে (partition) রেখে প্রতিটি দল থেকে একটি প্রতিনিধি মান দিয়ে test করা; valid আর invalid দুই রকম দলই থাকে।যেখানে শিখবেন: পর্ব ৪৭পর্ব ৬৫পর্ব ৬৬
- Equivalent mutantইকুইভ্যালেন্ট মিউট্যান্ট
- লেখায় আলাদা কিন্তু কোনো ইনপুটেই আচরণ আলাদা নয় এমন mutant; কোনো test একে মারতে পারে না, তাই mutation score-এর হর থেকে বাদ যায়।যেখানে শিখবেন: পর্ব ৫০
- Errorএরর
- IEEE-র ধারায় মানুষের ভুল কাজ (mistake); dependability-র ধারায় চলার সময় system-এর ভুল অভ্যন্তরীণ অবস্থা, যা failure-এর দিকে নিয়ে যেতে পারে।যেখানে শিখবেন: পর্ব ০৩পর্ব ৪৫
- Error codeএরর কোড
- ব্যর্থতা জানাতে ফেরত দেওয়া বিশেষ মান, যেমন -1, NULL বা C-র errno; সরল, কিন্তু caller সহজেই উপেক্ষা করতে পারেন।যেখানে শিখবেন: পর্ব ৩১
- Error guessingএরর গেসিং
- অভিজ্ঞতা থেকে সম্ভাব্য ভুল (খালি ইনপুট, শূন্য, অধিবর্ষ, দুবার জমা দেওয়া) অনুমান করে তার জন্য test বানানো; একটি অভিজ্ঞতা-নির্ভর কৌশল।যেখানে শিখবেন: পর্ব ৪৭
- Error hierarchyএরর হায়ারার্কি
- Exception class-গুলোর বংশতালিকা — একটি মূল class আর তার নিচে নির্দিষ্ট ব্যর্থতার subclass, যাতে caller নির্দিষ্ট বা সব ধরনের error একসাথে ধরতে পারেন।যেখানে শিখবেন: পর্ব ৩১
- Error masking (defect masking)এরর মাস্কিং
- একটি ভুল বা অবৈধ ইনপুট অন্য একটি ভুলকে আড়াল করা, যেমন প্রথম অবৈধ ঘরে system থেমে গেলে দ্বিতীয় ঘরের যাচাই আর দেখা যায় না; তাই invalid মান একবারে একটি।যেখানে শিখবেন: পর্ব ৪৭
- Escalationএসক্যালেশন
- একটি সমস্যা নিজের স্তরে না মিটলে লিখিতভাবে পরের দায়িত্বশীল স্তরে তোলা — team lead, তারপর manager, quality বা নিরাপত্তা বিভাগ, তারপর আরও ওপরে।যেখানে শিখবেন: পর্ব ৬৪
- Essential complexityএসেনশিয়াল কমপ্লেক্সিটি
- সমস্যার নিজের জটিলতা — নিয়ম, ব্যতিক্রম আর বদলানো চাহিদা — যা ভাষা বা টুল বদলালে কমে না।যেখানে শিখবেন: পর্ব ০১পর্ব ০২পর্ব ২৬
- Estimateএস্টিমেট
- কোনো কাজে কত সময় বা খরচ লাগবে তার বিশ্লেষণভিত্তিক পূর্বাভাস, যাতে অনিশ্চয়তার পরিসর বা সম্ভাবনাও বলা থাকে।যেখানে শিখবেন: পর্ব ৬০
- Estimation by analogyঅ্যানালজি এস্টিমেশন
- আগে শেষ হওয়া একটি মিলে যাওয়া project-এর আসল তথ্য নিয়ে, পার্থক্যগুলোর জন্য সমন্বয় করে নতুন কাজের অনুমান করা।যেখানে শিখবেন: পর্ব ৬০
- Ethical dilemmaএথিক্যাল ডাইলেমা
- এমন পরিস্থিতি যেখানে দুটি বা তার বেশি কর্তব্য বা মূল্যবোধ একে অপরের বিরুদ্ধে যায়, আর যেকোনো পথেই কারও না কারও ক্ষতি বা অসুবিধা হয়।যেখানে শিখবেন: পর্ব ৬৪
- Ethnographyএথনোগ্রাফি
- নৃবিজ্ঞান থেকে আসা পদ্ধতি, যেখানে গবেষক দীর্ঘ সময় মানুষের কাজের জায়গায় থেকে তাঁদের আসল কাজের ধারা আর অলিখিত নিয়ম পর্যবেক্ষণ করেন।যেখানে শিখবেন: পর্ব ২০
- Event (trigger)ইভেন্ট
- State machine-এ যা ঘটলে একটি transition চালু হতে পারে, যেমন pay বা cancel; যে state-এ এর কোনো transition নেই, সেখানে event-টি কিছু বদলায় না।যেখানে শিখবেন: পর্ব ২৩পর্ব ৩৬
- Event brokerইভেন্ট ব্রোকার
- Event প্রকাশক আর গ্রাহকের মাঝের মধ্যস্থ software, যা event নেয়, জমা রাখে আর আগ্রহী গ্রাহকদের কাছে পৌঁছায়; message broker নামেও পরিচিত।যেখানে শিখবেন: পর্ব ৩৮
- Event emitterইভেন্ট এমিটার
- ঘটনার নাম ধরে শ্রোতা নিবন্ধন আর ঘটনা ঘোষণার একটি তৈরি ব্যবস্থা, যেমন Node.js-এর EventEmitter (on, off, emit); observer pattern-এর প্রচলিত রূপ।যেখানে শিখবেন: পর্ব ৩৫
- Event listenerইভেন্ট লিসেনার
- একটি নির্দিষ্ট ঘটনার জন্য নিবন্ধিত function, যা ঘটনা ঘটলে ডাক পায়; browser-এ addEventListener দিয়ে যোগ আর removeEventListener দিয়ে সরানো হয়।যেখানে শিখবেন: পর্ব ৩৫
- Event-driven architectureইভেন্ট-ড্রিভেন আর্কিটেকচার
- অংশগুলো সরাসরি একে অপরকে না ডেকে ঘটনা (event) প্রকাশ করে আর অন্যরা সেই ঘটনায় সাড়া দেয়; সাধারণত asynchronous আর কম coupling-এর।যেখানে শিখবেন: পর্ব ৩৮
- Evolutionary prototypeইভোলিউশনারি প্রোটোটাইপ
- যে নমুনা ফেলে দেওয়া হয় না; ব্যবহারকারীর মতামত নিয়ে ধাপে ধাপে উন্নত করে সেটিকেই আসল product বানানো হয়।যেখানে শিখবেন: পর্ব ০৪
- Example mappingএক্সাম্পল ম্যাপিং
- Three amigos-এর আলোচনার একটি কৌশল: story এক রঙের কার্ডে, নিয়ম আরেক রঙে, প্রতিটি নিয়মের উদাহরণ তৃতীয় রঙে আর অমীমাংসিত প্রশ্ন চতুর্থ রঙে; Matt Wynne-এর নামে প্রচলিত।যেখানে শিখবেন: পর্ব ৪৮
- Exceptionএক্সেপশন
- চলার সময় অস্বাভাবিক অবস্থা হলে প্রোগ্রাম যে সংকেত তোলে; কেউ ধরে (handle) না করলে প্রোগ্রাম বা অংশটি থেমে যায়।যেখানে শিখবেন: পর্ব ০২পর্ব ২৬পর্ব ৩১
- Executable specificationএক্সিকিউটেবল স্পেসিফিকেশন
- এমন requirement-এর লেখা, যা মানুষ পড়তে পারে আবার tool সরাসরি test হিসেবে চালাতে পারে, যেমন step definition-যুক্ত Gherkin-এর scenario-গুলো।যেখানে শিখবেন: পর্ব ৪৮
- Execution specification (activation bar)অ্যাক্টিভেশন বার
- Lifeline-এর ওপর সরু আয়তক্ষেত্র, যা দেখায় object-টি কখন একটি কাজ (method) চালাচ্ছে; nested call-এ একটির ওপর আরেকটি বসে।যেখানে শিখবেন: পর্ব ৩০
- Exhaustive testingএগজস্টিভ টেস্টিং
- সম্ভাব্য সব ইনপুট আর অবস্থার সমন্বয়ে software চালিয়ে দেখা; ইনপুটের ঘর গুণ হয় বলে ছোট সসীম ক্ষেত্র ছাড়া বাস্তবে অসম্ভব।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৭
- Exit activityএক্সিট অ্যাক্টিভিটি
- State থেকে বেরোনোর সময় প্রতিবার একবার চলা কাজ, exit / কাজ আকারে লেখা; transition-এর effect-এর আগে চলে।যেখানে শিখবেন: পর্ব ৩০
- Exit code (exit status)এক্সিট কোড
- একটি program শেষ হওয়ার সময় operating system-কে যে ছোট সংখ্যা (0 থেকে 255) ফেরত দেয়; প্রথা অনুযায়ী 0 মানে সফল, অন্য সংখ্যা মানে কোনো ব্যর্থতা।যেখানে শিখবেন: পর্ব ৫৫পর্ব ৫৬পর্ব ৫৮
- Expected monetary value (EMV)এক্সপেক্টেড মনিটারি ভ্যালু
- প্রতিটি সম্ভাব্য ফলের টাকার মূল্যকে তার সম্ভাবনা দিয়ে গুণ করে যোগফল; অনিশ্চিত বিকল্পগুলো তুলনা করতে কাজে লাগে।যেখানে শিখবেন: পর্ব ৬২পর্ব ৬৬
- Expert judgementএক্সপার্ট জাজমেন্ট
- অভিজ্ঞ মানুষের বিচারবুদ্ধি দিয়ে কাজের আকার বা সময় অনুমান করা; সবচেয়ে প্রচলিত পদ্ধতি, তবে ব্যক্তিগত পক্ষপাতের ঝুঁকি আছে।যেখানে শিখবেন: পর্ব ৬০
- Exploratory testingএক্সপ্লোরেটরি টেস্টিং
- আগে থেকে ধাপ লেখা ছাড়া একসাথে শেখা, test নকশা আর চালানো, যেখানে প্রতিটি পর্যবেক্ষণ পরের পদক্ষেপ ঠিক করে; সাধারণত charter আর নির্দিষ্ট সময়সীমায় করা হয়।যেখানে শিখবেন: পর্ব ৪৭
- Expression problemএক্সপ্রেশন প্রবলেম
- Philip Wadler-এর (১৯৯৮) দেওয়া নাম: পুরোনো কোড না বদলে একসাথে নতুন ধরন আর নতুন operation দুটোই যোগ করা কঠিন; নকশা সাধারণত একটিকে সহজ করে অন্যটিকে কঠিন করে।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৬
- Expression treeএক্সপ্রেশন ট্রি
- গাণিতিক প্রকাশকে গাছ হিসেবে রাখা — পাতায় সংখ্যা, ভেতরের node-এ যোগ-গুণের মতো operator; compiler-এর abstract syntax tree-র ছোট রূপ।যেখানে শিখবেন: পর্ব ৩৬
- Extend relationshipএক্সটেন্ড রিলেশনশিপ
- একটি use case শুধু নির্দিষ্ট শর্তে অন্য use case-এর একটি নির্দিষ্ট জায়গায় বাড়তি আচরণ যোগ করে, এমন সম্পর্ক; UML-এ «extend» লেখা ড্যাশ তীর।যেখানে শিখবেন: পর্ব ২২পর্ব ২৩
- Extension (use case)এক্সটেনশন
- Main success scenario-র কোনো ধাপে শর্ত ভিন্ন হলে যে বিকল্প বা ব্যর্থতার পথ, যেমন 4a: ব্যালান্স কম; একে alternate flow-ও বলে।যেখানে শিখবেন: পর্ব ২২পর্ব ৪৭
- Extension pointএক্সটেনশন পয়েন্ট
- Base use case-এর ভেতরে ঘোষণা করা নামযুক্ত একটি জায়গা, যেখানে «extend» সম্পর্কের মাধ্যমে বাড়তি আচরণ যুক্ত হতে পারে।যেখানে শিখবেন: পর্ব ২৩
- External couplingএক্সটার্নাল কাপলিং
- কয়েকটি module বাইরে থেকে চাপানো একই format, protocol বা যন্ত্রের ওপর নির্ভর করে, যেমন একটি ব্যাংকের CSV file-এর কলামের ক্রম।যেখানে শিখবেন: পর্ব ২৫
- External entityএক্সটার্নাল এনটিটি
- DFD-তে system-এর বাইরের data-র উৎস বা গন্তব্য — মানুষ, প্রতিষ্ঠান বা অন্য system; আয়তক্ষেত্রে আঁকা হয়।যেখানে শিখবেন: পর্ব ২৩
- External input (EI)এক্সটার্নাল ইনপুট
- সীমার বাইরে থেকে আসা data বা নির্দেশ প্রক্রিয়া করার একটি মৌলিক কাজ, যা সাধারণত এক বা একাধিক ILF হালনাগাদ করে; যেমন নম্বর জমা দেওয়ার ফর্ম।যেখানে শিখবেন: পর্ব ৬০
- External inquiry (EQ)এক্সটার্নাল ইনকোয়ারি
- একটি অনুরোধে সংরক্ষিত data খুঁজে হুবহু ফেরত দেওয়ার মৌলিক কাজ, যাতে কোনো হিসাব বা ILF বদল নেই; যেমন roll দিয়ে শিক্ষার্থীর তথ্য খোঁজা।যেখানে শিখবেন: পর্ব ৬০
- External interface file (EIF)এক্সটার্নাল ইন্টারফেস ফাইল
- অন্য application-এর রক্ষণাবেক্ষণ করা data-র দল, যা মাপা application শুধু পড়ে বা উল্লেখ করে, নিজে বদলায় না।যেখানে শিখবেন: পর্ব ৬০
- External iteratorএক্সটার্নাল ইটারেটর
- যে iterator-এ client নিজে next() ডেকে কখন এগোবে, কখন থামবে ঠিক করে; for লুপ আর হাতে next() ডাকা এর উদাহরণ।যেখানে শিখবেন: পর্ব ৩৬
- External output (EO)এক্সটার্নাল আউটপুট
- সীমার বাইরে data পাঠানোর একটি মৌলিক কাজ, যাতে হিসাব, নতুন উৎপন্ন তথ্য বা ILF বদল থাকে; যেমন CGPA হিসাব করা ফলাফলপত্র।যেখানে শিখবেন: পর্ব ৬০
- External transitionএক্সটার্নাল ট্রানজিশন
- উৎস state থেকে বেরিয়ে যাওয়া সাধারণ transition; নিজের দিকে ফিরলেও (self-transition) আগে exit, তারপর entry চলে।যেখানে শিখবেন: পর্ব ৩০
- Extract Classএক্সট্র্যাক্ট ক্লাস
- Refactoring: একটি বড় class-এর যে field আর method-গুলো একটি আলাদা দায়িত্ব বহন করে, সেগুলোকে নতুন class-এ সরানো।যেখানে শিখবেন: পর্ব ৪২
- Extract Functionএক্সট্র্যাক্ট ফাংশন
- Refactoring: কোডের একটি অংশ আলাদা function-এ সরিয়ে উদ্দেশ্য বোঝায় এমন নাম দেওয়া আর পুরোনো জায়গায় সেই function ডাকা; প্রথম সংস্করণে Extract Method.যেখানে শিখবেন: পর্ব ৪১পর্ব ৪২পর্ব ৭০
- Extract Variableএক্সট্র্যাক্ট ভ্যারিয়েবল
- Refactoring: জটিল expression-এর একটি অংশকে অর্থবোধক নামের variable-এ রাখা; প্রথম সংস্করণে নাম ছিল Introduce Explaining Variable.যেখানে শিখবেন: পর্ব ৪২
- Extreme Programming (XP)এক্সট্রিম প্রোগ্রামিং
- Kent Beck-এর (১৯৯৯) Agile পদ্ধতি, যা pair programming, test-first, continuous integration আর small release-এর মতো প্রকৌশল অনুশীলনে জোর দেয়।যেখানে শিখবেন: পর্ব ০৫পর্ব ১৭পর্ব ২৬
- Extrinsic stateএক্সট্রিনসিক স্টেট
- প্রতিটি ব্যবহারের প্রসঙ্গে আলাদা অবস্থা, যা flyweight-এ রাখা হয় না, ডাকের সময় বাইরে থেকে দেওয়া হয়, যেমন পাতায় অক্ষরের অবস্থান।যেখানে শিখবেন: পর্ব ৩৪
F
- Facade patternফাসাড প্যাটার্ন
- একটি জটিল subsystem-এর অনেক interface-এর সামনে একটি সহজ, উঁচু স্তরের interface দেওয়া; দরকার হলে ভেতরের অংশ সরাসরি ব্যবহারের পথ খোলা থাকে।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৭০
- Factory Methodফ্যাক্টরি মেথড
- GoF pattern, যেখানে একটি class object বানানোর জন্য একটি method ঘোষণা করে আর কোন concrete class-এর object হবে, তা subclass override করে ঠিক করে; আরেক নাম virtual constructor.যেখানে শিখবেন: পর্ব ৩৩
- Fail fastফেইল ফাস্ট
- ভুল অবস্থা দেখামাত্র স্পষ্টভাবে থেমে যাওয়া বা error তোলা, চুপচাপ ভুল মান নিয়ে এগিয়ে না যাওয়া; এতে ভুল কাছের জায়গায়, সস্তায় ধরা পড়ে।যেখানে শিখবেন: পর্ব ২৬পর্ব ৩১পর্ব ৫৮
- Failed deployment recovery timeফেইলড ডিপ্লয়মেন্ট রিকভারি টাইম
- DORA-র পরের report-গুলোতে time to restore-এর বদলে আসা নাম: শুধু deploy-এর কারণে ঘটা ব্যর্থতা থেকে ফিরতে কত সময় লাগে।যেখানে শিখবেন: পর্ব ৫৯পর্ব ৭০
- Failureফেইলিওর
- Software বাইরে থেকে দেখা যায় এমনভাবে প্রত্যাশিত বা নির্দিষ্ট সেবা দিতে ব্যর্থ হওয়া, যেমন ভুল ফল দেখানো বা বন্ধ হয়ে যাওয়া।যেখানে শিখবেন: পর্ব ০৩পর্ব ৪৫পর্ব ৬৮
- Fakeফেক
- সত্যিই কাজ করে এমন কিন্তু সরল বাস্তবায়ন, যেমন database-এর বদলে memory-র একটি list; সাধারণত test-এ ব্যবহার হয়।যেখানে শিখবেন: পর্ব ২৮পর্ব ৩৭পর্ব ৩৯
- Fake clockফেক ক্লক
- আসল ঘড়ির বদলে test-এর নিয়ন্ত্রণে থাকা ঘড়ি, যার সময় test নিজে থামিয়ে রাখে বা এগিয়ে দেয়; ফলে সত্যি অপেক্ষা না করেই সময়-নির্ভর কোড test করা যায়।যেখানে শিখবেন: পর্ব ৪৯
- Fake it (till you make it)ফেক ইট
- Kent Beck-এর সবুজে পৌঁছানোর কৌশল: প্রথমে test-এর প্রত্যাশিত মানটিই হুবহু ফেরত দেওয়া, তারপর ধাপে ধাপে constant-এর জায়গায় আসল হিসাব বসানো।যেখানে শিখবেন: পর্ব ৪৮
- False failure (false red)ফলস ফেইলিওর
- কোডে কোনো ভুল নেই, তবু test বা build লাল হওয়া; বারবার হলে দল লাল ফলকে বিশ্বাস করা ছেড়ে দেয়।যেখানে শিখবেন: পর্ব ৫১
- False negativeফলস নেগেটিভ
- আসল সমস্যা থাকা সত্ত্বেও tool বা test সেটি ধরতে পারে না; যেমন scanner একটি দুর্বল কিন্তু আসল password চিনতে ব্যর্থ হয়।যেখানে শিখবেন: পর্ব ৫৭পর্ব ৬৪
- False positiveফলস পজিটিভ
- Tool বা test এমন কিছুকে সমস্যা বলে চিহ্নিত করে, যা আসলে সমস্যা নয়; বেশি হলে মানুষ সতর্কবার্তা উপেক্ষা করতে শেখেন।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৫৭পর্ব ৬৪
- Fan-inফ্যান-ইন
- কতগুলো module একটি নির্দিষ্ট module-কে ডাকে বা ব্যবহার করে।যেখানে শিখবেন: পর্ব ২৫
- Fan-outফ্যান-আউট
- একটি module নিজে কতগুলো অন্য module-কে ডাকে বা ব্যবহার করে।যেখানে শিখবেন: পর্ব ২৫
- Fast-forward mergeফাস্ট-ফরওয়ার্ড মার্জ
- বর্তমান branch-এর tip যখন অন্য branch-এর পূর্বপুরুষ, তখন নতুন commit না বানিয়ে শুধু branch pointer-কে সামনে সরিয়ে দেওয়া।যেখানে শিখবেন: পর্ব ১২পর্ব ১৩পর্ব ১৪
- Fast-trackingফাস্ট-ট্র্যাকিং
- ক্রমানুসারে হওয়ার কথা এমন activity-কে আংশিক একসাথে চালিয়ে সময় কমানো; টাকা কম লাগে, কিন্তু আবার কাজ করার ঝুঁকি বাড়ে।যেখানে শিখবেন: পর্ব ৬১
- Fat interfaceফ্যাট ইন্টারফেস
- অনেক ভিন্ন ধরনের client-এর সব method এক জায়গায় জড়ো করা বড় interface; প্রত্যেক client অন্যের প্রয়োজনের সাথেও বাঁধা পড়ে।যেখানে শিখবেন: পর্ব ২৮
- Fat modelফ্যাট মডেল
- Business logic-কে controller-এর বদলে model class-এর method-এ রাখার পরামর্শ; “skinny controller, fat model” কথাটির অংশ, তবে বেশি দূর গেলে model নিজেই বিশাল হয়।যেখানে শিখবেন: পর্ব ৩৯
- Faultফল্ট
- Program-এর ভেতরের ভুল ধাপ, শর্ত বা তথ্য (bug); নির্দিষ্ট ইনপুটে সক্রিয় না হওয়া পর্যন্ত এটি সুপ্ত থাকতে পারে।যেখানে শিখবেন: পর্ব ০৩পর্ব ৪৫পর্ব ৬৮
- Feasibility studyফিজিবিলিটি স্টাডি
- বড় খরচের আগে একটি project প্রযুক্তি, টাকা, ব্যবহার, সময় আর আইনের দিক থেকে করা সম্ভব ও যুক্তিসংগত কি না, তার মূল্যায়ন।যেখানে শিখবেন: পর্ব ২০
- Feature branchফিচার ব্রাঞ্চ
- একটি নির্দিষ্ট নতুন সুবিধা বা কাজের জন্য তৈরি অল্পদিনের branch, কাজ শেষে মূল branch-এ মিশে যায় আর মুছে ফেলা হয়।যেখানে শিখবেন: পর্ব ১২পর্ব ১৪পর্ব ৬৫
- Feature envyফিচার এনভি
- Code smell: একটি method নিজের object-এর চেয়ে অন্য একটি object-এর তথ্য বেশি ব্যবহার করে, যেন সেখানে থাকতে চায়; প্রতিকার সাধারণত Move Function.যেখানে শিখবেন: পর্ব ৪২পর্ব ৭০
- Feature flagফিচার ফ্ল্যাগ
- কোড না বদলেই কোনো সুবিধা চালু বা বন্ধ করার জন্য রাখা একটি সেটিং বা সুইচ।যেখানে শিখবেন: পর্ব ০২পর্ব ১২পর্ব ১৩
- Feature freeze (code freeze)ফিচার ফ্রিজ
- Release-এর আগের সময়, যখন সেই release-এ আর নতুন সুবিধা যোগ হয় না, শুধু bug fix; code freeze-এ সাধারণত আরও কড়া, প্রায় কোনো পরিবর্তনই নয়।যেখানে শিখবেন: পর্ব ১৮
- Feature teamফিচার টিম
- যে দলে সব দরকারি দক্ষতা আছে, তাই একটি ব্যবহারকারী-দৃশ্যমান feature শুরু থেকে শেষ পর্যন্ত একাই বানাতে পারে।যেখানে শিখবেন: পর্ব ৬৩
- Fetchফেচ
- Remote থেকে নতুন commit আর object নামিয়ে শুধু remote-tracking ref (যেমন origin/main) হালনাগাদ করা; local branch, index আর working tree বদলায় না। Git-এ git fetch.যেখানে শিখবেন: পর্ব ১৪পর্ব ১৬পর্ব ৬৯
- FETCH_HEADফেচ হেড
- শেষ git fetch যা নামিয়েছে তার তালিকা রাখা বিশেষ ref-ফাইল; git pull এর not-for-merge চিহ্ন ছাড়া লাইনটিকে merge করে।যেখানে শিখবেন: পর্ব ৫৩
- File mode (Git tree entry)ফাইল মোড
- Tree-র প্রতিটি entry-র ধরনসূচক সংখ্যা: 100644 সাধারণ ফাইল, 100755 চালানো যায় এমন ফাইল, 120000 symbolic link, 040000 ফোল্ডার আর 160000 gitlink.যেখানে শিখবেন: পর্ব ৫২
- File protocolফাইল প্রোটোকল
- Local disk-এর path বা file:// URL দিয়ে repository-র সাথে আদান-প্রদান; ২০২২ সালের নিরাপত্তা-release থেকে submodule-এর মতো স্বয়ংক্রিয় clone-এ এটি ডিফল্টে বন্ধ।যেখানে শিখবেন: পর্ব ১৯
- Finish-to-start (FS) and other dependency typesফিনিশ টু স্টার্ট
- সবচেয়ে প্রচলিত নির্ভরতা: আগেরটি শেষ হলে পরেরটি শুরু। আরও তিনটি ধরন — start-to-start, finish-to-finish আর start-to-finish.যেখানে শিখবেন: পর্ব ৬১
- FIRST (Fast, Independent, Repeatable, Self-validating, Timely)ফার্স্ট
- ভালো unit test-এর পাঁচ গুণ মনে রাখার সংক্ষেপ: দ্রুত, অন্য test থেকে স্বাধীন, যেকোনো জায়গায় বারবার একই ফল, নিজেই pass বা fail জানায়, আর সময়মতো (কোডের সাথে বা আগে) লেখা।যেখানে শিখবেন: পর্ব ৪৬
- First parentফার্স্ট প্যারেন্ট
- Merge commit-এর প্রথম parent — merge-এর সময় যে branch-এ ছিলেন তার আগের tip; git log --first-parent শুধু এই পথ ধরে চলে।যেখানে শিখবেন: পর্ব ০৯পর্ব ১৩পর্ব ১৭
- First-class functionফার্স্ট-ক্লাস ফাংশন
- যে ভাষায় function অন্য যেকোনো মানের মতো variable-এ রাখা, argument-এ পাঠানো আর ফেরত দেওয়া যায়, সেখানে function-কে first-class বলে; JavaScript আর Python-এ তাই।যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৫
- Fit criterionফিট ক্রাইটেরিয়ন
- একটি requirement পূরণ হলো কি না তা মাপার সংখ্যাসহ শর্ত, যেমন ২০০ req/s-এ p95 latency 800 ms-এর কম; Robertson দম্পতির Volere template থেকে জনপ্রিয় শব্দ।যেখানে শিখবেন: পর্ব ২১
- Fixup commitফিক্সআপ কমিট
- git commit --fixup দিয়ে তৈরি commit, যার বার্তা fixup! দিয়ে শুরু; এটি আগের একটি নির্দিষ্ট commit-এর সংশোধন, পরে autosquash-এ তার সাথে মিশে যায়।যেখানে শিখবেন: পর্ব ১৬
- Flag argumentফ্ল্যাগ আর্গুমেন্ট
- এমন boolean parameter, যা function-কে দুই রকম কাজ করতে বলে, যেমন render(report, True); call site-এ অর্থ দেখা যায় না, তাই দুটি function বা Enum ভালো।যেখানে শিখবেন: পর্ব ৪১
- Flaky testফ্লেকি টেস্ট
- যে test কোডে কোনো বদল ছাড়াই কখনো পাস আর কখনো ফেল করে, সাধারণত সময়, random, network বা test-এর ক্রমের ওপর নির্ভরতার কারণে।যেখানে শিখবেন: পর্ব ৪৬পর্ব ৪৯পর্ব ৫১
- Floating-pointফ্লোটিং-পয়েন্ট
- দশমিকসহ খুব ছোট থেকে খুব বড় সংখ্যা রাখার পদ্ধতি, যেখানে অঙ্ক আর ঘাত আলাদা রাখা হয়; যেমন 64-bit double.যেখানে শিখবেন: পর্ব ০২পর্ব ৪৬
- Flow efficiencyফ্লো এফিশিয়েন্সি
- কোনো কাজের lead time-এর মধ্যে কত অংশ সক্রিয়ভাবে কাজ হয়েছে: সক্রিয় সময় ভাগ lead time, সাধারণত শতাংশে।যেখানে শিখবেন: পর্ব ০৬পর্ব ৬৬
- Fluent interfaceফ্লুয়েন্ট ইন্টারফেস
- এমন API যার method একই object (বা একই ধরনের নতুন মান) ফেরত দেয়, তাই কলগুলো বাক্যের মতো শিকলে লেখা যায়, যেমন builder.যেখানে শিখবেন: পর্ব ২৬পর্ব ৩৩
- Fluxফ্লাক্স
- Facebook-এর ২০১৪ সালে প্রকাশ্যে উপস্থাপিত একমুখী data flow-এর নকশা: action, dispatcher, store আর view.যেখানে শিখবেন: পর্ব ৩৯
- Flyweight patternফ্লাইওয়েট প্যাটার্ন
- অনেক ছোট object-এর ভাগযোগ্য অংশ একবার রেখে সবাই মিলে ব্যবহার করে মেমরি বাঁচানোর structural pattern; ভিন্ন অংশ বাইরে থেকে দেওয়া হয়।যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৪
- Focus groupফোকাস গ্রুপ
- একই ধরনের কয়েকজন ব্যবহারকারীকে নিয়ে একজন সঞ্চালকের পরিচালনায় একটি বিষয়ে আলোচনা, মূলত মনোভাব আর পছন্দ বুঝতে।যেখানে শিখবেন: পর্ব ২০
- Follow-up questionফলো-আপ কোয়েশ্চন
- আগের উত্তরের ওপর ভিত্তি করে করা পরের প্রশ্ন, যা এক স্তর গভীরে গিয়ে দেখে বোঝাপড়া কতটা পোক্ত।যেখানে শিখবেন: পর্ব ৬৮পর্ব ৭০
- Force pushফোর্স পুশ
- git push --force দিয়ে remote-এর branch-কে জোর করে নিজের history দিয়ে বদলে দেওয়া; অন্যদের commit মুছে যেতে পারে, তাই shared branch-এ বিপজ্জনক।যেখানে শিখবেন: পর্ব ১১পর্ব ১৪পর্ব ১৫
- --force-if-includesফোর্স ইফ ইনক্লুডস
- --force-with-lease-এর সাথে বাড়তি শর্ত: remote-tracking ref-এর বর্তমান commit আপনার local branch-এর reflog-এর কোনো entry থেকে পৌঁছানো যায় কি না যাচাই করে, যাতে শুধু fetch করে না-দেখা commit মুছে না যায়।যেখানে শিখবেন: পর্ব ১৪পর্ব ৬৯
- --force-with-leaseফোর্স উইথ লিজ
- শর্তসাপেক্ষ force push: remote-এর branch এখনো আপনার জানা commit-এ (সাধারণত আপনার remote-tracking ref-এ) থাকলে তবেই বদলায়, না হলে stale info বলে প্রত্যাখ্যান করে।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৫পর্ব ১৬
- Forces (pattern)ফোর্সেস
- একটি pattern-এর প্রেক্ষাপটে যে চাহিদা বা শর্তগুলো একে অপরকে টানে, যেমন নমনীয়তা বনাম সরলতা; pattern এদের মধ্যে একটি ভারসাম্য খোঁজে।যেখানে শিখবেন: পর্ব ৩২
- Forkফর্ক
- Hosting platform-এ অন্য কারও repository-র নিজের নামে একটি server-side কপি, যেখানে আপনি push করতে পারেন; সেখান থেকে pull request দিয়ে মূল repository-তে কাজ পাঠানো হয়।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৬
- Fork and joinফর্ক আর জয়েন
- Activity diagram-এর মোটা দণ্ড — fork একসাথে একাধিক সমান্তরাল পথ শুরু করে, join সবগুলো শেষ হওয়ার অপেক্ষা করে তবেই এগোয়।যেখানে শিখবেন: পর্ব ২৩পর্ব ৩০
- Formal verificationফর্মাল ভেরিফিকেশন
- গাণিতিক যুক্তি বা proof tool দিয়ে প্রমাণ করা যে একটি program তার নিখুঁত specification সব ইনপুটে মানে; spec নিজে ঠিক কি না, তা এটি বলে না।যেখানে শিখবেন: পর্ব ৪৫
- Formatterফরম্যাটার
- যে tool কোডের চেহারা — indentation, লাইনের দৈর্ঘ্য, উদ্ধৃতি চিহ্ন — একটি নির্দিষ্ট ধাঁচে নিজেই বদলে দেয়, কোডের অর্থ না বদলে; যেমন Prettier, Black.যেখানে শিখবেন: পর্ব ৪৪পর্ব ৫৫
- Forward passফরোয়ার্ড পাস
- শুরু থেকে শেষের দিকে হিসাব: ES = পূর্বসূরিদের EF-এর সর্বোচ্চ, EF = ES + সময়।যেখানে শিখবেন: পর্ব ৬১পর্ব ৬৬
- Forward traceabilityফরোয়ার্ড ট্রেসেবিলিটি
- Requirement থেকে সামনের দিকে নকশা, কোড আর test পর্যন্ত যাওয়ার সংযোগ — প্রতিটি চাহিদা বানানো আর যাচাই হয়েছে কি না দেখায়।যেখানে শিখবেন: পর্ব ২৪
- Found messageফাউন্ড মেসেজ
- যে message-এর প্রেরক অজানা বা diagram-এর বাইরে, যেমন timer বা hardware interrupt; শুরুতে একটি ছোট ভরাট বৃত্ত দিয়ে আঁকা হয়।যেখানে শিখবেন: পর্ব ৩০
- Four-fifths (80%) ruleফোর-ফিফথস রুল
- যুক্তরাষ্ট্রের নিয়োগ-নির্দেশিকা থেকে আসা একটি মোটা দাগের নিয়ম: কোনো গোষ্ঠীর selection rate সবচেয়ে বেশি হারের ৪/৫-এর কম হলে disparate impact-এর সতর্কসংকেত ধরা হয়; প্রমাণ নয়, আরও যাচাইয়ের ডাক।যেখানে শিখবেন: পর্ব ৬৪
- Fragile base classফ্র্যাজাইল বেস ক্লাস
- Base class-এর ভেতরের নিরীহ মনে হওয়া বদলে subclass ভেঙে যাওয়ার সমস্যা, কারণ subclass parent-এর ভেতরের খুঁটিনাটির ওপর নির্ভর করে।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৭
- Fragile testফ্র্যাজাইল টেস্ট
- যে test আচরণ ঠিক থাকলেও কোডের অপ্রাসঙ্গিক বদলে (বিন্যাস, ভেতরের গঠন, ডাকার ক্রম) ভেঙে যায়।যেখানে শিখবেন: পর্ব ৪৬
- Framework activityফ্রেমওয়ার্ক অ্যাক্টিভিটি
- প্রায় সব software project-এ থাকা মৌলিক কাজ — communication, planning, modeling, construction আর deployment; মডেলভেদে এদের ক্রম আর পুনরাবৃত্তি বদলায়।যেখানে শিখবেন: পর্ব ০৪
- Free floatফ্রি ফ্লোট
- কোনো উত্তরসূরির ES না পিছিয়ে একটি activity কত দিন দেরি করতে পারে: উত্তরসূরিদের সর্বনিম্ন ES − নিজের EF.যেখানে শিখবেন: পর্ব ৬১পর্ব ৬৬
- Free softwareফ্রি সফটওয়্যার
- FSF-এর সংজ্ঞায় যে software ব্যবহারকারীকে চারটি স্বাধীনতা দেয়: চালানো, পড়ে বদলানো, কপি বিতরণ আর পরিবর্তিত কপি বিতরণ; free মানে স্বাধীনতা, দাম নয়।যেখানে শিখবেন: পর্ব ৬৩
- Free Software Foundation (FSF)ফ্রি সফটওয়্যার ফাউন্ডেশন
- Richard Stallman-এর ১৯৮৫ সালে গড়া প্রতিষ্ঠান, যা free software-এর চার স্বাধীনতার পক্ষে কাজ করে আর GPL পরিবারের license প্রকাশ করে।যেখানে শিখবেন: পর্ব ৬৩
- Function point (FP)ফাংশন পয়েন্ট
- ব্যবহারকারীর দৃষ্টিতে system কী কাজ দেয় তা দিয়ে software-এর আকার মাপার একক; Allan Albrecht (IBM, ১৯৭৯) প্রস্তাব করেন, এখন IFPUG নিয়ম রক্ষা করে।যেখানে শিখবেন: পর্ব ৬০পর্ব ৬৬
- Functional cohesionফাংশনাল কোহেশন
- সবচেয়ে ভালো cohesion: module-এর সব অংশ মিলে ঠিক একটি সুনির্দিষ্ট কাজ করে, যা এক বাক্যে বলা যায়।যেখানে শিখবেন: পর্ব ২৫
- Functional requirementফাংশনাল রিকোয়ারমেন্ট
- System কী করবে তা বলে এমন requirement — কোন ইনপুটে কোন আচরণ ও আউটপুট, কোন ব্যবসায়িক নিয়ম মেনে; যেমন বুকিং নিশ্চিত হলে রোগীকে SMS পাঠানো।যেখানে শিখবেন: পর্ব ২১পর্ব ৩৮পর্ব ৬৮
- Functional suitabilityফাংশনাল সুটেবিলিটি
- Software যা করার কথা তা পুরোপুরি, সঠিকভাবে আর উপযুক্ত উপায়ে করে কি না — completeness, correctness আর appropriateness.যেখানে শিখবেন: পর্ব ০৩
- Functional testingফাংশনাল টেস্টিং
- System কী করে — নিয়ম আর requirement মেনে ঠিক ফল দেয় কি না — তার যাচাই।যেখানে শিখবেন: পর্ব ৪৫
- functools.singledispatchসিঙ্গেলডিসপ্যাচ
- Python ৩.৪ থেকে থাকা standard library-র decorator, যা প্রথম argument-এর type দেখে একই নামের function-এর আলাদা রূপ বাছাই করে।যেখানে শিখবেন: পর্ব ৩৬
G
- Gang of Four (GoF)গ্যাং অব ফোর
- Erich Gamma, Richard Helm, Ralph Johnson আর John Vlissides — ১৯৯৪ সালের Design Patterns বইয়ের চার লেখকের ডাকনাম; বইটিতে ২৩টি object-oriented design pattern আছে।যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৩পর্ব ৩৪
- Gantt chartগ্যান্ট চার্ট
- সময়ের অক্ষে প্রতিটি activity-কে একটি আড়াআড়ি দণ্ড হিসেবে দেখানো schedule-এর ছবি, সাথে milestone আর নির্ভরতা।যেখানে শিখবেন: পর্ব ৬১
- Garbage collection (git gc)গার্বেজ কালেকশন
- Git-এর পরিষ্কারের কাজ, যা পুরোনো reflog-এর ঘর আর কোথাও থেকে পৌঁছানো যায় না এমন পুরোনো object মুছে জায়গা খালি করে।যেখানে শিখবেন: পর্ব ১২পর্ব ১৫পর্ব ৫২
- GDPRজিডিপিআর
- General Data Protection Regulation — ইউরোপীয় ইউনিয়নের data সুরক্ষা আইন, ২০১৬ সালে গৃহীত, ২০১৮ সালের মে থেকে প্রযোজ্য; বিশ্বজুড়ে বহু আইনের আদর্শ হিসেবে উল্লেখ করা হয়।যেখানে শিখবেন: পর্ব ৬৪
- General system characteristics (GSC)জেনারেল সিস্টেম ক্যারেক্টারিস্টিকস
- Performance, online data entry, reusability-র মতো ১৪টি সাধারণ বৈশিষ্ট্য, প্রতিটিকে ০ থেকে ৫ রেটিং দিয়ে VAF হিসাব করা হয়।যেখানে শিখবেন: পর্ব ৬০
- Generalizationজেনারেলাইজেশন
- সাধারণ আর বিশেষ রূপের সম্পর্ক, যেখানে বিশেষটি সাধারণটির সব বৈশিষ্ট্য পায়; UML-এ ফাঁপা ত্রিভুজের তীর, ত্রিভুজ সাধারণটির দিকে।যেখানে শিখবেন: পর্ব ২৩পর্ব ২৯পর্ব ৩২
- Generatorজেনারেটর
- যে function yield দিয়ে একটি করে মান দেয় আর প্রতিবার সেখানেই থেমে থাকে, পরের মান চাইলে আবার চলে; লিখতে সহজ একটি iterator.যেখানে শিখবেন: পর্ব ৩৬পর্ব ৩৮
- Gherkinগারকিন
- Feature, Scenario, Given, When, Then ধরনের keyword দিয়ে আচরণের উদাহরণ লেখার সরল ভাষা, যা Cucumber-এর মতো tool পড়ে স্বয়ংক্রিয় test চালাতে পারে।যেখানে শিখবেন: পর্ব ২২পর্ব ৪৮
- Gitগিট
- Linus Torvalds-এর ২০০৫ সালে তৈরি distributed version control system; আজ software দলের সবচেয়ে প্রচলিত version control টুল।যেখানে শিখবেন: পর্ব ০১পর্ব ০৭পর্ব ১২
- Git aliasগিট অ্যালিয়াস
- লম্বা Git command-এর জন্য নিজের বানানো ছোট নাম, যা config-এ alias.নাম হিসেবে থাকে; যেমন alias.lg থাকলে git lg লিখলেই পুরো log command চলে।যেখানে শিখবেন: পর্ব ১০পর্ব ৫৬
- git amগিট এ-এম
- Email-আকারের patch ফাইল (mailbox) পড়ে প্রতিটি থেকে commit তৈরি করার command; author থাকে patch-এর লেখক, committer হন যিনি চালালেন।যেখানে শিখবেন: পর্ব ১৬
- git archiveগিট আর্কাইভ
- একটি commit বা tag-এর file-গুলো tar বা zip file-এ ভরার command; এতে .git ফোল্ডার বা ইতিহাস থাকে না, শুধু সেই মুহূর্তের file-গুলো থাকে।যেখানে শিখবেন: পর্ব ৫৬
- git bisectগিট বাইসেক্ট
- একটি ভালো আর একটি খারাপ commit-এর মাঝে binary search চালিয়ে কোন commit-এ প্রথম bug ঢুকেছে তা খুঁজে বের করার Git command.যেখানে শিখবেন: পর্ব ১৫পর্ব ১৬পর্ব ৬৬
- git bisect runগিট বাইসেক্ট রান
- প্রতিটি checkout-এ একটি script চালিয়ে তার exit code দেখে Git নিজেই ভালো, খারাপ বা skip রায় দেয় — হাতে রায় ছাড়া স্বয়ংক্রিয় bisect.যেখানে শিখবেন: পর্ব ৫৫পর্ব ৬৫পর্ব ৬৯
- git blameগিট ব্লেম
- একটি file-এর প্রতিটি লাইনের পাশে দেখায় শেষবার কোন commit আর কোন লেখক সেই লাইন বদলেছেন; --ignore-revs-file দিয়ে নির্দিষ্ট commit বাদ দেওয়া যায়।যেখানে শিখবেন: পর্ব ৪১পর্ব ৫৫
- git bundleগিট বান্ডল
- Commit, object আর ref একটি মাত্র file-এ ভরে রাখার command; network ছাড়া (যেমন pen drive-এ) repository পাঠাতে আর সেই file থেকে clone বা fetch করতে কাজে লাগে।যেখানে শিখবেন: পর্ব ৫৬
- git cherry-pickচেরি-পিক
- অন্য জায়গার একটি commit-এর পরিবর্তন বর্তমান branch-এর মাথায় নতুন commit হিসেবে বসানো; rebase আসলে ক্রমানুসারে কয়েকটি cherry-pick.যেখানে শিখবেন: পর্ব ১৫পর্ব ১৭পর্ব ৫৬
- git cleanগিট ক্লিন
- Working tree থেকে untracked ফাইল মোছার command; -n শুধু দেখায়, -f মোছে, -d ফোল্ডারও ধরে, -x ignore করা ফাইলও মোছে।যেখানে শিখবেন: পর্ব ১১পর্ব ৫৬
- git commit --amendগিট কমিট অ্যামেন্ড
- শেষ commit-এর জায়গায় একটি নতুন commit বানানো, যাতে বার্তা বা বিষয়বস্তু ঠিক করা যায়; নতুন commit-এর ID আলাদা হয়।যেখানে শিখবেন: পর্ব ১১
- git configগিট কনফিগ
- Git-এর সেটিং পড়া ও বদলানোর command; --global দিলে সেটিং আপনার ব্যবহারকারী-অ্যাকাউন্টের সব repository-তে খাটে।যেখানে শিখবেন: পর্ব ১০
- git describeগিট ডিসক্রাইব
- একটি commit-কে সবচেয়ে কাছের annotated tag (ডিফল্টে) দিয়ে নাম দেওয়ার command; যেমন v1.1.0-2-g9bc3d2d মানে tag-এর পরে ২টি commit, আর শেষে বর্তমান commit-এর ছোট hash থাকে।যেখানে শিখবেন: পর্ব ১৮পর্ব ৬৫
- git filter-repoগিট ফিল্টার-রিপো
- পুরো Git history নতুন করে লেখার একটি আলাদা Python tool, যা দিয়ে কোনো ফাইল বা লেখা সব commit থেকে সরানো যায়; Git-এর documentation filter-branch-এর বদলে এটি সুপারিশ করে।যেখানে শিখবেন: পর্ব ৫৭পর্ব ৬৯
- Git Flowগিট ফ্লো
- Vincent Driessen-এর ২০১০ সালের branching মডেল: স্থায়ী main আর develop, আর অস্থায়ী feature, release ও hotfix branch; নির্ধারিত release-এর version-যুক্ত software-এর জন্য বানানো।যেখানে শিখবেন: পর্ব ১৭পর্ব ৬৮পর্ব ৬৯
- git for-each-refগিট ফর-ইচ-রেফ
- সব বা নির্দিষ্ট ধরনের ref-এর তালিকা দেখানোর command, যেখানে --format দিয়ে refname, objectname, subject, তারিখের মতো ঘর নিজের মতো সাজানো আর --sort দিয়ে সাজানো যায়।যেখানে শিখবেন: পর্ব ৫৩
- git format-patchগিট ফরম্যাট-প্যাচ
- প্রতিটি commit-কে email-আকারের একটি patch ফাইলে লেখার command, যাতে লেখক, তারিখ, বার্তা আর diff থাকে; mailing list-এ পাঠানোর জন্য।যেখানে শিখবেন: পর্ব ১৬
- git fsckগিট এফসিকে
- Repository-র object-গুলোর সংযোগ আর শুদ্ধতা যাচাইয়ের command; --unreachable, --dangling আর --lost-found দিয়ে হারানো object খুঁজতেও কাজে লাগে।যেখানে শিখবেন: পর্ব ৫৩
- git gc --autoগিট জিসি অটো
- কিছু সাধারণ command-এর শেষে Git নিজে যে হালকা পরীক্ষা চালায়: loose object বা pack-এর সংখ্যা সীমা (gc.auto, gc.autoPackLimit) ছাড়ালে তবেই পূর্ণ gc চলে।যেখানে শিখবেন: পর্ব ৫৩
- git grepগিট গ্রেপ
- Git-এর চেনা ফাইলে, বা যেকোনো পুরোনো revision-এর snapshot-এ checkout না করেই, লেখা বা regex খোঁজার command.যেখানে শিখবেন: পর্ব ৫৫
- Git hookগিট হুক
- Commit, push, checkout বা server-এ push গ্রহণের মতো নির্দিষ্ট মুহূর্তে Git নিজে যে script চালায়; কিছু hook-এর exit code শূন্য না হলে Git কাজটি থামিয়ে দেয়।যেখানে শিখবেন: পর্ব ৫৬পর্ব ৬৯
- Git hosting platformগিট হোস্টিং প্ল্যাটফর্ম
- Git repository অনলাইনে রাখার সেবা, সাথে pull request, issue, review আর CI-র মতো দলের কাজের সুবিধা; যেমন GitHub, GitLab, Bitbucket.যেখানে শিখবেন: পর্ব ০৭পর্ব ১৪পর্ব ১৬
- Git LFS (Large File Storage)গিট এলএফএস
- বড় binary file-এর জন্য Git-এর একটি extension, যা repository-তে শুধু ছোট একটি pointer file রাখে আর আসল বড় file আলাদা server-এ জমা রাখে।যেখানে শিখবেন: পর্ব ১০পর্ব ১৯পর্ব ৬৯
- git log -Lগিট লগ ড্যাশ এল
- একটি নির্দিষ্ট লাইন-পরিসর বা function ধরে history-তে পেছনে হেঁটে শুধু সেই অংশ বদলানো commit আর তাদের diff দেখানো।যেখানে শিখবেন: পর্ব ৫৫
- git maintenanceগিট মেইনটেন্যান্স
- Repository-র রক্ষণাবেক্ষণের কাজ, যেমন commit-graph লেখা, loose object pack করা আর আগাম fetch, নির্দিষ্ট সময়ে পেছনে চালানোর Git command.যেখানে শিখবেন: পর্ব ১৯পর্ব ৫৬
- git merge-fileগিট মার্জ-ফাইল
- Repository বা commit ছাড়াই যেকোনো তিনটি ফাইলের (ours, base, theirs) three-way merge করার command; ফল ours ফাইলে লেখে বা -p দিলে পর্দায় দেখায়।যেখানে শিখবেন: পর্ব ৫৪
- git merge-tree --write-treeগিট মার্জ-ট্রি
- Working tree আর index না ছুঁয়ে দুটি commit-এর merge হিসাব করে ফলের tree object-এর hash আর conflict-এর তালিকা দেওয়ার plumbing command; server বা bot-এ merge যাচাইয়ের জন্য উপযোগী।যেখানে শিখবেন: পর্ব ৫৪
- git mergetoolগিট মার্জটুল
- Conflict থাকা ফাইলগুলো একটি বাইরের তুলনা-টুলে (যেমন vimdiff, meld বা কোনো editor) খুলে দেওয়ার Git command.যেখানে শিখবেন: পর্ব ১৩
- git notesগিট নোটস
- Commit না বদলে তার সাথে আলাদা টীকা জুড়ে দেওয়ার ব্যবস্থা; টীকাগুলো refs/notes/commits নামের নিজস্ব ref-এর history-তে থাকে।যেখানে শিখবেন: পর্ব ৫৩পর্ব ৫৬
- git pruneগিট প্রুন
- পৌঁছানো যায় না এমন loose object সত্যিই মুছে ফেলার নিচু-স্তরের command; সাধারণত সরাসরি নয়, git gc-এর ভেতর দিয়ে gc.pruneExpire সময়সীমা মেনে চলে।যেখানে শিখবেন: পর্ব ৫৩
- git range-diffরেঞ্জ-ডিফ
- দুই সারি commit, যেমন rebase-এর আগের আর পরের, জোড়ায় জোড়ায় মিলিয়ে দেখায় কোনটি হুবহু এক, কোনটি বদলেছে আর কোনটি নতুন বা বাদ।যেখানে শিখবেন: পর্ব ১৫
- git rebase --ontoরিবেস অনটু
- যে rebase-এ নতুন base আলাদা করে বলা হয়: git rebase --onto <নতুন-base> <পুরোনো-base> <branch> পুরোনো-base-এর পরের commit থেকে branch-এর মাথা পর্যন্ত commit-গুলো নতুন-base-এর ওপর replay করে।যেখানে শিখবেন: পর্ব ১৫
- git reflog expireগিট রেফলগ এক্সপায়ার
- নির্দিষ্ট বয়সের চেয়ে পুরোনো reflog entry ছেঁটে ফেলার command; ডিফল্ট সীমা gc.reflogExpire (৯০ দিন) আর পৌঁছানো যায় না এমন entry-র জন্য gc.reflogExpireUnreachable (৩০ দিন)।যেখানে শিখবেন: পর্ব ৫৩
- git request-pullগিট রিকোয়েস্ট-পুল
- কোনো base commit-এর পরের কাজ কোন repository-র কোন branch থেকে pull করা যাবে, তার সারাংশসহ একটি অনুরোধের লেখা ছাপার command; নিজে কিছু পাঠায় না।যেখানে শিখবেন: পর্ব ১৬
- git resetগিট রিসেট
- বর্তমান branch-কে অন্য commit-এ সরানোর command; --soft শুধু branch, --mixed (ডিফল্ট) branch আর index, --hard working tree-ও বদলায়।যেখানে শিখবেন: পর্ব ১১পর্ব ৬৭পর্ব ৬৯
- git reset --keepগিট রিসেট কিপ
- --hard-এর মতো branch, index আর working tree সরায়, কিন্তু যে file-এ commit না করা বদল আছে আর লক্ষ্য commit-এ যার রূপ আলাদা, সেখানে কিছু না বদলে থেমে যায় — তাই কাজ হারানোর ঝুঁকি কম।যেখানে শিখবেন: পর্ব ৬৯
- git restoreগিট রিস্টোর
- ফাইলকে index বা কোনো commit-এর লেখা দিয়ে আবার লেখার command; --staged দিলে index বদলায়, না দিলে working tree — Git ২.২৩ (২০১৯) থেকে আছে।যেখানে শিখবেন: পর্ব ১১
- git rev-parseরেভ-পার্স
- যে plumbing command branch, tag, HEAD~2 বা HEAD:path-এর মতো যেকোনো নামকে পূর্ণ object ID-তে অনুবাদ করে; script-এ ref পড়ার নিরাপদ উপায়।যেখানে শিখবেন: পর্ব ৫২
- git revertগিট রিভার্ট
- একটি commit-এর ঠিক উল্টো পরিবর্তন দিয়ে নতুন commit বানানো; পুরোনো history না বদলে ভুল উল্টায়, তাই শেয়ার করা branch-এ নিরাপদ।যেখানে শিখবেন: পর্ব ১১পর্ব ৩৫পর্ব ৫৮
- git shortlogগিট শর্টলগ
- লেখক ধরে commit-এর সারাংশ দেখানোর Git command; -sn দিলে শুধু প্রত্যেকের commit-এর সংখ্যা, বড় থেকে ছোট ক্রমে।যেখানে শিখবেন: পর্ব ৬৫
- git subtreeগিট সাবট্রি
- অন্য repository-র কোড আর ইতিহাস merge করে নিজের repository-র একটি folder-এ বসানোর contrib command; clone-এ কোনো বিশেষ ধাপ লাগে না।যেখানে শিখবেন: পর্ব ১৯
- git update-refগিট আপডেট-রেফ
- একটি ref-কে সরাসরি কোনো hash-এ বসানো, মোছা (-d) বা পুরোনো মান মিলিয়ে নিরাপদে বদলানোর নিচু-স্তরের command; reflog-এও লেখে।যেখানে শিখবেন: পর্ব ৫৩
- git worktreeগিট ওয়ার্কট্রি
- একই repository-র জন্য একাধিক working tree (আলাদা folder) খোলার command; সব folder একই object store আর ref ভাগ করে, কিন্তু প্রতিটির নিজের HEAD আর index থাকে।যেখানে শিখবেন: পর্ব ৫৬পর্ব ৬৯
- .git-blame-ignore-revsগিট ব্লেম ইগনোর রেভস
- যেসব commit, যেমন শুধু formatting-এর commit, blame-এ উপেক্ষা করা হবে তাদের পুরো hash-এর তালিকা রাখার প্রচলিত ফাইল; blame.ignoreRevsFile config বা --ignore-revs-file দিয়ে ব্যবহার হয়।যেখানে শিখবেন: পর্ব ৫৫
- .git/lost-foundলস্ট-ফাউন্ড
- git fsck --lost-found যে ফোল্ডারে dangling object লিখে দেয়: commit-এর নাম commit/ ফোল্ডারে, আর blob-এর পুরো লেখা other/ ফোল্ডারে ফাইল হিসেবে।যেখানে শিখবেন: পর্ব ৫৩
- .git/rr-cacheআর-আর-ক্যাশ
- rerere-এর খাতা: প্রতিটি conflict-এর normalized রূপের hash-নামের একটি folder, যার ভেতরে preimage (conflict-এর চেহারা) আর postimage (আপনার সমাধান) ফাইল থাকে।যেখানে শিখবেন: পর্ব ৫৪
- .gitattributesগিট-অ্যাট্রিবিউটস
- Repository-তে commit করা একটি file, যা path-এর pattern ধরে Git-কে বলে কোন file text আর কোনটি binary, কোন line ending-এ checkout হবে, কোন diff বা merge পদ্ধতি চলবে — নিয়মটি পুরো দলের জন্য একই থাকে।যেখানে শিখবেন: পর্ব ১০পর্ব ১৯পর্ব ৫৪
- GitHubগিটহাব
- ২০০৮ সালে চালু হওয়া একটি Git hosting platform, ২০১৮ থেকে Microsoft-এর মালিকানায়; Git নিজে নয়, Git-এর ওপর গড়া একটি সেবা।যেখানে শিখবেন: পর্ব ০৭
- GitHub Actionsগিটহাব অ্যাকশনস
- GitHub-এর নিজস্ব CI/CD ব্যবস্থা, যেখানে repository-র ভেতরের YAML workflow ঘটনা ধরে runner-এ job চালায়; অন্যদের লেখা action পুনর্ব্যবহার করা যায়।যেখানে শিখবেন: পর্ব ৫৮
- GitHub Flowগিটহাব ফ্লো
- সরল workflow: main সবসময় deploy-যোগ্য, main থেকে ছোট branch, pull request-এ review, তারপর merge আর deploy; Scott Chacon ২০১১ সালে বর্ণনা করেন।যেখানে শিখবেন: পর্ব ১৭পর্ব ৬৯
- .gitignoreগিট-ইগনোর
- Repository-তে রাখা একটি সাধারণ text file, যার প্রতিটি লাইনে একটি pattern থাকে; যে untracked file এই pattern-এ মেলে, Git সেটিকে status-এ দেখায় না আর git add দিয়েও যোগ করে না। আগে থেকে track হওয়া file-এর ওপর এর কোনো প্রভাব নেই।যেখানে শিখবেন: পর্ব ১০পর্ব ৫৭পর্ব ৬৫
- .gitkeepগিট-কিপ
- খালি ফোল্ডার Git-এ রাখার জন্য তার ভেতরে রাখা একটি ফাঁকা ফাইলের প্রচলিত নাম; এটি শুধু প্রথা, Git-এর কোনো বিশেষ নিয়ম নয়।যেখানে শিখবেন: পর্ব ০৮
- GitLab CI/CDগিটল্যাব সিআই
- GitLab-এর নিজস্ব CI/CD ব্যবস্থা; repository-র মূলে রাখা .gitlab-ci.yml file-এ stage, job, script আর rules লেখা হয়।যেখানে শিখবেন: পর্ব ৫৮
- GitLab Flowগিটল্যাব ফ্লো
- GitLab-এর প্রস্তাবিত workflow, যা GitHub Flow-এর সাথে দরকার অনুযায়ী environment branch বা release branch যোগ করে; merge একমুখী আর fix আগে main-এ।যেখানে শিখবেন: পর্ব ১৭
- Gitlinkগিটলিংক
- Tree-র mode 160000-এর একটি বিশেষ entry, যা কোনো file নয়, একটি submodule-এর নির্দিষ্ট commit-এর hash ধরে রাখে।যেখানে শিখবেন: পর্ব ১৯পর্ব ৫২
- .gitmodulesডট গিটমডিউলস
- Superproject-এর root-এ commit করা একটি file, যেখানে প্রতিটি submodule-এর path আর URL লেখা থাকে, যাতে অন্যরা clone করে একই submodule আনতে পারেন।যেখানে শিখবেন: পর্ব ১৯
- GitOpsগিটঅপস
- System-এর কাঙ্ক্ষিত অবস্থা declarative file হিসেবে Git-এ রাখা, আর একটি স্বয়ংক্রিয় agent নিয়মিত আসল অবস্থাকে সেই বর্ণনার সাথে মিলিয়ে রাখে — এমন কাজের ধারা।যেখানে শিখবেন: পর্ব ৫৯
- Given-When-Thenগিভেন-হোয়েন-দেন
- একটি উদাহরণকে তিন ভাগে লেখার ছাঁচ: Given (শুরুর অবস্থা), When (ঘটনা বা কাজ), Then (প্রত্যাশিত ফল)।যেখানে শিখবেন: পর্ব ২২পর্ব ৪৬পর্ব ৪৮
- Glob patternগ্লব প্যাটার্ন
- File-এর নাম মেলানোর ছোট একটি ভাষা, যেখানে * মানে / ছাড়া যেকোনো কিছু, ? মানে / ছাড়া যেকোনো একটি অক্ষর আর [a-z] মানে বন্ধনীর ভেতরের যেকোনো একটি অক্ষর; regular expression-এর চেয়ে অনেক সরল।যেখানে শিখবেন: পর্ব ১০
- Global stateগ্লোবাল স্টেট
- প্রোগ্রামের যেকোনো জায়গা থেকে পড়া ও বদলানো যায় এমন অবস্থা; কে কখন বদলাল বোঝা কঠিন হয় আর test একটি আরেকটির ওপর প্রভাব ফেলে।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৫১পর্ব ৭০
- Global variableগ্লোবাল ভ্যারিয়েবল
- যে variable প্রোগ্রামের যেকোনো জায়গা থেকে পড়া ও বদলানো যায়; common coupling-এর সাধারণ উৎস।যেখানে শিখবেন: পর্ব ২৫পর্ব ৩৩
- Goal levelগোল লেভেল
- Use case-এর লক্ষ্য কত উঁচু স্তরের: summary (কয়েকটি বসার কাজ মিলিয়ে), user-goal (এক বসায় শেষ হয় এমন কাজ) বা subfunction (অন্যের অংশ)।যেখানে শিখবেন: পর্ব ২২
- Goal–Question–Metric (GQM)জিকিউএম
- Basili ও সহকর্মীদের পদ্ধতি: আগে লক্ষ্য, তারপর লক্ষ্য বুঝতে প্রশ্ন, তারপর প্রতিটি প্রশ্নের উত্তর দিতে metric বাছা।যেখানে শিখবেন: পর্ব ৬২
- God classগড ক্লাস
- যে class অনেক দলের অনেক দায়িত্ব একাই বহন করে, বিশাল আর সবকিছুর সাথে জড়ানো; SRP লঙ্ঘনের চরম রূপ।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩২পর্ব ৩৬
- Gold-platingগোল্ড-প্লেটিং
- কেউ চাননি এমন বাড়তি feature বা সাজসজ্জা দল নিজে থেকে যোগ করা, যাতে সময় নষ্ট হয় আর নতুন bug ও অপরিকল্পিত test আসে।যেখানে শিখবেন: পর্ব ২৪
- Golden hammerগোল্ডেন হ্যামার
- একটি anti-pattern: একটি পরিচিত প্রযুক্তি বা pattern প্রয়োজন থাকুক বা না থাকুক, সব সমস্যায় চাপানো; “হাতে হাতুড়ি থাকলে সবকিছু পেরেক মনে হয়” প্রবাদ থেকে।যেখানে শিখবেন: পর্ব ৩২পর্ব ৭০
- Golden masterগোল্ডেন মাস্টার
- অনেক input-এ পুরোনো কোডের ফল একবারে রেকর্ড করে রাখা, তারপর বদলানো কোডের ফল তার সাথে মেলানো; snapshot বা approval testing-এর কাছাকাছি কৌশল।যেখানে শিখবেন: পর্ব ৪২পর্ব ৪৩পর্ব ৭০
- Golden rule of rebasingরিবেসের সোনালি নিয়ম
- অন্যরা যে commit-এর ওপর কাজ করছেন বা করতে পারেন, অর্থাৎ প্রকাশিত shared branch-এর commit, সেগুলো কখনো rebase না করার নিয়ম।যেখানে শিখবেন: পর্ব ১৫পর্ব ৬৯
- Good first issueগুড ফার্স্ট ইস্যু
- Maintainer-দের দেওয়া একটি লেবেল, যা বোঝায় issue-টি ছোট আর স্পষ্ট, নতুন অবদানকারীর প্রথম কাজ হিসেবে উপযোগী।যেখানে শিখবেন: পর্ব ৬৩
- Goodhart’s lawগুডহার্টের সূত্র
- যখন কোনো মাপ লক্ষ্যে পরিণত হয়, তখন মানুষ মাপটিকেই অপ্টিমাইজ করে আর সেটি আর ভালো মাপ থাকে না; Charles Goodhart-এর (১৯৭৫) পর্যবেক্ষণ থেকে।যেখানে শিখবেন: পর্ব ৫০পর্ব ৫৯পর্ব ৬০
- goto statementগো-টু স্টেটমেন্ট
- প্রোগ্রামের এক জায়গা থেকে লেবেল দেওয়া অন্য যেকোনো জায়গায় সরাসরি লাফ দেওয়ার নির্দেশ; বেশি ব্যবহারে কোড জট পাকিয়ে যায়।যেখানে শিখবেন: পর্ব ০২
- Governance modelগভর্ন্যান্স মডেল
- একটি project-এ কে সিদ্ধান্ত নেন, কীভাবে কেউ maintainer হন আর মতবিরোধ কীভাবে মেটে, তার লিখিত নিয়ম।যেখানে শিখবেন: পর্ব ৬৩
- GPG (GnuPG)জিপিজি
- OpenPGP মানের একটি বিনামূল্যের এনক্রিপশন ও স্বাক্ষরের tool; Git-এর default স্বাক্ষর-ব্যবস্থা এটি দিয়েই চলে।যেখানে শিখবেন: পর্ব ৫৭
- Green softwareগ্রিন সফটওয়্যার
- কম শক্তি আর কম hardware খরচে একই কাজ করার জন্য নকশা করা software; পরিবেশের ওপর software-এর প্রভাব মাপা আর কমানোর চর্চা।যেখানে শিখবেন: পর্ব ৬৪
- Grey-box testingগ্রে-বক্স টেস্টিং
- ভেতরের আংশিক জ্ঞান, যেমন database-এর গঠন বা API-র contract, দিয়ে test বানানো কিন্তু বাইরের interface দিয়ে চালানো।যেখানে শিখবেন: পর্ব ৪৫
- Guard clauseগার্ড ক্লজ
- Function-এর শুরুতে অবৈধ বা বিশেষ অবস্থা যাচাই করে সঙ্গে সঙ্গে return বা throw করা, যাতে মূল কাজ গভীর nesting ছাড়া লেখা যায়।যেখানে শিখবেন: পর্ব ৪১
- Guard conditionগার্ড কন্ডিশন
- Transition বা decision-এর বন্ধনীতে লেখা শর্ত; event এলেও শর্ত মিথ্যা হলে সেই পথে যাওয়া হয় না।যেখানে শিখবেন: পর্ব ২৩পর্ব ৩০পর্ব ৩৬
- GUI clientজিইউআই ক্লায়েন্ট
- বাটন, তালিকা আর ছবি দিয়ে Git ব্যবহারের প্রোগ্রাম; ভেতরে সাধারণত সেই একই Git command-ই চলে।যেখানে শিখবেন: পর্ব ০৭
H
- Hallucination (AI)হ্যালুসিনেশন
- AI model-এর আত্মবিশ্বাসের সাথে বানানো, কিন্তু ভুল বা অস্তিত্বহীন তথ্য দেওয়া — যেমন না-থাকা function, flag, মামলা বা মানদণ্ডের নাম।যেখানে শিখবেন: পর্ব ৬৪
- Happy pathহ্যাপি পাথ
- কোনো ভুল বা ব্যতিক্রম ছাড়া কাজ শেষ হওয়ার সাধারণ পথ; এর উল্টো ভুল বা ব্যর্থতার পথকে unhappy path বলে।যেখানে শিখবেন: পর্ব ২২পর্ব ৪১
- Hardened SHA-1 (SHA-1DC)হার্ডেনড শা-ওয়ান
- Collision ধরার ব্যবস্থাসহ SHA-1; সাধারণ ডেটায় সাধারণ SHA-1-এর হুবহু ফল দেয়, কিন্তু collision-আক্রমণের ছাপ পেলে থেমে যায়; Git ২.১৩ থেকে default.যেখানে শিখবেন: পর্ব ৫২
- Hash collisionহ্যাশ কলিশন
- দুটি আলাদা input-এর একই hash হওয়া; cryptographic hash-এ ইচ্ছা করে collision বানানো কার্যত অসম্ভব হওয়ার কথা, যা SHA-1-এর ক্ষেত্রে আর সত্য নয়।যেখানে শিখবেন: পর্ব ৫২পর্ব ৫৭
- Hash functionহ্যাশ ফাংশন
- যেকোনো আকারের data থেকে একটি নির্দিষ্ট দৈর্ঘ্যের ছোট সংখ্যা বা লেখা তৈরির নিয়ম; একই data থেকে সবসময় একই hash আসে।যেখানে শিখবেন: পর্ব ০৭পর্ব ০৮পর্ব ৫২
- HEADহেড
- Git-এর একটি বিশেষ নির্দেশক, যা দেখায় আপনি এখন কোন commit-এর ওপর কাজ করছেন; সাধারণত বর্তমান branch-এর মাধ্যমে তার শেষ commit-এর দিকে নির্দেশ করে।যেখানে শিখবেন: পর্ব ০৮পর্ব ০৯পর্ব ১১
- Hermetic testহারমেটিক টেস্ট
- বাইরের network, ঘড়ি বা ভাগ করা পরিবেশের ওপর নির্ভর না করে নিজের দরকারি সব কিছু নিজেই সাজিয়ে নেয় এমন test, ফলে যেকোনো যন্ত্রে একই ফল দেয়।যেখানে শিখবেন: পর্ব ৫১পর্ব ৫৮
- Hexagonal architecture (Ports and Adapters)হেক্সাগোনাল আর্কিটেকচার
- Alistair Cockburn-এর বর্ণিত architecture: কেন্দ্রে application core, আর বাইরের জগতের (UI, database, test) সাথে সব কথা core-এর নিজের সংজ্ঞা দেওয়া port আর বদলানো যায় এমন adapter দিয়ে।যেখানে শিখবেন: পর্ব ৪০পর্ব ৪৮পর্ব ৬৮
- Hide Delegateহাইড ডেলিগেট
- Refactoring: caller যাতে a.b().c() না লেখে, সেজন্য a-তে একটি method দেওয়া, যা ভেতরে b-কে ডাকে; message chain ছোট করে।যেখানে শিখবেন: পর্ব ৪২
- High-level module (policy)হাই-লেভেল মডিউল
- Business-এর মূল নিয়ম আর সিদ্ধান্ত যে অংশে থাকে, যেমন অর্ডার নেওয়ার নিয়ম; এটি software-এর উদ্দেশ্যের সবচেয়ে কাছে।যেখানে শিখবেন: পর্ব ২৮
- Higher-order functionহায়ার-অর্ডার ফাংশন
- যে function অন্য function-কে argument হিসেবে নেয় বা ফেরত দেয়; আচরণকে মানের মতো পাঠানো যায় বলে ছোট extension point বানাতে কাজে লাগে।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩২পর্ব ৩৫
- History constraintহিস্ট্রি কনস্ট্রেইন্ট
- Liskov ও Wing-এর নিয়ম: supertype-এর object সময়ের সাথে যেভাবে বদলাতে পারে না, subtype-এর নতুন method দিয়েও সেভাবে বদলানো যাবে না; যেমন শুধু-বাড়ে এমন counter-এর subtype-এ reset দেওয়া চলে না।যেখানে শিখবেন: পর্ব ২৮
- Hoare tripleহোর ট্রিপল
- C. A. R. Hoare-এর (১৯৬৯) লেখার ধরন {P} S {Q}: শর্ত P সত্য অবস্থায় S চালালে শেষে Q সত্য হবে; design by contract-এর তাত্ত্বিক ভিত্তি।যেখানে শিখবেন: পর্ব ৩১
- Hollywood principleহলিউড প্রিন্সিপল
- “Don't call us, we'll call you” — framework বা base class আপনার কোড ঠিক সময়ে ডাকে, আপনার কোড তাকে নয়; inversion of control-এর একটি রূপ।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৭০
- Hook methodহুক মেথড
- Template method-এ একটি ফাঁকা বা ডিফল্ট উত্তরের method, যা subclass চাইলে override করে কাঠামোর একটি ঐচ্ছিক অংশ চালু, বন্ধ বা বদলাতে পারে।যেখানে শিখবেন: পর্ব ৩৫
- Hotfix branchহটফিক্স ব্রাঞ্চ
- Production-এ চলা কোডের জরুরি ভুল সারাতে main (বা প্রকাশিত tag) থেকে খোলা অল্পদিনের branch, যা পরের নির্ধারিত release-এর অপেক্ষা করে না।যেখানে শিখবেন: পর্ব ১৭
- Hotspot (code)হটস্পট
- যে file বা অংশ ঘনঘন বদলায় এবং জটিলও; debt-এর সুদ সবচেয়ে বেশি দিতে হয় বলে শোধের অগ্রাধিকার এখানে; Adam Tornhill-এর লেখায় জনপ্রিয় ধারণা।যেখানে শিখবেন: পর্ব ৪৩পর্ব ৫৫পর্ব ৭০
- HTTPSএইচটিটিপিএস
- TLS দিয়ে এনক্রিপ্ট করা HTTP; Git-এ https:// দিয়ে শুরু হওয়া remote এই পথে কথা বলে, আর পরিচয় দিতে সাধারণত token লাগে।যেখানে শিখবেন: পর্ব ১৪
- Hundred-dollar test (cumulative voting)হান্ড্রেড ডলার টেস্ট
- প্রত্যেক stakeholder-কে কাল্পনিক ১০০ টাকা বা ডলার দিয়ে feature-গুলোতে ভাগ করতে বলা আর মোট টাকায় অগ্রাধিকার ঠিক করার কৌশল।যেখানে শিখবেন: পর্ব ২৪
- Hungarian notationহাঙ্গেরিয়ান নোটেশন
- নামের শুরুতে type বা ব্যবহারের সংকেত বসানোর রীতি, যেমন strName বা iCount; Charles Simonyi-র নামে পরিচিত, আজ type-সংকেতের রূপটি প্রায় সব style guide নিরুৎসাহিত করে।যেখানে শিখবেন: পর্ব ৪১
- Hunkহাঙ্ক
- Diff-এর একটি টুকরো — পাশাপাশি বদলানো কয়েকটি লাইন আর তাদের আশপাশের কয়েকটি অপরিবর্তিত লাইন; git add -p প্রতিটি hunk আলাদা করে জিজ্ঞেস করে।যেখানে শিখবেন: পর্ব ০৮পর্ব ০৯পর্ব ৫৬
- Hybrid process modelহাইব্রিড প্রসেস মডেল
- একাধিক process model-এর অংশ মিলিয়ে বানানো পদ্ধতি — যেমন শুরুতে বিস্তারিত পরিকল্পনা, তারপর ছোট iteration-এ তৈরি আর শেষে আনুষ্ঠানিক গ্রহণ-যাচাই।যেখানে শিখবেন: পর্ব ০৪
I
- Ice-cream cone (anti-pattern)আইসক্রিম কোন
- উল্টো pyramid: অনেক হাতে করা আর UI বা end-to-end test, অল্প unit test; suite ধীর, দামি আর অবিশ্বস্ত হয়ে যায়, তাই একে anti-pattern বলা হয়।যেখানে শিখবেন: পর্ব ৫১পর্ব ৭০
- IDEআইডিই
- Integrated Development Environment — কোড লেখা, চালানো, debug আর Git-এর মতো tool একই জানালায় দেওয়া প্রোগ্রাম; যেমন VS Code বা IntelliJ IDEA.যেখানে শিখবেন: পর্ব ০৭পর্ব ১০পর্ব ৪২
- Idempotentআইডেমপোটেন্ট
- এমন কাজ, যা একবার করা আর বহুবার করার ফল একই, যেমন status = PAID বসানো বা HTTP PUT; এমন কাজে retry নিরাপদ।যেখানে শিখবেন: পর্ব ৩১পর্ব ৫১পর্ব ৫৯
- Identifierআইডেন্টিফায়ার
- Program-এ variable, function, class, module ইত্যাদির জন্য দেওয়া নাম।যেখানে শিখবেন: পর্ব ৪১
- Idiomইডিয়ম
- একটি নির্দিষ্ট programming ভাষার নিজস্ব ছোট, প্রচলিত কৌশল, যেমন Python-এর with বা C++-এর RAII; design pattern-এর চেয়ে নিচু আর ভাষা-নির্ভর স্তর।যেখানে শিখবেন: পর্ব ৩২
- IEEE 830-1998আইইইই এইট-থার্টি
- SRS লেখার জন্য IEEE-র recommended practice; তিন মূল অংশ — introduction, overall description আর specific requirements; ISO/IEC/IEEE 29148 একে প্রতিস্থাপন করেছে।যেখানে শিখবেন: পর্ব ২১
- IFPUGআই-এফ-পি-ইউ-জি
- International Function Point Users Group — function point গোনার নিয়ম (Counting Practices Manual) রক্ষা ও প্রকাশ করা আন্তর্জাতিক সংগঠন।যেখানে শিখবেন: পর্ব ৬০
- Ignored fileইগনোরড ফাইল
- যে untracked file কোনো ignore-তালিকার pattern-এ মেলে; git status একে দেখায় না (--ignored দিলে দেখায়), আর git add করতে চাইলে -f দিতে হয়।যেখানে শিখবেন: পর্ব ১০পর্ব ৫৬
- Immutabilityইমিউটেবিলিটি
- তৈরির পরে object-এর অবস্থা আর না বদলানোর গুণ; বদল চাইলে নতুন object তৈরি হয়। ভাবা সহজ আর একাধিক thread-এ নিরাপদ।যেখানে শিখবেন: পর্ব ৩১পর্ব ৩৩পর্ব ৩৪
- Impact analysisইমপ্যাক্ট অ্যানালাইসিস
- কোনো requirement বদলালে কোন নকশা, কোড, অন্য requirement আর test প্রভাবিত হবে, আর খরচ ও ঝুঁকি কত — তা আগে থেকে বের করা।যেখানে শিখবেন: পর্ব ২৪
- Impedimentইমপেডিমেন্ট
- এমন বাধা, যা দলকে কাজ এগোতে বা Sprint Goal পূরণ করতে দিচ্ছে না, আর যা দল একা সরাতে পারছে না।যেখানে শিখবেন: পর্ব ০৫
- Imperative moodইমপেরেটিভ মুড
- আদেশসূচক ক্রিয়ারূপ, যেমন Add, Fix, Remove; ইংরেজি commit message-এর subject এভাবে লেখার প্রচলিত রীতি, Added বা Fixes নয়।যেখানে শিখবেন: পর্ব ১৮
- Implementationইমপ্লিমেন্টেশন
- Interface-এ দেওয়া কথা আসলে যে কোড দিয়ে পূরণ করা হয়; একই interface-এর একাধিক implementation থাকতে পারে।যেখানে শিখবেন: পর্ব ৩১
- In-memory databaseইন-মেমরি ডেটাবেস
- ডিস্কের বদলে শুধু memory-তে থাকা database, যেমন SQLite-এর :memory:; খুব দ্রুত, কিন্তু production-এর database থেকে আচরণে আলাদা হতে পারে।যেখানে শিখবেন: পর্ব ৫১
- Inappropriate intimacyইনঅ্যাপ্রোপ্রিয়েট ইনটিমেসি
- Code smell: দুটি class একে অপরের ভেতরের field আর খুঁটিনাটিতে অতিরিক্ত হাত দেয়; দ্বিতীয় সংস্করণে কাছাকাছি ধারণার নাম Insider Trading.যেখানে শিখবেন: পর্ব ৪২
- Inceptionইনসেপশন
- Requirement engineering-এর শুরুর কাজ, যেখানে সমস্যা, লক্ষ্য, মূল stakeholder আর project-এর সীমানার প্রথম বোঝাপড়া তৈরি হয়।যেখানে শিখবেন: পর্ব ২০পর্ব ৬৫
- Incident responseইনসিডেন্ট রেসপন্স
- কোনো ঘটনা (outage বা নিরাপত্তার সমস্যা) ঘটলে আগে থেকে ঠিক করা ক্রমে সাড়া দেওয়া — ক্ষতি থামানো, সারানো, জানানো আর পরে শিক্ষা নেওয়া।যেখানে শিখবেন: পর্ব ৫৭পর্ব ৫৯পর্ব ৭০
- Incidental duplicationইনসিডেন্টাল ডুপ্লিকেশন
- দুটি কোড আজ দেখতে বা মানে একই, কিন্তু আলাদা কারণে আলাদা মানুষের সিদ্ধান্তে বদলায়; এগুলো জোড়া লাগালে অপ্রয়োজনীয় coupling তৈরি হয়।যেখানে শিখবেন: পর্ব ২৬পর্ব ৪২পর্ব ৭০
- Include relationshipইনক্লুড রিলেশনশিপ
- একটি use case প্রতিবার অন্য একটি use case-এর ধাপ নিজের ভেতরে ব্যবহার করে, এমন সম্পর্ক; UML-এ «include» লেখা ড্যাশ তীর।যেখানে শিখবেন: পর্ব ২২পর্ব ২৩
- Incrementইনক্রিমেন্ট
- Product Goal-এর দিকে একটি ব্যবহারযোগ্য, যাচাই করা ধাপ, যা আগের সব Increment-এর সাথে মিলে কাজ করে আর Definition of Done মেলায়।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৫
- Incremental developmentইনক্রিমেন্টাল ডেভেলপমেন্ট
- Software-কে কয়েকটি অংশে ভাগ করে প্রতিবার একটি নতুন সম্পূর্ণ অংশ যোগ করে release করা; প্রতিটি অংশ যোগের সময়েই ব্যবহারযোগ্য।যেখানে শিখবেন: পর্ব ০৪পর্ব ৬৮
- Index stage (stage 0–3)ইনডেক্স স্টেজ
- Index-এ প্রতিটি path-এর পাশে লেখা একটি সংখ্যা: সাধারণ অবস্থায় 0; conflict চলাকালে 1 = base, 2 = ours, 3 = theirs সংস্করণ, যা git ls-files -u আর git show :2:file দিয়ে দেখা যায়।যেখানে শিখবেন: পর্ব ৫৪
- Infeasible pathঅসম্ভব পথ
- CFG-তে আঁকা যায় কিন্তু পরস্পর-নির্ভর শর্তের কারণে কোনো ইনপুটেই চলে না এমন পথ।যেখানে শিখবেন: পর্ব ৫০
- Information hidingইনফরমেশন হাইডিং
- David Parnas-এর (১৯৭২) নীতি: যে নকশা-সিদ্ধান্ত বদলাতে পারে, তা একটি module-এর ভেতরে লুকিয়ে রাখা, যাতে বদলালেও বাকিরা টের না পায়।যেখানে শিখবেন: পর্ব ২৫পর্ব ২৬পর্ব ২৭
- Informed consentইনফর্মড কনসেন্ট
- কী data, কেন, কতদিন আর কার সাথে — তা স্পষ্ট জেনে ব্যবহারকারীর নিজের সক্রিয় সম্মতি; আগে থেকে টিক দেওয়া বাক্স বা নীরবতা এমন সম্মতি নয়।যেখানে শিখবেন: পর্ব ৬৪
- Infrastructure as code (IaC)ইনফ্রাস্ট্রাকচার অ্যাজ কোড
- Server, network, database-এর মতো পরিকাঠামো হাতে না বানিয়ে file-এ লিখে রাখা বর্ণনা থেকে tool দিয়ে তৈরি করা; file-গুলো Git-এ থাকে, review আর version হয়।যেখানে শিখবেন: পর্ব ৫৯
- Inheritanceইনহেরিট্যান্স
- কোডে একটি class অন্য class-এর attribute আর method পেয়ে যায় এবং তার বিশেষ রূপ হয়; UML-এ এটি generalization সম্পর্ক দিয়ে আঁকা হয়।যেখানে শিখবেন: পর্ব ২৬পর্ব ২৭পর্ব ২৮
- Inline Functionইনলাইন ফাংশন
- Refactoring: Extract Function-এর উল্টো; যে function-এর দেহ তার নামের মতোই স্পষ্ট, তার ডাকের জায়গায় দেহটি বসিয়ে function মুছে ফেলা।যেখানে শিখবেন: পর্ব ৪২
- Input validationইনপুট ভ্যালিডেশন
- বাইরে থেকে আসা data (ব্যবহারকারী, file, network) ব্যবহারের আগে সবসময়-চলা কোড দিয়ে যাচাই করা, আর অবৈধ হলে স্পষ্ট error দেওয়া।যেখানে শিখবেন: পর্ব ৩১পর্ব ৪৪
- Inside-out TDD (classic school)ইনসাইড-আউট টিডিডি
- Domain-এর ছোট ভেতরের অংশ থেকে test লিখে শুরু করে ধীরে ধীরে বাইরের স্তরে যাওয়া; আসল collaborator আর ফলের অবস্থা যাচাইয়ে জোর দেয়; একে classic, Detroit বা Chicago school-ও বলে।যেখানে শিখবেন: পর্ব ৪৮
- Inspectionইন্সপেকশন
- নির্দিষ্ট role, আগাম প্রস্তুতি আর লিখিত ভুলের তালিকাসহ দলিল বা কোডের আনুষ্ঠানিক review; Michael Fagan IBM-এ ১৯৭০-এর দশকে এর রূপ দেন।যেখানে শিখবেন: পর্ব ২৪পর্ব ৪৪পর্ব ৪৫
- Instability (I)ইনস্ট্যাবিলিটি
- Robert C. Martin-এর metric I = Ce / (Ca + Ce); 0 মানে সবাই নির্ভর করে কিন্তু নিজে কারও ওপর নয়, 1 মানে নিজে নির্ভর করে কিন্তু কেউ তার ওপর নয়।যেখানে শিখবেন: পর্ব ২৫পর্ব ৬৬
- Instrumentationইনস্ট্রুমেন্টেশন
- কোড চলার তথ্য, যেমন কোন লাইন বা শাখা চলল, রেকর্ড করতে কোডে বা runtime-এ গোনার নির্দেশ যোগ করা; coverage tool এভাবে কাজ করে।যেখানে শিখবেন: পর্ব ৫০
- Integer overflowইন্টিজার ওভারফ্লো
- কোনো মান integer type-এর ধারণক্ষমতার বাইরে গেলে যা ঘটে — মান ঘুরে যাওয়া (wrap), exception বা অনির্ধারিত আচরণ, ভাষাভেদে।যেখানে শিখবেন: পর্ব ০২
- Integration hell (merge hell)ইন্টিগ্রেশন হেল
- অনেকদিন আলাদা রাখা কাজ একসাথে মেলাতে গিয়ে বিপুল conflict, ভাঙা build আর খুঁজে না পাওয়া bug-এর কষ্টকর অবস্থা।যেখানে শিখবেন: পর্ব ১৭পর্ব ৫৮
- Integration testইন্টিগ্রেশন টেস্ট
- কয়েকটি module বা সার্ভিস একসাথে জোড়া দিলে তারা ঠিকভাবে কথা বলে কি না, তার যাচাই।যেখানে শিখবেন: পর্ব ০৪পর্ব ৪৫পর্ব ৪৬
- Intellectual propertyইন্টেলেকচুয়াল প্রপার্টি
- মানুষের সৃষ্টিশীল বা উদ্ভাবনী কাজের ওপর আইনি অধিকার — copyright, patent, trade secret, trademark; দেশভেদে আইন আলাদা।যেখানে শিখবেন: পর্ব ৬৪
- Intention-revealing nameইনটেনশন-রিভিলিং নেম
- এমন নাম, যা পড়েই বোঝা যায় জিনিসটি কেন আছে, কী করে আর কীভাবে ব্যবহার হয়, যেমন d-এর বদলে days_since_admission; comment ছাড়াই অর্থ বলে।যেখানে শিখবেন: পর্ব ৪১
- Interaction operandইন্টারঅ্যাকশন অপারেন্ড
- Combined fragment-এর ড্যাশ রেখায় ভাগ করা একেকটি অংশ, যার শুরুতে বন্ধনীতে guard থাকতে পারে, যেমন alt-এর [paid] অংশ।যেখানে শিখবেন: পর্ব ৩০
- Interaction operatorইন্টারঅ্যাকশন অপারেটর
- Combined fragment-এর ধরন ঠিক করা শব্দ; UML ২.৫.১-এ ১২টি: alt, opt, break, par, loop, seq, strict, neg, critical, ignore, consider আর assert.যেখানে শিখবেন: পর্ব ৩০
- Interaction use (ref)ইন্টারঅ্যাকশন ইউজ
- ref লেখা একটি বাক্স, যা অন্য একটি নাম দেওয়া sequence diagram-কে এখানে বসায়; বড় diagram ভাগ করে ছোট রাখার উপায়।যেখানে শিখবেন: পর্ব ৩০
- Interactive rebase (git rebase -i)ইন্টারঅ্যাকটিভ রিবেস
- Replay শুরুর আগে commit-এর তালিকা editor-এ দেখিয়ে প্রতিটি commit রাখা, বার্তা বদলানো, মেলানো, বাদ দেওয়া বা ক্রম বদলানোর সুযোগ দেয় এমন rebase.যেখানে শিখবেন: পর্ব ১৫
- Interest (technical debt)ইন্টারেস্ট
- Debt রেখে দিলে প্রতিটি পরের বদলে যে বাড়তি সময়, ভুল আর ঝুঁকি আসে; শুধু সেই কোড ছুঁলেই এই সুদ দিতে হয়।যেখানে শিখবেন: পর্ব ৪৩
- Interfaceইন্টারফেস
- কিছু operation-এর ঘোষণার একটি চুক্তি, যার নিজের কোনো বাস্তবায়ন নেই; যে class চুক্তিটি পূরণ করে, সে interface-টি realize করে।যেখানে শিখবেন: পর্ব ২৫পর্ব ২৭পর্ব ২৮
- Interface injectionইন্টারফেস ইনজেকশন
- Class একটি বিশেষ injection interface বাস্তবায়ন করে, আর container সেই interface-এর method ডেকে dependency বসায়; Fowler-এর ২০০৪ সালের তালিকার একটি রূপ, আজ বিরল।যেখানে শিখবেন: পর্ব ৩৭
- Interface segregation principle (ISP)ইন্টারফেস সেগ্রিগেশন প্রিন্সিপল
- কোনো client-কে এমন method-এর ওপর নির্ভর করতে বাধ্য করা উচিত নয়, যা সে ব্যবহার করে না — বড় interface ভেঙে client-অনুযায়ী ছোট interface বানানোর নীতি।যেখানে শিখবেন: পর্ব ২৮পর্ব ৬৮
- Interface specificationইন্টারফেস স্পেসিফিকেশন
- দুটি অংশ বা দলের মধ্যে লিখিত চুক্তি — কোন data, কোন format, কোন একক আর কোন সীমায় আদান-প্রদান হবে।যেখানে শিখবেন: পর্ব ০২
- Interlockইন্টারলক
- একটি যান্ত্রিক বা বৈদ্যুতিক নিরাপত্তা ব্যবস্থা, যা শর্ত পূরণ না হলে বিপজ্জনক কাজ শুরু হতেই দেয় না।যেখানে শিখবেন: পর্ব ০২
- Internal iteratorইন্টারনাল ইটারেটর
- যে iterator-এ collection নিজেই ঘোরে আর প্রতিটি উপাদানে client-এর দেওয়া function চালায়, যেমন JavaScript-এর forEach.যেখানে শিখবেন: পর্ব ৩৬
- Internal logical file (ILF)ইন্টারনাল লজিক্যাল ফাইল
- ব্যবহারকারীর কাছে অর্থবহ, যুক্ত data-র একটি দল যা মাপা application নিজের সীমার ভেতরে রক্ষণাবেক্ষণ করে; যেমন শিক্ষার্থীর তথ্য।যেখানে শিখবেন: পর্ব ৬০
- Internal transitionইন্টারনাল ট্রানজিশন
- State-এর ভেতরের ঘরে লেখা event / effect, যা চলার সময় state ছাড়ে না, তাই exit বা entry কাজ চলে না।যেখানে শিখবেন: পর্ব ৩০
- Interpreter patternইন্টারপ্রেটার প্যাটার্ন
- একটি ছোট ভাষার ব্যাকরণের প্রতিটি নিয়মকে একটি class বানিয়ে বাক্যকে object-এর গাছ হিসেবে মূল্যায়ন করার behavioral pattern.যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৬
- Interruptible activity regionইন্টারাপটিবল রিজিয়ন
- Activity diagram-এ ড্যাশ রেখার গোল কোণের আয়তক্ষেত্র; ভেতর থেকে zigzag তীর বেরিয়ে গেলে region-এর ভেতরের সব token মুছে যায়, যেমন অর্ডার বাতিল হলে প্যাকিং থামা।যেখানে শিখবেন: পর্ব ৩০
- Interview (elicitation)ইন্টারভিউ
- একজন বা কয়েকজন stakeholder-এর সাথে প্রশ্নোত্তরের মাধ্যমে কাজ, সমস্যা আর চাহিদা বোঝা; structured, semi-structured বা unstructured হতে পারে।যেখানে শিখবেন: পর্ব ২০
- Intrinsic stateইনট্রিনসিক স্টেট
- Flyweight-এর ভেতরে রাখা অবস্থা, যা প্রসঙ্গ বদলালেও একই থাকে আর তাই ভাগ করা যায়, যেমন একটি অক্ষরের আকৃতি বা একটি map tile-এর ছবি।যেখানে শিখবেন: পর্ব ৩৪
- Introduce Parameter Objectইন্ট্রোডিউস প্যারামিটার অবজেক্ট
- Refactoring: সবসময় একসাথে চলা কয়েকটি parameter-কে একটি object-এ বেঁধে একটি parameter হিসেবে পাঠানো।যেখানে শিখবেন: পর্ব ৪২
- Invalid transitionইনভ্যালিড ট্রানজিশন
- কোনো state-এ এমন event, যার জন্য মডেলে কোনো বৈধ পথ নেই, যেমন ব্যবহৃত টিকিট বাতিল; test-এ প্রত্যাশিত ফল সাধারণত প্রত্যাখ্যান আর state অপরিবর্তিত।যেখানে শিখবেন: পর্ব ৪৭
- Inverse Conway maneuverইনভার্স কনওয়ে ম্যানুভার
- Conway's law উল্টো দিক থেকে ব্যবহার করা — কাঙ্ক্ষিত architecture আগে ঠিক করে সেই অনুযায়ী দল সাজানো, যাতে system সেই আকারে গড়ে ওঠে।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৬৩
- Inversion of controlইনভার্শন অব কন্ট্রোল
- প্রোগ্রামের প্রবাহ আপনার কোড নয়, একটি framework বা কাঠামো নিয়ন্ত্রণ করে আর দরকার হলে আপনার কোড ডাকে (“আমাদের ডাকবেন না, আমরাই ডাকব”)।যেখানে শিখবেন: পর্ব ২৮পর্ব ৩৫পর্ব ৩৭
- INVESTইনভেস্ট
- ভালো user story-র ছয়টি গুণ: Independent, Negotiable, Valuable, Estimable, Small, Testable; Bill Wake ২০০৩ সালে এই সংক্ষিপ্ত রূপটি দেন।যেখানে শিখবেন: পর্ব ২২পর্ব ৬৫পর্ব ৬৮
- Invokerইনভোকার
- Command pattern-এ যে object command চালায় আর প্রায়ই তার ইতিহাস রাখে, যেমন undo stack; সে শুধু Command চুক্তি চেনে।যেখানে শিখবেন: পর্ব ৩৫
- ISO 9001আইএসও নাইন থাউজ্যান্ড ওয়ান
- যেকোনো শিল্পের quality management system-এর শর্ত বলা আন্তর্জাতিক মানদণ্ড; লেখার সময়ে প্রচলিত সংস্করণ ২০১৫ সালের।যেখানে শিখবেন: পর্ব ৬২
- ISO/IEC 25010আইএসও আইইসি টু-ফাইভ-জিরো-ওয়ান-জিরো
- Software ও system-এর quality model-এর আন্তর্জাতিক মানদণ্ড; ২০১১ সংস্করণে product quality-র আটটি characteristic, ২০২৩ সংস্করণে safety-সহ নয়টি।যেখানে শিখবেন: পর্ব ০৩
- ISO/IEC/IEEE 14764আইএসও ১৪৭৬৪
- Software maintenance-এর আন্তর্জাতিক মান (প্রথম ১৯৯৯, পরে হালনাগাদ); corrective, adaptive, perfective আর preventive maintenance-এর সংজ্ঞা আর maintenance প্রক্রিয়া দেয়।যেখানে শিখবেন: পর্ব ৪৩
- ISO/IEC/IEEE 29148আইএসও টু-নাইন-ওয়ান-ফোর-এইট
- Requirement engineering-এর প্রক্রিয়া আর requirement-নথির (যেমন SRS) বিষয়বস্তুর আন্তর্জাতিক মানদণ্ড; প্রথম প্রকাশ ২০১১, সংশোধিত ২০১৮।যেখানে শিখবেন: পর্ব ২১
- ISO/IEC/IEEE 90003আইএসও নাইন্টি থাউজ্যান্ড থ্রি
- Software-এ ISO 9001 কীভাবে প্রয়োগ করতে হয় তার নির্দেশিকা মানদণ্ড; সর্বশেষ সংস্করণ ২০১৮ সালের বলে জানা যায়।যেখানে শিখবেন: পর্ব ৬২
- Issue trackerইস্যু ট্র্যাকার
- Bug, নতুন feature বা কাজের অনুরোধ নম্বর দিয়ে লিখে রাখা আর তার অগ্রগতি দেখার ব্যবস্থা।যেখানে শিখবেন: পর্ব ০১পর্ব ১৮পর্ব ৪৫
- ISTQBআইএসটিকিউবি
- International Software Testing Qualifications Board — software testing-এর syllabus, glossary আর certification দেওয়া আন্তর্জাতিক সংস্থা; Foundation Level সবচেয়ে প্রচলিত।যেখানে শিখবেন: পর্ব ৪৫
- Iterableইটারেবল
- যে object থেকে নতুন iterator বানানো যায় — Python-এ __iter__, JavaScript-এ [Symbol.iterator] method আছে বলে for লুপে ঘোরানো যায়।যেখানে শিখবেন: পর্ব ৩৬
- Iterationইটারেশন
- একটি নির্দিষ্ট ছোট সময়ের চক্র, যার শেষে কাজের একটি অংশ শেষ করে দেখানো হয় আর মতামত নিয়ে পরের চক্র শুরু হয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৫
- Iterative developmentইটারেটিভ ডেভেলপমেন্ট
- একই software-কে বারবার চক্রে ফিরে এসে উন্নত করা; প্রথমে মোটা দাগের একটি রূপ, তারপর মতামত দেখে প্রতিবার আরও নিখুঁত।যেখানে শিখবেন: পর্ব ০৪
- Iteratorইটারেটর
- যে object মনে রাখে কতদূর পড়া হলো আর চাইলে পরের উপাদানটি দেয়; Python-এ __next__, JavaScript-এ next() method দিয়ে।যেখানে শিখবেন: পর্ব ৩৬
- Iterator patternইটারেটর প্যাটার্ন
- একটি collection-এর ভেতরের গঠন না দেখিয়ে তার উপাদানগুলো একটির পর একটি পাওয়ার উপায় দেওয়ার pattern; GoF-এ এর আরেক নাম Cursor.যেখানে শিখবেন: পর্ব ৩৬
- Iterator protocolইটারেটর প্রোটোকল
- ভাষার নির্ধারিত চুক্তি যা মানলে যেকোনো object for লুপে চলে; Python-এ __iter__ আর __next__ ও শেষে StopIteration, JavaScript-এ next() থেকে {value, done}.যেখানে শিখবেন: পর্ব ৩৬
J
- JAD (Joint Application Design)জে-এ-ডি
- মূল stakeholder আর developer-দের একজন নিরপেক্ষ সঞ্চালকসহ এক বা কয়েক দিনের কাঠামোবদ্ধ workshop-এ বসিয়ে একসাথে requirement ঠিক করার পদ্ধতি।যেখানে শিখবেন: পর্ব ২০
- Job (CI)জব
- Pipeline-এর একটি কাজের একক, যা একটি runner-এ নিজের আলাদা পরিবেশে চলে আর কয়েকটি step পরপর চালায়; আলাদা job-গুলো সমান্তরালে চলতে পারে।যেখানে শিখবেন: পর্ব ৫৮
- Job shadowingজব শ্যাডোয়িং
- একজন কর্মীর পেছনে ছায়ার মতো থেকে তাঁর পুরো কাজের দিন বা শিফট দেখা, যাতে মুখে না বলা খুঁটিনাটি চোখে পড়ে।যেখানে শিখবেন: পর্ব ২০
- Job storyজব স্টোরি
- ভূমিকার বদলে পরিস্থিতি দিয়ে শুরু হওয়া story-র ছাঁচ: When <situation>, I want to <motivation>, so I can <outcome>.যেখানে শিখবেন: পর্ব ২২
- JSDocজেএসডক
- JavaScript-এ /** */ comment-এর ভেতরে @param, @returns-এর মতো tag দিয়ে function-এর documentation লেখার প্রচলিত রীতি; editor আর TypeScript-ও এগুলো পড়তে পারে।যেখানে শিখবেন: পর্ব ৪১
- Junction pseudostateজাংশন সিউডোস্টেট
- ছোট ভরাট বৃত্তের সিদ্ধান্ত বা মিলন-বিন্দু, যেখানে পুরো পথ চলার আগেই সব guard একসাথে যাচাই হয়; কোনো পথ না মিললে transition হয় না।যেখানে শিখবেন: পর্ব ৩০
- Just-in-timeজাস্ট-ইন-টাইম
- যা দরকার, যখন দরকার, যতটুকু দরকার, ঠিক ততটুকুই বানানোর নীতি; আগাম জমিয়ে রাখা নয়।যেখানে শিখবেন: পর্ব ০৬
K
- Kaizenকাইজেন
- জাপানি শব্দ, মোটামুটি অর্থ ভালোর দিকে বদল; কাজের সবচেয়ে কাছের মানুষদের করা নিয়মিত ছোট ছোট উন্নতি।যেখানে শিখবেন: পর্ব ০৬
- Kanbanকানবান
- জাপানি শব্দ, মোটামুটি অর্থ সংকেতের কার্ড। Toyota-য় পরের ধাপের চাহিদা জানাত; software-এ Kanban method মানে board, WIP limit আর flow-এর মাপ দিয়ে কাজ পরিচালনা।যেখানে শিখবেন: পর্ব ০৬পর্ব ৭০
- Kano modelকানো মডেল
- Noriaki Kano ও সহকর্মীদের ১৯৮৪ সালের মডেল, যা feature-কে গ্রাহকের সন্তুষ্টির ধরন অনুযায়ী must-be, performance, attractive, indifferent আর reverse শ্রেণিতে ভাগ করে।যেখানে শিখবেন: পর্ব ২৪পর্ব ৬৬
- Keyword argumentকিওয়ার্ড আর্গুমেন্ট
- Function ডাকার সময় নাম লিখে দেওয়া মান, যেমন fare=950; ক্রম ভুলের ভয় থাকে না আর পড়লেই বোঝা যায় কোনটি কী।যেখানে শিখবেন: পর্ব ৩৩
- Key–value storeকি-ভ্যালু স্টোর
- যে ভাণ্ডারে প্রতিটি মান (value) একটি অনন্য চাবি (key) দিয়ে রাখা ও খোঁজা হয়; Git-এর object ভাণ্ডারে চাবি হলো বিষয়বস্তুর hash.যেখানে শিখবেন: পর্ব ৫২
- Killed mutantকিলড মিউট্যান্ট
- যে mutant-এর ওপর অন্তত একটি test fail করেছে, অর্থাৎ test suite ভুলটি ধরেছে।যেখানে শিখবেন: পর্ব ৫০
- KISSকিস
- “Keep It Simple, Stupid” — সবচেয়ে সরল যে নকশা কাজ করে, সেটি বেছে নেওয়ার নীতি; সাধারণত বিমান প্রকৌশলী Kelly Johnson-এর নামে উদ্ধৃত।যেখানে শিখবেন: পর্ব ২৬পর্ব ৩২পর্ব ৬৮
- KLOCকে-লক
- Thousand lines of code — হাজার লাইন কোড; কোডের আকার মাপার একক, যদিও লাইন গোনার নিয়ম ভাষা ও tool-ভেদে আলাদা।যেখানে শিখবেন: পর্ব ০৩পর্ব ৬০
- Knowledge siloনলেজ সাইলো
- যে জ্ঞান শুধু একজন মানুষ বা একটি ছোট দলের মধ্যে আটকে আছে, আর অন্যদের কাছে পৌঁছায় না।যেখানে শিখবেন: পর্ব ৬৩
- KWIC indexকে-উইক ইনডেক্স
- Key Word In Context — প্রতিটি লাইনের সব circular shift বর্ণানুক্রমে সাজিয়ে বানানো সূচি; Parnas ১৯৭২ সালে module ভাগের দুই পদ্ধতি তুলনায় এই উদাহরণ ব্যবহার করেন।যেখানে শিখবেন: পর্ব ২৫
L
- Lag and leadল্যাগ আর লিড
- নির্ভরতার সাথে যোগ করা সময়: lag মানে বাড়তি অপেক্ষা (যেমন FS + ২ দিন), lead মানে আগাম শুরু (যেমন FS − ২ দিন) — দুটোই schedule-এ লিখে রাখা হয়।যেখানে শিখবেন: পর্ব ৬১
- Lapsed listenerল্যাপসড লিসেনার
- যে শ্রোতার কাজ শেষ, অথচ unsubscribe না করায় subject-এর তালিকায় থেকে গেছে; memory leak ঘটায় আর অকারণে খবর পেতে থাকে।যেখানে শিখবেন: পর্ব ৩৫
- Large classলার্জ ক্লাস
- Code smell: class-এ অনেক field আর method, যারা কয়েকটি আলাদা দায়িত্ব বহন করে; চরম রূপকে god class বলা হয়।যেখানে শিখবেন: পর্ব ৪২
- Last responsible momentলাস্ট রেসপনসিবল মোমেন্ট
- যে মুহূর্তের পরে সিদ্ধান্ত না নিলে একটি গুরুত্বপূর্ণ বিকল্প হারিয়ে যায়; কঠিন-বদল সিদ্ধান্ত তার আগে নয়, কিন্তু তার পরেও নয়।যেখানে শিখবেন: পর্ব ৩৮
- Latencyলেটেন্সি
- একটি অনুরোধ পাঠানো থেকে উত্তর পাওয়া পর্যন্ত সময়, সাধারণত millisecond-এ মাপা হয়; গড়ের বদলে p95 বা p99-এর মতো percentile দিয়ে লেখা ভালো।যেখানে শিখবেন: পর্ব ২১
- Law of Demeterল অফ ডিমিটার
- Northeastern University-র Demeter project থেকে আসা নীতি (১৯৮৭-৮৯): একটি method শুধু নিজের, parameter-এর, নিজে তৈরি করা আর নিজের সরাসরি অংশের object-এর সাথে কথা বলবে; principle of least knowledge নামেও পরিচিত।যেখানে শিখবেন: পর্ব ২৬পর্ব ৪২পর্ব ৬৮
- Layered architectureলেয়ারড আর্কিটেকচার
- System-কে ওপর-নিচে সাজানো স্তরে ভাগ করা, যেমন presentation, application, domain আর data; প্রতিটি স্তর কেবল নিজের নিচের স্তরের সেবা ব্যবহার করে।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৬৮
- Lazy class / lazy elementলেজি ক্লাস
- Code smell: যে class বা function এত কম কাজ করে যে তার আলাদা অস্তিত্বের খরচ লাভের চেয়ে বেশি; দ্বিতীয় সংস্করণে নাম Lazy Element.যেখানে শিখবেন: পর্ব ৪২
- Lazy evaluationলেজি ইভ্যালুয়েশন
- মান যখন সত্যিই দরকার, শুধু তখনই হিসাব বা আনা — আগে থেকে সব বানিয়ে রাখা নয়; generator এভাবেই কাজ করে।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৩৮
- Lazy initializationলেজি ইনিশিয়ালাইজেশন
- Object বা মান প্রথমবার দরকার হওয়ার মুহূর্তে তৈরি করা, প্রোগ্রাম শুরুর সময়ে নয়; খরচ বাঁচায়, কিন্তু একাধিক thread থাকলে সাবধানতা লাগে।যেখানে শিখবেন: পর্ব ৩৩
- Lazy loadingলেজি লোডিং
- কোনো data বা object আগেভাগে না এনে যখন সত্যিই লাগে তখন আনা; শুরু দ্রুত হয়, কিন্তু প্রথম ব্যবহারে দেরি আর অজান্তে বহু query-র ঝুঁকি থাকে।যেখানে শিখবেন: পর্ব ৩৪
- LCOM (Lack of Cohesion of Methods)এল-কম
- একটি class-এর method-গুলো কতটা আলাদা আলাদা attribute নিয়ে কাজ করে (কোনো কোনো সংস্করণে method-এর একে অপরকে ডাকাও গোনা হয়) তার মাপ; Chidamber-Kemerer, Hitz-Montazeri প্রমুখের কয়েকটি ভিন্ন সংস্করণ আছে, তাই কোনটি মাপা হলো তা বলতে হয়।যেখানে শিখবেন: পর্ব ২৫পর্ব ৬৬
- LCS (longest common subsequence)লংগেস্ট কমন সাবসিকোয়েন্স
- দুটি তালিকায় একই ক্রমে পাওয়া যায় এমন সবচেয়ে লম্বা উপাদান-সারি, যা পাশাপাশি থাকতে হবে না; line diff-এ অপরিবর্তিত লাইনগুলোই এই সারি।যেখানে শিখবেন: পর্ব ০৯
- Lead timeলিড টাইম
- অনুরোধ গৃহীত হওয়া থেকে গ্রাহকের হাতে পৌঁছানো পর্যন্ত সময়। শুরু আর শেষের বিন্দু দল-ভেদে আলাদা হতে পারে, তাই লিখে রাখা দরকার।যেখানে শিখবেন: পর্ব ০৬পর্ব ৫৯পর্ব ৬২
- Lead time for changesলিড টাইম ফর চেঞ্জেস
- একটি commit থেকে সেটি production-এ চলা পর্যন্ত সময়; DORA-র গতির একটি মাপ, সাধারণত median হিসেবে বলা হয়।যেখানে শিখবেন: পর্ব ৫৯পর্ব ৬৫পর্ব ৬৬
- Leading questionলিডিং কোয়েশ্চেন
- যে প্রশ্ন নিজেই একটি উত্তরের দিকে ঠেলে দেয়, যেমন এটা তো নিশ্চয়ই দরকার, তাই না? এতে উত্তর প্রশ্নকারীর ধারণার প্রতিধ্বনি হয়।যেখানে শিখবেন: পর্ব ২০
- Leafলিফ
- গাছের কাঠামোর যে অংশের নিচে আর কোনো অংশ নেই, যেমন একটি ফাইল বা একটি পণ্য; Composite pattern-এ leaf নিজের কাজ নিজেই করে।যেখানে শিখবেন: পর্ব ৩৪
- Leanলিন
- Toyota-র উৎপাদন পদ্ধতি থেকে আসা চিন্তাধারা, যার মূল কথা গ্রাহকের কাছে মূল্য যোগ করে না এমন সব কাজ (অপচয়) কমানো আর কাজের প্রবাহ মসৃণ করা।যেখানে শিখবেন: পর্ব ০৬
- Least privilegeলিস্ট প্রিভিলেজ
- নিরাপত্তার নীতি: প্রতিটি মানুষ, প্রোগ্রাম বা token শুধু ততটুকু ক্ষমতা পাবে যতটুকু তার কাজের জন্য দরকার, যাতে ফাঁস হলে ক্ষতি সীমিত থাকে।যেখানে শিখবেন: পর্ব ১৪পর্ব ৩৪পর্ব ৪৪
- Legacy codeলিগেসি কোড
- সাধারণ অর্থে উত্তরাধিকারসূত্রে পাওয়া পুরোনো কোড; Michael Feathers-এর (২০০৪) সংজ্ঞায় test ছাড়া কোড, কারণ test না থাকলে বদল নিরাপদ কি না জানা যায় না।যেখানে শিখবেন: পর্ব ৪৩পর্ব ৭০
- Lehman's laws of software evolutionলেম্যান’স লজ
- Meir Lehman-এর, ১৯৭৪ সাল থেকে প্রকাশিত, বাস্তবে ব্যবহৃত (E-type) software-এর বিবর্তনের পর্যবেক্ষিত সূত্র, যেমন continuing change আর increasing complexity; ১৯৯৬ নাগাদ সূত্রের সংখ্যা দাঁড়ায় আটে।যেখানে শিখবেন: পর্ব ৪৩পর্ব ৬৮
- LFএলএফ
- Line Feed — একটিমাত্র byte 0x0A, লেখায় \n; Linux, macOS আর Git repository-র ভেতরের প্রচলিত line ending.যেখানে শিখবেন: পর্ব ১০
- LFS pointer fileএলএফএস পয়েন্টার ফাইল
- Git LFS-এর ব্যবহার করা ছোট text file, যাতে spec-এর version, আসল content-এর sha256 oid আর size লেখা থাকে; Git-এ আসল বড় file-এর বদলে এটিই থাকে।যেখানে শিখবেন: পর্ব ১৯
- License compatibilityলাইসেন্স কম্প্যাটিবিলিটি
- এক license-এর কোড আরেক license-এর project-এ মিলিয়ে বিতরণ করা যায় কি না; উত্তর প্রায়ই দিক-নির্ভর।যেখানে শিখবেন: পর্ব ৬৩
- License exceptionলাইসেন্স এক্সেপশন
- একটি license-এর সাথে জোড়া বাড়তি অনুমতি, যা কিছু শর্ত শিথিল করে, যেমন GPL-এর সাথে Classpath exception.যেখানে শিখবেন: পর্ব ৬৩
- License scanningলাইসেন্স স্ক্যানিং
- Dependency-র metadata আর ফাইল পড়ে প্রতিটির license বের করে দলের নীতির সাথে মেলানোর স্বয়ংক্রিয় যাচাই, সাধারণত CI-তে।যেখানে শিখবেন: পর্ব ৬৩
- Lifelineলাইফলাইন
- Sequence diagram-এ একটি অংশগ্রহণকারীর (object, actor বা service) মাথার বাক্স আর তার নিচের খাড়া ড্যাশ রেখা, যা তার সময়ের ধারা দেখায়।যেখানে শিখবেন: পর্ব ৩০
- Lightweight tagলাইটওয়েট ট্যাগ
- শুধু একটি নাম, যা সরাসরি একটি commit-এর hash রাখে; লেখক, তারিখ বা বার্তা নেই, তাই নিজের বুকমার্কের জন্য সুবিধাজনক।যেখানে শিখবেন: পর্ব ১৮পর্ব ৫৩
- Likert scaleলিকার্ট স্কেল
- একটি বক্তব্যে কতটা একমত তা সাধারণত ১ থেকে ৫ ধাপে মাপার পদ্ধতি; নামটি Rensis Likert-এর ১৯৩২ সালের কাজ থেকে।যেখানে শিখবেন: পর্ব ২০
- Line ending (LF / CRLF)লাইন এন্ডিং
- লেখার প্রতিটি লাইনের শেষে বসানো অদৃশ্য চিহ্ন; Linux ও macOS-এ LF, Windows-এ সাধারণত CRLF, তাই মিশে গেলে অপ্রয়োজনীয় পার্থক্য দেখায়।যেখানে শিখবেন: পর্ব ১০
- Line-ending normalizationনরমালাইজেশন
- Text file repository-তে ঢোকার সময় সব line ending একরকম (LF) করে নেওয়া, যাতে কোন OS-এ কে file লিখেছেন তার ওপর ইতিহাস নির্ভর না করে।যেখানে শিখবেন: পর্ব ১০
- Linear historyলিনিয়ার হিস্ট্রি
- Merge commit ছাড়া এক সরলরেখার commit ইতিহাস, যেখানে প্রতিটি commit-এর একটিই parent; rebase বা squash করে এমন ইতিহাস রাখা হয়।যেখানে শিখবেন: পর্ব ১৫
- Linearly independent pathস্বাধীন পথ
- এমন পথ, যা দলের অন্য পথগুলোর edge যোগ-বিয়োগ করে বানানো যায় না; একটি CFG-তে এমন পথের সর্বোচ্চ সংখ্যা V(G).যেখানে শিখবেন: পর্ব ৫০
- Linkলিংক
- Object diagram-এ দুটি object-এর মধ্যের রেখা — একটি association-এর একটি নির্দিষ্ট উদাহরণ; এতে multiplicity লেখা হয় না।যেখানে শিখবেন: পর্ব ২৯
- Linked worktreeলিংকড ওয়ার্কট্রি
- git worktree add দিয়ে বানানো অতিরিক্ত working folder; এর ভেতরে .git একটি ছোট file, যাতে মূল repository-র .git/worktrees/<নাম> ফোল্ডারের ঠিকানা লেখা থাকে।যেখানে শিখবেন: পর্ব ৫৬
- Linterলিন্টার
- যে tool কোড না চালিয়ে নিয়ম ধরে সন্দেহজনক ধাঁচ খোঁজে — অব্যবহৃত variable, bare except, ভুলে থাকা print; যেমন ESLint, Ruff, pylint.যেখানে শিখবেন: পর্ব ৪১পর্ব ৪৪পর্ব ৬৫
- Linux kernelলিনাক্স কার্নেল
- Linus Torvalds-এর ১৯৯১ সালে শুরু করা open-source operating system kernel; হাজারো মানুষের এই বিশাল project-এর জন্যই Git তৈরি হয়েছিল।যেখানে শিখবেন: পর্ব ০৭
- Liskov substitution principle (LSP)লিসকভ সাবস্টিটিউশন প্রিন্সিপল
- যে কোড একটি base type-এর জন্য লেখা, তাতে তার যেকোনো subtype-এর object বসালেও কোডের প্রত্যাশিত আচরণ ঠিক থাকতে হবে — এই নীতি।যেখানে শিখবেন: পর্ব ২৮পর্ব ৬৮পর্ব ৭০
- Little's lawলিটলস ল
- স্থিতিশীল ব্যবস্থায় গড় WIP = গড় throughput × গড় সময় (L = λW); John D. C. Little ১৯৬১ সালে প্রমাণ করেন।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৬পর্ব ৪৪
- Live codingলাইভ কোডিং
- ইন্টারভিউয়ারের সামনে, সাধারণত একটি শেয়ার করা editor-এ, সময় ধরে কোড লেখা; সঠিকতার সাথে ভাবনার পদ্ধতি, যোগাযোগ আর নিজে test করাও দেখা হয়।যেখানে শিখবেন: পর্ব ৭০
- Living documentationলিভিং ডকুমেন্টেশন
- নিয়মিত চালানো executable specification থেকে পাওয়া দলিল, যা কোড বদলালে ফেল করে জানিয়ে দেয়, তাই পুরোনো হয়ে পড়ে থাকে না।যেখানে শিখবেন: পর্ব ৪৮
- LOC (lines of code)এল-ও-সি
- কোডের লাইন সংখ্যা দিয়ে software-এর আকার মাপা; সহজ, কিন্তু ভাষা, লেখার ধরন আর গোনার নিয়মের ওপর নির্ভরশীল।যেখানে শিখবেন: পর্ব ৬০
- Local transitionলোকাল ট্রানজিশন
- Composite state-এর সীমা থেকে তার নিজের ভেতরের substate-এ যাওয়া transition, যাতে composite-এর exit বা entry চলে না।যেখানে শিখবেন: পর্ব ৩০
- Local VCSলোকাল ভিসিএস
- যে version control শুধু একটি কম্পিউটারে, সাধারণত প্রতিটি ফাইলের পাশে তার ইতিহাস রাখে; যেমন SCCS আর RCS. দলের কাজ ভাগ করা যায় না।যেখানে শিখবেন: পর্ব ০৭
- Lock-modify-unlockলক-মডিফাই-আনলক
- ফাইল বদলানোর আগে তালা দেওয়া, যাতে সেই সময়ে অন্য কেউ ফাইলটি বদলাতে না পারেন; কাজ শেষে তালা খোলা হয়।যেখানে শিখবেন: পর্ব ০৭
- Lockfileলকফাইল
- Package manager-এর তৈরি file (যেমন package-lock.json, poetry.lock, Cargo.lock), যাতে প্রতিটি dependency-র ঠিক কোন version install হয়েছিল তা লেখা থাকে; যন্ত্রের বানানো হলেও সাধারণত commit করা হয়, যাতে সবাই একই version পান।যেখানে শিখবেন: পর্ব ১০পর্ব ১৮পর্ব ৪৩
- Logical cohesionলজিক্যাল কোহেশন
- একই “ধরনের” কাজগুলো এক module-এ, আর কোনটি চলবে তা একটি flag দিয়ে বাছাই হয়, যেমন সব রকম ইনপুট পড়ার একটি function.যেখানে শিখবেন: পর্ব ২৫
- Long functionলং ফাংশন
- Code smell: function এত লম্বা যে এক নজরে বোঝা যায় না, প্রায়ই কয়েকটি আলাদা কাজ একসাথে করে; প্রথম সংস্করণে নাম ছিল Long Method.যেখানে শিখবেন: পর্ব ৪২পর্ব ৭০
- Long parameter listলং প্যারামিটার লিস্ট
- Code smell: function অনেকগুলো parameter নেয়, ফলে ডাকা কঠিন আর ক্রম গুলিয়ে ভুল হয়; প্রায়ই parameter object দিয়ে সারানো হয়।যেখানে শিখবেন: পর্ব ৪২
- Long-lived branchলং-লিভড ব্রাঞ্চ
- যে branch সপ্তাহ, মাস বা বছর ধরে টিকে থাকে — যেমন main, develop বা পুরোনো version-এর release branch; নতুন কাজের দীর্ঘজীবী branch merge-এর ঝুঁকি বাড়ায়।যেখানে শিখবেন: পর্ব ১২পর্ব ১৭
- Loose objectলুজ অবজেক্ট
- যে Git object এখনো কোনো packfile-এ ঢোকেনি; .git/objects/ ফোল্ডারের ভেতরে, ID-র প্রথম দুই অক্ষরের নামের ফোল্ডারে, বাকি ৩৮ অক্ষরের নামে, zlib-এ সংকুচিত একটি আলাদা ফাইল।যেখানে শিখবেন: পর্ব ৫২
- Loose refলুজ রেফ
- files backend-এ যে ref নিজের আলাদা ছোট ফাইলে থাকে, যেমন .git/refs/heads/main; ভেতরে একটি commit hash আর newline. একই নামে packed-refs-এও লেখা থাকলে loose ফাইলটিই মানা হয়।যেখানে শিখবেন: পর্ব ৫৩
- Lost messageলস্ট মেসেজ
- পাঠানো হয়েছে কিন্তু গন্তব্যে পৌঁছায়নি বা গন্তব্য diagram-এর বাইরে এমন message; শেষে একটি ছোট ভরাট বৃত্ত দিয়ে আঁকা হয়।যেখানে শিখবেন: পর্ব ৩০
- Lost updateলস্ট আপডেট
- দুজন একই জিনিসের পুরোনো কপি নিয়ে কাজ করে পরপর save করলে প্রথমজনের পরিবর্তন কোনো সতর্কতা ছাড়াই মুছে যাওয়া।যেখানে শিখবেন: পর্ব ০৭
- Low-level module (detail)লো-লেভেল মডিউল
- যন্ত্র, database, network বা file-এর সাথে কাজের খুঁটিনাটি যে অংশে থাকে, যেমন MySQL-এ row লেখা।যেখানে শিখবেন: পর্ব ২৮
M
- Macro commandম্যাক্রো কমান্ড
- কয়েকটি command মিলিয়ে বানানো একটি command; execute সবগুলো ক্রমে চালায়, undo উল্টো ক্রমে উল্টায়।যেখানে শিখবেন: পর্ব ৩৫
- Magic number / magic literalম্যাজিক নাম্বার
- কোডে কোনো ব্যাখ্যা ছাড়া বসানো সংখ্যা বা লেখা, যেমন 1000 বা "dhaka"; নাম দেওয়া constant-এ রাখলে অর্থ আর বদলানোর জায়গা একটিই হয়।যেখানে শিখবেন: পর্ব ৪১পর্ব ৪২পর্ব ৭০
- .mailmapমেইলম্যাপ
- Repository-র মূলে রাখা একটি ফাইল, যা একই মানুষের ভিন্ন ভিন্ন নাম বা email-কে একটি নামে মেলায়; shortlog আর log-এর হিসাব তখন ঠিক আসে।যেখানে শিখবেন: পর্ব ০৯পর্ব ৬৩
- Main sequenceমেইন সিকোয়েন্স
- A আর I-এর ছবিতে (0,1) থেকে (1,0) পর্যন্ত রেখা, A + I = 1; Martin-এর মতে ভালো package এর কাছাকাছি থাকে, দূরত্ব D = |A + I − 1|.যেখানে শিখবেন: পর্ব ২৫পর্ব ৬৬
- Main success scenarioমেইন সাকসেস সিনারিও
- সবকিছু ঠিকঠাক চললে লক্ষ্য পূরণের সবচেয়ে সাধারণ ধাপগুলোর নম্বর দেওয়া তালিকা; একে basic flow বা happy path-ও বলে।যেখানে শিখবেন: পর্ব ২২পর্ব ৪৭
- Mainline (trunk)মেইনলাইন
- দলের যে branch-এ সবার কাজ নিয়মিত মেলে আর যা সবসময় চলার মতো থাকার কথা — সাধারণত main বা trunk নামের শাখা।যেখানে শিখবেন: পর্ব ৫৮
- Maintainabilityমেইনটেইনেবিলিটি
- Software বোঝা, বদলানো, ভুল সারানো আর test করা কতটা সহজ — modularity, reusability, analysability, modifiability, testability.যেখানে শিখবেন: পর্ব ০৩পর্ব ২৫পর্ব ২৬
- Maintainerমেইনটেইনার
- যিনি একটি project বা তার অংশের দায়িত্বে থাকেন — অন্যদের অবদান পড়েন, সিদ্ধান্ত নেন আর merge করেন।যেখানে শিখবেন: পর্ব ১৬পর্ব ৬৩
- Mark schemeমার্ক স্কিম
- পরীক্ষকের নম্বর দেওয়ার তালিকা — উত্তরের কোন অংশে কত নম্বর, তা আগে থেকে ঠিক করা থাকে।যেখানে শিখবেন: পর্ব ৬৮
- Markdownমার্কডাউন
- সাধারণ লেখার ফাইলে # শিরোনাম, - তালিকা, | টেবিলের মতো সহজ চিহ্ন দিয়ে ফরম্যাট করার ভাষা; Git-এ diff আর review করা সহজ বলে দলিল রাখতে জনপ্রিয়।যেখানে শিখবেন: পর্ব ২৪পর্ব ৬৩
- Masked variableমাস্কড ভ্যারিয়েবল
- CI-র এমন গোপন variable, যার মান log-এ ছাপা হলে platform তা তারকাচিহ্ন দিয়ে ঢেকে দেয়; তবে মান বদলে (যেমন base64) ছাপালে ঢাকা না-ও পড়তে পারে।যেখানে শিখবেন: পর্ব ৫৮
- Massive View Controllerম্যাসিভ ভিউ কন্ট্রোলার
- যে view controller বা screen-এর class-এ network, নিয়ম, format আর navigation সব জমে হাজার লাইনের হয়ে যায়; MVC-কে নিয়ে developer-সমাজের পরিচিত ঠাট্টার নাম।যেখানে শিখবেন: পর্ব ৩৯
- Matrix buildম্যাট্রিক্স বিল্ড
- একই job-কে কয়েকটি মাত্রার সব জোড়ায় চালানো, যেমন ৩টি operating system × ৩টি language version = ৯টি job; exclude দিয়ে কিছু জোড়া বাদ, include দিয়ে যোগ করা যায়।যেখানে শিখবেন: পর্ব ৫৮
- Maturity level (CMMI)ম্যাচিউরিটি লেভেল
- CMMI-তে প্রতিষ্ঠানের প্রক্রিয়ার পরিপক্বতার ধাপ: Initial, Managed, Defined, Quantitatively Managed আর Optimizing.যেখানে শিখবেন: পর্ব ৬২
- MC/DC (modified condition/decision coverage)এমসি/ডিসি
- Condition/decision coverage-এর সাথে প্রতিটি condition-এর জন্য এমন দুটি test, যেখানে শুধু সেই condition বদলায় আর decision-এর ফলও বদলায়; n শর্তে সাধারণত n + 1টি test.যেখানে শিখবেন: পর্ব ৫০পর্ব ৬৬
- MCQ (multiple-choice question)এমসিকিউ
- কয়েকটি অপশন থেকে সঠিকটি বেছে নেওয়ার প্রশ্ন; এই পাতায় প্রতিটিতে চারটি অপশন, যার ঠিক একটি সঠিক।যেখানে শিখবেন: পর্ব ৬৭
- Mediator patternমিডিয়েটর প্যাটার্ন
- একদল object একে অপরকে সরাসরি না চিনে একটি কেন্দ্রীয় সমন্বয়কের মাধ্যমে কথা বলে — অনেক-থেকে-অনেক নির্ভরতা নেমে আসে প্রতিটির মাত্র একটিতে।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৩৯
- Mediator topologyমিডিয়েটর টপোলজি
- Event-driven ধরনের যে রূপে একটি কেন্দ্রীয় mediator প্রথম event নিয়ে কোন ধাপ কোন ক্রমে হবে তা ঠিক করে, আর ভুল হলে ফেরানোর ধাপও চালায়।যেখানে শিখবেন: পর্ব ৩৮
- Meeting agendaমিটিং অ্যাজেন্ডা
- সভার আগে পাঠানো তালিকা: কোন বিষয়, কী সিদ্ধান্ত চাই আর কী পড়ে আসতে হবে।যেখানে শিখবেন: পর্ব ৬৩
- Memento patternমেমেন্টো প্যাটার্ন
- Encapsulation না ভেঙে একটি object-এর ভেতরের অবস্থার snapshot রেখে পরে সেই অবস্থায় ফেরানোর behavioral pattern; undo-র একটি ভিত্তি।যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৬
- Memoizationমেমোইজেশন
- একটি function-এর argument অনুযায়ী ফল মনে রাখা, যাতে একই argument-এ আবার হিসাব না করে জমানো ফল ফেরত দেওয়া যায়; Python-এ functools.cache এর উদাহরণ।
- Memory leakমেমরি লিক
- প্রোগ্রাম আর দরকার নেই এমন memory ছাড়ে না, কারণ কোথাও এখনো তার reference আছে; ফলে memory-র ব্যবহার সময়ের সাথে বাড়তেই থাকে।যেখানে শিখবেন: পর্ব ৩৫
- Memory modelমেমরি মডেল
- একটি ভাষার নিয়ম, যা বলে এক thread-এর লেখা অন্য thread কখন আর কোন ক্রমে দেখতে পাবে; compiler আর CPU-র ক্রম বদলানোর সীমাও এটি ঠিক করে।যেখানে শিখবেন: পর্ব ৩৩
- Mercurialমার্কিউরিয়াল
- ২০০৫ সালে Matt Mackall-এর শুরু করা distributed version control, Git-এর সমসাময়িক; command-এর নাম hg.যেখানে শিখবেন: পর্ব ০৭
- Mergeমার্জ
- দুটি আলাদা ধারার পরিবর্তন একসাথে মিলিয়ে একটি অবস্থা তৈরি করা।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৭পর্ব ৬৮
- Merge baseমার্জ বেস
- দুটি commit-এর সবচেয়ে কাছের (best) common ancestor; three-way merge-এ এটিই তুলনার ভিত্তি।যেখানে শিখবেন: পর্ব ০৯পর্ব ১৩পর্ব ১৫
- Merge bias (merge event bias)মার্জ বায়াস
- কয়েকটি সমান্তরাল পথ এক জায়গায় মিললে শেষ হওয়ার প্রকৃত সময় একটিমাত্র critical path-এর হিসাবের চেয়ে বেশি হওয়ার প্রবণতা; এ কারণে PERT আশাবাদী হয়।যেখানে শিখবেন: পর্ব ৬১
- Merge commitমার্জ কমিট
- দুই বা তার বেশি parent-ওয়ালা commit, যা দুটি কাজের ধারার মিলনবিন্দু হিসেবে history-তে থাকে।যেখানে শিখবেন: পর্ব ০৯পর্ব ১১পর্ব ১৩
- Merge conflictমার্জ কনফ্লিক্ট
- দুই পক্ষ একই ফাইলের একই বা পাশাপাশি অংশ ভিন্নভাবে বদলালে (কিংবা এক পক্ষ ফাইল মুছলে আর অন্য পক্ষ বদলালে) version control নিজে মেলাতে পারে না; তখন মানুষকে ঠিক করে দিতে হয়।যেখানে শিখবেন: পর্ব ০৭পর্ব ১৩পর্ব ১৫
- Merge driverমার্জ ড্রাইভার
- একটি ফাইলের তিন সংস্করণ কীভাবে মেলানো হবে তা ঠিক করা ফাইল-স্তরের পদ্ধতি; .gitattributes-এ merge=… দিয়ে বাছা হয়, যেমন built-in text, binary, union বা config-এ লেখা নিজস্ব command.যেখানে শিখবেন: পর্ব ৫৪
- Merge nodeমার্জ নোড
- Activity diagram-এর হীরা, যেখানে কয়েকটি বিকল্প পথ এক হয়; যে token আসে তা অপেক্ষা না করেই এগিয়ে যায়, join-এর মতো সব পথের অপেক্ষা করে না।যেখানে শিখবেন: পর্ব ৩০
- Merge queueমার্জ কিউ
- Approve হওয়া pull request-গুলোকে সারিতে রেখে প্রতিটিকে তখনকার সর্বশেষ main-এর সাথে মিলিয়ে আবার test করে তারপর merge করার ব্যবস্থা; GitLab-এ একই ধরনের সুবিধার নাম merge train.যেখানে শিখবেন: পর্ব ১৬পর্ব ১৭পর্ব ৫৮
- Merge request (MR)মার্জ রিকোয়েস্ট
- GitLab-এ pull request-এর নাম — একটি branch-এর পরিবর্তন অন্য branch-এ মেলানোর অনুরোধ, review আর আলোচনাসহ।যেখানে শিখবেন: পর্ব ১৬
- Merge strategy (ort)মার্জ স্ট্র্যাটেজি
- Git কোন পদ্ধতিতে merge করবে; এখনকার default হলো ort, যা আগের recursive strategy-র জায়গা নিয়েছে।যেখানে শিখবেন: পর্ব ১৩
- MERGE_HEADমার্জ হেড
- Merge চলার মাঝপথে (যেমন conflict-এ থামলে) যে commit মেলানো হচ্ছে তার hash রাখা বিশেষ ref; commit বা --abort হলে মুছে যায়।যেখানে শিখবেন: পর্ব ৫৩
- Merkle tree (Merkle DAG)মার্কল ট্রি
- যে গাছে প্রতিটি node-এর নাম তার সন্তানদের hash-সহ বিষয়বস্তুর hash; ফলে ওপরের একটি hash পুরো গাছের ছাপ, আর নিচে কোথাও কিছু বদলালে ওপরের hash বদলে যায়।যেখানে শিখবেন: পর্ব ৫২
- Mermaidমারমেইড
- Markdown-এর মতো লেখা থেকে diagram বানানোর একটি JavaScript tool; অনেক code-hosting platform README-তে সরাসরি দেখায়।যেখানে শিখবেন: পর্ব ২৯পর্ব ৩০
- Message chainsমেসেজ চেইনস
- Code smell: a.b().c().d()-এর মতো লম্বা ডাকের শিকল, যাতে caller পুরো object-কাঠামোর ওপর নির্ভর করে; Law of Demeter-এর লঙ্ঘনের সাথে সম্পর্কিত।যেখানে শিখবেন: পর্ব ৪২
- Method injectionমেথড ইনজেকশন
- Dependency প্রতিবার method ডাকার সময় parameter হিসেবে দেওয়া; যে জিনিস প্রতিটি ডাকে আলাদা হতে পারে, যেমন এই অনুরোধের ভাষা বা তারিখ, তার জন্য।যেখানে শিখবেন: পর্ব ৩৭
- Microkernel (plug-in) architectureমাইক্রোকার্নেল আর্কিটেকচার
- ছোট একটি মূল system আর তার প্রকাশিত চুক্তি মেনে যুক্ত হওয়া plugin দিয়ে গড়া ধরন; নতুন ক্ষমতা আসে নতুন plugin-এ, মূল অংশ প্রায় বদলায় না।যেখানে শিখবেন: পর্ব ৩৮
- Microserviceমাইক্রোসার্ভিস
- আলাদাভাবে deploy করা যায় এমন একটি ছোট service, যা একটি ব্যবসায়িক দায়িত্বের মালিক আর network-এর মাধ্যমে অন্যদের সাথে কথা বলে।যেখানে শিখবেন: পর্ব ২৫পর্ব ৩৮পর্ব ৫১
- Middle manমিডল ম্যান
- Code smell: যে class-এর বেশিরভাগ method শুধু অন্য একটি object-এ কাজ পাঠিয়ে দেয়, নিজে কিছু যোগ করে না; প্রতিকার Remove Middle Man বা Inline.যেখানে শিখবেন: পর্ব ৪২
- Middlewareমিডলওয়্যার
- Web framework-এ অনুরোধ আর আসল handler-এর মাঝের ছোট ধাপ — যেমন login যাচাই, log বা rate limit — যা কাজ করে পরের ধাপে পাঠায় বা নিজেই উত্তর দিয়ে থামায়।যেখানে শিখবেন: পর্ব ৩৬
- Milestoneমাইলস্টোন
- Project-এর একটি গুরুত্বপূর্ণ বিন্দু, যেখানে নির্দিষ্ট কাজ শেষ হয়েছে কি না যাচাই করে পরের ধাপের সিদ্ধান্ত নেওয়া হয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ৬১
- Mixinমিক্সিন
- একা ব্যবহারের জন্য নয় এমন একটি ছোট class, যা multiple inheritance দিয়ে অন্য class-এ একটি নির্দিষ্ট ক্ষমতা মিশিয়ে দেয়, যেমন JSON-এ রূপান্তর।যেখানে শিখবেন: পর্ব ৩৭
- Mob (ensemble) programmingমব প্রোগ্রামিং
- পুরো দল একটি screen-এ একসাথে একটি কাজ করে; একজন লেখেন, সবাই মিলে ভাবেন, কয়েক মিনিট পরপর লেখক বদলান।যেখানে শিখবেন: পর্ব ৪৪
- Mock (mock object)মক
- যে test double-এ আগে থেকে বলে দেওয়া থাকে কোন ডাক কোন argument-সহ আসার কথা, আর test শেষে সে নিজেই যাচাই করে প্রত্যাশা মিলেছে কি না; কথ্য ভাষায় অনেকে যেকোনো নকল object-কেই mock বলেন।যেখানে শিখবেন: পর্ব ৪৮পর্ব ৪৯পর্ব ৫১
- Mock driftমক ড্রিফট
- আসল dependency বদলে যাওয়ার পরও test-এর mock পুরোনো আচরণ নকল করে চলা; ফলে test সবুজ থাকে কিন্তু আসল system-এ কোড ভাঙে।যেখানে শিখবেন: পর্ব ৪৯পর্ব ৫১
- Mockist TDD (London school)মকিস্ট টিডিডি
- যে ধারা প্রতিটি আকর্ষণীয় সহযোগীকে mock দিয়ে বদলায় আর object-গুলোর পারস্পরিক বার্তা যাচাই করে; বাইরে থেকে ভেতরে নকশা খুঁজে পেতে সাহায্য করে।যেখানে শিখবেন: পর্ব ৪৯
- Mockupমকআপ
- Screen বা পাতা দেখতে কেমন হবে তার একটি স্থির ছবি বা নকশা, যা কাজ করে না, কিন্তু দেখিয়ে মতামত নেওয়া যায়।যেখানে শিখবেন: পর্ব ২০
- Model (MVC)মডেল
- MVC-জাতীয় নকশায় data আর তার নিয়মের অংশ, যা কোনো view বা screen চেনে না; বদলালে নিবন্ধিত শ্রোতাদের খবর দিতে পারে।যেখানে শিখবেন: পর্ব ৩৯
- Model answerমডেল আনসার
- পূর্ণ নম্বর পাওয়ার মতো একটি নমুনা উত্তর — কাঠামো আর জরুরি অংশ দেখানোর জন্য, মুখস্থের জন্য নয়।যেখানে শিখবেন: পর্ব ৬৮
- Modern code reviewমডার্ন কোড রিভিউ
- হালকা, tool-ভিত্তিক আর asynchronous review — সভা ছাড়া, প্রায় প্রতিটি পরিবর্তনে, সাধারণত pull request-এর পাতায়; আনুষ্ঠানিক inspection-এর বিপরীতে।যেখানে শিখবেন: পর্ব ৪৪
- Modular monolithমডিউলার মনোলিথ
- একটি deploy-যোগ্য একক, কিন্তু ভেতরে স্পষ্ট সীমার module — প্রতিটি নিজের ডেটা ও public interface-এর মালিক, অন্যের ভেতরে হাত দেয় না।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৭০
- Modularityমডিউলারিটি
- একটি system-কে এমন আলাদা আলাদা অংশে ভাগ করা, যাতে প্রতিটি অংশ আলাদাভাবে বোঝা, বদলানো আর test করা যায়।যেখানে শিখবেন: পর্ব ২৫
- Moduleমডিউল
- Software-এর একটি স্বতন্ত্র অংশ — একটি function-এর দল, class, file, package বা service — যার একটি স্পষ্ট interface থাকে আর ভেতরের খুঁটিনাটি লুকানো থাকে।যেখানে শিখবেন: পর্ব ২৫
- Module cacheমডিউল ক্যাশ
- প্রথম import-এর পরে module object জমা রাখার জায়গা — Python-এ sys.modules, ES module-এ module map — ফলে পরের import একই object পায়।যেখানে শিখবেন: পর্ব ৩৩
- Monkey patching (patch)মাংকি প্যাচিং
- চালানোর সময় কোনো module বা object-এর একটি নাম অন্য জিনিস দিয়ে সাময়িক বদলে দেওয়া, যেমন Python-এর unittest.mock.patch দিয়ে test চলাকালে একটি function নকল দিয়ে বদলানো।যেখানে শিখবেন: পর্ব ৪৯
- Monolithমনোলিথ
- পুরো application একটি একক deploy-যোগ্য একক হিসেবে build ও চালানো হয়; ভেতরে ভালোভাবে ভাগ করা থাকতে পারে, না-ও পারে।যেখানে শিখবেন: পর্ব ৩৮
- Monorepoমনোরিপো
- বহু project বা service একটিমাত্র version control repository-তে, একটি সাধারণ ইতিহাসে রাখার পদ্ধতি; project-গুলো তবু আলাদাভাবে build আর deploy হতে পারে।যেখানে শিখবেন: পর্ব ১৯পর্ব ৬৯
- Monte Carlo simulationমন্টে কার্লো সিমুলেশন
- অতীতের তথ্য থেকে এলোমেলোভাবে বারবার নমুনা নিয়ে হাজার হাজার সম্ভাব্য ভবিষ্যৎ চালিয়ে ফলের সম্ভাবনা অনুমান করার পদ্ধতি।যেখানে শিখবেন: পর্ব ০৫পর্ব ৬০
- Monte Carlo simulationমন্টি কার্লো সিমুলেশন
- এলোমেলো নমুনা নিয়ে একই হিসাব হাজার হাজার বার চালিয়ে সম্ভাব্য ফলাফলের বণ্টন বের করার পদ্ধতি।যেখানে শিখবেন: পর্ব ০৬পর্ব ৬১
- MoSCoWমস্কো
- Requirement-কে Must have, Should have, Could have আর Won't have this time — এই চার ঘরে ভাগ করার অগ্রাধিকার-পদ্ধতি; সাধারণত Dai Clegg-এর নামে উদ্ধৃত, DSDM-এ জনপ্রিয়।যেখানে শিখবেন: পর্ব ২৪
- Move Function / Move Fieldমুভ ফাংশন
- Refactoring: function বা field-কে সেই module বা class-এ সরানো, যার তথ্য সে সবচেয়ে বেশি ব্যবহার করে; প্রথম সংস্করণে Move Method.যেখানে শিখবেন: পর্ব ৪২
- MRO (method resolution order)এম-আর-ও
- Python-এ একটি method বা attribute খোঁজার সময় কোন class-এর পরে কোন class দেখা হবে, তার নির্দিষ্ট তালিকা; cls.__mro__ দিয়ে দেখা যায়।যেখানে শিখবেন: পর্ব ২৯
- MTBFএমটিবিএফ
- Mean Time Between Failures — দুটি failure-এর মাঝে system গড়ে কত সময় ঠিকঠাক চলে; কিছু বইয়ে মেরামতের সময়সহ পুরো চক্র।যেখানে শিখবেন: পর্ব ০৩পর্ব ৬২পর্ব ৬৬
- MTTRএমটিটিআর
- Mean Time To Repair বা Restore — failure-এর পর system আবার চালু হতে গড়ে কত সময় লাগে।যেখানে শিখবেন: পর্ব ০৩পর্ব ৫৯পর্ব ৬৬
- Muda (waste)মুদা
- জাপানি শব্দ, অর্থ অপচয়: যে কাজে সময় বা শ্রম যায় কিন্তু গ্রাহকের কাছে কোনো মূল্য যোগ হয় না।যেখানে শিখবেন: পর্ব ০৬
- Multiple-condition coverageমাল্টিপল-কন্ডিশন কভারেজ
- একটি decision-এর condition-গুলোর মানের প্রতিটি সম্ভাব্য সমন্বয় test করা; n শর্তে 2ⁿটি সমন্বয়।যেখানে শিখবেন: পর্ব ৫০
- Multiplicityমাল্টিপ্লিসিটি
- Association-এর এক প্রান্তে লেখা সংখ্যা বা পরিসর (1, 0..1, 0..*, 1..*), যা বলে অন্য প্রান্তের একটি জিনিসের সাথে এই প্রান্তের কতগুলো থাকতে পারে।যেখানে শিখবেন: পর্ব ২৩পর্ব ২৯পর্ব ৬৮
- Mutantমিউট্যান্ট
- আসল কোডে একটিমাত্র ছোট পরিবর্তন, যেমন >= থেকে >, করে বানানো সংস্করণ।যেখানে শিখবেন: পর্ব ৫০
- Mutation operatorমিউটেশন অপারেটর
- Mutant বানানোর নিয়ম, যেমন relational, arithmetic বা logical operator বদলানো, কিংবা constant বদলানো।যেখানে শিখবেন: পর্ব ৫০
- Mutation scoreমিউটেশন স্কোর
- Test suite যতগুলো mutant মেরেছে, তাকে মোট mutant থেকে equivalent mutant বাদ দিয়ে ভাগ করা শতাংশ; বোঝায় test কতটা ভুল ধরতে পারে।যেখানে শিখবেন: পর্ব ৬৬
- Mutation testingমিউটেশন টেস্টিং
- কোডে ইচ্ছে করে ছোট ভুল বসিয়ে অনেক সংস্করণ (mutant) বানিয়ে দেখা test suite সেগুলো ধরে কি না; test-এর শক্তির মাপ।যেখানে শিখবেন: পর্ব ৫০পর্ব ৬৪পর্ব ৬৮
- MVC (Model-View-Controller)এম-ভি-সি
- UI-র কোডকে তিন ভূমিকায় ভাগ করার নকশা: model রাখে data আর নিয়ম, view দেখায়, controller ব্যবহারকারীর input নিয়ে model-কে ডাকে; Trygve Reenskaug ১৯৭৮–৭৯ সালে Smalltalk-এর জন্য ধারণাটি দেন।যেখানে শিখবেন: পর্ব ৩৯পর্ব ৬৮পর্ব ৭০
- MVP (Minimum Viable Product)এম-ভি-পি
- সবচেয়ে ছোট এমন একটি product, যা দিয়ে আসল ব্যবহারকারীর কাছ থেকে শেখা যায় যে ধারণাটি কাজের কি না।যেখানে শিখবেন: পর্ব ০৪
- MVP (Model-View-Presenter)মডেল-ভিউ-প্রেজেন্টার
- UI নকশা, যেখানে view ঘটনা ধরে presenter-কে দেয়, আর presenter model ডেকে একটি interface-এর মাধ্যমে view-কে বলে কী দেখাতে হবে; MVP নামটি Minimum Viable Product অর্থেও চলে, তাই প্রসঙ্গ দেখে বুঝতে হয়।যেখানে শিখবেন: পর্ব ৩৯
- MVVM (Model-View-ViewModel)এম-ভি-ভি-এম
- UI নকশা, যেখানে view model screen-এর state আর command প্রকাশ করে কিন্তু view চেনে না, আর data binding view-কে view model-এর সাথে মিলিয়ে রাখে; Microsoft-এর John Gossman ২০০৫ সালে WPF-এর জন্য বর্ণনা করেন।যেখানে শিখবেন: পর্ব ৩৯পর্ব ৬৮পর্ব ৭০
- Myers diff algorithmমায়ার্স ডিফ অ্যালগরিদম
- Eugene W. Myers-এর ১৯৮৬ সালের প্রবন্ধে দেওয়া O(ND) সময়ের algorithm, যা সবচেয়ে কম যোগ-বিয়োগের একটি diff খোঁজে; Git-এর ডিফল্ট diff algorithm.যেখানে শিখবেন: পর্ব ০৯
- Mystery guestমিস্ট্রি গেস্ট
- Test এমন বাইরের ডেটা বা ফাইল ব্যবহার করে যা test পড়ে দেখা যায় না, ফলে কেন ফলটি প্রত্যাশিত তা বোঝা কঠিন।যেখানে শিখবেন: পর্ব ৪৬
N
- N+1 queryএন প্লাস ওয়ান কোয়েরি
- একটি তালিকা আনতে একটি query, তারপর তালিকার প্রতিটি সদস্যের জন্য আলাদা একটি query — সদস্য বাড়লে database-এর চাপ আর সময় সমানুপাতে বাড়ে।যেখানে শিখবেন: পর্ব ৪৪
- N-tier architectureএন-টিয়ার আর্কিটেকচার
- Layer-গুলো আলাদা যন্ত্র বা process-এ চালানো, যেমন browser, application server আর database server — তিনটি tier; layer হলো কোডের ভাগ, tier হলো চালানোর জায়গার ভাগ।যেখানে শিখবেন: পর্ব ৩৮
- Name manglingনেম ম্যাঙ্গলিং
- Python-এ class-এর ভেতরে __x নামকে _ClassName__x নামে বদলে রাখা, যাতে subclass ভুল করে একই নাম ব্যবহার না করে; এটি সত্যিকারের private নয়।যেখানে শিখবেন: পর্ব ২৯
- Named constantনেমড কনস্ট্যান্ট
- একটি নির্দিষ্ট মানের জন্য অর্থবহ নাম, যেমন REFUND_WINDOW_DAYS = 7, যা এক জায়গায় সংজ্ঞায়িত আর সবখানে নামে ব্যবহৃত।যেখানে শিখবেন: পর্ব ৪১
- Namespace (ref)নেমস্পেস
- Branch-এর নামে স্ল্যাশ দিয়ে বানানো দল বা ফোল্ডার, যেমন feature/ বা fix/, যাতে একই ধরনের branch একসাথে থাকে।যেখানে শিখবেন: পর্ব ১২
- Naming conventionনেমিং কনভেনশন
- একটি ভাষা বা দলের নাম লেখার নিয়ম, যেমন Python-এ function-এর জন্য snake_case, class-এর জন্য PascalCase আর constant-এর জন্য UPPER_SNAKE_CASE.যেখানে শিখবেন: পর্ব ৪১
- Narrow integration testন্যারো ইন্টিগ্রেশন টেস্ট
- নিজের কোডের শুধু যে অংশটি বাইরের একটি জিনিসের (database, অন্য service) সাথে কথা বলে, সেটুকু আসল বা প্রায়-আসল সেই জিনিসের সাথে যাচাই করা ছোট, দ্রুত যাচাই।যেখানে শিখবেন: পর্ব ৫১
- Near-critical pathনিয়ার-ক্রিটিক্যাল পাথ
- যে পথের float খুব কম, তাই সামান্য দেরিতেই সেটি critical হয়ে যেতে পারে; ঝুঁকির তালিকায় রাখা হয়।যেখানে শিখবেন: পর্ব ৬১
- Nearest-rank methodনিয়ারেস্ট র্যাংক মেথড
- Percentile বের করার একটি সহজ নিয়ম — n-টি মান ছোট থেকে বড় সাজিয়ে ⌈p/100 × n⌉ নম্বর অবস্থানের মানটি নেওয়া; যেমন ২০০টি মানে p95 হলো ১৯০তম মান।যেখানে শিখবেন: পর্ব ২১
- Negation pattern (!)নেগেশন প্যাটার্ন
- .gitignore-এ ! দিয়ে শুরু হওয়া লাইন, যা আগের কোনো pattern-এ বাদ পড়া file-কে আবার ফিরিয়ে আনে; কিন্তু file-এর কোনো parent folder বাদ পড়ে থাকলে ফেরানো যায় না।যেখানে শিখবেন: পর্ব ১০
- Negative markingনেগেটিভ মার্কিং
- ভুল উত্তরে নম্বর কেটে নেওয়ার নিয়ম; কত কাটে বা আদৌ কাটে কি না, পরীক্ষাভেদে আলাদা।যেখানে শিখবেন: পর্ব ৬৭
- Nesting depthনেস্টিং ডেপথ
- কোডের একটি অংশ কতগুলো ব্লকের (if, loop, try) ভেতরে আছে তার সংখ্যা; যত বেশি, পাঠককে তত বেশি শর্ত একসাথে মনে রাখতে হয়।যেখানে শিখবেন: পর্ব ৪১পর্ব ৫০
- Network copyleftনেটওয়ার্ক কপিলেফট
- যে copyleft শর্ত network-এ সেবা দিলেও জাগে, শুধু কপি বিতরণে নয়; AGPL-3.0-এর ধারা ১৩ এর উদাহরণ।যেখানে শিখবেন: পর্ব ৬৩
- Nightly buildনাইটলি বিল্ড
- প্রতিদিন রাতে একবার, সময়সূচি ধরে চলা build; ধীর suite চালাতে কাজের, কিন্তু একমাত্র build হলে ভুল ধরা পড়ে এক দিন দেরিতে।যেখানে শিখবেন: পর্ব ৫৮
- Nitpick (nit)নিটপিক
- Review-এ ছোট, ঐচ্ছিক মন্তব্য — নাম, বানান বা রুচির ব্যাপার — যা না মানলেও merge আটকানো উচিত নয়; প্রায়ই nit: লিখে চিহ্নিত করা হয়।যেখানে শিখবেন: পর্ব ১৬পর্ব ৪৪
- --no-verifyনো-ভেরিফাই
- git commit আর git push-এর একটি flag, যা pre-commit, commit-msg আর pre-push hook না চালিয়ে কাজটি করে; তাই client-side hook নিয়ম মানানোর নিশ্চয়তা নয়।যেখানে শিখবেন: পর্ব ৫৬
- #NoEstimatesনো-এস্টিমেটস
- ২০১০-এর দশকে শুরু হওয়া একটি আলোচনা, যা প্রশ্ন তোলে বিস্তারিত অনুমানের খরচ তার লাভের চেয়ে বেশি কি না, আর ছোট সমান আকারের কাজ গুনে পূর্বাভাসের পক্ষে বলে।যেখানে শিখবেন: পর্ব ৬০
- Non-fast-forwardনন-ফাস্ট-ফরওয়ার্ড
- এমন বদল যেখানে একটি ref-এর পুরোনো commit নতুন commit-এর ancestor নয়, ফলে বদলালে কিছু commit সেই ref থেকে আর পৌঁছানো যায় না; remote সাধারণত এমন push প্রত্যাখ্যান করে।যেখানে শিখবেন: পর্ব ১৪
- Non-functional requirementনন-ফাংশনাল রিকোয়ারমেন্ট
- Software কী করবে তা নয়, কতটা ভালোভাবে করবে তা বলে এমন requirement — যেমন গতি, নিরাপত্তা, availability বা ব্যবহারের সহজতা।যেখানে শিখবেন: পর্ব ০৩পর্ব ২১পর্ব ৬৫
- Non-functional testingনন-ফাংশনাল টেস্টিং
- System কতটা ভালোভাবে কাজ করে তার যাচাই — গতি, নিরাপত্তা, ব্যবহারের সহজতা, সামঞ্জস্য, নির্ভরযোগ্যতার মতো quality-র গুণ।যেখানে শিখবেন: পর্ব ৪৫
- NOTICE fileনোটিস ফাইল
- Apache-2.0-এ উল্লিখিত attribution-এর ফাইল; মূল project-এ থাকলে আপনার বিতরণেও তার লেখা রাখতে হয়।যেখানে শিখবেন: পর্ব ৬৩
- Noun analysisনাউন অ্যানালাইসিস
- Requirement-এর লেখা থেকে বিশেষ্য তুলে class বা attribute-এর প্রার্থী আর ক্রিয়া তুলে কাজের প্রার্থী খোঁজার কৌশল; ফল শুধু প্রার্থী, মানুষের বিচার লাগে।যেখানে শিখবেন: পর্ব ২৩
- NPV (Net Present Value)এন-পি-ভি
- সব বছরের নিট টাকার প্রবাহকে discount rate দিয়ে আজকের মূল্যে এনে যোগ করা, শুরুর বিনিয়োগসহ; শূন্যের বেশি হলে সেই হারে বিকল্পটি লাভজনক।যেখানে শিখবেন: পর্ব ২০
O
- Object adapterঅবজেক্ট অ্যাডাপ্টার
- যে adapter adaptee-র একটি object ধরে রেখে (composition) তার কাছে কাজ পাঠায়; adaptee-র যেকোনো subclass-এর সাথেও চলে, তাই বেশি প্রচলিত।যেখানে শিখবেন: পর্ব ৩৪
- Object compositionঅবজেক্ট কম্পোজিশন
- একটি object অন্য object-কে নিজের অংশ হিসেবে রেখে তার interface দিয়ে কাজ করায়, ফলে অংশটি বদলে আচরণ বদলানো যায়; inheritance-এর নমনীয় বিকল্প।যেখানে শিখবেন: পর্ব ২৬পর্ব ২৮পর্ব ৩৪
- Object diagramঅবজেক্ট ডায়াগ্রাম
- একটি নির্দিষ্ট মুহূর্তে কোন কোন object আছে, তাদের attribute-এর মান আর তাদের মধ্যের link-এর ছবি; object-এর নাম name : Class আকারে, নিচে দাগসহ।যেখানে শিখবেন: পর্ব ২৯
- Object flowঅবজেক্ট ফ্লো
- Activity diagram-এর যে তীর একটি data বা object বহন করে, যেমন একটি Order এক action থেকে আরেক action-এ।যেখানে শিখবেন: পর্ব ৩০
- Object nodeঅবজেক্ট নোড
- Activity diagram-এ আয়তক্ষেত্রে type লেখা উপাদান, যেমন Order [paid], যা দেখায় দুটি action-এর মাঝে কোন data অপেক্ষা করে।যেখানে শিখবেন: পর্ব ৩০
- Object poolঅবজেক্ট পুল
- বানাতে দামি object (যেমন database connection) আগে থেকে কয়েকটি বানিয়ে রাখা আর ধার দিয়ে ফেরত নেওয়া; GoF-এর ২৩টির মধ্যে নেই।যেখানে শিখবেন: পর্ব ৩৩
- Object-oriented programmingঅবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং
- Data আর তার ওপর কাজ করা ফাংশনকে object-এ একসাথে রেখে প্রোগ্রাম সাজানোর ধারা; Simula, Smalltalk, C++, Java এর উদাহরণ।যেখানে শিখবেন: পর্ব ০২
- Observable behaviourঅবজারভেবল বিহেভিয়ার
- একটি program-এর যে আচরণ বাইরে থেকে দেখা যায় ও যার ওপর অন্যরা নির্ভর করে, যেমন ফেরত মান, আউটপুট, ফাইলে লেখা বা error; refactoring এটি বদলায় না।যেখানে শিখবেন: পর্ব ৪২
- Observer patternঅবজারভার প্যাটার্ন
- একটি object-এর অবস্থা বদলালে তার ওপর নির্ভরশীল সবাইকে নিজে থেকে জানানোর behavioral pattern; GoF বইয়ে এর আরেক নাম Publish-Subscribe, তবে broker-ভিত্তিক pub/sub ব্যবস্থা থেকে এটি আলাদা।যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৫পর্ব ৩৯
- Obvious implementationঅবভিয়াস ইমপ্লিমেন্টেশন
- সমাধান স্পষ্ট জানা থাকলে সরাসরি আসল কোড লিখে সবুজে যাওয়া; অপ্রত্যাশিত লাল এলে আবার fake it বা triangulation-এর ছোট ধাপে ফেরা।যেখানে শিখবেন: পর্ব ৪৮
- OCL (Object Constraint Language)ও-সি-এল
- UML model-এ নিয়ম বা শর্ত সুনির্দিষ্টভাবে লেখার OMG-র ভাষা, যেমন একজন সদস্যের চলতি ধার ৩-এর বেশি নয়।যেখানে শিখবেন: পর্ব ২৯
- Octopus mergeঅক্টোপাস মার্জ
- একসাথে দুইয়ের বেশি branch মেলানো, যার ফল তিন বা তার বেশি parent-ওয়ালা একটি merge commit; octopus strategy হাতে সমাধান লাগে এমন জটিল conflict-এ রাজি হয় না।যেখানে শিখবেন: পর্ব ৫৪
- Off pointঅফ পয়েন্ট
- সীমার অন্য পাশে সবচেয়ে কাছের মান, যা পাশের partition-এ পড়ে; integer-এ সাধারণত on point থেকে ১ কম বা বেশি, যেমন 40-এর সীমায় 39.যেখানে শিখবেন: পর্ব ৪৭
- Off-by-one errorঅফ-বাই-ওয়ান এরর
- সীমায় এক ঘর ভুল হওয়া, যেমন <= এর বদলে < লেখা বা লুপ এক ধাপ কম বা বেশি চলা; boundary value test এ ধরনের ভুল ধরতেই বানানো।যেখানে শিখবেন: পর্ব ৪৭পর্ব ৫৫
- OIDC (OpenID Connect)ওআইডিসি
- পরিচয় যাচাইয়ের একটি মান; CI-তে job প্রতিবার একটি স্বল্পমেয়াদি, স্বাক্ষরিত token পায়, আর cloud সেটি যাচাই করে অল্প সময়ের অনুমতি দেয় — দীর্ঘমেয়াদি key রাখতে হয় না।যেখানে শিখবেন: পর্ব ৫৮
- old valueওল্ড ভ্যালু
- Postcondition-এ ব্যবহৃত, method শুরুর মুহূর্তে কোনো প্রকাশের মান; Eiffel-এ old keyword, যেমন balance = old balance - amount.যেখানে শিখবেন: পর্ব ৩১
- OMG (Object Management Group)ও-এম-জি
- একটি অলাভজনক মানদণ্ড-সংস্থা, যা UML-সহ কয়েকটি modeling মানদণ্ড প্রকাশ ও রক্ষণাবেক্ষণ করে।যেখানে শিখবেন: পর্ব ২৩পর্ব ২৯
- On pointঅন পয়েন্ট
- Boundary value analysis-এ সীমার মানটি নিজেই, অর্থাৎ ঠিক সীমার ওপর পড়া বিন্দু; যেমন ৪০–৫৯ রেঞ্জের নিচের সীমায় ৪০ নিজেই হলো on point মান।যেখানে শিখবেন: পর্ব ৪৭
- On-callঅন-কল
- নির্দিষ্ট সময়ে production-এর সমস্যার সতর্কবার্তা পেলে সাড়া দেওয়ার দায়িত্বে থাকা, প্রায়ই পালা করে।যেখানে শিখবেন: পর্ব ৫৯
- Onboardingঅনবোর্ডিং
- নতুন সদস্যকে দলে কাজের উপযোগী করে তোলার প্রক্রিয়া: access, local setup, প্রথম ছোট কাজ আর কাকে কী জিজ্ঞেস করবেন।যেখানে শিখবেন: পর্ব ৬৩
- One level of abstraction per functionসিঙ্গল লেভেল অব অ্যাবস্ট্র্যাকশন
- একটি function-এর সব লাইন একই স্তরের কথা বলবে — উঁচু স্তরের ধাপ আর নিচু স্তরের খুঁটিনাটি একসাথে মেশানো নয়।যেখানে শিখবেন: পর্ব ৪১
- Onion architectureঅনিয়ন আর্কিটেকচার
- Jeffrey Palermo-র ২০০৮ সালের লেখায় নাম পাওয়া architecture: কেন্দ্রে domain model, চারপাশে domain আর application service, সবচেয়ে বাইরে UI, infrastructure আর test; সব নির্ভরতা কেন্দ্রের দিকে।যেখানে শিখবেন: পর্ব ৪০
- Open questionওপেন কোয়েশ্চেন
- যে প্রশ্নের উত্তর হ্যাঁ/না বা একটি শব্দে হয় না, উত্তরদাতা নিজের ভাষায় বর্ণনা দেন; যেমন এখন একটি অর্ডার কীভাবে নেন?যেখানে শিখবেন: পর্ব ২০
- Open sourceওপেন সোর্স
- যে software-এর source code সবাই দেখতে, বদলাতে আর ছড়াতে পারেন, একটি license-এর শর্ত মেনে।যেখানে শিখবেন: পর্ব ০২পর্ব ৬৩পর্ব ৬৪
- Open Source Definitionওপেন সোর্স ডেফিনিশন
- OSI-এর দশ শর্তের সংজ্ঞা, যেমন অবাধে আবার বিতরণ, source পাওয়া, পরিবর্তিত কাজের অনুমতি আর কারও বিরুদ্ধে বৈষম্য না করা; Debian Free Software Guidelines থেকে নেওয়া।যেখানে শিখবেন: পর্ব ৬৩
- Open Source Initiative (OSI)ওপেন সোর্স ইনিশিয়েটিভ
- ১৯৯৮ সালে গড়া প্রতিষ্ঠান, যা Open Source Definition রক্ষা করে আর কোন license এই সংজ্ঞা মানে তা পরীক্ষা করে অনুমোদন দেয়।যেখানে শিখবেন: পর্ব ৬৩
- Open-closed principle (OCP)ওপেন-ক্লোজড প্রিন্সিপল
- Software-এর অংশ বাড়ানোর জন্য খোলা কিন্তু বদলানোর জন্য বন্ধ থাকবে — নতুন আচরণ আসবে নতুন কোডে, পুরোনো পরীক্ষিত কোড না বদলে; Bertrand Meyer ১৯৮৮ সালে inheritance-এর মাধ্যমে প্রস্তাব করেন, আর আজ প্রচলিত abstraction-ভিত্তিক রূপটি Robert C. Martin-এর।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩৫পর্ব ৩৬
- Operationঅপারেশন
- UML-এ একটি class যে কাজের অনুরোধ গ্রহণ করে তার ঘোষণা — নাম, parameter আর return type; কোডে সাধারণত একটি method হয়।যেখানে শিখবেন: পর্ব ২৯
- Operational acceptance testing (OAT)অপারেশনাল অ্যাকসেপ্ট্যান্স টেস্টিং
- চালানোর দল দেখে system চালানোর উপযুক্ত কি না — install, backup ও restore, monitoring, বিপর্যয়ের পরে পুনরুদ্ধার আর নিরাপত্তার নিয়ম।যেখানে শিখবেন: পর্ব ৪৫
- Optional typeঅপশনাল টাইপ
- থাকতেও পারে, না-ও পারে — কথাটি type-এ প্রকাশ করা, যেমন Java-র Optional, Rust-এর Option বা Python-এ Member | None.যেখানে শিখবেন: পর্ব ৩১পর্ব ৪১
- Order-dependent testঅর্ডার-ডিপেন্ডেন্ট টেস্ট
- যে test-এর ফল নির্ভর করে আগে কোন test চলেছে তার ওপর, কারণ তারা ভাগ করা অবস্থা (database, global variable, ফাইল) রেখে যায়।যেখানে শিখবেন: পর্ব ৫১
- ORIG_HEADঅরিজ হেড
- Reset, merge বা rebase-এর মতো বড় চলাচলের ঠিক আগে HEAD যেখানে ছিল, Git সেই commit-কে এই নামে মনে রাখে।যেখানে শিখবেন: পর্ব ১১পর্ব ১৫পর্ব ৫৩
- originঅরিজিন
- Clone করার সময় Git যে remote-এর নাম নিজে থেকে দেয়; শুধু একটি প্রথাগত নাম, চাইলে বদলানো যায়।যেখানে শিখবেন: পর্ব ১৪
- Orphan testঅরফান টেস্ট
- যে test-এর সাথে কোনো বৈধ requirement যুক্ত নেই; হয় অপ্রয়োজনীয়, নয়তো একটি না-লেখা requirement-এর সংকেত।যেখানে শিখবেন: পর্ব ২৪
- Orthogonal arrayঅর্থোগোনাল অ্যারে
- সারি-কলামের এমন সাজানো টেবিল যেখানে যেকোনো দুই কলামে প্রতিটি মান-জোড়া সমান সংখ্যকবার আসে, যেমন L9-এ ৯টি সারিতে ৪টি তিন-মানের কলাম; পরিসংখ্যানের পরীক্ষা-নকশা থেকে আসা।যেখানে শিখবেন: পর্ব ৪৭
- Orthogonal regionঅর্থোগোনাল রিজিয়ন
- Composite state-এর ড্যাশ রেখায় ভাগ করা একেকটি অংশ; সব region একসাথে সক্রিয়, প্রতিটিতে একটি করে substate.যেখানে শিখবেন: পর্ব ৩০
- Ours / theirsআওয়ার্স / দেয়ার্স
- Merge-এর সময় ours মানে বর্তমান branch (HEAD), theirs মানে যে branch মেলানো হচ্ছে; rebase-এ অর্থ উল্টে যায়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৫
- ours merge strategy (-s ours)আওয়ার্স স্ট্র্যাটেজি
- যে merge strategy অন্য branch-এর বিষয়বস্তু একেবারেই দেখে না; merge commit-এর tree হুবহু বর্তমান branch-এর tree, শুধু history-তে অন্য branch-কে parent হিসেবে মেলানো দেখায়।যেখানে শিখবেন: পর্ব ৫৪
- Output portআউটপুট পোর্ট
- Use case-এর বৃত্তে ঘোষণা করা interface, যা দিয়ে use case তার ফল বাইরে পাঠায়; বাস্তবায়ন করে বাইরের presenter, ফলে ডাক বাইরে গেলেও নির্ভরতা ভেতরে থাকে।যেখানে শিখবেন: পর্ব ৪০
- Outside-in TDD (London school)আউটসাইড-ইন টিডিডি
- System-এর বাইরের দিক, যেমন একটি acceptance test, থেকে শুরু করে ভেতরের দিকে এগোনো; এখনো না লেখা collaborator-কে mock দিয়ে বসিয়ে কে কাকে কী বলবে তা আগে ঠিক করা; একে London বা mockist school-ও বলে।যেখানে শিখবেন: পর্ব ৪৮
- Over-engineeringওভার-ইঞ্জিনিয়ারিং
- সমস্যার চেয়ে বড় আর জটিল সমাধান বানানো, যেমন প্রমাণহীন ভবিষ্যতের জন্য স্তর, pattern আর configuration যোগ করা।যেখানে শিখবেন: পর্ব ২৬পর্ব ৩২পর্ব ৩৩
- Over-mockingওভার-মকিং
- দরকারের চেয়ে বেশি সহযোগী mock করা আর ভেতরের প্রতিটি ডাক যাচাই করা; এতে test implementation-এর প্রতিচ্ছবি হয়ে যায় আর আচরণ না বদলানো refactoring-এও ভাঙে।যেখানে শিখবেন: পর্ব ৪৯
- Over-specified testওভার-স্পেসিফায়েড টেস্ট
- যে test দরকারি আচরণের চেয়ে বেশি খুঁটিনাটি বেঁধে দেয়, যেমন private field, ঠিক কতবার কোন method ডাকা হলো বা পুরো লেখার প্রতিটি অক্ষর; fragile test-এর প্রধান কারণ।যেখানে শিখবেন: পর্ব ৪৬
- Overrideওভাররাইড
- Subclass-এ superclass-এর একই নামের method নতুন করে লেখা, যাতে subclass-এর object-এ নতুন সংস্করণটি চলে।যেখানে শিখবেন: পর্ব ৩৫
P
- Package managerপ্যাকেজ ম্যানেজার
- Library-কে version নম্বরসহ package হিসেবে install, আপডেট আর সরানোর tool, যেমন npm, pip বা Maven; ঠিক version সাধারণত lockfile-এ লেখা থাকে।যেখানে শিখবেন: পর্ব ১৯
- packed-refsপ্যাকড রেফস
- অনেক branch আর tag-এর ref আলাদা ফাইলের বদলে একটি ফাইলে গুছিয়ে রাখার ব্যবস্থা (.git/packed-refs); সাধারণত git gc এটি তৈরি করে।যেখানে শিখবেন: পর্ব ৫২পর্ব ৫৩
- Packfileপ্যাকফাইল
- অনেক Git object একসাথে রাখা একটি .pack ফাইল (সাথে খোঁজার সূচি .idx), যেখানে একই রকম object-গুলো একটির সাপেক্ষে আরেকটির delta আর zlib সংকোচনে জায়গা বাঁচায়।যেখানে শিখবেন: পর্ব ৫২পর্ব ৬৯
- Page objectপেজ অবজেক্ট
- UI test-এ একটি পাতা বা অংশের বোতাম, ঘর আর কাজগুলো একটি class-এর method-এর পেছনে রাখার নকশা, যাতে UI বদলালে শুধু এক জায়গায় ঠিক করতে হয়।যেখানে শিখবেন: পর্ব ৫১
- Pagerপেজার
- লম্বা আউটপুট এক পর্দা করে দেখানোর প্রোগ্রাম, যেমন less; git log আর git diff লম্বা হলে এতে খোলে, আর q চাপলে বেরিয়ে আসা যায়।যেখানে শিখবেন: পর্ব ০৯
- Pair programmingপেয়ার প্রোগ্রামিং
- দুজন একসাথে একই কোডে কাজ করেন — একজন লেখেন (driver), আরেকজন পথ আর ভুল দেখেন (navigator), নিয়মিত ভূমিকা বদলে; Extreme Programming-এর একটি অনুশীলন।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৬৩
- Pairwise testing (all-pairs)পেয়ারওয়াইজ টেস্টিং
- এমন ছোট test suite বানানো যাতে প্রতিটি দুই parameter-এর প্রতিটি মান-জোড়া অন্তত একবার আসে; সব মিলনের তুলনায় অনেক কম test লাগে।যেখানে শিখবেন: পর্ব ৪৭পর্ব ৬৬
- Parallel change (expand-contract)প্যারালাল চেঞ্জ
- Interface বদলের কৌশল: আগে নতুন রূপ পাশাপাশি যোগ, ব্যবহারকারীদের ধীরে ধীরে সরানো, তারপর পুরোনো রূপ সরানো — যাতে কেউ হঠাৎ না ভাঙেন।যেখানে শিখবেন: পর্ব ৩১পর্ব ৪৩
- Parameterized queryপ্যারামিটারাইজড কোয়েরি
- SQL-এর গঠন আর ইনপুটের মান আলাদা করে database-এ পাঠানো, যাতে ইনপুট সবসময় data হিসেবে গণ্য হয়, SQL-এর অংশ হিসেবে নয়।যেখানে শিখবেন: পর্ব ৪৪
- Parameterized testপ্যারামিটারাইজড টেস্ট
- একই test-এর কাঠামো ভিন্ন ভিন্ন input আর প্রত্যাশিত ফলের একটি তালিকা দিয়ে বারবার চালানো, যেমন subTest, pytest.mark.parametrize বা test.each.যেখানে শিখবেন: পর্ব ৪৬
- Parent commitপ্যারেন্ট কমিট
- যে commit-এর ঠিক পরে একটি commit তৈরি হয়েছে; সাধারণ commit-এর parent একটি, merge commit-এর দুটি বা তার বেশি, আর প্রথম commit-এর কোনো parent নেই।যেখানে শিখবেন: পর্ব ০৯পর্ব ১৫পর্ব ৫৬
- Pareto principle (80/20)প্যারেটো প্রিন্সিপল
- অল্প কিছু কারণ থেকে বেশিরভাগ ফল আসার প্রবণতা, প্রচলিত ছবি ৮০/২০; প্রকৃতির নিয়ম নয়, আসল অনুপাত ক্ষেত্রভেদে আলাদা।যেখানে শিখবেন: পর্ব ৪৫
- Parkinson's lawপার্কিনসনস ল
- C. Northcote Parkinson-এর (১৯৫৫) পর্যবেক্ষণ: কাজ তার জন্য বরাদ্দ সময় পুরোটা ভরে ফেলার দিকে বাড়ে।যেখানে শিখবেন: পর্ব ৬১
- Part-whole hierarchyপার্ট-হোল হায়ারার্কি
- যে কাঠামোয় একটি পুরো জিনিস ছোট অংশ দিয়ে গঠিত আর অংশগুলোও নিজেরা পুরো হতে পারে, যেমন folder-এর ভেতরে folder, মেনুর ভেতরে মেনু।যেখানে শিখবেন: পর্ব ৩৪
- Partial applicationপার্শিয়াল অ্যাপ্লিকেশন
- অনেক argument-এর একটি function-এর কয়েকটি argument আগেই বসিয়ে দিয়ে কম argument-এর নতুন function বানানো; যেমন ছাড়ের শতাংশ বসিয়ে একটি ঈদের ছাড়ের function বানানো।যেখানে শিখবেন: পর্ব ৩৭
- Partial cloneপার্শিয়াল ক্লোন
- git clone --filter দিয়ে কিছু object বাদ রেখে clone, যেমন blob:none-এ সব commit আর tree আসে কিন্তু file-এর content দরকারের সময় server থেকে আনা হয়।যেখানে শিখবেন: পর্ব ১৯পর্ব ৫৬
- Passive viewপ্যাসিভ ভিউ
- MVP-র যে রূপে view একেবারে নিষ্ক্রিয়, নিজে কোনো সিদ্ধান্ত নেয় না আর model চেনে না; প্রতিটি লেখা ও অবস্থা presenter বসায়।যেখানে শিখবেন: পর্ব ৩৯
- Passphraseপাসফ্রেজ
- Private key ফাইলকে এনক্রিপ্ট করে রাখার গোপন কথা, সাধারণত password-এর চেয়ে লম্বা; ফাইল চুরি হলেও এটি ছাড়া key কাজে লাগে না।যেখানে শিখবেন: পর্ব ৫৭
- Patch IDপ্যাচ আইডি
- একটি commit-এর পরিবর্তনের (diff) নিজস্ব hash, যাতে line number আর সাদা জায়গা গোনা হয় না; একই পরিবর্তন অন্য জায়গায় আগেই আছে কি না, rebase এটি দিয়ে বোঝে।যেখানে শিখবেন: পর্ব ১৫পর্ব ৫৬
- Patentপেটেন্ট
- নতুন উদ্ভাবনের জন্য রাষ্ট্রের দেওয়া সীমিত মেয়াদের একচেটিয়া অধিকার, যা আবেদন ও পরীক্ষার পরে মেলে; software কতটা patent-যোগ্য, তা দেশভেদে খুব আলাদা।যেখানে শিখবেন: পর্ব ৬৪
- Patent grantপেটেন্ট গ্রান্ট
- License-এর এমন ধারা যেখানে অবদানকারীরা নিজেদের সংশ্লিষ্ট patent ব্যবহারের অনুমতিও দেন; Apache-2.0-এ এটি স্পষ্ট, আর patent মামলা করলে অনুমতি বাতিল হয়।যেখানে শিখবেন: পর্ব ৬৩
- Path coverageপাথ কভারেজ
- Entry থেকে exit পর্যন্ত প্রতিটি সম্ভাব্য পথ অন্তত একবার চালানো; loop থাকলে পথ অসীম হতে পারে, তাই বাস্তবে সীমিত রূপ ব্যবহৃত হয়।যেখানে শিখবেন: পর্ব ৫০
- Pattern languageপ্যাটার্ন ল্যাঙ্গুয়েজ
- পরস্পর-যুক্ত pattern-এর একটি সংগ্রহ, যেখানে বড় pattern ছোটগুলোকে ডাকে আর ক্রম মেনে প্রয়োগ হয়; ধারণাটি Christopher Alexander-এর ১৯৭৭ সালের বই থেকে।যেখানে শিখবেন: পর্ব ৩২
- Pattern template (GoF)প্যাটার্ন টেমপ্লেট
- GoF বইয়ে প্রতিটি pattern বর্ণনার একই ছাঁচ — নাম, Intent, Motivation, Applicability, Structure, Participants, Collaborations, Consequences, Implementation, Sample Code, Known Uses, Related Patterns ইত্যাদি।যেখানে শিখবেন: পর্ব ৩২
- Pattern-itisপ্যাটার্ন-আইটিস
- অনানুষ্ঠানিক নাম: প্রমাণিত প্রয়োজন ছাড়াই কোডে একের পর এক design pattern বসানোর প্রবণতা, যাতে কোড অকারণে জটিল হয়।যেখানে শিখবেন: পর্ব ৩২
- Payback periodপেব্যাক পিরিয়ড
- শুরুর বিনিয়োগ নিট লাভ থেকে উঠে আসতে কত সময় লাগে; সহজ রূপে টাকার সময়-মূল্য আর payback-এর পরের লাভ ধরা হয় না।যেখানে শিখবেন: পর্ব ২০
- PDCA cycleপিডিসিএ
- Plan–Do–Check–Act: পরিকল্পনা, ছোট পরিসরে করা, ফল মাপা আর ভালো হলে স্থায়ী করা বা বদলানোর চক্র; Shewhart ও Deming-এর নামের সাথে জড়িত।যেখানে শিখবেন: পর্ব ৬২
- Peeled tag (^{})পিলড ট্যাগ
- Annotated tag object-এর খোসা ছাড়িয়ে যে commit-এ গিয়ে পৌঁছায়, সেটি; লেখা হয় v1.0^{} আর packed-refs-এ ^ দিয়ে শুরু হওয়া লাইনে।যেখানে শিখবেন: পর্ব ৫৩
- PEP 8পেপ এইট
- Python-এর সরকারি style guide — নাম, indentation, লাইনের দৈর্ঘ্য (৭৯ অক্ষর) আর space-এর নিয়ম; ২০০১ সালে প্রকাশিত, পরে কয়েকবার হালনাগাদ।যেখানে শিখবেন: পর্ব ৪১
- Percentileপার্সেন্টাইল
- সাজানো তথ্যের যে মানের নিচে নির্দিষ্ট শতাংশ মান পড়ে, যেমন p85 মানে ৮৫% মান এর সমান বা ছোট।যেখানে শিখবেন: পর্ব ০৬পর্ব ২১পর্ব ৫৮
- Perfective maintenanceপারফেক্টিভ মেইনটেন্যান্স
- ব্যবহারকারীর নতুন চাহিদা মেটাতে বা দ্রুততা ও ব্যবহারযোগ্যতা বাড়াতে software উন্নত করার maintenance.যেখানে শিখবেন: পর্ব ৪৩
- Performance efficiencyপারফরম্যান্স এফিশিয়েন্সি
- নির্দিষ্ট অবস্থায় software কত দ্রুত সাড়া দেয়, কত সম্পদ খরচ করে আর কতটা ভার নিতে পারে — time behaviour, resource utilization, capacity.যেখানে শিখবেন: পর্ব ০৩
- Performance testingপারফরম্যান্স টেস্টিং
- নির্দিষ্ট চাপে system কত দ্রুত সাড়া দেয় আর কত কাজ সামলায় তা মাপা; load test আর stress test এর রূপ।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৯
- Permissive licenseপারমিসিভ লাইসেন্স
- যে license সামান্য শর্তে, মূলত notice রেখে, ব্যবহার, বদলানো আর বন্ধ-উৎসের software-এও মেলানোর অনুমতি দেয়, যেমন MIT, BSD বা Apache-2.0.যেখানে শিখবেন: পর্ব ৬৩
- Person-month (PM)পার্সন-মান্থ
- একজন মানুষের এক মাসের কাজ; effort-এর একক। Brooks দেখিয়েছেন মানুষ আর মাস পরস্পর বদলযোগ্য নয়।যেখানে শিখবেন: পর্ব ৬০পর্ব ৬৬
- Personaপারসোনা
- গবেষণার ভিত্তিতে বানানো একজন কাল্পনিক কিন্তু বাস্তবসম্মত ব্যবহারকারীর বিবরণ, যাতে দল নির্দিষ্ট মানুষের প্রয়োজন মাথায় রেখে কাজ করে।যেখানে শিখবেন: পর্ব ২০পর্ব ২২
- Personal access tokenপার্সোনাল অ্যাক্সেস টোকেন
- Hosting platform-এ বানানো একটি গোপন string, যা password-এর বদলে Git বা API-তে পরিচয় দেয়; এর ক্ষমতা আর মেয়াদ সীমিত করা যায় এবং আলাদাভাবে বাতিল করা যায়।যেখানে শিখবেন: পর্ব ১৪পর্ব ৫৭
- Personal dataপার্সোনাল ডেটা
- যে তথ্য দিয়ে কোনো মানুষকে চেনা যায় — নাম, ফোন নম্বর, NID, ঠিকানা; log, error বার্তা বা প্রম্পটে এগুলো রাখা ঝুঁকিপূর্ণ।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৬৪
- Personal Software Process (PSP)পার্সোনাল সফটওয়্যার প্রসেস
- Watts Humphrey-র (১৯৯৫) পদ্ধতি, যেখানে একজন ডেভেলপার নিজের সময়, আকার আর defect মেপে অনুমান ও quality উন্নত করেন; দলের রূপ Team Software Process (TSP).যেখানে শিখবেন: পর্ব ৬২
- Perspective (conceptual, specification, implementation)পারস্পেকটিভ
- একটি class diagram কোন স্তরের কথা বলছে: বাস্তব জগতের ধারণা (conceptual), software-এর interface (specification), নাকি আসল কোডের class (implementation) — সেই স্তর।যেখানে শিখবেন: পর্ব ২৯
- PERTপার্ট
- Program Evaluation and Review Technique — ১৯৫০-এর দশকের শেষে যুক্তরাষ্ট্রের নৌবাহিনীর Polaris প্রকল্পে তৈরি পদ্ধতি; তিন-বিন্দু অনুমান থেকে গড় (O+4M+P)/6 আর বিচ্যুতি (P−O)/6 বের করে।যেখানে শিখবেন: পর্ব ৬০পর্ব ৬১পর্ব ৬৬
- Pesticide paradoxপেস্টিসাইড প্যারাডক্স
- একই test বারবার চালালে একসময় সেগুলো আর নতুন ভুল ধরে না; Boris Beizer-এর নাম দেওয়া, ISTQB ২০২৩ সংস্করণে tests wear out বলা হয়।যেখানে শিখবেন: পর্ব ৪৫
- Pickaxe search (git log -S)পিকঅ্যাক্স
- git log -S "লেখা" — যেসব commit-এ একটি লেখার সংখ্যা বদলেছে, অর্থাৎ লেখাটি যোগ হয়েছে বা মুছেছে, শুধু সেগুলো দেখায়।যেখানে শিখবেন: পর্ব ৪১পর্ব ৫৫
- Pinপিন
- Action-এর গায়ে লাগানো ছোট বর্গ, যা তার input বা output data দেখায়; কোডে function-এর parameter আর return value-এর মতো।যেখানে শিখবেন: পর্ব ৩০
- Pinning by commit SHAশা পিনিং
- তৃতীয় পক্ষের action বা dependency-কে বদলযোগ্য tag-এর বদলে পুরো commit hash দিয়ে নির্দিষ্ট করা, যাতে tag অন্য commit-এ সরিয়ে দিলেও আপনার pipeline একই কোড চালায়।যেখানে শিখবেন: পর্ব ৫৮
- Pipe-and-filterপাইপ-অ্যান্ড-ফিল্টার
- ডেটা একটি filter থেকে pipe দিয়ে পরের filter-এ যায়; প্রতিটি filter স্বাধীন, শুধু ইনপুট নেয় আর আউটপুট দেয় — Unix-এর pipe এর বিখ্যাত উদাহরণ।যেখানে শিখবেন: পর্ব ৩৮
- Planar graphপ্লেনার গ্রাফ
- যে graph কাগজে এমনভাবে আঁকা যায় যাতে কোনো তীর অন্য তীরকে না কাটে; তখন তীরে ঘেরা region গোনা যায়।যেখানে শিখবেন: পর্ব ৫০
- Planguageপ্ল্যানগুয়েজ
- Tom Gilb-এর প্রস্তাবিত requirement লেখার কাঠামো, যেখানে Scale (কী মাপা হবে), Meter (কীভাবে মাপা হবে), Must (ন্যূনতম সীমা) আর Plan (লক্ষ্য)-এর মতো keyword দিয়ে quality-কে সংখ্যায় বাঁধা হয়।যেখানে শিখবেন: পর্ব ২১
- Planned value (PV)প্ল্যানড ভ্যালু
- একটি তারিখ পর্যন্ত baseline অনুযায়ী যত কাজ হওয়ার কথা, তার বাজেটের মূল্য।যেখানে শিখবেন: পর্ব ৬১পর্ব ৬৬
- Planning fallacyপ্ল্যানিং ফ্যালাসি
- অতীতে দেরি হওয়ার অভিজ্ঞতা থাকা সত্ত্বেও নিজের কাজের সময় কম ধরে নেওয়ার প্রবণতা; Kahneman আর Tversky-র বর্ণিত।যেখানে শিখবেন: পর্ব ৬০
- Planning pokerপ্ল্যানিং পোকার
- দলের প্রত্যেকে একসাথে কার্ড উল্টে নিজের story point অনুমান দেখান, সবচেয়ে কম আর বেশি যিনি দিয়েছেন তিনি কারণ বলেন, তারপর আবার ভোট — anchoring এড়িয়ে ঐকমত্যে পৌঁছানোর কৌশল।যেখানে শিখবেন: পর্ব ৬০পর্ব ৬৫পর্ব ৭০
- PlantUMLপ্ল্যান্টইউএমএল
- একটি open-source tool, যা সাধারণ লেখা থেকে UML diagram-এর ছবি বানায়; diagram-টি text file হিসেবে Git-এ রাখা আর review করা যায়।যেখানে শিখবেন: পর্ব ২৯পর্ব ৩০
- Platform teamপ্ল্যাটফর্ম টিম
- যে দল ভেতরের সেবা, যেমন deployment pipeline বা monitoring, বানায় যাতে অন্য দলগুলো নিজে থেকে ব্যবহার করতে পারে।যেখানে শিখবেন: পর্ব ৬৩
- Plugin architectureপ্লাগইন আর্কিটেকচার
- মূল প্রোগ্রাম একটি প্রকাশিত চুক্তি আর নিবন্ধনের ব্যবস্থা দেয়, আর বাইরের কোড (plugin) সেটি মেনে নতুন ক্ষমতা যোগ করে — মূল কোড না বদলে।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩৮
- Plumbing commandপ্লাম্বিং কমান্ড
- Git-এর নিচের স্তরের ছোট, এক-কাজের command, যেমন hash-object, cat-file, write-tree, update-ref; script-এ ব্যবহারের উপযোগী স্থির আউটপুট দেয়।যেখানে শিখবেন: পর্ব ৫২
- Plumbing commandপ্লাম্বিং কমান্ড
- Git-এর নিচের স্তরের command, যা script আর অন্য টুলের জন্য বানানো এবং যার আউটপুট স্থির রাখা হয়, যেমন git merge-tree, git commit-tree, git update-ref; দৈনন্দিন ব্যবহারের command-কে বলে porcelain.যেখানে শিখবেন: পর্ব ৫৪
- Polymorphismপলিমরফিজম
- একই ডাক বা method-এর নামে ভিন্ন object-এর ভিন্ন আচরণ; caller জানে না কোন object, শুধু চুক্তি জানে, আর সঠিক implementation চলার সময় বাছাই হয়।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩৩পর্ব ৩৫
- Polyrepo (multi-repo)পলিরিপো
- প্রতিটি project বা service-এর জন্য আলাদা repository রাখার পদ্ধতি; একটি অন্যটির ওপর নির্ভর করে সাধারণত version নম্বরসহ package দিয়ে।যেখানে শিখবেন: পর্ব ১৯
- Porcelain commandপোর্সেলিন কমান্ড
- মানুষের প্রতিদিনের ব্যবহারের জন্য বানানো ওপরের স্তরের Git command, যেমন add, commit, log; আউটপুট পড়তে সুবিধাজনক কিন্তু version-ভেদে বদলাতে পারে।যেখানে শিখবেন: পর্ব ৫২
- Porcelain formatপোর্সেলিন ফরম্যাট
- Script-এর জন্য স্থির রাখা Git আউটপুটের বিন্যাস, যেমন git status --porcelain; মানুষের জন্য সাজানো আউটপুট version-ভেদে বদলাতে পারে, এটি বদলায় না।যেখানে শিখবেন: পর্ব ০৯পর্ব ৫৫
- Portপোর্ট
- Application core-এর সীমানায় core-এর নিজের ভাষায় লেখা একটি interface, যার মাধ্যমে বাইরের জগৎ core-কে চালায় বা core বাইরের কাজ করায়; port-এর মালিক core.যেখানে শিখবেন: পর্ব ৪০পর্ব ৭০
- Portabilityপোর্টেবিলিটি
- Software-কে অন্য hardware, OS বা পরিবেশে কতটা সহজে নেওয়া, install করা বা অন্যটির জায়গায় বসানো যায়; ২০২৩ সংস্করণে flexibility নামে।যেখানে শিখবেন: পর্ব ০৩
- Postcondition / guaranteeপোস্টকন্ডিশন
- কোনো কাজ শেষে যা সত্য হবে বলে প্রতিশ্রুতি দেওয়া হয়। Use case-এ Cockburn একে success guarantee (সফল হলে) আর minimal guarantee (যেকোনো অবস্থায়) এই দুইয়ে ভাগ করেন; design by contract-এ এটি method-এর প্রতিশ্রুতি, ভাঙলে দোষ method-এর নিজের।যেখানে শিখবেন: পর্ব ২২পর্ব ৩১পর্ব ৬৮
- Postmortemপোস্টমর্টেম
- কোনো ঘটনা বা ব্যর্থতার পরে লেখা বিশ্লেষণ — কী ঘটেছে, কেন, আর কী বদলাতে হবে; ভালো postmortem দোষারোপহীন।যেখানে শিখবেন: পর্ব ০২পর্ব ৫৫পর্ব ৫৯
- Power/interest gridপাওয়ার-ইন্টারেস্ট গ্রিড
- Stakeholder-দের ক্ষমতা আর আগ্রহের ভিত্তিতে চার ভাগে বসানোর একটি ছক: manage closely, keep satisfied, keep informed আর monitor.যেখানে শিখবেন: পর্ব ২০
- PR templateপিআর টেমপ্লেট
- Repository-তে রাখা একটি ফাইল, যার লেখা প্রতিটি নতুন pull request-এর বিবরণে আগে থেকে বসে যায় — যেমন কী, কেন, কীভাবে পরীক্ষা করা হয়েছে-এর ঘর।যেখানে শিখবেন: পর্ব ১৬
- pre-commit (framework)প্রি-কমিট ফ্রেমওয়ার্ক
- Python-এ লেখা একটি জনপ্রিয় open source tool, যা .pre-commit-config.yaml file থেকে hook-এর তালিকা পড়ে সেগুলো নামিয়ে, নির্দিষ্ট version-এ চালায়; Git-এর অংশ নয়।যেখানে শিখবেন: পর্ব ৫৬
- Pre-commit hookপ্রি-কমিট হুক
- Commit তৈরির ঠিক আগে Git যে script চালায়; সাধারণত formatter, linter বা secret-খোঁজার check চালাতে ব্যবহার হয়, আর ব্যর্থ হলে commit থামে।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৫৬পর্ব ৫৭
- pre-push hookপ্রি-পুশ হুক
- git push-এ কিছু পাঠানোর আগে চলা client-side hook; remote-এর নাম আর URL argument-এ, আর কোন ref কোথায় যাচ্ছে তা standard input-এ পায়, শূন্য ছাড়া exit code দিলে push হয় না।যেখানে শিখবেন: পর্ব ৫৬পর্ব ৫৮
- pre-receive hookপ্রি-রিসিভ হুক
- Push গ্রহণের আগে server-এ একবার চলা hook; standard input-এ প্রতিটি ref-এর জন্য পুরোনো hash, নতুন hash আর ref-এর নাম পায়, আর শূন্য ছাড়া exit code দিলে পুরো push প্রত্যাখ্যাত হয়।যেখানে শিখবেন: পর্ব ৫৬
- Pre-release versionপ্রি-রিলিজ
- মূল release-এর আগের পরীক্ষামূলক version, PATCH-এর পরে হাইফেন দিয়ে লেখা, যেমন 1.0.0-alpha.1 বা 2.0.0-rc.1; SemVer-এ এটি একই নম্বরের মূল release-এর চেয়ে ছোট।যেখানে শিখবেন: পর্ব ১৮
- Preconditionপ্রিকন্ডিশন
- কোনো কাজ শুরুর আগে যা অবশ্যই সত্য থাকতে হবে। Use case-এ এটি শুরুর অবস্থা, যা system আবার যাচাই করে না (যেমন ব্যবহারকারী লগইন করা আছেন); design by contract-এ এটি method ডাকার শর্ত, যা পূরণ করার দায় caller-এর, ভাঙলে দোষ caller-এর।যেখানে শিখবেন: পর্ব ২২পর্ব ৩১পর্ব ৬৮
- Preparatory refactoringপ্রিপারেটরি রিফ্যাক্টরিং
- নতুন feature যোগ করার ঠিক আগে কোড এমনভাবে সাজানো, যাতে feature-টি যোগ করা সহজ হয়; আগে বদল সহজ করুন, তারপর সহজ বদলটি করুন।যেখানে শিখবেন: পর্ব ৪২
- Presentation Modelপ্রেজেন্টেশন মডেল
- Martin Fowler-এর ২০০৪ সালে বর্ণিত নকশা, যেখানে screen-এর অবস্থা আর আচরণ একটি UI-স্বাধীন class-এ থাকে; MVVM-এর খুব কাছের পূর্বসূরি।যেখানে শিখবেন: পর্ব ৩৯
- Presenterপ্রেজেন্টার
- MVP-তে screen-এর যুক্তির অংশ: view থেকে ঘটনা নেয়, model বা service ডাকে, আর view-কে একটি interface দিয়ে হালনাগাদ করে; তাই নকল view দিয়ে test করা যায়।যেখানে শিখবেন: পর্ব ৩৯
- Preventive maintenanceপ্রিভেনটিভ মেইনটেন্যান্স
- সমস্যা দেখা দেওয়ার আগেই ভবিষ্যতের ভুল ঠেকাতে কোড উন্নত করা, যেমন test যোগ বা refactoring; technical debt শোধ মূলত এই ধরনের কাজ।যেখানে শিখবেন: পর্ব ৪৩
- Primary actorপ্রাইমারি অ্যাক্টর
- যে actor-এর লক্ষ্য পূরণের জন্য use case-টি লেখা, আর যিনি সাধারণত কাজটি শুরু করেন।যেখানে শিখবেন: পর্ব ২২পর্ব ২৩
- Primitive obsessionপ্রিমিটিভ অবসেশন
- Code smell: টাকা, ফোন নম্বর বা তারিখের মতো ধারণাকে নিজস্ব type না দিয়ে সাধারণ number বা string-এ রাখা, ফলে যাচাই আর নিয়ম কোডজুড়ে ছড়ায়।যেখানে শিখবেন: পর্ব ৪০পর্ব ৪২পর্ব ৭০
- Principal (technical debt)প্রিন্সিপাল
- Technical debt-এর আসল অংশ: debt শোধ করতে, অর্থাৎ কোড গুছাতে, test লিখতে বা নকশা ঠিক করতে যে কাজ লাগবে।যেখানে শিখবেন: পর্ব ৪৩
- Principle of least astonishmentপ্রিন্সিপল অফ লিস্ট অ্যাস্টনিশমেন্ট
- Function, API বা screen এমন আচরণ করবে যা ব্যবহারকারী তার নাম, প্রসঙ্গ আর প্রচলিত রীতি দেখে আশা করেন; অবাক করা আচরণ bug-এর জন্ম দেয়।যেখানে শিখবেন: পর্ব ২৬
- Prioritizationপ্রায়োরিটাইজেশন
- সীমিত সময় আর সম্পদে কোন requirement আগে, কোনটি পরে বা কোনটি এবার নয় — তা যুক্তি দিয়ে ঠিক করার কাজ।যেখানে শিখবেন: পর্ব ২৪
- Priorityপ্রায়োরিটি
- একটি defect কত তাড়াতাড়ি ঠিক করতে হবে তার মাপ, যেমন P1 থেকে P4; ব্যবসা, সময়সীমা আর আক্রান্ত মানুষের সংখ্যা দেখে ঠিক হয়।যেখানে শিখবেন: পর্ব ৪৫
- Privacy by designপ্রাইভেসি বাই ডিজাইন
- Privacy-কে পরে জোড়া অংশ নয়, শুরু থেকেই নকশার ভেতরে রাখার নীতি; Ann Cavoukian-এর সাতটি মূলনীতি হিসেবে পরিচিত, আর GDPR-এর data protection by design-এর ভিত্তি।যেখানে শিখবেন: পর্ব ৬৪
- PRNGপিআরএনজি
- Pseudo-random number generator — একটি seed থেকে নিয়মমাফিক এলোমেলো-দেখতে সংখ্যা বানানো algorithm; একই seed দিলে প্রতিবার একই ক্রম আসে।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ০৮
- Probability–impact matrix (heat map)প্রোবাবিলিটি-ইমপ্যাক্ট ম্যাট্রিক্স
- সম্ভাবনা আর ক্ষতির ধাপ (যেমন ১ থেকে ৫) দিয়ে বানানো ছক, যেখানে দুই ধাপের গুণফল অনুযায়ী ঘরগুলো লাল, হলুদ বা সবুজ রঙে ঝুঁকির অগ্রাধিকার দেখায়।যেখানে শিখবেন: পর্ব ৬২
- Procedural cohesionপ্রসিডিউরাল কোহেশন
- অংশগুলো একটি নির্দিষ্ট ক্রমে চলে বলে এক জায়গায়, যদিও তারা আলাদা data নিয়ে কাজ করে।যেখানে শিখবেন: পর্ব ২৫
- Process modelপ্রসেস মডেল
- SDLC-র কাজগুলো কোন ক্রমে, কতবার আর কোন যাচাই-বিন্দু মেনে করা হবে, তার একটি সরল কাঠামো — যেমন waterfall, V-model বা spiral মডেল।যেখানে শিখবেন: পর্ব ০৪
- Product Backlogপ্রোডাক্ট ব্যাকলগ
- Product উন্নত করতে যা যা লাগবে তার ক্রমানুসারে সাজানো, সবসময় বদলাতে থাকা তালিকা; Scrum Team-এর কাজের একমাত্র উৎস।যেখানে শিখবেন: পর্ব ০৫পর্ব ২১পর্ব ২৪
- Product championপ্রোডাক্ট চ্যাম্পিয়ন
- একটি user class-এর পক্ষ থেকে requirement-এর আলোচনায় কথা বলার জন্য বেছে নেওয়া প্রতিনিধি; Karl Wiegers-এর বইয়ে প্রচলিত শব্দ।যেখানে শিখবেন: পর্ব ২০
- Product familyপ্রোডাক্ট ফ্যামিলি
- একসাথে ব্যবহারের জন্য বানানো সম্পর্কিত object-এর দল, যেমন একই theme-এর button আর menu, বা একই channel-এর message আর sender; মেশালে ভুল হয়।যেখানে শিখবেন: পর্ব ৩৩
- Product Goalপ্রোডাক্ট গোল
- Product-এর ভবিষ্যৎ অবস্থার দীর্ঘমেয়াদি লক্ষ্য, Product Backlog-এর commitment (Scrum Guide 2020).যেখানে শিখবেন: পর্ব ০৫
- Product Ownerপ্রোডাক্ট ওনার
- Scrum Team-এর সেই একজন মানুষ, যিনি product-এর মূল্য সর্বোচ্চ করা আর Product Backlog সাজানোর জন্য জবাবদিহি করেন।যেখানে শিখবেন: পর্ব ০১পর্ব ০৫পর্ব ২০
- Product qualityপ্রোডাক্ট কোয়ালিটি
- Software পণ্যটির নিজের গুণ — কোড ও চালানো অবস্থার বৈশিষ্ট্য, যা ব্যবহারকারী বা পরিবেশ বদলালেও পণ্যের সাথেই থাকে।যেখানে শিখবেন: পর্ব ০৩
- Product risk (technical risk)প্রোডাক্ট রিস্ক
- যে ঝুঁকি তৈরি হওয়া software-এর মান বা কার্যকারিতাকে ক্ষতিগ্রস্ত করে, যেমন ভিড়ে system বসে যাওয়া বা বাইরের API বদলে যাওয়া।যেখানে শিখবেন: পর্ব ৬২
- Product roadmapপ্রোডাক্ট রোডম্যাপ
- আগামী কয়েক মাস বা বছরে product কোন লক্ষ্যের দিকে যাবে, তার উঁচু স্তরের ছবি; নির্দিষ্ট তারিখের প্রতিশ্রুতি নয়।যেখানে শিখবেন: পর্ব ৬১
- Productionপ্রোডাকশন
- যে পরিবেশে software আসল ব্যবহারকারী আর আসল ডেটা নিয়ে চলে; এখানে ভুল মানে সরাসরি মানুষের ক্ষতি।যেখানে শিখবেন: পর্ব ০১পর্ব ৫১
- Production environmentপ্রোডাকশন এনভায়রনমেন্ট
- যে পরিবেশে software আসল ব্যবহারকারী আর আসল data নিয়ে চলে; এখানকার ভুল সরাসরি মানুষের ক্ষতি করে।যেখানে শিখবেন: পর্ব ৫৯
- Professional ethicsপ্রফেশনাল এথিকস
- একটি পেশার মানুষ কাজের সময় কোন আচরণকে ঠিক আর কোনটিকে ভুল ধরবেন, তার নীতি; আইন যা চায় তার চেয়ে প্রায়ই বেশি দাবি করে।যেখানে শিখবেন: পর্ব ৬৪
- Professional licensingপ্রফেশনাল লাইসেন্সিং
- রাষ্ট্র বা নিয়ন্ত্রক সংস্থার দেওয়া অনুমতি, যা ছাড়া কিছু পেশায় কাজ করা বা নির্দিষ্ট পদবি ব্যবহার করা যায় না; software engineering-এ দেশভেদে নিয়ম খুব আলাদা।যেখানে শিখবেন: পর্ব ৬৪
- Program to an interfaceপ্রোগ্রাম টু অ্যান ইন্টারফেস
- Gang of Four-এর (১৯৯৪) নীতি: variable, parameter আর field-এর type হিসেবে নির্দিষ্ট class নয়, চুক্তি বা interface ব্যবহার করা, যাতে implementation বদলালেও ব্যবহারকারীর কোড না বদলায়।যেখানে শিখবেন: পর্ব ৩১পর্ব ৩২
- Programmingপ্রোগ্রামিং
- কোনো সমস্যার সমাধান কম্পিউটারের ভাষায় নির্দেশ হিসেবে লেখা; software engineering-এর একটি অংশ, পুরোটা নয়।যেখানে শিখবেন: পর্ব ০১
- Projectপ্রজেক্ট
- নির্দিষ্ট শুরু আর শেষসহ একটি সাময়িক উদ্যোগ, যার লক্ষ্য একটি অনন্য ফল (product, service বা পরিবর্তন) তৈরি করা; নিয়মিত চলতে থাকা operations থেকে আলাদা।যেখানে শিখবেন: পর্ব ৬১
- Project riskপ্রজেক্ট রিস্ক
- যে ঝুঁকি project-এর সময়সূচি বা সম্পদকে ক্ষতিগ্রস্ত করে, যেমন দক্ষ সদস্য চলে যাওয়া বা অনুমান খুব আশাবাদী হওয়া।যেখানে শিখবেন: পর্ব ৬২
- Promisor remoteপ্রমিসর রিমোট
- Partial clone-এ যে remote থেকে অনুপস্থিত object পরে আনা যাবে বলে Git ধরে নেয়; config-এ remote.<name>.promisor=true লেখা থাকে।যেখানে শিখবেন: পর্ব ১৯
- Property (testing)প্রপার্টি
- Property-based testing-এ যে শর্ত যেকোনো বৈধ ইনপুটের ফলের জন্য সত্য থাকার কথা, যেমন sort-এর ফল ক্রমানুসারে আর ইনপুটের একই উপাদানসহ।যেখানে শিখবেন: পর্ব ৪৭
- Property-based testingপ্রপার্টি-বেসড টেস্টিং
- নির্দিষ্ট উদাহরণের বদলে এমন একটি নিয়ম লেখা যা সব বৈধ ইনপুটে সত্য হওয়ার কথা, আর যন্ত্রকে অনেক এলোমেলো ইনপুট বানিয়ে তা যাচাই করতে দেওয়া; QuickCheck (২০০০) থেকে জনপ্রিয়।যেখানে শিখবেন: পর্ব ৪৭
- Protected variationsপ্রোটেক্টেড ভ্যারিয়েশনস
- Craig Larman-এর (২০০১) নাম দেওয়া নীতি: অনুমিত বদল বা অস্থিরতার বিন্দু চিনে তার চারপাশে একটি স্থির interface বানান, যাতে বদল বাকি system-কে না ছোঁয়।যেখানে শিখবেন: পর্ব ২৭
- Protection proxyপ্রোটেকশন প্রক্সি
- যে proxy প্রতিটি ডাকের আগে ডাকছেন কে আর তাঁর অনুমতি আছে কি না যাচাই করে, তারপর আসল object-এর কাছে পাঠায় বা ফিরিয়ে দেয়।যেখানে শিখবেন: পর্ব ৩৪
- Protocol (Python typing)প্রোটোকল
- Python-এর typing.Protocol দিয়ে বানানো interface; কোনো class সেই method-গুলো রাখলেই type checker তাকে মেনে নেয়, ঘোষণা করে subclass না হলেও; একে structural typing বলে।যেখানে শিখবেন: পর্ব ২৯
- Prototypeপ্রোটোটাইপ
- পুরো software বানানোর আগে একটি অংশের দ্রুত তৈরি নমুনা, যা দেখিয়ে requirement বোঝা বা কোনো প্রযুক্তিগত ঝুঁকি পরীক্ষা করা হয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ২০
- Prototype (pattern)প্রোটোটাইপ প্যাটার্ন
- GoF pattern, যেখানে নতুন object class থেকে নয়, একটি তৈরি নমুনা object কপি (clone) করে বানানো হয়; কপি কতটা গভীর, সেটিই মূল সিদ্ধান্ত।যেখানে শিখবেন: পর্ব ৩৩
- Provider verificationপ্রোভাইডার ভেরিফিকেশন
- Consumer-দের লেখা contract-গুলোর request provider-এর আসল কোডে চালিয়ে দেখা যে প্রত্যাশিত response আসছে কি না।যেখানে শিখবেন: পর্ব ৫১
- Proxy (JavaScript)প্রক্সি
- ES2015 থেকে JavaScript-এর ভাষাগত সুবিধা: new Proxy(target, handler) একটি object-এর property পড়া, লেখা, ডাকা ইত্যাদি মৌলিক কাজ trap দিয়ে ধরে বদলাতে দেয়।যেখানে শিখবেন: পর্ব ৩৪
- Proxy patternপ্রক্সি প্যাটার্ন
- আসল object-এর জায়গায় একই interface-এর একটি প্রতিনিধি object রাখা, যা আসলটির কাছে যাওয়া নিয়ন্ত্রণ করে: দেরিতে তৈরি, অনুমতি যাচাই, দূরের ডাক বা ফল জমানো; আরেক নাম surrogate, অর্থাৎ প্রতিনিধি।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৭০
- Pseudonymisationসিউডোনিমাইজেশন
- নাম বা NID-এর মতো সরাসরি পরিচয় সরিয়ে একটি ছদ্ম-ID বসানো, আর মেলানোর চাবি আলাদা নিরাপদ জায়গায় রাখা; anonymisation-এর মতো স্থায়ী নয়, তাই data তখনো personal data থাকে।যেখানে শিখবেন: পর্ব ৬৪
- Pseudostateসিউডোস্টেট
- State machine-এর পথের একটি বিন্দু, যেখানে object থেমে থাকে না, যেমন initial, choice, junction, history, fork আর join.যেখানে শিখবেন: পর্ব ৩০
- Psychological safetyসাইকোলজিক্যাল সেফটি
- দলের এমন পরিবেশ যেখানে প্রশ্ন করা, ভুল স্বীকার করা বা দ্বিমত জানাতে কেউ অপমান বা শাস্তির ভয় পান না।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৫৫পর্ব ৬৩
- Public APIপাবলিক এপিআই
- Software-এর যে অংশ অন্যদের ব্যবহারের জন্য ঘোষণা করা, যেমন documentation-এ লেখা function, command বা data format; SemVer-এর প্রতিশ্রুতি শুধু এর ওপর।যেখানে শিখবেন: পর্ব ১৮পর্ব ৩১
- Public domainপাবলিক ডোমেইন
- যে কাজে কপিরাইটের কোনো অধিকার নেই বা মালিক ছেড়ে দিয়েছেন, তাই যে কেউ যেকোনোভাবে ব্যবহার করতে পারেন; দেশভেদে নিয়ম আলাদা।যেখানে শিখবেন: পর্ব ৬৩
- Public interestপাবলিক ইন্টারেস্ট
- জনস্বার্থ — শুধু গ্রাহক বা মালিক নয়, software যাঁদের জীবনে প্রভাব ফেলে সেই সব মানুষের নিরাপত্তা, কল্যাণ আর অধিকার; SE Code-এ এটিই সবার আগে।যেখানে শিখবেন: পর্ব ৬৪
- Public-key cryptographyপাবলিক-কি ক্রিপ্টোগ্রাফি
- যে ব্যবস্থায় প্রত্যেকের একজোড়া key থাকে — গোপন private key আর সবার জন্য খোলা public key; একটি দিয়ে করা কাজ অন্যটি দিয়ে যাচাই বা খোলা যায়।যেখানে শিখবেন: পর্ব ৫৭
- Publish-subscribe (pub/sub)পাবলিশ-সাবস্ক্রাইব
- বার্তা আদান-প্রদানের ধরন, যেখানে প্রকাশক আর শ্রোতার মাঝে একটি broker বা topic থাকে, দুই পক্ষ পরস্পরকে চেনে না, আর বার্তা প্রায়ই asynchronous.যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৮
- Pullপুল
- Remote repository থেকে নতুন commit এনে নিজের কাজের সাথে মেলানো; Git-এ এটি fetch আর merge (বা rebase)-এর যোগফল।যেখানে শিখবেন: পর্ব ০৭পর্ব ১৪পর্ব ১৫
- Pull modelপুল মডেল
- Observer-এ খবর দেওয়ার ধরন, যেখানে subject শুধু জানায় সে বদলেছে, আর observer নিজের দরকারমতো subject থেকে তথ্য পড়ে নেয়।যেখানে শিখবেন: পর্ব ৩৫
- Pull requestপুল রিকোয়েস্ট
- একটি branch-এর পরিবর্তন মূল branch-এ মেলানোর আনুষ্ঠানিক অনুরোধ, যেখানে দলের সদস্যরা কোড দেখে মন্তব্য করেন; GitLab-এ একে merge request বলে।যেখানে শিখবেন: পর্ব ০১পর্ব ০৭পর্ব ১৬
- Pull systemপুল সিস্টেম
- যে ব্যবস্থায় পরের ধাপ জায়গা খালি হলে তবেই আগের ধাপ থেকে কাজ টেনে নেয়; আগের ধাপ নিজের ইচ্ছেমতো ঠেলে (push) দেয় না।যেখানে শিখবেন: পর্ব ০৬
- Pure DIপিওর ডিআই
- কোনো DI container ছাড়া, composition root-এ সাধারণ constructor ডেকে হাতে object graph জোড়া; Mark Seemann-এর দেওয়া নাম, আগে “Poor Man's DI” বলা হতো।যেখানে শিখবেন: পর্ব ৩৭
- Pure functionপিওর ফাংশন
- যে function একই input-এ সবসময় একই output দেয় আর বাইরের কিছু বদলায় না বা পড়ে না, যেমন network, সময় বা global variable.যেখানে শিখবেন: পর্ব ৩৯পর্ব ৪৬
- Purpose limitationপারপাস লিমিটেশন
- যে নির্দিষ্ট উদ্দেশ্যের কথা বলে data নেওয়া হয়েছে, পরে সেই উদ্দেশ্যের সাথে বেমানান কোনো কাজে তা ব্যবহার না করার নীতি।যেখানে শিখবেন: পর্ব ৬৪
- Pushপুশ
- নিজের repository-র নতুন commit একটি remote repository-তে পাঠানো।যেখানে শিখবেন: পর্ব ০৭
- Push modelপুশ মডেল
- Observer-এ খবর দেওয়ার ধরন, যেখানে subject নিজেই বদলের তথ্য ডাকের সাথে পাঠায়, যেমন update(item, price).যেখানে শিখবেন: পর্ব ৩৫
Q
- QA (quality assurance)কিউএ
- Software-এর মান নিশ্চিত করার কাজ ও ভূমিকা — test পরিকল্পনা, test করা আর মান রক্ষার প্রক্রিয়া দেখা।যেখানে শিখবেন: পর্ব ০১
- Qualified associationকোয়ালিফায়েড অ্যাসোসিয়েশন
- Association-এর এক প্রান্তে ছোট বাক্সে একটি চাবি (qualifier), যেমন আসন নম্বর, যা দিয়ে অন্য প্রান্তের object বাছাই করা যায়; ফলে ওই প্রান্তের multiplicity কমে যায়।যেখানে শিখবেন: পর্ব ২৯
- Quality assurance (QA)কোয়ালিটি অ্যাশিওরেন্স
- প্রক্রিয়াভিত্তিক ও প্রতিরোধমূলক কাজ, যা নিশ্চিত করে ঠিক প্রক্রিয়া মানা হচ্ছে আর quality requirement পূরণ হবে এমন আস্থা দেয়, যেমন process audit ও প্রশিক্ষণ।যেখানে শিখবেন: পর্ব ৬২
- Quality attributeকোয়ালিটি অ্যাট্রিবিউট
- System কতটা ভালোভাবে কাজ করে তার মাপযোগ্য গুণ, যেমন availability, performance, modifiability বা security; architecture-এর পছন্দ সবচেয়ে বেশি এগুলোর ওপর নির্ভর করে।যেখানে শিখবেন: পর্ব ৩৮
- Quality characteristicকোয়ালিটি ক্যারেক্টারিস্টিক
- Quality model-এর একটি প্রধান গুণের শ্রেণি, যেমন reliability বা security; এর নিচে আরও সূক্ষ্ম sub-characteristic থাকে।যেখানে শিখবেন: পর্ব ০৩
- Quality control (QC)কোয়ালিটি কন্ট্রোল
- পণ্যভিত্তিক ও শনাক্তকারী কাজ, যা তৈরি জিনিস requirement পূরণ করে কি না যাচাই করে, যেমন test চালানো ও inspection.যেখানে শিখবেন: পর্ব ৬২পর্ব ৬৮
- Quality gateকোয়ালিটি গেট
- CI pipeline-এ এমন একটি শর্ত, যেমন coverage বা লিন্টের সীমা, যা পূরণ না হলে build বা merge আটকে যায়।যেখানে শিখবেন: পর্ব ৫০
- Quality in useকোয়ালিটি ইন ইউজ
- আসল ব্যবহারকারী আসল পরিস্থিতিতে software ব্যবহার করে কতটা কার্যকরভাবে, দক্ষতার সাথে, সন্তুষ্ট হয়ে আর ঝুঁকিমুক্তভাবে কাজ সারতে পারেন।যেখানে শিখবেন: পর্ব ০৩
- Quality managementকোয়ালিটি ম্যানেজমেন্ট
- প্রতিষ্ঠান বা project-এ quality-র লক্ষ্য ঠিক করা, পরিকল্পনা, নিশ্চয়তা, নিয়ন্ত্রণ আর উন্নতির সমন্বিত কাজ।যেখানে শিখবেন: পর্ব ৬২
- Quality management system (QMS)কিউএমএস
- প্রতিষ্ঠানের quality নীতি, লক্ষ্য, নথিবদ্ধ প্রক্রিয়া, audit আর উন্নতির সমন্বিত ব্যবস্থা।যেখানে শিখবেন: পর্ব ৬২
- Quality planningকোয়ালিটি প্ল্যানিং
- কোন quality লক্ষ্য চাই আর তা পেতে কোন প্রক্রিয়া, review, test ও সম্পদ লাগবে, তা আগে থেকে ঠিক করা; ফল সাধারণত একটি quality plan.যেখানে শিখবেন: পর্ব ৬২
- Quality scenarioকোয়ালিটি সিনারিও
- একটি quality requirement-কে source, stimulus, artifact, environment, response আর সংখ্যাসহ response measure — এই ছয় অংশে মাপা যায় এমনভাবে লেখার কাঠামো।যেখানে শিখবেন: পর্ব ০৩পর্ব ৩৮
- Quality without a nameকোয়ালিটি উইদাউট আ নেম
- Christopher Alexander-এর The Timeless Way of Building (১৯৭৯)-এ বর্ণিত ভালো জায়গার এক প্রাণবন্ত, স্বস্তির গুণ, যা কোনো একটি শব্দে ধরা যায় না; দার্শনিক ধারণা, মাপার মানদণ্ড নয়।যেখানে শিখবেন: পর্ব ৩২
- Questionnaire / surveyকোয়েশ্চেনেয়ার
- লিখিত প্রশ্নের একটি তালিকা, যা অনেক মানুষের কাছে পাঠিয়ে জানা প্রশ্নে কতজন কী ভাবেন তা মাপা হয়।যেখানে শিখবেন: পর্ব ২০
- Queue timeকিউ টাইম
- Pipeline বা job তৈরি হওয়ার পর একটি খালি runner পাওয়া পর্যন্ত অপেক্ষার সময়; runner কম থাকলে এটি feedback-কে ধীর করে।যেখানে শিখবেন: পর্ব ৫৮
R
- Race conditionরেস কন্ডিশন
- একাধিক কাজ একই shared data একই সময়ে পড়া-লেখা করলে ফল কোন কাজ আগে চলল তার ওপর নির্ভর করে — এমন ভুল।যেখানে শিখবেন: পর্ব ০২পর্ব ৩১পর্ব ৩৩
- RAD (Rapid Application Development)র্যাড
- দ্রুত prototype, ব্যবহারকারীর সাথে workshop, নির্দিষ্ট সময়ের timebox আর তৈরি টুল ব্যবহার করে অল্প সময়ে software বানানোর পদ্ধতি।যেখানে শিখবেন: পর্ব ০৪
- Range checkরেঞ্জ চেক
- কোনো মান ব্যবহারের আগে তা অনুমোদিত সীমার মধ্যে আছে কি না যাচাই করা, আর না থাকলে কী হবে তা ঠিক করে রাখা।যেখানে শিখবেন: পর্ব ০২
- RCS (Revision Control System)আরসিএস
- Walter Tichy-র ১৯৮০-র দশকের শুরুতে তৈরি local version control, যা প্রতিটি ফাইলের ইতিহাস পরিবর্তনের পার্থক্য (delta) হিসেবে রাখে।যেখানে শিখবেন: পর্ব ০৭
- Reachable commitরিচেবল কমিট
- কোনো branch, tag বা HEAD থেকে parent-এর তীর ধরে পেছনে হেঁটে যে commit-এ পৌঁছানো যায়; যেখানে পৌঁছানো যায় না, তাকে unreachable বলে।যেখানে শিখবেন: পর্ব ১২পর্ব ১৪পর্ব ১৫
- READMEরিডমি
- Repository-র মূলে রাখা প্রথম নথি: project কী আর কেন, কীভাবে install আর ব্যবহার করবেন, কীভাবে অবদান রাখবেন আর license কী।যেখানে শিখবেন: পর্ব ৬৩পর্ব ৬৫
- Realizationরিয়েলাইজেশন
- একটি class যে একটি interface-এর চুক্তি পূরণ করে, সেই সম্পর্ক; UML-এ ড্যাশ রেখা আর interface-এর দিকে ফাঁপা ত্রিভুজ।যেখানে শিখবেন: পর্ব ২৯পর্ব ৩২পর্ব ৩৩
- Rebaseরিবেস
- একটি branch-এর commit-গুলোর পরিবর্তন আরেকটি commit-এর ওপর আবার বসানো, যাতে ইতিহাস একটি সোজা রেখায় থাকে; এতে একই পরিবর্তন দিয়ে নতুন ID-র নতুন commit তৈরি হয়, আর পুরোনো commit-গুলো বদলায় না, garbage collection-এর আগ পর্যন্ত থেকে যায়।যেখানে শিখবেন: পর্ব ১০পর্ব ১৪পর্ব ১৫
- Rebase todo listরিবেস টুডু লিস্ট
- Interactive rebase-এর কাজের তালিকা — প্রতি লাইনে একটি command (pick, reword, squash, fixup, drop, exec…) আর একটি commit; পুরোনো commit ওপরে, Git ওপর থেকে নিচে চালায়।যেখানে শিখবেন: পর্ব ১৫
- Receiverরিসিভার
- Command pattern-এ যে object আসলে কাজটি করতে জানে, যেমন একটি document; concrete command তার reference রাখে আর তাকে ডাকে।যেখানে শিখবেন: পর্ব ৩৫
- Reconciliation loopরিকনসিলিয়েশন লুপ
- বারবার চলা একটি চক্র: কাঙ্ক্ষিত অবস্থা আর আসল অবস্থা তুলনা করা, পার্থক্য পেলে তা ঘোচানোর কাজ করা, তারপর আবার দেখা।যেখানে শিখবেন: পর্ব ৫৯
- Red flagরেড ফ্ল্যাগ
- এমন বাক্য বা আচরণ, যা প্রসঙ্গ আর কারণ ছাড়া বললে অগভীর বোঝাপড়া বা দলে কাজের সমস্যার ইঙ্গিত দেয়, যেমন চরম দাবি বা অন্যকে দোষ দেওয়া।যেখানে শিখবেন: পর্ব ৭০
- Red-green-refactorরেড-গ্রিন-রিফ্যাক্টর
- TDD-র তিন ধাপের চক্র: আগে একটি ব্যর্থ test (red), তারপর তাকে পাস করানোর ন্যূনতম কোড (green), আর শেষে test সবুজ রেখে কোড পরিষ্কার করার refactor ধাপ।যেখানে শিখবেন: পর্ব ৪৮পর্ব ৬৫পর্ব ৭০
- Redactionরিড্যাকশন
- লেখা বা data অন্য কোথাও পাঠানোর আগে গোপন বা ব্যক্তিগত অংশ মুছে [EMAIL]-এর মতো চিহ্ন বসানো।যেখানে শিখবেন: পর্ব ৬৪
- Reducerরিডিউসার
- একটি pure function, যা পুরোনো state আর একটি action নিয়ে নতুন state ফেরত দেয়, পুরোনোটিকে না বদলে।যেখানে শিখবেন: পর্ব ৩৯
- Redundancyরিডানড্যান্সি
- একটি অংশ বিকল হলে কাজ চালিয়ে যেতে বাড়তি কপি রাখা; একই software-এর দুই কপি একই ভুলে একসাথে ব্যর্থ হতে পারে।যেখানে শিখবেন: পর্ব ০২
- Reduxরিডাক্স
- ২০১৫ সালে Dan Abramov ও Andrew Clark-এর তৈরি JavaScript library, যা একটি store, শুধু-পড়া state আর pure reducer দিয়ে একমুখী data flow বাস্তবায়ন করে।যেখানে শিখবেন: পর্ব ৩৯
- Ref (reference)রেফ
- একটি commit-কে মনে রাখা নাম, যেমন branch বা tag; ভেতরে একটি ছোট ফাইল বা তালিকার একটি ঘর, যেখানে commit-এর hash লেখা থাকে।যেখানে শিখবেন: পর্ব ১২পর্ব ১৪পর্ব ১৮
- Refactoringরিফ্যাক্টরিং
- বাইরের আচরণ না বদলে কোডের ভেতরের কাঠামো ছোট ছোট নিরাপদ ধাপে উন্নত করা।যেখানে শিখবেন: পর্ব ২৫পর্ব ৩২পর্ব ৩৬
- Reference storyরেফারেন্স স্টোরি
- দলের চেনা একটি শেষ হওয়া story, যার point ঠিক ধরে বাকি story-গুলোর আপেক্ষিক আকার তুলনা করা হয়।যেখানে শিখবেন: পর্ব ৬০
- Reflogরেফলগ
- HEAD আর প্রতিটি branch কখন কোন commit-এ ছিল তার স্থানীয় খাতা; হারিয়ে যাওয়া commit খুঁজে পেতে কাজে লাগে, আর এটি অন্য কম্পিউটারে যায় না।যেখানে শিখবেন: পর্ব ১১পর্ব ১২পর্ব ১৪
- Reflog selector (@{…})রেফলগ সিলেক্টর
- Reflog পড়ে commit বা branch বোঝানোর লেখা: main@{2} মানে main-এর দুই চলাচল আগের মান, @{-1} মানে আগের checkout করা branch, main@{yesterday} মানে গতকাল এই সময়ে main-এর মান।যেখানে শিখবেন: পর্ব ৫৩
- Refspecরেফস্পেক
- কোন ref কোন নামে আনা বা পাঠানো হবে তার নিয়ম, যেমন +refs/heads/*:refs/remotes/origin/*; শুরুর + মানে fast-forward না হলেও বদলানো চলবে।যেখানে শিখবেন: পর্ব ১৪পর্ব ৫৩
- Reftableরেফটেবল
- Ref আর reflog রাখার binary, সাজানো table-ভিত্তিক বিকল্প backend; Git ২.৪৫ থেকে git init --ref-format=reftable দিয়ে বেছে নেওয়া যায়।যেখানে শিখবেন: পর্ব ৫৩
- Refused bequestরিফিউজড বিকোয়েস্ট
- Fowler-এর code smell: subclass উত্তরাধিকারে পাওয়া method চায় না, তাই খালি রাখে বা error ছোড়ে; প্রায়ই LSP লঙ্ঘনের লক্ষণ।যেখানে শিখবেন: পর্ব ২৮পর্ব ৪২
- Registryরেজিস্ট্রি
- নাম থেকে object বা function খোঁজার একটি টেবিল (যেমন dictionary বা Map), যেখানে নতুন রূপ নিজেকে নিবন্ধন করে; ফলে মূল কোডে if/switch লাগে না।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩২পর্ব ৩৩
- Regressionরিগ্রেশন
- যে আচরণ আগে ঠিক ছিল, পরের কোনো পরিবর্তনের ফলে তা ভেঙে যাওয়া; যেমন নতুন version-এ পুরোনো একটি হিসাব ভুল আসা।যেখানে শিখবেন: পর্ব ৫৫
- Regression testরিগ্রেশন টেস্ট
- আগে ঠিকমতো চলা আচরণ নতুন বদলের পরেও ঠিক আছে কি না যাচাই করতে পুরোনো test আবার চালানো।যেখানে শিখবেন: পর্ব ২৭পর্ব ৪৫পর্ব ৪৮
- Regular expression (regex)রেগুলার এক্সপ্রেশন
- লেখার একটি ধাঁচ বর্ণনার ছোট ভাষা, যেমন 0\.95 মানে ঠিক 0.95; খোঁজ আর মিলানোর কাজে git grep, git log -G-এর মতো tool এটি ব্যবহার করে।যেখানে শিখবেন: পর্ব ৫৫
- Relaxed (open) layeringরিল্যাক্সড লেয়ারিং
- যে নিয়মে একটি স্তর নিজের নিচের যেকোনো স্তরকে ডাকতে পারে; ওপরের দিকে ডাকা তখনো নিষেধ।যেখানে শিখবেন: পর্ব ৩৮
- Releaseরিলিজ
- Software-এর একটি নির্দিষ্ট সংস্করণ ব্যবহারকারীদের জন্য প্রকাশ করা, সাধারণত একটি version নম্বরসহ।যেখানে শিখবেন: পর্ব ০১পর্ব ১৮পর্ব ৫৯
- Release branchরিলিজ ব্রাঞ্চ
- একটি নির্দিষ্ট version প্রকাশের প্রস্তুতি বা রক্ষণাবেক্ষণের জন্য আলাদা করা branch, যেমন release/1.4; সেখানে নতুন feature ঢোকে না, শুধু বাছাই করা fix আসে।যেখানে শিখবেন: পর্ব ১৭পর্ব ৫৬
- Release candidate (rc)রিলিজ ক্যান্ডিডেট
- এমন একটি pre-release, যা কোনো বড় সমস্যা না পাওয়া গেলে হুবহু মূল release হবে, যেমন 2.0.0-rc.1; শেষ পরীক্ষার জন্য দেওয়া হয়।যেখানে শিখবেন: পর্ব ১৮
- Release managementরিলিজ ম্যানেজমেন্ট
- কোন পরিবর্তন কবে, কাদের কাছে, কোন ঝুঁকি আর ফেরার পরিকল্পনাসহ release হবে — সেই পরিকল্পনা, সমন্বয় আর নথি রাখার কাজ।যেখানে শিখবেন: পর্ব ৫৯
- Release notesরিলিজ নোটস
- একটি নির্দিষ্ট release-এর ঘোষণা: কী বদলাল, কী ভাঙল, হালনাগাদ করতে কী করতে হবে আর পরিচিত সমস্যা কী।যেখানে শিখবেন: পর্ব ১৮
- Release on demandরিলিজ অন ডিমান্ড
- Software সবসময় release-যোগ্য থাকে বলে কখন release হবে তা প্রযুক্তি নয়, ব্যবসার সিদ্ধান্ত — যেকোনো দিন একটি বোতামে।যেখানে শিখবেন: পর্ব ৫৯
- Release planningরিলিজ প্ল্যানিং
- বাকি backlog-এর মোট আকার আর দলের velocity-র পরিসর থেকে কোন সময়ের মধ্যে কোন কাজ release হতে পারে তা পরিকল্পনা করা।যেখানে শিখবেন: পর্ব ৬০পর্ব ৬১
- Release sliceরিলিজ স্লাইস
- Story map-কে আড়াআড়ি রেখা টেনে ভাগ করা এক একটি অংশ, যার story-গুলো মিলে একটি release-এ ব্যবহারযোগ্য ফল দেয়।যেখানে শিখবেন: পর্ব ২২
- Reliabilityরিলায়েবিলিটি
- নির্দিষ্ট পরিবেশে নির্দিষ্ট সময় ধরে software ঠিকঠাক কাজ করার ক্ষমতা; failure কত কম ঘটে তার মাপ।যেখানে শিখবেন: পর্ব ০৩
- Remediation costরেমিডিয়েশন কস্ট
- কোনো সমস্যা বা নিয়ম-ভঙ্গ সারাতে আনুমানিক কত সময় বা খরচ লাগবে; static analysis tool-এর debt-হিসাবের ভিত্তি।যেখানে শিখবেন: পর্ব ৪৩
- Remoteরিমোট
- অন্য কোথাও (সাধারণত একটি server বা hosting platform-এ) রাখা একই project-এর আরেকটি repository, যার সাথে commit আদান-প্রদান করা হয়।যেখানে শিখবেন: পর্ব ০৭পর্ব ১৪পর্ব ১৬
- Remote proxyরিমোট প্রক্সি
- অন্য process বা অন্য যন্ত্রে থাকা object-এর স্থানীয় প্রতিনিধি; ডাককে network বার্তায় বদলে পাঠায়, যেমন RPC-র client stub.যেখানে শিখবেন: পর্ব ৩৪
- Remote-tracking branchরিমোট-ট্র্যাকিং ব্রাঞ্চ
- Remote repository-র branch শেষবার কোথায় ছিল তার স্থানীয় স্মৃতি, যেমন origin/main; fetch বা সফল push-এর পরে হালনাগাদ হয়, আপনি নিজে এতে commit করেন না।যেখানে শিখবেন: পর্ব ১২পর্ব ১৪পর্ব ১৫
- Rename (variable, function, field)রিনেম
- Refactoring: variable, function বা field-এর নাম বদলে উদ্দেশ্য স্পষ্ট করা, আর সব ব্যবহারের জায়গায় একসাথে নতুন নাম বসানো।যেখানে শিখবেন: পর্ব ৪১পর্ব ৪২
- Rename detectionরিনেম ডিটেকশন
- Git নাম বদল আলাদা করে জমা রাখে না; দুটি snapshot-এ একটি ফাইল চলে যাওয়া আর প্রায় একই বিষয়বস্তুর আরেকটি আসা দেখে সে নাম বদল অনুমান করে, ডিফল্টে অন্তত ৫০% মিল লাগে।যেখানে শিখবেন: পর্ব ০৮পর্ব ০৯পর্ব ৫৪
- Repeated switch (code smell)রিপিটেড সুইচ
- একটি type বা ধরনের ওপর একই if/switch কোডের অনেক জায়গায়; নতুন ধরন এলে সব জায়গা খুঁজে বদলাতে হয়, তাই প্রায়ই polymorphism দিয়ে বদলানোর সংকেত।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩৬পর্ব ৪২
- Replace Conditional with Polymorphismরিপ্লেস কন্ডিশনাল উইথ পলিমরফিজম
- Refactoring: ধরন দেখে চলা if বা switch-এর প্রতিটি শাখাকে সেই ধরনের নিজস্ব class-এর method-এ সরানো, যাতে caller শুধু method ডাকে।যেখানে শিখবেন: পর্ব ৪২পর্ব ৭০
- Replace Temp with Queryরিপ্লেস টেম্প উইথ কোয়েরি
- Refactoring: একটি হিসাবের ফল রাখা অস্থায়ী variable সরিয়ে তার জায়গায় একটি function ডাকা; হিসাবটি side effect-মুক্ত আর মাঝপথে না বদলালে তবেই নিরাপদ।যেখানে শিখবেন: পর্ব ৪২
- Reply messageরিপ্লাই মেসেজ
- Synchronous call-এর ফেরত বার্তা; ড্যাশ রেখায় আঁকা হয়, লেবেলে ফেরত মান, কোডে return.যেখানে শিখবেন: পর্ব ৩০
- Repositoryরিপোজিটরি
- Version control-এ একটি project-এর সব ফাইল আর তাদের পুরো পরিবর্তনের ইতিহাস যেখানে জমা থাকে; Git-এ এটি project ফোল্ডারের ভেতরের .git ফোল্ডার।যেখানে শিখবেন: পর্ব ০৭পর্ব ০৮পর্ব ১০
- Repositoryরিপোজিটরি
- Domain object জমা রাখা আর খুঁজে আনার কাজ একটি collection-এর মতো interface-এর পেছনে লুকানোর নকশা, যাতে business কোড database-এর খুঁটিনাটি না জানে।যেখানে শিখবেন: পর্ব ২৮পর্ব ৪০
- Requirementরিকোয়ারমেন্ট
- Software-কে কী করতে হবে বা কেমন হতে হবে, তার স্পষ্ট বিবরণ; যেমন শিক্ষার্থী নিজের ফলাফল PDF আকারে নামাতে পারবেন।যেখানে শিখবেন: পর্ব ০১পর্ব ২০পর্ব ২১
- Requirement attributeরিকোয়ারমেন্ট অ্যাট্রিবিউট
- প্রতিটি requirement-এর সাথে রাখা বাড়তি তথ্য — ID, priority, source, rationale, status, যাচাইয়ের পদ্ধতি; এগুলো দিয়েই requirement খোঁজা, সাজানো আর trace করা যায়।যেখানে শিখবেন: পর্ব ২১
- Requirement smellরিকোয়ারমেন্ট স্মেল
- Requirement-এর লেখায় এমন লক্ষণ যা সম্ভাব্য সমস্যার ইঙ্গিত দেয় — weak word, TBD, and/or, কর্তাহীন passive বাক্য, অস্পষ্ট সর্বনাম; লক্ষণ মানেই ভুল নয়, কিন্তু দেখে নিতে হয়।যেখানে শিখবেন: পর্ব ২১
- Requirements elicitationইলিসিটেশন
- Stakeholder, কাগজপত্র আর পুরোনো system থেকে requirement বের করে আনার কাজ, যেমন interview, observation, workshop বা prototype দিয়ে।যেখানে শিখবেন: পর্ব ২০পর্ব ৬৮
- Requirements engineering (RE)রিকোয়ারমেন্টস ইঞ্জিনিয়ারিং
- Software-এর requirement খুঁজে বের করা, বিশ্লেষণ, লিখে রাখা, যাচাই আর বদলের সাথে সামলানোর শৃঙ্খলাবদ্ধ কাজ, যা পুরো project জুড়ে চলে।যেখানে শিখবেন: পর্ব ২০পর্ব ৬৮
- Requirements managementরিকোয়ারমেন্টস ম্যানেজমেন্ট
- Requirement-এর অগ্রাধিকার ঠিক করা, যাচাই করা, নকশা-কোড-test পর্যন্ত সংযোগ রাখা আর পরিবর্তন নিয়ন্ত্রণ করা — পুরো জীবনচক্র জুড়ে চলা কাজ।যেখানে শিখবেন: পর্ব ২০পর্ব ২৪
- Requirements modelingরিকোয়ারমেন্টস মডেলিং
- Requirement-কে নির্দিষ্ট নিয়মের ছবি বা কাঠামোবদ্ধ লেখায় প্রকাশ করা, যাতে সবার বোঝাপড়া এক হয়, ফাঁক চোখে পড়ে আর সহজে জানানো যায়।যেখানে শিখবেন: পর্ব ২৩
- Requirements negotiationরিকোয়ারমেন্টস নেগোশিয়েশন
- Stakeholder-দের পরস্পরবিরোধী চাওয়া আর সীমিত সময়, টাকা ও সামর্থ্যের মধ্যে আলোচনা করে মীমাংসায় পৌঁছানো।যেখানে শিখবেন: পর্ব ২০
- Requirements specificationরিকোয়ারমেন্টস স্পেসিফিকেশন
- Requirement এমনভাবে লিখে রাখা, যাতে সবাই একইভাবে বোঝেন আর পরে যাচাই করা যায়; লিখিত দলিলটিকেও এই নামে ডাকা হয়।যেখানে শিখবেন: পর্ব ২০
- Requirements traceability matrix (RTM)রিকোয়ারমেন্টস ট্রেসেবিলিটি ম্যাট্রিক্স
- প্রতিটি requirement-এর সারিতে তার নকশা, কোড আর test-এর সংযোগ দেখানো টেবিল, যা থেকে test-হীন requirement আর অনাথ test খুঁজে পাওয়া যায়।যেখানে শিখবেন: পর্ব ২৪পর্ব ৬৮
- Requirements validationরিকোয়ারমেন্টস ভ্যালিডেশন
- লেখা requirement-গুলো stakeholder-এর আসল প্রয়োজন ঠিকভাবে ধরেছে কি না তা যাচাই করা — review, prototype, test case আর acceptance test দিয়ে।যেখানে শিখবেন: পর্ব ২০পর্ব ২৪
- Requirements volatilityরিকোয়ারমেন্টস ভোলাটিলিটি
- নির্দিষ্ট সময়ে requirement কতটা বদলেছে তার মাপ, সাধারণত (যোগ + বাদ + বদল) ÷ মোট requirement; সংজ্ঞা উৎসভেদে একটু আলাদা।যেখানে শিখবেন: পর্ব ২৪
- rerere (reuse recorded resolution)রি-রি-রি
- Git-এর একটি সুবিধা, যা একবার হাতে মেটানো merge conflict-এর সমাধান মনে রাখে আর একই conflict আবার এলে নিজেই সেই সমাধান বসায়; rerere.enabled দিয়ে চালু হয়।যেখানে শিখবেন: পর্ব ১০পর্ব ১৫পর্ব ৫৪
- Residual riskরেসিডুয়াল রিস্ক
- প্রতিকারের ব্যবস্থা নেওয়ার পরও যে ঝুঁকি বাকি থাকে; সাধারণত প্রতিকারের পরের RE দিয়ে প্রকাশ করা হয়।যেখানে শিখবেন: পর্ব ৬২
- Resource histogramরিসোর্স হিস্টোগ্রাম
- প্রতিদিন বা প্রতি সপ্তাহে কতজন মানুষ বা কত সম্পদ লাগবে, তার স্তম্ভ-চিত্র।যেখানে শিখবেন: পর্ব ৬১
- Resource levellingরিসোর্স লেভেলিং
- মানুষ বা যন্ত্রের চাহিদার উঁচু চূড়া সমান করতে activity-কে float-এর ভেতরে বা দরকারে তার বাইরে সরানো।যেখানে শিখবেন: পর্ব ৬১
- Response measureরেসপন্স মেজার
- Quality scenario-র শেষ অংশ — সংখ্যা ও এককসহ মাপকাঠি, যা দিয়ে পরীক্ষা করে বলা যায় system-এর সাড়া যথেষ্ট ভালো হলো কি না, যেমন p95 ৩০০ ms বা ৩ person-day.যেখানে শিখবেন: পর্ব ৩৮
- Result / Either typeরেজাল্ট টাইপ
- এমন ফেরত মান, যা হয় সফল ফল নয়তো ব্যর্থতার কারণ বহন করে, যেমন Rust-এর Result বা Haskell-এর Either; ব্যর্থ হতে পারে কথাটি type-এই লেখা থাকে।যেখানে শিখবেন: পর্ব ৩১
- Retrospectiveরেট্রোস্পেক্টিভ
- দল নিয়মিত বসে পেছনে তাকায়: কী ভালো গেল, কী আটকাল, পরের বার কী বদলাবে। Scrum-এ প্রতিটি sprint-এর শেষে হয়।যেখানে শিখবেন: পর্ব ০৬পর্ব ৬৫
- Retryরিট্রাই
- সাময়িক ব্যর্থতার পর একই কাজ আবার চেষ্টা করা, সাধারণত সীমিত সংখ্যকবার আর মাঝে অপেক্ষা রেখে; কাজটি idempotent হলেই নিরাপদ।যেখানে শিখবেন: পর্ব ৩৪
- Reverse dependencyরিভার্স ডিপেনডেন্সি
- একটি project-কে যারা ব্যবহার করে, তারা; dependency graph-এর তীর উল্টে পাওয়া যায়, আর বদলের প্রভাব খুঁজতে এই দিকেই হাঁটতে হয়।যেখানে শিখবেন: পর্ব ১৯
- Reverse engineeringরিভার্স ইঞ্জিনিয়ারিং
- তৈরি কোড বা system থেকে তার নকশা, যেমন class diagram, ফিরে বের করা; উল্টো দিক, অর্থাৎ নকশা থেকে কোড বানানো, forward engineering.যেখানে শিখবেন: পর্ব ২৯
- Review checklistরিভিউ চেকলিস্ট
- Review-এর সময় প্রতিটি requirement-এ মিলিয়ে দেখার প্রশ্নের তালিকা — স্পষ্ট কি, একটিই চাহিদা কি, মাপা যায় কি, অন্যটির সাথে বিরোধ আছে কি।যেখানে শিখবেন: পর্ব ২৪
- Review turnaroundরিভিউ টার্নঅ্যারাউন্ড
- Review-এর অনুরোধ থেকে প্রথম সাড়া পর্যন্ত, বা PR খোলা থেকে merge পর্যন্ত সময়; দীর্ঘ হলে কাজ জমে, conflict বাড়ে।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৬৫
- Revision (rev)রিভিশন
- Git-এ একটি commit বা object-কে নাম দিয়ে চেনানোর লেখা, যেমন HEAD, main, 8ef86df, HEAD~2 বা HEAD^2; Git এটিকে একটি নির্দিষ্ট hash-এ রূপান্তর করে।যেখানে শিখবেন: পর্ব ০৯পর্ব ৫৩পর্ব ৫৫
- Revision range (A..B)রিভিশন রেঞ্জ
- Git-এ commit বাছার একটি লেখার ধরন: A..B মানে যে commit-গুলো B থেকে পৌঁছানো যায় কিন্তু A থেকে নয়, আর A...B মানে যেকোনো একটি থেকে পৌঁছানো যায় কিন্তু দুটি থেকেই নয়।যেখানে শিখবেন: পর্ব ৬৬
- Reworkরিওয়ার্ক
- আগে করা কাজ ভুল বা পুরোনো হয়ে যাওয়ায় আবার করতে হওয়া কাজ; পরিবর্তন যত দেরিতে আসে, rework সাধারণত তত বেশি হয়।যেখানে শিখবেন: পর্ব ০১পর্ব ০৪পর্ব ২৪
- RICE scoringরাইস স্কোরিং
- Reach × Impact × Confidence ÷ Effort সূত্রে feature-এর অগ্রাধিকার মাপার পদ্ধতি, যা Intercom কোম্পানির একটি লেখা থেকে জনপ্রিয় হয়।যেখানে শিখবেন: পর্ব ২৪পর্ব ৬৬
- Rich domain modelরিচ ডোমেইন মডেল
- যে domain model-এ নিয়ম data-র পাশে থাকে আর object নিজের invariant নিজে রক্ষা করে, যাতে বাইরে থেকে তাকে অবৈধ অবস্থায় নেওয়া না যায়।যেখানে শিখবেন: পর্ব ৪০
- Ripple effectরিপল ইফেক্ট
- একটি জায়গার পরিবর্তনের কারণে অন্য module-গুলোতেও পরপর পরিবর্তন করতে হওয়া, পুকুরে ঢিল ফেলার ঢেউয়ের মতো।যেখানে শিখবেন: পর্ব ২৫পর্ব ৪৩
- Riskরিস্ক
- এমন একটি অনিশ্চিত ঘটনা, যা ঘটলে project-এর সময়, খরচ বা মানের ক্ষতি হবে; এর দুটি দিক — ঘটার সম্ভাবনা আর ঘটলে ক্ষতির পরিমাণ।যেখানে শিখবেন: পর্ব ০৪পর্ব ৪৭পর্ব ৬২
- Risk exposureরিস্ক এক্সপোজার
- একটি ঝুঁকির প্রত্যাশিত ক্ষতি: ঘটার সম্ভাবনা গুণ ঘটলে ক্ষতি, অর্থাৎ RE = P × L; কোন ঝুঁকি আগে সামলাবেন তা ঠিক করতে কাজে লাগে।যেখানে শিখবেন: পর্ব ০৪পর্ব ৬২পর্ব ৬৬
- Risk managementরিস্ক ম্যানেজমেন্ট
- ঝুঁকি চিহ্নিত করা, বিশ্লেষণ, জবাবের পরিকল্পনা আর নজরদারির সুশৃঙ্খল ও বারবার চলা প্রক্রিয়া, যাতে ঝুঁকি ঘটার আগেই ব্যবস্থা নেওয়া যায়।যেখানে শিখবেন: পর্ব ৬২
- Risk mitigationরিস্ক মিটিগেশন
- আগে থেকে কাজ করে ঝুঁকির সম্ভাবনা বা ঘটলে ক্ষতি কমানো, যেমন load test, prototype বা backup.যেখানে শিখবেন: পর্ব ৬২
- Risk reduction leverage (RRL)রিস্ক রিডাকশন লেভারেজ
- Boehm-এর মাপ: (প্রতিকারের আগের RE − পরের RE) ÷ প্রতিকারের খরচ; ১-এর বেশি হলে খরচের চেয়ে বেশি প্রত্যাশিত ক্ষতি কমে।যেখানে শিখবেন: পর্ব ৬২পর্ব ৬৬পর্ব ৬৮
- Risk registerরিস্ক রেজিস্টার
- Project-এর সব চিহ্নিত ঝুঁকির জীবন্ত তালিকা, যেখানে প্রতিটির বিবরণ, owner, সম্ভাবনা, ক্ষতি, trigger, response, contingency আর অবস্থা লেখা থাকে।যেখানে শিখবেন: পর্ব ৬২পর্ব ৬৫
- Risk response strategyরিস্ক রেসপন্স
- একটি ঝুঁকির জবাবের কৌশল; ক্ষতিকর ঝুঁকিতে avoid, transfer, mitigate বা accept, আর সুযোগে exploit, share, enhance বা accept.যেখানে শিখবেন: পর্ব ৬২
- Risk triggerরিস্ক ট্রিগার
- মাপা যায় এমন আগাম সংকেত, যা দেখা দিলে বোঝা যায় ঝুঁকিটি ঘটতে চলেছে আর পরিকল্পিত ব্যবস্থা শুরু করতে হবে।যেখানে শিখবেন: পর্ব ৬২
- Risk-based testingরিস্ক-বেসড টেস্টিং
- কোন অংশে ভুলের সম্ভাবনা আর ক্ষতি কত, তা দেখে test-এর অগ্রাধিকার, কৌশল আর গভীরতা ঠিক করা।যেখানে শিখবেন: পর্ব ৪৭
- RMMM (Risk Mitigation, Monitoring and Management)আরএমএমএম
- Pressman-এর পাঠ্যবইয়ে ঝুঁকির পরিকল্পনার তিন অংশ: কমানোর ব্যবস্থা, নজরদারির সূচক আর ঘটলে করণীয়।যেখানে শিখবেন: পর্ব ৬২
- Role interfaceরোল ইন্টারফেস
- একটি client একটি ভূমিকায় যা চায় শুধু সেটুকু নিয়ে বানানো ছোট interface, যেমন শুধু print বা শুধু scan.যেখানে শিখবেন: পর্ব ২৮পর্ব ৭০
- Role nameরোল নেম
- Association-এর এক প্রান্তে লেখা নাম, যা বলে অন্য class-এর কাছে এই প্রান্তের object কোন ভূমিকায় আছে, যেমন passenger বা seats; কোডে প্রায়ই field-এর নাম হয়।যেখানে শিখবেন: পর্ব ২৯
- Roll forward (fix forward)রোল ফরোয়ার্ড
- সমস্যা হলে পেছনে না ফিরে দ্রুত একটি নতুন সংশোধিত version deploy করা; কারণ স্পষ্ট আর pipeline দ্রুত হলে কাজে লাগে।যেখানে শিখবেন: পর্ব ৫৯
- Rollbackরোলব্যাক
- সমস্যা হলে আগের ভালো version-এ ফিরে যাওয়া, যেমন আগের artifact আবার deploy করা বা feature flag বন্ধ করা।যেখানে শিখবেন: পর্ব ৫৯পর্ব ৭০
- Rolling wave planningরোলিং ওয়েভ প্ল্যানিং
- কাছের কাজ বিস্তারিত আর দূরের কাজ মোটা দাগে পরিকল্পনা করে, তথ্য জমলে ধাপে ধাপে বিস্তারিত করা।যেখানে শিখবেন: পর্ব ৬১
- Root commitরুট কমিট
- যে commit-এর কোনো parent নেই, যেমন একটি repository-র প্রথম commit; ইতিহাসের শিকল সেখানে শেষ হয়।যেখানে শিখবেন: পর্ব ০৮
- Rubricরুব্রিক
- মূল্যায়নের একটি ছক: প্রতিটি মাপকাঠির জন্য কয়েকটি স্তরের (যেমন শুরু, ভালো, সেরা) স্পষ্ট বর্ণনা, যাতে নিজের কাজ নিজে যাচাই করা যায়।যেখানে শিখবেন: পর্ব ৬৫
- Rule of threeরুল অফ থ্রি
- Don Roberts-এর নামে প্রচলিত, Fowler-এর Refactoring বইয়ে উল্লেখিত পরামর্শ: একই জিনিস তৃতীয়বার করতে গেলে তখন refactor বা abstraction করুন, আগে নয়।যেখানে শিখবেন: পর্ব ২৬পর্ব ২৭পর্ব ৩২
- Run-to-completionরান-টু-কমপ্লিশন
- State machine-এর নিয়ম: একবারে একটি event নেওয়া হয়, আর তার সব exit, effect ও entry শেষ হলে তবেই queue থেকে পরের event.যেখানে শিখবেন: পর্ব ৩০
- Runner / agentরানার
- যে যন্ত্র (virtual machine বা container) pipeline-এর job হাতে নিয়ে চালায়; platform-এর দেওয়া hosted runner বা দলের নিজের self-hosted runner হতে পারে।যেখানে শিখবেন: পর্ব ৫৮
S
- safe.directoryসেফ ডিরেক্টরি
- Git ২.৩৫.২ থেকে আসা config, যাতে অন্য ব্যবহারকারীর মালিকানার কোন repository-কে আপনি বিশ্বাস করেন তা লেখা থাকে; তালিকায় না থাকলে Git সেখানে কাজ থামায়।যেখানে শিখবেন: পর্ব ৫৭
- Sampling biasস্যাম্পলিং বায়াস
- যাঁদের কাছ থেকে তথ্য নেওয়া হলো, তাঁরা পুরো জনগোষ্ঠীর প্রতিনিধি না হওয়ায় ফল একদিকে হেলে যাওয়া; sample বড় করলেও এটি সারে না।যেখানে শিখবেন: পর্ব ২০পর্ব ৬৪
- Sandwich (hybrid) integrationস্যান্ডউইচ ইন্টিগ্রেশন
- Top-down আর bottom-up একসাথে: ওপরের স্তর stub দিয়ে, নিচের স্তর driver দিয়ে, আর দুই দিক মাঝের স্তরে এসে মেলে।যেখানে শিখবেন: পর্ব ৫১
- Sanity testস্যানিটি টেস্ট
- ছোট একটি বদলের পরে সেই এলাকাটি যুক্তিসংগত আচরণ করছে কি না তার সরু, দ্রুত check; অনেক উৎস একে smoke-এর সমার্থক ধরে।যেখানে শিখবেন: পর্ব ৪৫
- SAST (static application security testing)স্যাস্ট
- নিরাপত্তার দিকে মনোযোগী static analysis — যেমন যাচাইহীন ইনপুট SQL query-তে পৌঁছাচ্ছে কি না, কোড না চালিয়ে খোঁজা।যেখানে শিখবেন: পর্ব ৪৪
- Scalarস্কেলার
- বড় repository-র জন্য Git-এর সাথে আসা একটি সহায়ক command, যা একসাথে partial clone, sparse checkout, background maintenance আর সুপারিশ করা setting চালু করে।যেখানে শিখবেন: পর্ব ১৯
- Scale factorস্কেল ফ্যাক্টর
- COCOMO II-তে PREC, FLEX, RESL, TEAM আর PMAT — এই পাঁচটি বৈশিষ্ট্য, যা আকারের exponent ঠিক করে, ফলে বড় project-এ এদের প্রভাব বেশি।যেখানে শিখবেন: পর্ব ৬০পর্ব ৬৬
- Scenario Outlineসিনারিও আউটলাইন
- Gherkin-এ placeholder-সহ একটি ছাঁচ scenario, যার Examples টেবিলের প্রতিটি সারি থেকে একটি করে আলাদা scenario তৈরি হয়।যেখানে শিখবেন: পর্ব ২২
- Scenario testingসিনারিও টেস্টিং
- ব্যবহারকারীর একটি বাস্তবসম্মত গল্প বা use case-এর পথ ধরে শুরু থেকে শেষ পর্যন্ত test; main scenario আর প্রতিটি বিকল্প পথের জন্য আলাদা test.যেখানে শিখবেন: পর্ব ৪৭
- Schedule baselineশিডিউল বেসলাইন
- অনুমোদিত মূল schedule-এর একটি স্থির কপি, যার সাথে প্রকৃত অগ্রগতি তুলনা করা হয় আর যা শুধু আনুষ্ঠানিক অনুমোদনে বদলায়।যেখানে শিখবেন: পর্ব ৬১
- Scope (use case)স্কোপ
- Use case কোন system-এর সীমানা ধরে লেখা — পুরো প্রতিষ্ঠান, একটি software system, নাকি তার একটি অংশ।যেখানে শিখবেন: পর্ব ২২
- Scope creepস্কোপ ক্রিপ
- সময়, বাজেট বা অগ্রাধিকার না বদলে আর প্রভাব না মেপে project-এর পরিধি ধীরে ধীরে নিয়ন্ত্রণহীনভাবে বেড়ে যাওয়া।যেখানে শিখবেন: পর্ব ২৪পর্ব ৬১পর্ব ৬৮
- Scoped lifetimeস্কোপড লাইফটাইম
- একটি scope-এর (সাধারণত একটি web request) ভেতরে একটিই object, নতুন scope-এ নতুন object; যেমন একটি request-এর database transaction রাখার জন্য।যেখানে শিখবেন: পর্ব ৩৭
- Scrumস্ক্রাম
- Ken Schwaber ও Jeff Sutherland-এর তৈরি একটি হালকা Agile কাঠামো, যেখানে একটি ছোট দল নির্দিষ্ট দৈর্ঘ্যের Sprint-এ কাজ করে আর প্রতিটি Sprint-এ ব্যবহারযোগ্য Increment তৈরি করে।যেখানে শিখবেন: পর্ব ০৫পর্ব ৬৮পর্ব ৭০
- Scrum Masterস্ক্রাম মাস্টার
- Scrum Team-এর কার্যকারিতার জন্য জবাবদিহি করা মানুষ, যিনি Scrum বুঝতে সাহায্য করেন আর বাধা সরান; দলের বস বা project manager নন।যেখানে শিখবেন: পর্ব ০৫পর্ব ৬৮
- Scrumbanস্ক্রামবান
- Scrum আর Kanban-এর মিশ্রণ: সাধারণত Scrum-এর ছন্দ বা ভূমিকা রেখে WIP limit আর flow-এর মাপ যোগ করা। শব্দটি Corey Ladas-এর সাথে যুক্ত।যেখানে শিখবেন: পর্ব ০৬
- SDKএসডিকে
- Software Development Kit — কোনো service বা platform ব্যবহারের জন্য তার নির্মাতার দেওয়া library, টুল আর documentation-এর প্যাকেট, যেমন একটি payment gateway-এর client library.যেখানে শিখবেন: পর্ব ৩৪
- SDLC (Software Development Life Cycle)এস-ডি-এল-সি
- একটি software-এর ধারণা থেকে শুরু করে requirement, নকশা, কোড, যাচাই, চালু করা আর রক্ষণাবেক্ষণ পর্যন্ত পুরো জীবনচক্র আর তার ধাপগুলো।যেখানে শিখবেন: পর্ব ০১পর্ব ০৪পর্ব ৬৮
- Seamসিম
- Michael Feathers-এর ধারণা: প্রোগ্রামের এমন জায়গা, যেখানে সেই জায়গার কোড না বদলেই আচরণ বদলানো যায়, যেমন parameter বা constructor দিয়ে test-এ fake বসানো।যেখানে শিখবেন: পর্ব ৪৩পর্ব ৪৯পর্ব ৫১
- Second-system effectসেকেন্ড-সিস্টেম ইফেক্ট
- প্রথম সফল system-এর পর দ্বিতীয়টিতে বাদ রাখা সব বাড়তি সুবিধা ঢুকিয়ে সেটিকে অতিরিক্ত ভারী ও জটিল করে ফেলার প্রবণতা।যেখানে শিখবেন: পর্ব ০২পর্ব ৪৩
- Secondary actorসেকেন্ডারি অ্যাক্টর
- যে actor use case শুরু করে না, কিন্তু সেটি সম্পূর্ণ করতে সাহায্য করে, যেমন পেমেন্ট গেটওয়ে; supporting actor-ও বলা হয়।যেখানে শিখবেন: পর্ব ২৩
- Secretসিক্রেট
- যে তথ্য ফাঁস হলে অন্য কেউ আপনার system-এ ঢুকতে পারে — password, API key, token, private key; এগুলো কখনো repository-তে রাখা উচিত নয়।যেখানে শিখবেন: পর্ব ১০পর্ব ৪৪পর্ব ৫৭
- Secret managerসিক্রেট ম্যানেজার
- Password, key আর token নিরাপদে রাখার বিশেষ service, যা কে কখন কোন secret পড়ল তার log রাখে, প্রবেশাধিকার সীমিত করে আর নিয়মিত বদলানো সহজ করে।যেখানে শিখবেন: পর্ব ৫৭পর্ব ৫৯পর্ব ৬৯
- Secret rotationসিক্রেট রোটেশন
- পুরোনো key বা password বাতিল করে নতুন একটি বানানো আর সব জায়গায় বসানো; ফাঁস হলে বা নিয়মিত সময় পরপর করা হয়।যেখানে শিখবেন: পর্ব ৫৭
- Security testingসিকিউরিটি টেস্টিং
- অনুমতি ছাড়া কেউ data দেখতে, বদলাতে বা system-এর অপব্যবহার করতে পারে কি না তার যাচাই, নিজেদের system-এ অনুমতি নিয়ে।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৬৪
- SEI risk taxonomyএসইআই রিস্ক ট্যাক্সোনমি
- Software Engineering Institute-এর ১৯৯৩ সালের প্রশ্নমালাভিত্তিক ঝুঁকি-শ্রেণিবিন্যাস, যার তিনটি বড় শ্রেণি product engineering, development environment আর program constraints.যেখানে শিখবেন: পর্ব ৬২
- Selection rateসিলেকশন রেট
- একটি গোষ্ঠীর যত জন আবেদন করেছেন, তাঁদের মধ্যে যত জন বাছাই হয়েছেন তার অনুপাত; বাছাই ÷ মোট।যেখানে শিখবেন: পর্ব ৬৪
- Self-messageসেলফ মেসেজ
- একটি object নিজেরই আরেকটি method ডাকলে যে message, একই lifeline থেকে বেরিয়ে সেখানেই ফেরা তীর আর ওপরে বসানো আরেকটি activation bar দিয়ে আঁকা।যেখানে শিখবেন: পর্ব ৩০
- Self-reviewসেলফ-রিভিউ
- Review চাওয়ার আগে লেখকের নিজের diff পুরোটা পড়া, test চালানো আর চেকলিস্ট মেলানো, যাতে সহজ ভুল reviewer পর্যন্ত না যায়।যেখানে শিখবেন: পর্ব ৪৪
- Self-testing buildসেলফ-টেস্টিং বিল্ড
- যে build শুধু কোড compile বা package করে না, নিজে থেকেই স্বয়ংক্রিয় test চালায়, আর কোনো test ব্যর্থ হলে পুরো build-কে ব্যর্থ ঘোষণা করে।যেখানে শিখবেন: পর্ব ৫৮
- Semantic conflictসিমান্টিক কনফ্লিক্ট
- লেখার দিক থেকে পরিষ্কার merge হয়, কিন্তু দুই পরিবর্তন একসাথে প্রোগ্রামের আচরণ ভেঙে দেয় — test বা build ছাড়া ধরা পড়ে না।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৭
- Semantic Versioning (SemVer)সিমান্টিক ভার্শনিং
- MAJOR.MINOR.PATCH আকারের version নম্বরের নিয়ম: পুরোনো ব্যবহার ভাঙলে MAJOR, না ভেঙে নতুন সুবিধা এলে MINOR, শুধু bug fix হলে PATCH বাড়ে।যেখানে শিখবেন: পর্ব ১৮পর্ব ৩১পর্ব ৬৫
- Sensitivity pointসেনসিটিভিটি পয়েন্ট
- Architecture-এর এমন একটি সিদ্ধান্ত বা উপাদান, যা সামান্য বদলালে একটি quality attribute-এর ফল অনেক বদলে যায়।যেখানে শিখবেন: পর্ব ৩৮
- Sentinel valueসেন্টিনেল ভ্যালু
- বিশেষ অর্থ বহনকারী একটি সাধারণ মান, যেমন খুঁজে না পেলে -1; বৈধ মানের সাথে গুলিয়ে যাওয়ার ঝুঁকি থাকে।যেখানে শিখবেন: পর্ব ৩১
- Separation of concernsসেপারেশন অফ কনসার্নস
- আলাদা দায় বা বিবেচ্য বিষয় আলাদা অংশে রাখার নীতি, যাতে একটি দিক বদলালে অন্যগুলো না ঘাঁটতে হয়; কথাটি Dijkstra-র ১৯৭৪ সালের লেখায় পাওয়া যায়।যেখানে শিখবেন: পর্ব ২৬পর্ব ৩৯
- Sequence diagramসিকোয়েন্স ডায়াগ্রাম
- UML-এর interaction diagram, যেখানে ওপর থেকে নিচে সময় চলে আর পাশাপাশি lifeline-এর মধ্যে তীর দিয়ে message-এর ক্রম দেখানো হয়; সাধারণত একটি বা কয়েকটি নির্দিষ্ট scenario-র ছবি।যেখানে শিখবেন: পর্ব ৩০পর্ব ৩৫
- Sequential cohesionসিকোয়েনশিয়াল কোহেশন
- একটি অংশের output পরের অংশের input — একটি ধারাবাহিক পাইপলাইন এক module-এ।যেখানে শিখবেন: পর্ব ২৫
- Server-side hookসার্ভার-সাইড হুক
- Push গ্রহণকারী repository-তে (সাধারণত server-এর bare repository) চলা hook, যেমন pre-receive, update আর post-receive; client-এর --no-verify এদের এড়াতে পারে না।যেখানে শিখবেন: পর্ব ৫৬
- Service layerসার্ভিস লেয়ার
- Application-এর কাজগুলো, যা অনেক model আর বাইরের ব্যবস্থা মিলিয়ে হয়, এক জায়গায় রাখার স্তর; controller বা presenter শুধু service ডাকে।যেখানে শিখবেন: পর্ব ৩৯
- Service lifetimeসার্ভিস লাইফটাইম
- DI container-এ একটি object কতদিন বাঁচবে আর কারা তাকে ভাগ করবে তার নিয়ম; প্রচলিত তিনটি রূপ transient, scoped আর singleton নামে পরিচিত।যেখানে শিখবেন: পর্ব ৩৭
- Service locatorসার্ভিস লোকেটর
- একটি global রেজিস্টার, যার কাছে class নিজের ভেতর থেকে dependency চেয়ে নেয়; নির্ভরতা signature-এ লুকানো থাকে বলে Mark Seemann একে anti-pattern বলেন।যেখানে শিখবেন: পর্ব ৩৭
- Service virtualizationসার্ভিস ভার্চুয়ালাইজেশন
- বাইরের কোনো service-এর জায়গায় network-এ সাড়া দেয় এমন নকল server চালানো, যা ঠিক করা response দেয়; ধীর বা দামি বাইরের system ছাড়াই test চালাতে।যেখানে শিখবেন: পর্ব ৫১
- Setter injectionসেটার ইনজেকশন
- Object তৈরির পরে একটি setter method বা property দিয়ে dependency বসানো; ঐচ্ছিক dependency-র জন্য উপযুক্ত, যার একটি নিরাপদ default আছে।যেখানে শিখবেন: পর্ব ৩৭
- Severityসিভিয়ারিটি
- একটি defect system আর ব্যবহারকারীর ওপর কত বড় প্রভাব ফেলে তার মাপ, যেমন critical, major, minor, trivial.যেখানে শিখবেন: পর্ব ৪৫
- SHA-1শা-ওয়ান
- ১৬০-bit-এর একটি cryptographic hash function; Git ঐতিহ্যগতভাবে প্রতিটি object-এর নাম এটি দিয়ে বানায়, নতুন Git-এ SHA-256-ও বেছে নেওয়া যায়।যেখানে শিখবেন: পর্ব ০৭পর্ব ০৮পর্ব ৫২
- SHA-256শা-টু-ফিফটি-সিক্স
- ২৫৬-bit (৬৪ hex অক্ষর) output-এর SHA-2 পরিবারের cryptographic hash function; Git ২.২৯ থেকে git init --object-format=sha256 দিয়ে এর repository বানানো যায়।যেখানে শিখবেন: পর্ব ৫২পর্ব ৬৯
- Shallow cloneশ্যালো ক্লোন
- git clone --depth N দিয়ে শুধু শেষ N-টি commit-সহ clone; পুরোনো ইতিহাস কাটা থাকে, তাই log, blame বা merge-base-এর উত্তর অসম্পূর্ণ হতে পারে।যেখানে শিখবেন: পর্ব ১৯
- Shallow copyশ্যালো কপি
- শুধু বাইরের object নতুন হয়, ভেতরের list বা object-এর reference একই থাকে; তাই কপির ভেতরের list বদলালে আসলটিও বদলায়।যেখানে শিখবেন: পর্ব ৩৩
- Shallow history (H)শ্যালো হিস্ট্রি
- বৃত্তে H লেখা pseudostate; composite-এ ফিরে এলে শেষবার সক্রিয় সরাসরি substate-এ নিয়ে যায়, তার ভেতরে যায় সেটির initial state-এ।যেখানে শিখবেন: পর্ব ৩০
- Shallow moduleশ্যালো মডিউল
- যে module বা function-এর interface প্রায় তার কাজের সমান বড়, ফলে সামান্যই লুকায়; Ousterhout-এর মতে অতিরিক্ত ছোট টুকরো এমন হয়ে যায়।যেখানে শিখবেন: পর্ব ৪১
- Shannon entropyশ্যানন এনট্রপি
- একটি লেখার অক্ষর কতটা এলোমেলোভাবে ছড়ানো তার মাপ, H = −Σ p·log₂p bit প্রতি অক্ষর; secret scanner এলোমেলো-দেখতে token খুঁজতে এটি ব্যবহার করে।যেখানে শিখবেন: পর্ব ৫৭
- Shift-left testingশিফট-লেফট টেস্টিং
- Testing-কে development-এর সময়রেখায় আগে সরানো — requirement-এর সময়েই test-এর প্রশ্ন, কোডের আগে test, প্রতিটি commit-এ স্বয়ংক্রিয় test.যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৯
- Short-circuitশর্ট-সার্কিট
- শিকল বা হিসাবের মাঝপথে উত্তর পেয়ে গেলে বাকি ধাপগুলো আর না চালিয়ে সেখানেই থেমে যাওয়া।যেখানে শিখবেন: পর্ব ৩৬
- Short-circuit evaluationশর্ট-সার্কিট ইভ্যালুয়েশন
- যুক্ত শর্তের মূল্যায়নে ফল নিশ্চিত হলেই থেমে যাওয়া, যেমন a and b-তে a মিথ্যা হলে b আর দেখা হয় না।যেখানে শিখবেন: পর্ব ৫০
- Short-lived branchশর্ট-লিভড ব্রাঞ্চ
- কয়েক ঘণ্টা থেকে কয়েক দিনের জন্য বানানো branch, যা দ্রুত মূল branch-এ মিশে যায় আর মুছে ফেলা হয়।যেখানে শিখবেন: পর্ব ১২পর্ব ১৭
- Shotgun surgeryশটগান সার্জারি
- একটি code smell: একটি ছোট বদলের জন্য অনেক file বা class-এ ছোট ছোট কাটাছেঁড়া করতে হয়; Kent Beck ও Martin Fowler-এর smell তালিকার একটি নাম।যেখানে শিখবেন: পর্ব ২৭পর্ব ৪২পর্ব ৭০
- Shrinkingশ্রিংকিং
- Property-based testing-এ ব্যর্থ ইনপুটকে উপাদান বাদ দিয়ে বা মান কমিয়ে ধাপে ধাপে ছোট করা, যতক্ষণ test ব্যর্থ থাকে; ফলে সবচেয়ে ছোট ব্যর্থ উদাহরণ পাওয়া যায়।যেখানে শিখবেন: পর্ব ৪৭
- Side effectসাইড ইফেক্ট
- Function-এর ফেরত মানের বাইরে বাইরের জগতে পরিবর্তন, যেমন variable বদলানো, file বা database-এ লেখা, বার্তা পাঠানো।যেখানে শিখবেন: পর্ব ২৬পর্ব ৩৯পর্ব ৪১
- Signed commitসাইনড কমিট
- git commit -S দিয়ে বানানো commit, যার ভেতরে gpgsig header-এ একটি cryptographic স্বাক্ষর থাকে; git verify-commit দিয়ে যাচাই করা যায়।যেখানে শিখবেন: পর্ব ৫৭পর্ব ৬৯
- Signed tagসাইনড ট্যাগ
- git tag -s দিয়ে বানানো annotated tag, যার tag object-এ স্বাক্ষর থাকে; release কে বানিয়েছেন আর তা বদলায়নি, তা git verify-tag দিয়ে যাচাই করা যায়।যেখানে শিখবেন: পর্ব ৫৭
- Similarity indexসিমিলারিটি ইনডেক্স
- দুটি ফাইলের বিষয়বস্তু কত শতাংশ মেলে তার Git-এর হিসাব; rename detection-এ মুছে যাওয়া আর নতুন আসা ফাইলের জোড়া এই মান threshold-এর (ডিফল্ট ৫০%) সমান বা বেশি হলে নাম বদল ধরা হয়।যেখানে শিখবেন: পর্ব ৫৪
- Simple factoryসিম্পল ফ্যাক্টরি
- একটি function বা method, যা parameter দেখে ঠিক class-এর object বানিয়ে ফেরত দেয়; খুব প্রচলিত কৌশল, কিন্তু GoF-এর ২৩টি pattern-এর একটি নয়।যেখানে শিখবেন: পর্ব ৩৩
- Single dispatchসিঙ্গেল ডিসপ্যাচ
- কোন method চলবে তা শুধু একটি object-এর (সাধারণত যার ওপর method ডাকা হলো) চলার সময়ের type দেখে বাছাই; বেশিরভাগ OOP ভাষার স্বাভাবিক নিয়ম।যেখানে শিখবেন: পর্ব ৩৬
- Single point of failureসিঙ্গল পয়েন্ট অব ফেইলিওর
- এমন একটি অংশ, যেটি বন্ধ হলে পুরো ব্যবস্থাই থেমে যায়।যেখানে শিখবেন: পর্ব ০৭
- Single responsibility principle (SRP)সিঙ্গল রেসপনসিবিলিটি প্রিন্সিপল
- একটি module-এর বদলের কারণ আসবে একটিমাত্র actor থেকে, অর্থাৎ একদল মানুষ বা একটি ভূমিকার কাছে তার দায়; “একটি কাজ করা” এর অর্থ নয়।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩৭পর্ব ৩৯
- Single source of truthসিঙ্গেল সোর্স অফ ট্রুথ
- কোনো তথ্য বা নিয়মের একটিমাত্র কর্তৃত্বপূর্ণ জায়গা, যেখান থেকে বাকি সব অংশ সেটি নেয়, ফলে কপিগুলো কখনো আলাদা হয় না।যেখানে শিখবেন: পর্ব ২৬পর্ব ৩৯
- Singleton lifetimeসিঙ্গেলটন লাইফটাইম
- পুরো container-এ একটিই object, যা সবাই ভাগ করে; সিদ্ধান্তটি composition root-এর, class নিজে একক হওয়া জোর করে না — তাই Singleton pattern থেকে আলাদা।যেখানে শিখবেন: পর্ব ৩৭
- Singleton patternসিঙ্গলটন প্যাটার্ন
- একটি class-এর একটিমাত্র object আর তার একটি বৈশ্বিক প্রবেশপথ নিশ্চিত করার creational pattern; লুকানো global অবস্থার কারণে বহুল সমালোচিত।যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৩পর্ব ৭০
- Six Sigmaসিক্স সিগমা
- ১৯৮০-র দশকে Motorola-তে শুরু হওয়া প্রক্রিয়ার ওঠানামা ও defect কমানোর পদ্ধতি, যার উন্নতির প্রকল্প সাধারণত DMAIC ধাপে চলে।যেখানে শিখবেন: পর্ব ৬২
- Slide Statementsস্লাইড স্টেটমেন্টস
- Refactoring: সম্পর্কিত লাইনগুলো পাশাপাশি আনতে কোনো লাইন ওপরে বা নিচে সরানো; মাঝের কোড সেই লাইনের মান না পড়লে বা না বদলালে তবেই নিরাপদ।যেখানে শিখবেন: পর্ব ৪২
- Slow testস্লো টেস্ট
- যে test চলতে অনেক সময় নেয়, যেমন sleep, আসল network বা database-এর কারণে; ফলে মানুষ test কম চালান।যেখানে শিখবেন: পর্ব ৪৬
- Smoke testস্মোক টেস্ট
- নতুন build-এর প্রধান কাজগুলো আদৌ চলে কি না তার দ্রুত, চওড়া কিন্তু অগভীর check; সংজ্ঞা উৎসভেদে কিছুটা আলাদা।যেখানে শিখবেন: পর্ব ৪৫
- Snapshotস্ন্যাপশট
- কোনো এক মুহূর্তে project-এর সব ফাইলের পূর্ণ অবস্থার ছবি; Git প্রতিটি commit-কে এভাবেই দেখে।যেখানে শিখবেন: পর্ব ০৭পর্ব ০৮পর্ব ০৯
- Sociable unit testসোশ্যাবল টেস্ট
- যে unit test পরীক্ষাধীন class-এর সাথে তার আসল সহযোগী object-গুলোও চালায়, শুধু ধীর বা বাইরের জিনিস (network, database) বদলায়; Detroit বা classicist ধারার পছন্দ।যেখানে শিখবেন: পর্ব ৪৬পর্ব ৭০
- Software architectureসফটওয়্যার আর্কিটেকচার
- একটি system-এর বড় কাঠামো — কোন কোন অংশ, তাদের মধ্যে সম্পর্ক আর গুণাবলি — এবং সেই সিদ্ধান্তগুলো, যা পরে বদলানো কঠিন ও ব্যয়বহুল।যেখানে শিখবেন: পর্ব ৩৮
- Software constructionসফটওয়্যার কনস্ট্রাকশন
- নকশা অনুযায়ী কোড লেখা, unit test লেখা, debug করা ও কোড গুছিয়ে রাখার ধাপ।যেখানে শিখবেন: পর্ব ০১
- Software crisisসফটওয়্যার ক্রাইসিস
- ১৯৬০-এর দশকের শেষে বড় software project-এর নিয়মিত দেরি, বাজেট ছাড়ানো আর অনির্ভরযোগ্যতার অবস্থাকে দেওয়া নাম।যেখানে শিখবেন: পর্ব ০২
- Software designসফটওয়্যার ডিজাইন
- Requirement মেটাতে software-কে কোন কোন অংশে ভাগ করা হবে, অংশগুলো কীভাবে কথা বলবে আর ডেটা কোথায় থাকবে — তার নকশা।যেখানে শিখবেন: পর্ব ০১পর্ব ২০পর্ব ৩৮
- Software engineeringসফটওয়্যার ইঞ্জিনিয়ারিং
- Software তৈরি, চালানো আর রক্ষণাবেক্ষণে পদ্ধতিগত, শৃঙ্খলাবদ্ধ ও মাপা যায় এমন পথ ব্যবহারের বিদ্যা — সময়, খরচ, মান আর দল সব মিলিয়ে ভাবা।যেখানে শিখবেন: পর্ব ০১পর্ব ০২
- Software Engineering Code of Ethics and Professional Practiceসফটওয়্যার ইঞ্জিনিয়ারিং কোড অফ এথিকস
- ACM আর IEEE Computer Society-র যৌথ task force-এর লেখা আচরণবিধি, ১৯৯৯ সালে গৃহীত; জনস্বার্থকে কেন্দ্রে রেখে আটটি নীতি — Public, Client and Employer, Product, Judgment, Management, Profession, Colleagues, Self.যেখানে শিখবেন: পর্ব ৬৪পর্ব ৬৮
- Software estimationসফটওয়্যার এস্টিমেশন
- একটি software তৈরিতে কত কাজ (effort), কত সময় আর কত খরচ লাগতে পারে, তার যুক্তিসংগত পূর্বাভাস দেওয়ার প্রক্রিয়া; ফলটি একটি সম্ভাব্য পরিসর, প্রতিশ্রুতি নয়।যেখানে শিখবেন: পর্ব ৬০
- Software licenseসফটওয়্যার লাইসেন্স
- কপিরাইটের মালিকের দেওয়া অনুমতি আর শর্ত: software ব্যবহার, বদলানো আর বিতরণ কীভাবে করা যাবে।যেখানে শিখবেন: পর্ব ৬৩পর্ব ৬৪
- Software maintenanceসফটওয়্যার মেইনটেন্যান্স
- চালু হওয়ার পরে software-এ ভুল সারানো, নতুন পরিবেশে মানিয়ে নেওয়া, নতুন চাহিদা যোগ করা আর কোড উন্নত করার কাজ।যেখানে শিখবেন: পর্ব ০১পর্ব ৪৩
- Software metricসফটওয়্যার মেট্রিক
- Software বা তার প্রক্রিয়ার কোনো গুণকে স্পষ্ট নিয়মে সংখ্যায় প্রকাশের মাপকাঠি, যেমন defect density বা p95 latency.যেখানে শিখবেন: পর্ব ০৩পর্ব ২৪পর্ব ৫০
- Software qualityসফটওয়্যার কোয়ালিটি
- Software কতটা তার requirement মানে আর ব্যবহারকারীর আসল প্রয়োজন মেটায় — কাজ, গতি, নির্ভরযোগ্যতা, নিরাপত্তা, রক্ষণাবেক্ষণের সহজতা ইত্যাদি গুণের সমষ্টি।যেখানে শিখবেন: পর্ব ০৩
- Software supply chainসফটওয়্যার সাপ্লাই চেইন
- Source code থেকে ব্যবহারকারীর হাতে পৌঁছানো পর্যন্ত পুরো পথ — dependency, build tool, CI আর release ফাইল; যেকোনো ধাপ দূষিত হলে চূড়ান্ত software-ও ঝুঁকিতে পড়ে।যেখানে শিখবেন: পর্ব ৫৭পর্ব ৫৯পর্ব ৬৩
- Software testingসফটওয়্যার টেস্টিং
- Software চালিয়ে বা পরীক্ষা করে দেখা যে এটি প্রত্যাশামতো কাজ করছে কি না, আর ভুল খুঁজে বের করা।যেখানে শিখবেন: পর্ব ০১পর্ব ৪৫
- SOLIDসলিড
- Object-oriented নকশার পাঁচটি নীতির প্রথম অক্ষর দিয়ে বানানো নাম — single responsibility, open-closed, Liskov substitution, interface segregation আর dependency inversion; নীতিগুলো Robert C. Martin একসাথে উপস্থাপন করেন।যেখানে শিখবেন: পর্ব ২৭পর্ব ২৮
- Solitary unit testসলিটারি টেস্ট
- যে unit test পরীক্ষাধীন class-কে একা রাখে আর তার সহযোগী object-গুলোর জায়গায় test double বসায়; London বা mockist ধারার পছন্দ।যেখানে শিখবেন: পর্ব ৪৬পর্ব ৭০
- Space-based architectureস্পেস-বেসড আর্কিটেকচার
- অনেকগুলো processing unit memory-তে ডেটার কপি রেখে কাজ করে আর database-এ পরে asynchronous ভাবে লেখে; হঠাৎ বিপুল ভিড় সামলাতে, কিন্তু জটিল ও ব্যয়বহুল।যেখানে শিখবেন: পর্ব ৩৮
- Sparse checkoutস্পার্স চেকআউট
- Repository-র সব কিছু না খুলে working tree-তে শুধু বেছে নেওয়া folder রাখা; git sparse-checkout set দিয়ে, আধুনিক Git-এ ডিফল্ট cone mode-এ folder ধরে।যেখানে শিখবেন: পর্ব ১৯পর্ব ৫৬পর্ব ৬৯
- SPDXএসপিডিএক্স
- Software Package Data Exchange: Linux Foundation-এর মান, ২০২১ সালে ISO/IEC 5962 হিসেবে গৃহীত, যা license-এর নির্দিষ্ট নাম আর software-এর উপাদান-তালিকা লেখার format দেয়।যেখানে শিখবেন: পর্ব ৬৩
- SPDX license expressionএসপিডিএক্স এক্সপ্রেশন
- একাধিক license একসাথে লেখার নিয়ম: OR মানে বেছে নেওয়া, AND মানে দুটিই মানা, WITH মানে license-এর সাথে একটি exception; বন্ধনী দিয়ে অগ্রাধিকার বদলানো যায়।যেখানে শিখবেন: পর্ব ৬৩
- SPDX license identifierএসপিডিএক্স লাইসেন্স আইডেন্টিফায়ার
- SPDX তালিকায় প্রতিটি license-এর নির্দিষ্ট ছোট নাম, যেমন MIT, Apache-2.0 বা GPL-3.0-or-later; ফাইলের মাথায় SPDX-License-Identifier লাইনে লেখা হয়।যেখানে শিখবেন: পর্ব ৬৩
- Special-cause variationস্পেশাল কজ ভ্যারিয়েশন
- নির্দিষ্ট, খুঁজে পাওয়া যায় এমন কারণে হওয়া অস্বাভাবিক ওঠানামা, যা control chart-এ সীমার বাইরের বিন্দু বা অস্বাভাবিক নকশা হিসেবে ধরা পড়ে।যেখানে শিখবেন: পর্ব ৬২
- Specification by exampleস্পেসিফিকেশন বাই এক্সাম্পল
- বাস্তব উদাহরণ দিয়ে requirement লেখা আর সেগুলোকে স্বয়ংক্রিয় acceptance test বানিয়ে জীবন্ত specification হিসেবে রাখার চর্চা; Gojko Adzic-এর ২০১১ সালের বইয়ে নামটি জনপ্রিয়।যেখানে শিখবেন: পর্ব ২৪পর্ব ৪৮
- Speculative generalityস্পেকুলেটিভ জেনারেলিটি
- “পরে লাগতে পারে” ভেবে যোগ করা অব্যবহৃত abstraction, hook বা parameter; Fowler ও Beck-এর code smell তালিকার একটি নাম।যেখানে শিখবেন: পর্ব ২৬পর্ব ৩২পর্ব ৩৫
- SPI (schedule performance index)এসপিআই
- EV ÷ PV; ১-এর কম মানে পরিকল্পনার চেয়ে কম কাজ হয়েছে, অর্থাৎ পিছিয়ে।যেখানে শিখবেন: পর্ব ৬১পর্ব ৬৬
- Spikeস্পাইক
- অজানা প্রশ্নের উত্তর খুঁজতে সময়-সীমা বাঁধা ছোট গবেষণার কাজ, যার ফল জ্ঞান, ব্যবহারযোগ্য feature নয়।যেখানে শিখবেন: পর্ব ২২পর্ব ৪৮
- Spiral modelস্পাইরাল মডেল
- Barry Boehm-এর ঝুঁকি-চালিত process model; প্রতিটি পাক বা loop-এ লক্ষ্য ঠিক করা, ঝুঁকি বিশ্লেষণ, তৈরি ও যাচাই আর পরের loop-এর পরিকল্পনা হয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ৬৮
- Sprintস্প্রিন্ট
- Scrum-এর এক মাস বা তার কম সময়ের নির্দিষ্ট দৈর্ঘ্যের চক্র, যার ভেতরে বাকি সব event ঘটে আর একটি Sprint Goal পূরণের চেষ্টা হয়।যেখানে শিখবেন: পর্ব ০৫পর্ব ৬৮পর্ব ৭০
- Sprint Backlogস্প্রিন্ট ব্যাকলগ
- Sprint Goal, এই Sprint-এর জন্য বেছে নেওয়া item আর সেগুলো শেষ করার পরিকল্পনা — Developers-এর নিজেদের পরিকল্পনা।যেখানে শিখবেন: পর্ব ০৫
- Sprint Goalস্প্রিন্ট গোল
- একটি Sprint-এর একমাত্র লক্ষ্য, Sprint Backlog-এর commitment; কাজের scope বদলালেও এটি স্থির থাকে।যেখানে শিখবেন: পর্ব ০৫
- Sprint Planningস্প্রিন্ট প্ল্যানিং
- Sprint-এর শুরুর event, যেখানে পুরো Scrum Team ঠিক করে কেন (Sprint Goal), কী (কোন item) আর কীভাবে কাজ হবে; এক মাসের Sprint-এ সর্বোচ্চ ৮ ঘণ্টা।যেখানে শিখবেন: পর্ব ০৫
- Sprint Retrospectiveস্প্রিন্ট রেট্রোস্পেক্টিভ
- Sprint-এর শেষ event, যেখানে দল নিজেদের কাজের ধরন, সম্পর্ক, process আর tool নিয়ে ভেবে পরের Sprint-এর জন্য উন্নতির পদক্ষেপ ঠিক করে।যেখানে শিখবেন: পর্ব ০৫
- Sprint Reviewস্প্রিন্ট রিভিউ
- Sprint-এর শেষ দিকের event, যেখানে Scrum Team আর stakeholder মিলে Sprint-এর ফল যাচাই করেন আর Product Backlog বদলানোর সিদ্ধান্ত নেন।যেখানে শিখবেন: পর্ব ০৫
- Sprout classস্প্রাউট ক্লাস
- নতুন কাজের জন্য পুরো একটি নতুন, test-সহ class বানিয়ে পুরোনো class থেকে ডাকা, যখন পুরোনো class-কে test-এ আনাই কঠিন।যেখানে শিখবেন: পর্ব ৪৩
- Sprout methodস্প্রাউট মেথড
- Legacy code-এ নতুন কাজ আলাদা, ছোট, test-সহ একটি method-এ লিখে পুরোনো method থেকে শুধু এক লাইনে ডাকার কৌশল; Feathers-এর বইয়ে বর্ণিত।যেখানে শিখবেন: পর্ব ৪৩পর্ব ৭০
- Spy (test spy)স্পাই
- যে test double আসল object-এর জায়গায় বসে প্রতিটি ডাক আর তার argument লিখে রাখে, যাতে test পরে যাচাই করতে পারে কী কী ডাকা হয়েছিল।যেখানে শিখবেন: পর্ব ৩৯পর্ব ৪৬পর্ব ৪৯
- SQALEস্কেল
- Software Quality Assessment based on Lifecycle Expectations — Jean-Louis Letouzey-র পদ্ধতি, যেখানে প্রতিটি নিয়ম-ভঙ্গের জন্য সারানোর আনুমানিক সময় ধরে যোগ করে debt-কে সময়ে প্রকাশ করা হয়।যেখানে শিখবেন: পর্ব ৪৩
- SQL injectionএসকিউএল ইনজেকশন
- ব্যবহারকারীর ইনপুট সরাসরি SQL query-র লেখায় জোড়া হলে ইনপুটের ভেতরের লেখা SQL হিসেবে চলে যাওয়ার দুর্বলতা; প্রতিরোধ parameterized query দিয়ে।যেখানে শিখবেন: পর্ব ৪৪
- Squash mergeস্কোয়াশ মার্জ
- একটি branch-এর সব commit-এর মোট পরিবর্তন একটিমাত্র নতুন commit হিসেবে মূল branch-এ বসানো; ইতিহাস সংক্ষিপ্ত হয়, কিন্তু branch-এর ভেতরের ধাপগুলো মূল branch-এ থাকে না।যেখানে শিখবেন: পর্ব ১৫
- SRE (site reliability engineering)এসআরই
- চালু software-কে নির্ভরযোগ্য রাখার প্রকৌশল — monitoring, incident সামলানো আর reliability-র লক্ষ্য ঠিক করা।যেখানে শিখবেন: পর্ব ০১পর্ব ৫৯
- SRSএসআরএস
- Software Requirements Specification — একটি software-এর requirement-গুলো সাজিয়ে লেখা নথি; IEEE 830-1998 আর পরে ISO/IEC/IEEE 29148 এর কাঠামো ও গুণ বর্ণনা করে।যেখানে শিখবেন: পর্ব ২১
- SSH (Secure Shell)এসএসএইচ
- এনক্রিপ্ট করা দূরবর্তী সংযোগের protocol; Git-এ git@host:path বা ssh:// ঠিকানায় key pair দিয়ে পরিচয় প্রমাণ করে।যেখানে শিখবেন: পর্ব ১৪
- SSH signingএসএসএইচ সাইনিং
- Git ২.৩৪ থেকে পাওয়া ব্যবস্থা, যেখানে gpg.format ssh দিলে আগে থেকে থাকা SSH key দিয়েই commit আর tag sign করা যায়; যাচাইয়ে allowed signers ফাইল লাগে।যেখানে শিখবেন: পর্ব ৫৭
- Stable Dependencies Principleস্টেবল ডিপেনডেন্সিস প্রিন্সিপল
- Robert C. Martin-এর নীতি: নির্ভরতার তীর কম stable থেকে বেশি stable package-এর দিকে যাওয়া উচিত।যেখানে শিখবেন: পর্ব ২৫
- Stacked branchesস্ট্যাকড ব্রাঞ্চ
- একটির ওপর আরেকটি সাজানো কয়েকটি branch, যেখানে প্রতিটি আলাদা review বা pull request; নিচেরটি বদলালে ওপরেরগুলোও rebase করতে হয়, Git ২.৩৮ থেকে --update-refs কাজটি সহজ করে।যেখানে শিখবেন: পর্ব ১৫
- Stage (CI)স্টেজ
- Pipeline-এর job-গুলোর একটি দল; একই stage-এর job সমান্তরালে চলে, আর আগের stage সফল হলে তবেই পরের stage শুরু হয়; GitLab CI-তে stages নামে শব্দটি সরাসরি আছে।যেখানে শিখবেন: পর্ব ৫৮
- Staging area (index)স্টেজিং এরিয়া
- পরের commit ঠিক কেমন হবে তার প্রস্তুত তালিকা — প্রতিটি ফাইলের কোন version যাবে; git add এখানে তোলে, আর .git/index ফাইলে এটি থাকে।যেখানে শিখবেন: পর্ব ০৮পর্ব ০৯পর্ব ১০
- Staging environmentস্টেজিং এনভায়রনমেন্ট
- Production-এর যতটা সম্ভব কাছাকাছি করে সাজানো আলাদা পরিবেশ, যেখানে release-এর আগে পুরো system চালিয়ে দেখা হয়।যেখানে শিখবেন: পর্ব ৫১পর্ব ৫৯
- Stakeholderস্টেকহোল্ডার
- যিনি software-টি দ্বারা প্রভাবিত হন বা এর ওপর প্রভাব রাখেন — গ্রাহক, ব্যবহারকারী, বিনিয়োগকারী, নিয়ন্ত্রক সংস্থা, developer দল।যেখানে শিখবেন: পর্ব ০১পর্ব ০৪পর্ব ২০
- Stale pull requestস্টেল পুল রিকোয়েস্ট
- অনেক দিন খোলা পড়ে থাকা pull request, যার target branch এর মধ্যে অনেক এগিয়ে গেছে; conflict আর পুরোনো CI ফলের ঝুঁকি বাড়ে।যেখানে শিখবেন: পর্ব ১৬
- Stamp couplingস্ট্যাম্প কাপলিং
- পুরো একটি record বা object পাঠানো হয়, যদিও গ্রহীতার লাগে তার একটি-দুটি অংশ; একে data-structured coupling-ও বলা হয়।যেখানে শিখবেন: পর্ব ২৫
- Standard deviationস্ট্যান্ডার্ড ডেভিয়েশন
- মানগুলো গড় থেকে গড়ে কতটা ছড়িয়ে আছে তার মাপ; variance-এর বর্গমূল।যেখানে শিখবেন: পর্ব ৬০পর্ব ৬১
- STAR methodস্টার মেথড
- আচরণগত প্রশ্নের উত্তর সাজানোর ছক: Situation (প্রেক্ষাপট), Task (নিজের দায়িত্ব), Action (নিজে যা করলেন) আর Result (ফল ও শিক্ষা)।যেখানে শিখবেন: পর্ব ৭০
- Stashস্ট্যাশ
- Commit না করা পরিবর্তন সাময়িকভাবে সরিয়ে রেখে working tree পরিষ্কার করার Git কমান্ড, পরে ফিরিয়ে আনা যায়।যেখানে শিখবেন: পর্ব ১২পর্ব ৫৩পর্ব ৬৯
- Stash entry (stash@{n})স্ট্যাশ এন্ট্রি
- git stash push-এ তৈরি একটি সংরক্ষিত অবস্থা; ভেতরে এটি বিশেষ ধরনের commit, যার নাম refs/stash-এর reflog অনুযায়ী stash@{0}, stash@{1} এভাবে হয়, আর সবচেয়ে নতুনটি থাকে সবার ওপরে।যেখানে শিখবেন: পর্ব ৫৬
- Stateস্টেট
- একটি জিনিসের জীবনের এমন একটি অবস্থা, যেখানে সে কিছু সময় থাকে আর নির্দিষ্ট event-এ নির্দিষ্টভাবে সাড়া দেয়, যেমন অর্ডারের Paid অবস্থা।যেখানে শিখবেন: পর্ব ২৩পর্ব ৩০পর্ব ৩৬
- State explosionস্টেট এক্সপ্লোশন
- সমতল state machine-এ স্বাধীন দিকগুলোর সব মিশ্রণ আলাদা state হওয়ায় state-এর সংখ্যা গুণফলে বেড়ে যাওয়ার সমস্যা; orthogonal region একে যোগফলে নামায়।যেখানে শিখবেন: পর্ব ৩০
- State machine diagramস্টেট মেশিন ডায়াগ্রাম
- UML-এর যে ছবি একটি জিনিসের জীবনচক্র দেখায় — কোন কোন state-এ সে থাকতে পারে আর কোন event-এ, কোন guard-এ state বদলায়; এর ভিত্তি Harel-এর statecharts.যেখানে শিখবেন: পর্ব ২৩পর্ব ৩০
- State patternস্টেট প্যাটার্ন
- Object-এর ভেতরের অবস্থা বদলালে তার আচরণও বদলায়, প্রতিটি অবস্থা আলাদা object-এ থাকে আর প্রায়ই নিজেই পরের অবস্থা বসায়; গঠনে strategy-র মতো, উদ্দেশ্যে আলাদা।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৬পর্ব ৭০
- State tableস্টেট টেবিল
- প্রতিটি state-এর সারি আর প্রতিটি event-এর কলামের টেবিল, যার ঘরে নতুন state বা অবৈধ চিহ্ন থাকে; ছবিতে না থাকা অবৈধ মিলনগুলো এতে চোখে পড়ে।যেখানে শিখবেন: পর্ব ৪৭
- State transition testingস্টেট ট্রানজিশন টেস্টিং
- একটি জিনিসের state machine মডেল থেকে test বানানো: বৈধ transition, তাদের ক্রম আর অবৈধ event-এ system ঠিকভাবে প্রত্যাখ্যান করে কি না।যেখানে শিখবেন: পর্ব ৪৭
- State verificationস্টেট ভেরিফিকেশন
- কাজ শেষে ফেরত মান বা SUT ও তার সহযোগীদের অবস্থা দেখে test পাস-ফেল ঠিক করা; কোন method কতবার ডাকা হলো তা দেখা হয় না।যেখানে শিখবেন: পর্ব ৪৯পর্ব ৭০
- Statement coverageস্টেটমেন্ট কভারেজ
- Test চালালে কোডের প্রতিটি executable statement অন্তত একবার চলেছে কি না তার মাপ; CFG-তে প্রতিটি node ছোঁয়া।যেখানে শিখবেন: পর্ব ৫০
- Static analysisস্ট্যাটিক অ্যানালাইসিস
- প্রোগ্রাম না চালিয়ে source code বিশ্লেষণ করে সম্ভাব্য ভুল, নিরাপত্তার ছিদ্র বা জটিলতা খোঁজা; linter এর একটি সরল রূপ।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৪৫পর্ব ৬৮
- Static factory methodস্ট্যাটিক ফ্যাক্টরি মেথড
- Constructor-এর বদলে নাম দেওয়া একটি class-স্তরের method, যা object ফেরত দেয়, যেমন Java-র List.of বা Python-এর classmethod দিয়ে বানানো বিকল্প constructor; GoF-এর Factory Method থেকে আলাদা।যেখানে শিখবেন: পর্ব ৩৩
- Static memberস্ট্যাটিক মেম্বার
- যে attribute বা operation প্রতিটি object-এর নয়, পুরো class-এর একটিই; UML-এ নিচে দাগ (underline) দিয়ে দেখানো হয়।যেখানে শিখবেন: পর্ব ২৯
- Static testingস্ট্যাটিক টেস্টিং
- Software না চালিয়ে requirement, নকশা, কোড বা test পড়ে ও বিশ্লেষণ করে ভুল খোঁজা — review, inspection আর static analysis.যেখানে শিখবেন: পর্ব ৪৫
- Statistical process control (SPC)স্ট্যাটিস্টিক্যাল প্রসেস কন্ট্রোল
- পরিসংখ্যান, বিশেষত control chart, দিয়ে প্রক্রিয়ার স্বাভাবিক ওঠানামা আর নির্দিষ্ট কারণের সংকেত আলাদা করে প্রক্রিয়া নিয়ন্ত্রণের পদ্ধতি।যেখানে শিখবেন: পর্ব ৬২
- Status checkস্ট্যাটাস চেক
- Pull request-এর commit-এ CI বা অন্য tool-এর দেওয়া ফল — সফল, ব্যর্থ বা চলছে; branch protection চাইলে নির্দিষ্ট check সফল না হলে merge আটকায়।যেখানে শিখবেন: পর্ব ১৬পর্ব ৪৪পর্ব ৫৮
- Step (CI)স্টেপ
- একটি job-এর ভেতরের একটি ধাপ — একটি shell command বা একটি তৈরি action; একটি step ব্যর্থ হলে সাধারণত job সেখানেই থামে।যেখানে শিখবেন: পর্ব ৫৮
- Step definitionস্টেপ ডেফিনিশন
- Gherkin-এর একটি ধাপের লেখাকে regular expression বা expression দিয়ে মিলিয়ে কোডের একটি function-এর সাথে যুক্ত করার অংশ; মেলানো অংশগুলো argument হয়ে function-এ যায়।যেখানে শিখবেন: পর্ব ৪৮
- Stepdown ruleস্টেপডাউন রুল
- File উপর থেকে নিচে পড়লে প্রতিটি function-এর পরে তার ডাকা function আসবে, যাতে গল্প এক ধাপ করে খুঁটিনাটিতে নামে; Martin-এর দেওয়া নাম।যেখানে শিখবেন: পর্ব ৪১
- Stereotypeস্টেরিওটাইপ
- UML উপাদানের অর্থ বাড়ানোর একটি লেবেল, দুই কোণা বন্ধনী «» -এর ভেতরে লেখা, যেমন «use» বা «entity»; «interface» আর «enumeration» দেখতে একই রকম হলেও UML-এ আসলে keyword.যেখানে শিখবেন: পর্ব ২৯
- Store (Flux/Redux)স্টোর
- বর্তমান state-এর একমাত্র রক্ষক: dispatch পেলে reducer চালায়, নতুন state রাখে আর শ্রোতাদের জানায়।যেখানে শিখবেন: পর্ব ৩৯
- Story pointস্টোরি পয়েন্ট
- একটি backlog item-এর আপেক্ষিক আকার (জটিলতা, অনিশ্চয়তা আর পরিমাণ মিলিয়ে), যা দল নিজে দেয়; ঘণ্টা নয়, আর অন্য দলের সাথে তুলনীয় নয়।যেখানে শিখবেন: পর্ব ০৫পর্ব ৬০পর্ব ৬৫
- Story splittingস্টোরি স্প্লিটিং
- বড় story বা epic-কে এমন ছোট story-তে ভাঙা, যার প্রতিটি আলাদাভাবে ব্যবহারকারীর কাছে মূল্য দেয়।যেখানে শিখবেন: পর্ব ২২
- Strangler fig patternস্ট্র্যাংলার ফিগ প্যাটার্ন
- পুরোনো system একবারে নতুন করে না লিখে, সামনে একটি facade বসিয়ে একটি একটি অংশ নতুন কোডে সরানো, যতক্ষণ না পুরোনোটি খালি হয়; Martin Fowler ২০০৪ সালের একটি লেখায় এই নাম দেন।যেখানে শিখবেন: পর্ব ৪৩পর্ব ৭০
- Strategy option (-X)স্ট্র্যাটেজি অপশন
- git merge -X দিয়ে merge strategy-কে দেওয়া বাড়তি নির্দেশ, যেমন -X ours, -X theirs, -X ignore-space-change বা -X find-renames=70%; strategy বদলায় না, শুধু তার আচরণ বদলায়।যেখানে শিখবেন: পর্ব ৫৪
- Strategy patternস্ট্র্যাটেজি প্যাটার্ন
- একই কাজের কয়েকটি বিকল্প পদ্ধতিকে আলাদা object-এ রেখে একটি সাধারণ interface দিয়ে বদলযোগ্য করার design pattern; Gang of Four-এর একটি behavioral pattern.যেখানে শিখবেন: পর্ব ২৭পর্ব ৩২পর্ব ৩৫
- Stream-aligned teamস্ট্রিম-অ্যালাইনড টিম
- Team Topologies-এর মূল ধরন: ব্যবসার একটি ধারার কাজ, যেমন checkout, শুরু থেকে শেষ পর্যন্ত নিজে করে আর সরাসরি ব্যবহারকারীর কাছে মূল্য পৌঁছায়।যেখানে শিখবেন: পর্ব ৬৩
- Strict (closed) layeringস্ট্রিক্ট লেয়ারিং
- যে নিয়মে একটি স্তর শুধু ঠিক নিচের স্তরটিকেই ডাকতে পারে, মাঝের কোনো স্তর ডিঙাতে পারে না; প্রতিটি স্তর তাই closed layer.যেখানে শিখবেন: পর্ব ৩৮
- Strong copyleftস্ট্রং কপিলেফট
- যে copyleft শর্ত বিতরণ করা পুরো মিলিত কাজে ছড়ায়, যেমন GPL; পুরোটা একই license-এ source-সহ দিতে হয়।যেখানে শিখবেন: পর্ব ৬৩
- Structural patternস্ট্রাকচারাল প্যাটার্ন
- Class আর object জোড়া দিয়ে বড় কাঠামো বানানোর design pattern; GoF-এ ৭টি — Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy.যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৪
- Structural pattern matchingস্ট্রাকচারাল প্যাটার্ন ম্যাচিং
- Python ৩.১০-এর match-case, যা একটি মানের type আর ভেতরের গঠন মিলিয়ে শাখা বাছাই করে আর অংশগুলো নামে বের করে আনে।যেখানে শিখবেন: পর্ব ৩৬
- Structural typing (Protocol)স্ট্রাকচারাল টাইপিং
- Type মিলেছে কি না তা নাম বা বংশ দেখে নয়, method-এর আকার দেখে ঠিক হয়; Python-এর typing.Protocol এর উদাহরণ।যেখানে শিখবেন: পর্ব ২৮পর্ব ৩১
- Structured analysisস্ট্রাকচারড অ্যানালাইসিস
- ১৯৭০-এর দশকে গড়ে ওঠা requirement বিশ্লেষণের ধারা, যা system-কে process আর data-র প্রবাহ হিসেবে দেখে; এর মূল হাতিয়ার DFD নামের ছবি।যেখানে শিখবেন: পর্ব ২৩
- Structured programmingস্ট্রাকচার্ড প্রোগ্রামিং
- শুধু ক্রম, বাছাই (if) আর পুনরাবৃত্তি (loop) — এই তিন কাঠামো দিয়ে প্রোগ্রাম লেখার ধারা, যাতে কোড পড়ে আচরণ বোঝা যায়।যেখানে শিখবেন: পর্ব ০২
- structuredCloneস্ট্রাকচার্ড ক্লোন
- Browser আর Node.js-এর একটি built-in function, যা মান deep copy করে; function কপি করে না আর class-এর object-কে সাধারণ object বানিয়ে ফেলে।যেখানে শিখবেন: পর্ব ৩৩
- Stubস্টাব
- আসল dependency-র বদলে বসানো test double, যা আগে থেকে ঠিক করা উত্তর দেয়, যাতে test-এর অধীনের কোড নির্দিষ্ট একটি পরিস্থিতিতে চলে; কে কতবার ডাকল তা যাচাই করে না। Meszaros-এর সংজ্ঞায় শুধু জায়গা পূরণের জন্য পাঠানো, কখনো ব্যবহার না হওয়া বস্তু হলো আলাদা জিনিস — dummy.যেখানে শিখবেন: পর্ব ২৮পর্ব ৪৬পর্ব ৪৯
- Student syndromeস্টুডেন্ট সিনড্রোম
- হাতে বাড়তি সময় থাকলে কাজ শেষ মুহূর্তে শুরু করার প্রবণতা, ফলে নিরাপত্তা-সময় নষ্ট হয়।যেখানে শিখবেন: পর্ব ৬১
- Style guideস্টাইল গাইড
- একটি ভাষা বা দলের কোড লেখার লিখিত নিয়ম — নাম, format, comment আর ভাষার কোন সুবিধা কীভাবে ব্যবহার হবে।যেখানে শিখবেন: পর্ব ৪১
- Subclass explosionসাবক্লাস এক্সপ্লোশন
- প্রতিটি বৈশিষ্ট্যের সমন্বয়ের জন্য আলাদা subclass বানাতে গেলে class-এর সংখ্যা গুণফলের হারে বেড়ে যাওয়া, যেমন ৪টি ঐচ্ছিক বৈশিষ্ট্যে ২⁴ = ১৬টি সমন্বয়।যেখানে শিখবেন: পর্ব ৩৪
- Subject (observer)সাবজেক্ট
- Observer pattern-এ যে object-এর বদলের খবর অন্যদের দরকার; সে শ্রোতাদের তালিকা রাখে আর subscribe, unsubscribe ও notify-এর ব্যবস্থা দেয়।যেখানে শিখবেন: পর্ব ৩৫
- Submoduleসাবমডিউল
- একটি Git repository-র ভেতরের একটি folder-এ রাখা আরেকটি আলাদা repository, যার একটি নির্দিষ্ট commit superproject pin করে রাখে; নিজে থেকে নতুন commit-এ এগোয় না।যেখানে শিখবেন: পর্ব ১৯পর্ব ৫৭পর্ব ৬৯
- Substateসাবস্টেট
- Composite state-এর ভেতরের একটি state, যেমন Playing-এর ভেতরে Buffering.যেখানে শিখবেন: পর্ব ৩০
- Subsumption (coverage)সাবজাম্পশন
- মাপকাঠি A মাপকাঠি B-কে subsume করে, যদি A পূরণ করা যেকোনো test suite B-ও পূরণ করে; যেমন branch coverage statement coverage-কে।যেখানে শিখবেন: পর্ব ৫০
- Subsystemসাবসিস্টেম
- বড় system-এর একটি অংশ, যা কয়েকটি class বা module মিলে একটি দায়িত্ব পালন করে, যেমন একটি অনলাইন দোকানের stock, payment আর delivery অংশ।যেখানে শিখবেন: পর্ব ৩৪
- Subtypeসাবটাইপ
- যে type-এর object অন্য একটি type (supertype)-এর জায়গায় ব্যবহার করা যায়; inheritance এর একটি উপায়, কিন্তু একমাত্র উপায় নয়।যেখানে শিখবেন: পর্ব ২৮
- Subversion (SVN)সাবভার্শন
- ২০০০ সালে CVS-এর উন্নত বিকল্প হিসেবে শুরু হওয়া centralized version control; এখন Apache Software Foundation-এর একটি project.যেখানে শিখবেন: পর্ব ০৭
- Superprojectসুপারপ্রজেক্ট
- যে Git repository-র ভেতরে এক বা একাধিক submodule আছে; এটি প্রতিটি submodule-এর শুধু একটি নির্দিষ্ট commit-এর রেকর্ড রাখে।যেখানে শিখবেন: পর্ব ১৯
- Supervising controllerসুপারভাইজিং কন্ট্রোলার
- MVP-র যে রূপে সহজ দেখানোর কাজ view নিজেই data binding দিয়ে করে, আর presenter শুধু জটিল যুক্তি সামলায়।যেখানে শিখবেন: পর্ব ৩৯
- Supply-chain attackসাপ্লাই-চেইন অ্যাটাক
- সরাসরি আপনার কোডে নয়, আপনি যার ওপর নির্ভর করেন — library, CI action, build tool বা update-এর পথে — ক্ষতিকর কোড ঢুকিয়ে আক্রমণ।যেখানে শিখবেন: পর্ব ৫৮
- Supporting actorসাপোর্টিং অ্যাক্টর
- যে বাইরের system বা মানুষ use case চলার সময় সেবা দেয়, যেমন payment gateway বা SMS সেবা; Cockburn এদের secondary actor-ও বলেন।যেখানে শিখবেন: পর্ব ২২
- Survived mutantসারভাইভড মিউট্যান্ট
- যে mutant-এর ওপর সব test পাস করেছে; হয় test দুর্বল, নয়তো mutant-টি equivalent.যেখানে শিখবেন: পর্ব ৫০
- SUT (system under test)এসইউটি
- যে function, class বা অংশটি এই test-এ আসলে পরীক্ষা করা হচ্ছে; তার সহযোগীরা (collaborator) দরকার হলে test double দিয়ে বদলানো হয়।যেখানে শিখবেন: পর্ব ৪৯
- Swallowed exceptionসোয়ালোড এক্সেপশন
- Exception ধরে কিছু না করে চুপচাপ ফেলে দেওয়া, যেমন except: pass; এতে bug লুকিয়ে যায় আর ভুল অবস্থা নিয়ে প্রোগ্রাম এগোয়।যেখানে শিখবেন: পর্ব ৩১পর্ব ৩৫পর্ব ৪১
- SWEBOKসোয়েবক
- IEEE Computer Society-র Guide to the Software Engineering Body of Knowledge — software engineering-এর জ্ঞানক্ষেত্রগুলোর একটি স্বীকৃত মানচিত্র।যেখানে শিখবেন: পর্ব ০১
- Swimlaneসুইমলেন
- একটি ছবির আড়াআড়ি বা খাড়া সারি, যা কাজকে দল বা ধরন অনুযায়ী আলাদা করে দেখায়: Kanban board-এ কাজের ধরন বা অগ্রাধিকারের সারি (যেমন জরুরি কাজ), আর UML activity diagram-এ কোন action কোন actor বা বিভাগের দায়িত্ব, যার আনুষ্ঠানিক নাম activity partition বা বিভাজন।যেখানে শিখবেন: পর্ব ০৬
- Swimlane (activity partition)সুইমলেন
- Activity diagram-এর খাড়া বা আড়াআড়ি ভাগ, যা দেখায় কোন action কোন actor বা বিভাগের দায়িত্ব; UML-এ এর আনুষ্ঠানিক নাম activity partition.যেখানে শিখবেন: পর্ব ২৩
- Switch coverage (N-switch)সুইচ কভারেজ
- State transition testing-এর coverage মাপ: 0-switch মানে প্রতিটি বৈধ transition অন্তত একবার, 1-switch মানে পরপর দুটি transition-এর প্রতিটি বৈধ ক্রম অন্তত একবার; N-switch-এ N+1টি পরপর transition.যেখানে শিখবেন: পর্ব ৪৭
- Symbolic link (symlink)সিম্বলিক লিংক
- যে বিশেষ ফাইল অন্য একটি ফাইল বা ফোল্ডারের path ধরে রাখে; Git এটি mode 120000-এর blob হিসেবে রাখে, যার বিষয়বস্তু সেই লক্ষ্য-path.যেখানে শিখবেন: পর্ব ৫২
- Symbolic refসিম্বলিক রেফ
- যে ref নিজে hash রাখে না, অন্য একটি ref-এর নাম রাখে — যেমন HEAD-এর ভেতরে লেখা থাকে ref: refs/heads/main.যেখানে শিখবেন: পর্ব ১২পর্ব ৫৩
- Synchronous communicationসিনক্রোনাস কমিউনিকেশন
- যে যোগাযোগে সবাইকে একই সময়ে উপস্থিত থাকতে হয়, যেমন সভা, call বা সামনাসামনি আলাপ।যেখানে শিখবেন: পর্ব ৬৩
- Synchronous messageসিনক্রোনাস মেসেজ
- প্রেরক উত্তর না আসা পর্যন্ত অপেক্ষা করে এমন message; সরল রেখা আর ভরাট ত্রিভুজ মাথা দিয়ে আঁকা হয়, কোডে সাধারণ method call.যেখানে শিখবেন: পর্ব ৩০
- System boundaryসিস্টেম বাউন্ডারি
- Use case diagram-এ নাম লেখা আয়তক্ষেত্র; ভেতরের use case আমরা বানাব, বাইরের actor আমাদের দায়িত্বের বাইরে।যেখানে শিখবেন: পর্ব ২৩
- System requirementসিস্টেম রিকোয়ারমেন্ট
- User requirement-কে ভেঙে লেখা বিস্তারিত, সুনির্দিষ্ট requirement — system ঠিক কী করবে, যা নকশা, চুক্তি আর test-এর ভিত্তি হয়।যেখানে শিখবেন: পর্ব ২১
- System testসিস্টেম টেস্ট
- পুরো জোড়া-লাগানো software-কে একটি সম্পূর্ণ system হিসেবে requirement-এর সাথে মিলিয়ে দেখার যাচাই।যেখানে শিখবেন: পর্ব ০৪পর্ব ৪৫পর্ব ৫১
- System under test (SUT)সিস্টেম আন্ডার টেস্ট
- একটি test যে function, class বা অংশটির আচরণ যাচাই করছে; তার চারপাশের বাকি সবকিছু তার dependency বা সহযোগী অংশ।
T
- T-shirt sizingটি-শার্ট সাইজিং
- কাজকে XS, S, M, L, XL-এর মতো মোটা দাগের আকারে ভাগ করা; শুরুর দিকে বা বড় backlog দ্রুত সাজাতে কাজে লাগে।যেখানে শিখবেন: পর্ব ৬০
- Tacit knowledgeট্যাসিট নলেজ
- অভ্যাস আর অভিজ্ঞতায় থাকা এমন জ্ঞান, যা মানুষ কাজে ব্যবহার করেন কিন্তু সহজে কথায় বোঝাতে পারেন না; Michael Polanyi-র ধারণা।যেখানে শিখবেন: পর্ব ২০
- Tagট্যাগ
- একটি নির্দিষ্ট commit-এ স্থায়ীভাবে লাগানো নাম, যেমন v1.0; branch-এর মতো নতুন commit-এর সাথে সরে না।যেখানে শিখবেন: পর্ব ১২পর্ব ১৭পর্ব ১৮
- Take-home assignmentটেক-হোম অ্যাসাইনমেন্ট
- বাড়িতে নির্দিষ্ট সময়ে করে জমা দেওয়ার একটি ছোট project, যেখানে কোডের সাথে README, test আর Git history-ও মূল্যায়ন হতে পারে।যেখানে শিখবেন: পর্ব ৭০
- Targetটার্গেট
- ব্যবসার কাঙ্ক্ষিত তারিখ বা বাজেট, যেমন মেলার আগে চালু করা; এটি ইচ্ছা, অনুমান নয়।যেখানে শিখবেন: পর্ব ৬০
- Taskটাস্ক
- একটি story সম্পূর্ণ করতে দলের করণীয় কারিগরি কাজের ছোট টুকরো, সাধারণত এক দিন বা তার কম সময়ের।যেখানে শিখবেন: পর্ব ২২
- TBDটিবিডি
- To Be Determined — “পরে ঠিক হবে”; SRS-এ খোলা প্রশ্নের চিহ্ন, যার সাথে কে, কবে ঠিক করবেন তা লিখে না রাখলে requirement অসম্পূর্ণ থেকে যায়।যেখানে শিখবেন: পর্ব ২১
- Team Topologiesটিম টপোলজিস
- Matthew Skelton আর Manuel Pais-এর ২০১৯ সালের বই আর কাঠামো, যা দলকে চার ধরনে আর তাদের মেলামেশাকে তিন রকমে ভাগ করে, দলের cognitive load সীমায় রাখার লক্ষ্যে।যেখানে শিখবেন: পর্ব ৬৩
- Tech leadটেক লিড
- দলের প্রযুক্তিগত দিকনির্দেশক — নকশার বড় সিদ্ধান্ত, code review-এর মান আর দলের প্রযুক্তিগত সমন্বয় দেখেন।যেখানে শিখবেন: পর্ব ০১
- Technical debtটেকনিক্যাল ডেট
- নকশা বা কোডের এমন ঘাটতি, যার “সুদ” হলো পরে প্রতিটি বদলে বাড়তি সময় আর ঝুঁকি; এটি জেনেশুনে নেওয়া শর্টকাট হতে পারে, আবার না জেনে তৈরি হওয়া দুর্বল নকশাও হতে পারে (Fowler-এর চতুর্ভুজ)।যেখানে শিখবেন: পর্ব ০১পর্ব ০৫পর্ব ১৭
- Technical debt quadrantটেকনিক্যাল ডেট কোয়াড্রান্ট
- Martin Fowler-এর ২০০৯ সালের শ্রেণিবিন্যাস: debt জেনেশুনে (deliberate) না অজান্তে (inadvertent), আর বিবেচনা করে (prudent) না বেপরোয়াভাবে (reckless) — মোট চার ঘর।যেখানে শিখবেন: পর্ব ৪৩
- Telescoping constructorটেলিস্কোপিং কনস্ট্রাক্টর
- একটির পর একটি বেশি parameter-এর constructor বা লম্বা positional parameter-এর তালিকা; কোন মান কোন ঘরে, পড়ে বোঝা যায় না আর একই ধরনের দুটি মান উল্টে গেলে ধরা পড়ে না।যেখানে শিখবেন: পর্ব ৩৩
- Tell, don't askটেল, ডোন্ট আস্ক
- Object-এর data বের করে বাইরে সিদ্ধান্ত না নিয়ে object-কে বলা কী করতে হবে, যাতে data আর তার নিয়ম একসাথে থাকে।যেখানে শিখবেন: পর্ব ২৬পর্ব ৭০
- Template (template engine)টেমপ্লেট
- HTML-এর মতো লেখার একটি কাঠামো, যার ফাঁকা জায়গায় চালানোর সময় data বসিয়ে পূর্ণ পাতা বানানো হয়; web MVC-তে এটিই সাধারণত view.যেখানে শিখবেন: পর্ব ৩৯
- Template Method patternটেমপ্লেট মেথড প্যাটার্ন
- একটি কাজের ধাপের কাঠামো base class-এর একটি method-এ রেখে নির্দিষ্ট ধাপগুলো subclass-কে লিখতে দেওয়ার behavioral pattern; inheritance-নির্ভর।যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৫
- Temporal cohesionটেম্পোরাল কোহেশন
- অংশগুলো একই সময়ে চলে বলে এক জায়গায়, যেমন প্রোগ্রাম শুরুর সময়ের সব প্রস্তুতি একটি init function-এ।যেখানে শিখবেন: পর্ব ২৫
- Temporary fieldটেম্পোরারি ফিল্ড
- Code smell: object-এর একটি field শুধু কোনো একটি বিশেষ কাজের সময় ভরা থাকে, বাকি সময় খালি বা অর্থহীন; পাঠক বুঝতে পারেন না কখন এটি বৈধ।যেখানে শিখবেন: পর্ব ৪২
- Ten-minute buildটেন-মিনিট বিল্ড
- Extreme Programming থেকে আসা নির্দেশিকা: পুরো build আর মূল test মোটামুটি দশ মিনিটের মধ্যে শেষ হওয়া উচিত, যাতে feedback-এর জন্য অপেক্ষা করা সহজ হয়; এটি কোনো কঠোর মান নয়।যেখানে শিখবেন: পর্ব ৫৮
- Test assertionটেস্ট অ্যাসারশন
- Test-এর ভেতরে প্রত্যাশিত ফল মেলানোর নির্দেশ, যেমন assertEqual বা expect(...).toBe; না মিললে test ব্যর্থ হয় আর পার্থক্যটি দেখায়।যেখানে শিখবেন: পর্ব ৪৬
- Test caseটেস্ট কেস
- একটি নির্দিষ্ট যাচাইয়ের লিখিত রূপ — ID, precondition, ধাপ, test data আর প্রত্যাশিত ফল, যাতে যে কেউ চালিয়ে একই সিদ্ধান্তে পৌঁছান।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৬পর্ব ৪৭
- Test charterটেস্ট চার্টার
- Exploratory session-এর লিখিত লক্ষ্য: কোন অংশ, কোন ঝুঁকি বা প্রশ্ন, আর কত সময়; session শেষে নোটসহ ফলাফল জমা হয়।যেখানে শিখবেন: পর্ব ৪৭
- Test coverageটেস্ট কভারেজ
- Test চালালে কোডের কত ভাগ লাইন, শাখা বা শর্ত অন্তত একবার চলে তার শতাংশ; বেশি হলেই test ভালো, এমন নয়।যেখানে শিখবেন: পর্ব ০৩পর্ব ৪৬পর্ব ৫০
- Test data builderটেস্ট ডেটা বিল্ডার
- Test-এর জন্য object বানানোর ছোট helper, যা যুক্তিসংগত default দিয়ে শুরু করে আর test শুধু প্রাসঙ্গিক field বদলায়, যেমন an_order().with_zone("outside").build().যেখানে শিখবেন: পর্ব ৪৬
- Test data managementটেস্ট ডেটা ম্যানেজমেন্ট
- Test-এর জন্য data কীভাবে বানানো, রাখা, আলাদা করা আর মুছে ফেলা হবে তার পরিকল্পনা; আসল গ্রাহকের ব্যক্তিগত তথ্য test-এ ব্যবহার না করাও এর অংশ।যেখানে শিখবেন: পর্ব ৫১
- Test debtটেস্ট ডেট
- Automated test-এর ঘাটতি থেকে জমা debt; এর সুদ হলো প্রতিটি release-এর আগে হাতে যাচাই আর বদলের ভয়।যেখানে শিখবেন: পর্ব ৪৩
- Test design techniqueটেস্ট ডিজাইন টেকনিক
- Requirement, মডেল বা কোড থেকে নিয়মমাফিকভাবে test case বেছে নেওয়ার পদ্ধতি, যেমন equivalence partitioning বা decision table; সব ইনপুটের বদলে কাজের নমুনা বাছাই করে।যেখানে শিখবেন: পর্ব ৪৭
- Test discoveryটেস্ট ডিসকভারি
- নামের নিয়ম দেখে (যেমন test_*.py ফাইল আর test দিয়ে শুরু method) test runner-এর নিজে থেকে সব test খুঁজে বের করা।যেখানে শিখবেন: পর্ব ৪৬
- Test doubleটেস্ট ডাবল
- Test-এর সময় আসল dependency-র জায়গায় বসানো নকল object; dummy, stub, fake, spy আর mock এর প্রকারভেদ।যেখানে শিখবেন: পর্ব ২৮পর্ব ৩৩পর্ব ৩৭
- Test driverটেস্ট ড্রাইভার
- নিচের কোনো module-কে test করতে তার ওপরের ডাকার module-এর জায়গায় লেখা ছোট কোড, যা input দিয়ে module-টি ডাকে আর ফল যাচাই করে।যেখানে শিখবেন: পর্ব ৫১
- Test environmentটেস্ট এনভায়রনমেন্ট
- Test চালানোর জন্য সাজানো যন্ত্র, software-এর সংস্করণ, config আর data-র সমষ্টি, যেমন developer-এর কম্পিউটার, CI বা staging পরিবেশ।যেখানে শিখবেন: পর্ব ৫১
- Test fixtureটেস্ট ফিক্সচার
- Test চালানোর আগে যে নির্দিষ্ট শুরুর অবস্থা তৈরি করা হয় (object, ফাইল, ডেটা), আর পরে যা পরিষ্কার করা হয়; যেমন setUp আর tearDown বা pytest fixture.যেখানে শিখবেন: পর্ব ৪৬পর্ব ৬৫
- Test honeycombটেস্ট হানিকম্ব
- Microservice-এর জন্য প্রস্তাবিত আকার: প্রতিটি service-কে তার আসল সীমানায় যাচাই করা integration test-ই প্রধান, ভেতরের খুঁটিনাটির test আর বহু service জোড়া test দুটিই অল্প।যেখানে শিখবেন: পর্ব ৫১
- Test interdependence (interacting tests)টেস্ট ইন্টারডিপেনডেন্স
- এক test-এর ফল অন্য test আগে চলল কি না তার ওপর নির্ভর করা, সাধারণত ভাগ করা mutable state-এর কারণে; ক্রম বদলালে ফল বদলায়।যেখানে শিখবেন: পর্ব ৪৬
- Test isolationটেস্ট আইসোলেশন
- প্রতিটি test অন্য test-এর ওপর নির্ভর না করে একা চলা আর যেকোনো ক্রমে একই ফল দেওয়ার গুণ; shared global state এটি ভাঙে।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৪৬পর্ব ৫১
- Test levelটেস্ট লেভেল
- Software-এর কতটুকু জোড়া লাগিয়ে test হচ্ছে তার স্তর — সাধারণত unit, integration, system আর acceptance.যেখানে শিখবেন: পর্ব ৪৫
- Test listটেস্ট লিস্ট
- TDD শুরুর আগে আর চলার সময় রাখা ছোট তালিকা: যে আচরণগুলোর test লিখতে হবে, একটি একটি করে কেটে দেওয়া হয় আর নতুন ভাবনা এলে যোগ হয়।যেখানে শিখবেন: পর্ব ৪৮
- Test oracleটেস্ট ওরাকল
- Test-এর প্রত্যাশিত ফল কোথা থেকে আসে তার উৎস — spec, হাতে করা হিসাব, পুরোনো সংস্করণ বা বিশেষজ্ঞ; সঠিক ফল জানা কঠিন হলে তাকে বলে oracle problem.যেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৭
- Test pyramidটেস্ট পিরামিড
- Test-এর মিশ্রণের একটি নির্দেশিকা: নিচে অনেক দ্রুত unit test, মাঝে কম integration বা service test, ওপরে অল্প কয়েকটি ধীর UI বা end-to-end test; Mike Cohn-এর বইয়ের মাধ্যমে জনপ্রিয়।যেখানে শিখবেন: পর্ব ৫১পর্ব ৬৮পর্ব ৭০
- Test quarantineটেস্ট কোয়ারেন্টাইন
- Flaky test-কে সাময়িকভাবে মূল সবুজ-লাল সিদ্ধান্ত থেকে সরিয়ে আলাদা চালানো, একজন মালিক আর সময়সীমাসহ, যাতে বাকিদের কাজ আটকে না যায়।যেখানে শিখবেন: পর্ব ৫১পর্ব ৭০
- Test runnerটেস্ট রানার
- যে program test খুঁজে বের করে চালায়, প্রতিটির pass বা fail ধরে আর শেষে সারাংশ দেখায়, যেমন Jest, Vitest, pytest বা unittest.যেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৬
- Test shardingটেস্ট শার্ডিং
- একটি বড় test suite-কে কয়েকটি ভাগে ভেঙে আলাদা যন্ত্রে বা process-এ একসাথে চালানো, যাতে মোট অপেক্ষা কমে।যেখানে শিখবেন: পর্ব ৫১পর্ব ৫৮
- Test smellটেস্ট স্মেল
- Test কোডের এমন লক্ষণ, যা বোঝায় test পড়তে, বিশ্বাস করতে বা রক্ষণাবেক্ষণ করতে কঠিন হবে, যেমন mystery guest বা assertion roulette.যেখানে শিখবেন: পর্ব ৪৬
- Test suiteটেস্ট স্যুট
- একসাথে চালানোর জন্য জড়ো করা অনেকগুলো test case-এর সংগ্রহ, যেমন একটি class বা পুরো project-এর সব test.যেখানে শিখবেন: পর্ব ৪৮
- Test typeটেস্ট টাইপ
- Test কোন গুণ যাচাই করছে তার ধরন — যেমন functional, performance, security, usability বা regression; যেকোনো স্তরে হতে পারে।যেখানে শিখবেন: পর্ব ৪৫
- Test-driven development (TDD)টেস্ট-ড্রিভেন ডেভেলপমেন্ট
- আগে একটি ব্যর্থ test লিখে, তারপর তাকে পাশ করানোর সবচেয়ে সরল কোড লিখে, শেষে কোড পরিচ্ছন্ন করার (red-green-refactor) উন্নয়ন পদ্ধতি।যেখানে শিখবেন: পর্ব ০৫পর্ব ৪৮পর্ব ৬৮
- Testabilityটেস্টেবিলিটি
- কোড কত সহজে আলাদা করে test করা যায়: input দেওয়া, ফল দেখা আর dependency বদলানো কত সহজ; কম coupling আর বাইরে থেকে দেওয়া dependency এটি বাড়ায়।যেখানে শিখবেন: পর্ব ৪৮
- Testcontainersটেস্টকন্টেইনারস
- Test চলার সময় Docker container-এ আসল database বা message broker চালু করে test শেষে মুছে ফেলার একটি open-source library; একাধিক ভাষায় আছে।যেখানে শিখবেন: পর্ব ৫১
- Testing trophyটেস্টিং ট্রফি
- Kent C. Dodds-এর প্রস্তাবিত test-মিশ্রণের আকার: নিচে static check, তারপর unit, সবচেয়ে বড় অংশ integration test, ওপরে অল্প কয়েকটি end-to-end test থাকে।যেখানে শিখবেন: পর্ব ৫১
- The Three Ways (DevOps)থ্রি ওয়েজ
- Gene Kim-দের বর্ণিত DevOps-এর তিনটি মূলনীতি: বাঁ থেকে ডানে দ্রুত flow, ডান থেকে বাঁয়ে দ্রুত feedback, আর ধারাবাহিক শেখা ও পরীক্ষা।যেখানে শিখবেন: পর্ব ৫৯
- The Twelve-Factor Appটুয়েলভ-ফ্যাক্টর অ্যাপ
- Web service বানানো আর চালানোর বারোটি নির্দেশিকার একটি প্রকাশিত তালিকা, যার একটি হলো config কোডের বাইরে environment-এ রাখা, আরেকটি build, release আর run আলাদা রাখা।যেখানে শিখবেন: পর্ব ৫৯
- Thin clientথিন ক্লায়েন্ট
- যে client শুধু দেখায় আর ইনপুট নেয়, প্রায় সব হিসাব ও নিয়ম server-এ থাকে; উল্টোটি thick বা rich client.যেখানে শিখবেন: পর্ব ৩৮
- Think aloudথিংক-অ্যালাউড
- ইন্টারভিউতে সমস্যা সমাধানের সময় নিজের অনুমান, যুক্তি আর পরের ধাপ মুখে বলে যাওয়ার অভ্যাস, যাতে ইন্টারভিউয়ার ভাবনা অনুসরণ করতে আর মাঝপথে সাহায্য করতে পারেন।যেখানে শিখবেন: পর্ব ৬৯পর্ব ৭০
- Thread safetyথ্রেড সেফটি
- একাধিক thread একসাথে একই কোড বা data ব্যবহার করলেও ফল ঠিক থাকার গুণ; সাধারণত lock বা immutable data দিয়ে অর্জন করা হয়।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৭০
- Three amigosথ্রি অ্যামিগোস
- কাজ শুরুর আগে ব্যবসার প্রতিনিধি, developer আর tester — তিন দৃষ্টিভঙ্গির মানুষ মিলে একটি story-র নিয়ম, উদাহরণ আর প্রশ্ন ঠিক করার ছোট আলোচনা।যেখানে শিখবেন: পর্ব ৪৮
- Three laws of TDDথ্রি লজ অফ টিডিডি
- Robert C. Martin-এর বলা তিন নিয়ম: ব্যর্থ test ছাড়া production কোড নয়; ব্যর্থ হওয়ার মতো যতটুকু দরকার তার বেশি test নয়; পাস করানোর মতো যতটুকু দরকার তার বেশি কোড নয়।যেখানে শিখবেন: পর্ব ৪৮
- Three-point estimateথ্রি-পয়েন্ট এস্টিমেট
- একটি কাজের জন্য optimistic (a), most likely (m) আর pessimistic (b) — তিনটি অনুমান নিয়ে প্রত্যাশিত সময় আর অনিশ্চয়তা হিসাব করা।যেখানে শিখবেন: পর্ব ৬১পর্ব ৬৬
- Three-point estimationথ্রি-পয়েন্ট এস্টিমেশন
- প্রতিটি কাজের জন্য তিনটি সংখ্যা — আশাবাদী (O), সবচেয়ে সম্ভাব্য (M) আর হতাশাবাদী (P) — নিয়ে অনিশ্চয়তাসহ অনুমান করা।যেখানে শিখবেন: পর্ব ৬০
- Three-way mergeথ্রি-ওয়ে মার্জ
- দুই branch-এর tip আর তাদের merge base — এই তিনটি সংস্করণ তুলনা করে কে কোথায় কী বদলেছে তা বুঝে মেলানোর পদ্ধতি।যেখানে শিখবেন: পর্ব ১৩পর্ব ৫৪পর্ব ৫৬
- Throughputথ্রুপুট
- নির্দিষ্ট সময়ে কতগুলো কাজ শেষ হলো, যেমন দিনে বা সপ্তাহে কতটি card.যেখানে শিখবেন: পর্ব ০৬পর্ব ৬৬
- Throwaway prototypeথ্রোঅ্যাওয়ে প্রোটোটাইপ
- শুধু শেখা বা requirement পরিষ্কার করার জন্য বানানো নমুনা; কাজ শেষে এর কোড ফেলে দিয়ে আসল system নতুন করে ঠিকভাবে বানানো হয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ২০
- Time to fix (broken build)টাইম টু ফিক্স
- Mainline লাল হওয়া থেকে আবার সবুজ হওয়া পর্যন্ত সময়; CI-এর স্বাস্থ্যের একটি প্রধান মাপকাঠি।যেখানে শিখবেন: পর্ব ৫৮
- Time to restore serviceটাইম টু রিস্টোর সার্ভিস
- Production-এ ব্যবহারকারীর সমস্যা শুরু থেকে সেবা স্বাভাবিক হওয়া পর্যন্ত সময়; DORA-র স্থিতিশীলতার একটি মাপ।যেখানে শিখবেন: পর্ব ৫৯পর্ব ৬৫পর্ব ৬৬
- Time-travel debuggingটাইম-ট্রাভেল ডিবাগিং
- Action-এর log-এর যেকোনো বিন্দু পর্যন্ত replay করে অ্যাপের অতীতের অবস্থা আবার দেখার debug কৌশল; reducer pure হলেই নির্ভরযোগ্য।যেখানে শিখবেন: পর্ব ৩৯
- Timeboxটাইমবক্স
- একটি কাজ বা মিটিংয়ের জন্য নির্দিষ্ট সর্বোচ্চ সময়, যার আগে শেষ হতে পারে কিন্তু পরে নয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৫
- Timing diagramটাইমিং ডায়াগ্রাম
- আড়াআড়ি অক্ষে সময় রেখে প্রতিটি lifeline-এর state কখন বদলায় তা দেখানো UML interaction diagram; real-time আর embedded system-এ সময়ের শর্ত দেখাতে কাজে লাগে।যেখানে শিখবেন: পর্ব ৩০
- TODO commentটুডু কমেন্ট
- ভবিষ্যতে করার কাজের চিরকুট হিসেবে কোডে রাখা comment; মালিক বা issue নম্বর না থাকলে প্রায়ই বছরের পর বছর পড়ে থাকে।যেখানে শিখবেন: পর্ব ৪১
- Tokenটোকেন
- Activity diagram-এর অর্থ বোঝানোর কাল্পনিক চিহ্ন, যা তীর ধরে চলে; action চলে তার আগত তীরে token এলে, আর control token বা object token দুই রকম হয়।যেখানে শিখবেন: পর্ব ৩০
- Top-down integrationটপ-ডাউন ইন্টিগ্রেশন
- ওপরের নিয়ন্ত্রক module থেকে শুরু করে ধাপে ধাপে নিচের module যোগ করা; যেগুলো এখনো তৈরি হয়নি, তাদের জায়গায় stub বসে।যেখানে শিখবেন: পর্ব ৫১
- Topological sortটপোলজিক্যাল সর্ট
- DAG-এর node-গুলোকে এমন ক্রমে সাজানো, যাতে প্রতিটি তীর আগের node থেকে পরের node-এর দিকে যায়; CPM-এর forward pass এই ক্রমেই চলে।যেখানে শিখবেন: পর্ব ৬১
- Total float (slack)টোটাল ফ্লোট
- Project-এর শেষ তারিখ না পিছিয়ে একটি activity কত দিন দেরি করতে পারে: LS − ES বা LF − EF.যেখানে শিখবেন: পর্ব ৬১পর্ব ৬৫পর্ব ৬৬
- Toyota Production System (TPS)টয়োটা প্রোডাকশন সিস্টেম
- Taiichi Ohno ও সহকর্মীদের কয়েক দশকে গড়ে তোলা Toyota-র উৎপাদন পদ্ধতি, যার দুই স্তম্ভ just-in-time আর jidoka, অর্থাৎ ভুল দেখলেই লাইন থামানো।যেখানে শিখবেন: পর্ব ০৬
- Traceabilityট্রেসেবিলিটি
- প্রতিটি requirement থেকে তার নকশা, কোড আর test পর্যন্ত এবং উল্টো দিকেও সংযোগ খুঁজে পাওয়ার ক্ষমতা।যেখানে শিখবেন: পর্ব ০৪পর্ব ২১পর্ব ২৩
- Tracked fileট্র্যাকড ফাইল
- যে ফাইল শেষ commit-এ আছে বা অন্তত index-এ তোলা হয়েছে; Git এই ফাইলের প্রতিটি বদল লক্ষ রাখে।যেখানে শিখবেন: পর্ব ০৮পর্ব ০৯পর্ব ১০
- Trade secretট্রেড সিক্রেট
- যে ব্যবসায়িক তথ্যের মূল্য তার গোপন থাকার ওপর নির্ভর করে, আর মালিক তা গোপন রাখার যুক্তিসংগত ব্যবস্থা নেন, যেমন একটি গোপন algorithm বা গ্রাহক-তালিকা।যেখানে শিখবেন: পর্ব ৬৪
- Trade-off pointট্রেড-অফ পয়েন্ট
- যে সিদ্ধান্ত একসাথে একাধিক quality attribute-কে প্রভাবিত করে — একটিকে ভালো করলে অন্যটি খারাপ হয়, যেমন encryption নিরাপত্তা বাড়ায় কিন্তু গতি কমায়।যেখানে শিখবেন: পর্ব ৩৮
- Train wreckট্রেন রেক
- a.b().c().d()-এর মতো লম্বা navigation শিকল, যা caller-কে অনেক object-এর ভেতরের গঠনের সাথে বেঁধে ফেলে; Law of Demeter ভাঙার লক্ষণ।যেখানে শিখবেন: পর্ব ২৬
- Traitট্রেইট
- আচরণ পুনর্ব্যবহারের একটি একক, যা class-এ যোগ করা যায় আর নাম-সংঘাত হলে স্পষ্ট সমাধান চায়; ভাষাভেদে অর্থ আলাদা — PHP ও Scala-য় কোড মেশায়, Rust-এ interface-এর কাছাকাছি।যেখানে শিখবেন: পর্ব ৩৭
- Transaction scriptট্রানজ্যাকশন স্ক্রিপ্ট
- Fowler-এর বর্ণিত pattern: প্রতিটি ব্যবসায়িক কাজের জন্য একটি procedure, যা ধাপে ধাপে data পড়ে, হিসাব করে আর লেখে; সরল logic-এর জন্য উপযুক্ত।যেখানে শিখবেন: পর্ব ৪০
- Transactional rollback (test)ট্রানজ্যাকশনাল রোলব্যাক
- প্রতিটি test একটি database transaction-এর ভেতরে চালিয়ে শেষে ROLLBACK করা, যাতে test-এর লেখা data মুছে গিয়ে পরের test পরিষ্কার অবস্থায় শুরু হয়।যেখানে শিখবেন: পর্ব ৫১
- Transient lifetimeট্রানজিয়েন্ট লাইফটাইম
- যতবার চাওয়া হয়, ততবার container নতুন object বানায়; কারও সাথে অবস্থা ভাগ হয় না।যেখানে শিখবেন: পর্ব ৩৭
- Transitionট্রানজিশন
- State machine-এ এক state থেকে আরেক state-এ যাওয়ার তীর, যার লেবেল event [guard] / effect আকারে লেখা হয়।যেখানে শিখবেন: পর্ব ২৩পর্ব ৩০পর্ব ৪৭
- Trap (Proxy handler)ট্র্যাপ
- JavaScript Proxy-র handler object-এর একটি method, যেমন get বা set, যা target-এর একটি মৌলিক কাজ ঘটার সময় ডাকা হয়; মোট ১৩ রকম trap আছে।যেখানে শিখবেন: পর্ব ৩৪
- Tree (Git object)ট্রি
- Git-এর যে object একটি ফোল্ডারের তালিকা রাখে — প্রতিটি entry-তে mode, ধরন (blob বা tree), object ID আর নাম, নাম অনুযায়ী সাজানো।যেখানে শিখবেন: পর্ব ৫২পর্ব ৬৯
- Triangulation (TDD)ট্রায়াঙ্গুলেশন
- দুই বা তার বেশি ভিন্ন উদাহরণের test লিখে তবেই কোডকে সাধারণ নিয়মে নেওয়া; একটি উদাহরণে constant-ই যথেষ্ট, দ্বিতীয়টি সাধারণীকরণে বাধ্য করে।যেখানে শিখবেন: পর্ব ৪৮
- Triggerট্রিগার
- যে ঘটনা use case-টি শুরু করে, যেমন গ্রাহক রিচার্জের অপশন বেছে নিলেন বা মাসের প্রথম দিন এলো।যেখানে শিখবেন: পর্ব ২২
- Trigger (CI event)ট্রিগার
- যে ঘটনায় pipeline চালু হয় — push, pull request খোলা বা হালনাগাদ, নির্দিষ্ট সময়সূচি (schedule) বা হাতে চালানো।যেখানে শিখবেন: পর্ব ৫৮
- Triple constraint (iron triangle)ট্রিপল কনস্ট্রেইন্ট
- Scope, সময় আর খরচ — project-এর এই তিনটি সীমা পরস্পর বাঁধা; একটি বদলালে অন্তত আরেকটি বা quality বদলাতে হয়।যেখানে শিখবেন: পর্ব ৬১
- Truck factorট্রাক ফ্যাক্টর
- Bus factor-এরই আরেক নাম: সবচেয়ে কম কতজন মানুষ চলে গেলে project-এর বড় অংশ কেউ জানবেন না; commit-এর লেখক থেকে আনুমানিক হিসাব করা যায়।যেখানে শিখবেন: পর্ব ৬৩
- Trunk-based developmentট্রাঙ্ক-বেসড ডেভেলপমেন্ট
- সবাই ছোট ছোট পরিবর্তন খুব ঘন ঘন (দিনে অন্তত একবার) মূল branch-এ মেলান, দীর্ঘজীবী branch এড়িয়ে — এমন কাজের ধারা।যেখানে শিখবেন: পর্ব ১২পর্ব ১৩পর্ব ১৭
- Trust boundaryট্রাস্ট বাউন্ডারি
- যে সীমানা পেরিয়ে বিশ্বাস করা যায় না এমন data ভেতরে ঢোকে, যেমন form, API request বা অন্য দলের service; এখানে সবসময় validation লাগে।যেখানে শিখবেন: পর্ব ৩১পর্ব ৪৪
- Tuckman's stagesটাকম্যানের ধাপ
- Bruce Tuckman-এর (১৯৬৫) দল গড়ে ওঠার মডেল: forming, storming, norming, performing; ১৯৭৭ সালে Jensen-এর সাথে adjourning যোগ হয়। এটি মোটা দাগের বর্ণনা, কঠোর নিয়ম নয়।যেখানে শিখবেন: পর্ব ৬৩
- Two hats (refactoring)টু হ্যাটস
- Kent Beck-এর রূপক, যা Fowler-এর বইয়ে আছে: কাজের সময় একবারে একটি টুপি পরুন, হয় নতুন আচরণ যোগ করার, নয়তো refactoring-এর; দুটি একসাথে নয়।যেখানে শিখবেন: পর্ব ৪২
- Two-way bindingটু-ওয়ে বাইন্ডিং
- যে binding-এ দুই দিকেই বদল যায়: ব্যবহারকারী লিখলে data বদলায়, data বদলালে screen বদলায়; সমান মানে থামার guard না থাকলে অসীম চক্র হতে পারে।যেখানে শিখবেন: পর্ব ৩৯
- Type checkerটাইপ চেকার
- যে tool কোড না চালিয়ে type-এর অসংগতি ধরে, যেমন সংখ্যার জায়গায় লেখা বা None হতে পারে এমন মানের সরাসরি ব্যবহার; যেমন mypy, TypeScript-এর tsc.যেখানে শিখবেন: পর্ব ৪৪
- Type conversionটাইপ কনভার্শন
- একটি মানকে এক data type থেকে আরেক type-এ বদলানো, যেমন float থেকে integer; ছোট type-এ গেলে মান হারাতে পারে।যেখানে শিখবেন: পর্ব ০২
U
- Ubiquitous languageইউবিকুইটাস ল্যাঙ্গুয়েজ
- একটি bounded context-এর ভেতরে domain expert, developer আর কোড — সবার ব্যবহৃত একই শব্দভাণ্ডার, যেখানে প্রতিটি শব্দের একটিই অর্থ।যেখানে শিখবেন: পর্ব ৪০পর্ব ৪৮
- Umbrella activityআমব্রেলা অ্যাক্টিভিটি
- যে কাজ পুরো project জুড়ে চলে, কোনো একটি ধাপে সীমিত নয় — যেমন project tracking, risk management, quality assurance, configuration management আর review-এর কাজ।যেখানে শিখবেন: পর্ব ০৪
- UML (Unified Modeling Language)ইউ-এম-এল
- Software-এর কাঠামো আর আচরণ আঁকার মানদণ্ড চিত্রভাষা; Booch, Rumbaugh আর Jacobson-এর পদ্ধতি মিলে তৈরি, ১৯৯৭ সালে OMG-র মানদণ্ড।যেখানে শিখবেন: পর্ব ২৩পর্ব ২৯পর্ব ৩০
- Unadjusted function point (UFP)আনঅ্যাডজাস্টেড ফাংশন পয়েন্ট
- পাঁচ ধরনের function-এর সংখ্যা তাদের জটিলতার weight দিয়ে গুণ করে যোগ করা মোট আকার, সমন্বয়ের আগে।যেখানে শিখবেন: পর্ব ৬০পর্ব ৬৬
- Unborn branchআনবর্ন ব্রাঞ্চ
- নতুন repository-তে HEAD যে branch-এর নাম দেখায় কিন্তু যার এখনো কোনো commit নেই — প্রথম commit হলে তবেই branch-এর ফাইল তৈরি হয়।যেখানে শিখবেন: পর্ব ১২
- Undo/redo stackআনডু-রিডু স্ট্যাক
- দুটি stack-এ চালানো command রাখার কৌশল: undo ওপরেরটি উল্টে redo stack-এ রাখে, redo আবার চালায়, আর নতুন command এলে redo stack খালি হয়।যেখানে শিখবেন: পর্ব ৩৫
- Unicode identifierইউনিকোড আইডেন্টিফায়ার
- ইংরেজি ছাড়া অন্য লিপির অক্ষর দিয়ে বানানো নাম, যেমন Python বা JavaScript-এ মোট_ফি; ভাষা অনুমতি দিলেও বেশিরভাগ দল ইংরেজি নাম রাখে।যেখানে শিখবেন: পর্ব ৪১
- Unidirectional data flowইউনিডিরেকশনাল ডেটা ফ্লো
- UI-তে state বদলের একটিমাত্র পথ রাখার নকশা: view একটি action পাঠায়, reducer নতুন state বানায়, store তা রেখে view-কে জানায়; উল্টো দিকে সরাসরি লেখা নেই।যেখানে শিখবেন: পর্ব ৩৯
- Unified diffইউনিফায়েড ডিফ
- পার্থক্য দেখানোর প্রচলিত বিন্যাস, যেখানে বাদ যাওয়া লাইন − আর যোগ হওয়া লাইন + চিহ্নে, আশপাশের অপরিবর্তিত লাইনসহ একসাথে দেখানো হয়; Git, patch আর code review-এ এটিই চলে।যেখানে শিখবেন: পর্ব ০৯পর্ব ১৬
- Unified Process (RUP)ইউনিফায়েড প্রসেস
- Iterative process framework, যার চারটি phase — inception, elaboration, construction আর transition; এর বাণিজ্যিক রূপ Rational Unified Process বা সংক্ষেপে RUP নামে পরিচিত।যেখানে শিখবেন: পর্ব ০৪পর্ব ২৩
- Unit of measure typeইউনিট অব মেজার
- মানের সাথে তার একক (যেমন N·s) একসাথে বহন করার ব্যবস্থা, যাতে ভুল এককের মান মেশালে প্রোগ্রাম নিজেই আপত্তি তোলে।যেখানে শিখবেন: পর্ব ০২পর্ব ৩১পর্ব ৩৪
- Unit testইউনিট টেস্ট
- কোডের সবচেয়ে ছোট আলাদা অংশ, যেমন একটি function বা class, একা একা ঠিক কাজ করে কি না তার স্বয়ংক্রিয় যাচাই।যেখানে শিখবেন: পর্ব ০৪পর্ব ১৩পর্ব ১৬
- Unreachable objectআনরিচেবল অবজেক্ট
- Object store-এ আছে কিন্তু কোনো ref (আর ডিফল্টভাবে কোনো reflog entry) থেকে তীর ধরে পৌঁছানো যায় না এমন commit, tree বা blob; garbage collection-এর প্রার্থী।যেখানে শিখবেন: পর্ব ৫৩পর্ব ৬৯
- Untracked fileআনট্র্যাকড ফাইল
- ফোল্ডারে আছে কিন্তু Git কখনো নেয়নি এমন ফাইল — index-এও নেই, শেষ commit-এও নেই; git status -s-এ ?? দেখায়।যেখানে শিখবেন: পর্ব ০৮পর্ব ০৯পর্ব ১০
- upstream (remote)আপস্ট্রিম রিমোট
- Fork-এর ধারায় মূল repository-র জন্য প্রথাগত remote-এর নাম, যেখান থেকে শুধু fetch করা হয়; branch-এর upstream সেটিং থেকে আলাদা জিনিস।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৬পর্ব ৬৩
- Upstream branchআপস্ট্রিম ব্রাঞ্চ
- একটি স্থানীয় branch যে remote branch-এর সাথে জোড়া বাঁধা, যেখান থেকে pull আর যেখানে push হয়; git status এর সাথে তুলনা করে জানায় আপনি কত commit এগিয়ে বা পিছিয়ে।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৫পর্ব ১৬
- Upstream firstআপস্ট্রিম ফার্স্ট
- নিয়ম: bug fix আগে মূল branch (main বা trunk)-এ, তারপর cherry-pick করে release branch-এ — যাতে পরের release-এ পুরোনো bug না ফেরে।যেখানে শিখবেন: পর্ব ১৭পর্ব ৫৬
- Usabilityইউজেবিলিটি
- নির্দিষ্ট ব্যবহারকারী নির্দিষ্ট কাজ কতটা সহজে, কার্যকরভাবে আর সন্তুষ্টির সাথে করতে পারেন; ISO/IEC 25010:2023-এ এর নাম interaction capability.যেখানে শিখবেন: পর্ব ০৩পর্ব ৪৫
- Use caseইউজ কেস
- একজন actor কোনো লক্ষ্য পূরণে system-এর সাথে কীভাবে ধাপে ধাপে কাজ করেন, সফল পথ আর বিকল্প পথসহ তার লিখিত বিবরণ; Ivar Jacobson-এর প্রবর্তিত ধারণা।যেখানে শিখবেন: পর্ব ২২পর্ব ২৩পর্ব ৪৭
- Use case diagramইউজ কেস ডায়াগ্রাম
- UML-এর যে ছবি system boundary, actor, use case আর তাদের সম্পর্ক এক পাতায় দেখায়; ধাপের বিস্তারিত থাকে লেখা use case-এ।যেখানে শিখবেন: পর্ব ২৩
- Use case point (UCP)ইউজ কেস পয়েন্ট
- Use case আর actor-কে জটিলতা অনুযায়ী weight দিয়ে, প্রযুক্তিগত আর পরিবেশগত গুণক মিলিয়ে আকার মাপার পদ্ধতি; Gustav Karner (১৯৯৩) প্রস্তাব করেন।যেখানে শিখবেন: পর্ব ৬০
- User acceptance testing (UAT)ইউজার অ্যাকসেপ্ট্যান্স টেস্টিং
- আসল ব্যবহারকারী বা তাঁদের প্রতিনিধি নিজের কাজের পরিস্থিতিতে দেখেন software দিয়ে তাঁদের কাজ চলে কি না।যেখানে শিখবেন: পর্ব ৪৫
- User classইউজার ক্লাস
- এমন ব্যবহারকারীদের একটি দল, যাঁদের কাজ, দক্ষতা, ব্যবহারের ঘনত্ব বা অধিকার অন্য দলের থেকে আলাদা, তাই চাহিদাও আলাদা।যেখানে শিখবেন: পর্ব ২০
- User requirementইউজার রিকোয়ারমেন্ট
- ব্যবহারকারী ও গ্রাহকের ভাষায়, সাধারণ বাক্য ও ছবিতে লেখা উঁচু স্তরের চাওয়া — system কী সেবা দেবে আর কোন সীমার মধ্যে।যেখানে শিখবেন: পর্ব ২১
- User storyইউজার স্টোরি
- ব্যবহারকারীর চোখে একটি চাহিদার ছোট বিবরণ, সাধারণত “একজন … হিসেবে আমি … চাই, যাতে …” আকারে; user story-র ধারণা XP থেকে, আর এই তিন অংশের ছাঁচটি প্রচলিত হয় ২০০১ সালের দিকে Connextra নামের একটি দল থেকে।যেখানে শিখবেন: পর্ব ০৫পর্ব ২১পর্ব ২২
- User story mapইউজার স্টোরি ম্যাপ
- ব্যবহারকারীর যাত্রার ধাপ বাঁ থেকে ডানে আর প্রতিটি ধাপের story গুরুত্ব অনুযায়ী ওপর থেকে নিচে সাজানো দ্বিমাত্রিক backlog; Jeff Patton জনপ্রিয় করেন।যেখানে শিখবেন: পর্ব ২২
- Utility classইউটিলিটি ক্লাস
- নানা রকম static helper function-এর একটি class, প্রায়ই Utils বা Helper নামে; নজর না রাখলে এটি coincidental cohesion-এর ভাণ্ডার হয়ে যায়।যেখানে শিখবেন: পর্ব ২৫
- Utility treeইউটিলিটি ট্রি
- ATAM-এ ব্যবহৃত গাছ: মূল থেকে quality attribute, তারপর আরও নির্দিষ্ট ভাগ, আর পাতায় অগ্রাধিকারসহ quality scenario.যেখানে শিখবেন: পর্ব ৩৮
V
- V-modelভি-মডেল
- Waterfall-এর একটি রূপ, যেখানে বাঁ দিকের প্রতিটি নকশার ধাপের সাথে ডান দিকের একটি test স্তর জোড়া থাকে, আর সেই test-এর পরিকল্পনা নকশার সময়েই শুরু হয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ৪৫পর্ব ৬৮
- Validationভ্যালিডেশন
- আমরা কি ঠিক product বানাচ্ছি — অর্থাৎ ব্যবহারকারীর আসল প্রয়োজন মিটছে কি না, তা যাচাই করা।যেখানে শিখবেন: পর্ব ০৩পর্ব ০৪পর্ব ২০
- Value adjustment factor (VAF)ভ্যালু অ্যাডজাস্টমেন্ট ফ্যাক্টর
- ১৪টি general system characteristic-এর মোট রেটিং থেকে VAF = 0.65 + 0.01 × মোট সূত্রে পাওয়া গুণক, যার মান 0.65 থেকে 1.35.যেখানে শিখবেন: পর্ব ৬০পর্ব ৬৬
- Value objectভ্যালু অবজেক্ট
- এমন object, যার পরিচয় নয়, মানই আসল — দুটি সমান মানের object সমান, যেমন Money(100); সাধারণত immutable রাখা হয়।যেখানে শিখবেন: পর্ব ৩১পর্ব ৩৩পর্ব ৪০
- Value stream mappingভ্যালু স্ট্রিম ম্যাপিং
- একটি অনুরোধ আসা থেকে গ্রাহকের হাতে পৌঁছানো পর্যন্ত প্রতিটি ধাপ আর প্রতিটি অপেক্ষার সময় এঁকে দেখা, যাতে অপচয় চোখে পড়ে।যেখানে শিখবেন: পর্ব ০৬পর্ব ৫৯
- Vanity metricভ্যানিটি মেট্রিক
- যে সংখ্যা দেখতে ভালো লাগে আর সাধারণত শুধু বাড়ে, কিন্তু কোনো সিদ্ধান্ত বদলায় না, যেমন মোট download বা মোট commit.যেখানে শিখবেন: পর্ব ৬২
- Velocityভেলোসিটি
- একটি Sprint-এ Done হওয়া item-গুলোর মোট story point; দলের নিজের পরিকল্পনার হাতিয়ার, পারফরম্যান্সের মাপকাঠি নয়।যেখানে শিখবেন: পর্ব ০৫পর্ব ৬০পর্ব ৬৫
- Vendoringভেন্ডরিং
- বাইরের library-র একটি কপি সাধারণ file হিসেবে নিজের repository-তে রাখা, যেমন vendor/ folder-এ; network ছাড়া build হয়, কিন্তু আপডেট হাতে করতে হয়।যেখানে শিখবেন: পর্ব ১৯
- Verificationভেরিফিকেশন
- আমরা কি product-টি ঠিকভাবে বানাচ্ছি — অর্থাৎ নকশা আর specification মেনে চলছে কি না, তা যাচাই করা।যেখানে শিখবেন: পর্ব ০৩পর্ব ০৪পর্ব ২০
- Version controlভার্সন কন্ট্রোল
- ফাইলের প্রতিটি পরিবর্তনের ইতিহাস রাখা, পুরোনো অবস্থায় ফেরা আর অনেকের কাজ নিরাপদে মেলানোর ব্যবস্থা।যেখানে শিখবেন: পর্ব ০১পর্ব ০৭পর্ব ১২
- Version precedenceভার্শন প্রিসিডেন্স
- দুটি version-এর মধ্যে কোনটি বড় তা ঠিক করার নিয়ম; SemVer-এ আগে MAJOR, MINOR, PATCH সংখ্যা হিসেবে, তারপর pre-release identifier একটি একটি করে তুলনা হয়।যেখানে শিখবেন: পর্ব ১৮
- Version sort (v:refname)ভার্শন সর্ট
- Tag-এর নামের সংখ্যাগুলোকে সংখ্যা হিসেবে ধরে সাজানো, যাতে v1.10.0 আসে v1.9.0-এর পরে; Git-এ ডিফল্টে pre-release-কে মূল release-এর পরে রাখে, versionsort.suffix দিয়ে বদলানো যায়।যেখানে শিখবেন: পর্ব ১৮
- View (MVC)ভিউ
- MVC-জাতীয় নকশায় model-এর একটি দৃশ্যমান রূপ, যেমন একটি তালিকা বা badge; একই model-এর অনেক view থাকতে পারে।যেখানে শিখবেন: পর্ব ৩৯
- View modelভিউ মডেল
- Screen-এর জন্য বানানো model: কী দেখাবে তার observable state আর ব্যবহারকারী যা করতে পারেন তার command, কোনো UI element-এর উল্লেখ ছাড়া।যেখানে শিখবেন: পর্ব ৩৯
- Virtual merge baseভার্চুয়াল মার্জ বেস
- একাধিক best common ancestor থাকলে ort (আগে recursive) সেগুলোকে আগে নিজেদের মধ্যে merge করে যে কাল্পনিক base tree বানায়; এটি কোনো branch-এ commit হিসেবে থাকে না, শুধু আসল three-way merge-এর তুলনার ভিত্তি হয়।যেখানে শিখবেন: পর্ব ৫৪
- Virtual proxyভার্চুয়াল প্রক্সি
- যে proxy ব্যয়বহুল আসল object-টি প্রথম দরকার পড়ার মুহূর্তে তৈরি বা লোড করে, তার আগে নয়; lazy loading-এর একটি রূপ।যেখানে শিখবেন: পর্ব ৩৪
- Visibilityভিজিবিলিটি
- একটি attribute বা operation কে ব্যবহার করতে পারে, তার চিহ্ন: + public, - private, # protected, ~ package.
- Visitor patternভিজিটর প্যাটার্ন
- একটি স্থির object-কাঠামোর ওপর নতুন কাজ যোগ করার pattern — কাজটি থাকে আলাদা visitor class-এ, কাঠামোর class-গুলো না বদলে; double dispatch দিয়ে চলে।যেখানে শিখবেন: পর্ব ৩৬
- Viva (oral exam)ভাইভা
- মৌখিক পরীক্ষা — পরীক্ষক মুখে প্রশ্ন করেন, আর উত্তর শুনে পরের প্রশ্ন বানান।যেখানে শিখবেন: পর্ব ৬৮
W
- Walking skeletonওয়াকিং স্কেলিটন
- শুরু থেকে শেষ পর্যন্ত চলে এমন সবচেয়ে সরু একটি পথ, যেখানে প্রতিটি বড় ধাপের অন্তত একটি ছোট অংশ কাজ করে; Alistair Cockburn-এর প্রচলিত শব্দ।যেখানে শিখবেন: পর্ব ২২পর্ব ৬৫
- Waterfall modelওয়াটারফল মডেল
- Requirement, নকশা, কোড, test আর deployment একটির পর একটি, সাধারণত একবারই করা হয় এমন ধারাবাহিক process model; আগের ধাপ শেষ ও অনুমোদিত হলে পরের ধাপ শুরু।যেখানে শিখবেন: পর্ব ০৪পর্ব ৬৮
- WBS dictionaryডব্লিউবিএস ডিকশনারি
- WBS-এর প্রতিটি অংশের বিবরণ — কী কাজ, কী ফল, কে দায়িত্বে, কত সময় ও খরচ, শেষের শর্ত কী — লেখা সঙ্গী দলিল।যেখানে শিখবেন: পর্ব ৬১
- WCAGডাব্লিউক্যাগ
- Web Content Accessibility Guidelines — W3C-র ওয়েব accessibility নির্দেশিকা; লেখার সময়ে সর্বশেষ সংস্করণ 2.2 (২০২৩), চার মূলনীতি POUR.যেখানে শিখবেন: পর্ব ০৩পর্ব ৬৪
- Weak copyleftউইক কপিলেফট
- যে copyleft শর্ত শুধু license-এর নিজের ফাইল বা library-তে সীমিত থাকে, যেমন MPL-2.0 বা LGPL; চারপাশের কোড অন্য license-এ থাকতে পারে।যেখানে শিখবেন: পর্ব ৬৩
- Weak referenceউইক রেফারেন্স
- এমন reference, যা object-কে বাঁচিয়ে রাখে না; অন্য কোথাও ব্যবহার না থাকলে garbage collector object-টি মুছে দিতে পারে, যেমন Python-এর weakref বা JavaScript-এর WeakRef.যেখানে শিখবেন: পর্ব ৩৫
- Weak wordউইক ওয়ার্ড
- যে শব্দের নির্দিষ্ট মাপ নেই, তাই পাঠকভেদে অর্থ বদলায় — যেমন fast, user-friendly, easy, flexible, adequate; requirement-এ এগুলো পাস-ফেল ঠিক করতে দেয় না।যেখানে শিখবেন: পর্ব ২১
- Web MVCওয়েব এম-ভি-সি
- Server-side web framework-এর MVC রূপ, যেখানে controller একটি HTTP request সামলায়, model data আনে আর view একটি template থেকে HTML পাতা বানায়; model view-কে খবর দেয় না।যেখানে শিখবেন: পর্ব ৩৯
- Weighted scoringওয়েটেড স্কোরিং
- প্রতিটি মানদণ্ডকে গুরুত্ব অনুযায়ী ওজন দিয়ে, প্রতিটি বিকল্পের নম্বরকে ওজনে গুণ করে যোগফলে বিকল্পগুলো তুলনা করার পদ্ধতি।যেখানে শিখবেন: পর্ব ০৩পর্ব ২৪পর্ব ৩৮
- WETওয়েট
- DRY-এর বিপরীত রসিক নাম, “Write Everything Twice” বা “We Enjoy Typing”; কখনো অকারণ কপির সমালোচনা, কখনো “দুবার পর্যন্ত কপি চলবে” নীতি।যেখানে শিখবেন: পর্ব ২৬
- Whistleblowingহুইসলব্লোয়িং
- প্রতিষ্ঠানের ভেতরের গুরুতর অন্যায় বা বিপদের কথা, ভেতরের পথ কাজ না করলে, উপযুক্ত কর্তৃপক্ষ বা বাইরের সংস্থাকে জানানো; সাধারণত শেষ ধাপ।যেখানে শিখবেন: পর্ব ৬৪
- White-box testingহোয়াইট-বক্স টেস্টিং
- কোডের ভেতরের গঠন — শাখা, শর্ত, loop — দেখে test বানানো, যেমন প্রতিটি শাখা অন্তত একবার চালানো; structure-based testing.যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫০পর্ব ৬৮
- Whole-team approachহোল-টিম অ্যাপ্রোচ
- Quality আর testing পুরো দলের যৌথ দায়িত্ব — developer, tester আর product owner একসাথে — এই Agile ধারণা।যেখানে শিখবেন: পর্ব ৪৫
- Wideband Delphiওয়াইডব্যান্ড ডেলফাই
- কয়েকজন বিশেষজ্ঞ আলাদাভাবে অনুমান করেন, পরিচালক ফল দেখান, দল পার্থক্যের কারণ নিয়ে আলোচনা করে, তারপর আবার গোপনে অনুমান — পরিসর সরু না হওয়া পর্যন্ত; Boehm-এর বর্ণিত Delphi-র একটি রূপ।যেখানে শিখবেন: পর্ব ৬০
- WinWin negotiationউইন-উইন
- Barry Boehm ও সহকর্মীদের requirement negotiation-এর পদ্ধতি, যেখানে প্রতিটি পক্ষের win condition লিখে সংঘাতের জায়গায় এমন বিকল্প খোঁজা হয় যাতে সবাই যথেষ্ট পান।যেখানে শিখবেন: পর্ব ২০
- WIP (work in progress)ডব্লিউআইপি
- শুরু হয়েছে কিন্তু এখনো শেষ হয়নি, এমন কাজের সংখ্যা।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৬পর্ব ৪৪
- WIP limitডব্লিউআইপি লিমিট
- Board-এর একটি কলামে বা পুরো ব্যবস্থায় একসাথে সর্বোচ্চ কতগুলো কাজ চলতে পারবে, তার লিখিত সীমা। সীমা ছুঁলে নতুন কাজ শুরু হয় না।যেখানে শিখবেন: পর্ব ০৬পর্ব ৬৮পর্ব ৭০
- Work breakdown structure (WBS)ডব্লিউবিএস
- Project-এর পুরো কাজকে deliverable ধরে ধাপে ধাপে ছোট অংশে ভাঙা গাছের মতো কাঠামো; নিচের পাতাগুলো work package.যেখানে শিখবেন: পর্ব ৬১
- Work item ageওয়ার্ক আইটেম এজ
- এখনো চলমান একটি কাজ শুরু হওয়ার পর কত সময় পেরিয়েছে; কোন কাজ আটকে যাচ্ছে তা আগেভাগে ধরতে কাজে লাগে।যেখানে শিখবেন: পর্ব ০৬
- Work packageওয়ার্ক প্যাকেজ
- WBS-এর সবচেয়ে নিচের স্তরের কাজ, যার সময় আর খরচ নির্ভরযোগ্যভাবে অনুমান করা, দায়িত্ব দেওয়া আর অগ্রগতি মাপা যায়।যেখানে শিখবেন: পর্ব ৬১
- Workflow (GitHub Actions)ওয়ার্কফ্লো
- GitHub Actions-এ .github/workflows/ folder-এর একটি YAML file-এ লেখা স্বয়ংক্রিয় প্রক্রিয়া — কোন ঘটনায় চলবে তা on অংশে, আর কোন job চলবে তা jobs অংশে লেখা থাকে।যেখানে শিখবেন: পর্ব ৫৮
- Working copyওয়ার্কিং কপি
- Repository থেকে বের করে আনা ফাইলগুলোর যে কপিতে আপনি আসলে কাজ করেন; centralized VCS-এ এটুকুই আপনার কাছে থাকে।যেখানে শিখবেন: পর্ব ০৭
- Working treeওয়ার্কিং ট্রি
- Project ফোল্ডারের সাধারণ ফাইলগুলো, যেগুলো আপনি editor-এ খোলেন আর বদলান; Git-এর তিন এলাকার প্রথমটি, যাকে working directory-ও বলা হয়।যেখানে শিখবেন: পর্ব ০৮পর্ব ০৯পর্ব ১০
- Wrap methodর্যাপ মেথড
- পুরোনো method-এর নাম বদলে একই নামে নতুন method বানানো, যা পুরোনোটিকে ডেকে তার আগে বা পরে নতুন কাজ করে; ডাকা কোড কিছুই টের পায় না।যেখানে শিখবেন: পর্ব ৪৩
- Wrapperর্যাপার
- যে object আরেকটি object-কে ভেতরে রেখে তার ডাকগুলো নিজে গ্রহণ করে, দরকারমতো বদলে বা কিছু যোগ করে ভেতরেরটির কাছে পাঠায়; adapter, decorator আর proxy সবই wrapper-এর উদাহরণ।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৪৩
- Writing cultureরাইটিং কালচার
- দলের এমন অভ্যাস যেখানে প্রস্তাব, সিদ্ধান্ত আর জ্ঞান আগে লেখায় আসে, তারপর আলোচনা; এতে অনুপস্থিত আর নতুন মানুষও অংশ নিতে পারেন।যেখানে শিখবেন: পর্ব ৬৩
X
- X-as-a-Service (interaction mode)এক্স-অ্যাজ-আ-সার্ভিস
- Team Topologies-এর একটি মেলামেশার ধরন: এক দল সেবা দেয়, অন্য দল নথি দেখে নিজে ব্যবহার করে, খুব কম আলোচনায়।যেখানে শিখবেন: পর্ব ৬৩
Y
- YAGNIইয়াগনি
- “You aren’t gonna need it” — যা আজ লাগছে না, ভবিষ্যতে লাগতে পারে ভেবে তা আগেভাগে বানাবেন না; Extreme Programming থেকে আসা নীতি।যেখানে শিখবেন: পর্ব ২৬পর্ব ২৭পর্ব ৩২
- YAMLইয়ামেল
- মানুষের পড়ার মতো একটি data-লেখার format, যেখানে indentation দিয়ে গঠন বোঝানো হয়; বেশিরভাগ CI platform pipeline-এর বিবরণ YAML file-এ রাখে।যেখানে শিখবেন: পর্ব ৫৮
- You build it, you run itইউ বিল্ড ইট, ইউ রান ইট
- যে দল একটি service বানায়, সেই দলই production-এ সেটি চালানো, পর্যবেক্ষণ আর রাতের সমস্যা সামলানোর দায় নেয় — এই নীতি।যেখানে শিখবেন: পর্ব ৫৯
Z
এই শব্দটি পাওয়া যায়নি। বানান বদলে বা বাংলায় লিখে দেখুন।