Overview & Environment Setup JavaScript Series ⇾ Chapter One
introduction JavaScript

♗ Love To Play With → JavaScript & NodeJS.
✢ Interested → Web & Backend Development.
↯ Current Stack → MERN Stack
History Of JavaScript
প্রোগ্রামিং ল্যাংগুয়েজ এর জগতে জাভাস্ক্রিপ্ট কে বলা হত টয় ল্যাংগুয়েজ ।ওয়েবপেজ এ কিছু সিম্পল ইন্টারাক্টিভিটি যুক্ত করা ,যেমন batton ক্লিক করা ,ফর্ম ইনপুট এ কিছু কাজ করা এসব ছিল জাভাস্ক্রিপ্ট এর usabilaty ।১৯৯৫ সালে নেটস্কেপের প্রকৌশলী ব্রেন্ডন আইচ মাত্র ১০ দিনে জাভাস্ক্রিপ্ট তৈরি করেন ।২০০৯ সালে রায়ান ডাহল জাভাস্ক্রিপ্ট এর চিন্তা টাকেই বদলে দিলেন ।নিয়ে আসলেন জাভাস্ক্রিপ্ট এর সব থেকে পাওয়ারফুল রান টাইম নোড js ।২০১১ সালে মার্কেট এ অফিসিয়ালি রান হয় নোড js ।কিন্তু তখন কিছু বাগ রয়ে গেছিল জাভাস্ক্রিপ্ট এ ।তাই ঠিক ততটা সুবিধা করতে পারেনি জাভাস্ক্রিপ্ট ।২০১৫ সালে এক্মাস্ক্রিপ্ট জাভাস্ক্রিপ্ট এর নতুন একটি ভার্সন রিলিস করল ।এর পরথেকে জাভাস্ক্রিপ্ট কে পেছনে ফিরে তাকাতে হয়নি ।
তোমায় যদি বলাহয় একটা ল্যাংগুয়েজ শিখে তুমি পুরো দুনিয়া ঘুরে আসতে পারবে তাহলে বোধয় তুমি দ্বিতীয়বার ভাববে না শিখে ফেলতে ।ঠিক তেমনি জাভাস্ক্রিপ্ট দিয়া ক্লায়েন্ট সাইট ,সার্ভার সাইট,মোবাইল এপ্লিকেশন এমনকি তুমি ক্লাউড কম্পিউটিং করতে পারবে ।আর ঠিক এই কারণে বিগত কয়েক বছর ধরে জাভাস্ক্রিপ্ট ওয়ান ম্যান আর্মি হয়ে টেক ওয়ার্ল্ডে লিড করে যাচ্ছে ।
What is the purpose of the Series:
সিরিজ টাকে জাভাস্ক্রিপ্ট এর বিগিনিং থেকে শুরু করে ধাপে ধাপে অ্যাডভান্স লেভেল এ নিয়ে যাওয়া হবে ।অ্যাডভান্স লেবেলে কাজ করার সময় যাতে তুমি রেফারেন্স হিসেবে এই সিরিজ ব্যবহার করতে পার তাই কয়েকটা পর্বে সিরিজটাকে ভাগ করে নেয়া হয়েছে ।শুধু মাত্র জাভাস্ক্রিপ্ট নিয়েই এই সিরিজে আলোচনা করা হবে ।কোন ফ্রেমওয়ার্ক ব্যবহার করা হবে না ।তবে কিছু ছোট ছোট লাইব্রেরি ব্যবহার করা হবে ।html & css টপিক গুলো মোটেও আলোচনার বিষয় না এই সিরিজে ।
সিরিজটা ফলো করার পাশাপাশি অনেক রিসোর্স থেকে রিসার্স করব আমরা ।এতে করে নতুন নতুন জিনিস সামনে এসে যাবে ।নতুন নতুন জিনিস সম্পর্কে জানতে পারব ।মূলত আমি এমন করে শিখতে পছন্দ করি । সিরিজ ফলো করার পাশাপাশি তুমি যদি স্ট্যাক লার্নার এর কোর্স কন্টিনিউ কর তাহলে খুব উপকৃত হবে।
তোমার নিজের থিংকিং কাজে লাগাতে হবে প্রাকটিস করতে হবে মাস্ট ।সিরিজে কোড দেয়া থাকবে কিন্তু কপি পেস্ট করলে চলবে না ।নিজের হাতকে নোংরা করে কোড করতে হবে ।তাহলেই প্রোপের লার্নিং হবে ।আমরা মজিলা ডেভেলপার এর ডকুমেন্টেশন ফলো করব এক্সট্রা নলেজ গেইন করতে। জাভাস্ক্রিপ্ট এর ডকুমেন্টেশন বলা হয়ে থাকে মজিলা ডেভেলপারস কে ।
তোমরা যারা আমার সাথে এই সিরিজটি ফলো করবে আসা করছি আমার ভুলগুলো কে ধরিয়া দিবে ।সবসময় অর্গানাইজ ওয়ে তে লেখা পসিবল হয়না । এছাড়া প্রোগ্রামিং এর confusion গুলো সল্ভ হয় কমুনিটির মাধ্যমে ।তাই চেষ্টা করবে কমেন্ট করে আলোচনা করার।
What You Learn In This Series
সিরিজটা খুব স্বাভাবিক ভাবেই বিগিনার ফ্রেন্ডলি করে লেখা হয়েছে । স্টেপ by স্টেপ এ আগানো হবে সোর্স কোড সহ । এখন কথা হচ্ছে কি কি থাকছে ?

