Skip to main content

NodeJS

 


NodeJS

আলহামদুলিল্লাহ, এখন রাত ২টা ৫০ মিনিট (১৮ অক্টোবর ২০২১) , হুট করেই মনে হচ্ছে NodeJs এর কন্সেপ্ট গুলা হালকা পাতলা ক্লিয়ার হতে শুরু করেছে, এর জন্যে অবশ্যই আল্লাহর কাছে সাহায্য চেয়েছিলাম, হঠাত করেই রাতের বেলা এমন ভাবে জিনিসগুলা সহজ লাগতে লাগবে ভাবিনি। যাইহোক,

 

NodeJs কি  কেন লাগে?

Website কে হাল্কা পাতলা জিন্দা করতে JavaScript লাগে, যোগ বিয়োগ সহ আরো মেলা ধরনের কাজ, যেগুলা আমাদের ছোট খাট রেস্পন্স করে এমন কাজ আর কি জাভাস্ক্রিপ্ট দিয়ে করা যাইতো। তো যারা জাভাস্কিপ্ট শিখতো তারা শুধু ওয়েবসাইটে চোখে দেখা যায় এমন কাজ গুলাই করতে পারতো। আসল কাজ যেগুলা, মানে দুনিয়াই এখন সব কাজ ই তো ডেটা নিয়েই তাই না, তো ডেটা গুলা রাখা হয় ডেটাবেজে, সার্ভারে ইত্যাদি জায়গায়।  যেখানেই রাখা হোক না কেন JavaScript ঐখানে যেয়ে ডেটা আনতে  অথবা ঐখানে ডেটা রাখার কাজটা করতে পারতো না, তাই JavaScript শিখে কোনো লাভ ছিল না, ডেটাবেজ, সার্ভার কঠিন ভাষায় Backend এর কাজ করতে অন্য কোনো ল্যাঙ্গুয়েজ যারা ডেটাবেজ/সার্ভারের সাথে কাজ করতে পারে আর কি ঐগুলা শিখে এই কাজ করতে হইতো। ল্যাঙ্গুয়েজের মধ্যে কয়েকটা হলো ঃ PHP, Java, Python.

 

Java আমার ভাল্লাগে, কেন ভাল্লাগে আমি জানি না, চাইছিলাম Java ই ভালমতো শিখব, কিন্তু এখন এমন বয়সে আছি একবার এটা একবার ঐটা সিদ্ধান্ত ঠিক করতেই পারছিনা কোনটার সাথে লেগে থাকবো ।

এখন JavaScript /NodeJs/ React এগুলা শিখার চেষ্টা করছি কারণ একঢিলে ২/৩ পাখি মারতে চাই, React দিয়ে ওয়েবঅ্যাপ্লিকেশন ও বানাইতে পারবো, React Native দিয়ে Android, IOS এগুলাও বানানো যায়।

 

হ্যাঁ তো যেখানে ছিলাম, JavaScript দিয়ে ব্যাকেন্ড এর কাজ করা যাইতো না। কিন্তু Ryan Dahl নামের একজন NodeJs বানাইসে যেটার মাধ্যমে এখন সার্ভার বানানো যায়, সার্ভার নিয়ে কাজ করা যায় , ব্রাউজার ছাড়াও JavaScript কোড রান করা যায় । তাই ব্যাকেন্ড এর কাজ JavaScript দিয়ে করতে গেলে আমাদের কিছু এক্সট্রা জিনিসপাতি যেগুলা NodeJs এ add হইসে ঐগুলা শিখে ফেলতে হবে।

 

কাহিনি স্ট্যার্টস হেয়ার …

 

NodeJs এর যেহেতু JavaScript এর বাইরের কিছু এক্সট্রা পাওয়ার আছে তার আগে আমরা ঐগুলাই আগে দেখে নেই । এগুলাকে কঠিন করার জন্যে আবার মডিউল বলে ডাকে ।

 

কিন্তু ভিতরের কথা হইতেসে , ধরেন আমি কোড করসি

i)            দুইটা নাম্বার যোগ করার

ii)           ১ থেকে ১০০ এর মধ্যে মৌলিক নাম্বার প্রিন্ট করার

iii)         Palindrome চেক করার

এখন এগুলা সব গুলা মিলিয়ে একসাথে করে একটা প্যাকেজের মত বানাইসি যাতে ভবিষ্যতে এগুলা লাগলে আবার ইউজ করতে পারি । এখন উপরের ৩টা কাজ করার কোডের নাম একসাথে আপনি যেন বুঝতে না পারেন এজন্য এটাকে মডিউল বলে ডাকবো আমি । হাহাহা

