Understand the Web Technical Terms - Bangla
Published: 2024-03-29 08:57:30

ওয়েব ডেভেলপমেন্টের সাথে জড়িতদের জন্য বিভিন্ন টেকনিক্যাল টার্ম জানা অত্যন্ত গুরুত্বপূর্ণ। এই টার্মগুলো আমাদের কাজের প্রয়োজনীয়তা বুঝতে, সঠিকভাবে কাজ করতে এবং অন্যদের সাথে স্পষ্টভাবে যোগাযোগ করতে সাহায্য করে।

**টেকনিক্যাল টার্ম কী?**

টেকনিক্যাল টার্ম হলো এমন শব্দ বা বাক্যাংশ যা কোন নির্দিষ্ট বিষয়ের জটিল ধারণাকে সংক্ষিপ্তভাবে ব্যাখ্যা করে। ওয়েব ডেভেলপমেন্টে, টেকনিক্যাল টার্মগুলো বিভিন্ন প্রযুক্তি, সরঞ্জাম, এবং ধারণাকে বর্ণনা করতে ব্যবহৃত হয়। যেমন ধরেনঃ একজন বাড়ির কারিগর বা দর্জি তাদের নিজেদের মধ্যে কিছু `বিশেষ ধরনের শব্দ` ব্যবহার করেন, সেগুলোর অর্থ আপনি না বুঝলেও তারা কিন্তু ঠিকই বুঝে। এর মাধ্যমে আপনি বিভিন্ন ধরনের উপকার পেতে পারেন, যেমনঃ

- **কার্যকারিতা বৃদ্ধি:** টার্মস জানলে আমরা দ্রুত ধারণা করতে পারি কোন বিষয় নিয়ে আলোচনা হচ্ছে, ফলে কাজের গতি বৃদ্ধি পায়।
- **যোগাযোগে সুবিধা:** ডেভেলপারদের মধ্যে স্পষ্ট ও সাবলীল যোগাযোগের জন্য টেকনিক্যাল টার্মস অপরিহার্য।
- **দক্ষতা বৃদ্ধি:** টার্মস জানা আপনার জ্ঞানের পরিধি প্রসারিত করে এবং ডেভেলপার হিসেবে আপনার দক্ষতা বৃদ্ধি করে।
- **সমস্যা সমাধানে সহায়তা:** টার্মস জানা আপনাকে সমস্যা দ্রুত চিহ্নিত করতে এবং সমাধান করতে সহায়তা করে।

**এই পোস্টে, আমরা কিছু গুরুত্বপূর্ণ ওয়েব ডেভেলপমেন্ট টার্মের বিস্তারিত আলোচনা করবো:**

