Professional Documents
Culture Documents
Life Cycle of A Full Stack Developer-Stack Learner
Life Cycle of A Full Stack Developer-Stack Learner
co
2 courses.stackschool.co
Copyright © 2020 Stack Learner
এই বইেয়র সম) িবষয় ব, Stack Learner এবং HM Nayem এর কােছ সংরি1ত। এই বইেয়র 4কােনা 4লখা
িবনা অনুমিতেত ি:; করা বা িনেজর নােম চালােনা যােব না। এই বইেয়র সম) িবষয় ব, 4লখেকর িনজ? িচ@া
ভাবনা 4থেক 4নওয়া। তাই 4কােনা িকছD Eহণ করার পূেবJ অবশLই িনজ দািয়েN তার EহণেযাগLতা যাচাই কের িনেবন।
এই বইেয় বLবPত 4টকেনালিজ এবং 4রফােরS িলংক Tেলা ই;ােনJট িরসােসJর মাধLেম 4নওয়া। 4কােনা :কার 4কােনা
4কাVািনর অLািফিলেয়শন এখােন করা হয় িন। তাই এই বইেয়র সােথ 4দওয়া সম) 4রফােরS িলংক িনেজ যাচাই
কেরই বLবহার করেবন। এই বইেয়র 4কােনা অংশ আপনার ওেয়বসাইেট অথবা অনL 4কােনা 41েX বLবহােরর জনL
Stack Learner অথবা 4লখেকর অনুমিতর :েয়াজন হেব।
বইেয়র :Yদ
Shayaike Salvy
বই িডজাইন
HM Nayem
অনLানL -
Shegufa Taranjum
Shayaike Salvy
Tawhidi Bari
Md Monirul Islam
Asief Mahir
Saidur Rahman Setu
3 courses.stackschool.co
উৎসগJ
বাংলােদেশর সকল সফটওয়Lার ]সিনক যারা 4দেশর জনL িনেজেক সফটওয়Lার 4যা^া বানােত :,ত
4 courses.stackschool.co
সূিচপX
5 courses.stackschool.co
১
অধLায় এক
_র`র কথা
6 courses.stackschool.co
এই অধLােয় আেলািচত িবষয়ব,
7 courses.stackschool.co
জংগলটা 4য এত ঘন আর অqকার, 4সটা _র`র িদেক বD ঝেত পারা যায় না। আপিন যতই
এই জংগেলর িভতের :েবশ করেত থাকেবন, ততই মেন হেব 4যন হািরেয় যােYন। িপছেন
িফের আসার 4কােনা অবsাও আর থাকেব না। কারণ জংগেল হঁ াটেত আপনার এত ভাল
লাগেব 4য আপিন আর িপছেন িফের 4যেত চাইেবন না। আবার 4চােখর সামেন যখন জীব@
একটা ?u ঝDলেব তখন মেন হেব, আর একটD যাইনা। আর একটD 4গেলই হয়ত আমার
কািKত লে1L 4পwেx ছ যাব।
আপিন _ধD 4হঁ েটই যােবন, 4হঁ েটই যােবন। 4কােনা িদক িনেদJশনা 4নই, 4কােনা সyক তথL
x ােনা যােব। আপিন আপনার আেশপােশর
x ােল িনেজর গ@েবL 4পwছ
4নই, 4য আর কতটা 4দৗড়
মানুষজেনর িদেক তাকােবন। 4দখেবন, তারা 4তা অেনক দূর এিগেয় িগেয়েছ। তারা এই পেথ
যােY, তাই আমারও এই পেথই যাওয়া উিচত। এটা 4ভেবই আপিন আবারও নতDন পেথর
উে{LেশL রওনা িদেবন, 4সই পথ কতটা কঁ াটাময় 4সটা িবেবচনা না কেরই। 4সই পথ সVেকJ
নূনLতম |ান না থাকার পেরও আপিন যােবন এবং যাওয়ার পের নতDন কের একটা 4হঁ াচট
খােবন।
ি}লািSং কের অেনক টাকা উপাজJন করা যায়, ল1 ল1 টাকা চেল আেস কীেবােডJর
কেয়কটা টDকােত। সতL 4গাপন কের এই রকম কথা আপনােক বলার মানুেষর অভাব আপিন
পােবন না। িক~ 4কউ আপনােক বলেব না, এই টাকা অজJেনর পূেবJ তােক িক করেত হেয়েছ।
কত িদন, কত রাত, কত বছর ওই গহীন জংগেল একাকী তারার িম িম আেলায় ন পােয়
পথ চলেত হেয়েছ। এখেনা যিদ ভােলা কের ল1L কেরন, তােদর 1তsান Tেলা আপনার
নজর এড়ােব না।
ি}লািSং কের অেনক টাকা উপাজJন করা যায় এটা িচর@ন সতL। তেব আর একটা লুকািয়ত
সতL হেY আপনােক দ1 হেত হেব। এই দ1তার 4কান মাপকাy 4নই। আপিন যিদ ডাার
8 courses.stackschool.co
হেতন, তাহেল িনদ একটা পড়ােশানা 4শষ করার পের আপনােক িনদ একটা কাজই
করেত হেতা। বা আপিন যিদ একজন আকেট
হেতন তাহেলও পড়ােশানা 4শেষ একটা
িনদ টাইেপরই কাজ আপনােক করেত হেতা। িক~ ি}লাSার িহেসেব আপনােক yক
কখন িক কাজ করেত হেব, তা আপিন জােনন না। তাই ি}লাSার িহেসেব েক থাকেত
হেল আপনােক অেনক অেনক 4বিশ |ান অজJন করেত হেব।
আমােদর 4দেশ ি}লািSংটােক সবJেশষ 4পশা িহেসেব ধরা হয়। যখন 4কােনা িকছDই আর
পারিছ না, তখন একটা কিVউটার িকেন _ধD বেস পরার অেপ1া, টাকা 4তা আমার জনL
4রিড হেয়ই আেছ। এই রকম মানুেষর সংখLাও িক~ কম না। আমােদর 4দেশ ি}লািSং করেত
চাওয়া মানুেষর সংখLা অগিণত। িক~ সিতLকার অেথJই িনেজর দ1তা বি^ করেত চাওয়া
মানুেষর সংখLা িক~ হােত Tেন 4বর করা যােব। এখন অবশL এই সংখLাটা পিরবতত হেY।
মানুষ িশখেত চােY, িনেজর |ান বি^ করেত চােY। িক~ যত মানুষ িনেজেক |ান গিরমায়
সমৃ^ করেত চােY তার ১ ভাগ মানুষও িনেজর |ানেক িবতরণ করেত চােY না।
যার ফেল িক হেY, অqকার ঘন জংগলটা অqকারই 4থেক যােY। 4শখার সময়টা বি^
পােY এবং যD েগর সােথ তাল িমিলেয় আর চলেত 4শখা হেY না। পুেরা 4দশ, জািত িপিছেয়
পরেছ। এমন অবsায় আমােদর দরকার সyক িদকিনেদJশনা। এই িদক িনেদJশনা Tেলা
আপনারা যিদ একটD ই;ােনJেট সাচJ কেরন তাহেলই 4পেয় যােবন। আপনার বqD, বড়ভাই 4ক
িক করেছ তার িদেক তািকেয় থাকেত হেব না। িনেজর িডিসশন িনেজেকই 4নওয়া িশখেত
হেব। একটা কথা সব সময় মাথায় রাখেবন, ি}লািSং মােকJ টেস Tেলােত িবি হয়
আপনার দ1তা, অনL িকছD না। আর আপিন দ1 হেল, আপনার দ1তা আপিন অেনক
ভােবই িবি করেত পারেবন।
4:াEািমং, ওেয়ব 4ডেভলপেম; বা 4গম 4ডেভলপেম; যায় বেলন না 4কন, এTেলা হেY
পLাশেনর জায়গা। এটা Tর`NপূণJ না 4য পLাশনটা আেগ 4থেকই িছল নািক এটা িশখেত এেস
জ িনেয়েছ, Tর`NপূণJ িবষয় হল পLাশনটা জ িনেয়েছ িকনা। কারণ 4জার কের ঘার পর
ঘা একটা 4বাকা বােcর সামেন বেস থাকা যায় না। একটা 4বাকা বাcেক িশি1ত মানুেষর
বLবহার উপেযাগী করা যায় না।
9 courses.stackschool.co
4ডেভলপেম; হেY কিVউটােরর জগেত সব 4থেক কyন কাজ, 4ডেভলপেমে;র
সােথ আরও অেনক কাজ জিড়ত আেছ িক~ আিম এক কথায় 4ডেভলপেম;েকই ধের িনিY,
কারণ সব 4শেষ আমরা একটা 4ডেভলপড 4:াডা
ই 4পেয় থািক। আমরা অেনেকই
কিVউটােরর সােথ ভােলাভােব পিরিচত হওয়ার আেগই আমােদর আেশপােশর মানুষজেনর
কথা _েন, তােদর ারা :ভািবত হেয় 4ডেভলপেম; করেত 4নেম পির। 4:াEািমং বেল 4য
দুিনয়ােত িকছD একটা আেছ, 4সই িবষয়টাও জানেত পাির 4ডেভলপেম; করেত এেসই।
আসেল এটা 4মােটও yক না। আমােদরেক সyক পদে1েপর িভতর িদেয়ই এিগেয় 4যেত
হেব। তা না হেল কােজর কাজ িকছDই হেব না, _ধD সময়টায় ন হেব। সবার :থেম আমােদর
কিVউটােরর বLবহার ভােলাভােব িশখেত হেব। কিVউটার ভােলা ভােব বLবহার করেত না
জানেল 4কােনা িদনও এর জনL সফটওয়Lার বানােনা সব না। 4ডেভলপেমে;র উ{েশL
কিVউটার িকনেত চাওয়া বা কিVউটার িকেনই, ভােলা ভােব এর বLবহার না িশেখই
4ডেভলপেম; করেত চাওয়া মানুেষর সংখLা আমােদর 4দেশ ল1ািধক।
10 courses.stackschool.co
অেনক নবীন 4ডেভলপার : তDেলন 4য, আিম 4তা ওেয়ব 4ডেভলপেম; করেত চাই, আমার
4বাধহয় কিVউটার সাইS 4শখা লাগেব না। যিদ এই রকম ভােব িচ@া কেরই থােকন তাহেল
আিম আপনােক বলেবা, নতDন কের িচ@া _র` কর`ন। আেগর িচ@াটা ভDল িছল। কারণ
4ডেভলপেম;, 4সটা 4য 4কােনা িকছD 4ডেভলপ করা হেত পাের, কিVউটার সাইেSর একটা
শাখা মাX। 4য 4কােনা িকছD 4ডেভলপ করেত 4গেলই আপনার কিVউটার সাইেSর সূX
Tেলাই কােজ লাগেব। আর এই সূX Tেলা না 4জেন, না বD েঝ যিদ আপিন 4কােনা
অLাপিলেকশন 4ডেভলপ কেরন তাহেল 4সটা ইেলককLাল িমিTেদর মতই _ধD িকছD তােরর
কােনকশন হেব, যােত কাজ চলেব িক~ এর 4বিশ িকছD সব না। একটা কথা মাথায় রাখেবন,
একটা িবউিং ]তিরেত ইিিনয়ার এবং িমিT কঁ ােধ কঁ াধ িমিলেয় কাজ কের। ইিিনয়ােরর
অেনক কাজ িমিT করেলও 4স ইিিনয়ার হেয় যায় না। আপনার চারপােশ তাকােলই
আপিন ইিিনয়ার এবং িমিT এর পাথJকLটা বD ঝেত পারেবন। আর আিম চাই, আপিন
িডিজটাল িমিT না হেয় একজন ভােলা ইিিনয়ার হেয় গেড় উঠDন। _ধD মাX তাহেলই
আমােদর 4দশ ম িবি না কের 4মধা িবি করেত পারেব।
4ডেভলপেম; জগেত আপনার কাজ 4বাকা বাcটােক িনেজর 4গালাম বািনেয় ?াথJ
হািসল করা, িনেজর কাজ কিরেয় 4নওয়া। আপিন এই 4বাকা বাcেক যিদ িনেজর মত কের
কোল করেত চান, 4সটা 4ডেভলপেম; কেরই 4হাক আর হLাক কেরই 4হাক, আপনােক :থেম
এর ভাষা িশখেত হেব। আর তার পের কিVউটার সাইেSর িথওির Tেলা জানেত হেব।
কিVউটার আসেল খD বই 4বাকা, এর িনেজর 4কােনা িকছD করার 1মতা 4নই। আমরা
4ডেভলপাররা এই 4বাকা বাcেক বD ি^মান বািনেয় থািক। তাহেল িনয় বD ঝেত পারেছন
আমােদরেক িক পিরমাণ বD ি^মান হেত হেব যিদ এই 4বাকা বাcেক বD ি^মান বানােত হয়।
আিম মেন কির, যিদ আপিন কিVউটার ইিিনয়ার হেত চান তাহেল আপনােক কিVউটার
হেত হেব। মােন আপনার 4ইনেক কিVউটােরর মত ফা কাজ করােত হেব, কিVউটােরর
মত লিজকLাল হেত হেব। িনেজর 4ইেন সব িকছD জমা কের রাখার দরকার 4নই, যত টDকD
দরকার _ধD ততটDকD জমা কের রাখেলই চলেব। আর িনেজর মাথােক সব সময় :েসসেরর
মত কLালকDেলশেনর কােজ বL) রাখেত হেব। কিVউটােরর জগতটা এমননা 4য একবার
ডজনখােনক বই মুখ) কের Tিলেয় 4খেয় িনেত পারেলই হেয় 4গল। এবার সারা জীবন এই
বই Tেলার িনযJাস 4বঁেচই চলেব। এখােন :িতটা িদন, :িতটা মুতJ আপনােক নতDন নতDন
সমসLার সুখীন হেত হেব। এই 4বাকা বাcটা একটা কের নতDন চLােল আপনার িদেক ছDঁেড়
িদেয় মুচিক মুচিক হাসেব। যা সমাধান করেত 4কােনা বই, 4কােনা উেটািরয়ালই কােজ
11 courses.stackschool.co
আসেব না, কােজ আসেব _ধD আপনার বD ি^মা। যত আপিন এর গভীের :েবশ করেত
থাকেবন :েম Tেলার সাইজ, কমেিcও তত বড় হেত থাকেব। আর তখনই কােজ
আসেব কিVউটার সাইেSর |ান।
তেব আিম মেন কির, কিVউটার সাইেSর এই জগেত েক থাকার সব 4থেক সহজ এবং
সুjর উপায় হেY কিVউটােরর সােথ বqDN কের 4নওয়া। এটা একটা 4বাকা বাc, একবার
যিদ আপিন এর সােথ বqDN করেত পােরন, তাহেল এ আপনার সব কথায় _নেব। 4যভােব
খD িশ 4সভােবই নাচােত পারেবন কিVউটারেক। তেব তার জনL :থেম আপনােক একটা কাজ
করেত হেব, আর 4সটা হেY কিVউটােরর ভাষা িশখেত হেব। 4যেহতD কিVউটার খD বই 4বাকা,
তার 4তা 1মতা 4নই 4য 4স আপনার ভাষা িশখেব। তাই এটাই সব 4থেক ভাল হয় 4য,
আপিন তার ভাষা িশেখ 4ফলুন। আর একবার তার ভাষা যিদ আপিন র করেত পােরন,
তার ভাষায় আপিন তােক যা করেত বলেবন 4স িক~ তাই করেব, :দীপ 4থেক 4বর হওয়া
জীেনর মতই আপনার সম) কDম 4মেন চলেব।
অেনেকই মেন কের থােকন 4:াEািমং খD ব কyন। তােদর এমনটা ভাবা 4দােষর িকছD
নয়। কারণ আমােদর আেশপােশর মানুষজন যারা এর সােথ যD আেছন, তারাই
আমােদরেক এমনটা ভাবেত বাধL করেছ। এই 41েX আিম তােদরেকও 4দাষ 4দই না। কারণ
বLাপারটা ইংেরিজ এবং অংেকর মত। এই দুইটা িবষয় খD ব Tর`NপূণJ জীবেন, তাই 4ছাট 4বলা
4থেকই বাবা মা এর Tর`N 4বাঝােনার জনL অেনক রকম ভােব 4চা কের 4গেছন। আর
লােভর লাভ িক হেয়েছ? ইংেরিজ এবং অংক দুইটা িবষয়ই আমােদর ভেয়র কারণ হেয়
দঁ ািড়েয়েছ। 4:াEািমং এর 41েXও বLাপারটা একই রকম। সবাই এর Tর`Nটাই আমােদরেক
4বাঝােত 4চেয়েছ, িক~ আমরা বD েঝিছ এটা খD বই কyন। আর 4কান িকছDেক আেগ 4থেকই
কyন ধের িনেয় 4বিশ দূর আগােনা সব নয়। িকছD1ণ পর পর মেন হেব আমার ারা সব
না। আিম আমার িনেজর লাইেফই অসংখLবার এই রকম সমেয়র মুেখামুিখ হেয়িছ, যখন
মেন হেয়েছ 4:াEািমং আমার জনL না।
4:াEািমং কyন িকছD না, আবার একদম সহজ িকছDও না। সব 4থেক ভাল হয় যিদ আমরা
তDলনা করায় 4ছেড় 4দই। কyন 4হাক বা সহজ, কিVউটােরর সােথ বqDN করেত চাইেল
আমােদরেক তার ভাষা িশখেতই হেব, িডিসশন এখন আপনার। 4:াEািমং বলেত এত1ণ
মূলত আিম 4:াEািমং লLাংTেয়জ এর কথায় 4বাঝািY। বLাপারটােক এভােব ধের িনেত
পােরন 4য, আপিন সারা জীবেনর জনL জামJািন অথবা 4েন চেল যােবন। তাহেল এখনেতা
12 courses.stackschool.co
তােদর ভাষা িশখেত হেব, তাই না? নাহেল 4তা সব রকম সুেযাগ সুিবধা আপিন পােবন না।
4যমন কেরই 4হাক, অ@তপে1 কাজ চালােনার মত ভাষা আপনােক িশখেতই হেব। আপিন
এক িদেন িক~ জামJান ভাষা আয় করেত পারেবন না। যত িদন যােব, আপিন যিদ
অনুশীলন করেত থােকন, তাহেল নতDন নতDন শ , ভাষার বLাকরণ সব আয় হেত থাকেব।
তেব আপিন 4কােনা িদনও বলেত পারেবন না 4য আিম ১০০ ভাগ জামJান জািন বা আিম
১০০ ভাগ Lািনশ জািন। আজ পযJ@ বাংলা ভাষার 41েXই এমনটা বলার সাহস আমার
হল না। 4:াEািমং লLাংTেয়জও একই রকম। আপিন যত িদন যােব তত দ1 হেত থাকেবন,
নতDন নতDন c িশখেবন, িক~ কখেনাই বলেত পারেবন না 4য, আিম সব িশেখ 4ফেলিছ।
4:াEািমং লLাংTেয়েজর সব 4শখার দরকার ও কখেনা হেব না। কারণ আপনােক কথা বলেত
হেব 4মিশেনর সােথ, মানুেষর সােথ না। আর 4মিশন মানুেষর 4থেক অেনক কম
কমিেকেটড। এরা আপনােক সহজ ভােব কথা বলার জনL তািYলL করেব না। এখােন
একটা কথার একটাই অথJ, আবার অেনক Tেলা কথার একটা অথJ হেত পাের। তেব মানুেষর
ভাষার মত একটা কথার অেনক Tেলা অথJ কখেনাই হেব না। এখােন আপিন ভাষা পােবন
yকই, িক~ 4সই ভাষার 4কান এcে:শন 4নই। 4যটা বলেবন, 4সটার অথJ _ধD 4সটাই হেব।
তাই আিম মেন কির মানুেষর ভাষা 4শখার 4থেক কিVউটােরর ভাষা 4শখা অেনক সহজ।
যখন আপিন :থম 4:াEািমং লLাংTেয়জ 4শখা _র` করেবন তখন খD বই িবর
লাগেব। 4:াEািমং লLাংTেয়জ জানেল পুেরা দুিনয়া কঁ ািপেয় 4ফলা যায়, নাসােক হLাক কের
4ফলা যায়, 4গম সফটওয়Lার কত িক বানােনা যায়, এই রকম অসংখL বড় বড় কথার ফDলঝDির
4থেক :া িনযJাশ মাখা ?u িনেয় আপিন এেসেছন 4:াEািমং করেত। আর আপনােক ধিরেয়
4দওয়া হেয়েছ একটা সাদা আর একটা কােলা 4টcট এিডটর। সাদা 4টcট এিডটরটােত বলা
হেয়েছ a + b এর 4যাগফল 4বর করেত আর কােলা 4টcট এিডটের (টামনাল) বলা হেয়েছ
রান কের 4দখেত 4য, 4কাড সyক ভােব কাজ কের িকনা, সyক আউটপুট 4দয় িকনা। এই
সব 4দখেল 4য কােরারই িবর লাগেব, অ@তপে1 আমার মত যারা নাসােক হLাক করার
উে{েশL 4:াEািমং িশখেত আসেব তােদর 4তা ?u 4ভে¡ চDরমার হেয় যােব। মেন হেব পুেরা
পৃিথবাটাই 4ধঁাকা।
আিম িক~ এখােন আমার ওই সমেয়র মেনর অবsাটায় :কাশ করার 4চা করিছ। আিম
4কান ভােবই 4মেন িনেত পারিছলাম না 4য এটাই 4:াEািমং, কােলা িKেন £াস ি¤ 4ফােরর
কেয়কটা 4বিসক মLাথেমc আেজবােজ িকছD সাংেকিতক িচ¥ িদেয় :কাশ কের আমার িক
13 courses.stackschool.co
এমন লাভ হেব, িকভােব আিম একটা সফটওয়Lার এর সা¦াজL গেড় তDলেত পাির এই সহজ
অংক Tেলােক কyন ভােব সমাধান কের। 4কােনা ভােবই যখন িকছD বD েঝ আসিছল না তখন
আমােক সংগ িদেত চেল এেলা হতাশা, আর এই হতাশা 4কােনা িদনও আপনােক আপনার
x েত িদেব না। আমার _ধD এই একটা :ই িছল 4য, িক হেব এই কােলা িKেন
লে1L 4পwছ
4ছাট 4ছাট এই সব :েম এর সমাধান কের? Eািফc ছাড়া িকভােব একটা সফটওয়Lার
বানােনা যায়? িকভােব 4গম বানােনা যায়? যার উর আজেক আমার জানা, আসেল তখন
4যটা করতাম 4সটাই হেY 4:াEািমং, আর যা করেবা বেল ?u 4দখতাম তা হল
4ডেভলপেম;।
:থেম আমােদরেক রাজL জয় করেত হেব, কিVউটােরর ভাষাটা পুেরাপুির আয় কের
কিVউটার নামক 4বাকা 4মিশনটােক িনেজেদর 4গালাম বানােত হেব, তারপের আমরা
িসংহাসেন বেস তােক যা খD িশ তাই িনেদJশ িদেত পারব। তখন আমরা 4গম, সফটওয়Lার সবই
বানােত পারব। আর এই রকম 4ছাট 4ছাট অংক সমাধান করেত 4দওয়া হয় এই জনLই 4য
একবাের বড় িকছD আমােদর 4শখােল 4কান িকছDই আমােদর মাথায় ঢDকেব না, সব মাথার
ওপর িদেয় চেল যােব। আবার কিVউটার 4যেহতD একটা 4বাকা 4মিশন, তােক 4বাঝােনার জনL
আমােদর সরাসির কথা বলেত হেব। ঘD িরেয় 4পxিচেয় কথা বলেল 4স বD ঝেব না। 4স _ধD 4বােঝ
লিজক, আর লিজক মােনই হেY অংক। তার মােন এই 4ছাট 4ছাট 4যই অংক Tেলা
আমােদর :থেম সমাধান করেত খD ব িবর লােগ, 4সই অংক Tেলাই আমােদর সারাজীবন
কােজ লাগেব। কিVউটার কথাটা এেসেছ কিVউং 4থেক। কিVউং মােন হেY গণনা
করা। আর গণনা করার জনL আমােদর িশখেত হয় গিণত। অনLভােব বলেল, কিVউটার
সাইS িনেয় কাজ করেত হেলও আমােদর দরকার গিণত।
এইসব কথােতা আিম _র` করার ৪-৫ বছর পের এেস বD ঝেত 4পেরিছ। যিদ আেগ বD ঝেত
পারতাম তাহেল হয়ত যাXাটা আর একটD সহজ হেতা। আিম যখন হতাশার 4:েম ডDেব 4গিছ,
4:াEািমং আমার ারা হেব না বেল বই পX সব Tিছেয় তDেল 4রেখিছ, হঠাৎ তখনই মেনর
4কােনা এক 4কাণা 4থেক িজদ উিx ক িদেয় বলল, হেব না মােন? হেতই হেব। অেনক হেয়েছ
হতাশার সােথ 4:ম। এবার িজদেক িনেজর স¡ী কের 4নবার পালা। নতDন স¡ী 4পেয় িনেজর
জীবনটােক আর একটD Tিছেয় িনলাম।
আমার একটা জল 4রাগ িছল। আমার মেন হয় আপনােদর িভতের অেনেকই এই একই
4রােগর 4রাগী। 4কান িকছD সVূণJ ভােব না বD েঝ আিম সামেন আগােত পারতাম না। আর
14 courses.stackschool.co
4:াEািমং এ :িত পেদ পেদই নতDন নতDন কনিফউশন এেস উিx ক মাের। নতDন নতDন এমন সব
নােমর আিবভJ াব হয় যা পড়েত 4গেল মেন হয় দঁ াত 4ভে¡ যােব। 4সই সমসLােক দূের সিরেয়
4রেখ পােশ জায়গা িদলাম 4নাটবD কেক। ধের িনলাম, একবােরই সব িকছD জানা যায় না। হয়ত
আিম এখন 4যটা পারিছ না, 4সটা সামেন yকই জানেত পারব। যখন 4যই সমসLায়
পড়তাম 4সটা দুইটা জায়গায় িলেখ রাখতাম। :থেম িলখতাম িনেজর মেন, তারপের
িলখতাম 4নাটবD েক। কনিফউশেনর সাগের না 4ভেস এবার িস^া@ িনলাম, আমার সব িকছD
জানেত হেব না। 4যেহতD বইেত 4লখা আেছ 4য এইভােব 4:াEািমং করেত হয়, তাই এভােবই
আমােক আগােত হেব। সফটওয়Lার িকভােব বানােত হয় আমার জানেত হেব না। আমােক
_ধD 4:াEািমং িশখেত হেব। 4যিদন 4থেক িজদ আমার স¡ী হেয়েছ, 4সিদন 4থেক আর 4কােনা
কনিফউশন, আর 4কােনা হতাশা আমােক ছDঁেত পােরিন। আমার তখন ল1L একটাই িছল,
আমােক একজন 4:াEামার হেত হেব।
আপিন যখন 4:াEািমং 4শখা _র` করেবন, তখন আেশপােশ কােরার িদেক তাকােবন না।
মেন রাখেবন সবার :থেম কিমউিনেকশন ি¨ল দরকার। আপিন যিদ কিVউটারেক িনেজর
বqD বানােত পােরন, তার সােথ িনেজর মেনর কথা 4শয়ার করেত পােরন, তাহেল আপিন
কিVউটার বLবহার কের 4যেকােনা িকছDই করেত পারেবন, এটা _ধD সমেয়র অেপ1া মাX।
4:াEািমং িশখেত এেস হতাশার কবেল পড়া আপিনই :থম বLি না। আপনার পূেবJ যD েগ
যD েগ ব মানুষ এই হতাশার কবেল পেড়েছ। এমনিক আজেক যােদরেক আপিন 4:াEািমং এর
Tর` মেন কেরন, তারাও এক সময় এই হতাশার সােথ গভীর :ণেয় িনমি©ত িছল।
4:াEািমং _র` করার পের আপনােক দুইটা :িত|া করেত হেব। যতই হতাশা আপনােক 4:ম
িনেবদন কর`ক না 4কন, 4কােনা ভােবই আপিন তার 4:েম পড়েবন না। আর সব িকছD
একবােরই জানেত বা বD ঝেত চাইেবন না। আপনার সমসLা Tেলা মাথায় িলেখ রাখD ন, িকছD
দূর আগােলই আপিন তার সমাধান পােবন। আর িকছD িদন পর পর পূেবJ িক িশেখিছেলন
4সTেলা িপছেন তািকেয় 4দখেবন। ªভ জবস এর ভাষL মেত ডট 4মলােবন।
কিVউটার সাইS একটা িবশাল সমু«। এই িবশাল সমুে« যিদ আপিন সyক ভােব
সাভJ াইভ করেত চান তাহেল, আপনার দরকার পড়েব ]ধযJ, অধLাবশায় এবং 4লেগ থাকার
মানুিষকতা। এর সােথ সােথ আরও দরকার পরেব একটা সyক িদক িনেদJশনা। কারণ এত
িবশাল সমুে« িদক হািরেয় তাল 4বতাল হেয় যাওয়ার সাবনাটাই সব 4থেক 4বিশ থােক।
আর আমােদর 4দেশর 4:1াপেট এটা হরহােমশাই ঘেট থােক। এর সােথ সােথ আপনার
দরকার পড়েব ইংেরিজর িকছD |ান, কারণ এই জগেতর সােথ যD সম) দিলল ইংেরিজেতই
15 courses.stackschool.co
4লখা। আর অg িকছD গিণেতর দ1তা। গিণেতর দ1তা yক কত হেল ভােলা হয় এর
িনদ 4কােনা মাপকাy 4নই। আপিন িনেজই ধীের ধীের বD ঝেত পারেবন 4য গিণেত আপনার
দ1তা বি^ করা উিচত িক না? তেব _র` করার জনL নূনLতম একটা |ান আপনার দরকার
হেবই। কারণ আমােদর এই 4বাকা বাcটা িকছD না বD ঝেলও গিণত খD ব ভােলা 4বােঝ।
আিম এই বইেত আপনােদরেক একটা সyক গাইডলাইন 4দওয়ার 4চা করেবা। 4যই
গাইডলাইনটা 4মেন চলেল আপিন িনেজই কােরার মুখােপ1ী না হেয়ও কিVউটার জগেত
িনেজর একটা অবsান ]তির কের িনেত পারেবন। এই গাইডলাইনটা 4মােটও 4ছাট 4কােনা
গাইডলাইন নয়, আবার সবাইেক 4য সব িকছD মানেত হেব এমনটাও নয়। :থেমই আপনােক
x ােত চান, িনেজর ল1L অনুযায়ী
িস^া@ িনেয় িনেত হেব 4য আপিন আসেল কত দূর 4দৗড়
আমার গাইডলাইন ফেলা করেবন। এই গাইডলাইেন আিম, 4:াEািমং জগেত পদাপJণ
4থেক _র` কের িকভােব একজন ভাল ফDলLাক ওয়েব 4ডেভলপার হওয়া যায় এবং তার সব
4থেক নূনLতম রা)া 4কানটা 4সই িবষেয়ই আেলাকপাত করেবা। সােথ সােথ আমােদর 4দেশর
:চিলত 4ডেভলপেম; িরেলেটড িকছD িমথ িনেয়ও আেলাচনা করেবা। এমন িকছD িবষেয়
আেলাচনা করেবা 4যTেলা সতL িক~ আপনার _নেত ভােলা লাগেব না।
একজন ভােলা সফটওয়Lার ইিিনয়ােরর 4য 4য িবষেয় |ান অজJন করেত হয়, এcLা
িক িক
কাজ করেল আপনােক একজন ভােলা ওেয়ব 4ডেভলপার বলা হেব, তার সব িকছDই যD ি
সহকাের আপনােক 4বাঝােনার 4চা করেবা। যতটDকD আপনার পছj হেব yক তত টDকDই
আপিন Eহণ করেবন। আর যিদ 4কােনা িবষেয় িমত থােক, ম@বL করার পূেবJ ইেমাশনেক
দূের 4রেখ যD ি িদেয় িচ@া করেবন। তেব আবারও একটা কথা আপনােক ¬রণ কিরেয় 4দই,
ভােলা ভােব কিVউটার চালােনা 4শখার পেরই কিVউটারেক িনেজর 4গালাম বানােত চাওয়া
উিচত। তার আেগ 4কােনা ভােবই নয়। ভােলা খারাপ সব জায়গােতই আেছ, অেনক কম |ান
অজJন কেরও অেনেক ভােলা উপাজJন কের সুেখই িদন কাটােY। িকভােব আপিন সহেজ
অনলাইেন অথJ উপাজJন করেবন 4সই তথL িবতরেণর জনL এই বইটা না। এই বই িনেজেক
বাংলােদেশর একজন গবীত সফটওয়Lার ]সিনক িহেসেব গেড় 4তালার অকাটL দিলল। যা
বLবহার কের আপিন িনেজই িনেজেক ?িশ1ায় িশি1ত কের একজন মানব সVেদ র®পা@িরত
হেত পারেবন।
16 courses.stackschool.co
এই 4পজ 4?Yায় ফঁ াকা রাখা হেয়েছ
Visit https://courses.stackschool.co
Subscribe https://youtube.com/stacklearner
Like https://facebook.com/stacklearner
Join https://facebook.com/groups/stacklearner
Connect https://linkedin.com/company/stacklearner
Follow https://instagram.com/stacklearner/
Follow https://medium.com/stack-learner
17 courses.stackschool.co
২অধLায় দুই
18 courses.stackschool.co
এই অধLােয় আেলািচত িবষয়ব,
✓ 4:াEািমং লLাংTেয়জ িক
✓ িস 4রাডমLাপ
✓ জাভা 4রাডমLাপ
19 courses.stackschool.co
অেনক সময় অেনক মানুষ বলেলই কথাটা সিতL হেয় যায় না। আজেকর িদেন আমােদর
অেনক িকছDর অভাব থাকেলও অ@তপে1 ই;ারেনেটর অভাব 4নই। ঘের বাইের, বােস ±ােক,
িরcায়, হঁ াটেত হঁ াটেত এমনিক ফDটবল 4খলেত 4খলেতও আমরা 4ফসবD ক বLবহার কির।
তারমােন অg একটD 4মগাবাইট খরচ কের, Tগেল সাচJ কের 4কানটা সyক আর 4কানটা
4বyক 4জেন 4নওয়ার মত সামথJL এখন আমােদর 4বিশরভাগ মানুেষরই আেছ। এবং আিম
আশা করেবা এর পর 4থেক 4²ােত গা না ভািসেয় সyক তথLটা আপনারা িনেজরাই খD ঁেজ
4বর করেবন। তেব এখােন আপনােদর জনL আিম িকছD 4:াEািমং িবষয়ক ইনফরেমশন
4শয়ার করিছ, পের যখন িনেজ সাচJ কের 4দখেবন, তখন আমার ইনফরেমশন Tেলা সyক
না ভDল 4সটা অবশLই জানােবন।
20 courses.stackschool.co
4মিশনটা আমােদর কমা³ বD ঝেত পারেব 4সই কমা³ 4দওয়ার ভাষাটাই িশখেত হেব। কমা³
4দওয়ােত আমরা এমিনেতই ও)াদ।
What is Programming?
- Computer programming is the process of designing and
building an executable computer program to accomplish a
specific computing result. (Wikipedia)
এখােনই সবাই পের যায় মহা িবপােক, আর জ 4নয় Tজব তেTর। ভাষােতা িশখব িক~
িশখেবা 4কানটা? Tগেল সাচJ করেল 4তা অ@তপে1 কেয়কশ ভাষার নাম পাওয়া যায়।
ইউিনভাসেত বেল িস িশখেত, এক বড় ভাই বেল পাইথন িশখেত 4তা আর একজন বেল
জাভা। 4কউ আবার বেল এসব িশেখ লাভ 4নই, িপএইচিপ 4শখ। 4কউ 4তা জাভািKµ ছাড়া
দুিনয়ােত 4কােনা ভাষােক ভাষায় মেন কের না। 4কউ 4কউ 4তা আবার খD ব অLাডভাSড, বেল
সব 4শখ। িক~ আিম 4কানটা িশখব? 4কানটা িশখেল আমার ভিবষLৎ উJল হেব? 4কানটা
িশখেল ·ত 4ডেভলপেম; করেত পারেবা?
4য 4কােনা একটা িশখD ন, 4কােনা সমসLা 4নই। 4য 4কান একটা লLাংTেয়জ 4বেছ িনেয়
অেনকটা সময় 4সই লLাংTেয়জ 4শখার িপছেন বLয় কর`ন। আসেল কিVউটার িক~ িস
4বােঝ না, 4স জাভা, জাভািKµ, পাইথন িকছDই 4বােঝ না। 4স _ধD 4বােঝ বাইনাির, মােন ০
এবং ১। িক~ এই ভােব ০ এবং ১ িদেয় যিদ কিVউটারেক আমরা িনেদJশ িদেত চাই, তাহেল
আমােদর িনেজেদরই ১২টা 4বেজ যােব। তাই আমরা হাই 4লেভল িকছD লLাংTেয়জ িশেখ
4সTেলা বLবহার কেরই কাজ চািলেয় 4নই। মাঝখােন কVাইলার নামক একটা বD ি^মান
4মিশন আেছ, 4য িকনা আমােদর হাই 4লেভল 4:াEািমং ও বD ঝেত পাের আবার 4লা 4লেভল
4মিশন 4কাডও বD ঝেত পাের। 4সই আমােদর হেয় কিVউটােরর সােথ 4যাগােযাগ কের থােক।
21 courses.stackschool.co
What is Compiler?
- A compiler is a computer program that translates computer
code written in one programming language (the source
language) into another language (the target language). The
name compiler is primarily used for programs that
translate source code from a high-level programming
language to a lower level language (e.g., assembly
language, object code, or machine code) to create
an executable program. (Wikipedia)
আপিন 4য 4কােনা একটা হাই 4লেভল লLাংTেয়জ িশখেত পােরন। পৃিথবীেত দুই ধরেনর
মানুষ আেছ। এক ধরেনর মানুষ :থেম 4কান িকছD ·ত _র` করেত চাই, পের আে) আে)
তার গভীের :েবশ করেত চাই। আপিন যিদ এই দেলর একজন হেয় থােকন, তাহেল আিম
বলেবা আপিন পাইথন িদেয় _র` করেত পােরন। 4ছাট এবং সহজ একটা লLাংTেয়জ, িক~
খD বই পাওয়ারফDল। এখনকার সমেয় এটা একটা হট লLাংTেয়জ যা বLবহার কের 4মাটােমা
সব ধরেনর কাজই করা যায়। িতীয় ধরেনর মানুেষরা একটD ও ফLাশন টাইেপর হয়,
অেনকটা আমার মত। তারা :থম 4থেকই সব িকছD বD েঝ _েন তারপের সামেন আগােত চাই।
তােদর 4কান িকছD করার এত তাড়া 4নই। আে) আে) ধীের সুেs সব িকছD বD েঝই সামেন
এিগেয় 4যেত চাই। আপিন যিদ এই দেলর 4কউ হেয় থােকন, তাহেল আিম বলেবা আপনার
িস অথবা জাভা িদেয় _র` করা উিচত। কারণ এই লLাংTেয়জ Tেলা তDলনা মূলক 4লা
4লেভল। এই লLাংTেয়জ Tেলা িদেয় _র` করেল অেনক জল িবষয়ও :থম 4থেকই
আপনার নখদপJেন চেল আসেব। তেব একটা িজিনস মাথায় রাখেবন, 4কান লLাংTেয়জ
4শখার সময় ভাবেবন না 4য, এই লLাংTেয়জ বLবহার কের আপিন অেনক অেনক
4ডেভলপেম; করেবন। তাহেল িক~ ভDল হেব। আপিন এখন 4ডেভলপেম; িশখেছন না,
আপিন িশখেছন িকভােব কিVউটারেক বেস আনা যায়, িকভােব তার সােথ কথা বলা যায়,
এর 4থেক 4বিশ িকছDই না। ভাষা, ভাষার বLাকরণ 4শখার পূেবJই যিদ আমরা সািহতL 4লখার
িচ@া কির 4সটা 4তা মেন হয় yক হেব না।
22 courses.stackschool.co
আমরা অেনেকই :থম লLাংTেয়জ 4শখার সময় খD ব 4বিশ কনিফউসড থািক। এমন একটা
লLাংTেয়জ িশখেত চাই 4যটা আজেক িশেখ কালেকই 4ডেভলপেমে;র কাজ _র` করা যােব।
িক~ এটা সVূণJ ভDল :েসস। বাঙািল িহেসেব জ িনেয় জের পরই যিদ আমােদর বাবা মা
বাংলা না িশিখেয় ইংেরিজ 4শখােতা তাহেল 4কমন হেতা বেলন 4তা? 4বিশর ভাগ জেবর
41েXই 4তা আমােদর ইংেরিজই দরকার, তাই 4পট 4থেক পেড়ই ইংেরিজ 4শখা _র` করেল 4তা
মj হয় না। জেবর 41েX কেয়ক ধাপ এিগেয়ই থাকলাম বর¹। তাই না? :থম ভাষাটা সবার
জনLই খD ব Tর`NপূণJ। 4হাক 4সটা মানুেষর ভাষা, 4হাক 4সটা কিVউটােরর ভাষা। :থম ভাষা
আপিন আপনার কমJ 41েX বLবহার করেছন িকনা 4সটা Tর`NপূণJ না। Tর`NপূণJ হেY এমন
একটা ভাষা 4বেছ 4নওয়া যা িশখেল 4:াEািমং, 4:াEািমং ফা³ােম;ালস, 4:াEািমং
লLাংTেয়জ এবং এর বLবহার সVেকJ 4মাটামা ভােলা একটা ধারণা ]তির হয়। :থম ভাষা
4শখার িপছেন বLয় করা সময়টােক অপচয় মেন করেবন না, এটা হেY আপনার 4টকেনালিজ
জগেত িনেজর অবsান পাকােপা করার :থম ইনেভেম;।
জীবেন আপনার অেনক 4:াEািমং লLাংTেয়জ 4শখার :েয়াজন পরেব। একটা লLাংTেয়জ
িশেখই আপিন আপনার জীবন পার করেত পারেবন না। তেব পূেবJই বেলিছলাম,
কিVউটােরর ভাষা মানুেষর ভাষার 4থেক অেনক সহজ। তাই 4:াEািমং লLাংTেয়েজর
ফা³ােম;াল িবষয় Tেলা একবার আয় করেত পারেলই আপিন যখন খD িশ তখন 4যেকােনা
লLাংTেয়জ িশেখ িনেত পারেবন খD ব অg সমেয়র মেধLই। পৃিথবীেত হাজার হাজার 4:াEািমং
লLাংTেয়জ আেছ, তার িভতের অg িকছD লLাংTেয়জই জনি:য়তার শীেষJ উেঠেছ। তেব
:িতটা লLাংTেয়েজরই িনজ? সা আেছ, িনজ? বLবহার আেছ। তা যিদ না থাকেতা তাহেল
4কা 4কা টাকা খরচ কের নতDন নতDন লLাংTেয়জ মানুষ বানােতা না। একটা লLাংTেয়জ
িদেয়ই কাজ চািলেয় িনত। পৃিথবীেত 4কােনা লLাংTেয়জই ?য়ংসVূণJ না।
❖ সহেজ _র` করেত চাইেল পাইথন িদেয় _র` করা 4যেত পাের
23 courses.stackschool.co
িস 4:াEািমং হেY সকল 4:াEািমং লLাংTেয়জ এর মা, কারণ মডাণJ সম) 4:াEািমং
লLাংTেয়েজর জ হেয়েছ িস 4:াEািমং 4থেকই। তাই আিম মেন কির, িস লLাংTেয়েজর
:িতাতা 4ডিনস িরিচ এর :িত সান :দশJন কের আমােদর িস 4:াEািমং লLাংTেয়জ
িদেয়ই _র` করা উিচত। এই লLাংTেয়জটা খD বই 4ছাট একটা লLাংTেয়জ। এবং এটা িশখেল
কিVউটার সাইেSর অেনক জল িবষয় পিরºার হওয়ার সােথ সােথ 4:াEািমং
ফা³ােম;ালসটাও আপনার নখদপJেন চেল আসেব। একটা সমসLােক িকভােব একজন
কিVউটার সাই»ের দৃ¼েত 4দখেত হয় 4সটা আপনােক 4শখােব এই 4ছা লLা¡ুেয়জটা।
এখােন :থেমই আমােদর িশখেত হেব িকভােব িস 4:াEািমং এর জনL ওয়াকং এনভাইরেম;
]তির করেত হয়। িকভােব কVাইলার 4সটআপ করেত হয়? িকভােব 4টcট এিডটর ইSটল
করেত হয়?
আিম যখন :থম িস 4:াEািমং িশখব বেল মনিsর কির তখন সুিবন ভাই এর গ পের _র`
করিছলাম। তখনও তার বই বাজাের পাবিলশ হয়িন। 4সখােন একটা হLােলা ওয়াJ 4:াEাম
িদেয় _র` কেরিছেলন িতিন এবং বেলিছেলন যিদ এই 4:াEামটা 4কউ রান করেত না পাের
তাহেল তার জনL 4:াEািমং না। আিম টানা দুই সাহ 4দেখ 4দেখ টাইপ কের, কিপ 4প
কেরও 4:াEাম রান করেত 4পেরিছলাম না। পের বD েঝিছলাম, আমার কVাইলার সyক
ভােব 4সটআপ হেয়িছল না, আিম এনভাইরেম; ভLািরেয়বল 4সটআপ কেরিছলাম না।
তাই মেনােযাগ সহকাের :িতটা 4প ভােলাভােব বD ঝেত হেব। 4কান কাজটা 4কন করেছন
Tগল কের ভােলাভােব বD েঝ িনেত হেব। এবং :থেমই িনেজর কাজ করার জনL সুjর একটা
এনভাইরেম; ]তির কের িনেত হেব। এটা আসেল আপনার কাজ করার ঘেরর মত। আপিন
ঘরটােক যত সুjর কের সাজােবন, সব িকছD যত পিরºার পিরY½ থাকেব, যত 4বিশ গLােজট
থাকেব ততই কাজ কের আপিন মজা পােবন। একই ভােব 4কাড করার ইনভাইরেম;টা যত
24 courses.stackschool.co
সুjর কের সাজােবন, যত ভােলা একটা 4টcট এিডটর বLবহার করেবন, যত সােপাJভ
ইউিল টDলস বLবহার করেবন ততই 4কাড কের মজা পােবন। তেব :থেমই বড় সড় একটা
IDE (Integrated Development Environment) বLবহার করাটা বD ি^মােনর কাজ হেব
না। তাহেল পুেরা িসেমটা িকভােব কাজ করেছ 4সটা আপনার অজানাই 4থেক যােব।
একটা িবষয় সব সময় মাথায় রাখেবন, একটা ১ তলা িবউিং ]তির করেতও 4যমন িভি
sাপন করেত হয় 4তমিন ২০ তলা িবউিং ]তিরেতও িভি sাপেনর দরকার হয়। ১ তলা
িবউিং এর িভি ২-৩ িদেনর িভতেরই sাপন করা সV½ হেয় যায়। িক~ ২০ তলা িবউিং
এর িভি sাপন করেত অেনক সময় লােগ। িকছD িকছD 41েX কেয়ক মাসও সময় 4লেগ যায়।
এই িভি sাপেনর সময় বাইের 4থেক 4দেখ 4বাঝার 4কােনা উপায়ই থােক না 4য এটা ২০ তলা
িবউিং এর িভি sাপন হেY। এই সময় আপনার চারপােশ দঁ ািড়েয় থাকা একতলা
িবউিং Tেলা আপনােক 4দেখ মুচিক মুচিক হাসেত পাের, আপনােক িনেয় তামাশা করেত
পাের। কারণ তারা ৪-৫ িদেনর িভতেরই মাথা উচx D কের দঁ ািড়েয় িগেয়েছ। আর আপনার
দৃশLমান 4কােনা কাজ এখেনা হয় িন যা আপিন দুিনয়ােক 4দখােত পােরন। এই একতলা
িবউিং Tেলা জােন না 4য তারা সেবJা¿ একটা বা দুইটা পিরবােররই থাকার বLবsা করেত
পারেব। আর আপিন যখন মাথা উচx D কের দঁ াড়ােবন তখন কম কের হেলও একশ পিরবার
আপনার বD েক িনিে@ তােদর রািXযাপন করেব।
িবঃ<ঃ িভি sাপেনর সময় একতলা িবউিং এর সংশJ 4থেক দূের থাকেবন। আর
আপিন মাথা উচx D কের দঁ াড়ােনার পর তারা িনেজরাই আপনার কাছাকািছ আসেব না।
25 courses.stackschool.co
একজন নবL 4:াEামার িহেসেব খD ব 4বিশ িবষয় :থেমই জানার দরকার আেছ বেল
আিম মেন কির না। আিম মেন কির িনেচর িবষয় Tেলা িশেখই অ@তপে1 ৩-৪ মাস
অনুশীলন করা উিচত নতDন 4কােনা িবষয় 4শখার পূেবJ -
ডাটা টাইপস এবং ভEািরেয়বলঃ 4:াEািমং এর সব 4থেক Tর`NপূণJ দুই িবষয় হেY
ডাটা টাইপস (Data Types) এবং ভLািরেয়বল (Variable)। কিVউটাের আমরা সাধারণত
ডাটা িনেয় কাজ কির। আমােদর কিVউটার yক 4কান ধরেনর ডাটা িনেয় কাজ করেত
পাের 4সটা আমােদর :থেমই ভােলাভােব 4জেন 4নওয়া দরকার। এর সােথ সােথ কিVউটার
িকভােব 4মমিরেত ডাটা 4ার কের রােখ, িবট বাইেটর িহেসব িকভােব হয়, িকভােব একটা
নাÀার বা কLাের
ারেক (Character) কিVউটার তার ভাষায় 4ার কের রােখ এই িবষয়
Tেলাও জানা জর`ির। 4:াEািমং লLাংTেয়েজ িভ½ িভ½ 4য ডাটা টাইপ আেছ, 4স Tেলা
িকভােব কাজ কের বা 4সTেলার সাইজ িভ½ 4কন এই রকম সম) :ের উর :থেমই
আমােদর 4জেন িনেত হেব। এTেলা জানেত িগেয় আপনারা একটা মজার িবষয় 4খয়াল
করেবন, আর 4সটা হল 4ছাট 4বলায় 4যই গিণতেক জীবেন 4কান কােজ লাগেব না বেল
মেনােযাগ সহকাের ফঁ ািক িদেয় পার কেরিছেলন, আজ 4সই গিণেতর ভÁিমকা কতটা আপনার
জীবেন।
26 courses.stackschool.co
িনেবন। িক~ :থম িদেক একটD ক হেব লিজক Tেলা খD ঁেজ 4বর করেত, যিদ তাই হয় তাহেল
িকছD িদন সাধারণ ভােব 4কান িকছD িচ@া না কের লিজকLাল ভােব িচ@া করার :াকস
করেত পােরন। 4যমন আপনার কিফ খাওয়ার ইেY হেল এভােব বলেত পােরন 4য, আমার
মাথা বLাথা করেল আিম কিফ খাব, না হেল 4:াEািমং করেবা। অিফস থাকেল সকাল ৭ টায়
ঘD ম 4থেক উঠেবা না থাকেল ১০টা পযJ@ ঘD মােবা। এভােব যখন :িতটা িবষয় লিজকLাল ভােব
িচ@া করেবন আর 4চােখর সামেন 4ভেস ওঠা লিজকLাল 4কাড Tেলা 4দখেবন, আমার মেন
হয় না খD ব 4বিশ সময় লাগেব 4বাকা বাcেক লিজক 4শখােত।
লুপ এবং িরিপেটশনঃ আিম যখন :থম 4:াEািমং লLাংTেয়জ িশিখ তখন সব 4থেক
4বিশ সমসLার সুখীন হেয়িছলাম এই লুপ (Loop) বD ঝেত িগেয়। 4কােনা ভােবই এর
কনেসµ মাথায় ঢDকিছল না। এর িসনটLাc মেন রাখাটা খD ব 4বিশ কyন িকছD িছল না। 4কন
এবং 4কাথায় আিম লুপ বLবহার করেবা 4সটায় 4কােনা ভােব বD ঝেত পারিছলাম না। আসেল
আমরা অেনেকই মেন কির 4:াEািমং 4শখার অথJ হেY িসনটLাc 4শখা। িক~ না, িসনটLাc
আপিন মুখ) কেরও কাজ করেত পারেবন। কেয়কিদন 4কাড িলখেল সম) িসনটLাc
আপনার এমিনেতই মুখ) হেয় যােব। িক~ এই িসনটLাc 4কাথায় এবং 4কন বLবহার করেবন,
এই িসনটLাc আসেল 4কান সমসLার সমাধান িদেY এটা বD ঝেত পারাটাই 4:াEািমং। এটা
িশখেতই সব 4থেক 4বিশ সময় লােগ।
একই ধরেনর কাজ বার বার করার জনL বLবহার করা হয় লুপ, 4যমন ১-১০০ পযJ@ িKেন
ি:; করা, আপনার নামটা ১০০০ বার িKেন ি:; করা। যিদ লুপ িনেয় আপিনও :েম
4ফস কের থােকন, তাহেল বলেবা ঘাবেড় যাওয়ার িকছD 4নই, এটা ?াভািবক। অg িকছD :েম
সÃ করেলই লুপ একদম পািনর মত পিরºার হেয় যােব। সব 4:াEািমং লLাংTেয়েজই মূলত
িতন ধরেনর লুপ থােক - for loop, while loop এবং do while loop। তেব সব 4থেক 4বিশ
বLবPত হয় for এবং while লুপ।
27 courses.stackschool.co
ফাংশনেক যখন খD িশ তখন রান বা এিcিকউট করােত পাির। ফাংশন 4:াEািমং এর একটা
Tর`NপূণJ িবষয়। তাই ফাংশন এবং এর সােথ জিড়ত িবষয়Tেলা সVেকJ :থেমই একটা
ভাল ধারণা ]তির কের িনেত হেব।
অEােরঃ 4:াEািমং এ আমরা সব সময় ডাটা িনেয় কাজ কের থািক। তাই অেনক সময়
আমােদর একই রকম অসংখL ডাটা িনেয় কাজ করার দরকার হয়। এই একই রকম অসংখL
ডাটা একসােথ রাখার জনL আমােদর একটা 4ােরজ দরকার আর 4:াEািমং এ 4সই
4ােরজটা হেY অLাের (Array)। :িতটা 4:াEািমং লLাংTেয়েজ এই অLাের বা অLােরর মত
ডাটা Äাকচার রেয়েছ। এটা হেY সব 4থেক 4বিসক একটা ডাটা Äাকচার। 4ছােটাখােটা 4কােনা
সমসLাও সমাধান করেত 4গেল আমােদর অLাের দরকার পের। তাই _র`েতই অLাের এবং এর
অপােরশন Tেলা সVেকJ একটা ভােলা ধারণা থাকা খD ব 4বিশ জর`ির।
28 courses.stackschool.co
পেয়;ার বLবহার কের 4যেকােনা জায়গা 4থেক িকভােব একটা ভLািরেয়বেলর ভLালু পিরবতJ ন
করা যায় এই রকম অসংখL কাজ আেছ যা আমােদর িশখেত হেব।
Nাকচার এবং ইউিনয়নঃ যখন একই ধরেনর অেনক Tেলা ডাটা একসােথ রাখার
দরকার হয় তখন আমরা অLাের বLবহার কের থািক। িক~ যখন িভ½ িভ½ টাইেপর অেনক
ডাটা একসােথ রাখেত হয় তখন আমােদর দরকার হয় Äাকচার (Structure) বা ইউিনয়ন
(Union) এর। অেনক হাই 4লেভল লLাংTেয়জ এ যােক আমরা অবেজ
(Object) বেল
থািক, িস লLাংTেয়জ এ 4সই কাজটাই Äাকচার বা ইউিনয়ন বLবহার কের করা হয়। ওপেরর
অনLানL ফা³ােম;াল িফচার Tেলার মত এটাও খD বই Tর`NপূণJ একটা টিপc। কারণ
4:াEািমং লLাংTেয়েজ আমােদর সব সময় অসংখL িভ½ িভ½ ডাটা িনেয়ই কাজ করেত হয়।
ওপের বণত িবষয় Tেলাই হেY 4:াEািমং এর ফা³ােম;াল িবষয়। আপিন দুিনয়ার 4য 4কান
সমসLার সমাধান করেত পারেবন এই ফা³ােম;াল িবষয় Tেলা বLবহার কের। তাহেল এত
অLাডভাSড িফচার Tেলা 4কন এেসেছ? এেসেছ আপনার ক কমােনার জনL। যিদ আপিন
_ধD ফা³ােম;াল িবষয় Tেলা বLবহার কের সব রকম সমসLার সমাধান করেত চান, 4সই
41েX একটা সমসLা িনেয় ভাবেত, তার সমাধান 4বর করেত এবং 4সটােক 4কােড র®পা@র
করেত অেনক 4বিশ সময় লাগেব। িক~ আপিন যিদ 4কবল 4:াEািমং লLাংTেয়জ 4শখা _র`
কেরন তাহেল আপনার একমাX কাজই হেব 4:াEািমং এর ফা³ােম;াল িবষয় Tেলােক
আয় করা। উেটািরয়াল 4দেখ এই িবষয় Tেলা িশখেত খD ব একটা সময় লাগেব না।
29 courses.stackschool.co
সময় লাগেব এর বLবহার বD ঝেত। আর 4:াEািমং লLাংTেয়জ, 4:াEািমং ফা³ােম;ালস
িশখেত বলা হেY এর অথJ 4কােনা ভােবই িসনটLাc িশখেত বলা হেY না, বলা হেY
এTেলার বLবহার করা িশখেত। আপিন _ধD মাX তখনই :িতটা িবষেয়র বLবহার ভােলাভােব
জানেবন, বD ঝেবন যখন আপিন :িতটা িফচার, :িতটা টিপc :চDর পিরমােণ বLবহার
করেবন।
- Switch Statement
- Arguments and Parameter
- For Loop
- Return Value
- Array Traversing
- Pointer Operations
- String Declaration
- Memory Allocations
30 courses.stackschool.co
4কন আিম মেন কির িস :থম লLাংTেয়জ হওয়া উিচত?
31 courses.stackschool.co
4কন আিম মেন কির িস :থম লLাংTেয়জ হওয়া উিচত?
এটা 4কােনা িসে¡ল ডাটা টাইপ না, এটা একটা কLাের
ার অLাের। িস 4:াEািমং
লLাংTেয়েজ Åং িনেয় কাজ করা তDলনা মূলক অেনক কyন। তেব এটা
আমােদর িশ1ােক পিরপূণJতা 4দই। যখন আমরা বাফার (Buffer) বা Åম
(Stream) িনেয় কাজ কির তখন িস লLাংTেয়েজ 4শখা এই 4টকিনক Tেলা
অেনক কােজ লােগ।
- হাই 4লেভল লLাংTেয়জ Tেলােত যখন আমরা কাজ কির, খD ব কম সময়
আমােদর কLাের
ার ইনেকািডং (Character Encoding) িনেয় জানেত হয়। িক~
িস লLাংTেয়েজ Åং বা কLাের
ার িনেয় কাজ করেত হেল আমােদর :থম
4থেকই কLাের
ার ইনেকািডং সVেকJ ধারণা রাখেত হয়।
- িস 4:াEািমং লLাংTেয়জ খD বই 4ছা একটা লLাংTেয়জ। খD বই 4ছা এর Lা³াডJ
লাইেরী (Stabdard Library)। তাই 4বিশর ভাগ :েম এর সমাধান করেত হয়
অg কেয়কটা টDলস বLবহার কের িনেজর বD ি^মােক কােজ লািগেয়। যার ফেল
:েম সিÃং এর |ানটা এেকবাের সমৃ^ হেয় যায়।
িবঃ<ঃ িবিগনার িহেসেব কখেনাই 4কাড করার জনL 4কােনা IDE (Integrated
Development Environment) 4বেছ 4নওয়া উিচত নয়। তাহেল একটা িসেম িকভােব
কাজ কের তার 4বিশর ভাগ িবষয়ই আপনার অজানা 4থেক যােব। আপিন 4যেকােনা
জনি:য় 4কাড এিডটর বLবহার কের _র` করেত পােরন।
Code
VSCode Sublime CLion Eclipse
Blocks
32 courses.stackschool.co
িস 4:াEািমং 4শখার 4রফােরেSস
িস +QাRািমং এর বই সমূহঃ
- হাবলুেদর জনL 4:াEািমং (ঝংকার মাহবD ব)
- কিVউটার 4:াEািমং (তািমম শাহিরয়ার সুিবন)
- Beginning C by Ivor Horton (Appress)
- C: How to Program By Deitel, Deitel
- Programming in ANSI C By Balagurusamy
- The C Programming Language By Dennis Ritchie
িস +QাRািমং ওেয়বসাইটঃ
- Geeks For Geeks
- C Programming
- Programmiz
- Learn-C
33 courses.stackschool.co
4বিশরভাগ িবিগনারেদর 41েX সব 4থেক বড় সমসLা হেY, :েম 4কাথায় পাব?
:েম না 4পেল সÃ করেবা িক? আর সÃ না করেল বLাপার Tেলা পিরºার হেব িকভােব?
আর বLাপার Tেলা পিরºার না থাকেল সমসLারই বা সমাধান করেবা িকভােব?
িবষয়টা একটD কনিফউিসং। 4:াEািমং _র` করার পের এই একটা ধােপই আপিন সব 4থেক
4বিশ কনিফউসড হেবন, সব 4থেক 4বিশ হতাশ হেবন। িক~ এই ধাপটা 4কানভােব পার
করেত পারেলই আপিন এই জগেত িনেজর নাম 4লখােনার জনL :,ত হেয় যােবন। এই
সমসLার সমাধান করেত হেব িনেজর বD ি^মােক কােজ লািগেয়। ঘার পর ঘার, িদেনর
পর িদন 4ছা এই 4:াEািমং ি¨ল িদেয় 4ছাট 4বলায় মুখ) কের আসা মLাথেমc এর |ান
কােজ লািগেয়ই আমােদর :েম সÃ কের 4যেত হেব।
:েম সিÃং এর কথা আসেল মানুষ দুই দেল িবভ হেয় যায়। একদল সরাসির দািব কের
:েম সিÃং এর 4কান দরকার 4নই, আর একদল এর দািব :েম সিÃং ছাড়া 4কান ভােবই
সব নয়। আসেল আমার মেন হয়, এখােন আমােদর একটD 4বাঝার ভDল হেY। আপিন
4:াEািমং করেছন মােন সারা জীবন আপনােক :েম সÃই কের 4যেত হেব। 4সটা হেত পাের
আমােদর বা)ব জীবেনর 4কান :েম, আবার হেত পাের িবিভ½ অনলাইন জােজ িলিপব^
করা 4কান :েম। িক~ :েম আপনােক সÃ করেতই হেব। আিম মেন কির অ@ত পে1
৫০০ :েম অনলাইন জােজ সÃ করা উিচত। এেত কের আপনার 4:াEািমং ফা³ােম;ালস
এর যত কনেসµ আেছ, সব এেকবাের পািনর মত পিরºার হেয় যােব। আর একটা িবষয়ও
মাথায় রাখেবন। 4সটা হেY অনলাইন জােজ :েম সÃ করেছন মােনই আপনােক
কিVভ 4:াEািমং করেত হেব না। যিদ আপনার কিVভ 4:াEািমং ভাল লােগ
তাহেল তার জনL :,িত িনেত পােরন, আর না হেল িনেজর 4বসেক মজবD ত করার জনL
অনলাইন জােজ 4দওয়া :েম Tেলা সমাধান কর`ন।
কিVভ 4:াEািমং মােন হল 4:াEািমং লLাংTেয়জ বLবহার কের :েম সÃ করার একটা
কিVশন। আর এর একটা ভােলা িদক হেY, অেনক িদন যাবত একটা লLাংTেয়জ িনেয়
কাজ করার ফেল 4সই লLাংTেয়জ সVেকJ , 4:াEািমং এর ফা³ােম;ালস সVেকJ খD ব ভােলা
একটা |ান অজJন হেয় যায়। কারণ অেনকটা সময় সব রকম :েম সমাধান করেত হয়
একটা িনদ লLাংTেয়জ বLবহার কের। যার ফেল কমJ জীবেন 4য 4কােনা লLাংTেয়জ িনেয়
কাজ করেত অথবা :েয়াজন হেলই নতDন লLাংTেয়েজ িশফট করেত অেনক সহজ হয়।
34 courses.stackschool.co
এর আর একটা ভােলা িদক হেY, আপনার সুjর একটা মানুিষকতা ]তির হেব। যারা কখেনা
:েম সিÃং কেরন িন, তারা 4খয়াল করেলই 4দখেবন, 4ডেভলপেমে; যখন আপিন একটা
সমসLার সুখীন হন তখন অেনক ভয় লােগ। একটD ঘাবেড় যান। সাচJ কের এর সমাধান
4খxাজার 4চা কেরন। থাডJ পাJ সলুLশন, লাইেরী খD ঁেজ 4বর করেত বL) হেয় পেরন। যিদ
থাডJ পাJ 4কােনা সমাধান না পাওয়া যায় তখন খD ব 4বিশ }ােÄড লােগ। একজন
কিVভ 4:াEামােরর 4যেকােনা সময়, 4যেকােনা :েম সমাধােনর 4চা করার একটা
মানুিষকতা আেগ 4থেকই ]তির হেয় যায়। কারণ তারা জীবেনর অেনকTেলা বছর ঘD মােত
4যত সমসLা িনেয়, আর ঘD ম 4থেক উঠত সমাধান িনেয়। তাই 4কােনা :েম তার কােছ :েম
না। থাডJ পাJ সমাধান থাকDক আর না থাকDক, :েয়াজন 4বােধ অLালেগািরদম 4ডেভলপ
কের হেলও একটা সমসLার সমাধান করার মানুিষকতা রােখ একজন :েম সÃার। :েম
সিÃং করেত করেত এই অLাউডটা তােদর িভতের কখন 4য ইনেহিরট হেয় যায় তারা
িনেজরাও জােন না। একটা সমসLােক সমাধান করার সব 4থেক সহজ এবং কনÄাকভ
ওেয়টা খD ঁেজ 4বর করেত তারা ও)াদ হেয় যায়।
আমরা অেনেকই মেন কির সমসLার সমাধান হওয়াটাই সব িকছD। যখন একটা সমসLার
4কােনা সমাধান 4নই, তখন মূখL িবষয় এর সমাধান 4বর করা। িক~ যখন সমাধান হেয়
4গেছ, তখন মূখL িবষয় এই 4কাডটার পাফJ রেমS অÇমাইজ করা। 4কােডর 4সৗjযJ অেনক
বড় একটা িবষয়। আপনার ভLািরেয়বল িড£ােরশন 4দেখও একজন দ1 4:াEামার বেল
িদেত পারেবন 4য 4:াEািমং এ আপিন কত িদন আেছন, আপনার দ1তা 4কমন? 4কােডর
4সৗjযJ বলেত আসেল আপিন িকভােব 4কাড িলখেছন, ফেমJট করেছন বা ভLািরেয়বল
িডে£য়ার করেছন _ধD এটাই 4বাঝায় না। আপিন 4কাথায় ফাংশন বLবহার করেছন, 4কাথায়
এc±া অLাের বLবহার না কের ডাটা াকচার এবং অLালেগািরদম এর |ান কােজ লািগেয়
এক অLাের বLবহার কেরই কাজ সV½ করেছন, িকভােব আপনার 4কােডর পাফJ েমJS বি^
করেছন এTেলাও িবেবচL িবষয়। আর 4কােডর 4সৗjযJ বজায় 4রেখ 4কাড তখনই করা সব
যখন আপনার হাজার হাজার ঘা 4কাড 4লখার এcেপিরেয়S থাকেব। আর এখােনই
দরকার হয় অনলাইন জােজর।
4য 4কােনা অনলাইন জােজ হাজার হাজার :েম িলªং করা থােক, দ1তার ওপের িভি
কের কLাটাগরাইজ করা থােক। অনলাইন জােজর একটা বড় সুিবধা হেY এখােন একটা
:েম এর _ধD সমাধান করেলই হয় না। 4কাডটা অÇমাইজড িকনা, িনদ সমেয়র িভতের,
িনদ 4মেমাির 4রে এিcিকউট হয় িক না, 4কােডর 4:েসে;শন yক আেছ িকনা, হাজার
35 courses.stackschool.co
হাজার িভ½ িভ½ ইনপুেটর জনL 4কাড কাজ কের িকনা সব িকছDই িবেবচনায় আনা হয়।
তাই একটা :েম সমাধান করেত অ@তপে1 দশটা িভ½ িভ½ ওেয়েত আপনােক িচ@া করা
িশখেত হয়। তারপেরও অেনক সময় 4কাডটা িরেজকশেনর ঝDিলেতই sান পায়।
আপনার 4কাড যিদ অনলাইন জাজ িরেজ
কের 4দয়, 4মােটও ভয় পােবন না। :েম সিÃং
এর জগেত এটা খD বই কমন একটা বLাপার। আিম যখন :েম সিÃং করতাম তখন _র`র
িদেক সাধারণ 4যাগ িবেয়ােগর সমাধানও ১৫-২০ বার কের িরেজ
4পতাম। খD বই িবর
লাগেতা তখন। িনেজর চDল Èছড়েত মন চাইেতা। হাজার খD ঁেজও আিম 4কােনা ভDল পািY না,
অথচ 4কাড একেসেµড হেY না। সব 4শষ 4দখা 4যত আউটপুেটর 4শেষ একটা ইনিভিসবল
4স আেছ। যার কারেণ 4:েসে;শন ইেরার হেY। এই রকম অসংখL ইেরার আপিন পােবন।
তেব ইেরার 4দেখ ভয় পাওয়া যােব না। ইেরার হেY আপনার বqD, 4য আপনােক সব রকম ভDল
4থেক বঁাচােব। 4ছােটাখােটা 4কােনা ভDল হওয়ার আেগই 4স আপনােক 4মেসজ িদেয় বলেব এটা
yক হয়িন, তাড়াতািড় yক কেরা। আমােদর জীবেনও এইরকম একজন বqD দরকার 4য
আমােদর সম) ভDল Tেলা ধিরেয় সyক কাজটা কিরেয় িনেত পাের। তাই আজেক 4থেক
ইেরারেক ভয় না 4পেয় ইেরােরর সােথ বqDN কের 4নেবন।
:েম 4য _ধD অনলাইন জােজই 4দওয়া থােক এমনটা না। আপিন 4য 4কােনা জায়গা 4থেক
:েম িনেয় সমাধান করেত পােরন। আিম :থম িদেক জানতামই না 4য অনলাইন এ
এইরকম সাভস আেছ 4যখােন :চDর :েম আেগ 4থেকই 4দওয়া থােক। আিম 4যটা করতাম
িবিভ½ সফটওয়Lােরর 4ছাট 4ছাট ফাংশনািলস খD ঁেজ 4বর করতাম এবং 4সTেলােক িনেজর
মত কের ]তির করার 4চা করতাম। কাজ িক~ একই, আপনােক 4:াEািমং লLাংTেয়জ
বLবহার কের বা)ব জীবেনর সমসLা Tেলারই 4তা সমাধান খD ঁেজ 4বর করেত হেব, তাই না?
তেব অনলাইন জােজর একটা বড় সুিবধা হেY আপনার ি¨ল অনুযায়ী :েম এর কLাটাগির
]তির করা থােক, যার ফেল :েম খD ঁেজ 4পেত এবং একই টাইেপর অেনক Tেলা :েম
একসােথ সÃ করেত সহজ হয়।
4:াEািমং এর ফা³ােম;াল কনেসµ Tেলা 4মাটােমা ভােব আয় করার পেরই আপিন 4য
4কােনা একটা অনলাইন জােজ :েম সিÃং _র` করেত পােরন। Tগেল সাচJ করেলই
অসংখL অনলাইন জাজ 4পেয় যােবন। এখােন :েম সিÃং এর 4কান িলিমট 4নই, যখন
আপিন মেন করেবন 4য, 4:াEািমং লLাংTেয়জ বLবহার কের সব রকম 4কাডই করেত পারেছন,
36 courses.stackschool.co
কখন 4কান িফচারটা বLবহার করেবন 4সটা ভাবেত হেY না, িনেজ 4থেকই বD েঝ যােYন তখন
আপিন পরবতী ধােপ পদাপJণ করেত পােরন।
Code
Code
Hacker
URI UVA SPOJ
Forces Chef Rank
আমােদর 4দেশর সফটওয়Lার ই³াÅ খD বই 4ছাট। তাই এখােন :েম সিÃং এর দ1তার
4থেক 4ডেভলপেম;েক 4বিশ Tর`N 4দওয়া হয়। 4ক কয়টা অLালেগািরদেমর বLবহার জােন
তার 4থেক 4বিশ কয়টা 4}মওয়াকJ জােন 4সই িবষেয় 4বিশ Tর`N 4দওয়া হয়। িক~ আজেক
যিদ আমরা অLাালেগািরদিম ]তির না কের _ধD 4}মওয়াকJ জানা 4ডেভলপার ]তির করেত
থািক, কালেক আমােদর এই 4ছা সফটওয়Lার ই³াÅটাও থাকেব না। 4যখােন Tগল,
4ফসবD েকর মত 4কাVািনরা :িত বছর কিVভ 4:াEািমং এর আেয়াজন কের সারা িবÉ
4থেক বাছাই কের বড় বড় :েম সÃারেক তােদর দেল যD করেছ, 4সখােন আমরা :েম
সিÃং এর |ানেক পাায় িদিY না। যা আমােদর 4দেশ সফটওয়Lার ই³াÅ গেড় ওঠার সম)
সবনােক ধÁ িলসাৎ কের িদেY, সম) রা)া বq কের িদেY। এর ফল 4ভাগ করেত হেব
আমােদর ভিবষLৎ :জেক।
িবঃ<ঃ :েম সিÃং করার পূেবJ £াস ৬-১০ পযJ@ গিণত বইেয়র িবষয়ব, একবার
ঝালাই কের িনেবন।
37 courses.stackschool.co
এত িদন আমরা কিVউটােরর সােথ বqDN করার জনL, তার সােথ কথা বলার জনL,
তােক িদেয় িনেজর কাজ কিরেয় 4নওয়ার জনL অেনক পিরম কেরিছ, তার ভাষা িশেখিছ।
এখন আমরা তােক কমা³ িদেয় মLাথেমেcর 4হাম ওয়াকJ Tেলা কিরেয় িনেত পারব। িক~
সমসLা হেY বড় বড় :েম আসেল আমরা িনেজরাই িবপােক পের যািY। কিVউটার িক
কাজ করেব, তার 4থেক 4তা 4বিশ কাজ আমােদরই করেত হেY। এই সমসLার সমাধান করেত
চাইেল আমােদর হাই 4লেভেলর ভাষা িশখেত হেব। সােথ সােথ িকছD হাই 4লেভেলর কমা³ও
িশেখ িনেত হেব। 4যন আমরা আমােদর 4বাকা বাcটােক িদেয় সেবJা¿ কাজ কিরেয় িনেত
পাির এবং আমােদরও কম ক করেত হয়।
নতDন ভাষা 4শখার কথা _নেলই মেনর 4কােনা এক জায়গা 4থেক ভয় উিx ক িদেয় বেল, 4কােনা
ভােব 4তা একটা লLাংTেয়েজর িকছDটা িশেখিছ, আবার নতDন একটা িশখেত হেব? আমার
ারা হেব না। িবÉাস কেরন, আপনার ারাই হেব। আপিন যিদ 4:াEািমং এর ফা³ােম;াল
িবষয় Tেলা ভাল কের আয় কের থােকন, তাহেল নতDন লLাংTেয়জ 4শখা আপনার জনL
একদম কyন িকছD হেব না। ফা³ােম;ালস Tেলা সব লLাংTেয়েজই একই।
আমােদর বা)ব জীবেনর সমসLা Tেলা 4:াEািমং লLাংTেয়জ বLবহার কের সমাধান করার
িবিভ½ রকেমর 4টকিনক আেছ, িবিভ½ রকেমর 4:াEািমং িথওির আেছ। এTেলােক বলা হয়
Programming Paradigm. এত িদন আমরা 4যই 4:াEািমং িশখলাম 4সটা হেY
Procedural Paradigm, যার মােন হেY ওপর 4থেক িনচ পযJ@ যা 4কাড আেছ সব লাইন
বাই লাইন এিcিকউট হেত থাকেব। :থেম _নেত খD ব ভালই লােগ 4য তাই 4তা, 4কাড যা
িলখব তা লাইন বাই লাইন এিcিকউট হেব, এটাই 4তা সহজ। িক~ যখন আপিন বড় বড়
:েজ
করেবন তখন 4দখেবন 4য এই ভােব 4কাড মLােনজ করা খD ব কসাধL হেয় যােY।
আমার আপনার আেগই বড় বড় 4:াEামাররা এই রকম সমসLার সুখীন হেয়িছেলন। তাই
তারা নতDন ধরেনর একটা 4:াEািমং 4টকিনক, নতDন Programing Paradigm এর জ
িদেলন। যার নাম অবেজ
অিরেয়ে;ড 4:াEািমং (Object Oriented Programming)।
এটা _নেত খD ব ভয়ংকর মেন হেলও বা)েব কyন িকছD না। পৃিথবীেত :চDর অবেজ
অিরেয়ে;ড 4:াEািমং লLাংTেয়জ আেছ, িক~ সব জায়গােতই অবেজ
অিরেয়ে;েডর মূল
িথওির একই। আর এবার আমােদর অবেজ
অিরেয়ে;ড 4:াEািমং িশখেত হেব।
38 courses.stackschool.co
Programming Paradigm সVেকJ িকছD কথা
িব)ািরত জানুন
C
Java
JS
Object
Procedural Functional
Oriented
39 courses.stackschool.co
আপিন 4য 4কােনা একটা লLাংTেয়জ যা িকনা অবেজ
অিরেয়ে;ড (Object Oriented)
সােপাটJ কের, 4বেছ িনেত পােরন আপনার অবেজ
অিরেয়ে;ড হািতয়ার িহেসেব। তেব আিম
4বেছ িনব জাভা। এর িপছেন দুই কারণ আেছ। :থম কারণ হেY এ জগতভােবই
অবেজ
অিরেয়ে;ড। মােন এখােন একলাইন 4কাডও যিদ আপিন িলখেত চান, আপনােক
অবেজ
অিরেয়ে;েডর িথওির 4মেনই িলখেতই হেব। আর িতীয় কারণ হল, আিম জাভােক
খD ব ভালবািস। আমার রের অণুেত অণুেত জাভার িসনটLাc িমেশ আেছ। এ;ার:াইজ
অLািেকশেনর দুিনয়ােত এখেনা জাভারই রাজN চেল। তাই আিম মেন কির, িস 4শখার পের
জাভােত হাত 4দওয়াটাই বD ি^মােনর কাজ। আর আপিন যিদ িস++, িস শাপJ বা পাইথন
িশখেত চান তাহেলও 4কান সমসLা 4নই। তেব 4ডেভলপার িহেসেব িনেজর িভি sাপন করার
জনL জাভা এর 4থেক ভােলা লLাংTেয়জ আেছ বেল আমার মেন হয় না। যখন আর 4কােনা
কােজ জাভা বLবPত হেব না, তখনও িনেজর 4বস ]তিরর অT িহেসেব বLবহার করা হেব এই
জগৎিবখLাত লLাংTেয়জেক। যিদ আপনার জাভা সVেকJ নূনLতম একটা |ান না থােক,
তাহেল দুিনয়ার 4Ê বই Tেলা পড়ার মজা 4থেক আপিন বি¹ত হেবন।
জাভা _র` করার পূেবJই জাভা সVেকJ 4বিসক িকছD তথL অনলাইন 4ঘঁেট 4জেন 4নওয়াটা
বD ি^মােনর কাজ হেব, তারপের এর জনL এনভাইরেম; 4সটআপ করাটা িশখেত হেব। এর
পের িকছDিদন 4:াEািমং ফা³ােম;ালস Tেলাই অনুশীলন করেত হেব, িক~ এবার 4কাড
Tেলা িলখেবন জাভা বLবহার কের। 4যেহতD িস জাভা 4:াEািমং এর ও মা, তাই িসনটLাcগত
খD ব একটা পিরবতJ ন আপিন ল1L করেবন না। পিরবতJ ন আসেব ডাটা টাইপেস,
অপােরটরসএ, ফাংশন 4ডিফিনশেন। এই 4ছাট 4ছাট পিরবতJ ন Tেলা আপনােক খD ব 4বিশ
সমসLায় 4ফলেব না, অg একটD ঘঁাটাঘঁা করেলই িস এর মত জাভােতও আপিন
কিVউটােরর সােথ কথা বলেত পারেবন।
যখন মেন হেব আপিন জাভােত 4কাড িলখেত পারেছন, পূেবJর িস বLবহার কের সÃ করা
:েম Tেলা জাভােতও সÃ করেত পারেছন, তখন একটD সামেন আগােত হেব। 4যই উে{LেশL
জাভা 4:াEািমং িশখেত চাওয়া এবার 4সই পেথ হঁ াটা _র` করেত হেব। মােন অবেজ
অিরেয়ে;ড 4:াEািমং 4শখা _র` করেত হেব। যিদও জাভােত :থম িদন 4থেকই অবেজ
অিরেয়ে;ড ওেয়েতই 4কাড করেত হয়, তারপরও এবার আপিন সিতLকার অেথJই অবেজ
অিরেয়ে;ড 4শখা _র` করেবন।
40 courses.stackschool.co
অবেজYঃ সবার :থেম আপনােক জানেত হেব অবেজ
কােক বেল, িকভােব একটা
অবেজ
খD ঁেজ 4বর করেত হয়? 4য 4কান িকছD 4থেক অবেজ
খD ঁেজ 4বর করেত পারেলই ধের
িনেবন, অবেজ
অিরেয়ে;ড 4:াEািমং এর ৫০% আপনার 4বাঝা হেয় 4গেছ। আিম যখন
:থম অবেজ
অিরেয়ে;ড 4:াEািমং 4শখা _র` কির তখন 4কানভােবই অবেজ
খD ঁেজ
4পতাম না। যার ফেল পুেরা কনেসµটাও সyক ভােব বD ঝেত পারতাম না। সহজ কথায় যিদ
বিল, 4য 4কান িকছD যােক সyক ভােব বণJনা করার জনL একািধক িবষয় দরকার হয় 4সটাই
অবেজ
। 4যমন, মানুষ। আপিন _ধD মানুষ বলেল আমরা সyক 4কান ইনফরেমশন পাব
না। আপনােক বলেত হেব, মানুেষর নাম িক, তার বাবার নাম িক, তার yকানা িক, তার
উ¿তা কত, গােয়র রং িক আরও কত িকছD। এত এত িবষয় যখন আপিন বলেবন yক
তখনই আমরা বD ঝেত পারেবা 4য আপিন আসেল 4কান মানুষটার কথা বলেছন। তাহেল
এখােন একটা মানুষেক সyক ভােব বণJনা করেত আমােদর কত Tেলা িবষয় তDেল আনেত
হল? একারেণই মানুষ একটা অবেজ
। এবার আপিন আপনার চারপােশ একটD খD ঁেজ 4দেখন
4তা আর িক িক অবেজ
পান? অসংখL অবেজ
পােবন, আসেল আমরা অবেজ
ারাই
িঘের আিছ।
Zাসঃ অবেজ
হেY একধরেনর ডাটা Äাকচার, 4যখােন আমরা একটা িনদ ব,র
অেনক রকম ডাটা একসােথ 4ার কের রািখ। আমােদর এই অবেজ
]তির করার জনL
একটা `ি:; দরকার, 4যই `ি:; 4দেখ আমরা হাজার হাজার অবেজ
]তির করেত পাির।
আর এই `ি:;ই হেY £াস। একটা £ােসর িভতের একবার আমােদরেক বেল িদেত হেব 4য
অবেজ
টা 4দখেত 4কমন হেব, তারপর হাজার বার আমরা এই £াস বLবহার কের নতDন নতDন
অবেজ
]তির করেত পারব। এখােন :িতটা অবেজ
িক~ একই ডাটা ধের রাখেব না, সবাই
িভ½ িভ½ ডাটা ধের রাখেব যিদও সব Tেলা অবেজ
ই ]তির হেয়েছ একটা মাX £াস 4থেক।
ইনেহিরেট[ঃ £াস এবং অবেজ
4মাটােমা আয় করার পেরই চেল আসেব
ইনেহিরেটS, যার মােন হল অেনLর ]বিশL িনেজর িভতের ধারণ করা। অবেজ
অিরেয়ে;ড
4:াEািমং এর একটা মূল ল1L হল 4কাড ডDিেকশন না করা। আর 4কাড ডDিেকশন
এড়ােনার জনLই ইনেহিরেটেSর আিবভJ াব, 4যখােন অেনLর কােছ 4থেক ধার িনেয় চলেব
4সখােন নতDন কের 4কাড 4লখার 4কান দরকারই 4নই। এই িথওিরটা DRY নােম পিরিচত যার
মােন হেY Do Not Repeat Yourself. 4কােডর 4সৗjযJ এবং র1ণােব1ণ িনিত করেত
আমােদর যতটা সব 4কাড ডDপিলেকশন এিড়েয় চলেত হেব।
41 courses.stackschool.co
পিলমরিফসমঃ এর অথJ হল বর®পী। অবেজ
অিরেয়ে;ড 4:াEািমংএ একটা
অবেজ
, একটা 4মথড বা একটা ভLািরেয়বলও বর®পী আচরণ করেত পাের। এই বর®পী
আচরেণর মূল কারণও িক~ 4কাড ডDিেকশন এড়ােনা। এখােন একই নােমর িভ½ িভ½ 4মথড
থাকেত পাের। :েয়াজেনর ওপের িভি কের একই 4মথড িভ½ িভ½ আচরণ করেত পাের।
অবেজে
র ওপের, আTJ েম; এর ওপের িনভJ র করেব কখন 4কান 4মথড এিcিকউট হেব।
যার ফেল অেনক লিজকLাল অপােরশন আমােদর িনেজ 4থেক করার :েয়াজন হয় না।
+নাটঃ যখন একটা ফাংশন 4কােনা একটা £ােসর িভতের িডফাইন করা হয় অথবা যখন
একটা অবেজ
এর অংশ হয় তখন 4সই ফাংশনেক 4মথড বলা হয়।
আসেল অবেজ
অিরেয়ে;ড খD ব বড় সড় 4কান িথওির না। 4ছাট িথওির হেলও এটার
বLবহার বD ঝেত এবং :েম অনুযায়ী সyকভােব এর িথওির অLাাই করা িশখেত িকছDটা
সময় 4লেগ যায়। এর জনL িবিভ½ মLােনজেম; িসেম টাইেপর 4ছাট 4ছাট :েজ
করা 4যেত
পাের। সােথ িডজাইন পLাটানJ Tেলা সVেকJ ও ধারণা 4নওয়া 4যেত পাের। তেব আপিন যিদ
4কবল মাX অবেজ
অিরেয়ে;ড সVেকJ ধারণা লাভ কেরন তাহেল আিম বলেবা িডজাইন
পLাটােনJ আরও কেয়কিদন পেরই হাত িদন।
42 courses.stackschool.co
অবেজ
অিরেয়ে;ড বােদও জাভার িক~ একটা িবশাল লাইেরী রেয়েছ। 4যখােন
:চDর পLােকজ এবং £াস রেয়েছ, :িতিনয়ত আমরা 4যধরেনর সমসLার সুখীন হয়, তার
:ায় সম) সমসLারই সমাধান আেগ 4থেকই রেয়েছ। যিদ 4কউ মেন কের 4য আিম :িতিদন
একটা কের িবউËইন £াস 4শষ করেবা তাহেল তার ৩৬০০+ িদন লাগেব। আসেল জাভার
সব Tেলা £াস 4শখার আপনার দরকারই 4নই, যখন 4যটা দরকার হেব িশেখ 4নওয়া যােব।
_ধD আপনােক িশখেত হেব, িকভােব আপিন জাভার অিফিশয়াল ডকDেমে;শনটা ফেলা
করেবন। একবার ডকDেমে;শনটা বD ঝেত পারেল যখন 4যই পLােকজ বা £াসই আপনার
দরকার 4হাক না 4কন আপিন অনায়ােস 4সটা বLবহার করেত পারেবন।
আমার মেন হয় অ@ত পে1 একবছর _ধD 4কার জাভা এবং এর িবউËইন লাইেরী িনেয়ই
ঘঁাটাঘঁা করা উিচত। অেনক িবিগনার অg কেয়কিদন জাভা অনুশীলন কেরই
4ডেভলপেমে; জাV কের, এবং পের :েম 4ফস করেল আর সমাধান করেত পাের না।
জাভা খD বই বহৎ একটা 4:াEািমং লLাংTেয়জ, এখােন 4শখার মেতা অেনক িকছD আেছ।
আপিন এটা ধের িনেতই পােরন 4য, জাভা সyকভােব িশখেত 4পেরেছন মােন আপনার
ভিবষLৎ উJল। আপিন ভিবষLেত জাভা বLবহার করেবন িক করেবন না এটা Tর`NপূণJ না।
িক~ জাভা আপনার 4যই িভি গেড় িদেব, তার কােছ আপিন সারা জীবন কত| থাকেত
বাধL থাকেবন। আিম আমার লাইেফ চার বছর জাভা িনেয় িছলাম। এখন জাভা িনেয়
সরাসির 4কােনা কাজ কিরনা। িক~ জাভার :িত আমার কত|তা সারা জীবন থাকেব।
4:াEািমং এর কনেসµ আিম িশিখ জাভা এর কােছই এবং জাভা আমার :থম
4:াEািমং লLাংTেয়জ িছল। জাভা িদেয় আপিন আপনার 4:াEািমং কLািরয়ার _র`
করেতই পােরন। িক~ 4সই 41েX িকছD িবষয় অজানা 4থেক যাওয়ার সাবনা 4থেকই
যায় 4যেহতD জাভা এক হাই 4লেভল লLাংTেয়জ। জাভা িদেয় _র` করেলও খD ব
4বিশ িবপেদ আপনােক পড়েত হেব না।
তেব আমার সােজশন থাকেব যিদ সব হয় তাহেল িস 4:াEািমং লLাংTেয়জ িদেয়ই
_র` করেবন। এেত :িতটা িবষয় বD ঝেত জাভার 4থেক অেনক 4বিশ সহজ হেব।
43 courses.stackschool.co
4কন জাভা 4শখা উিচত
আপিন যিদ Tগেল ‘Why Should We Learn Java’ িলেখ সাচJ কেরন তাহেল
হাজার হাজার আJেকল এবং িভিডও 4দখেত পারেবন। তারা যা বলেব তার
4বিশর ভাগই সyক তথL। জাভা 4কন িশখেবা এই :ের উেরর 4কােনা অভাব
4নই। তেব জাভা 4কন িশখেবা না এই :ের উর যিদ খD ঁেজ পান তাহেল আপনার
4নােবল পাওয়ারও সবনা আেছ। আিম এখােন আমার িনজ? মতামত Tেলাই
4দওয়ার 4চা করেবা। তেব িকছD িকছD 4তা অনলাইন এর সােথ িমেলই যােব।
- হাই পাফJ রিমং অবেজ
অিরেয়ে;ড 4:াEািমং লLাংTেয়জ Tেলার িভতের িস++
এর পেরই জাভার অবsান। িস++ এর লানং কমেিc 4বিশ হওয়ায়
এ;ার:াইস অLাপিলেকশেনর একরকম Lা³াডJ হেয় িগেয়েছ জাভা। জাভা
বLবPত হয় না এমন 4কােনা 41X খD ঁেজ পাওয়াই মুশিকল। আপনার ঘেরর
বLবPত গLােজট 4থেক _র` কের :িতিদন বLবহার করা ইউউব 4নটিÆেcর
বLােকে³ও বLবPত হেY জাভা।
- বতJ মােন জাভার পপুলাির হািরেয় যােY বেল একটা হাইপ ]তির হেলও বছেরর
পর বছর শীেষJ অবsান করা এই লLাংTেয়জ এখেনা িবেÉর 4সরা িতন
4:াEািমং লLাংTেয়েজর একটা। কিVউটার সাইেSর অনLতম িভি হেY এই
লLাংTেয়জ। কিVউটার সাইS, সফটওয়Lার আকেটকচার, এ;ার:াইস
অLাপিলেকশেনর ওপের সারা িবেÉ যত নাম করা বই আেছ, তার 4বিশর ভাগই
4লখা হেয়েছ জাভার ওপের িভি কের। অ@তপে1 এই বই Tেলার ?াদ
উপেভাগ করার জনL হেলও, বই Tেলার িনজJাস 4পেত হেলও আপনােক জাভা
জানেত হেব।
44 courses.stackschool.co
4কন জাভা 4শখা উিচত
45 courses.stackschool.co
জাভা 4:াEািমং এ যা যা িশখেত হেব
- Polymorphism
- System IO
- Access Modifier
- Date Classes
Step 5 - Collection Framework
- Calendar Classes
- Generics in Java
- Understanding Exception
- Dequeue
- Builtin Exceptions
- Map, HashMap & TreeMap
- Java Swing
- Understanding Thread
Step 9 - Synchronisation
- Multiple Tasks
- Synchronised Block
- Garbage Collection
- Inter-Thread Communication
- Runtime Class
- Deadlock and Interrupting Thread
And Related lot of Topics…
46 courses.stackschool.co
জাভা 4:াEািমং 4শখার 4রফােরেSস
47 courses.stackschool.co
জনি:য় িকছD 4কাড এিডটর এবং IDE
Intellij Netbeans
VSCode Sublime Eclipse
Idea
Java SE: যখন আমরা জাভা সVেকJ _েন থািক তখন আমরা জাভার এই
এিডশন সVেকJ ই িচ@া কির। Java SE এর পূণJর®প হেY Java Standard
Edition. :থেম আপনােক এই এিডশনটাই িশখেত হেব। কারণ জাভা বলেত যা
4বাঝায় তা হেY জাভার Lা³াডJ এিডশন। অLােÌাইড অLাপিলেকশন ]তিরেত
জাভার এই ভাশJনই বLবহার করা হয়। আপিন 4য 4কােনা কাজই এই জাভার Lা³াডJ
এিডশন বLবহার কের করেত পারেবন।
িবঃ<ঃ জাভা া³াডJ এিডশন ভােলাভােব আয় করার পূেবJ ভDল কেরও এ;ার:াইস
এিডশন 4শখার 4চা করেবন না। জাভা বলেত এর Lা³াডJ এিডশনেকই 4বাঝায়।
48 courses.stackschool.co
এই 4পজ 4?Yায় ফঁ াকা রাখা হেয়েছ
Visit https://courses.stackschool.co
Subscribe https://youtube.com/stacklearner
Like https://facebook.com/stacklearner
Join https://facebook.com/groups/stacklearner
Connect https://linkedin.com/company/stacklearner
Follow https://instagram.com/stacklearner/
Follow https://medium.com/stack-learner
49 courses.stackschool.co
৩
অধLায় িতন
ভাষার বLাকরণ
50 courses.stackschool.co
এই অধLােয় আেলািচত িবষয়ব,
✓ অLালেগািরদেমর Tর`N
✓ কমন অLালেগািরদমস
✓ িডসিট মLাথেমc
51 courses.stackschool.co
কিVউটােরর জগেত আমরা যত সফটওয়Lার 4দেখ থািক, 4সটা 4হাক বLাংেকর িহসাব র1ক
সফটওয়Lার অথবা 4হাক 4কান মাÍেয়ার কমবLাট 4গম, আমরা মূলত ডাটা িনেয়ই কাজ
কের থািক। কিVউটাের সব িকছDই হেY ডাটা। আর িবিভ½ সফটওয়Lােরর মাধLেম আমরা
ডাটা ধারণ করা, র1ণােব1ণ করা এবং :েয়াজন মত পিরবতJ ন করার কাজ কের থািক।
তাই ভাল মত ডাটার Äাকচারটা বD ঝেত পারা একজন 4:াEামার এবং একজন 4ডেভলপার
িহেসেব খD বই Tর`NপূণJ।
52 courses.stackschool.co
What is Data Structure?
- In computer science, a data structure is a data organisation,
management, and storage format that enables efficient access
and modification. More precisely, a data structure is a collection
of data values, the relationships among them, and the functions
or operations that can be applied to the data. (Wikipedia)
একটা সমসLার যখন আপিন 4যৗিক সমাধান খD ঁেজ 4বর করেত যােবন তখন :থেমই
4যই কাজটা দরকার, সমসLার সােথ সংযD সকল ডাটা Tেলােক খD ঁেজ 4বর করেত হেব।
তারপের ডাটা Tেলােক সুjর কের সািজেয় িভ½ িভ½ ডাটার িভতেরর সVকJ টা খD ঁেজ 4বর
করেত হেব। যিদ আপিন ডাটা এবং তােদর িভতেরর সVকJ Tেলা খD ঁেজ 4বর করেত পােরন
তাহেলই আপনার সমসLার 4বিশর ভাগ সমাধান হেয় যােব। িক~ আিম 4দেখিছ, 4বিশরভাগ
নবীন 4ডেভলপাররা _ধD মাX ডাটা Äাকচােরর |ান না থাকার কারেণ এই কাজ করেত বLথJ
হয়। আপিন ভিবষLেত 4যই কাজই কেরন না 4কন, :তL1 বা পেরা1 ভােব ডাটা Äাকচার
এবং অLালেগািরদম বLবহার করেবন। তাই ভাল হয় কLািরয়ােরর _র`েতই বল বLবPত ডাটা
Äাকচারস এবং অLালেগািরদম Tেলা িশেখ 4নওয়া। আর একবার িশেখ িনেত পারেলই 4য
4কান সমসLার সমাধান করা আপনার জনL 4কান বLাপারই হেব না।
ডাটা Äাকচারেক আমরা দুই ভােগ ভাগ করেত করেত পাির। Linear এবং Nonlinear
ডাটা Äাকচার। :থেম আমরা বল বLবPত িলিনয়ার বা ]রিখক ডাটা Äাকচার সVেকJ 4জেন
4নই, তারপের ননিলিনয়ার Tেলা সVেকJ জানা যােব।
53 courses.stackschool.co
িলিনয়ার বা ]রিখক ডাটা Äাকচার Tেলা সব 4থেক সহজ। এখােন ডাটা Tেলােক
একটার পের আর একটা পাশাপািশ 4রেখ সংর1ণ করা হয়, অেনকটা একটা বই রাখার
রLােকর মত। এই ডাটা Äাকচার Tেলার একটা িনদ _র` এবং 4শষ আেছ। অLাের, 4সট,
িলংকড িল, Lাক, িকউই, মLাপ এTেলা হেY সব 4থেক 4বিশ বLবPত িলিনয়ার ডাটা
Äাকচার। ডাটা Äাকচার 4শখার _র`র িদেক আমােদর এই ডাটা Äাকচার Tেলাই িশখেত
হেব। 4যTেলার বLবহার আপিন 4:াEািমং :েম সিÃং এ হরহােমশায় 4দখেত পােবন।
- Array
- Map
- Linked List
- Doubly Linked List
- Set
- Priority Queue
- Stack
- Dequeue
- Queue
- Hash Map
- Multiway Trees
- Hash Table
- Trie
- Heaps
- Hash Tree
- Tree
- Decision Tree
54 courses.stackschool.co
ডাটা Äাকচার খD ব Tর`NপূণJ িবষয়, িক~ ডাটা Äাকচার একা একাই সব িকছD করেত
পাের না। ডাটা Äাকচােরর কথা বলেল আপনা আপিনই আর একটা নাম চেল আেস, আর
4সটা হল অLালেগািরদম। অLালেগািরদম 4ক যিদ সহজ ভােব 4বাঝােত চাই তাহেল বলেত
হেব একটা সমসLা সমাধান করার িনদ ধাপ। 4কান লাইেনর পের 4কান লাইন িলখেত হেব,
4কানটার পের 4কানটা এিcিকউট হেব, 4কাথায় কি³শন, 4কাথায় লুপ হেব, 4সTেলার ধােপ
ধােপ বণJনা। ডাটা Äাকচােরর সােথ অLালেগািরদেমর সVকJ ও িক~ এখােনই। আমরা জািন
কিVউটার ডাটা ছাড়া িকছDই 4বােঝ না, 4স যা কের সব িকছD ডাটা 4কিDক। সyকভােব ডাটা
সংর1ণ করার জনL আমােদর দরকার ডাটা Äাকচার। আর এই সংরি1ত ডাটা খD ঁেজ 4বর
করা, আপেডট করা, িরমুভ করার জনL আমরা 4যই 4কাড িলিখ 4সটাই হল অLালেগািরদম।
What is Algorithm?
- In mathematics and computer science, an algorithm is a finite
sequence of well-defined, computer-implementable
instructions, typically to solve a class of problems or to perform
a computation. Algorithms are always unambiguous and are
used as specifications for performing calculations, data
processing, automated reasoning, and other tasks. (Wikipedia)
আমরা িনেজরাই :িতটা কােজর জনL অLালেগািরদম িলখেত পাির। তেব িকছD সাধারণ
:েম 4যমন - সাচJ করা, সটJ করা এই ধরেনর কােজর জনL আেগ 4থেকই খD ব সহজ এবং
এিফিসেয়; ভােব অLালেগািরদম ]তির করা আেছ 4যন কিVউটার খD ব ·ত কাজ Tেলা
করেত পাের। এই সব অLালেগািরদম অেনক বছেরর পরীি1ত। তাই আমােদর 4ক :থেম এই
অLালেগািরদম Tেলাই িশখেত হেব। পের :েয়াজন মত আমরাও অLালেগািরদম ]তির করেত
পারব।
55 courses.stackschool.co
মাধLেম। এর পের িকছD সাচং অLালেগািরদম 4যমন বাইনাির সাচJ, িলিনয়ার সাচJ িশেখ
িনেবন। তারপের 4শখা 4যেত পাের িকছD সJং অLালেগািরদম, 4যমন - Bubble Sort,
Insertion Sort, Selection Sort, Quick Sort এবং Merge Sort. আরও িকছD িবেশষ
ধরেনর অLালেগািরদম আেছ 4যTেলা খD ব কম িক~ অেনক জল জল সমসLা সহেজ
সমাধান করার কােজ বLবPত হয়। 4যমন - Divide and Conquer, Dynamic
Programming, Greedy Algorithm, Backtracking ইতLািদ। এছাড়া :িতটা ডাটা
Äাকচােরর সােথই আপিন অেনক Tেলা কের অLালেগািরদম পােবন। িবেশষ কের এবং
Eাফ এর সােথ 4তা অসংখL অLালেগািরদম রেয়েছ।
কমন অLালেগািরদমস
Basic Algorithms
Advanced Algorithms
- Binary Search
- Divide & Conquer
- Bubble Sort
- Dynamic Programming
- Insertion Sort
- Greedy Algorithm
- Merge Sort
- Back Tracking
ডাটা Äাকচার এবং অLালেগািরদম ভােলাভােব 4শখার অথJ হেY আপিন এখন
কিVউটার জগেতর sায়ী একজন বািসjা। 4কউ আপনােক এই জগত 4থেক 4বর কের িদেত
পারেব না। আপিন িনেজই িনেজর কLািরয়ার দাড় করােত পারেবন কােরার সাহাযL ছাড়াই।
এখন আপিন কিVউটােরর সােথ কথা বলেত পােরন, তােক িবিভ½ ভােব কমা³ করেত
পােরন, এমনিক এও জােনন 4য িকভােব কমা³ করেল সব 4থেক কম সমেয় এই 4বাকা
4মিশনটা সব 4থেক 4বিশ কাজ করেব। _ধD 4:াEািমং লLাংTেয়জ জানেল আপিন হয়ত 4কাড
করেত পারেবন, ডাটা Äাকচার এবং অLালেগািরদম জানেল আপনার 4কােডর 4সৗjযJ র1া
হেব। এবং সব 4থেক বড় িবষয়, কিVউটার সাইেSর 4য 4কান শাখা :শাখা িনেয় 4খলা
করার মত 4যাগLতা ]তির হেয় যােব। এবার আপিন 4ডেভলপেম; করেত পােরন, ডাটা সাইS
িনেয় কাজ করেত পােরন, IoT, Robotics 4য 4কান িকছD িনেয়ই কাজ করেত পারেবন। কারণ,
আপিন এখন িনেজর মেনর মত কের 4বাকা 4মিশনেক িদেয় কাজ কিরেয় িনেত পােরন এবং
4সটা এিফিসেয়; ভােব।
56 courses.stackschool.co
যিদ আপিন :েম সিÃং, কিVভ 4:াEািমং এর কথা িচ@া কের থােকন তাহেল
আপনার একমাX কাজই হেব ডাটা Äাকচার এবং অLালেগািরদম িনেয় ঘঁাটাঘঁা করা। কারণ
এখােন আপনার 4য ধরেনর :েম সÃ করেত হেব তার সব Tেলাই 4কােনা না 4কােনা ডাটা
Äাকচার এবং অLালেগািরদেমর সােথ িরেলেটড। ডাটা Äাকচার এবং অLালেগািরদম 4য _ধD
আপনার 4কােডর 4সৗjযJই বি^ করেব এমনটা না। এটা আপনার 4কাডেক এিফিসেয়;
করেব, ল1 ল1 ডাটার জনL বLবহােরর উপেযাগী করেব। আর সব 4থেক বড় 4যই কাজ
করেব 4সটা হেY আপনার :েম সিÃং দ1তা বি^ করেব। বা)ব জীবেনর 4য 4কােনা সমসLা
সমাধান করার নতDন এক দুয়ার আপনার সামেন উু হেয় যােব।
ডাটা Äাকচার এবং :েম সিÃং এর |ান পিরপÏ করেত আপিন িডসিট
মLাথেমc (Discrete Mathematics) িনেয় পড়ােশানা করেত পােরন। এটা
মLাথেমেcর এক শাখা এবং এখােন মLাথমLাকLাল Äাকচার িনেয়ই পড়ােশানা করা
হয়। মLাথেমেcর এই শাখা কিVউটার সাইেSর সােথ সরাসির সংযD এবং কিVউটার
সাইেSর িশ1াথীেদর বাধLতামূলক ভােবই এই 4কাসJ Eহণ করেত হয়। আিম জািন, 4বিশর
ভাগ িশ1াথীই 4সই সময় এই 4কাসJেক 4কােনা ভােব পাশ কােয় পার কের থােক। িক~
বা)ব জীবেন এই 4কােসJর ভÁিমকা অেনক। কারণ এই 4কােসJর মুখL িবষয় Tেলা হেY -
57 courses.stackschool.co
- Decision Theory
- Discretisation
িডসিট মLাথেমc আয় করেত খD ব একটা সময়ও লাগেব না। 4ছাট 4বলার মত _ধD
পরী1ায় পােশর উে{েশL যিদ এটা 4শখা _র` কেরন তাহেল সারা জীবেনও এটা 4শখা সব
না। 4শখার সময় মাথায় রাখেত হেব, কিVউটােরর জগেত সাভJ াইভ করার জনL 4:াEািমং
লLাংTেয়জ 4শখা 4যমন জর`ির yক 4তমিন িনেজর লিজক িবউ করাটাও জর`ির।
আপিন হাজারটা 4:াEািমং লLাংTেয়জ জানেলও 4কউ আপনােক দাম িদেব না যিদ না
আপিন িনেজর বD ি^মােক কােজ লািগেয় বা)ব সমসLার সমাধান করেত পােরন। আর
িনেজর লিজক িবউ করার Äাকচারড ওেয় আমার কােছ মেন হয় িডসিট মLাথেমc
4শখা। আপনােক একবােরই সব িকছD িশেখ 4ফলেত হেব না। অg অg কের লিজক িবউ
করেত 4যই টিপc Tেলা কােজ লাগেব 4সTেলা িদেয় _র` কর`ন। সােহ ৩-৪ ঘা সময়
িদেয় একটা টিপc আয় কর`ন এবং এর বা)ব :েয়াগ 4দখD ন। আমার িবÉাস, িকছD িদন
পের আর আপনােক বলেত হেব না 4য িডসিট মLাথেমc িশখD ন। আপিন িনেজই এর
:েয়াজনীয়তা উপলিÐ করেত পারেবন।
58 courses.stackschool.co
আিম িনেজও আপনােদর অেনেকর মতই ফঁ ািকবাজ িছলাম। আর ¨Dল জীবন 4থেকই
4:াEািমং এর সােথ িনেজেক যD করায় একােডিমক পড়ােশানােত অেনক ফঁ ািক িদেয়িছলাম।
পরবতীেত অবশL যখন বD ঝেত 4পেরিছলাম গিণত ছাড়া গিত 4নই, তখন আবার £াস ি¤
4থেক 4টন পযJ@ গিণত বই একবার ঝালায় কের িনেয়িছলাম। আর সব 4থেক 4বিশ মজা
4পেয়িছলাম িডসিট মLাথেমc করেত িগেয়। আেগ 4থেকই 4:াEািমং এর িকছD |ান
থাকায় িডসিট মLাথেমেcর বLবহার সVেকJ বD ঝেত পারিছলাম। জীবেন :থমবােরর মত
মLাথেমেcর বা)ব :েয়াগ Tেলা 4চােখর সামেন ভাসিছল। বD ঝেত পারিছলাম 4কন এত
িদন 4ছাট 4ছাট 4:াEািমং :েম সÃ করেত 4গেল িনেজর মাথার চDল Èছড়েত হেতা। খD ব
আফেসাসও হিYল 4য 4কন আরও আেগ আিম মLাথেমেcর এই শাখাটা সVেকJ জানেত
পারলাম না।
আিম িনেজ খD ব ভােলা মLাথেমc পাির না। তারপেরও িডসিট মLাথেমেcর 4বিশর
ভাগ িবষয় বD ঝেত আমার 4কােনা সমসLায় হয়িন। অবশL 4শখার সময় আিম জানতাম 4কন
িশখিছ, এও জানতাম 4য আমােক িশখেতই হেব। এই জনL হেত পাের খD ব একটা সমসLার
সুখীন হইিন। তেব আিম 4যেহতD 4পেরিছ, আমার িবÉাস আপিনও পারেবন। আর যারা
:থম মLাথেমেcর এই শাখা সVেকJ _নেলন তারা তােদর লিজক িবউ করার 41েX
যিদ িডসিট মLাথেমc 4থেক যিদ 4কােনা উপকার 4পেয় থােকন তাহেল মেন মেন আমােক
ধনLবাদ িদেত ভDলেবন না।
- Basic Structures
- Graps
- Fundamental Algorithms
- Trees
- Clouting Techniques
- Topology
59 courses.stackschool.co
:থম িদেক ডাটা Äাকচােরর Tর`N খD ব একটা উপলিÐ করা যায় না। এমনিক
4ডেভলপেমে; 4গেলও আপিন সচরাচর এর বLবহার 4দখেত পারেবন না। তার কারণ হেY
আমরা 4যই ধরেনর অLাপিলেকশন ]তির কের থািক তা খD ব সীিমত ইউজার বLবহার কের
থােক এবং 4সখােন ডাটাও অেনক কম থােক। তাই আমরা যিদ ইেনিফিসেয়; ভােবও 4কাড
কির, 4কােনা দৃশLমান পিরবতJ ন ল1Lনীয় হয় না। িক~ এই ইেনিফিসেয়; 4কাড যখন 4কা
4কা ডাটার জনL বLবPত হেব, তখন অLাপিলেকশনটা আর বLবহােরর উপেযাগী থাকেব
না। 4ফসবD ক তার একটা বড় উদাহরণ। িকছD1ণ 4ফসবD ক াউজ করার পেরই হLাং হওয়া _র`
হয়। কারণ এখােন :িত মুেতJ নতDন নতDন ডাটা আসেত থােক, হাজার হাজার কLাÑDেলশন
হেত থােক। 4ফসবD ক 4কা 4কা টাকা খরচ কের, িবেÉর সব 4থেক বড় বড় 4ডেভলপারেদর
িদেয় এিফিসেয়; ভােব 4কাড 4লখার পেরও তারা সVূণJ পাফJ েমJS এর গLারা» িদেত পারেছ
না। তাহেল একটা ইেনফিসেয়; 4কােডর িক হেব আপনারাই িবেবচনা কর`ন।
বড় বড় 4কাVািনেত আপিন যখন জেবর জনL ই;াভউ িদেবন, আপিন কয়টা 4:াEািমং
লLাংTেয়জ জােনন, কয়টা 4}মওয়াকJ জােনন এই Tেলা তারা িজ|াসা করেব না। তােদর
ই;াভউ এর মূখL িবষয়ই থাকেব আপিন কিVউটার সাইS কতটা জােনন, কত Tেলা ডাটা
Äাকচার এবং অLালেগািরদম সVেকJ আপনার |ান আেছ। বা)ব 4কােনা সমসLা আপনার
সামেন আসেল yক 4কান ডাটা Äাকচারটা বLবহার কের আপিন সমসLাটার সমাধান
করেছন, 4কন 4সই ডাটা Äাকচার 4বেছ িনেলন আর আপনার করা সমাধান কতটা
এিফিসেয়; মােন কত ভােলা ভােব আপিন অLালেগািরদম িডজাইন করেলন। এই Tেলাই
তােদর জানার িবষয় থােক। আর : Tেলার সyক উর যিদ আপনার জানা থােক তাহেল
4য 4কােনা লLাংTেয়জ, 4য 4কােনা 4}মওয়াকJ িনেয় কাজ করা আপনার জনL 4কােনা মুখL
িবষয় না। তাহেল িনয় 4বাঝা যােY 4য, ডাটা Äাকচার এবং অLালেগািরদম কতটা
Tর`NপূণJ একটা িবষয়?
আর এই Tর`N পূণJ িবষয় 4শখার জনL আপনােক যেথ পিরমাণ সময় বLয় করেত হেব।
ডাটা Äাকচােরর িথওির ভােলা ভােব বD ঝেত হেব। 4কাথায় কখন এবং 4কন 4কান ডাটা
Äাকচার বা অLালেগািরদম বLবহার করেবন 4সটা ভােলা ভােব বD ঝেত হেব। ডাটা Äাকচারও
অবেজ
অিরেয়ে;েডর মতই একটা ইউিনভাসJাল িথওির, 4কােনা লLাংTেয়েজর সােথ
সVৃ িবষয়ব, না। তাই িথওির ভােলা ভােব আয় কের কেয়কটা লLাংTেয়েজ ইমিেম;
করার 4চা করেত হেব। মেন রাখেবন, 4:াEািমং লLাংTেয়জ 4শখা যতটা Tর`NপূণJ, একজন
60 courses.stackschool.co
ভােলা 4:াEামার িহেসেব িনেজেক গেড় 4তালার জনL ডাটা Äাকচার এবং অLালেগািরদেমর
|ানও yক ততটাই Tর`Nপূণ।J
িসঃ ডাটা Äাকচার এবং অLালেগািরদম ইমিেমে;শন 4শখার অনLতম একটা লLাংTেয়জ
হেY িস। আপিন যিদ :েম সÃার হেয় থােকন তাহেল 4বিশর ভাগ 41েXই আপিন িস
অথবা িস++ বLবহার কেরই ডাটা Äাকচারস ইমিেম; করেবন। তেব আমার মেন হয়, এত
4লা 4লেভল লLাংTেয়জ বLবহার কের ডাটা Äাকচার ইমিেম; করা িশখেত চাইেল আমােদর
অেনক 4বিশ ক করেত হেব। আমােদর 4ফাকাসটা ডাটা Äাকচােরর িথওির 4থেক নেড় িগেয়
লLাংTেয়জ এর িফচােরর ওপের চেল যােব। যখন Eাফ এর মত ডাটা াকচার ইমিেম;
করেত হেব তখন :চDর 4কাড িলখেত হেব। এই 41েX িস++ যিদও একটা ভােলা সমাধান হেত
পাের। তেব আপিন যিদ লLাংTেয়জ এবং ডাটা Äাকচার একই সােথ বD ঝেত চান, 4সই 41েX
আপিন িস লLাংTেয়জ বLবহার করেত পােরন।
জাভাঃ আিম পােসJানািল মেন কির ডাটা Äাকচার এবং অLালেগািরদম জাভা বLবহার কেরই
ইমিেম; করা উিচত। বাজাের আপিন :চDর বইও পােবন এই িবষেয়র ওপের যা একই সােথ
আপনার অবেজ
অিরেয়ে;ড িথওির এবং ডাটা Äাকচােরর |ান সমৃ^ করেব। জাভা
4যেহতD হাই 4লেভল লLাংTেয়জ তাই পুেরা 4ফাকাসটা আপিন ডাটা Äাকচার এবং এর িথওির
এর ওপেরই িদেত পারেবন। জাভােত 4কাড অেগJনাইজ করাটাও অেনক সহজ হওয়ায়
4যেকােনা ধরেনর ডাটা Äাকচার খD ব সহেজই জাভােত ইমিেম; করা যায়।
পাইথনঃ যিদ আপনার টােগJট থােক _ধD মাX ডাটা Äাকচােরর ওপেরই 4ফাকাস করেবন এবং
ইমিেম; কের িশখেবন তাহেল পাইথন 4ব হেব। কারণ এখােন আপনােক 4কািডং িনেয়
4মােটও িচ@া করেত হেব না। অg কেয়ক লাইন 4কাড িলেখই পাইথেন অেনক িকছD করা যায়।
ডাটা Äাকচার এবং অLালেগািরদম ইমিেম; করার অনLতম একটা সমাধান হেY পাইথন।
জাভার মত পাইথেনও আপিন অসংখL ভােলা ভােলা বই পােবন।
61 courses.stackschool.co
ডাটা Äাকচার এবং অLালেগািরদম 4শখার 4রফােরেSস
62 courses.stackschool.co
িডসিট মLাথেমc 4শখার 4রফােরেSস
63 courses.stackschool.co
এই 4পজ 4?Yায় ফঁ াকা রাখা হেয়েছ
Visit https://courses.stackschool.co
Subscribe https://youtube.com/stacklearner
Like https://facebook.com/stacklearner
Join https://facebook.com/groups/stacklearner
Connect https://linkedin.com/company/stacklearner
Follow https://instagram.com/stacklearner/
Follow https://medium.com/stack-learner
64 courses.stackschool.co
৪
অধLায় চার
সািহতL যাXা
65 courses.stackschool.co
এই অধLােয় আেলািচত িবষয়ব,
✓ 4ডেভলপেম; িক
✓ 4ডেভলপেম; :েসস
✓ ওেয়ব 4ডেভলপেম;
66 courses.stackschool.co
আমরা _র`র িদেক 4যই ভDলটা :থেমই কের বিস 4সটা হল, _ধD 4ডেভলপার
হওয়ার কথা িচ@া কির। ভােলা মােপর 4ডেভলপার 4য হেত হেব 4সই কথাটা
অেনেকই ভDেল যায়। ঘের বেস বেস িবেদিশ মু«া উপাজJন করার আর িবলাসী
জীবন যাপন করার 4লাভ আমােদর 4পেয় বেস। 4যই কারেণ আমরা খD ব ·তই
4ডেভলপার হওয়ার জনL িবিভ½ শটJকাট রা)া 4খxাজার 4চা কির। িক~ একটা
কথা মেন রাখেত হেব আপনােক। 4ডেভলপেমে;র যাXা, িবেশষ কের _র`র
িদেকর যাXা খD বই কদায়ক। এখােন আপনােক িবেশষ ধরেনর ]ধেযJর পরী1া
িদেত হেব। _ধD দূর 4থেকই মেন হেব 4য ঘের বেস বেস কিVউটােরর কীেবাডJ িনেয়
Tঁ তাTঁ িত করা, এ আর এমন িক কyন কাজ। কিVউটােরর সামেন বেস 4থেকই
যিদ উপাজJন করা যায় তাহেল নাহয় কেয়ক ঘা 4বিশই বেস থাকলাম। আসেল
4ডেভলপাররা কিVউটােরর সামেন বেস থাকার জনL অথJ পায় না, অথJ পায়
বািক আর দশটা 4পশার মতই িনেজর দ1তা, বD ি^মা িবি করার জনL।
67 courses.stackschool.co
যায়। যার ফেল িক হয়, িকছD দূর যাবার পের আর কÁল িকনারা খD ঁেজ পাওয়া যায়
না। 4ডেভলপেম; হেY ফাইনাল 4:াডা
। আর 4কােনা িবষেয় সyক |ান না
থাকেল ভােলাভােব একটা 4:াডা
]তির করা যায় না। একটা উদাহরেণর মাধLেম
বLাপারটা 4বাঝার 4চা করা যাক।
আপিন যিদ একটা গািড় বানােত চান তাহেল আপনার িক দরকার হেব? অবশLই
গািড় 4যই সূX Tেলা 4মেন রা)ায় চলেব 4সই সূX Tেলা জানার দরকার পরেব,
িকছD ইিিনয়ািরং |ােনর দরকার পরেব। গিতর সূX, ঘষJেণর সূX, চােপর সূX না
4জেনই িক আপিন গািড় বানােত পারেবন? সূX আপনার আিবºার করার
দরকার 4নই। 4সটা িনউটন সােহব, পLাসেকল সােহব অেনক আেগই কের 4রেখ
4গেছন। আপনার কাজ সূX Tেলােক এনালাইিসস কের আপিন 4য নতDন গািড়
বানােবন তার সমসLা Tেলা দূর করা এবং এমন এক গািড় বানােনা যা 4দেখ
বLবহারকারীরা রীিতমত িবি¬ত হেয় যােব। িক~ আপিন িক করেলন, বলেলন
এই সব সূX 4জেন িক হেব? বাজাের অেনক গািড় আেছ, িনেয় এেস খD েল 4দখব
এবং িকছD পাটJসপX পিরবতJ ন কের িনেজর নােম চালােবা। এবার বলুন, যিদ
আপিন এই কাজই কেরন তাহেল আপনােক িক নােম ডাকা উিচত? ইিিনয়ার
নািক 4মকািনক?
68 courses.stackschool.co
কের িদেয়। 4যখােন অg িবদLার কারেণ এবং ·ত ইনকােমর আশায় আমরা ম
িবি করিছ িবিভ½ অনলাইন াটফেমJ 4সখােন একটD ম িদেয় িনেজেক দ1
করেল হয়ত সাভস িবি করেত পারতাম। তখন হয়ত আমােদর 4দশ দশTণ
4বিশ ]বেদিশক মু«া অজJন করেত পারত। আমরা িনেজরাও হয়ত অেনক 4বিশ
লাভবান হতাম।
একটা িবষয় হয়ত আপিন ল1L করেবন, যখন 4কােনা িশ1াথী 4মিডকLােল
ভত হয়, তখন ৫ বছর টানা তােক পিরম করেত হয় তার পড়ােশানা িনেয়। এর
মােঝ 4কান িবরিত 4নই। বাড়িত উপাজJেনর 4কােনা উপায় 4নই। 4কােনা িশ1াথীর
?াsL যিদ একটD ভােলা থােক, ডাার হেয় 4বর হেত হেত তার 4চহারা পুেরা পােË
যায়। িনেজ ডাার হেলও 4দখেত কেয়ক বছর 4রাগীর মতই লােগ। ডাাির পাশ
কের 4বর হওয়ার পের দুই িতন বছর িবিভ½ হাসপাতােল অনুশীলন করার পূবJ
মুতJ পযJ@ আমরা তােক ডাার বলেত নারাজ। এত বছর, এত গাধার মত
পিরম করার পেরও আমরা তােক ডাােরর মযJাদা িদেত চাই না।
আবার ধেরন একজন আকেট
। ৫ বছেরর 4কাসJ পুেরাপুির ভােব সVূণJ করার
পের, দুই একটা ফােমJ ই;ানJ করার পেরও আপিন তার হােত আপনার বািড়র
িডজাইন করেত িদেবন না। 4কন? আপনার মেন হেব 4য 4স এখেনা অিভ| না।
একজন উিকেলর কথায় িচ@া কেরন না, আমার িনেজর খালু আজ :ায় ৭ বছর
হাই 4কােটJ উকালিতর :াকস করেছন। এখেনা িতিন জুিনয়রই রেয় 4গেছন। হাই
4কােটJ যাওয়ার পূেবJ িক~ ব বছর িতিন িনজ এলাকােতও উকালিত কেরেছন।
69 courses.stackschool.co
যায়। 4কােনা বড় 4কাVািন তােদর বড় 4কােনা :েজ
ি}লািSং সাইট Tেলােত
4দয় না। আপিন ি}লাSার হেত চােYন এটা খD বই ভােলা উেদLাগ। আপিন
িনেজর কমJ সংsান িনেজই করেবন আমােদর 4দেশর 4:1াপেট এর 4থেক ভাল
খবর আর িক হেত পাের? তেব িচ@া কর`ন 4তা, আপিন 4কান সমেয় ি}লািSং
করেছন? আপনার জীবেনর 4গােন মুহÁেতJ নয় 4তা? 4যই সময়টা আপিন বLয়
করেছন 4কান একজন £াইে;র একটা পােসJানাল সাইট বানােনার জনL, 4সই
সময়টােক কােজ লািগেয় সyক |ান অজJন করেল হয়ত একিদন আপিন এমন
4কােনা সাভস ]তির করেত পারেতন যা িবেÉ ল1 ল1 মানুষ আপনার কাছ
4থেক ]বেদিশক মু«ার িবিনমেয় িকনেতা।
আসেল সব িকছDর একটা সময় আেছ, ি}লািSং একটা ভাল 4পশা। িক~
এই 4পশায় সyক ভােব েক থাকেত চাইেল দরকার দ1তা। আর এই দ1তা
অজJন করেত দরকার সময়। ভাবেত খD ব খারাপ লােগ আমােদর 4দেশর িকেশার
িকেশারীেদর িভতের এই ি}লািSং এর ভÁতটা ঢDেক 4গেছ। তারা মেন কের
কিVউটােরর সামেন বসেলই অেনক টাকা। ি}নলািSং তােদর কিVউটােরর
:িত আEহ 4তা জাEত কেরেছ, িক~ 4বিশর ভাগ 41েXই তােদর ভDল পেথ ধািবত
করেছ। অেনেক তােদর এই 4মাহেক কােজ লািগেয় অেনক অসৎ কাজ কিরেয়
িনেY অg িকছD টাকার িবিনমেয়।
িনেজর উপাজJন করা :থম অথJটা সবার কােছই Tর`তপূণJ। তাই অেনেকই
অনলাইন 4থেক ২০-২৫ ডলার উপাজJন করার পেরই 4সটা সবার সােথ 4শয়ার
কের, খD ব খD িশ হয়। খD িশ হওয়া বা 4শয়ার করা 4কােনা 4দােষর িকছD না। তেব
আপনােক জানেত হেব 4য আপিন িক িবি কের এই অথJ উপাজJন করেছন।
একটD 4খxাজ িনেয় 4দখেলই 4দখা যায়, 4য এই ২০-২৫ ডলার উপাজJেনর জনL তারা
তােদর ৩-৪ মাস সময় ন কেরেছ, পড়ােশানা িশকায় তDেল 4রেখেছ। _নেত
খারাপ 4শানােলও একটা উদাহরণ 4দই, :িতিদন সকােল ৮ বছেরর 4যই 4ছেলটা
িঝগাতলা টD ফামJেগট 4রােড 4লTনার 4হgাির কের 4সও িদন 4শেষ ৪০০ টাকা
70 courses.stackschool.co
বাসায় িনেয় যায়। মােন মােস ১২০০০ টাকা। তাহেল আপিন যিদ ৪ মােস ২০
ডলার বা ১০০ ডলারই উপাজJন কেরন তাহেল আপনার মািসক ইনকাম কত?
কিVউটার, মেডম, ই;ােনJট িবল িদেয় আপনার ইনেভেম;ই বা কত আর :িত
মােস খরচই বা কত? ইনকাম কত 4সটা এখােন মুখL িবষয় না, মূখL িবষয় হেY
ওই 4লTনার 4হgার আগামীকালেক িবসজJন িদেয় আজেক উপাজJন করেছ,
আপিনও িক তাই করেছন না? আপিনও িক আপনার ভিবষLৎ িবি কের
বতJ মােন অg িকছD টাকা উপাজJন করেছন না? আপনার ওপের যিদ পিরবােরর
দািয়N না থােক তাহেল িনেজেক দ1 কের গেড় তDলুন, আর দ1 হওয়ার পেরই
উপাজJেনর 4চা কর`ন।
71 courses.stackschool.co
4বিশ মানুষ কাজ িশেখ 4দেশর মুখ উJল কের। আর মানুষ বD েঝেছ এখােন
4গেলই টাকা। এখন 4মােভশেনর সময় না, বা)বতােক 4মেন িনেয় সামেন
এিগেয় যাওয়ার সময়। 4কউ যখন িমিলটািরেত িনেজেক যD কের, এটা 4জেন
িনেয়ই িনেজেক যD কের 4য 4দেশর জনL 4য 4কান মুেতJ তােক :াণ িদেত হেত
পাের। তাই আপনােকও :থেম জানেত হেব 4য 4ডেভলপার হেত হেল আপনােক
পিরম করেতই হেব, _ধD _ধD ঘের বেস থাকেল 4কউ এেস টাকা িদেয় যােব না।
এখােন পিরেমর মাXাটাও অনL 4যেকােনা কািয়ক েমর 4থেকও অেনক 4বিশ।
অেনক সময় হােত িনেয় বসেত হেব, অেনক ]ধযJ বD েক িনেয় বসেত হেব, অেনক
তLাগ ?ীকার করার মানুিষতা িনেয় বসেত হেব। একটা 4দেশ 4যমন :েয়াজেনর
সময় জীবন 4দওয়ার মত ]সিনক দরকার, yক 4তমিন আপনার মত |ান গভJ
সফটওয়Lার 4ডেভলপারও দরকার 4দেশর সফটওয়Lার চািহদা িমেয় বাইের
রািন কের 4দেশর মুখ উJল করার জনL।
72 courses.stackschool.co
কের। অেনক Tেলা 4স
র ওেয়ব 4ডেভলপেমে;র সােথ জিড়ত। আপিন ইেY
করেল 4য 4কান এক 4স
র 4বেছ িনেত পােরন, আবার ইেY করেলই সব Tেলা
4স
েরর সােথই িনেজেক জড়ােত পােরন। তেব একটা একটা কের 4স
ের িনেজর
পিরিধ িব)ার করাটাই সব 4থেক বD ি^মােনর কাজ হেব।
73 courses.stackschool.co
Specification. িরকDয়ারেম; খD ব Tর`NপূণJ িবষয়, কারণ :থম যখন
অLাপিলেকশনটার আক েটকচার ]তির করা হয় তখন এই ইিনিশয়াল
িরকDয়ারেমে;র ওপের িভি কেরই ]তির করা হয়। তেব পরবতীেত িরকDয়ারেম;
পিরবতJ ন বা পিরবধJন হেত পাের।
74 courses.stackschool.co
4ডেভলপেম; _র` করেত পাির। তেব সবার :থেম দরকার, আমরা িক 4ডেভলপ
করেত চাই তার 4:ােটাটাইপ। 4য 4কান 4:াডা
]তিরর পূেবJ yক ওই রকম
4দখেত একটা ডািম 4:াডা
]তির কের 4নওয়া হয়। সফটওয়Lােরর 41েXও এর
বLিতম নয়।
4:ােটাটাইপ এর কাজ সV½ হওয়ার পের এটা 4ডেভলপেমে;র জনL :,ত হেয়
যায়। একদল মানুষ এর }ে;³ মােন যা ইউজার 4দেখ 4সই অংশ িনেয় কাজ
কের আর একদল মানুষ এর বLােক³ মােন অLাপিলেকশনটার 4মইন লিজক এবং
ডাটা িনেয় কাজ কের। যখন অLাপিলেকশনটা ]তির হেয় যায় তখন একদল মানুষ
এর 4কায়ািল অLািসউর কের, 4টªং কের। তারপের আর একদল মানুষ এটােক
4:াডাকশন সাভJ াের 4ডপলয় কের ইউজারেদর বLবহােরর জনL উু কের 4দয়।
আিম এখােন খD ব 4ছাট কের, সহজ কের িবষয় Tেলা বD ঝােনার 4চা করলাম। এর
মােঝ আরও অসংখL কাজ থােক। তেব িবিগনার িহেসেব আমােদর এত িকছD
75 courses.stackschool.co
:থেমই জানার দরকার হেব না। একটা অভারল আইিডয়া থাকেলই আমরা কাজ
চািলেয় িনেত পারব। এখােন আমরা অেনক Tেলা িডফাের; 4রােলর মানুষ
সVেকJ 4জেনিছ। একটা অLাপিলেকশন বানােত এত এত মানুেষর দরকার হয়?
হঁ Lা, অেনক মানুেষর দরকার হয়। এবং যত মানুেষর দরকার হয় yক ততটাই
আমােদর অপচJ D িন। একজন িরকDয়ারেম; এনািল 4থেক _র` কের িসেম
আক েট
পযJ @ অসংখL পিজশন আমােদর জনL অেপ1া করেছ।
4ডেভলপেম;ই একমাX কাজ না। তেব এখােন আিম এত গভীের 4যেত চািY না,
এখােন _ধD 4ডেভলপেম; িনেয়ই কথা বলা যাক।
76 courses.stackschool.co
ভয়ানক 4লেগ থােক। যখন আপনার সামেন কেয়কশ টDলস এবং লাইেরী এর
কথা 4কউ বলেব তখন ভয় লাগাটাই ?াভািবক। তেব একটা কথা মাথায়
রাখেবন, এই টDলস Tেলা িক~ এেসেছ আপনার জীবনটা সহজ করার জনL।
আপনােক পLারা 4দওয়ার জনL নয়। যখন এই টDলস Tেলা আপিন িশেখ
4ফলেবন তখন আেগর 4থেক অেনক 4বিশ কাজ আরও সহেজ এবং ·ত করেত
পারেবন। তাহেল িশখেত সমসLা 4কাথায়? আবার সব িকছD আপনােক একবাের
িশখেতও হেব না, বLবহারও করেত হেব না। আে) আে) আপিন অেনক িকছD
িশেখ যােবন, _ধD 4শখার মানুিষকতাটা রাখেত হেব। 4ডেভলপেমে;র এই
জগতটাই এমন, :িতিনয়ত 4শখার িভতর িদেয়ই 4যেত হয়। আর এই 4শখার
4:ােসসটা 4মােটও চLােলিং না, বর¹ অেনক 4বিশ এেয়বল।
এরপের ধরা যাক Bootstrap এর কথা। এটা একটা CSS 4}মওয়াকJ । আমরা
িনেজরা যখন HTML 4কাড িলেখ CSS বLবহার কের াইল কির, তখন £াস
িসেল
র বLবহার কির। মােন HTML এিলেমে; £াস 4নম বসােয় 4রেখ CSS
4থেক £াস 4নম ধের িসেল
কির। বD টÄাপ আমােদর জনL আেগ 4থেকই অেনক
CSS 4কাড িলেখ 4রেখেছ এবং আমােদরেক িবরাট একটা £াস 4নেমর িল
ধিরেয় িদেয়েছ। আমরা যখন HTML 4কাড িলখেবা তখন এই £াস 4নম Tেলা
বLবহার করেল অেটােমক াইল হেয় যােব। মজার িবষয় হেY আমােদর £াস
77 courses.stackschool.co
4নম Tেলাও মেন রাখার দরকার 4নই, কারণ Bootstrap এর অিফিসয়াল সাইেট
সব িকছDই িলিপব^ করা আেছ। আমােদর _ধD জানেত হেব 4য Bootstrap িক িক
4:াভাইড করেছ। 4:াEািমং এ দ1 4য 4কােনা বLির ১ িদেনর 4বিশ সময় লাগেব
না Bootstrap িশখেত। আরও মজার িবষয় হেY CSS এর সম) 4}মওয়াকJ ই
এই একই ভােব কাজ কের। তাই আর িতন চার িদন সময় িনেয় আরও িতন
চারটা জনি:য় 4}মওয়াকJ 4দেখ িনেলই আপনার ঝDিলেত আরও কেয়কটা টDলস
যD হেত থাকেব এবং আপিন 4:া হেত থাকেবন।
78 courses.stackschool.co
4টcট এিডটর। এই 41েX আমার পছেjর তািলকায় :থেমই থাকেছ VIM এবং
িতীয়েত থাকেছ Nano.
IDE: যখন লাজJ 4কােনা :েজে
কাজ করেত হয় তখন 4কাড এিডটেরর
4থেক IDE বা Integreted Development Environment 4বেছ 4নওয়াই
ভােলা। কারণ এখােন সহেজ 4কাড 4লখার সােথ সােথ একটা 4:ােজ
মLােনজ
করার সম) িফচারই 4দওয়া থােক। IDE সVেকJ দ1 হেত অেনক সময় লােগ
কারণ এখােন ?াভািবক :েয়াজেনর 4চেয়ও কেয়ক Tণ 4বিশ িফচার 4দওয়া থােক।
আমার পছেjর IDE হেY Jet Brains 4কাVািনর সম) IDE, 4যমন IntelliJ
Idea, Web Storm, PyCharm, CLion. বাজাের অবিsত সম) জনি:য় IDE
Tেলা বLবহার করার পের আিম 4জেনিছ এেদর 4থেক বD ি^মান IDE আর 4কও
]তির কের না। তেব দুঃেখর িবষয় এেদর :ায় সম) IDE ই 4পইড।
Git & Github: 4ডেভলপেমে;র একটা কমন কাজ হেY 4কােডর ভাসJন
কনে±াল করা। যখন আপিন একটা 4কাড িরিলজ 4দওয়ার পের 4সই 4কােডর
4কােনা আপেডেটড ভাসJন 4বর করেবন তখন কাজটা িকছDটা পLারাদায়ক হেয়
যায়। কারণ নতDন 4কােড যিদ 4কােনা ভDল থােক, তাহেল সােথ সােথই আেগর
ভাসJেন 4রাল বLাক করেত হয়। আর এই পLারার কাজটা সহজ করার জনL আেছ
79 courses.stackschool.co
Git, যা এখন ভাসJন কোেলর সােথ সােথ নানা মুিখ কােজ বLবPত হেY। Git
এর একটা িডÅিবউেটড সাভJ ার হেY Github, যা বLবহার করা হয় 4লাকাল
4কাডেক একটা 4সাল সাভJ াের রাখার জনL। 4যন সম) ম 4মÀাররাই একই
4কাড 4শয়ার করেত পাের। Git হেY আপনার 4লাকাল িরপিসটির আর Github
হেY িরেমাট িরপিসটির। এছাড়া Github এরও নানা মুখী বLবহার রেয়েছ।
একজন 4ডেভলপার িহেসেব আপনােক Git এবং এর সyক বLবহার িশখেতই
হেব।
80 courses.stackschool.co
অg অg িশেখ অg অg কের :াকস করা 4যেত পাের। তাহেল একটা জনি:য়
4:ােজ
মLােনজেম; 4}মওয়াকJ ও 4শখা হল, সােথ িনেজর 4:ােজ
ও মLােনজ
করা হল।
81 courses.stackschool.co
এই 4পজ 4?Yায় ফঁ াকা রাখা হেয়েছ
Visit https://courses.stackschool.co
Subscribe https://youtube.com/stacklearner
Like https://facebook.com/stacklearner
Join https://facebook.com/groups/stacklearner
Connect https://linkedin.com/company/stacklearner
Follow https://instagram.com/stacklearner/
Follow https://medium.com/stack-learner
82 courses.stackschool.co
৫
অধLায় পxাচ
িশg না সািহতL?
83 courses.stackschool.co
এই অধLােয় আেলািচত িবষয়ব,
✓ UI/UX িডজাইন
✓ ওেয়ব িডজাইন
✓ }ে;³ 4ডেভলপেম;
84 courses.stackschool.co
}ে;³ 4ডেভলপেম;েক আমরা দুই ভােগ ভাগ কের িনেত পাির। :থম ভােগ আমরা _ধD
িডজাইন এবং 4:ােটাটাইিপং িনেয়ই কথা বলব। আর িতীয় ভােগ ওই 4:ােটাটাইপেক 4কােড
র®পা@র করার মাধLেম িকভােব 4ডেভলপেম; সV½ করেত হয় 4সই িবষেয় আেলাচনা
করেবা। সাধারণত :থম অংেশর কাজেক ওেয়ব িডজাইন এবং পেরর অংেশর কাজেক
}ে;³ 4ডেভলপেম; বলা হেয় থােক। তেব এই 41েX িবিভ½ মতিবেরাধ রেয়েছ। আমরা
মতিবেরােধর িদেক না িগেয় :থেমই 4জেন িনব িকভােব িডজাইন :েসসটা কাজ কের থােক,
এবং আমরা যিদ একজন ওেয়ব িডজাইনার হেত চাই তাহেল আমােদর িক িক িশখেত হেব।
এর পের আমরা 4ডেভলপেম; িবষয়ক |ান অজJন করেবা।
ওেয়ব িডজাইেনর কাজটােক আবার দুইভােগ ভাগ করা যায়। একটা হেY Eািফক িডজাইন
আর িতীয়টা হেY ওেয়ব িডজাইন। একটা সময়, :থেম একজন Eািফক িডজাইনার
ওেয়বসাইটটা 4দখেত 4কমন হেব তা ফেটাশেপ িডজাইন করেতা। আর একজন ওেয়ব
িডজাইনার 4সই িডজাইনটা 4দেখ 4দেখ ব HTML & CSS 4কাড িলখত। যিদও এটা
অেনক পুরাতন প^িত তারপেরও আমােদর 4দেশ এই কাজটা অেনক 4বিশ জনি:য়। এখেনা
ব মানুষ PSD to HTML এর এই কাজ কের থােক। এই প^িতটা পুরাতন হেলও
4ছােটাখােটা ওেয়বসাইট ]তিরর জনL খD বই ভাল একটা সমাধান। তেব আপিন যিদ ওেয়ব
অLাপিলেকশন ]তির করেত চান তাহেল আমার মেন হয় না, 4য এই প^িতটা খD ব একটা ভাল
85 courses.stackschool.co
ফলাফল বেয় আনেত পাের। আর আিম 4যেহতD :থম 4থেক ওেয়ব অLাপিলেকশন িনেয়ই
কথা বলিছ, তাই নতDন 4যই িসেেম এই কাজটা করা হয় 4সই িবষেয়ই আেলাচনা করেবা।
পূেবJর Eািফক িডজাইনােরর কাজটার এখন নতDন একটা নামকরণ হেয়েছ, UI/UX
িডজাইন। এখােন দুইটা িভ½ িভ½ টামJ রেয়েছ। :থমটা হেY UI - User Interface
িডজাইনার, এনার কাজ হল আপনার ওেয়ব অLাপিলেকশেনর ব একটা কিপ ]তির করা,
িক~ এখােন 4কান ফাংশনািল থাকেব না। আপিন পরবতীেত এই ডািম অLাপিলেকশনটা
4দেখ 4দেখ আপনার অLাপিলেকশন ]তির করেবন। এই কাজটা আপিন 4য 4কান িডজাইন
4বসড সফটওয়Lার বLবহার কেরই করেত পােরন, এমনিক ফেটাশপ বLবহার কেরও করেত
পােরন। তেব িকছD সফটওয়Lার আেছ 4যTেলা এই উে{Lেশই ]তির করা হেয়েছ। এরকম
জনি:য় িকছD সফটওয়Lার হেY Adobe XD, Figma and Sketch. এই সফটওয়Lার Tেলা
Eািফক সফটওয়Lােরর মত এত িবশাল না, অg িকছD :েয়াজনীয় টDলস এখােন আেছ, যা
বLবহার কের আপিন খD ব সহেজই অLাপিলেকশেনর জনL ডািম ই;ারেফস ]তির করেত
পারেবন। এর সােথ ম কলােবােরশেনর সুিবধাও পােবন। এবং এই সফটওয়Lার Tেলা
িশখেত আপনার Eািফক এর 4কান 4কাসJ করারও দরকার হেব না, িনেজ িনেজ ঘাটাঘা
করেল এবং ইউউেব িকছD উেটািরয়াল 4দখেল দুই িতন িদেনর িভতেরই িশেখ 4ফলেত
পারেবন।
86 courses.stackschool.co
একটা অLাপিলেকশন সফলতার মুখ 4দখেব িকনা তার অেনকাংশ িনভJ র কের UI/UX
িডজাইনােরর ওপের। 4য 4কান একটা অLাপিলেকশন 4ডেভলপেমে;র পূেবJই তার UI/UX
]তির কের িনেত হয়, তা না হেল ওই অLাপিলেকশনটা 4ডেভলপ করা :ায় অসব হেয়
দঁ াড়ায়। সারা পৃিথবীেতই UI/UX িডজাইেনর মূলL অেনক 4বিশ। এমনিক আমােদর 4দেশও
এর মূলL িদন িদন বি^ পােY। আপিন যিদ একজন ফDলLাক 4ডেভলপার হেত চান তাহেল
আপনােক ভাল UI/UX িডজাইনার হেত হেব না, তেব এর 4:ােসস সVেকJ ধারণা থাকেল তা
আপনার অেনক কােজ লাগেব। আর আপিন যিদ মেন কেরন আপিন অLাপিলেকশন
সVেকJ ভাল |ান রােখন এবং আপনার িডজাইন 4সS খD বই ভােলা তাহেল _ধD মাX UI/
UX ও আপনার 4পশা হেত পাের। বাইেরর 4দশ Tেলােত UI/UX িডজাইনােরর ইনকাম
একজন }ে;³ 4ডেভলপােরর মতই এবং িকছD 41েX তার 4থেকও 4বিশ। তেব এই 4পশােত
আপনােক :িতিনয়ত :চDর িডজাইন িরেলেটড চLােল িনেত হেব।
একজন UI/UX িডজাইনার িহেসেব ওেয়ব সাইেটর ইউজার ই;ারেফস িডজাইেনর সােথ সােথ
আপনােক ই;ােরকশন িডজাইনও করেত হেব। ইউজার 4কােনা একশন ঘটােল িকভােব
অLাপিলেকশন 4রসপS করেব, দুইটা 4পেজর িভতের ±ািSশন িকভােব হেব, একটা ইেরার
4মেসজ িকভােব িডসে করেব, এই রকম যত ভােব একটা অLাপিলেকশেনর পে1 ই;াের
করা সব সব িকছDই আপনােক িডজাইন করেত হেব। 4কােনা ভােবই আপনার ইউজার 4যন
অLাপিলেকশনটা বLবহার করেত িবর 4বাধ না কের 4সই িবষয়টা মাথায় রাখেত হেব। সহজ
ভােব বলেল আপনােক পুেরা ওেয়ব অLাপিলেকশনই িডজাইন করেত হেব। অLাপিলেকশেন
যত Tেলা 4পজ থাকেব সম) 4পজ িডজাইন করেত হেব। 4পজ Tেলার িভতের ই;ার িলংিকং
]তির করেত হেব। আপনার িডজাইন করা অLাপিলেকশনটা 4দখেত একদম অিরিজনাল
অLাপিলেকশেনর মতই মেন হেব। িক~ এখােন 4কােনা অLাপিলেকশন লিজক, িবজেনস
লিজক থাকেব না। আপনার িডজাইন করা এই অLাপিলেকশনেকই বলা হয় 4:ােটাটাইিপং
(Prototyping) যা বতJ মােন খD বই জনি:য় এবং :িতটা অLাপিলেকশন ]তিরর পূেবJই করা
হয়।
87 courses.stackschool.co
UI/UX িডজাইন িক
UI Design: User interface (UI) design is the process of making interfaces
in software or computerised devices with a focus on looks or style.
UX Design: User experience (UX) design is the process design teams use
to create products that provide meaningful and relevant experiences to
users.
UX Topics UI Topics
Adobe
Sketch Figma InVision ProtoPie
XD
88 courses.stackschool.co
UI/UX 4শখার 4রফােরেSস
89 courses.stackschool.co
অLাপিলেকশেনর 4:ােটাটাইপ ]তির হেয় যাওয়ার পেরর কাজটা মূলত ওেয়ব
িডজাইনােরর। তার কাজ HTML and CSS বLবহার কের িডজাইেনর একটা জীবন দান
করা। এই কাজ করার জনL আপনার িভ½ িভ½ টDলস এর :েয়াজন পড়েব। একটা
অLাপিলেকশন 4ডেভলপেম; 4:ােসেসর মেধL সব 4থেক সহজ কাজ হেY এটাই। তেব সহজ
কাজ হেলও অেনক Tেলা িবষয় আপনােক জানেত হেব। অেনক িথওির এবং :াÓকLাল
কােজর মাধLেমই আপিন এই অিভ|তা অজJন করেত পারেবন। 4যই 4যই টDলস এবং
লLাংTেয়জ Tেলা আপনােক িশখেত হেব, 4ছা কের তার বণJনা আিম এখােন 4দওয়ার 4চা
করিছ -
HTML: ওেয়ব সাইট িডজাইেনর কথা আসেল সবার :থেমই যার নাম আেস 4স
হল HTML। আজ 4ডেভলপেমে;র জগত অেনক পিরবতত হেয় িগেয়েছ। নতDন নতDন
অেনক টDলস এেসেছ, লLাংTেয়জ এেসেছ, 4ডেভলপেমে;র িথওির অেনক পিরবতত হেয়েছ
িক~ HTML পিরবতJ ন হয়িন। এটা yক 4য, HTML এর নতDন ভাসJন এেসেছ। নতDন নতDন
অেনক িফচার এেসেছ, িক~ আেগও ওেয়ব িডজাইেনর জনL HTML বLবহার করা হেতা,
এখেনা হেY, ভিবষLেতও হেব। আপিন যিদ ওেয়েবর জগেত িনেজর নাম 4লখােত চান তাহেল
আপনােক HTML িশখেতই হেব। HTML এর পূণJ র®প হেY - Hyper Text Markup
Language. এটা একটা মাকJ াপ ভাষা। অেনেকই এটােক 4:াEািমং লLাংTেয়জ মেন কের
থােকন। এটা একটা ভাষা, িক~ 4কান 4:াEািমং ভাষা না। এটা বLবহার কের আমরা বেল
4দই 4য আমােদর ওেয়ব সাইেট 4কাথায় িক থাকেব, 4কাথায় বাটন থাকেব, 4কাথায় িলংক
থাকেব, 4কাথায় ইেমজ থাকেব। আমরা াউজার বLবহার কের ওেয়ব সাইট াউজ কের
থািক। িক~ াউজার এই HTML বLািতত 4কান িকছDই বD ঝেত পাের না। আমরা যখন
াউজাের িগেয় 4ফসবD েকর URL টা িলেখ সাচJ কির, 4ফসবD েকর সাভJ ার তখন আমােদর
াউজারেক একটা HTML ফাইল পাyেয় 4দয়। াউজার তখন ওই HTML ফাইলটা পেড়
4সই অনুযায়ী ওেয়ব 4পজ 4র³ার কের আমােদর সামেন 4দখায়। আপিন 4য 4কান ওেয়ব
সাইেট িভিসট কের রাইট বাটন ি£ক কের view page source বাটেন ি£ক করেল একটা
িহিজিবিজ 4লখা 4পজ ওেপন হেব। এখােন আপিন যা 4দখেত পােবন তার 4বিশরভাগই হেY
HTML 4কাড। আর এই HTML 4কাড ]তির কেরেছ একজন ওেয়ব িডজাইনার।
HTML খD ব সহজ একটা ভাষা যা িশখেত খD ব 4বিশ পিরম আপনােক করেত হেব না। এ
কাজ কের টLাগ এর মাধLেম। যিদ আপিন 4কান এক 4লখােক টাইেটল বানােত চান তাহেল
4সই 4লখাটার সামেন <h1> ওেপিনং টLাগ এবং 4শেষ </h1> 4£ািসং টLাগ িদেত হেব। এেতই
90 courses.stackschool.co
াউজার বD েঝ যােব 4য িকভােব 4লখাটা 4দখােত হেব। এরকম িবিভ½ কােজর জনL িবিভ½
রকেমর টLাগ রেয়েছ। আপনার কাজ এই টLাগ Tেলা সVেকJ |ান অজJন করা, 4কান ধরেনর
কােজর জনL HTML 4কান ধরেনর টLাগ 4:াভাইড করেছ 4সটা 4জেন 4নওয়া। একটা িরেয়ল
ওেয়বসাইট িডজাইন করেত এরকম হাজার হাজার টLাগ আপনােক িনদ ভােব বLবহার
করেত হেব।
CSS: HTML বLবহার করা হয় একটা ওেয়বসাইেটর কাঠােমা ]তির করার জনL, িক~
এই কাঠােমা টা 4মােটও সুদশJন না। একটা ওেয়বসাইেটর 4চহারা সুjর করার জনL বLবহার
করা হয় Cascading Style Sheet বা যােক আমরা CSS বেল থািক। এটাও একধরেনর
ভাষা, তেব 4:াEািমং ভাষা নয়। CSS আপিন HTML ফাইেলর িভতের িলখেত পােরন,
এমনিক HTML এর টLােগর িভতেরও িলখেত পােরন। তেব সব 4থেক ভাল উপায় হেY নতDন
একটা ফাইল ]তির কের 4সখােন CSS 4কাড 4লখা এবং HTML এর সােথ কাজ করার জনL
ফাইলটােক HTML ফাইেলর সােথ িলংক কের 4দওয়া। CSS মূলত কাজ কের িসেল
েরর
মাধLেম। HTML টLাগ বা এিলেম; Tেলােক িসেল
করার জনL অেনক ধরেনর িসেল
র
আেছ। :িতটা এিলেম; আলাদা আলাদা ভােব িসেল
কের আপনার মন মত সব াইল
র`লস িলেখ িদেত পােরন। িকভােব াইল র`লস িলেখবন, িক াইল র`লস িলেখবন তা
আেগ 4থেকই CSS বেল িদেয়েছ। আপনার কাজ _ধD 4সই র`লস Tেলা িশেখ 4নওয়া।
91 courses.stackschool.co
4কাড মLােনজ করার জনL বLবPত হেY। এরকম িকছD আকেটকচার হল - OOCSS
(Object Oriented CSS), SMACSS (Scalable and Modular Architecture for
CSS), ITCSS (Inverted Triangle CSS), ACSS (Atomic CSS), BEM (Block
Element Modifier) ইতLািদ। ওেয়ব সাইট িডজাইন করার জনL 4কােনা রকম 4কােনা
আকেটকচােরর দরকার 4নই, আপিন সyক CSS 4কাড িলখেলই াউজার বD ঝেত পারেব।
িক~ আপিন যিদ বড় 4কােনা অLাপিলেকশন িডজাইন কের থােকন, 4সখােন সyক ভােব
কাজ সV½ হওয়ার সােথ সােথ আপনার 4কাডটা মLােনেজবল িকনা 4সটাও অেনক Tর`NপূণJ
িবষয়। আর যখন আপিন 4কােনা আকেটকচার মেডল ফেলা কের 4কাড করেবন তখন
অেনক কম 4কাড িলেখ অেনক 4বিশ পিরমাণ কাজ করেত পারেবন। তাই যিদও এই মেডল
Tেলা িশখেত িকছD সময় এবং ম লাগেব তারপেরও 4চা করেবন এTেলা িশেখ 4নওয়ার, যা
আপনােক অনL িডজাইনােরর 4থেক অননL কের তDলেব।
CSS Preprocessors: আমরা জািন CSS 4কান 4:াEািমং লLাংTেয়জ না। তাই
CSS বLবহার কের যখন আমরা 4কাড কির তখন অেনক 4বিশ 4কাড আমােদরেক িলখেত
হয়। একবার 4কাড িলখেলই যিদ কাজ হেয় 4যত তাহেলও আমােদর 4তমন 4কান সমসLা িছল
না। িক~ িচ@া কেরন, একটা ওেয়ব সাইেটর জনL আপিন কেয়ক হাজার লাইেনর 4কাড
িলখেলন িক~ তা আপনার £াইে;র পছj হল না। তখন এই হাজার হাজার লাইেনর 4কাড
আবার আপেডট করেত হেব 4যটা খD বই কদায়ক কাজ। CSS এর িভতের যিদ 4:াEািমং
লLাংTেয়েজর িকছD িফচার যD করা 4যত তাহেল আমরা আরও সহেজ, আরও এিফিসেয়;
ভােব CSS 4কাড িলখেত পারতাম।
yক এই সমসLাটার সমাধানই করেছ CSS Preprocessors. এটা িক~ CSS না, এটা
একটা কVাইলােরর মত কাজ কের। িবিভ½ রকম ি::েসসর আেছ যােদর :েতLেকর CSS
4লখার িনজ? র`লস এবং িসনটLাc আেছ। আপিন 4সই র`লস বLবহার কের CSS 4কাড
িলখেবন। CSS 4কােডর সােথ সােথ এখােন আরও এc±া িকছD িফচার এবং িসনটLাc
আেছ যা বLবহার কের আপিন 4:াEািমং এর মত কের CSS িলখেত পারেবন। িক~ সমসLা
হেY এই িসনটLাc Tেলা আমােদর াউজার বD ঝেত পাের না। আমােদর াউজার _ধD মাX
Plain CSS 4কাড বD ঝেত পাের। একটা কVাইলার এই এc±া িসনটLাc এবং িফচার সহ
4লখা 4কাড Tেলােক সাধারণ CSS 4কােড র®পা@র কের 4ফেল। আর তখন আমােদর
াউজার এই িসনটLাc Tেলা বD ঝেত পাের। 4ছােটাখােটা :েজে
র জনL 4কান
Preprocessors এর বLবহার করার দরকার না হেলও যখন আপিন অেনক 4পজ আেছ
92 courses.stackschool.co
এমন 4কান ওেয়বসাইেটর িডজাইন করেবন তখন এটা আপনােক অেনক সাহাযL করেব।
আপনার 4কাড 4লখার সময় অেনক 4বঁেচ যােব এবং পরবতীেত যিদ 4কান আপেডটও করেত
হয় তাহেলও 4কান রকম 4কান পLারা ছাড়াই আপিন পুেরা ওেয়ব সাইেটর আপেডট করেত
পারেবন। এমনটা না 4য Preprocessor না জানেল আপিন ওেয়ব িডজাইনার হেত পারেবন
না। আিম আেগই বেলিছ, 4ডেভলপেমে; আমরা অসংখL টDলস, লLাংTেয়জ, লাইেরী এবং
4}মওয়ােকJ র সােথ পিরিচত হব। :থম 4দখায় 4যTেলােক 4দেখ অেহতDক মেন হেত পাের, িক~
এর সব িকছDই এেসেছ আমােদর 4কান না 4কান সমসLার সমাধান করার জনL।
93 courses.stackschool.co
4রিSভ িডজাইন করার জনL আপনােক নতDন কের িকছD িশখেত হেব না, _ধD মাX CSS
বLবহার কেরই আপিন 4য 4কান ওেয়বসাইটেক 4রিSভ করেত পারেবন। এর জনL
আপনােক CSS এর Media Query এবং Responsive Measurement Units সVেকJ
জানেত হেব। তেব এটা খD বই িবরকর একটা কাজ। কারণ একটা ওেয়বসাইট আপনােক
িভ½ িভ½ ৫-৭ টাইেপর িKেনর জনL িভ½ িভ½ ভােব িডজাইন করেত হেব। এবং এটা
ভােলাভােব করার জনL অবশLই আপনােক অেনক িদন কাজ কের অিভ|তা অজJন করেত
হেব।
CSS Frameworks: :থম :থম CSS 4কাড িলখেত ভাল লাগেলও যখন আপিন
:েফশনাল ভােব কাজ করেবন তখন আর 4মােটও হাজার হাজার লাইেনর CSS 4কাড
িলখেত ভােলা লাগেব না। আর :িতটা 4:ােজে
র জনLই একই ধরেনর CSS :িতিনয়ত
4লখাটাও সময় ন করা ছাড়া আর িকছDই না। এই জনL ভােলা হয় একটা িনভJ রেযাগL CSS
4}মওয়াকJ িশেখ িনেল। :থমত :চDর CSS 4কাড 4লখার হাত 4থেক বঁাচা যােব আর িতীয়ত
িডজাইন সVেকJ 4কান |ান না থাকার পেরও সুjর সুjর ওেয়বসাইট িডজাইন করা যােব।
4}মওয়াকJ 4শখার আর একটা বড় কারণ হেত পাের 4রিSভ িডজাইন। িকছD িকছD 41েX
িডজাইনাররা _ধD মাX 4রিSভ িফচারটার জনLই CSS 4}মওয়াকJ বLবহার কের থােক।
4}মওয়াকJ বLবহার করেল ওেয়বসাইট 4রিSভ করার জনL :চDর CSS 4কাড 4লখার আর
দরকার হেব না।
CSS 4}মওয়ােকJ র যখন কথা আেস তখন অেনেকই অেনক 4}মওয়ােকJ র সােজশন িদেয়
থােকন। 4কউ বেলন এটা ভােলা 4তা 4কউ বেলন এটা। আসেল সব 4}মওয়াকJ ই ভােলা,
আর সব Tেলা :ায় একই ওেয়েত কাজ কের। তাই একটা ভােলাভােব িশখেত পারেল বািক
Tেলােতও কাজ করেত পারেবন, _ধD 4চােখর সামেন তার ডকDেমে;শনটা 4খালা থাকেলই
হেব। CSS 4}মওয়াকJ 4বেছ 4নওয়ার সময় িকছD িবষয় মাথায় রাখেত হেব, 4যমন - 4রিSভ
িEড িসেম আেছ িকনা, িবউËইন কেVােন; কত Tেলা আেছ এবং 4স Tেলা 4দখেত
4কমন, ইউিল সােপাটJ আেছ িকনা, কামাইেজশন করা যায় িকনা, ফাইেলর সাইজ কত,
কিমউিন সােপাটJ 4কমন? CSS 4}মওয়ােকJ র কথা বলেল, এবং সব 4থেক 4বিশ সুেযাগ
সুিবধার কথা বলেল, সবার :থেম Bootstrap এর নামটাই চেল আেস। এটা খD বই জনি:য়
এবং বল বLবPত 4}মওয়াকJ । তাই 4চাখ বq কের আপিন এটা িশেখ িনেত পােরন। আর
এটা 4শখা হেয় 4গেল বািক আরও 4যসব 4}মওয়াকJ আেছ 4যমন, Bulma, W3CSS,
94 courses.stackschool.co
Semantic UI, এরকম হাজার হাজার নাম না জানা 4}মওয়াকJ আপিন না িশেখই বLবহার
করেত পারেবন।
JQuery: আপনার ওেয়ব সাইেট যিদ িকছD ই;ােরকশন যD করেত চান তাহেল সব
4থেক সহজ সমাধানই হল JQuery. এটা জাভািKেµর একটা লাইেরী এবং বLবহার করেত
খD ব 4বিশ জাভািKµ জানারও :েয়াজন হয় না। কারণ :চDর পিরমাণ JQuery Plugins
আেছ যা খD ব সহেজই বLবহার করা যায় এবং 4িশয়াল সব ইেফ
যD করা যায়। এই 41েX
অেনেকই মেন কেরন 4য JQuery 4শখার 4কােনা দরকার 4নই। আিম মেন কির 4কােনা িকছD
িশখেল 4কােনা 1িত 4নই, বর¹ আপনার ি¨ল িলে নতDন িকছD যD হেব। তেব আপিন যিদ
4ভেব বেস থােকন JQuery িশখেলই সব হেয় যােব তাহেল আপিন অেনক বড় ভDল করেবন।
_ধD মাX ওেয়ব িডজাইেনর 41েXই এ অেনক বড় একটা ভÁিমকা রােখ। আর JQuery এর
সেবJা¿ বLবহার করার জনL আপনােক ভােলাভােব জাভািKµও িশখেত হেব।
আপিন যিদ এই পযJ@ িশখেত পােরন তাহেলই আপনােক ওেয়ব িডজাইনার বলা হেব। ওেয়ব
িডজাইনােরর কাজ 4য 4কান একটা ওেয়ব সাইেটর িডজাইন HTML and CSS বLবহার কের
]তির করা। এবং এই িবষয় Tেলা 4শখার জনL আমার সােজশন হল w3school এবং
mozilla developer network এর ওেয়বসাইট। আমার মেন হয়না HTML এবং CSS
4শখার জনL এর 4থেক ভাল 4কান িরেসাসJ হেত পাের বা দরকার আেছ। িবিগনারেদর িভতের
একটা :বণতা আিম সচরাচর ল1L কের থািক, 4য তারা ডকDেমে;শন পড়েত চায় না। ঘার
পর ঘা সময় তারা ইউউেব উেটািরয়াল 4দেখ ন কের তাও ডকDেমে;শেনর ধাের
কােছ 4যেত চায় না। আিম িবষয়টা 4খালােখািল ভােব বলেত পারিছ কারণ আিম িনেজও এই
দেলরই একজন সদসL িছলাম। িক~ আমােদর মেন রাখেত হেব ডকDেমে;শন হেY যারা এই
টDলসটা ]তির কেরেছ তােদর 4:াভাইড করা দিলল, আর তােদর 4থেক 4তা 4বিশ আর
কােরারই জানার কথা না, তাই না? এই জনL 4ডেভলপেমে; েক থাকেত 4গেল আমােদর
:চDর ডকDেমে;শন পড়েত হেব। :িতিদনই আমােদর নতDন নতDন 4কান না 4কান টDলস বা
লাইেরী িনেয় কাজ করেত হয়। সব িকছD িক একিদেন মেন রাখা সব? আর সব িকছD িক
মেন রাখার দরকারও আেছ? আপিন যিদ ডকDেমে;শন পড়েত জােনন, তাহেল 4কান িকছDই
আপনার মাথায় রাখেত হেব না। এবং :িতিনয়ত নতDন নতDন টDলস িনেয় 4খলা করেবন,
তােতও 4বািরং লাগেব না বর¹ অেনক 4বিশ মজা পােবন।
95 courses.stackschool.co
HTML এ যা যা িশখেত হেব
- How does HTML Work - HTML Lists & Tables
- HTML Elements & Attributes - HTML Forms
- HTML Head and Meta Tags - HTML Graphics
- Heading, Paragraph & - HTML Media
Formatting - HTML5 and It’s API
- HTML Links & Images
96 courses.stackschool.co
Bootstrap এ যা যা িশখেত হেব
- Bootstrap Grid System - Bootstrap Cards and Modal
- Responsive Layout Classes - Carousel, Collapse & Dropdown
- Bootstrap Theming - Bootstrap Forms & Inputs
- Bootstrap Utilities - Bootstrap List Group
- Images, Tables & Figues - Bootstap Nav & Navbar
- Basic Components - Extend Bootstrap
97 courses.stackschool.co
HTML, CSS and Bootstrap 4শখার 4রফােরেSস
- Moshiur (Bangla)
- Anisul Islam (Bangla)
- Stack Learner (Bangla)
- Design Course (English)
- Traversy Media (English)
- Dev Tips (English)
98 courses.stackschool.co
এত1ণ পযJ@ আমরা যা িকছD িনেয় আেলাচনা করলাম তার সবটাই ওেয়ব িডজাইন।
এখােন িভ½ িভ½ দুইটা কLািরয়ার আপিন গড়েত পােরন, যার :থমটা হল UI/UX
Designer এবং িতীয়টা হল Web Designer, তেব আপিন চাইেল দুইটা একসােথও করেত
পােরন এবং এই 41েX আপনার ভLালু এবং িডমা³ দুেটাই বি^ পােব। এবার আসা যাক
}ে;³ 4ডেভলপেমে;। এই 41েXও আপনােক একটা অLাপিলেকশেনর }; বা ইউজার 4যই
অংশটা বLবহার করেব 4সই অংশটাই ]তির করেত হেব। তাহেল একটD আেগ 4য বললাম এটা
ওেয়ব িডজাইন, এখন আবার বলিছ এটা }ে;³ 4ডেভলপেম;। আসেল দুইটার মেধL
পাথJকLটা 4কাথায়?
পূেবJ বা এখেনা যখন আমরা একটা ওেয়বসাইট িডজাইন কির, 4সই 41েX };সাইেট 4তমন
4কান কাজ বা ই;ােরকশন থােক না। এই ধরেনর সাইট Tেলার মাধLেম আমরা _ধD মাX িকছD
ইনফরেমশন 4শয়ার কের থািক। ইউজার ওেয়বসাইেট িভিসট কের, আJেকল পেড়, সেবJা¿
হেল একটা লাইক কেম; কের। এর 4থেক 4বিশ কাজ সাধারণত ওেয়বসাইেটর 41েX
থােকনা। তাই এই ধরেনর ওেয়বসাইট িডজাইেনর জনL 4িশয়াল 4কান টDলস বা 4টকিনকও
দরকার হয় না। সাধারণ HTML, CSS এবং িকছD িকছD 41েX অg একটD Javascript
বLবহার করেলই হেয় যায়। এইTেলােক বলা হয় ওেয়বসাইট, আর ওেয়বসাইেটর }ে;ে³
4কান 4ডেভলপেমে;র দরকার হয় না।
িক~ বতJ মােন ওেয়ব 4বসড অLাপিলেকশন Tেলার িডমা³ 4বেড় 4গেছ। এখন ইউজাররা ওেয়ব
বLবহার কের _ধD তথL 4দখেত :,ত নয়। তারা :চDর ই;ােরকশন চায়, সম) কাজ ওেয়েব
বেসই করেত চায়। আিম এই 4য এখন বইটা 4লখিছ, কেয়ক বছর আেগ হেলও মাইোসফট
ওয়াডJ িপিসেত ইSটল কের আমােক িলখেত হেতা। িক~ আিম 4লখিছ াউজাের Tগল
ডকস বLবহার কের। যিদও Tগল ডকস একটা ওেয়ব সাইট তারপেরও এখােন একটা
অLাপিলেকশেনর সম) িফচার রেয়েছ। আমরা সারািদন 4ফসবD েক বেস 4য লাইক কেম; এর
বনLা বইেয় 4দই, 4শয়ার কের, িভিডও 4দেখ ফােয় 4দই 4সই 4ফসবD ক িক~ 4কান ওেয়বসাইট
না, এটা একটা অLাপিলেকশন। ওেয়বসাইট হল 4যখােন আমরা _ধD তথL পাব, িনেজ 4থেক
4কান িকছD করার সুেযাগ 4সখােন 4নই। আর ওেয়ব অLাপিলেকশন হল একটা অLাপিলেকশন,
4যখােন তথL পাওয়ার সােথ সােথ :চDর িফচার রেয়েছ। অেনক অেনক কাজ 4সখােন করা
যায়, িক~ এটা ওেয়েবর মাধLেম সাভJ করা হেY। এখন আপনারা 4খয়াল করেলই 4দখেত
পারেবন আমরা :িতিদন কয়টা ওেয়বসাইট িভিসট কির আর কয়টা ওেয়ব অLাপিলেকশন
বLবহার কের থািক?
99 courses.stackschool.co
4ফসবD ক, টDইটার, িলÔিডন, ইউউব এরকম যত 4সাশLাল অLাপ আেছ সবই ওেয়ব
অLাপিলেকশন। 4লখােলিখ করার জনL বা 4:েজে;শন ]তির করার জনL 4য আমরা Tগল
ডকস, Tগল শীট, Tগল Õাইড বLবহার কের থািক এইTেলা হল ওেয়ব অLাপিলেকশন।
আমরা 4যই 4মইল বLবহার কের থািক, 4সটাও একটা ওেয়ব অLাপিলেকশন। এখন বাজাের
ফেটা এিডং, িভিডও এিডং করার হাজার হাজার ওেয়ব অLাপিলেকশন রেয়েছ। _ধD তাই
না, আপিন াউজাের বেস মাÍেয়ার 4গমও 4খলেত পারেবন।
বতJ মােন সফটওয়Lােরর িবজেনস মেডল পিরবতত হেয় 4গেছ। পূেবJ একটা সফটওয়Lার
4সল হেতা এবং একবার 4সল করার পের 4কাVািন Tেলােক কেয়ক বছর ি}েত আপেডট
িদেত হেতা। যার ফেল তােদর সফটওয়Lােরর দাম অেনক 4বিশ রাখেত হেতা। আর দাম 4বিশ
হওয়ার কারেণ তােদর ইউজারও তDলনামূলক কম হেতা। এর সােথ সােথ সফটওয়Lার ািকং
এর সােথ 4তা আমরা সবাই পিরিচত। দািম দািম সব সফটওয়Lার িকছD 4কাVািন Lাক কের
কম মূেলL িবি কের িনেজরা 4তা অেনক অথJ উপাজJন করেতা, িক~ 4যই 4কাVািন এই
সফটওয়Lারটা বািনেয়েছ তােদর ভঁ ােড় মা ভবানী। এই সম) কারেণ আমরা সফটওয়Lােরর
নতDন িবজেনস মেডল 4পেয়িছ। আর তা হেY সাবিKপশন মেডল।
অg িকছD বড় বড় সফটওয়Lার বLতীত 4যই সফটওয়Lার Tেলা ওেয়ব াটফেমJ 4কান রকম
সমসLা ছাড়াই চালােনা সব 4সই সম) সফটওয়Lার এখন আমরা ওেয়ব অLাপিলেকশন
িহেসেব বLবহার কির। তারা এখন একবাের সফটওয়Lার 4সল না কের মািসক একটা িফ িনেয়
ভাড়া 4দয়। আপিন ভাড়া িদেল সফটওয়Lার চালােত পারেবন, না িদেল পারেবন না। আর
4যেহতD এটা একটা ওেয়ব অLাপিলেকশন তাই, সফটওয়Lার অনL 4কউ Lাক কেরও চালােত
পারেব না। :িত মােসই ইউজােরর কাছ 4থেক সাবিKপশন িফ বাবদ একটা টাকা 4যেহতD
4কাVািন Tেলা পায়, তাই তােদর সফটওয়Lােরর দামও আেগর মত এত 4বিশ রাখার দরকার
হয় না। আর দাম 4যেহতD অেনক কম, মােস ১-২০ ডলার তাই :চDর ইউজার এখন
অLাপিলেকশন Tেলা বLবহার করেছ। এটােক বলা হয় win win পিলিস। 4কাVািন দাম কম
4রেখও তােদর 4কান লস হেY না, আবার ইউজারও :িতমােস অg অg কের টাকা িদেয়
অLাপিলেকশনটা তার সােধLর মেধLই বLবহার করেত পারেছ।
ওেয়ব অLাপিলেকশেনর }ে;³ ]তির করা, আর ওেয়বসাইেটর }ে;³ ]তির করা এক িবষয়
না। ওেয়ব অLাপিলেকশেনর }ে;³ ]তিরর জনL অেনক 4বিশ |ান এবং দ1তার :েয়াজন
হয়। আর যারা ওেয়ব অLাপিলেকশেনর }ে;³ িডজাইন কের, 4ডেভলপ কের তােদরেক
100 courses.stackschool.co
}ে;³ 4ডেভলপার বলা হয়। }ে;³ 4ডেভলপােরর দািয়Nটা আরও ভালভােব বD ঝেত চাইেল
আমােদর 4মাবাইল 4ডেভলপারেদর কাজটা বD ঝেত হেব। একজন 4মাবাইল 4ডেভলপারেক 4তা
আমরা কখেনাই 4ছাট কের 4দখেত পাির না, তােদর আমরা 4ডেভলপার বেলই সান কির।
একজন 4মাবাইল 4ডেভলপার আর একজন }ে;³ 4ডেভলপােরর মেধL পাথJকL হল,
4মাবাইল 4ডেভলপার _ধD মাX একটা 4ছা িKেনর জনL অLাপিলেকশন 4ডেভলপ কের।
আর একজন }ে;³ 4ডেভলপার ওই একই অLাপিলেকশন ওেয়েবর জনL মাÍপল িKেনর
জনL 4ডেভলপ কের থােক। যিদ 4সই অেথJ বলা যায়, তাহেল একজন }ে;³ 4ডেভলপার
4মাবাইল অLাপিলেকশন 4ডেভলপােরর সমান এবং িকছD িকছD 41েX অেনক 4বিশ পিরমাণ
দািয়N পালন কের থােক।
একজন ভাল মােনর }ে;³ 4ডেভলপার হেত চাইেল আপনােক অেনক িকছDই িশখেত
হেব, অেনক ]ধযJ িনেয় অেনক পিরম করেত হেব। একটা অLাপিলেকশেনর }ে;³ 4দখেত
4কমন এটা যতটা Tর`NপূণJ, অLাপিলেকশনটা কতটা ¬ুথিল পাফJ রম করেছ 4সটাও yক
ততটাই Tর`Nপূণ।J একজন }ে;³ 4ডেভলপার িহেসেব অLাপিলেকশেনর পাফJ রেমS িনিত
করা আপনার দািয়N। আর এই Tর` দািয়N সyক ভােব পালন করেত হেল আপনার লাগেব
অিভ|তা। ৩০ িদেন কমিট }ে;³ 4ডেভলপেম; এর মত চটকদার িব|াপন 4দেখ
উÖিসত হওয়ার 4কান কারণ 4নই। কারণ ভাল মােপর একজন }ে;³ 4ডেভলপার হেত কম
কের হেলও একবছেরর 4বিশ সময় লাগেব। বড় 4ছাট িমিলেয় ২৫-৩০ টা লাইেরী সVেকJ
|ান অজJন করেত হেব। এছাড়াও 4ডেভলপেমে;র অসংখL 4টকিনক িশখেত হেব। যা আমার
মেন হয় না 4কানভােবই একবছেরর পূেবJ ভালভােব 4শখা সব। যিদ আপনার 4:াEািমং এবং
:েম সিÃং এর দ1তা অেনক 4বিশ থােক 4সই 41েX আপনার িকছDটা সময় কম লাগেত
পাের। তারপেরও আিম মেন কির, এখােন সময় বLয় করা উিচৎ :েয়াজেনর 4থেকও অেনক
4বিশ।
আমরা জািন 4ডেভলপেম; হেY সািহতL, আর এই সািহতL রচনার জনL দরকার ভাষা।
4ডেভলপেমে;র জগেত এই একটা মাX 41েXই 4কান অলটারেনভ 4নই, 4কান িমত 4নই।
একরকম 4জার কেরই 4যন আমােদর ওপের চািপেয় 4দওয়া হেY জাভািKµ নামক
িবভীিষকােক। আপিন যত বড় 4ডেভলপারই হন না 4কন, আপিন যিদ }ে;³ 4ডেভলপেম;
করেত চান, আপনােক জাভািKµ জানেতই হেব। yক কতটা জানেত হেব? অেনেকই এই
রকম : হরহােমশায় কের থােকন, 4য }ে;³ 4ডেভলপেম; করেত কতটা জাভািKµ
জানেত হেব? জাভািKµ হেY ভাষা, আর 4ডেভলপেম; হেY সািহতL। মেনর মাধD যJ
101 courses.stackschool.co
িমিশেয় সািহতL রচনার জনL যতটা ভাষা জানা দরকার yক ততটাই জাভািKµ জানেত
হেব।
জাভািKµ হেY }ে;ে³র একমাX লLাংTেয়জ যা বLবহার কের আমরা ওেয়ব সাইেট
িবিভ½ ই;ােরকশন, ডাইনািকম কে;; এবং লিজক যD করেত পাির। জাভািKµ খD বই
4ছা একটা লLাংTেয়জ। অেনেক 4তা এখেনা এটােক 4:াEািমং লLাংTেয়জই মেন কেরনা,
কারণ এর 4শেষ িKµ 4লখা আেছ। 4ছাট লLাংTেয়জ হেলও এটা খD বই পাওয়ারফDল। এটা
এতটাই পাওয়ারফDল 4য অেনক 4গম ইিেনও এখন জাভািKµ বLবPত হেY।
জাভািKেµর বিবধ বLবহার িনেয় আমরা পরবতীেত আেলাচনা করেবা। তেব :থেমই
আমরা এটা 4মেন িনেত বাধL 4য জাভািKµ ছাড়া }ে;ে³ আমােদর 4কান গিত 4নই।
জাভািKেµর :থম বLবহার হেY DOM Manipulation. HTML বLবহার কের একটা
ওেয়বসাইট িডজাইন করার পের যিদ আমরা সমেয়র সােপে1 4সখােন ডাইনািমক 4কান িকছD
যD করেত চাই, 4কান বাটেন বা 4টcেট ি£ক হেল িকছD একটা করেত চাই অথবা নতDন নতDন
এিলেম; িেয়ট বা িরমুভ করেত চাই, আমােদর :েয়াজন পরেব জাভািKµ। একটা
HTML ডকDেম; াউজার যখন 4লাড কের 4শা কের, তখন ওই HTML ডকDেমে;র িভতের
থাকা সম) এিলেম; একটা জাভািKµ অবেজে
র®পা@িরত হেয় যায়। এই অবেজে
র
নাম ডকDেম; অবেজ
বা Document Object Model (DOM). পরবতীেত এই
জাভািKµ অবেজ
টা আমরা মেনর মত পিরবতJ ন বা পিরবধJন করেত পাির। যখন আমরা
ডকDেম; অবেজে
4কান পিরবতJ ন কির, তখন াউজার সােথ সােথই 4সই পিরবতত
অবেজ
টা আবার াউজাের 4র³ার কের, যার ফেল আমরা আপেডেটড ইনফরেমশনTেলা
4দখেত পাই। ডকDেম; অবেজ
পিরবতJ ন, পিরবধJন করার 4যই কাজ জাভািKµ বLবহার
কের আমরা কের থািক এেকই বেল DOM Manipulation. একজন }ে;³ 4ডেভলপার
হওয়ার পূবJ শতJ হেY জাভািKµ বLবহার কের DOM Manipulation করেত পারা। এই
41েX DOM Manipulation করার অেনক লাইেরী আপিন পােবন। যার িভতের সব 4থেক
ভাল উদাহরণ হেY JQuery, িক~ আিম আপনােক বলেবা 4কান রকম 4কান লাইেরী এর
সাহাযL ছাড়াই আপনােক DOM Manipulation িশখেত হেব। তাহেলই আপিন জাভািKµ,
DOM এবং }ে;ে³ জাভািKেµর Tর`N বD ঝেত পারেবন যা আপনার পরবতীেত কােজ
লাগেব।
102 courses.stackschool.co
DOM Manipulation 4শখার পেরই আপিন 4য 4কান এক লাইেরী বা 4}মওয়াকJ 4বেছ
িনেত পােরন। িকছD িদন পূেবJও কখেনা কgনা কির িন 4য }ে;³ 4ডেভলপেমে;র জনL 4কান
লাইেরী এর :েয়াজন হেব। িক~ আজ }ে;³ পুেরা একটা আলাদা অLাপিলেকশন।
আলাদা অLাপিলেকশন িহেসেব 4ডেভলপড হেY, আলাদা অLাপিলেকশন িহেসেবই 4ডপলয়
বা 4হা হেY। পুেরাপুির আলাদা ভােব 4িজং, 4টªং এবং িবউ হেY। এর জনL দরকার
পড়েছ অসংখL টDলস 4য Tেলা ৫ বছর আেগও খD ব একটা পিরিচত িছল না। 4যমন
অLাপিলেকশন িবউ করার জনL দরকার িবউ টDল, সব Tেলা ফাইলেক বাে³ল করার
জনL, কমে:স করার জনL দরকার বাে³লার, অLাপিলেকশন 4ট করার জনL দরকার ইউিনট
4ট টDল, অেটােমক 4ট এ³ 4িজং টDল। আর এই িবষয় Tেলা 4মােটও সহজ 4কান িবষয়
না।
তেব }ে;³ 4ডেভলপার িহেসেব আমােদর 4নাডেজএস জানার :েয়াজন 4নই। আমােদর _ধD
জানেত হেব NPM বা 4নাড পLােকজ মLােনজারটা িকভােব কাজ কের। এর সােথ সােথ আর
একটা টDলস সVেকJ ও আমােদর অg একটD ধারণা থাকা দরকার আর তা হেY BabelJS.
এটা একটা জাভািKµ ±াSপাইলার। আমরা আজেক 4যই জাভািKµ িনেয় কাজ কির,
কেয়ক বছর পূেবJও জাভািKµ এতটা ¬াটJ িছল না। এখন জাভািKেµ নতDন নতDন সব
িফচার, িসনটLাc যD হেয়েছ। জাভািKেµর এই নতDন ভাসJনেক বলা হয় ES6, 4যই
ভাসJনটা পুরাতন াউজাের িছল না। তাই আপনার ]তির করা অLাপিলেকশন 4যন সব 4থেক
4বিশ াউজাের সােপাটJ 4দওয়া যায় এই উে{েশLই ]তির করা হেয়েছ BabelJS. যার কাজ,
নতDন জাভািKেµর িফচারেক, িসনটLাcেক পুরাতন জাভািKেµর িসনটLােc র®পা@র
103 courses.stackschool.co
করা। আমরা যখন 4কাড করেবা তখন সব নতDন িফচার বLবহার করেবা, িক~ াউজার যখন
এিcিকউট করেব 4স সব পুরাতন িফচারই 4দখেত পােব। যার ফেল আমরা সব 4থেক 4বিশ
মানুেষর কােছ আমােদর অLাপিলেকশন 4পwেx ছ িদেত পারব।
}ে;³ 4ডেভলপেমে;র কথা বলেল আরও দুইটা টDলেসর নাম সামেন চেল আেস।
একটা হেY িল;ার আর িতীয়টা হেY 4কাড ফরেমটার। 4য 4কান লLাংTেয়েজ 4কাড করার
একটা িনদ কনেভনশন আেছ। আপিন যিদ 4সই কনেভনশন 4মেন 4কাড কেরন তাহেলই
সারা িবেÉর কােছ আপনার 4কাড EহণেযাগLতা পােব। আমরা মানুষ সব সময় ভDল কির,
4কাড করেত করেতও অেনক সময় এই কনেভনশন 4মেন চলা হয় না। যখনই আপিন এই
রকম কনেভনশন ভDেল যােবন, তখনই আপনােক কনেভনশেনর কথা মেন কিরেয় 4দেব
িল;ার। সব 4থেক জনি:য় জাভািKµ িল;ার হেY ESLint। আর অেটােমক 4কােডর
ফেমJট yক করার জনL বLবPত হয় 4কাড ফেমJটার। সব 4থেক জনি:য় 4কাড ফেমJটার হেY
Pretier.
এই 4য টDলস Tেলার কথা বললাম এTেলা হেY সব 4থেক 4বিশ বLবPত টDলস। এছাড়াও
4ডেভলপেম; :েসসটােক সহজ করার জনL আরও অসংখL টDলেসর :েয়াজন হেত পাের।
টDলস Tেলা িনেজ িনেজ কনিফগার কের 4ডেভলপেমে;র জনL উপেযাগী ইনভারেম; ]তির
করেত 4শখাটা খD বই Tর`তপূণJ। তেব 4বিশরভাগ 41েXই আপনােক এই কাজটা করেত হেব
না। কারণ জনি:য় সম) }ে;³ 4}মওয়াকJ বা লাইেরী এর CLI বা কমা³ লাইন টDল এবং
Boilerplate 4সটআপ আেছ। এখােন _ধD মাX এক কমা³ রান কেরই একটা :েজ
_র`
করা যায়।
104 courses.stackschool.co
}ে;ে³ 4কান লাইেরী বা 4}মওয়াকJ 4বেছ িনব এই িনেয় :চDর িমত আেছ। এক
একজন এেককটা সােজ কের থােক। মাX িতন চারটা পপুলার লাইেরী, এর িভতের
িডিসশন 4নওয়া খD ব একটা কyন িকছD না। আবার 4কউ যিদ একটা 4}মওয়াকJ বা লাইেরী
ভালভােব বLবহার করেত জােন, তাহেল কেয়কিদন সময় িদেল অনL লাইেরীও িশেখ িনেত
পারেব। বতJ মােন সব 4থেক জনি:য় লাইেরী এবং 4}মওয়াকJ Tেলা হেY, ReactJS,
VueJS, Angular and Svelte. এই িল 4য 4কােনা মুেতJ পিরবতত হেত পাের।
এই িলে থাকা ReactJS সব 4থেক 4ছাট এবং একমাX লাইেরী। 4ছাট হেলও এ
বLবহার কের আপিন 4ফসবD েকর মত বড় বড় সব অLাপিলেকশন ]তির করেত পারেবন।
ReactJS ]তিরও কেরেছ 4ফসবD েকর ম, 4ফসবD ক অLাপিলেকশনটার }ে;³ 4ডেভলপ
করার জনL। তাই আপিন িনিে@ই ReactJS বLবহার কের 4যেকােনা সাইেজর
অLাপিলেকশন বানােত পােরন। িলে থাকা পরবতী দুইটাই হেY 4}মওয়াকJ । VueJS ]তির
কেরেছন Evan You নােমর এক বLি আর Angular ]তির কেরেছ 4টক জায়া; Tগল। জব
মােকJ েট সব 4থেক 4বিশ চািহদা এখন অবিধ ReactJS এর, তারপেরই অেনক বLবধােন
আেছ Angular এবং তার 4থেক বLবধােন আেছ VueJS. তেব জনি:য়তার িদক 4থেক
VueJS এিগেয় আেছ সবার 4থেক, এমনিক িকছD িদন আেগ React 4কও হার মািনেয়েছ।
VueJS and Angular 4যেহতD 4}মওয়াকJ তাই অLাপিলেকশন 4ডেভলপ করার সম) টDলস
এবং সােপাটJ আপিন এেদর কােছই পােবন। যিদও এই 41েX আপনার ?াধীনতা 1ু × হেব।
যিদ আপিন আমার মত ?াধীন 4চতা হেয় থােকন তাহেল আপনার জনL React ই 4ব হেব।
আর আপিন যিদ কমিট সলুLশন পছj কের থােকন তাহেল আিম বলব Angular. তেব
এইে1েX আপনােক Typescript িশখেত হেব। িলে থাকা সেবJােশষ টDলস একদমই নতDন
কিVটর এবং অg িকছD িদেনর িভতেরই মানুেষর মন জয় কের িনেয়েছ। এটা না লাইেরী
না 4}মওয়াকJ , এটা একটা কVাইলার যা অেনকটা Lাক সাইট 4জনােরটেরর মত কাজ
কের থােক।
আপিন 4যই লাইেরী বা 4}মওয়াকJ ই 4বেছ িনন না 4কন, :েতLেকরই িকছD ভাল িদক এবং
খারাপ িদক আেছ, িনজ? লানং কাভJ আেছ, এবং এর সােথ জিড়ত অসংখL থাডJ পাJ
টDলস আেছ যার :ায় সব িকছDই আপনােক িশখেত হেব। আপনার ওেয়ব িডজাইেনর 4যই
অিভ|তা আেছ, 4সই অিভ|তার খD ব অg িকছDই এখােন কােজ লাগেব। এখােন একটা
সাইট, একটা কেVােন; িডজাইেনর নতDন কনেসµ িবউ হেব। িক~ সুখকর িবষয় এই 4য,
নতDন 4যই কনেসµ আপনার িবউ হেব 4সটা 4যেকােনা }ে;³ 4}মওয়ােকJ র 41েXই
105 courses.stackschool.co
:েযাজL হেব। :িতটা }ে;³ 4}মওয়াকJ :ায় কাছাকািছ ভােবই কাজ কের থােক একটা
িনদ সমসLার সমাধান করার জনL। তাই যখন খD িশ আপিন একটা 4থেক আর একটােত
জাV করেত পারেবন, একই সময় একািধক 4}মওয়াকJ িনেয়ও কাজ করেত পারেবন। _ধD
একবার আপনার মূল কনেসµটা ি£য়ার হেত হেব।
এবার িনয় বD ঝেত পারেছন ওেয়ব িডজাইন এবং }ে;³ 4ডেভলপেমে;র িভতের আসল
পাথJকLটা 4কাথায়? একটা ওেয়ব অLাপিলেকশন ]তিরর 41েX তার }ে;³টা বতJ মােন
পুেরাপুির আলাদা ভােব 4ডেভলপ করা হয়। এর জনL 4ডেভলপেম; টDলস এবং 4টকিনকও
বLবহার করা হয়। একটা 4মাবাইল অLাপিলেকশন আমরা 4যভােব 4ডেভলপ কের থািক,
একটা }ে;³ অLাপিলেকশনও আমরা :ায় একই ভােব ]তির কের থািক। একটা 4মাবাইল
অLাপিলেকশেনর জনL আমােদর 4যমন আলাদা কের বLােক³ ]তির করেত হয়, yক একই
ভােব }ে;³ অLাপিলেকশেনর জনLও আলাদা কের বLােক³ অLাপিলেকশন ]তির করেত
হয়। 4মাবাইেলর 41েX এমন অেনক অLাপিলেকশন সব যার 4কােনা বLােকে³র দরকার 4নই
এবং এই রকম অLাপিলেকশন আমরা হরহােমশায় 4দেখ থািক। একই ভােব বLােক³ বােদই
_ধD ফাংশনািল বLবহার কেরই }ে;³ অLাপিলেকশনও ]তির করা সব।
}ে;³ বতJ মােন একটা Lা³এেলান অLাপিলেকশন। 4সই অLাপিলেকশন 4ডেভলপ করার
জনL 4ডেভলপেমে;র সম) র`লসই :েয়াজন হয়। িক~ ওেয়বসাইট িডজাইন 4মােটও এই
রকম 4কােনা িবষয় না। এর সােথ 4ডেভলপেমে;র 4কােনা সVকJ 4নই। একটা HTML,
একটা CSS আর একটা Javascript ফাইল িেয়ট কেরই ওেয়বসাইট িডজাইন করা যায়।
4বিশর ভাগ ওেয়ব িডজাইনই বLবPত হয় বLােক³ অLাপিলেকশেনর সােথ। তাহেল এবার
আপিনই বেলন, 4কানটােক আমরা 4ডেভলপেম; বলেবা আর িক কাজ করেল }ে;³
4ডেভলপার বলা হেব।
106 courses.stackschool.co
এই 4পজ 4?Yায় ফঁ াকা রাখা হেয়েছ
Visit https://courses.stackschool.co
Subscribe https://youtube.com/stacklearner
Like https://facebook.com/stacklearner
Join https://facebook.com/groups/stacklearner
Connect https://linkedin.com/company/stacklearner
Follow https://instagram.com/stacklearner/
Follow https://medium.com/stack-learner
107 courses.stackschool.co
৬অধLায় ছয়
সািহেতLর ভাষা
108 courses.stackschool.co
এই অধLােয় আেলািচত িবষয়ব,
109 courses.stackschool.co
আিম অেনক Tেলা 4:াEািমং লLাংTেয়জ িনেয় কাজ কেরিছ। আমার কােছ মেন হয়, আিম
4যই লLাংTেয়জ Tেলা িনেয় কাজ কেরিছ তার মেধL সব 4থেক 4ছাট লLাংTেয়জ হেY
জাভািKµ। আিম যিদ লানং কমেিcর িদক 4থেক িবেবচনা কির, তাহেল আমার
িহেসব মেত জাভািKµ জাভা এর 4থেক ৫ ভােগর একভাগ এবং িস++ এর 4থেক ৮ ভােগর
একভাগ কyন। যিদ টিপc বা িফচার এর িদক 4থেক িচ@া কির তাহেল বলব, জাভা বা
িস++ এর অেধJক বা তার কম। আিম জাভািKেµ 4শখার মত 4তমন িকছDই খD ঁেজ পাইনা।
অg কেয়কটা িফচার এমনভােব বLবহার করা হেয়েছ 4যন একটা ৩x৩ র`িবc িকউব। অg
কেয়কটা িফচার িক~ অসংখL ভােব বLবহার কের সব ধরেনর সমসLার সমাধান করা যায় খD ব
কম 4কাড িলেখ। তারপেরও আপনার যিদ মেন হয় জাভািKµ খD ব কনিফউিসং তাহেল
আিম বলব, এখেনা জাভািKµ এর সম) িবষয় আপিন ভােলা ভােব এcোর কেরন িন।
আপনার কােছ যিদ মেন হয় জাভািKµ অেনক বড় লLাংTেয়জ তাহেল আমার মেন হয়
আপিন এখেনা িস++, জাভা বা িসশাপJ সম) কনেসµ 4দেখন িন। সব Tেলা িফচার এবং
জাভািKµ ইিন িকভােব কাজ কের জানেল আপিন িনেজই িনেজর ওপের হাসেবন এবং
মানেত বাধL হেবন 4য জাভািKµ খD ব 4ছাট, সহজ এবং অLােমিজং লLাংTেয়জ।
তেব জাভািKµেক :থম লLাংTেয়জ িহেসেব 4নওয়াটা একটD িরি¨। আিম ২০১২ সােল :থম
4:াEািমং লLাংTেয়জ িহেসেব জাভািKµ 4শখার 4চা কেরিছলাম Javascript Definitive
110 courses.stackschool.co
Guide বই পেড়। িকছD দূর পড়ার পের, অেনকটা 4চা করার পের, এখন আর আিম
বিলনা 4য জাভািKµ আমার :থম লLাংTেয়জ িছল। যা িদেয় আিম 4:াEািমং 4শখা _র`
কেরিছলাম। তারপেরও আপনারা 4চা করেতই পােরন। তেব এইে1েX িকছD িকছD িবষয়
ভালভােব বD ঝেত একটD সমসLা হেব, কারণ জাভািKµ একটা হাইেলেভল লLাংTেয়জ। এটা
Weakly Typed, মােন এখােন ডাইনািমক ভােব কVাইলার ডাটা টাইপ বD েঝ 4নয়,
4ডেভলপারেক বেল িদেত হয় না। এখােন িতন িভ½ িভ½ Programming Paradigm এ
4কাড করা যায় - Procedural, Object Oriented and Functional. আরও কনিফউশন
]তির হয় যখন একই 4কােড অবেজ
অিরেয়ে;ড এবং ফাংশনাল দুইটা 4:াEািমং এর
িথওিরই অLাাই হয়। এরকম আরও িকছD িকছD িবষয় আেছ 4যTেলা একজন িবিগনার, যার
4:াEািমং লLাংTেয়জ িনেয় কাজ করার পূবJ অিভ|তা 4নই তার জনL বD েঝ ওঠা খD ব কyন
হেয় যােব। আর যিদ আপিন িসিরয়াস ভােব 4ডেভলপেম;েক আপনার কLািরয়ার িহেসেব
িনেয় থােকন তাহেল 4তা আপনােক ভাষা এবং ভাষার বLাকরণ 4শখার পাঠ 4শষ কেরই
এখােন আসেত হেব, 4সই 41েX জাভািKµ কখেনাই আপনার :থম লLাংTেয়জ হেব না।
পরবতীেত আিম যখন জাভািKµ _র` কির তখন আমার চার বছর জাভা িনেয়
কাজ করার অিভ|তা িছল। জাভািKµেক িসিরয়াস ভােব 4নওয়ার 4কান উে{শLও িছল
না, _ধD মাX }ে;³ 4ডেভলপেমে;র জনL এটা িশখেত 4চেয়িছলাম, একটা অLাপিলেকশেনর
কােজ। তখন জানতামও না জাভািKµ এত পাওয়ারফDল একটা লLাংTেয়জ যা বLবহার কের
অলেমা সবিকছDই 4ডেভলপ করা যায়। আর দশ জন মানুেষর মতই জাভািKµেক
তািYেলLর 4চােখই 4দখতাম। এবং ভাবতাম এই রকম একটা িKÇং লLাংTেয়জ 4শখা 4তা
কেয়ক ঘার বLাপার। অবশLই, 4বিসক িশখেত কেয়ক ঘাও লাগেব না যিদ কােরার
জাভােত চার বছেরর অিভ|তা থােক। কারণ জাভািKেµর 4বিশরভাগ িসনটLাc জাভা
4থেকই 4নওয়া হেয়েছ। িক~ জাভািKµ _র` করার পরবতী দুই সাহ আমার সােথ যা
ঘটেলা তার জনL আিম 4মােটও :,ত িছলাম না।
যতই ভািব জাভািKµ বD েঝ িগেয়িছ ততই নতDন নতDন সমসLার সুখীন হয়। জাভািKেµর
পূেবJ ফাংশনাল 4:াEািমং িনেয় কাজ করার 4কান অিভ|তা আমার িছল না। িক~
জাভািKµ _র`র পূেবJ আিম কটিলন িনেয় :চDর কাজ কেরিছলাম। যার কারেণ ফাংশনাল
িসনটLাc Tেলা িকছDটা হেলও ?ি)দায়ক িছল। তেব ফাংশনাল 4:াEািমং এর বা)ব বLবহার
সVেকJ 4কান িকছDই মাথায় আসিছেলা না। তখন মাথায় যা কাজ করেতা তার সবটাই
অবেজ
অিরেয়ে;ড। 4যেকান সমসLা 4চােখর সামেন আসেলই িকভােব £াস ডায়াEাম
111 courses.stackschool.co
বানােবা 4সটা িনেয় ?u 4দখতাম। আর জাভািKেµ এেস 4দিখ এখােন £াস বেলই িকছD
4নই। ফাংশন বLবহার কের কS±া
র আর 4:ােটাটাইপ বLবহার কের ইনেহিরেটS করেত হয়।
এTেলা যতটা না পLারা িদেয়েছ তার 4থেক অেনক 4বিশ পLারা িদেয়েছ ফাংশনাল 4:াEািমং
এর িভতের অবেজ
অিরেয়ে;ড 4:াEািমং। 4কাথায় this এর ভLালু িক 4সটা বD ঝেত
পারাটায় তখন মেন হেয়িছল জীবেনর একমাX ল1L। তারপের _নলাম ফাংশন নািক
অবেজ
। এটাও 4য হেত পাের 4সটা আমার এই 4ছা মি)º তখন 4কান ভােবই 4মেন িনেত
পারিছেলা না। সবসময় ফাংশনেক কল বা ইনেভাক কেরই কাজ কেরিছ। এখােন এেস 4দিখ
ফাংশনেক সরাসির কল না কের তার িভতের থাকা 4মথড িদেয়ও কল করা যায়। আর
জাভািKেµ িবিগনার িহেসেব তার :েয়াজনীয়তা আিম 4কানভােবই উপলিÐ করেত পািরিন
তখন। 4লিcকLাল 4¨াপ এবং 4£াজােরর কথা না বলাটায় 4য়, কারণ এই শ Tেলা মেন
রাখেতই দঁ াত ভা¡ার উপম হেয়িছল, িকভােব কাজ কের, িক কাজ কের 4সটা 4বাঝােতা ব
পেরর িবষয়। Type Coercion এর Ùালায় জাভািKµ 4ছেড় 4দওয়ার উপম হেয়িছল।
আসেল কখন 4য কার ভLালু িক হেব 4সটা 4:িড
করা মাX ২ সাহ জাভািKµ :াকস
করা নবজাতক জাভািKµ 4:াEামার িহেসেব আমার জনL অসব িছল। জাভােত সব 4থেক
4বিশ পLারায় পড়তাম NullPointerException িনেয়, আর জাভািKেµর অLািসংোনাস
4নচােরর জনL এখােন হর হােমশায় undefined এর পLারায় পরেত হেতা এবং বD েঝও আসত
না সব িকছD yক ঠাক করার পেরও 4কন undefined আসেছ।
দুই সাহ এই রকম নানান সমসLার সুখীন হওয়ার পের িনেজর :িত িবতÚা চেল আসল।
মেন হল আমার সারা জীবেনর পিরমই বথা। 4কান িকছDই আিম িশিখিন এত িদন। 4কােনা
4যাগLতা 4নই আমার। তখন জাভািKেµর :িত ভয়, ^া এবং িসিরয়াসেনস সবই 4বেড়
4গল। বD ঝেত পারলাম এভােব হেব না, নতDন কের _র` করেত হেব। এবার জাভািKµ _র`
করার পূেবJ আিম 4যই কাজ করলাম আমার মেন হয় আপনারাও যিদ এই কাজ কেরন
তাহেল জাভািKµ িশখেত একদমই সময় লাগেব না। সব সময় আিম 4যেকােনা 4কাড
িলখেত 4গেলই আমার মাদার লLাংTেয়জ জাভােক 4রফােরS িহেসেব টানতাম, জাভােত
সমসLাটা িকভােব সমাধান করতাম 4সই িবষয়টা িনেয় ভাবতাম, এককথায় সব
লLাংTেয়জেকই জাভার সােথ Tিলেয় কাজ করার 4চা করতাম। িক~ এবার িস^া@ িনলাম
4য আিম জাভা ভDেল যাব। জাভা নােমর 4কােনা লLাংTেয়জ আিম 4কােনা িদন িশিখ িন,
আিম জািন না জাভা বেল 4কােনা 4:াEািমং লLাংTেয়জ আেছ। আিম 4কােনা িদন 4কােনা
4:াEািমং লLাংTেয়জ িশিখও িন। _ধD মাX 4:াEািমং এর ফা³ােম;াল িবষয় Tেলা বােদ সব
112 courses.stackschool.co
িকছDেক ভDেল যাওয়ার 4চা করলাম এবং একটা 4}স মাইে³ জাভািKµ 4শখা _র`
করলাম।
পৃিথবীেত অসংখL 4:াEািমং লLাংTেয়জ আেছ। আমরা সবাই বিল, একটা লLাংTেয়জ 4থেক
আর একটা লLাংTেয়েজ সুইচ করেত খD ব 4বিশ ঝােমলা হয় না। কথাটা সতL, তেব আর
একটা কথাও সতL 4য :িতটা লLাংTেয়েজরই িনজ? সা আেছ। একটা লLাংTেয়েজ কেয়কটা
িসনটLাc িলেখ 4সই লLাংTেয়েজর সম) সা সVেকJ ধারণা অজJন করা সব না। এর
জনL দরকার সময় এবং অিভ|তা। আর এই অিভ|তা আসেব সমসLা 4থেক। আপিন যত
4বিশ গভীের যােবন তত 4বিশ পিরমােণ সমসLার সুখীন হেবন, আর যত 4বিশ সমসLার
সুখীন হেবন তত 4বিশ নতDন নতDন দুয়ার আপনার সামেন উু হেত থাকেব। এটা একটা
অনLরকেমর তি, 4যই তির 4নশা আপনােক আে) আে) Eাস কের 4ফলেব, আর আপিন
4নশায় 4নশা Es হেত হেত জিড়েয় পরেবন 4টকেনালিজর 4:েম।
113 courses.stackschool.co
িক~ আমােদর 4দেশ জাভািKµ িব)ােরর এই খবরটা এখেনা খD ব একটা ছড়ায় িন। এখেনা
আমরা 4সই আিদম যD েগই পের আিছ। খD ব অg িকছD সংখLক মানুষ যারা 4Üাবাল 4±³ ফেলা
কের তারাই _ধD মাX জাভািKµ এবং 4নাডেজএস এর 1মতা সVেকJ অবগত হেয়েছন এবং
x ায়িন 4য, জাভািKµ
এTেলা িনেয় কাজ করেছন। বািকেদর কােছ হয়ত খবর এখেনা 4পwছ
বLবহার কের এখন িপএইচিপ এর 4থেকও অেনক পাওয়ারফDল অLাপিলেকশন ]তির করা যায়
আরও সহেজ, আরও কম সমেয়।
কেয়কবছর আেগ যিদ আমরা 4ড¨টপ অLাপিলেকশন বানােনার কথা িচ@া করতাম
তাহেল মাথায় আসত C++, C#, Java এর মত লLাংTেয়জ Tেলার নাম। যিদ অLােÌােয়ড
অLাপিলেকশন বানােত চাইতাম তাহেল Java or C++, iOS or Mac অLাপিলেকশেনর
জনL Objective C or Swift, ওেয়ব 4ডেভলপেমে;র কথা আসেলই মাথায় আসত Php,
Asp, Java EE, Ruby অথবা Python এর মত লLাংTেয়জ Tেলার নাম। যিদ ডাটা
সাইেSর কথা বলতাম তাহেল 4চাখ বq কের Python or R এর কথাই সবার মেন পড়ত।
4গম 4ডেভলপেম; করেত চাইেল C++, C# or Java বLবহার করতাম। িক~ আজেক এই
সব কাজ আপিন করেত পারেবন _ধD মাX একটা লLাংTেয়জ বLবহার কের, আর 4সটা হেY
জাভািKµ। _ধD করেত পারেবন এমনটা ভাবার দরকার 4নই, সফল ভােব করেত পারেবন।
4ডেভলপেম; জগেত একটা নতDন 4মােড়র জ িদেয়েছ এই জাভািKµ। 4ড¨টপ 4থেক
4মাবাইল অLাপিলেকশন, ওেয়ব 4ডেভলপেম; 4থেক 4গম 4ডেভলপেম;, Embeded
System 4থেক IOT সব জায়গায় আপিন সফলভােব িনিে@ জাভািKµ বLবহার কের
4ডেভলপেম; এর কাজ সV½ করেত পােরন।
আজেক ওেপন 4সাসJ 4যই 4কাড এিডটর ছাড়া 4ডেভলপারেদর চেলই না, VSCode, এই
এিডটর ]তির করা হেয়েছ জাভািKেµর সুপারেসট টাইপিKµ বLবহার কের, যা
পরবতীেত জাভািKেµই কনভাটJ হেয় যায়। মােন আপিন বলেত পােরন এটা জাভািKµ
পাওয়ারড একটা 4টcট এিডটর, যা স াটফমJ একটা অLাপিলেকশন এবং এটা আমরা
সম) অপােরং িসেেমই 4কােনা সমসLা ছাড়াই বLবহার করিছ। জাভািKµ বLবহার কের
আপিন 4যেকােনা স াটফমJ 4মাবাইল বা 4ড¨টপ অLাপিলেকশন বানােত পােরন 4কােনা
রকম 4কােনা নLাভ লLাংTেয়েজর সাহাযL ছাড়াই এবং এই িসেম এখন িবÉবাজাের খD বই
জনি:য়। ওেয়ব 4ডেভলপেমে;র কথা যিদ বিল, বতJ মােন ডাটা Ýাইেভন অLাপিলেকশেনর
চািহদা বLাপক। বলেত পােরন নতDন সম) অLাপিলেকশনই এই ডাটা Ýাইেভন ওেয়েত ]তির
করা হেY। আর এই ধরেনর অLাপিলেকশন ]তিরর 41েX জাভািKেµর 4কােনা জুিড় 4নই।
114 courses.stackschool.co
API Driven 4য 4কােনা অLাপিলেকশন 4ডেভলপেমে;র 41েX 4ডেভলপারেদর :থম চেয়জ
4নাডেজএস বা জাভািKµ। 4মিশন লানং বা ডাটা সাইেSর মেতা কাজ Tেলা জাভািKµ
বLবহার কের করার জনL এিগেয় আসেছ Tগেলর মেতা 4কাVািন Tেলা। িবেÉর :থম দশটা
4টক 4কাVািনর িভতের আপিন একটা 4কাVািনেকও 4দখােত পারেবন না যারা
জাভািKেµর মাÍপল বLবহার করেছ না। Unity এর মত জনি:য় 4গম ইিনও
জাভিKµেক সােপাটJ করা _র` কেরেছ অg িকছD পিরবতJ ন কের। এছাড়াও জাভািKেµর
জনL অসংখL ওেপন 4সাসJ 4গম ইিন রেয়েছ। এত বড় তািলকার িভতের }ে;³
4ডেভলপেমে;র কথা না হয় আর নাই বিল। কারণ এই কােজর জনLই 4তা জাভািKেµর
জ।
জাভািKµেক 4ছােটাখােটা একটা িKÇং লLাংTেয়জ 4ভেব ভDল করার সময় আর 4নই।
আমরা যিদ এই ভDলটা এখেনা করেত থািক তাহেল আসেলই িবরাট বড় ভDল হেয় যােব।
পৃিথবী 4য িদেক এিগেয় যােY আমরা তার সােথ আর তাল িমিলেয় এিগেয় 4যেত পারেবা না,
এমিনেতই আমরা অেনক িপিছেয় আিছ। একমাX জাভািKµ িশেখ যিদ অেনক Tেলা
সাইেট 4ডেভলপেম; করা যায় তাহেল একজন 4ডেভলপার িহেসেব 4কন আিম এই 4গােন
অপচJ D িনেক হারােবা? জাভািKµেতা খD ব কyন 4কান লLাংTেয়জ না। জাভািKেµর
বতJ মান ইেকা িসেম 4য 4কান লLাংTেয়জ এর ইেকা িসেেমর 4থেক অেনক অেনক বড়।
িবশাল বড় তার কিমউিন। আপিন যিদ একবার এই িবশাল কিমউিনর িভেড়
জাভািKµ ইেকা িসেেম ঢDেক পরেত পােরন, তাহেল আপিন আর 4বর হেয় 4যেত চাইেবন
না।
115 courses.stackschool.co
২০১৫ সােল জাভািKেµর একটা যD গা@কারী আপেডট আেস যা ES6 বা ES2015
নােম পিরিচত। এর পূেবJ জাভািKµ আসেলই একটা 4খলনা লLাংTেয়জ িছল। :েয়াজনীয়
অেনক িফচারই িছল না। এখন 4যইসব িফচােরর জনL 4ডেভলপাররা জাভািKµেক এত
ভােলাবােস তার িকছDই িছল না এর আেগ। তেব নতDন নতDন িফচার আসেলও জাভািKেµর
কVাইলাের িক~ 4কােনা পিরবতJ ন আেস িন, _ধD মাX একটা মুেখাশ পিড়েয় িদেয়েছ িকছD
নতDন নতDন িসনটLাc এর মাধLেম। নতDন যারা জাভািKµ িশখেত আেস তােদর অেনেকর
মেনই এই :টা ঘD রপাক খায় 4য আমােক 4সই ও বLাড লুিকং জাভািKµটা িশখেত হেব
িকনা? অবশLই িশখেত হেব, তা না হেল 4কান িফচারটা িকভােব কাজ করেছ তার সবটাই
আপনার অজানা 4থেক যােব। কারণ এখেনা িবহা³ দLা িসন ওই বLাড লুিকং ও
জাভািKµ 4কাড Tেলাই এিcিকউট হেY। _ধD আমরা িকছD সহজ সুjর িসনটLাc 4পেয়িছ
যা আমােদর জীবনটােক অেনক সহজ কের িদেয়েছ।
ফাংশেনর কনেসµ Tেলা ভােলাভােব পিরºার হেয় 4গেলই আপিন জাভািKেµর অবেজ
অিরেয়ে;ড 4সকশেন জাV করেবন। জাভািKµ 4মােটও 4কান িপউর অবেজ
অিরেয়ে;ড
লLাংTেয়জ না এবং এখােন অবেজ
অিরেয়ে;েডর সম) িফচারও 4নই। ফাংশন এবং
4:ােটাটাইপ বLবহার কের এখােন অবেজ
অিরেয়ে;ড ইমিেম; করা হেয়েছ। তাই অবেজ
116 courses.stackschool.co
অিরেয়ে;ড সVেকJ ভাল ধারণা না থাকেল িবষয় Tেলা মাথার ওপর িদেয় যাওয়ার
সাবনাই 4বিশ। ES6 এ আপনারা অবেজ
অিরেয়ে;েডর দুই একটা িফচার 4দখেবন
4যমন class, inheritance িক~ এই Tেলা সবই িস;LাÓক সুগার, মােন এিcিকউট হেয়
4:ােটাটাইেপর কােছই চেলই যােব। এখােন খD ব ভােলাভােব জাভািKেµর অবেজ
সVেকJ
ধারণা অজJন করেত হেব। িকভােব ফাংশন বLবহার কের কS±া
র বা ফLা
ির পLাটানJ
ইমিেম; করেত হয় 4সটা বD ঝেত হেব। 4:ােটাটাইপ অবেজ
, 4:ােটাটাইিপকLাল
ইনেহিরেটS, 4Üাবাল অবেজ
এবং this সVেকJ ভাল একটা ধারণা অজJন করেত হেব।
এিcিকউশন কে;েcেটর ওপের িভি কের িকভােব this এর ভLালু পিরবতত হয়, িকভােব
আপিন এিcিকউশন কে;cটেক পিরবতত করেত পােরন, এই সব িবষয় Tেলা ভােলা ভােব
বD ঝেত হেব জাভািKেµ অবেজ
অিরেয়ে;ড িনেয় কাজ করেত চাইেল।
এর পের আপিন জাভািKেµর অLািসংোনাস 4নচার িনেয় পড়ােশানা করেত পােরন, তেব
এই 41েX আপনার জাভািKµ ইিন সVেকJ ধারণার দরকার পড়েব। কারণ
অLািসংোনাস িবেহিভয়ারটা আসেল লLাংTেয়েজর 4কান িবষয় না। একটা 4কাড আমােদর
কVাইলার িকভােব এিcিকউট করেছ 4সটা যিদ আমরা বD ঝেত পাির তাহেলই আমরা
জাভিKেµর এই িবেহিভয়ারটা সVেকJ অবগত হেত পারব। জাভািKµ ইিন িনেয়
পড়ােশানা করেত করেত আপিন জানেবন জাভািKেµর িপছেন এক JIT (Just In Time)
কVাইলার কাজ করেছ। আপিন এও জানেবন জাভািKµ একই সােথ কVাই এবং
ই;ারে:েটড লLাংTেয়জ। আপনােকই খD ঁেজ 4বর করেত হেব 4য জাভািKেµর এইরকম
নLাচােরর িপছেনর কারণটা িক?
এর পের আপিন ES6 এর িসনটLাc Tেলা িশেখ িনেত পােরন। ES6 যখন আপিন
িশখেবন তখন আরও িকছD টDলস 4যমন BabelJS, Webpack, ESLint, Live Server এর
মত অসংখL িকছD টDলস আপনার টDলবেc যD হেব। এখন আপিন জাভািKµ বLবহার
কের িকছD :েম সÃ করেবন। HackerRank, SPOJ এর মত সাইট Tেলােত জাভািKµ
বLবহার কের :েম সÃ করেত পােরন। আবার DOM মLািনপুেলশন িশেখ বা)ব জীবেনর
িবিভ½ অLাপিলেকশন ]তির করার মাধLেমও জাভািKেµর |ান বি^ করেত পােরন। মজা
করার জনL দুই একটা Tগল 4াম এর এcেটনশন বা অLাপিলেকশনও বািনেয় 4দখেত
পােরন। আসল কথা হেY আপনােক জাভািKµ লLাংTেয়জটা অনুশীলন করেত হেব।
4সটা 4যভােবই 4হাক না 4কন।
117 courses.stackschool.co
:থম লLাংTেয়জ িহেসেব জাভািKµ
অেনেকই জাভািKµেক :থম লLাংTেয়জ িহেসেবই 4বেছ 4নয় শটJকােট 4ডেভলপার হওয়ার
জনL। িক~ িকছD িদন পেরই তারা িবিভ½ সমসLার সুখীন হয়। আিম কখেনাই কাউেক
:থম লLাংTেয়জ িহেসেব জাভািKµেক 4বেছ 4নওয়ার পরামশJ 4দই না। অবশLই আপিন
চাইেল জাভািKµ িদেয় _র` কেরই আপনার 4:াEািমং কLািরয়ার অেনক ভােলা করেত
পারেবন। িক~ 4সই 41েX চলার পথটা একটD 4বিশই কাটাময় হওয়ার সাবনা 4বিশ থােক।
+নাটঃ জাভািKµ 4শখার সময় জাভািKµেক কখেনাই }ে;³ লLাংTেয়জ িহেসেব িশখেবন না। এেক
অনLানL 4:াEািমং লLাংTেয়েজর মতই Tর`N সহকাের এবং অLাবÄা
ভােব িশখেবন যা আপনার
পরবতীেত 4নাডেজএস 4শখার সময় অেনক কােজ িদেব।
118 courses.stackschool.co
জাভািKµ 4শখার 4রফােরেSস
119 courses.stackschool.co
জাভািKµ আজেক অেনক পাওয়ারফDল, :চDর পাওয়ারফDল িসনটLাc আেছ এর
ঝDিলেত। কেয়ক বছর আেগ িক~ জাভািKµ এতটা পাওয়ারফDল িছল না। আজেক
জাভািKµ পাওয়ারফDল হেলও িকছD িকছD 41েX এর এখেনা অেনক লLাক রেয়েছ, 4যমন
অবেজ
অিরেয়ে;ড 4:াEািমং। জাভািKেµ আপিন আজও পূণJ অবেজ
অিরেয়ে;ড এর
?াদটা পােবন না। এরপের, জাভািKµ 4কােনা টাইপড লLাংTেয়জ না, মােন এখােন
কখেনাই আপনােক ডাটা টাইপ বেল িদেত হয় না। এর ফেল অLাপিলেকশেন অেনক রকম
ইেরার সৃ¼ হওয়ার সাবনা 4থেক যায়। যারা বড় বড় 4ডেভলপার আেছ, যােদর ঝDিলেত
C++, C#, Java এর মত লLাংTেয়েজ কাজ করার অিভ|তা রেয়েছ তারা সহেজই
জাভািKেµর মত লLাংTেয়জেক Eহণ কের িনেত পাের না। আমার িনেজরও অেনক সমসLা
হেয়িছল 4যেহতD আিম জাভা বLাকEাউে³র িছলাম। আপনােদর জনL সুখবর হেY,
আপনােদরেক িনেয় িচ@া কেরেছ মাইোসফট এবং আমােদরেক উপহার িদেয়েছ
টাইপিKµ (Typescript)। আপিন যিদ টাইপিKেµ 4কাড কেরন তাহেল বD ঝেতই পারেবন
না 4য জাভািKেµ 4কাড করেছন।
120 courses.stackschool.co
টাইপিKµ 4শখা কতটা জর`ির
বতJ মান সমেয়র জনL টাইপিKµ 4শখা খD বই জর`ির। কারণ সফটওয়Lার ই³াÅTেলা 4কার
জাভািKেµর 4থেক টাইপিKেµর ওপেরই 4বিশ ভরসা করেছ। তাই }ে;³, বLােক³
4মাবাইল 4ডেভলপেম; সব জায়গােতই টাইপিKেµর বLবহার 4দখা যােY। থাডJ পাJ
লাইেরী বLবহােরর 41েXও আমরা এখন টাইপিKেµর সােপাটJ পািY। বড় বড় সম)
লাইেরী বা 4}মওয়াকJ Tেলাও ]তির হেY টাইপিKµ বLবহার কেরই। তাই আমার মেন
হয়, টাইপিKµ িশেখ রাখা ভDল িকছD হেব না। টাইপিKেµর বLবহার িদন িদন বি^ পােব।
আর এটা িশখেত খD ব 4বিশ সময়ও লাগেব না।
121 courses.stackschool.co
এই 4পজ 4?Yায় ফঁ াকা রাখা হেয়েছ
Visit https://courses.stackschool.co
Subscribe https://youtube.com/stacklearner
Like https://facebook.com/stacklearner
Join https://facebook.com/groups/stacklearner
Connect https://linkedin.com/company/stacklearner
Follow https://instagram.com/stacklearner/
Follow https://medium.com/stack-learner
122 courses.stackschool.co
৭
অধLায় সাত
সািহেতLর 4সৗjযJ
123 courses.stackschool.co
এই অধLােয় আেলািচত িবষয়ব,
✓ SPA 4}মওয়াকJ স
✓ ReactJS লাইেরী
✓ ReactJS টDলস
124 courses.stackschool.co
বতJ মােন }ে;³ অLাপিলেকশেনর জানার দরকার 4নই এর বLােক³ 4ক, আবার বLােক³
অLাপিলেকশেনরও জানার দরকার 4নই 4য এর }ে;³ 4ক বা 4কাথায় আেছ। দুইটা
অLাপিলেকশন সVূণJ িভ½ িভ½ সাভJ াের আবার 4ছাট অLাপিলেকশেনর 41েX একই সাভJ াের
4ডপলয় করা হয়। এই ধরেনর }ে;³ অLাপিলেকশন Tেলােক বলা হয় িসে¡ল 4পজ
অLাপিলেকশন। এই নামটা _েন অেনেকই িসে¡ল 4পজ 4পাটJফিলও সাইেটর মেতা
ওেয়বসাইেটর কথা মেন কের থােক। একসময় আিমও তাই মেন করতাম। একটা কথা আবার
125 courses.stackschool.co
¬রণ কিরেয় 4দই, আিম িক~ এখােন ওেয়বসাইট িনেয় 4কান কথা বলিছ না, বলিছ ওেয়ব
অLাপিলেকশন িনেয়। ওেয়বসাইট আর ওেয়ব অLাপিলেকশন কখেনাই এক িজিনস না।
িসে¡ল 4পজ ওেয়ব অLাপিলেকশেনও আপিন অেনক Tেলা 4পজ িনেয় কাজ করেত পারেবন।
4পজ Tেলার িভতের িলংিকং করেত পারেবন, এক 4পজ 4থেক অনL 4পেজ িভিসট করেত
পারেবন। :িতটা 4পেজর িনজ? িলংকও থাকেব আর আপিন 4সই িলংক 4শয়ারও করেত
পারেবন। তাহেল এর নাম িসে¡ল 4পজ অLাপিলেকশন 4কন? কারণ যত বড়
অLাপিলেকশনই 4হাক না 4কন পুেরা অLাপিলেকশেন এক মাX HTML ফাইল থােক।
4যখােন মাÍেপজ অLাপিলেকশেন :িতটা 4পেজর জনL একটা কের HTML ফাইেলর দরকার
হয়, 4সখােন পুেরা অLাপিলেকশেনর সব Tেলা ফাইেলর জনL এক মাX HTML ফাইল?
তাহেল বািক 4পজ Tেলা িকভােব 4র³ার হেব?
বািক 4পজ Tেলা 4র³ার হেব না। এই িবষয়টা ভােলাভােব বD ঝেত হেল আপনােক বD ঝেত হেব
মাÍেপজ অLাপিলেকশন িকভােব কাজ কের থােক? একটা মাÍেপজ অLাপিলেকশেন যখন
আমরা 4কােনা িলংেক ি£ক কির তখন আমােদর াউজার ওই 4পজ 4র³ার করার জনL
:েয়াজনীয় HTML 4কাড 4চেয় সাভJ ােরর কােছ িরকDেয় কের। যখন সাভJ ার িরকDেয় বLাক
কের অথJাৎ 4রসপS পাঠায় তখন াউজার ওই HTML 4কাডটােক নতDন কের 4র³ার কের
আমােদরেক 4দখায়। এখােন :িতটা 4পেজর জনL নতDন কের HTML, CSS, Javascript বা
:েয়াজনীয় সম) ফাইেলর জনL াউজারেক িরকDেয় করেত হয় এবং 4রসপS আসেল নতDন
কের 4র³ার করেত হয়। িক~ িসে¡ল 4পজ অLাপিলেকশেন yক তার উেËাটা ঘেট থােক।
আমরা :থমবার যখন সাভJ ােরর কােছ িরকDেয় পাঠােবা, সহজ কথায় বলেল :থমবার যখন
ওেয়ব অLাপিলেকশনটােত িভিসট করেবা তখন সাভJ ার পুেরা অLাপিলেকশনটােকই একবাের
াউজােরর কােছ পাyেয় 4দেব। 4সখােন একটা মাX HTML ফাইল থাকেব এবং 4সটাও
Lাংক বা ফাকা ফাইল। াউজার তখন এই Lাংক HTML ফাইলটােকই 4র³ার করেব যা
সVূণJ ফাকা থাকেব। একবার াউজার HTML ফাইলটা 4র³ার করেত পারেলই HTML
ফাইেলর কাজ 4শষ, তখন পুেরা কাজটা করেব জাভািKµ। জাভািKµ AJAX এর মাধLেম
বLােক³ সাভJ ােরর সােথ কিমউিনেকট কের ডাটা এর জনL িরকDেয় করেব। ডাটা যখন চেল
আসেব তখন DOM মLািনপুেলশেনর মাধLেম সদL:া ডাটা াউজাের 4শা করােনা হেব।
পুেরা 4:ােসসটা এত ·ত ঘেট যােব 4য আপিন Lাংক 4পজ কখেনা ল1Lই করেবন না, তেব
4বিশরভাগ 41েXই একটা আকষJনীয় 4লািডং িনার িদেয় বD িঝেয় 4দওয়া হয় 4য 4পজ 4লাড
126 courses.stackschool.co
িনেY, একটD ]ধযJ ধর`ন। এভােবই িসে¡ল 4পজ অLাপিলেকশন Tেলা কাজ কের থােক।
যখন আপিন অনL 4পেজ িভিসট করার জনL 4কান একটা িলংেক ি£ক করেবন তখনও ল1L
কের 4দখেবন াউজার সাভJ ােরর কােছ 4কােনা রকম 4কােনা িরকDেয় পাঠােY না, 4পজ
িরে}শ িনেY না। তাহেল নতDন 4পজ িকভােব 4র³ার হেY? 4কান িলংেক ি£ক করেল 4কান
4পজটা ওেপন করেত হেব, 4সখােন িক িক ডাটা থাকেব তােতা আেগ 4থেকই আপনার
অLাপিলেকশেন বলা থাকেব। জাভািKµ যখন 4কােনা িলংেক ি£ক হেত 4দখেব তখন
আেগর 4র³ার হওয়ার DOM এিলেম; Tেলােক মুেছ িদেয় নতDন 4পেজর DOM এিলেম;
Tেলােক 4র³ার করেব এবং :েয়াজনীয় 4নটওয়াকJ কল সV½ কের আপনার সামেন নতDন
4পজটা ওেপন করেব।
িসে¡ল 4পজ অLাপিলেকশেনর পুেরা 4গমটাই জাভািKেµর হােত। আপিন যিদ মেন কেরন
জাভািKµ বLবহার কের 4কােনা রকম 4কােনা 4}মওয়াকJ বা লাইেরী বLবহার না কেরই
িসে¡ল 4পজ অLাপিলেকশেনর মত অLাপিলেকশন বানােবন তাহেল তা সব। তেব তার জনL
আপনার জাভািKµ এবং DOM সVেকJ িব)র একটা |ােনর দরকার হেব। এবং অবশLই
এটা সময় সােপ1 একটা িবষয়। 4শখার সময় আপিন এই রকম কাজ কের িনেজর দ1তা
যাচাই করেতই পােরন। িক~ বা)ব জীবেনর 4:ােজ
Tেলার জনL ভােলা হয় আপিন একটা
িনভJ রেযাগL 4}মওয়াকJ বা িসে¡ল 4পজ অLাপিলেকশন বানােনা যায় এই রকম একটা
লাইেরী িনেয় কাজ করেলন। িসে¡ল 4পজ অLাপিলেকশন 4ডেভলপ করার জনL আপনার
হােতর কােছই আপিন অেনকTেলা িনভJ রেযাগL লাইেরী এবং 4}মওয়াকJ পােবন। িক~ আিম
একজন িবিগনারেক সব সমেয়র জনLই সােজ করেবা ReactJS 4ক।
React আমার 4শখা :থম }ে;³ টDল না। আিম ভ িছলাম Angular এর।
Angular একটা বড়সড় }ে;³ 4}মওয়াকJ । আর আিম হিY একজন Solo 4ডেভলপার।
যার ফেল Angular অেনক মজার হেলও মLােনজ করেত অেনক ক হেতা। React এর
জনি:য়তা 4দেখ একবার 4চা করলাম এটা 4শখার। িক~ এর আজব িসনটLাc 4দেখ
:থেমই ভড়েক 4গলাম। এর পের িকছD িদন Vue িনেয় কাজ করলাম। Vue িসVল, সহজ
এবং আমার জনL অেনক সহজই িছল। 4যেহতD Angular 4থেক এেসিছ, 4সেহতD সব িকছDই
4কমন 4যন পিরিচত লাগিছল। তেব Angular 4থেক এেস Vue 4ত আিম খD ব একটা মজা
পাইিন। Angular এ যখন কাজ কেরিছ তখন Typescript িনেয় কাজ করতাম। Angular
কাজ কের MVC (Model View Controller) আকেটকচার মেডেল যার সােথ আিম পূবJ
পিরিচত এবং কমেফােটJবল। Angular এর আর একটা াস পেয়; হেY Dependency
127 courses.stackschool.co
Injection এবং Observable Pattern. একজন জাভা 4:াEামার িহেসেব Angular 4ক
ভােলাবাসার জনL এই কারণ Tেলাই আমার কােছ যেথ িছল। Angular 4ক আমার অেনক
Tছােনা মেন হেয়েছ এবং 4যেহতD এটা একটা 4}মওয়াকJ তাই একটা }ে;³ অLাপিলেকশন
4ডেভলপ করার জনL যা যা দরকার তার সব িকছD আপিন এর সােথ পােবন। এর সােথ সােথ
Angular এর একটা পাওয়ারফDল CLI বা কমা³ লাইন টDলসও িছল যা তখনও Vue এর
িছল না। Angular এর সােথ কেVয়ার কের তখন Vue 4ক আমার খD ব একটা পছj হয় িন।
িক~ Solo 4ডেভলপার িহেসেব এেক মLােনজ করাও আমার জনL কসাধL হেয় যািYল।
আমার একটা লাইট ওেয়ট সমাধােনর দরকার িছল। তাই এক রকম বাধL হেয়ই আবার
React 4শখার 4চা করলাম।
এবার আিম খD ব মজা 4পলাম, 4যই আিম React এর অØDত িসনটLাc 4দেখ িবেশষ কের
JSX 4দেখ ভড়েক িগেয় React িশখেত চািYলাম না, 4সই আিমই _ধD মাX JSX এর 4:েম
পেড় িস^া@ িনলাম 4য React আিম করেবাই। িকছD িদন সময় িদেয় React 4ক ভােলা ভােব
4বাঝার 4চা করলাম। React 4যেহতD একটা 4ছা লাইেরী তাই এখােন Angular এর মত
বড় বড় সব িডজাইন পLাটানJ 4নই, িবউËইন ভােব :িতটা সাবL সমসLার জনL সমাধান
4দওয়া 4নই, 4দওয়া 4নই 4কােনা ইউিল টDলস। তারপেরও একটা লাইেরী এত সুjর
িকভােব হেত পাের, িকভােব এত সহেজ ই;ােরÓভ ই;ারেফস িডজাইন করেত পাের তা
4কােনা ভােবই আমার বD েঝ আসিছল না। React, Angular এর মত এত অেগJনাইজড না,
িক~ খD ব 4বিশ 4Æিcবল, সেবJা¿ ?াধীনতা 4দওয়া আেছ আমার হােত। React এর মত
Vue ও অেনক 4বিশ 4Æিcবল িক~ আিম Vue এর িভতের 4তমন 4কান নতDনN 4দখেত
পাইিন। নতDনেNর 4ছঁ ায়া আিম 4পেয়িছ React করেত এেস। আমার মেন হেয়েছ 4কন আিম
এত িদন React এর 4থেক দূের িছলাম। কমJ জীবেন আপনােক সব িকছD িনেয়ই কাজ করেত
হেব, আমরাও :েয়াজেনর তািগেদ সব Tেলা 4}মওয়াকJ িনেয়ই কাজ কের থািক। িক~ ভােলা
লাগার জায়গা বেলও একটা িবষয় থােক, 4যই জায়গাটা React দখল কের িনেয়েছ। আমার
কােছ মেন হেয়েছ িবিগনারেদর জনL সব 4থেক সহজ হেY React, নতDন কের খD ব 4বিশ িকছD
4শখার দরকারই 4নই। যিদ আপিন জাভািKµ জােনন তাহেল React এ কাজ িশখেত খD বই
অg সময় লাগেব।
128 courses.stackschool.co
4ডেভলপ করার জনL React এর জ না, এর জ একটা বড় অLাপিলেকশেনর 4ছা একটা
অংশেক ই;ােরÓভ করার জনL। পূেবJ JQuery বLবহার কের 4যই কাজ করতাম 4সই একই
কাজ নতDন ভােব এিফিসেয়; ওেয়েত করার কাজটা করেছ React. তাই একটা মাÍেপজ
অLাপিলেকশেনও আপিন সহেজই React বLবহার করেত পারেবন। React 4যেহতD একটা
লাইেরী, তাই এর লানং কাভJ খD ব 4ছাট। React এর মূখL িবষয় হেY কেVােন;, এ
কাজ কের 4ছাট 4ছাট কেVােন; ]তিরর করার মাধLেম। :িতটা কেVােনে;র িনজ? ডাটা
আেছ যার নাম 4ট, এই ডাটা মLািনপুেলট করারও িনজে? ওেয় আেছ। একটা ই;ারেফস
]তিরর 41েX এরকম অসংখL কেVােন; ]তির করেত হয় আর 4সTেলােক কেVাজ করার
মাধLেম একটা বড় ই;ারেফস ]তির করা হয়। একটা কেVােন; 4থেক আর একটা
কেVােনে; ডাটা পাস করার জনL বLবPত হয় :পস। আর ডাটা Tেলা কি³শনালই 4র³ার
করার জনL আেছ JSX. এর সােথ কেVােনে;র িকছD ফাংশনািলস আেছ। বLস React
4শষ, React এ এর 4থেক 4বিশ িকছDই 4নই।
React একটা লাইেরী, তাই _ধD মাX React বLবহার কের আপিন িসে¡ল 4পজ
অLাপিলেকশন বানােত পারেবন না। এর জনL আপনার দরকার পড়েব অসংখL লাইেরী।
আমরা অেনেকই মেন কির, React 4শখার অথJই হেY }ে;³ 4ডেভলপেম; 4শখা। িক~
বLাপারটা সVূনJ ভDল। React একটা 4ছা লাইেরী যা আপনােক ইউজার ই;ারেফস
]তিরেত সাহাযL করেব। আর }ে;³ 4ডেভলপেম; হেY একটা 4:ােসস। এই 4:ােসস সV½
করেত আপনার 4যমন অসংখL থাডJ পাJ টDলস এর :েয়াজন হেব, 4তমিন আপনার
:েয়াজন হেব অসংখL 4ডেভলপেম; িথওিরর। আপনার জানার দরকার হেব 4ডেভলপেম;
4ব :াÓেসস, দরকার হেব িডজাইন পLাটানJস। যার 4বিশর ভাগই অজJন করেত হয়
অিভ|তা 4থেক।
একটা }ে;³ অLাপিলেকশেনর সব 4থেক Tর`তপূণJ িতনটা কাজ হেY 4ট মLােনজ করা,
£াই; সাইড রাউং হLাে³ল করা এবং AJAX এর মাধLেম সাভJ ােরর সােথ কিমউিনেকশন
সV½ করা। সাধারণত এই কাজ Tেলা সV½ করার জনLই আমরা থাডJ পাJ সলুLশেনর
কােছ যাই। তেব আপিন চাইেল থাডJ পাJ সলুLশেনর কােছ না িগেয় িনেজ 4কাড কেরও এর
সমাধান করেত পােরন, তেব এটা হেব খD বই জঘনL একটা আইিডয়া। এর 4থেক ভাল হয় থাডJ
পাJ বল বLবPত ইউিল লাইেরী Tেলা বLবহার করেল।
129 courses.stackschool.co
আপিন }ে;³ 4ডেভলপেম; িশখেছন মােন অLাপিলেকশন 4ডেভলপেম; িশখেছন। হয়ত
কেয়কিদন টD লস Tেলা িনেয় একটD ঘাটাঘা করেলই আপিন 4ছােটাখােটা িকছD
অLাপিলেকশন 4ডেভলপও করেত পারেবন। তেব একজন ভােলা মােপর 4ডেভলপার হওয়ার
জনL আপনােক সময় বLয় করেত হেব। িভ½ িভ½ ধরেনর অLাপিলেকশন 4ডেভলপ করার
মাধLেম নতDন নতDন এcেপিরেয়S অজJন করেত হেব। পূেবJ }ে;ে³ লিজক অLাাই করার
খD ব 4বিশ 4¨াপ িছল না। িক~ এখন িবষয়টা পুেরাপুিরই িবপরীত। একটা 4ড¨টপ
অLাপিলেকশন, 4মাবাইল অLাপিলেকশন ]তির করেত আপনার যতটা 4ডিডেকশন দরকার হয়
yক ততটা 4ডিডেকশনই আপনার দরকার হেব। yক ততটাই লিজক 4ডেভলপ করার
দরকার হেব }ে;³ 4ডেভলপেমে;র 41েX। কারণ বতJ মােন এTেলা সবই :ায় একই রকম
এবং একই ওেয়েতই কাজ কের থােক।
Angular
VueJS
Frontend Frontend
Framework Framework
React
UI Library
Svelte
ELM Lang
JS Transpiled
JS Compiler
Language
130 courses.stackschool.co
ReactJS এর 4কার িফচারস যা যা িশখেত হেব
- Component Theory - Component Lifecycle Methods
- Component Tree & Props - Component Design Patterns
- Component State and API - Context API
- JSX (Javascript Extension) - React Hooks
- Conditional Rendering - Refs and Forward Refs
- Rendering Lists & Tables - Error Boundaries
- Event Handling - Performance Optimisation
- Input Elements Techniques
- Two Way Data Binding - Test React Applications
- React Forms
131 courses.stackschool.co
React Redux 4শখার 4রফােরেSস
- Digitaloy (Bangla)
- Learn Hunter (Bangla)
- Stack Learner (Bangla)
- Codevolution (English)
- Free Code Camp (English)
- Learn Code Academy (English)
132 courses.stackschool.co
এই 4পজ 4?Yায় ফঁ াকা রাখা হেয়েছ
Visit https://courses.stackschool.co
Subscribe https://youtube.com/stacklearner
Like https://facebook.com/stacklearner
Join https://facebook.com/groups/stacklearner
Connect https://linkedin.com/company/stacklearner
Follow https://instagram.com/stacklearner/
Follow https://medium.com/stack-learner
133 courses.stackschool.co
৮
অধLায় আট
সািহেতLর 4মর`দl
134 courses.stackschool.co
এই অধLােয় আেলািচত িবষয়ব,
✓ বLােক³ 4ডেভলপেম;
135 courses.stackschool.co
আমােদর 4দেশ ওেয়ব 4ডেভলপেম; কথাটার সােথ আরও দুইটা নাম অ@র¡ ভােব জিড়ত,
আর তা হেY িপএইচিপ এবং ওয়াডJে:স। 4কউ ওেয়ব 4ডেভলপার হেত চােY মােন তােক এই
িপএইচিপ এবং ওয়াডJে:সই িশখেত হেব এইরকম একটা Tজব ব বছর আেগ 4থেকই _র`
হেয়িছল, িক~ দুঃেখর িবষয় Tজবটা এতটাই পাওয়ারফDল িছল 4য আজ পযJ@ মানুষ এই
Tেজাব 4মেনই 4ডেভলপেম; িশখেছ। একটা সময় আমােদর 4দেশ িপএইচিপ এবং ওয়াডJে:স
রাজN কেরেছ, এখেনা করেছ, ভিবষLেতও করেব। একজন 4ডেভলপােরর িপএইচিপ ভােলা
লাগেতই পাের, ওয়াডJে:স বLবহার কের যিদ 4স সহেজই একটা পােসJানাল ওেয়ব সাইট ]তির
করেত পাের, Woocommerce বLবহার কের যিদ 4স একটা 4ছােটাখােটা 4কাVািনর অg
িকছD ইউজােরর জনL একটা ইকমাসJ সাইট ]তির কের িদেত পাের তাহেল 1িত িক? 4কােনা
1িত 4নই। কাজ করােত 4কােনা 1িত 4নই, 1িত হেY এটা িবÉাস করােত 4য িপএইচিপ
বLতীত 4কােনাভােবই ওেয়ব 4ডেভলপেম; করা যায় না।
আমরা সবাই জািন ি}লািSং সাইট Tেলােত িপএইচিপ এবং ওয়াডJে:স এর কাজ 4বিশ
পাওয়া যায়। আমােদর 4দেশ যখন ি}লািSং বLাপারটা যাXা _র` করল, তখন অেনক
4ডেভলপার এই িপএইচিপ এবং ওয়াডJে:েসর কাজ কের অেনক সফলতা অজJন করল,
4দেশর মুখ উJল করেলা। :চDর 4ছাট 4ছাট আই ফামJ ]তির হল যারা ি}লািSং কের 4দেশ
]বেদিশক মু«া আনেত থাকেলা। 4যেহতD ি}লািSং সাইটTেলােত িপএইচিপ এর কাজ 4বিশ
পাওয়া যায় তাই তারা :চDর িপএইচিপ 4ডেভলপার ]তির করা _র` করল। এর মােঝখােনই
কখন মানুেষর মেনর িভতের 4কাথায় 4যন 4গxেথ 4গল ওেয়ব 4ডেভলপেম; মােনই িপএইচিপ।
136 courses.stackschool.co
এই হাইেপর কারেণ অিভ|েদর 4কােনা :েম হল না, কারণ তারা একটা শ অবsােনই
রেয়েছন। নতDনরা পের 4গল িবপেদ। চািহদার তDলনায় কেয়কTণ 4বিশ িপএইচিপ 4ডেভলপার
]তির হেয় 4গল। যােদর সবার কমJসংsান করা ি}লািSং সাইট Tেলার পে1ও সব না,
আমােদর 4দেশর আই ফামJ Tেলার পে1ও সব না। কারণ আই ফামJ Tেলােতা _ধD
িপএইচিপ িনেয় কাজ কের না, তােদর িভ½ িভ½ 4টকেনালিজ িনেয় কাজ করেত হয়। 4দেশ
িপএইচিপ 4ডেভলপােরর 4কােনা অভাব 4নই, :িতিনয়ত নতDন নতDন িপএইচিপ 4ডেভলপার
হেয়ই যােY। িক~ জাভা, পাইথন, 4নাডেজএস, িস শাপJ 4ডেভলপার খD ঁজেত 4গেল হােত
4গানা কেয়কজনেকই পাওয়া যায়। যিদ সবাই িপএইচিপ িনেয় কাজ করেত চাই, তাহেল এত
কাজ িকভােব ]তির হেব? বর¹ যারা ভােলা িপএইচিপ 4ডেভলপার আেছন, ভােলা ভােলা
কাজ কেরন তারা িবপেদ পেড় যােYন। কারণ নতDনরা বাজাের এেসই ·ত কাজ পাওয়ার
উে{েশL কােজর মূলL কিমেয় 4ফলেছ। সােথ সােথ Tণগত মানও কিমেয় 4ফলেছ।
137 courses.stackschool.co
ভDেলও যায়, বতJ মানেক 4দেখ চমেক উঠিছ। কারণ বতJ মােনও মানুষ একই িদেকই ঝDঁকেছ,
এেদর থামােনার 4কউ 4নই।
কেয়ক বছর আেগ যিদ আমরা ভDল করতাম তাহেল িবষয়টা 4মেন 4নওয়া 4যত। িক~
আজেকর িদেন দঁ ািড়েয়, 4যখােন সবার হােত হােত ¬াটJ 4ফান, সবার হােত হােত ই;ারেনট,
সবাই ই;ারেনট বLবহার করেত জািন, এখন ভDল করেল 4সটা 4মেন 4নওয়া যায় না।
সারাজীবন আমরা 4জেন এেসিছ, :থম িবÉ 4থেক আমরা কেয়ক বছর িপিছেয়। অLাপল তার
4ফান কেব িরিলজ িদেব, 4সই 4ফােন িক িক িফচার থাকেব, এবার আইেফােনর কLােমরা
4কমন, নতDন িক িক িফচার যD হেয়েছ :থম িবÉ 4থেক বেস ম কDক 4:েসে;শন িদেY
আর কেয়ক মুেতJ র বLবধােন ঘের বেসই আমরা সবাই তার লাইভ 4দখেত পারিছ। দুিনয়ার
সম) আপেডেটড 4ফান, লLাপটপ, কLােমরা, 4গম সব িকছDর আপেডট ইনLা;িল 4পেয়
যািY। পাবিজ নতDন 4সশন কেব 4দেব তার জনL িদন Tনেত পারিছ, আপেডেটর পের খD ঁেজ
খD ঁেজ তার পLাচ 4নাট পড়েত পারিছ। আর সব িকছD জানেত পারিছ িরেয়ল টাইেম, যখন :থম
িবেÉর মানুষ এই িবষয় Tেলা সVেকJ জানেছ yক তখনই আমরা িতীয় ততীয় িবেÉর
মানুষ হেয়ও একই সােথ জানেত পারিছ।
অনL সব 4স
েরর কথা বাদ িদলাম, িক~ কিVউটােরর জগেত যিদ আমরা িপিছেয় থািক,
তাহেল আিম বলব আমরা িপিছেয় থাকেত চাই তাই িপিছেয় আিছ। Tগেল একটD সাচJ
করেলই আমরা জানেত পাির বতJ মান িবÉ 4কান 4টকেনালিজ িনেয় কাজ করেছ, 4কান
4টকেনালিজর িডমা³ বি^ পােY, 4কান 4টকেনালিজেত কত মানুষ কাজ করেছ, 4কান
4টকেনালিজেত জেবর 4থেক কাজ করার মানুেষর সংখLা 4বিশ আর 4কাথায় কাজ করার
মানুষ 4নই, িক~ 4টকনিজর অেনক িডমা³। এলাকার িসএসই 4থেক পাশ কের 4বর হওয়া
4বকার বড় ভাইেয়র কাছ 4থেকই 4কন জানেত হেব 4য আমার িক 4শখা উিচত? না হয়
জানলাম, 4দেশর সব 4থেক বড় 4টকেনালিজিবেদর কাছ 4থেকই জানলাম 4কান িবষেয়
আমার কLািরয়ার গড়া উিচত, িক~ বাসায় এেস িক একবার ভLািরফাইও কের 4দখব না 4য
কথাটা কতটা সyক?
এখন যিদ আমার সােথ 4কান ভDল হেয় যায়, আজেক যিদ কাজ 4শখার পেরও আমােক
4বকার বেস থাকেত হয় 4সই 4দাষ আিম কাউেক িদেত পারেবা না। আমার ভDেলর ায়ভার
সরকার 4নেব না, আমার ভDেলর ায়ভার আমার ইউিনভাস 4নেব না, 4কােনা 4±ইিনং
ইSউট বা 4কােনা ইউউব চLােনেলর ওপের আিম 4দাষ চাপােত পারেবা না। আমােক
138 courses.stackschool.co
4মেন িনেত হেব 4সই 4দাষ পুেরাটাই আমার, কারণ আিম আলেসিম কের একটD 4ঘঁেট 4দিখিন
িবÉ 4কান িদেক আগােY আর আিম তার সােথ সােথ আগািY িকনা?
4য 4কােনা 4:াEািমং লLাংTেয়জ যা আপিন আপনার কিVউটাের রান করেত পােরন 4সই
লLাংTেয়জ বLবহার কেরই আপিন বLােক³ 4ডেভলপেম; করেত পারেবন। অLােসÀিল, িস,
িস++, িসশাপJ, জাভা, পাইথন, র`িব, পালJ, িপএইচিপ, জাভািKµ যত 4:াEািমং
লLাংTেয়েজর নাম আপিন _েনেছন, সব Tেলা লLাংTেয়জ বLবহার কেরই আপিন সাভJ ার
কোল করার জনL অLাপিলেকশন ]তির করেত পারেবন, মােন বLােকে³র কাজ করেত
পারেবন। 4কন পারেবন, 4সটা 4বাঝার জনL আপনােক জানেত হেব সাভJ ার িক, এবং িকভােব
কাজ কের?
139 courses.stackschool.co
আমােদর অেনেকরই ধারণা সাভJ ার িনয় বড়সড় 4কােনা 4মিশন যা সLােটলাইট এর
সােথ কােনে
ড থােক। আসেল সাভJ ার একটা সাধারণ কিVউটার। 4যই কিVউটার আপিন
:িতিদেনর কােজ বLবহার করেছন 4সই কিVউটারেকও সাভJ ার িহেসেব বLবহার করা যােব।
িক~ 4যেহতD ২৪/৭ এই কিVউটারেক ওেপন থাকেত হয়, তাই সাভJ ার 4মিশন Tেলার
কেVােন; Tেলা সাধারণত দামী এবং মজবD ত 4দেখ 4নওয়া হয়। সাভJ ার কিVউটার
অপােরট করার জনLও িক~ অপােরং িসেম এর দরকার পের। আমরা 4যই অপােরং
িসেম বLবহার কের :িত িদন কাজ কির, 4সই একই অপােরং িসেম সাভJ ােরও বLবহার
করেত পাির। তেব সাভJ াের আমরা 4যেহতD অLািপেকশন সাভJ করা বLতীত অনL 4কােনা কাজ
কিরনা, তাই সাভJ ার অপােরং িসেম Tেলা এই কাজটা ভােলা ভােব করার জনL আরও
অÇমাইজড কের ]তির করা হয়। বাজাের আপিন যত Tেলা িলনাc এর িডÅিবউশন
4দখেবন সব Tেলারই :ায় দুইটা ভাশJন 4দখেত পারেবন। একটা 4ড¨টপ ভাশJন, অনLটা
সাভJ ার ভাশJন। এমনিক উইে³ােজরও সাভJ ার অপােরং িসেম রেয়েছ, িক~ 4সটা
িলনােcর মত ি} না।
এখন িনয় 4বাঝা যােY 4য 4কন, 4য 4কােনা লLাংTেয়জ বLবহার কেরই আমরা সাভJ ার
সাইড অLাপিলেকশন বানােত পাির? 4যই লLা¡ুেয়জটা আমরা কিVউটাের রান করােত পাির
4সই লLাংTেয়জটা আমরা সাভJ ােরও রান করােত পারব। সাভJ ার আর কিVউটােরর িভতের
বLািসক 4কােনা পাথJকL 4নই। তেব িকছD িকছD লLাংTেয়জ ]তিরই করা হেয়েছ ওেয়েব সাভJ ার
িনেয় কাজ করার জনL, 4যমন িপএইচিপ। িপএইচিপ এর পূণJর®প :থেম িছল পাসJনাল 4হাম
4পজ। যখন :থম ওেয়েবর আিবভJ াব হল তখনই পােসJানাল 4হাম 4পজ ]তির করার জনL
িপএইচিপ এর আিবºার করা হয়। পােসJানাল ওেয়বসাইট, িবজেনস ওেয়বসাইট বা এমন
ওেয়ব সাইট যা _ধD ইনফরেমশন 4শয়ার করার কােজ বLবPত হেব এমন সকল ওেয়ব সাইট
বানােনার জনL িপএইচিপ এর িবকg আজও 4নই। িপএইচিপ বLবহার কের খD ব ?g |ান
কােজ লািগেয়, খD ব ?g সমেয় আপিন সকল ধরেনর ওেয়বসাইট বানােত পারেবন।
২০০৩ সােল ওেয়বেডেভলপেমে;র 41েX িপএইচিপ এর একটা নতDন মাXা যD হয়। কারণ
এবছেরই বাজাের আেস দুিনয়ার সব 4থেক জনি:য় িসএমএস ওয়াডJে:স। ওেয়েবর যাXার
_র`র িদেক 4কউ কgনায় কেরিন 4য, ওেয়বেক বLবহার কের আজেকর দুিনয়ার :ায় সব
ধরেনর সফটওয়Lার সাভসই :দান করা সব হেব। তখন ওেয়ব িছল ইনফরেমশন 4শয়ার
করার একটা মাধLম মাX। পােসJানাল গসাইট, িনউজ সাইট, সরকাির সাইেটর মত সব
সাইট তখন ]তির হেতা। ওয়াডJে:স যখন আেস তখন 4ফসবD কও আিবºার হয় িন।
140 courses.stackschool.co
পােসJানাল সাইটTেলা িপএইচিপ বLবহার কের খD ব সহেজ 4ডেভলপেতা করা যায়, িক~ এর
কে;; মLােনজ করার জনL অনL আর একটা অLাপিলেকশেনর দরকার পের। এই সমসLাটা
বD ঝেত 4পের ওয়াডJে:স একটা কে;; মLােনজেম; িসেম বা CMS ]তির কের যা আজ
পযJ@ জনি:য়। িবেÉ যত ওেয়বসাইট আেছ তার 4বিশর ভাগ ওেয়বসাইট ওয়াডJে:স িদেয়
]তির।
যত িদন 4যেত থােক মানুষ তত ওেয়েবর ওপের িনভJ র হেত থােক। কারণ ওেয়েবর মাধLেম
একজন আর একজেনর সােথ খD ব সহেজই িনেজেক যD করেত পাের। একটা ইনফরেমশন
যিদ ওেয়েব থােক তাহেল সব িডভাইস 4থেকই 4সটা একই সমেয় এবং ·ত এেcস 4নওয়া
যায়। ওেয়ব তখন একটা 4সাল কিVউটােরর মত কাজ কের যার সােথ বািক সম)
িডভাইস Tেলা কােনে
ড। মানুষ আে) আে) বD ঝেত পাের 4য ওেয়বেক বLবহার কের আমরা
_ধD মাX ইনফরেমশনই 4শয়ার করেত পাির না, আরও অেনক িকছDই করা সব। জ 4নয়
ওেয়ব অLাপিলেকশেনর। 4ছাট 4ছাট 4যই কাজ Tেলা সফটওয়Lার ইSটল কের আমােদর
করেত হেতা, 4সই সম) কাজ Tেলা ওেয়েব িশফট হেত _র` করেলা। বLািকং 4থেক
এার:াইজ সম) অLাপিলেকশনই আে) আে) ওেয়েবর মাধLেম ছিড়েয় 4যেত থাকেলা।
ওেয়ব অLাপিলেকশেনর চািহদা বি^ পাওয়ার :থম কারণ হেলা এর মাধLেম ·ত ইউজােরর
x ােনা যায়। যার ফেল 4সাশLাল অLাপ, 4গম সব জায়গােতই আজেক আমরা
কােছ 4পwছ
ওেয়েবর বLবহার 4দখেত পাই।
ওেয়ব অLাপিলেকশেনর চািহদা বি^ পাওয়ার সােথ সােথ দুইটা িবষেয়র :িত 4ডেভলপারেদর
নজর 4গল। :থমটা হেY পাফJ রেমS আর িতীয়টা হেY িসিকউির। একসময় আমরা
:েতLেক :েতLেকর িপিসেত সফটওয়Lার ইSটল কের বLবহার করতাম, আর এখন একটা
াউজার ইSটল কের :ায় সব সফটওয়Lারই ই;ারেনেটর মাধLেম বLবহার কির। একটা মাX
সাভJ ার িপিসেত এই অLাপিলেকশন Tেলা আেছ যা আমােদর সবাইেক সাভস িদেY। ল1
ল1 মানুষ যখন একই সমেয় ওই একটা িপিসেকই বLবহার করেছ তখন িক ওই একটা িপিসর
পে1 সব এত িরকDেয় হLাে³ল করা, এত অপােরশন হLাে³ল করা? অবশLই সব না। এর
জনL দরকার িসেম আকেটকচার, সাভJ ার 4¨িলং এর মত বড় বড় সব িবষয়। আর একটা
িজিনসও দরকার। আর 4সটা হেY 4কােডর পাফJ রেমS অপমাইেজশন। যিদ আপনার
অLাপিলেকশন বLবহার কারীর সংখLা খD ব কম হয় তাহেল আপিন 4য 4কােনা 4:াEািমং
লLাংTেয়জ বLবহার কেরই অLাপিলেকশন 4ডেভলপ করেত পােরন। 4কােনা রকম 4কােনা
অপমাইেজশেনর দরকার হেব না। িক~ যিদ আপনার অLাপিলেকশন একই সমেয় ল1
141 courses.stackschool.co
ল1 মানুষেক সাভJ করেত হয় তাহেল িক করেবন? সাভJ ােরর পের সাভJ ার যD করেত
থাকেবন? নািক অLাপিলেকশনেক অপমাইজ করেবন?
ওয়াডJে:স বLবহার কের আমরা খD ব সহেজই 4যেকােনা ওেয়বসাইট বা বতJ মােন 4য 4কােনা
ওেয়ব অLাপিলেকশনও ]তির করেত পাির। ইেভ; মLােনজেম;, লানং অLাপ, ইকমাসJ সাইট
4থেক _র` কের 4সাশLাল অLাপ পযJ@ আমরা ওয়াডJে:স বLবহার কের বানােত পাির। আর
এই কাজ Tেলা করার জনL 4কািডং এর দ1তাও থাকার দরকার 4নই। অg ?g যিদ
িপএইচিপ এর |ান থােক তাহেল 4তা আর 4কােনা কথায় 4নই। িক~ কখেনা িচ@া কের
4দেখেছন 4য, ওয়াডJ 4:স বLবহার কের যিদ সব এত সহেজই করা যায় তাহেল Tগল,
মাইোসফট বা 4ফসবD েকর মত 4কাVানী Tেলা 4কন ওয়াডJ 4:স বLবহার করেছ না? 4কন
তারা 4কা 4কা টাকা খরচ কের, হাজার হাজার 4ডেভলপার 4রেখ তােদর সাভস Tেলা
বানােY? তারা 4যই সাভস Tেলা 4:াভাইড কের 4সTেলািক ওয়াডJে:স িদেয় বানােনা যায়
না? 4ফসবD ক যখন :থম 4ডেভলপড হেয়িছল, তখন এর লLাংTেয়জ িহেসেব বLবহার করা
হেয়িছল িপএইচিপেক। িক~ িক এমন ঘটেলা 4য তােদর এই লLাংTেয়জ 4থেক সের এেস
নতDন লLাংTেয়জ 4ডেভলপ কের িনেজর সাইট নতDন কের 4ডেভলপ করেত হল? কখেনা িক
মেন : জােগ না 4য সবাই এত কের ডাটা Äাকচার অLালেগািরদম িশখেত বেল, এTেলার
বLবহার আিম 4ডেভলপেমে; 4কাথায় করলাম? নািক ওেয়ব 4ডেভলপেমে; এTেলা লােগ
না?
142 courses.stackschool.co
অLােßািরদিম রােখ এই জনL 4য, 4যন তারা :িতটা অLালেগািরদম এর এিcিকউশন
টাইমটা কিমেয় আনেত পাের। :িতটা িরকDেয় 4থেক যিদ ১ িমিল 4সেক³ সময় বঁাচােনা যায়
তাহেল মাস 4শেষ 4ফসবD ক Tগেলর মত 4কাVািন Tেলার 4কা 4কা টাকা খরচ 4বঁেচ
যােব।
একটা অLাপিলেকশন বানােনা আর 4সই অLাপিলেকশন িদেয় বLবসা করা 4মােটও এক িবষয়
না। আপিন যখন িশখেবন তখন আপিন যা খD িশ তাই িশখেত পােরন, িক~ যখন বLবসার
উে{েশL 4কােনা অLাপিলেকশন বানােবন তখন অবশLই আপিন 4কান লLাংTেয়জ, 4কান
4}মওয়ােকJ কাজ করেত পছj কেরন এটা মুখL িবষয় না। মুখL িবষয় হেY 4কান
লLাংTেয়জটা আপনার িরকDয়ারেম;টােক সব 4থেক ভােলাভােব ফDলিফল করেত পারেছ।
_ধD 4ডেভলপেমে;র সময় না, 4ডেভলপেমে;র পেরও যত িদন অLাপিলেকশনটা বLবহার হেব
ততিদন 4ক সব 4থেক ভােলা সােপাটJ িদেত পারেব। আর এই জনLই Tগল, মাইোসফেটর
মত 4কাVািন কখেনা একটা লLাংTেয়জ বLবহার কেরনা তােদর সাভস Tেলা ]তিরর 41েX।
4যই লLাংTেয়জটা 4যই কােজ ভােলা 4সই কাজ করার জনL 4সই লLা¡ুেয়জটাই বLবহার কের।
াটJাপ আইিডয়া Tেলার 41েX িবষয়টা িভ½, কারণ 4সই 41েX আপিন জােননই না
আপনার আইিডয়াটা মানুষ পছj করেব িকনা। এই জনL ·ত 4:ােটাটাইপ ]তির করা যায়
এমন একটা লLাংTেয়জ বLবহার কেরই মােকJ েট 4নেম পরা উিচত। পরবতীেত মানুষ যিদ
আপনার অLাপিলেকশন পছj কের তখন বLবহারকারীর সংখLা িবেবচনা কের নতDন কের
অLাপিলেকশন 4ডেভলপ করা যােব।
বLােক³ অLাপিলেকশন আপিন 4য 4কান লLাংTেয়জ বLবহার কেরই 4ডেভলপ করেত পােরন।
বাজাের :চDর লLাংTেয়জ এবং 4}মওয়াকJ আেছ বLােকে³র জনL। িক~ আিম এখােন অg
কেয়কটা লLাংTেয়জ সVেকJ ই কথা বলব 4যTেলা বতJ মােন খD বই জনি:য় এবং যার জব
মােকJ টও খD ব বড়।
143 courses.stackschool.co
ইনফরেমশন 4শয়ার করেব এরকম ওেয়ব সাইট ]তির করার জনLই িপএইচিপ 4বঁেছ 4নওয়া
উিচত।
িপএইচিপ বLবহার কেরও মাইোসাভস আকেটকচার ]তির করা যায়, তেব এর কVাইেলর
িকছD X`র কারেণ অনLানL লLাংTেয়জ বLবহার কের যতটা ভােলাভােব মাইোসাভস ]তির
করা যায়, িপএইচিপেত এতটা ভােলা ভােব করা যায় না। আর িপএইচিপর 4বিশরভাগ
জনি:য় 4}মওয়াকJ ই মেনািলিথক আকেটকচার মেডেল ]তির করা। তেব আপনারা যারা
িপএইচিপ 4ডেভলপার আেছন তােদর জনL সুখবর হেY িপএইচিপ ৮ এ আপনারা JIT
(Just In Time) কVাইলার 4পেত যােYন িপএইচিপ এর সােথ। যার ফেল আর দশটা
মডানJ লLাংTেয়েজর মতই িপএইচিপ কাজ করেত যােY।
144 courses.stackschool.co
িপএইচিপ এর জনি:য় 4}মওয়ােকJ র কথা বলেল সবার :থেম বলেত হেব লারােভল এর
নাম। আিম পােসJানািল িপএইচিপ িনেয় খD ব কম কাজ কির এবং িপএইচিপ এর 4}মওয়াকJ
বলেত এই একটা মাX 4}মওয়াকJ সVেকJ ই িকছDটা |ান রািখ। রLািপড অLাপিলেকশন
4ডেভলপ করার জনL খD ব সুjর একটা 4}মওয়াকJ এ। একজন িপএইচিপ 4ডেভলপার
িহেসেব আিম মেন কির সবার এই 4ফমওয়াকJ টা 4শখা উিচত।
4নাডেজএস বLবহার কের পােসJানাল ওেয়বসাইট 4থেক _র` কের ইকমাসJ সাইট, িভিডও
Åিমং সাইট, 4গম সাভJ ার সহ 4যেকােনা ধরেনর ওেয়বসাইট বা অLাপিলেকশন ]তির করা
যায়। তেব _ধD মাX ডাটা ইে;িSভ অLাপিলেকশনTেলা 4নাড বLবহার কের 4ডেভলপ করা
হেল আপিন লাভবান হেবন। 4যই সব অLাপিলেকশন Tেলােত :চDর িসিপইউ এর কাজ থােক
145 courses.stackschool.co
4সই সব অLাপিলেকশন ]তিরেত 4নাডেজএস বLবহার না করাই ভােলা, কারণ 4নাডেজএস
িসে¡ল 4¤েডড একটা াটফমJ। 4নাডেজএস বLবহার কের খD ব সহেজ খD বই ·ত গিত সV½
ওেয়বসাইট ]তির করা যায়। িক~ ওয়াডJে:েসর মত 4কােনা িসএমএস না থাকার কারেণ মানুষ
ওেয়বসাইট ]তিরেত িপএইচিপেকই ভােলাবােস। ওয়াডJে:েসর মত জনি:য় িসএমএস না
থাকেলও 4নাডেজএস এর আেছ ডজনখােনক পাওয়ারফDল িসএমএস এবং 4}মওয়াকJ । তেব
4নাডেজএস এর বLবহার ওেয়বসাইেটর 4থেক ওেয়ব অLাপিলেকশন ]তির করেতই 4বিশ 4দখা
যায়। 4নাডেজএস িসে¡ল 4¤ড এবং নন িকং হওয়ায় অনLানL লLাংTেয়েজর 4থেক অেনক
·ত এবং 4বিশ ইউজারেক একই সমেয় সাভস :দান করেত পাের। যার ফেল অেনক 4ছাট
সাভJ ার বLবহার কেরও একই সমেয় অেনক 4বিশ ইউজার িরকDেয় হLাে³ল করা সব হয়।
4নাডেজএস এর জনি:য়তার একটা :ধান কারণ হেY এ।
বড় বড় 4কাVািন Tেলা মাইোসাভেসর িদেক ঝDঁেক পরার কারেণ সব 4থেক 4বিশ লাভবান
হেয়েছ 4নাডেজএস। 4যেহতD 4নাডেজএস নন 4ািকং তাই এিপআই 4গটওেয় ]তির করার জনL
এর জুিড় 4নই। িসিপইউ ইে;িSভ কাজ Tেলা - জাভা, িসশাপJ বা 4গালLাং এর মত
লLাংTেয়জ িদেয় হLাে³ল কের, ডাটা ইে;িSভ কাজ Tেলা করা হেY 4নাডেজএস বLবহার
কের। যার কারেণ 4কাVািন Tেলা অথJৈনিতক ভােব লাভবান হেYন। মাইোসাভস ]তিরর
জনL 4নাডেজএস এর রেয়েছ অসংখL 4}মওয়াকJ যা বLবহার কের খD ব অg সমেয়ই একটা
মাইোসাভস 4ডেভলপ করা যায়।
4নাডেজএস এর 4য _ধD ভােলা িদকই রেয়েছ 4কােনা খারাপ িদক 4নই এমনটা না। এর সব
4থেক বােজ িবষয় হেY এ িসে¡ল 4¤েডড, যিদও এখন চাই 4:ােসস এবং ওয়াকJ ার 4¤ড
বLবহার কের এই সমসLাটার সমাধান অেনকাংেশই করা যায় তারপেরও 4যই কাজ Tেলা
করেত :চDর িসিপইউ পাওয়ার দরকার হয় 4সই কাজ Tেলা করার জনL 4নাডেজএস 4মােটও
ভােলা 4কােনা সমাধান না। 4নাডেজএস নতDন একটা 4টকেনালিজ। আিম বলব না 4য এটা
পুেরাপুির মLাচDউর হেয় 4গেছ। এর মLাচDউর হেয় উঠেত, সব রকম টDিলং সােপাটJ িদেত আরও
সময় লাগেব। তেব 4যেহতD বড় বড় 4কাVানী Tেলা তােদর বড় বড় :েজে
এটা বLবহার
করেছ তাই আিম মেন কির এটা একটা ভােলা সমাধান হেত পাের।
146 courses.stackschool.co
হয়। 4তা আপিন যিদ এখন বLােক³ 4ডেভলপেম; করেত চান তাহেল নতDন কের 4কােনা
লLাংTেয়জ আপনােক িশখেত হল না। _ধD মাX বLােক³ 4ডেভলপেমে;র 4টকিনক এবং
একটা ভােলা বLােক³ 4}মওয়াকJ িশেখ িনেলই হল। 4}মওয়ােকJ র কথা বলেল সবার :থেম
4যই নামটা উেঠ আেস তা হল ExpressJS. 4নাডেজএস এর সব 4থেক জনি:য় মাইো
4}মওয়াকJ যা বLবহার কের আপিন িপএইচিপ এর মত ওেয়বসাইটও ]তির করেত পারেবন
আবার 4পপােলর মত 4পেম; 4গটওেয়ও ]তির করেত পারেবন। মাইো 4}মওয়াকJ হওয়ার
কারেণ মেনর মত কামাইজ কের কাজ করা যায়। মাইোসাভস ]তির করার জনLও এটা
খD ব সুjর একটা সমাধান।
Python: বতJ মান িবেÉর সব 4থেক জনি:য় এবং বল বLবPত 4:াEািমং
লLাংTেয়েজর নাম হেY পাইথন। 4জনােরল পাপJাস এই লLা¡ুেয়জটা িদেয় করা যায় না
বলেত আমার 4দখা _ধD একটা িবষয়ই আেছ আর তাহেলা }ে;³ 4ডেভলপেম;। বািক সব
কাজ সব 4থেক সহেজ, সব 4থক কম 4কাড িলেখ করা যায় পাইথন বLবহার কের। বতJ মােন
ডাটা সাইS এবং িরসােসJর কােজই পাইথন সব 4থেক 4বিশ বLবPত হয়। তেব ওেয়ব
4ডেভলপেমে;র 41েXও িপিছেয় 4নই পাইথন। রLািপড 4ডেভলপেমে;র জনL এর রেয়েছ
িবশাল এক 4}মওয়াকJ যার নাম জLাংেগা। তেব জLাংেগা মেনািলিথক হওয়ােত খD ব বড়
অLাপিলেকশন এর কােজ বLবহার না করাই ভােলা। তেব আপিন লারােভল বLবহার কের 4যই
অLাপিলেকশন বানােতন 4সই একই অLাপিলেকশন যিদ আপিন জLাংেগা বLবহার কের
বানান, তাহেল িনঃসেjেহ আপনার অLাপিলেকশেনর পাফJ রেমS আেগর 4থেক অেনক
4বটার হেব। অLাপিলেকশেনর পাফJ রেমS 4বিশর ভাগ 41েXই িনভJ র কের লLাংTেয়েজর
ওপের। 4}মওয়ােকJ র ওপেরও িনভJ র কের, 4}মওয়াকJ Tেলা যিদ ভােলা ভােব তােদর 4কাড
অপমাইজ কের তাহেল পাফJ রেমS অেনক 4বটার হয়। এই 41েX লারােভল অেনক ভােলা
কাজ করেলও িপএইচিপ এর জনL 4পের ওেঠিন। িপএইচিপ পাইথেনর 4থেক অেনক 4বিশ 4Õা
একটা লLাংTেয়জ।
তেব আপিন যিদ 4ভেব থােকন, পাইথন 4তা ফাার, পাইথন বLবহার কের অেনক বড় বড়
িসিপইউ ইে;িSভ অLাপিলেকশন বানােবা তাহেল একটD ভDল হেব। পাইথন িপএইচিপ এর
4থেক ফাার িক~ বা)ব জীবেন পাইথন খD বই 4Õা একটা লLাংTেয়জ। কারণ এটা
ই;ারে:েটড লLাংTেয়জ। অেনেকই 4নাডেজএস এর সােথ পাইথেনর তDলনা িদেয় থােকন।
অেনেকই মেন কেরন পাইথন 4নাডেজএস এর 4থেক ফা, িক~ দুঃখজনক হেলও সতL
4নাডেজএস এখন অবিধ সব 4থেক ফাে বLােক³ সলুLশন। আিম জািন জাভািKµ সব
147 courses.stackschool.co
4থেক ফা লLাংTেয়জ না এবং সব 41েX 4নাডেজএস ফাে সলুLশনও না, তেব
4বিশরভাগ 41েXই এটা সব 4থেক ফা। 4নাডেজএস এত ফা এিcিকউট হওয়ার িপছেন
দুইটা কারণ। :থম কারণ হেY Tগেলর v8 ইিন এবং িতীয় কারণ হেY এটা নন িকং।
জাভা, িসশােপJর মত লLাংTেয়জ Tেলার এিcিকউশন টাইম জাভািKেµর 4থেক অেনক
অেনক কম, এরা অেনক ·ত 4কাড এিcিকউট কের থােক। িক~ ওেয়েবর 41েX এরা
িরকDেয় ক কের কাজ কের, আর 4নাডেজএস ক কের না। তাই 4নাডেজএস এর 4থেক
ফা বLােক³ সলুLশন এখন অবিধ বাজাের 4নই।
148 courses.stackschool.co
লLাংTেয়েজর 4নই। তাই িসিপইউ ইে;িSভ কােজর জনL জাভােক ই³ারÅ Lা³াডJ ধের
িনেত পােরন।
জাভা বLবহার করা হয় 4নটিÆেcর মত সাভস ]তিরর কােজ 4যখােন একই সমেয় ল1 ল1
মানুেষর কােছ িভিডও Åম সাভস 4পwেx ছ 4দওয়া হেY। জাভা বLবহার করা হয় Intellij
Idea, Netbeans, Elicpe এর মত অLাডভাSড ও পাওয়ারফDল IDE ]তিরর কােজ। জাভা
বLবহার করা হয় ERP এবং বLাংিকং সফটওয়Lার ]তিরর কােজ। ওেয়েব জাভার বিবধ
বLবহার রেয়েছ িক~ তার 4কানটাই 4ছােটাখােটা কােজর জনL না। জাভার সব 4থেক জনি:য়
ওেয়ব 4}মওয়াকJ হেY Spring যা বLবহার কের আপিন মেনািলিথক এবং মাইোসাভস
দুেটা আকেটকচােরই অLাপিলেকশন ]তির করেত পারেবন। Spring 4}মওয়াকJ টার অসংখL
মিডউল আেছ, এেককটা মিডউল এেককটা কােজ বLবPত হয়।
149 courses.stackschool.co
এটা 4লােলেভল লLাংTেয়জ হেলও খD ব সহেজই এটা বLবহার কের একটা ওেয়ব
অLাপিলেকশন ]তির করা যায়।
4গালLাং এর মত :ায় 4সম আর একটা লLাংTেয়জ হেY Rust যা মিজলা 4ডেভলপ কেরেছ।
এটাও অেনক 4লা 4লেভল িক~ হাই 4লেভল িসনটLাc। যার ফেল রা বLবPত হেY :চDর
কােজ। আপনারা হয়ত }ে;ে³ ওেয়ব অLােসÀিল এর নাম _েনেছন। রা বLবহার কের খD ব
সহেজই আপিন ওেয়ব অLােসÀিল এর কাজ করেত পারেবন। তাহেল বলা যায় রা বLবহার
কের }ে;³ বLােক³ দুইটা কাজই করা যােব জাভািKেµর মত। আপনারা হয়েতা জনি:য়
4:ােটাটাইিপং অLাপস Figma এর নাম _েনেছন যা ]তির করা হেয়েছ রা এবং ওেয়ব
অLােসÀিল বLবহার কের।
150 courses.stackschool.co
একটা পােসJানাল সাইট ]তির করা, :াকেসর জনL একটা অLাপ 4ডেভলপ করা আর
একটা অLাপ ]তির কের তার 4থেক বLবসা করা সVূণJ িভ½। আপনারা সবাই অLাপ ]তির
কের বLবসা করেবন না, হয়ত যারা এই বইটা পড়েছন তার িভতের ১-২% মানুেষর মেন এই
রকম ইেY রেয়েছ। বািকরা িক করেবন? হয় ি}লািSং করেবন না হয় জব করেবন। যায়ই
কেরন, িবÉ 4যভােব চলেছ তার বাইের 4তা আপিন চলেত পারেবন না। িবÉ 4যিদেক আগােY
তার বাইের 4তা আপিন আগােত পারেবন না। আপনােক িবেÉর সােথ তাল িমিলেয় চলেত
হেব। আর এর জনL আপনােক একটা 4:ােসস সVেকJ জানেত হেব। িনেজর দ1তা বি^
কেরই 4যেত হেব। 4টকেনালিজর এই জগেত 4কউ আমরা 4সফ না, আজেক আিম 4যই টDলস
িনেয় কাজ করিছ কালেক 4সটা ও ফLাশান হেয় 4যেত পাের। তাই িনেজেক সব সময় 4শখার
িভতের রাখেত হেব। 4যন কালেকর 4টকেনালিজর সােথ খাপ খাইেয় িনেত আমােদর 4কােনা
সমসLা না হয়। আর একটা িবষয়, 4টকেনালিজ জগেত েক থাকেত হেল ইেমাশনেক দূের
রাখেত হেব। আমােদর একটাই ইেমাশন, আমরা 4টকেনালিজ ভােলাবািস। 4িসিফক
4কােনা 4টকেনালিজর 4:েম হাবD ডDবD খাওয়া যােব না। কারণ আপিন একটা 4টকেনালিজেক
যতই ভােলাবােসন না 4কন, 4সই 4টকেনালিজ িক~ আপনােক ছLাকা িদেত দুইবার ভাবেব না।
151 courses.stackschool.co
PHP 4শখার 4রফােরেSস
152 courses.stackschool.co
Python 4শখার 4রফােরেSস
153 courses.stackschool.co
এই 4পজ 4?Yায় ফঁ াকা রাখা হেয়েছ
Visit https://courses.stackschool.co
Subscribe https://youtube.com/stacklearner
Like https://facebook.com/stacklearner
Join https://facebook.com/groups/stacklearner
Connect https://linkedin.com/company/stacklearner
Follow https://instagram.com/stacklearner/
Follow https://medium.com/stack-learner
154 courses.stackschool.co
৯
অধLায় নয়
4মর`দেlর কাঠােমা
155 courses.stackschool.co
এই অধLােয় আেলািচত িবষয়ব,
✓ বLােক³ 4ডেভলপেম;
✓ িকং vs নন িকং
156 courses.stackschool.co
4নাডেজএস _ধD মাX এক কাজই কের থােক। আর তাহল জাভািKµেক াউজােরর
বাইের রান কের থােক। যখন জাভািKµ াউজােরর বাইের একটা সাধারণ 4:াEািমং
লLাংTেয়জ এর মেতা কাজ করেব তখন তার িকছD িকছD টDলস সােপাটJ এর দরকার পরেব।
4যমন ফাইল িসেম, অপােরং িসেম, ইেভ; এরকম আরও অসংখL িবষয় আেছ। এই
জনL 4নাডেজএস এর সােথ একটা 4ছােটাখােটা িবউËইন লাইেরীও আেছ যা আমােদর
সাহাযL কের 4নাডেজএস বLবহার কের কমা³লাইন অLাপিলেকশন বা সাভJ ার সাইড
অLাপিলেকশন ]তির করেত। 4যেহতD এখােন লLাংTেয়জ িহেসেব জাভািKµই বLবহার করা
157 courses.stackschool.co
হেY তাই এই মিডউল Tেলা িশখেত খD ব একটা সময় লাগেব না। এেক জাভািKেµর একটা
নতDন লাইেরী এর মত মেন করেলই হেব।
ধর`ন আপিন এক 4রDেরে; িগেয়েছন লা¹ করেত। 4সখােন িগেয় 4দখেলন একটা মাX
ওেয়টার আর কামার আেছ পxাচজন। ওেয়টারটাও চরম 4বাকা। 4স একজেনর কােছ যােY,
তার অডJার িনেY, অডJারটা 4শেফর কােছ 4পwেx ছ িদেY। 4শফ অডJারটা পাওয়ার পেরও 4বাকা
ওেয়টার ওখােনই দঁ ািড়েয় থাকেছ যত1ণনা পযJ@ ওই কামােরর অডJার 4রিড হেY। অডJার
4রিড হওয়ার পের 4স কামারেক অডJার বD িঝেয় িদেয় িতীয় কামােরর কােছ যােY। আর
কামারেদরেক অ:েয়াজনীয় ভােব বিসেয় রাখেছ। সবাই বেস 4চঁ চােমিচ করেছ, 4কউ 4কউ
উেঠ রাগ কের চেল যােY। এই 4য কনেসµটা এেক বেল িকং আইও। কারণ এটা িরকDেয়
ক কের। একটা িরকDেয় আসেল 4সটার 4রসপS পাঠােনার পূেবJ সাভJ ার আর 4কােনা নতDন
4রসপS Eহণ করেত পাের না। 4±িডশনাল সব 4:াEািমং লLাংTেয়জই এই ভােব কাজ কের
থােক। জাভা, িস++, িসশাপJ, পাইথন, িপএইচিপ সবাই এভােব কাজ কের থােক। তেব এই
লLাংTেয়জ Tেলা মাÍে¤েডড হওয়ায় িকছDটা সমসLার সমাধান করা যায়। ধেরন একজন
ওেয়টােরর বদেল আপনার যত Tেলা 4টিবল ততজন ওেয়টার যিদ আপিন রােখন তাহেল
অ@তপে1 4কউ িবর হেয় চেল যােব না। িক~ তারপেরও সমসLার সৃ¼ হেব। কারণ একটা
4রDেরে; আপিন জােনন 4য আপনার কয়টা 4টিবল আেছ আর একসােথ সেবJা¿ আপনার
কয়জনেক সাভJ করেত হেব। িক~ ওেয়ব অLাপিলেকশেনর 41েX এই নাÀারটা অজানা। যিদ
আপিন অেনক কম 4¤েডড সাভJ ার বLবহার কেরন তাহেল 4দখা যােY ইউজার উপেচ পরেছ,
আবার অেনক বড়সড় সাভJ ার িনেলন, িক~ 4দখা যােY 4বিশর ভাগ সময়ই সাভJ ার ফাকা
পের থাকেছ িক~ আপনােক yকই এর সাভস চাজJ :দান করেত হেY।
158 courses.stackschool.co
বLাপারটা একটD িভ½ ভােব ঘটেলও পারত। একজন ওেয়টার িক~ পxাচজন কামার। ওেয়টার
:থেম একজেনর কােছ িগেয় তার অডJার িনেব, তারপের অডJারটা 4শেফর কােছ 4পwেx ছ িদেয়
বLাক চেল আসেব িতীয় কামােরর কােছ। ওইিদেক 4শফ :থম অডJােরর কাজ চািলেয় 4যেত
থাকেব। ওেয়টার িতীয় জেনর কােছ 4থেক অডJার িনেয় আবার 4শেফর কােছ 4পwেx ছ িদেয়
ততীয় জেনর কােছ চেল যােব অডJার 4নওয়ার জনL। যিদ এইভােব অডJার 4নই তাহেল 4কােনা
কামারই অস~ হেব না। যখন :থম কামােরর অডJার 4রিড হেয় যােব তখন তার কােছ
4পwেx ছ িদেব। এভােব যত কামারই আসুক তার অডJার িনেত থাকেব এবং অডJার :,ত হেল
তার কােছ 4পwেx ছ িদেব। এই কনেসµটােক বেল নন িকং আইও।
4নাডেজএস এই মেডেল কাজ কের থােক। যখন 4কােনা ইউজার িরকDেয় পাঠায় তার িরকDেয়
:েসস করার সময় 4নাডেজএস অনL িরকDেয়েক ক কের না। বর¹ তােক িকউইেত 4রেখ
4দয়, এবং যখন 4কােনা িরকDেয় 4:ােসস করা 4শষ হেয় যায় তখন তােক 4রসপS বLাক কের
4দয়। আর এইজনLই 4নাডেজএস এর 4থেক ফা 4কােনা বLােক³ সাভস 4নই। ডাটা
Ýাইেভন অLাপিলেকশন বানােনার জনL 4নাডেজস সব 4থেক ভােলা সমাধান। কারণ
এইে1েX িসিপইউ এর 4তমন 4কােনা কাজ থােক না, িসিপইউ কেয়ক িমিলেসেকে³র িভতেরই
একটা 4রসপS 4জনােরট কের 4ফলেত পাের। এই জনL এক 4সেকে³ কেয়ক হাজার িরকDেয়
4নাডেজএস হLাে³ল করেত পাের এবং খD বই ·ত। আপনারা 4খয়াল কের 4দখেবন
4নাডেজএস বLবহার কের বানােনা অLাপিলেকশন Tেলা অেনক 4বিশ ফা হয়।
4নাডেজএস বLবহার কের ওেয়ব অLাপিলেকশন ]তির করাও খD ব সহজ। কারণ HTTP
সাভJ ার ]তির করার সম) টDলস 4নাডেজএস এর সােথ িবউËইন ভােবই 4দওয়া থােক।
4কােনা :কার 4কান সাভJ ার টDলস 4যমন Xammp, Wammp ইSটল করার :েয়াজন 4নই।
আিম যখন :থম 4নাডেজএস বLবহার কের সাভJ ার ]তির কেরিছলাম, 4কােনা ভােবই 4মেন
িনেত পারিছলাম না 4য আমার সাভJ ার ]তির হেয় িগেয়েছ। 4লাকালেহাে আমার
অLাপিলেকশন রািনং এবং আমার অLাপিলেকশন HTTP িরকDেয় িলেসন করেছ। এটা
এেতাটাই সহজ। মাX দুই িতন লাইেনর 4কাড িলেখই একটা সাভJ ার রান করা যায়।
িবিগনার অেনেকর মেনই এই : ঘD রপাক খায় 4য িপএইচিপ বLবহার কের আমরা 4যমন
ডাইনািমক অLাপিলেকশন ]তির করেত পাির, 4নাডেজএস বLবহার কের িক আমরা তা
পারেবা? _ধD মাX 4কার 4নাডেজএস লাইেরী বLবহার কেরই আপনারা সVূণJ ডাইনািমক
159 courses.stackschool.co
অLাপিলেকশন ]তির করেত পারেবন। তেব এই 41েX আপনােক :চDর 4কাড িলখেত হেব,
:চDর লিজক িনেয় কাজ করেত হেব। এই বLাপারটােক সহজ করার জনL আেছ Express,
4নাডেজএেসর সব 4থেক জনি:য় এবং বল বLবPত 4}মওয়াকJ ।
160 courses.stackschool.co
এcে:স বLবহার কের িকভােব রাউং করেত হয়, িকভােব িরকDেয় হLাে³ল করেত হয়,
িকভােব পাবিলক িডের
ির িেয়ট করেত হয় আর িকভােব সাভJ ার রািনং করেত হয়,
এইরকম সহজ সহজ িকছD কাজ আেছ 4যTেলা আপনােক িশখেত হেব। এcে:স িনেজ খD বই
4ছাট এবং এর API এক 4পেজর িভতেরই িলেখ 4শষ করা সব বণJনা সহ। মাÍেপজ
অLাপিলেকশন বানােনার জনL আপনার একটা 4টVেলট ইিন লাগেব, এcে:স জােন
িকভােব 4টVেলট ইিেনর সােথ কাজ করেত হয়, আপিন _ধD আপনার পছjমত একটা
4টVেলট ইিন িনেয় এেস অLাপিলেকশেন বিসেয় 4দেবন। এছাড়াও 4সশন, কDিকস, ফাইল
আপেলাড এর জনLও এcে:েসর রেয়েছ 4ছাট 4ছাট িবউÍন ইউিল টDলস। এcে:েসর
সােথ থাডJ পাJ 4য 4কােনা লাইেরী বLবহার করার জনLও এc±া 4কােনা ি¨েলর দরকার হয়
না।
ওেয়বসাইট বা অLাপিলেকশন যায়ই বেলন না 4কন, ]তির করেত আপনার দরকার হেব
একটা পাসে; ডাটা 4ােরজ বা ডাটােবজ। একটা অLাপিলেকশেন :চDর ডাটা থােক আর
4সই ডাটা রাখার জনL রেয়েছ ডাটােবজ। এcে:েসর সােথ ডাটােবজ িহেসেব আপিন 4য
4কােনা জনি:য় ডাটােবজেকই 4বেছ িনেত পােরন। এইে1েX 4কােনা ধরাবঁাধা িনয়ম 4নই।
ডাটােবেজর সােথ সহেজ কাজ করার জনL আেছ িবিভ½ ইউিল লাইেরী যা মূলত ORM
বা Object Relational Mapping নােম পিরিচত। এই টDলস Tেলা বLবহার কের আপিন খD ব
সহেজই ডাটােবজ িনেয় কাজ করেত পারেবন। এখােন িবিগনারেদর মেন একটা কনিফউশন
কাজ কের থােক, ডাটােবজ 4তা িশখেবা িক~ িশখেবা 4কানটা? অেনেকই মেন কের থােকন 4য
PHP এর সােথ 4যমন MySQL িশখেত হয়, yক 4তমিন NodeJS এর সােথ িনয়
MongoDB িশখেত হয়। বLাপারটা 4মােটও এরকম না।
আপিন 4নাডেজএস এর সােথ 4য 4কােনা ডাটােবজ িনেয়ই কাজ করেত পারেবন। তেব
মে¡ািডিব িনেয় কাজ করার :ধান কারণ হেY এটা NoSQL, মােন এখােন 4কােনা কDেয়ির
লLাংTেয়জ 4নই। যা করা হয় সব িকছDই ফাংশন কেলর মাধLেম করা হয়। আর সব 4থেক বড়
িবষয় এখােন সব িকছDই হয় জাভািKµ িসনটLাc বLবহার কের। এখােন 4কােনা 4টিবল
4নই। আেছ ডকDেম; যা মূলত একটা জাভািKµ অবেজ
। মে¡ািডিবেত ডাটা 4ার করা,
কDেয়ির করা, ইSাটJ িডিলট করা, যায়ই করা 4হাক না 4কন 4সটা করা হয় জাভািKµ
িসনটLাc বLবহার কের। তাই আপিন যিদ 4নাডেজএস এর সােথ মে¡ািডিব বLবহার কেরন
তাহেল এটা একটা জাভািKµ Lাক হেয় যায়। নতDন কের 4কােনা লLাংTেয়জ না িশেখই সব
কাজ সV½ করা যায়। আর SQL ডাটােবেজ 4যই কাজ করা যায় NoSQL ডাটােবেজও একই
161 courses.stackschool.co
কাজ করা যায়। NoSQL ডাটােবজ SQL ডাটােবেজর 4থেক সহেজ 4¨লও করা যায়। সব
িমিলেয়ই মানুষ এখন মে¡ািডিব 4ক 4বিশ পছj করেছ।
বতJ মােন বLােক³ 4ডেভলপারেদর 4যই কাজটা সব 4থেক 4বিশ করেত হয় তাহল এিপআই
]তির করা। এিপআই বলেত এখােন আিম REST API 4কই বD ঝািY। এcে:স বLবহার কের
এিপআই ]তির করার জনL আপনােক নতDন কের 4কােনা িকছDই িশখেত হেব না। _ধD
আপনােক ওেপন এিপআই 4িসিফেকশন সVেকJ জানেত হেব। এটা একটা Lা³াডJ
4িসিফেকশন যা 4মেনই সবাই এিপআই ]তির কের থােক। এর সােথ সােথ আপিন 4জেন
িনেবন িকভােব এই 4িসিফেকশন 4মেন এিপআই ডকDেমে;শন ]তির করা যায়। বাজাের
অসংখL টDলস আেছ যা বLবহার কের অেটােমক ভােবই ডকDেমে;শন ]তির করা যায়। তার
িভতের জনি:য় একটা সমাধান হেY Swagger. এর সােথ সােথ আপনােক িশখেত হেব
িকভােব আপিন এিপআই 4টªং করেত পােরন। এিপআই 4ট করার জনL আপিন বLবহার
করেত পােরন Insomnia বা Postman এর মত টDলস Tেলা।
4র এিপআই িনেয় িকছDটা সময় বLয় করা উিচত সব রকম এিপআই ]তির করার একটা
অিভ|তা অজJেনর জনL। এই সময় আপনােক িশখেত হেব িকভােব আপিন এিপআই
অেথনেকশন সাভস 4:াভাইড করেত পােরন JWT বLবহার কের। এর সােথ সােথ িবিভ½
অেথনেকশন টDলস 4যমন PassportJS িকভােব বLবহার করেত হয়, িকভােব মাÍ
অেথনেকশন ইমিেম; করেত হয় OAuth 2 বLবহার কের। িকভােব ফাইল আপেলাড
করেত হয়, িকভােব Åম 4রসপS পাঠােনা যায়, এTেলাও িশেখ িনেত হেব।
4র এিপআই িনেয় ভােলা একটা |ান অজJন হেয় 4গেলই িকছD থাডJ পাJ ই»েEশন িশেখ
িনেত হেব। সবার :থেম িশখেত পােরন Socket.io যা বLবহার কের িরেয়ল টাইম িফচার যD
করেত পারেবন আপনার অLাপিলেকশেন। 4যমন িরেয়ল টাইম মLােসিজং, িরেয়ল টাইম পুশ
4নািফেকশন। তেব এই ধরেনর সাভস 4য সব সময় আপনােক মLানুয়ািল ]তির করেত হেব
এমন না। :চDর সাভস 4:াভাইডার এই ধরেনর সাভস 4সল কের থােক যা _ধD মাX
ইনেEট করেত পারেলই আপিন অেনক বড় বড় অLাপিলেকশনও 4ডেভলপ করেত
পারেবন। আমার মেত :থেমই 4কােনা সাভস 4:াভাইডােরর কােছ যাওয়ার দরকার 4নই, 4ছাট
পিরসের হেলও 4শখার জনL সব িকছDই একবার কের িনেজ ইমিেম; কের রাখা ভােলা। পের
:েফশনাল কােজর 41েX, 4যখােন পাফJ রেমS এবং 4¨িলং একটা বড় িবষয়, 4সখােন ভােলা
4কােনা সাভস 4:াভাইডােরর সাভস বLবহার করা 4যেত পাের।
162 courses.stackschool.co
এরপের আপিন িশখেত পােরন িকভােব ইেমইল িনেয় কাজ করেত হয়, িকভােব িবিভ½
SMTP সাভJ ার আপনার অLাপিলেকশেনর সােথ যD করেত হয়, িকভােব বাÑ ইেমইল 4স³
করেত হয়। ইেমইেলর সােথ সােথ SMS িনেয় কাজ করাও আপনােক িশখেত হেব। কারণ
এখন মানুষ ইেমইেলর 4থেক SMS 4কই 4বিশ :াধানL িদেয় থােক। SMS Alert, Two
Factor Authentication, Verification Code এই টাইেপর কাজ Tেলা িকভােব করা 4যেত
পাের 4সই িবষেয় একটা দ1তা অজJন কের 4নওয়া ভােলা। এছাড়াও িবিভ½ থাডJ পাJ
4ােরজ সাভস, 4সাল লগ সাভস, কLািশং এর মত িবষয় Tেলা সVেকJ ও |ান অজJন
করেত হেব এবং 4সTেলা িনেজ 4থেক 4ছাট পিরসের ইমিেম; করার অিভ|তা অজJন
করেত হেব।
বতJ মােন 4র এিপআই এর সােথ পা°া িদেয় আর একটা 4টকনলিজ 4±ি³ং এ যােY আর
তা হল GraphQL যা মূলত একটা কDেয়ির লLাংTেয়জ এবং এিপআই কDেয়ির করার জনL
কােজ বLবহার করা হয়। 4র এিপআই এর 41েX 4যমন :িতটা িরেসােসJর জনL িনদ একটা
URI থােক, এখােন সVূণJ িরেসােসJস জনL একটা মাX URI আেছ যা বLবহার কেরই আপিন
4য 4কােনা ডাটা তDেল আনেত পারেবন। এর আর একটা এডভাে;জ হেY যতটDকD ডাটা
আপনার দরকার yক ততটDকD ডাটাই আপিন কDেয়ির কের আনেত পারেবন। একটD 4বিশও
না, একটD কমও না। এই সম) িকছD এডভাে;েজর কারেণই GraphQL িদন িদন জনি:য় হেয়
উঠেছ। আর GraphQL বLবহার করার 4কােনা িলিমেটশন 4নই, আপিন 4যেকােনা
লLাংTেয়েজর সােথই এটা বLবহার করেত পারেবন। তাই আমার মেন হয় GraphQL িশেখ
িনেল এই |ানটা আপনার িবফেল যােব না, বর¹ এডভাে;জই পােবন সব জায়গায়।
163 courses.stackschool.co
সাভস বLবহার করেত বলেত পাের। ওেয়ব Kািপং করার :েয়াজন হেত পাের 4কােনা
অLাপিলেকশেনর জনL। বLােকে³র সাবনা আসেল বেল 4শষ করার মত না। আপনার
িনেজর মানুিষকতােক এভােবই ]তির করেত হেব 4যন আপিন যখন যা লােগ তা িশেখ িনেত
পােরন। ওপের বণত িবষয় Tেলা হল আপনার বLােকে³র 4বস। এই 4বস _ধD 4নাডেজএস
এর জনL না। 4যেকােনা লLাংTেয়জ বা 4}মওয়ােকJ ই আপনার এই |ান কােজ লাগেব।
_ধD মাX লLাংTেয়জ এবং ইমিেমে;শেনর ধারাটা পিরবতত হেয় যােব।
বতJ মােন আর একটা 4টকেনালিজও খD ব জনি:য় হেয়েছ আর 4সটা হেY Docker। ভাচJ D য়াল
বc এর জামানা 4শষ কের এখন সবাই 4দৗড়ােY কে;ইনােরর িপছেন। ডকার খD বই সুjর
এবং জনি:য় একটা 4টকেনালিজ হওয়ায় এখন সবাই :ায় তােদর অLাপিলেকশন ডকার
এবং কDবারেনট বLবহার কেরই 4ডপলয় করেছ। ডকার হেY একটা আইেসােলেটড
এনভাইরেম; যার িভতের আপনার অLাপিলকশন সহ এ রান করার সম) িডেপে³িS
আইেসােলেটড ভােব থােক। কথা Tেলা আসেল একটD জল িবিগনারেদর জনL। তেব এটা
:থেমই আপনােক িশখেত হেব না, বা একবােরই িশেখ বস হেয় 4যেত হেব না। একজন
4ডেভলপার িহেসেব ডকার সVেকJ নূনLতম একটা |ান রাখা আমােদর সবার জনLই জর`ির।
_ধD এেতাটDকDই না, আরও অেনক িকছD আেছ। DevOps, Server, System Architecture,
Infrastructure আরও কত িক? এই িবষয় Tেলা িশখেত বছেরর পর বছর সময় 4লেগ যায়।
এত িদন পযJ@ আমরা যা িশখলাম তা আপনােক একজন ভােলা 4ডেভলপার বানােব।
আপিন এই |ান কােজ লািগেয়ই 4যেকােনা অLাপিলেকশন ]তির করেত পারেবন। িক~ এই
অLাপিলেকশনটা যখন 4কা 4কা মানুেষর কােছ 4পwেx ছ িদেত চাইেবন তখন দরকার হেব
164 courses.stackschool.co
িসেম আকেটকচােরর মত িবষয়। িক~ এখনই আপনার এই িবষয় Tেলা িনেয় িচ@া করার
4কােনা দরকার 4নই। আপিন যিদ :থম 4থেক সম) গাইড লাইন 4মেন এই পযJ@ আেসন,
4সটা 4যই কয় বছেরই আেসন না 4কন, এই পযJ@ আসার পের আপনার আর 4কােনা
গাইডলাইেনর দরকার হেব না। তখন :েয়াজেনর তািগেদ আপিন িনেজই সব িকছD িশেখ
িনেত পারেবন।
165 courses.stackschool.co
NodeJS 4শখার 4রফােরেSস
166 courses.stackschool.co
এই 4পজ 4?Yায় ফঁ াকা রাখা হেয়েছ
Visit https://courses.stackschool.co
Subscribe https://youtube.com/stacklearner
Like https://facebook.com/stacklearner
Join https://facebook.com/groups/stacklearner
Connect https://linkedin.com/company/stacklearner
Follow https://instagram.com/stacklearner/
Follow https://medium.com/stack-learner
167 courses.stackschool.co
১০ অধLায় দশ
4শষ কথা
168 courses.stackschool.co
এই অধLােয় আেলািচত িবষয়ব,
✓ ভDল ধারণা
169 courses.stackschool.co
4ডেভলপেম; একটা বহৎ যাXা। কেয়ক বছর সময় লােগ এই যাXা সV½ কের িনেজেক
ভােলা একজন 4ডেভলপােরর কাতাের িনেয় 4যেত। এত এত 4টকেনালিজ, এত এত নাম সব
আপনােক একিদেন িশখেত হেব না। আপিন :থেম ভােলা ভােব 4:াEািমং লLাংTেয়জ
িশখেবন, ডাটা Äাকচার অLালেগািরদম িশখেবন, তারপেরই 4ডেভলপেমে; আসেবন।
4:াEািমং 4শখার িপছেন, :েম সিÃং করার িপছেনই আপনার সব 4থেক 4বিশ সময় বLয়
হেব। বLাপারটা একটা সহজ উদাহরেণর মধL িদেয় 4বাঝার 4চা করা যাক। আপনােক যিদ
একটা 4ভঁ াতা কDড়াল িদেয় বড় একটা গাছ কাটেত বলা হয় আপিন পারেবন? হয়ত পারেবন
িক~ :চDর ক করেত হেব। তার 4থেক বর¹ সরাসির গাছ কাটার কাজ _র` না কের, :থেম
সময় িনেয় যিদ কDড়ালটা ধার করা হয় এবং ধারােলা কDড়াল িদেয় গাছটা কাটার 4চা করা হয়
তাহেল আপিন খD ব ·ত গাছ কাটেত পারেবন। [4নাটঃ গাছ পিরেবেশর বqD, অ:েয়াজেন
গাছ কাটা 4থেক িবরত থাকDন]
170 courses.stackschool.co
এর একটা মূলL আেছ। বাজাের এর চািহদা আেছ, বLবহার আেছ। এর িভতের একটা যিদ
আমরা না জািন তাহেল ওই 4স
রটা আমরা িমস কের যােবা। আিম একবােরই সব িকছD
িশখেত বলিছ না। :থেমই আপনােক 4যেকােনা একটা ভােলা Lাক 4বেছ িনেত হেব। 4সই
Lাক এর জনি:য় সম) টDলসই এক এক কের আপনােক এcোর করেত হেব। িনেজর
সামথJL অনুযায়ী িশখেত থাকেত হেব। তাহেল দুইটা িজিনস হেব, :থমত আপনার অিভ|তা
বি^ পােব আর িতীয়ত আপিন আপনার কিVটেরর 4থেক িকছDটা এিগেয় থাকেবন। তেব
নতDন কের 4যই িবষয়টায় 4শখা _র` কেরন না 4কন, 4সটা ভােলা ভােবই িশখেত হেব। 4যমন
4তমন কের িশখেল 4কােনা লাভ 4নই।
4টকেনালিজ Lাক 4বেছ 4নওয়ার সমেয় আপনােক যেথ সাবধান থাকেত হেব। আপিন 4যই
Lাক এ কাজ করেবন বেল িস^া@ িনেYন তার িডমা³ 4কমন, 4সখােন উপাজJন 4কমন, কত
মানুষ 4সখােন কাজ করেছ, কােজর তDলনায় কাজ করার মানুেষর অনুপাত 4কমন এই িবষয়
Tেলা মাথায় 4রেখই আপনােক িস^া@ িনেত হেব। কাজ করার 41েX 4কােনা 4টকেনালিজ
সহজ বা কyন হয় না, সবই এক। আপনারা অেনেকই হয়ত ভাবেছন 4য আিম িপএইচিপ
ওয়াডJে:স পছj কির না। সব সময় এর িবর`ে^ কথা বিল। আসেল আিম 4কােনা
4টকেনালিজ এর িবপে1 না। আিম িনেজও :েয়াজেনর তািগেদ িপএইচিপ বা ওয়াডJে:স
বLবহার কের থািক। আমার পেয়;টা িভ½ জায়গােত। একটা জািতর সবাই এই এক
4টকেনালিজ িনেয় কাজ করেব? তাহেল সফটওয়Lার ই³াÅ গেড় উঠেব 4কমন কের?
িপএইচিপ ওয়াডJে:স িদেয় আর যায় 4হাক সফটওয়Lার ই³াÅ গেড় 4তালা যায় না। তাই
আিম সবাইেক এক িদেক 4যেত না কেরিছ। িকছD মানুষ 4তা থােক যােদর হাজাের না, 4কােত
?u।
আিম ি}লািSং িনেয়ও অেনক কথা বেলিছ। আিম তােদরেক উে{শL কের িকছDই
বিলিন যারা আমােদর 4দেশর গবJ, :িত মােস হাজার হাজার ]বেদিশক মু«া 4দেশ িনেয়
আসেছ। আপিন ি}লািSং কের িনেজর কমJসংsান িনেজ করেল বর¹ আমােদর 4দেশর
জনLই ভােলা। িক~ |ান বD ি^ অজJন না কের, িনেজেক দ1 না কের যারা ি}লািSং করেত
যােY তারা 4তা দ1েদর জনLও মিক সর®প হেয় দঁ াড়ােY। ি}লািSং করার জনL আপনােক
4য 4কােনা একটা িবষেয় ভােলা দ1তা অজJন করেত হেব। আর মজার িবষয় িক জােনন? এই
দ1তা অজJন হেয় 4গেল আপনােক আর িবিভ½ জায়গায় ি}লািSং এর 4কাসJ কের 4বড়ােত
হেব না। আপিন িনেজ িনেজই ি}লািSং এর পুেরা বLাপারটা উâাটন করেত পারেবন। তাই
ি}লািSং এর িপছেন না ছDেট, দ1তার িপছেন 4দৗড়ান।
171 courses.stackschool.co
আমােদর 4দেশ এখন অTকঁ ােধ দঁ ািড়েয় থাকা বিলÊ ]সিনেকর 4থেক 4বিশ দরকার
কিVউটােরর সামেন বেস কীেবােডJর বাটেন সুর তDলেত পারা ]সিনক। অনL আর দশটা
4স
ের না পারেলও আমরা িক~ পাির সফটওয়Lার 4স
ের সারা পৃিথবীেক তাক লািগেয়
িদেত। আমরা করিছও অেনকাংেশ। পৃিথবীর ব 4দেশর সফটওয়Lার আমােদর 4দেশ ]তির
হেY। ভিবষLেত আরও হেব। আর এর জনL আমােক, আপনােক সবাইেক এিগেয় আসেত
হেব। একটা কথা আপনােক মেন রাখেত হেব, 4দেশর জনL যD ^ করাটাই _ধD 4দশে:ম না।
4দেশর একজন সেচতন নাগিরক হেয় 4বঁেচ থাকাটাও বড় রকেমর 4দশে:ম। আপনার 4দশেক
ভােলাবাসার জনL 4দেশর জনL যD ^ করার দরকার 4নই। _ধD মাX িনেজর জনL যD ^ কর`ন।
আপিন যিদ িনেজেক ?াবলÀী করেত পােরন, িনেজেক অথJৈনিতক ভােব ?Yল করেত পােরন
তাহেল এটাই হেব আপনার 4দওয়া 4দেশর জনL সব 4থেক বড় উপাহার।
ধনLবাদ
172 courses.stackschool.co
4লখেকর কথা
আিম হাসান মাহমুদ নাঈম (HM Nayem), খD বই 1ু «মােপর একজন 4ডেভলপার।
4:াEািমং, 4ডেভলপেম; সVেকJ আমার |ান খD বই সীিমত। এই বই এর মাধLেম আিম
আমার এই 1ু « |ান িকছD মানুেষর কােছ 4পwেx ছ 4দওয়ার 4চা কেরিছ। নয় বছর এই জগেত
যD ^ করার দর`ন 4চােখর সামেন 4যই ভDল এবং Tজব Tেলা এেসেছ তা িনেজর মত কের
বLাখLা 4দওয়ার 4চা কেরিছ। িকভােব একজন মানুষ িনেজেক :,ত করেল 4ডেভলপেমে;র
4যেকােনা 4স
ের ভােলা করেত পারেব বেল আিম মেন কির 4সই িবষয় Tেলাই উপsাপন
করার 4চা কেরিছ।
আিম একজন ?uবাজ মানুষ। আিম ?u 4দিখ আমােদর 4দেশর সফটওয়Lার ই³াÅ একিদন
অেনক বড় হেব। আমােদর 4দেশর তর`ণ সমােজর ]তির করা 4গম সফটওয়Lােরর চািহদা ]তির
হেব িবÉ বাজাের। Tগল, 4ফসবD ক, অLামাজন, 4নটিÆেcর 4থেক বড় বড় সাভস ]তির
করেব আমােদর তর`ণরা। িনেজর বD ি^মা িদেয় নাসােত জব করেব না, নাসার মত বড় বড়
সব আিবºার করেব। 4দশেতা এিগেয় যােYই, সামেন আরও এিগেয় যােব। িক~ আমরা িক
আগােত পারিছ?
আিম আজেকই সব িকছD করার কথা বলিছ না। আিম বলিছ পরবতী ২০ বছেরর কথা।
পরবতী 4জনােরশন যখন দািয়N িনেব, তখন 4যন তােদর 4গালাম হেয় থাকেত না হয়। তারা
4যন রাজা হেয় থাকেত পাের তার :,িত আজেকই িনেত হেব। আগামী িবশ বছর পের িবÉ
অথJনীিতর একটা বড় অংশ যিদ আমরা হেত চাই, তাহেল আজেক 4থেকই আমােদর কাজ
_র` করেত হেব। একটা 4দেশর অবsান িবÉ অথJনীিতেত িক হেব, তার পুেরাপুিরই িনভJ র
কের 4সই 4দেশর নাগিরেকর ওপের। আর নাগিরক িহেসেব িনেজর 4দশেক বঁাচােনার জনL,
িনেজর 4দেশর অথJৈনিতক উ½িতর জনL আমরা সব িকছD করেত :,ত। এটাই আমােদর
4দশে:ম। অT হােত যD ে^র ময়দােন না দঁ াড়ােত পারেলও, একজন সফটওয়Lার ]সিনক
িহেসেব লLাপটপ হােত যD ^ করেত আিম সদা :,ত।
173 courses.stackschool.co