হ্যাঁ ওরাও এমনি করতেছে । আমি কোড গুলা একসাথে করে রাখসি কেন? যাতে পরে যদি কেউ আমাকে দুইটা নাম্বার যোগ করতে দেয় তাহলে আগের লিখা ঐ কোড দিয়েই হুট করে যোগ করে দিতে পারি , আমার কি কাজ নাই? বার বার একই কোড লিখবো?  তো আমি যেই প্যাকেজটা বানাইসি এটা ইন্টারনেটে আপলোড করে দিলাম, যাতে মানুষও আমার কোডগুলা ইউজ করতে পারে ।

 

তো মানুষতো আর জানবে না যে আমি কোড গুলা বানাইসি ক্যামনে, মানে আমার কোড গুলা ইউজ করতে হইলে তাকে ইনপুট দিতে হবে কিভাবে, তাই না?

তাই আমি কোডের সাথে লিখে দিলাম Documentation মানে ব্যবহার বিধি আর কি । যেমনঃ দুইটা নাম্বার যোগ করতে চাইলে এভাবে দিবা

add( x, y ) এইভাবে ফাংশন কল করবা । প্রাইম নাম্বার চাইলে এভাবে লিখবা   prime( n )  বুঝছেন জিনিসটা ?

একইভাবে NodeJs এর মালিক যেগুলা কোড লিখেছে আমাদের এখন ঐগুলা ব্যবহার করা শিখতে হবে । এগুলাকে আমরা মডিউল বলবো ।

 

NodeJs এর মডিউল গুলারে ৩ ভাগে ভাগ করা যায় ।

1.    মালিকের বানানো (Core module)

2.    আপনার নিজের বানানো মডিউল (Local module)

3.   মালিক আর আপনি বাদে অন্য কারোর বানানো মডিউল (Third party module)

৩নাম্বারটা কেন আসছে? এরা কারা ? এরা হইতেসে NodeJs এর মালিক যেসব কোড কঠিন করে লিখেছে, ঐ জায়গা গুলাই সহজ করে লিখলেই কাজ হয়ে যাবে এমন জিনিস বানিয়ে আপনাকে হেল্প করতে আসছে, মানে NodeJs দিয়েই যে কাজ করতে পারবেন ঐ কাজ ই করবেন NodeJs কেই ইউজ করবেন কিন্তু আরেকটু সহজ করে আর কি।

 

ধরেন টমাস আলভা এডিসন লাইট বানাইসে

কারেন্ট মিস্ত্রি সুইচ বানাইসে, লাইটের ই মজা নিচ্ছেন কিন্তু সুইচ টিপে করতে পারছেন তার জোড়া লাগিয়ে করতে হচ্ছে না, আরেকটু সহজ হইলো আর কি ।

 

তো এটাই NodeJs ই ইউজ করবেন, 3rd party এর মডিউল ইউজ করলে কাজটা সহজ হয়ে যাবে আর কি ।  বিখ্যাত 3rd party হচ্ছে ExpressJs । আগে NodeJs এর Core Module গুলা দেখবো আর কি ।

মানে NodeJs এর  মালিক নিজে যেভাবে বলেছে কাজ করতে ।

 

NodeJs এর মাধ্যেমে এসব জায়গায় কাজ করা যায় ঃ

fs – file system

http – server

os – operating system

 

ঘুম ধরছে , পরে লিখবো ইনশাল্লাহ 

 

Comments

Popular posts from this blog

IELTS Spoken Class Adminssion Scenario - 01

.......  Student: Hello, May I come in, sir ? Optional (student): May I sit ? Sir:  Please have a seat. Sir: How may I help you, Sir ? Student: I would like to admit in your spoken course. Sir: Oh sure. Student: How many days are there in a week ? Sir: There are three classes in a week. Student: What time do you offer class ? Sir: We have class at 11am / 4pm / 6pm / 8pm

Php Learning Time

 Differences of explode( ) and implode( ) in php: explode: একটা স্ট্রিংকে কোনো একটা সেপারেটরের বেসিসে অ্যারেতে কনভার্ট করে, যেমন  <?php $text="Hello How are you?"; print_r(explode(" ",$text)); ?> This will give output of  Array (     [0] => Hello     [1] => How     [2] => are     [3] => you? ) Differences of array_splice( ) and array_slice( ) ধরেন আসল অ্যারে হচ্ছে    $arr =[ "Hello" , "this" , "is" , "test" , "text" ];    এখন এটাকে স্লাইসিং করার জন্য আমরা উপরের দুইটা মেথড ই ব্যবহার করতে পারি , কিন্তু array_splice এটা ইউজ করলে অরজিনাল array ও চেঞ্জ হয়ে যাবে, মানে যদি আমরা এভাবে লিখি  $var2 = array_splice ( $arr , 0 , 2 );   তাইলে $var2 এর ভিতরে থাকবে ["Hello" , "this"] ,  আর অরজিনাল array তে বাকি থাকবে ["is", "test", "text"] কিন্তু যদি আমরা ইউজ করি তাহলে অরজিনাল array আগের মতোই থাকবে পাশাপাশি $var2 এর মধ্যে ভ্যালু গুলা এসে পড়বে  Array (     [0] => ...