উপরের ছবিতে দেখান সবগুল টপিক কভার করা হবে । এক এক করে ।
Programming Basic
এই চাপ্টারটিতে আলোচনা করা হয়েছে খুব সিম্পল লাইক variable ,data type , console log এসব নিয়ে ।মেথমেটিক্যাল ফাঙ্কশন ,ডেট রিলেটেড ফাঙ্কশন আমরা এগুলোই জানব প্রোগ্রামিং বেসিকস এ ।
Logic and Condition
প্রোগ্রামিং মানেই হচ্ছে লজিক ।লজিক এর উপর ভিত্তি করেই আমরা মূলত প্রোগ্রামিং করে থাকি ।এই চাপ্টারটিতে সেই কন্ডিশন আর লজিক থাকছে ।
Loop & Reputation
লুপ এবং রেপিটেশন মানে হচ্ছে কোন কাজ কে বার বার না করা লাগে । এই চ্যাপ্টার এ আমরা লুপ নিয়েই বেশি আলোচনা করব ।
Handling Strings
স্ট্রিং ডাটা টাইপ এর এক্সপ্লানেশন থাকছে এই চ্যাপ্টার এ ।
Arrays
এরে চ্যাপ্টার এ আমরা এর ব্যবহার দেখব ।যেটা কিনা প্রোগ্রামিং এর খুবই ইম্পর্টেন্ট পার্ট ।
Objects
এর পরে রয়েছে অবজেক্ট ।বলা হয়ে থাকে জাভাস্ক্রিপ্ট এ সব কিছুই অবজেক্ট । কিন্তু কেন? সেটাই জানব আমরা এই টপিক এ ।
Functions
অ্যাডভান্স লেভেলে জাভাস্ক্রিপ্ট কে শিখতে চাও ?খুব মন দিয়া ফাঙ্কশন বুঝা নাও ।
Functional Programming
callbak ,pure ,arrow এমন জটিল জটিল নাম গুলোকে আলোচনা করা হবে এই চ্যাপ্টার এ ।
Scope And Closure
সব থেকে confusion create করে নাকি জাভাস্ক্রিপ্ট স্কোপ এন্ড ক্লোজার ।চ্যাপ্টারটা আমরা ভালোভাবে বুঝার চেষ্টা করবো।
OPP Intro
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর কনসেপ্ট গুলো ১০ ও ১১ নম্বর চ্যাপ্টারের আলোচনার বিষয় ।
OPP With JS
class ,constructuor এসব থাকছে এই চ্যাপ্টার এ ।
Prototype
es5 এর prototypical চেন নিয়ে এই চ্যাপ্টার ।
Prototypical inheritance
আরো deep ডাইভ করব আমরা prototype এর ।
ES6
কাঙ্খিত সেই es6 এর খুঁটি নাটি থাকছে এই চ্যাপ্টার এ ।লেটেস্ট জাভাস্ক্রিপ্ট থাকছে es6 এ ।
Error Handling
অনেকসময় এরর ঘটে আমাদের কোড গুলোতে সেই এরর হ্যান্ডেল এর কাজ শিখব এই চ্যাপ্টার এ ।
Asynchronous Programming
খুবই গুরুত্ব পূরণ চ্যাপ্টার এই অসিনক্রোনাস প্রোগ্রামিং ।জাভাস্ক্রিপ্ট মূলত কাজ করে এই অসিনক্রোনাস বিহেবিওর নিয়ে ।
DOM
এখন পর্যন্ত যা কিছু আমরা দেখেছি সব গুলোই জাভাস্ক্রিপ্ট এর কোর কনসেপ্ট ।Dom জাভাস্ক্রিপ্ট এর বাইরের একটা বিষয় ।কিন্তু ব্রাউসার কে জানতে হলে আমাদের dom জানাটা খুব জরুরি ।
Project
ছোট্ট একটা প্রজেক্ট করে আমরা বুঝার চেষ্টা করব কিভাবে ফ্রন্টএন্ড ব্যাকএন্ড কানেক্ট করে ।
JavaScript Libraries
আমরা ডকুমেন্টেশন পড়ার রুলস গুলোকে জানব এই চ্যাপ্টার এ ।
Future Road Map
এর পরে আমরা কোন দিকে আগাবো ।এই স্টেপ নিয়ে কথা হবে এই চ্যাপ্টার এ ।
আমরা সব গুলো চ্যাপ্টার by চ্যাপ্টার সিরিজ আকারে দেয়ার চেষ্টা করব । আশাকরি ভালো লাগবে । আমার কাছে এই ব্লগ টা একটা নোট হতে যাচ্ছে ।তোমাদের ও কাজে দিবে আসা করি ।
Setup Your Environment:
একটা প্রোগ্রামিং ল্যাংগুগ কে রান করার জন্য আমাদের কিছু ইনভর্নমেন্ট সেটআপ করার প্রয়োজন হয়ে থাকে ।তবে জাভাস্ক্রিপ্ট এ প্রসেস খুব সহজ ।একটা ব্রাউজার্ ব্যবহার করেই আমরা জাভাস্ক্রিপ্ট রান করতে পারি ।কিন্তু নোড js আসার পরে আমরা এখন ব্রাউসার ছাড়াই টার্মিনাল এ জাভাস্ক্রিপ্ট কোড রান করতে পারি ।আর তাই আমরা আমাদের অপারেটিং সিস্টেম এ নোড js ইনস্টল করব । nodejs.org এই লিংক এ গিয়ে তুমি lts ভার্সন তা ডাউনলোড করে ইনস্টল করে নিতে পার ।জাস্ট নেক্সট নেক্সট নেক্সট দিয়া ইনস্টল করতে পার সফ্টওয়ার টি ।এছাড়া আমরা এডিটর হিসেবে ব্যবহার করব visualstudio code । তুমি জাস্ট লিংক এ গিয়ে যেভাবে সফটওয়্যার ইনস্টল করে সেভাবে করে নিলেই হবে ।যেহেতু আমরা মাঝে মধ্যে টার্মিনাল এ কোড রান করব ইন সাপোর্ট to নোড js সব থেকে ভালো হবে git bash ডাউনলোড করা । gutbase এর সাথে তুমি টার্মিনাল পেয়ে যাবে ।gitbash এর টার্মিনাল এ সিরিজ এ যে কম্যান্ড গুলো রান করব সব গুলোই সাপোর্ট করবে ।নো ম্যাটার কোন অপারেটিং সিস্টেম তুমি ব্যবহার করতেছ।
এখন তুমি তোমার টার্মিনাল ওপেন করে node -v command run করলে v16.15.1( ভার্শন আলাদা হতে পারে ) এমন ভার্সন শো করলেই বুজবা তোমার কম্পিউটার এ নোড ইনস্টল হয়ে গেছে । নোড js এর সাথে npm নাম একটা প্যাকেজ ম্যানেজের ইনস্টল হয়ে থাকে ।npm অটোমেটিক নোড js এর সাথেই ইনস্টল হয় তবে তুমি ভার্সন চেক করতে চাইলে npm -v দিলে টার্মিনাল এ ভার্সন নম্বর চলে আসবে ।
এর পরে টার্মিনাল এ যদি node লিখে এন্টার করি তবে নোড ইনভর্নমেন্ট চালু হয়ে যাবে ।এবার console.log("Hello") লিখলে আউটপুট hello শো করবে । we are ready to code.

OUTPUT Terminal :
Welcome to Node.js v16.15.1.
Type ".help" for more information.
> console.log("Hello")
Hello
undefined
>
তুমি যদি ctrl +c প্রেস কর তবে টার্মিনাল থেকে নোড এক্সিট হয়ে যাবে ।
thats all for today । নেক্সট চ্যাপ্টার এ দেখা হবে তোমার সাথে ।