- **Scalability:** স্কেলেবিলিটি হলো কোন সিস্টেমের ক্রমবর্ধমান লোড এবং চাহিদা পূরণের জন্য সিস্টেমের আকার বৃদ্ধি করার ক্ষমতা। ওয়েব অ্যাপ্লিকেশনের ক্ষেত্রে, স্কেলেবিলিটি নিশ্চিত করে যে অ্যাপ্লিকেশনটি বেশি সংখ্যক ব্যবহারকারী এবং ডেটা ম্যানেজ করতে পারবে।
- **Rendering:** রেণ্ডারিং হলো কোন ডেটাকে মানুষের বোঝার উপযোগী আকারে রূপান্তর করার প্রক্রিয়া। ওয়েব ডেভেলপমেন্টে, রেণ্ডারিং বলতে বোঝায় ব্রাউজারের HTML, CSS, এবং JavaScript কোডকে ওয়েব পেজে রূপান্তর করার প্রক্রিয়া।
- **Cache:** ক্যাশ হলো ডেটা সংরক্ষণ করে রাখার একটি প্রক্রিয়া, যেখান থেকে আমরা ডেটা স্টোর করতে পারি এবং দ্রুত এক্সেস করতে পারি। ওয়েব ডেভেলপমেন্টে, ক্যাশ ব্যবহারে ওয়েব পেজের পারফর্মেন্স বুস্ট করা যায়।
- **Cookies:** কুকিজ হলো ব্যবহারকারীর ব্রাউজারে সিকিউর ভাবে ডাটা সংরক্ষণ করার একটি মাধ্যম। কুকিজ ব্যবহার করে ব্যবহারকারীর পছন্দ-অপছন্দ, অ্যাকাউন্ট এর তথ্য, ইত্যাদি ট্র্যাক করা যায়।
- **HTTP/HTTPS:** HTTP হলো Hypertext Transfer Protocol-এর সংক্ষিপ্ত রূপ। এটি ওয়েব ডেটা ট্রান্সমিশনের জন্য ব্যবহৃত প্রোটোকল। HTTPS হলো HTTP-এর সুরক্ষিত সংস্করণ যা SSL/TLS ব্যবহার করে ডেটা এনক্রিপ্ট করে।
- **SSL Certificate:** SSL Certificate হলো Secure Sockets Layer Certificate-এর সংক্ষিপ্ত রূপ। এটি ওয়েবসাইট এবং ব্যবহারকারীর মধ্যে ডেটা এনক্রিপ্ট করার জন্য ব্যবহৃত সার্টিফিকেট। SSL Certificate ব্যবহারে ওয়েবসাইট আরও সুরক্ষিত হয়ে ওঠে।
- **SPA:** SPA হলো Single Page Application-এর সংক্ষিপ্ত রূপ। এটি এক পৃষ্ঠার ওয়েব অ্যাপ্লিকেশন। SPA-এর ব্যবহারে ওয়েব অ্যাপ্লিকেশনগুলো আরও দ্রুত এবং ইন্টারেক্টিভ হয়ে ওঠে।
- **PWA:** PWA হলো **Progressive Web Application**-এর সংক্ষিপ্ত রূপ। এটি ওয়েবের মাধ্যমে সরবরাহ করা এক ধরনের অ্যাপ্লিকেশন যা HTML, CSS, JavaScript এবং WebAssembly ইত্যাদি ওয়েব টেকনোলোজি ব্যবহার করে তৈরি করা হয়। PWA-এর উদ্দেশ্য হলো ব্যবহারকারীদের ডেস্কটপ এবং মোবাইল ডিভাইস সহ যেকোনো প্ল্যাটফর্মে ওয়েব অ্যাপ্লিকেশনের মতো অভিজ্ঞতা প্রদান করা।
- **Wireframe:** Wireframe হলো ওয়েবসাইটের নকশার একটি প্রাথমিক রূপ।  এতে ওয়েবসাইটের বিভিন্ন কম্পোনেন্টের অবস্থান এবং কার্যকারিতা নির্ধারণ করা হয়। যেমন Figma এর মাধ্যমে আমরা ওয়েব সাইট এর ওয়ারফ্রেম তৈরি করতে পারি।
- **Database:** Database হলো ডেটা সংরক্ষণ করার একটি সিস্টেম। ওয়েবসাইটের ডেটা, যেমন: ব্যবহারকারীর তথ্য, পণ্যের তথ্য, ইত্যাদি ডাটাবেজে সংরক্ষণ করা হয়।
- **ERD: ERD** হলো **Entity Relationship Diagram**-এর সংক্ষিপ্ত রূপ। এটি একটি গ্রাফিক্যাল চিত্র যা কোন সিস্টেমের বিভিন্ন **entity** (ডেটা অবজেক্ট) এবং তাদের **attribute** (প্রোপার্টি)-এর মধ্যে সম্পর্ক নির্দেশ করে। যেমন lucidchart এর মাধ্যমে ERD তৈরি করা যায়।
- **ORM/ODM:**
    - **ORM (Object-Relational Mapping):** ORM হলো কোন অ্যাপ্লিকেশনের অবজেক্ট এবং ডাটাবেজের টেবিলের মধ্যে ম্যাপিং তৈরি করার একটি প্রক্রিয়া। সহজ কথায়, এটি কোড এবং ডাটাবেজের মধ্যে এক সেতুবন্ধন স্থাপন করে।
    - **ODM (Object-Document Mapping):** ODM হলো NoSQL ডাটাবেজের সাথে অবজেক্ট ম্যাপিং করার জন্য ব্যবহৃত একটি প্রক্রিয়া। এটি ORM এরই মত তবে NoSQL ডাটাবেজের ক্ষেত্রে প্রযোজ্য।
- **SQL/NoSQL:** SQL (Structured Query Language) এবং NoSQL (Not Only SQL) হচ্ছে দুই ধরনের কুয়েরি ল্যাংগুয়েজ। Relational ডাটাবেজে কুয়েরি অপারেট করতে SQL ব্যবহার করা হয়। আর Non-Relational ডাটাবেজে কুয়েরি করার জন্য NoSQL ব্যবহার করা হয়।
- **API:** API হলো Application Programming Interface-এর সংক্ষিপ্ত রূপ। API ব্যবহারে অ্যাপ্লিকেশনগুলোর মধ্যে ডেটা আদান-প্রদান সহজতর হয়।
- **Server:** সার্ভার হলো একটি শক্তিশালী কম্পিউটার যা ইন্টারনেটে ডেটা সরবরাহ করে। Web server ওয়েবসাইটের ফাইলগুলো সংরক্ষণ করে এবং ব্যবহারকারীর রিকুয়েস্টে সেগুলো ডেলিভার করে।
- **Hosting:** Hosting হলো ওয়েবসাইটের ফাইলগুলো ইন্টারনেটে সংরক্ষণ করার সার্ভিস। Web hosting provider-এর সার্ভারে ওয়েবসাইটের ফাইলগুলো সংরক্ষণ করা হয়।
- **Content Management System (CMS):** CMS হলো ওয়েবসাইটের কন্টেন্ট ম্যানেজ করার জন্য ব্যবহৃত সফটওয়্যার। জনপ্রিয় CMS-গুলোর মধ্যে রয়েছে WordPress, Joomla, Drupal ইত্যাদি।
- **CDN:** CDN হলো Content Delivery Network-এর সংক্ষিপ্ত রূপ।  এটি বিশ্বব্যাপী সার্ভারের একটি নেটওয়ার্ক যা ওয়েবসাইটের কন্টেন্ট দ্রুত ডেলিভার করার জন্য ব্যবহৃত হয়।
- **Plugin:** Plugin হলো ওয়েবসাইটের কার্যকারিতা বৃদ্ধি করার জন্য ব্যবহৃত সফটওয়্যার। বিভিন্ন ধরনের প্লাগইন রয়েছে, যেমন: SEO plugin, security plugin, contact form plugin ইত্যাদি।
- **Deprecated:** Deprecated বলতে বোঝায় কোন টেকনোলোজি, প্যাকেজ বা ফাংশন আর ব্যবহার করা উচিত নয়।  নতুন এবং উন্নত প্রযুক্তির আবির্ভাবের ফলে পুরোনো প্রযুক্তিগুলো ডেপ্রিকেটেড হয়ে যায়।
- **Microservices:** Microservices হলো সফটওয়্যার ডেভেলপমেন্টের একটি আর্কিটেকচারাল প্যাটার্ন। Microservices-এর ব্যবহারে অ্যাপ্লিকেশন ডেভেলপমেন্ট এবং ডেপ্লয়মেন্ট আরও সহজ এবং দ্রুত হয়ে ওঠে।
- **GraphQL:** GraphQL হলো ডেটা API-এর জন্য একটি ক্যোয়ারি ল্যাঙ্গুয়েজ। এটি ব্যবহার করে ডেভেলপাররা সার্ভার থেকে নির্দিষ্ট ডেটা রিকুয়েস্ট করতে পারে। GraphQL-এর মাধ্যমে খুবি ইফিশিয়েন্ট ভাবে সার্ভার থেকে ডাটা নিয়ে আসা যায়।
- **Serverless Computing:** Serverless computing হলো ক্লাউড কম্পিউটিংয়ের একটি মডেল যেখানে ডেভেলপারদের সার্ভার ম্যানেজ করার দরকার হয় না। Serverless computing-এর ব্যবহারে ডেভেলপাররা দ্রুত এবং সহজে অ্যাপ্লিকেশন তৈরি করতে পারে।
- **Testing:** ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের ক্ষেত্রে টেস্টিং হলো অ্যাপ্লিকেশনের কোয়ালি নিশ্চিত করার একটি প্রক্রিয়া। টেস্টিং এর মাধ্যমে অ্যাপ্লিকেশনের বাগ, ত্রুটি, এবং সমস্যাগুলি সনাক্ত করা হয়।
- **Docker:** Docker হলো অ্যাপ্লিকেশন ডেভেলপমেন্ট, ডিপ্লয়মেন্ট, এবং রান করার জন্য একটি ওপেন সোর্স প্ল্যাটফর্ম। Docker কন্টেইনার ব্যবহার করে অ্যাপ্লিকেশনগুলো প্যাকেজ করা যায়।
- **CI/CD:**
    - **CI (Continuous Integration):** CI হলো Continuous Integration-এর সংক্ষিপ্ত রূপ। এটি সফটওয়্যার ডেভেলপমেন্ট প্রক্রিয়ার একটি ধাপ যেখানে ডেভেলপাররা নিয়মিতভাবে কোড পরিবর্তন করে এবং ত্রুটি পরীক্ষা করে।
    - **CD (Continuous Delivery):** CD হলো Continuous Delivery-এর সংক্ষিপ্ত রূপ। এটি CI এর পরের ধাপ। এখানে নতুন কোড স্বয়ংক্রিয়ভাবে ডেলিভার এবং ডেপ্লয় করা হয়।
- **DevOps:** DevOps হলো সফটওয়্যার ডেভেলপমেন্ট (Dev) এবং অপারেশন (Ops) টিমের মধ্যে সহযোগিতার একটি পদ্ধতি। DevOps এর লক্ষ্য হলো সফটওয়্যার ডেভেলপমেন্ট, টেস্টিং, ডিপ্লয়মেন্ট, এবং অপারেশন এর মধ্যে একটি সেতুবন্ধন স্থাপন করা।

**আমি এখানে কয়েকটি টেকনিক্যাল টার্ম নিয়ে আলোচনা করেছি। এই টেকনিক্যাল টার্মগুলো জানা ওয়েব ডেভেলপারদের জন্য অত্যন্ত গুরুত্বপূর্ণ।  এই টার্মগুলো ব্যবহার করে ডেভেলপাররা একে অপরের সাথে স্পষ্টভাবে যোগাযোগ করতে পারে এবং কাজ আরও দ্রুত ও দক্ষতার সাথে করতে পারে।**

**এছাড়াও, ওয়েব ডেভেলপমেন্টে আরও শত শত টেকনিক্যাল টার্ম ব্যবহৃত হয়।  নতুন নতুন প্রযুক্তির আবির্ভাবের সাথে সাথে নতুন টার্মগুলোও যুক্ত হচ্ছে।  তাই, ডেভেলপারদের জন্য নিজেদের জ্ঞান নিয়মিত আপডেট করা অত্যন্ত জরুরি।**

**আশা করি এই পোস্টটি ওয়েব ডেভেলপমেন্টের টেকনিক্যাল টার্ম সম্পর্কে আপনার ধারণাকে কিছুটা বুস্ট করবে।**

### কিছু জনপ্রিয় রিসোর্স

[বাংলা ডেভেলপার চিটশিট | ডেভ সংকেত (devsonket.com)](https://devsonket.com/)

[Website Terminology: 160+ Web Jargons Explained (hostinger.com)](https://www.hostinger.com/tutorials/website-terminology)

[Web Terminology 101: What You Need to Know [with Illustrations] - Pagecloud Blog - Web Design & Small Business Tips for Your Website](https://www.pagecloud.com/blog/website-terminology)

[Websites 101: Basic Terms Explained (leydesignstudio.com)](https://leydesignstudio.com/blog/basic-website-terms)