Download as pdf or txt
Download as pdf or txt
You are on page 1of 173

1 courses.stackschool.

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লখেকর অনুমিতর :েয়াজন হেব।

বইেয়র িবষয়ব) এবং ধারণা


HM Nayem
Shegufa Taranjum
Shayaike Salvy

বইেয়র :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

_র`র কথা 4বাকা বােcর ভাষা


১ ০৬
২ ১৮

ভাষার বLাকরণ সািহতL যাXা


৩ ৫০ ৪ ৬৫

িশg না সািহতL সািহেতLর ভাষা


৫ ৮৩ ৬ ১০৮

সািহেতLর 4সৗjযJ সািহেতLর 4মর`দl


৭ ১২৩ ৮ ১৩৪

4মর`দেlর কাঠােমা 4শেষর কথা


৯ ১৫৫
১০ ১৬৮

5 courses.stackschool.co

অধLায় এক

_র`র কথা

6 courses.stackschool.co
এই অধLােয় আেলািচত িবষয়ব,

✓ 4ডেভলপেম; _র`র কথা

✓ কিVউটার সাইেSর Tর`N

✓ 4:াEািমং লLাংTেয়েজর Tর`N

7 courses.stackschool.co

Powered by Stack School’s Boost Your Base Camp


যD েগ যD েগ মানুষ জীিবকা িনবJােহর জনL কত িকছDই না কেরেছ। এখেনা করেছ,
ভিবষLেতও করেব। তেব এখন মানুষ ঘের বেসই অথJ উপাজJন করেত পাের। সামেন _ধD
একটা 4বাকা বাc থাকেলই হয়। সারা িদন 4বাকা বােcর সামেন বেস িকেবােডJ টDন টDন
আওয়াজ করেলই ল1 ল1 টাকা চেল আেস। এই রকম একটা ধারণা 4থেকই 4বিশর ভাগ
মানুষ, িনেজর অজাে@ই একটা গহীন জংগেল পদাপJণ কের। 4যমনটা আিমও কেরিছলাম,
নয় বছর পূেবJ।

জংগলটা 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ািধক।

আমরা কিVউটার সাইেSর ŽDেড; হই আর নাহই, 4ডেভলপেম; 4স…ের েক থাকেত


চাইেল কিVউটার সােয়S সVেকJ আমােদর নূনLতম একটা |ান অজJন করেত হেব। 4কন
করেত হেব 4সটা 4বাঝার জনL 4ছা একটা উদাহরণই যেথ„ বেল আিম মেন কির।
ইেলকLাল ইি‘িনয়ার আর ইেলকLাল িমিT দুইজনই ইেলক“কLাল কাজ কের থােক।
িক~ একজনেক আমরা ইি‘িনয়ার বিল, কারণ তার ইি‘িনয়ািরং |ান রেয়েছ। িতিন
ইেলক“কLাল িবষেয় দ1 একজন মানুষ, সম) ি‰কLাল অবsার 4মাকােবলা িতিন করেত
পােরন। আর একজন 4ক আমরা িমিT বিল, কারণ িতিন 4কান সূX জােনন না। তার
ইেলক“কLাল িবষেয় 4কােনা পুঁিথগত িবদLা 4নই, িতিন 4দেখ 4দেখ িশেখেছন। আপনােদরেক
:থেমই িস^া@ িনেয় িনেত হেব 4য আপনারা িক হেবন? আর একটা িবষয়ও এর সােথ
আপনােক মাথায় রাখেত হেব 4য, কেয়ক বছেরর িনরলস পির”েমর পর, কেয়ক বছর িনঘD Jম
রািX যাপন করার পরই একজন ইি‘িনয়ার জŠ 4নয়।

ই;ারেনেটর জগেত কিVউটার সাইেSর যত িরেসাসJ রেয়েছ তা আর 4কান এডDেকশন


িফে•ই 4নই। তাই আপিন কিVউটার সাইেSর ছাX বা ছাXী না হেলও 4কােনা সমসLা 4নই।
আপিন চাইেলই সব িকছD িনেজ 4থেকই ঘের বেস বেসই িশেখ িনেত পারেবন। তেব 4সই 41েX
আপনােক হােত সময় িনেয় বসেত হেব। কিVউটার সাইS এমন 4কান িবষয় না, 4য একমােস
আপিন আয়– কের 4ফলেত পারেবন। সারা জীবন যিদ 4শখার মানুিষকতা থােক, _ধD মাX
তাহেলই এই জগেত আপিন িনেজর অবsান ]তির করেত পারেবন।

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ায় দুই

4বাকা বােcর ভাষা

18 courses.stackschool.co
এই অধLােয় আেলািচত িবষয়ব,

✓ 4:াEািমং লLাংTেয়জ িক

✓ িকভােব _র` করা উিচত

✓ কিVভ 4:াEািমং এর Tর`N কতটা

✓ িস 4:াEািমং িকভােব 4শখা উিচত

✓ িস 4রাডমLাপ

✓ জাভা িকভােব 4শখা উিচত

✓ জাভা 4রাডমLাপ

19 courses.stackschool.co

Powered by Stack School’s Boost Your Base Camp


কিVউটােরর সােথ বqDN করার, রাত 4জেগ তার সােথ গg করার এক মাX মাধLম 4য
4:াEািমং লLাংTেয়জ, 4সটা আমরা এর মেধLই 4জেন িগেয়িছ। আমােদর 4দেশর সরকারও
বLাপারটােক খD ব ভাল ভােবই বD ঝেত 4পেরেছন। তাই ¨Dল কেলেজর পাঠLসূচীেতও িতিন এই
4:াEািমং লLাংTেয়জেক যD  কেরেছন। ইউিনভা‚সƒেত ভ‚তƒ হওয়ার সােথ সােথই হােত
Tঁ িজেয় 4দওয়া হয় 4:াEািমং এর ওপের কেয়কটা 4কাসJ। বড় ভাইেদর কােছ যিদ 4কােনা
সােজশন চাই, তাহেল তারাও _িনেয় 4দয় 4:াEািমং ছাড়া 4কােনা গিত 4নই, 4:াEািমং
িশখেতই হেব। 4:াEািমং, 4:াEািমং, 4:াEািমং। ইউিনভা‚সƒর :থম ১-২ টা বছর চারপােশ
_ধD এই একটা শ ই কােন বাজেত থােক। ঘD মােলও ঘD েমর িভতের দুঃ?u 4দিখ, কােনর কােছ
4ক 4যন ভয়ংকর শ  কের 4:াEািমং 4:াEািমং কের িচ°ােY। যত িদন 4যেত থােক, তত ভয়
বাড়েত থােক। িকছDই 4তা 4শখা হল না, িক হেব আমার? চারপােশ Tজব ছড়ােনার, ভয়
4দখােনার মানুেষরওেতা 4তমন অভাব 4দিখ না। 4য যার মত কের দাশJিনক সব বD িল
আওড়ােY। আিম ও কম যায় না, 4কানটা সyক 4কানটা 4বyক একটD Tগেল সাচJ কের 4দেখ
4নওয়ার মত সময় আমার 4নই। এত মানুষিক তাহেল ভDল বলেছ?

অেনক সময় অেনক মানুষ বলেলই কথাটা সিত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ই জানােবন।

4:াEািমং হেY কিVউটােরর জনL 4লখা িকছD িনেদJশনা। যা মূলত কিVউটােরর


ভাষায়ই 4লখা হয় এবং কিVউটার 4সই িনেদJশনা Tেলা বD েঝ 4সই অনুযায়ী কাজ কের
থােক। সহজ ভাষায় বলেল, কিVউটারেক আমরা 4য িনেদJশ 4দই 4সটাই হেY 4:াEািমং।
আমরা কিVউটারেক 4য 4কান িনেদJশ িদেত পাির, তেব িনেদJশ Tেলা সyক ভােব িদেত হেব।
এমন ভােব িনেদJশ িদেত হেব 4যন কিVউটার 4সটা বD ঝেত পাের। আর কিVউটার _ধD
বD ঝেত পাের তার িনেজর ভাষা। তাহেল এখন িন™য়ই বD ঝেত পারেছন, আমােদরেক
4:াEািমং িশখেত হেব না, িশখেত হেব 4:াEািমং লLাংTেয়জ। িকভােব কমা³ িদেল এই 4বাকা

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যাগােযাগ কের থােক।

What is Machine Code?


- Machine code is a computer program written in machine
language instructions that can be executed directly by
a computer's central processing unit (CPU). (Wikipedia)

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ক হেব না।

What is High Level Programming Language?


- In computer science, a high-level programming language is
a programming language with strong abstraction from the
details of the computer. (Wikipedia)

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 না।

+য িবষয় 1েলা মেন রাখেত হেব


❖ :থম লLাংTেয়জ বD েঝ _েন িসেল… করেত হেব

❖ লLাংTেয়জ 4শখার সময় 4ডেভলপেম; িনেয় িচ@া করা যােব না

❖ :থম লLাংTেয়জ 4শখার জনL সময় বLয় করেত হেব

❖ সহেজ _র` করেত চাইেল পাইথন িদেয় _র` করা 4যেত পাের

❖ কিVউটারেক বD ঝেত চাইেল িস 4:াEািমং িদেয় _র` করেত হেব

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টল
করেত হয়?

জনি:য় িকছD িস কVাইলার

Turbo C Tiny C GCC PCC Clang

আিম যখন :থম িস 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থেক যােব।

এর পরবতী­েত আসেব লLাংTেয়জ 4শখার পালা। আপনােক :থেমই লLাংTেয়জ এর জাহাজ


হেয় 4যেত হেব না। সময় িনেয় ধীের ধীের 4:াEািমং ফা³ােম;ালস Tেলা আয়– করেত হেব।
›ট কের বেস কেয়ক ঘ‹ার মেধLই এTেলা 4শষ করা যায় না। আপিন যিদ পৃিথবীর সব 4থেক
বD ি^মান মানুষও হেয় থােকন এবং কেয়ক ঘ‹ার উেটািরয়াল 4দেখই দািব কের বেসন 4য
আপিন 4:াEািমং এর ফা³ােম;ালস বD েঝ 4গেছন এবং সারা পৃিথবী যিদ আপনার কথায়
সমথJন 4দয়, তারপেরও আিম মানেবা না। 4:াEািমং ফা³ােম;ালস Tেলা হেY আপনার
িভি–, আপিন যতটা সময় িনেয় এই িভি– :)র sাপন করেবন ততটাই মজবD ত হেব
আপনার কLািরয়ার। তাই তাড়া›ড়া না কের, সময় িনেয় ফা³ােম;াল Tেলা িশখD ন এবং চচJা
কর`ন। যখন মেন হেব আপিন সবিকছD ভাল ভােবই বD েঝ িগেয়েছন, তারপেরও অ@ত পে1 ৩
মাস এই Tেলাই চচJা কর`ন। বারবার একই কাজ করেল ভDেল যাবার :বণতাটা ¾াস পায়।
আর এই ফা³ােম;াল নেলজ Tেলা আপিন সারা জীবন কােজ লাগােত যােYন।

একটা িবষয় সব সময় মাথায় রাখেবন, একটা ১ তলা িবউি•ং ]তির করেতও 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সই গিণেতর ভÁিমকা কতটা আপনার
জীবেন।

অপােরটরসঃ আমরা মLাথমLাকস (Mathematics) এ িবিভ½ সাংেকিতক িচ¥


4যমন 4যাগ িবেয়াগ Tণ ভাগ বLবহার কের িবিভ½ সমসLার সমাধান করতাম। yক 4তমিন
4:াEািমং লLাংTেয়েজও অসংখL সাংেকিতক িচ¥ রেয়েছ িবিভ½ সমসLার সমাধান করার
জনL। এই সাংেকিতক িচ¥ Tেলােক অপােরটর (Operator) বেল। আপিন এখন 4যই
4:াEািমং লLাংTেয়জটা িশখেছন, 4সই লLাংTেয়জ আপনােক িক িক অপােরটর 4:াভাইড
করেছ, 4কান অপােরটেরর কাজ িক, সবার :থেমই 4স 4জেন 4নওয়া জর`ির। তাহেল
আপনার অেনক কাজ সহজ হেয় যােব।

কিHশন বা িডিসশন +মিকংঃ আমরা জািন আমােদর এই 4বাকা বাcটা খD বই


লিজকLাল। তাই তােক ইS±া… করেত 4গেল আমােদরেকও লিজকLাল হেত হেব এবং জানেত
হেব িকভােব আমরা লিজকLাল ভােব তােক ইS±া… করেত পাির। িবিভ½ লLাংTেয়েজ িবিভ½
ভােব এই লিজকLাল অপােরশন Tেলা 4লখা যায়। তেব সব লLাংTেয়জ এই if, if else, else
if এবং switch 4Žটেম; Tেলা আপিন 4দখেত পারেবন। চট কের এর বLবহার Tেলা িশেখ

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 লুপ।

ফাংশনঃ 4ছাটেবলায় যখন গিণত বইেত ফাংশেনর (Function) অধLায়টা আসত


4কানভােব ফঁ ািক িদেয় পার করেত পারেলই বঁাচতাম। আিম িনেজই অেনক বার বেলিছ 4য,
এই ফাংশন আমার জীবেন িক কােজ লাগেব? তখন িক আর জানতাম 4য আিম 4:াEামার
হব? ফাংশন অেনকটা লুেপর মতই কাজ কের। একই ধরেনর 4কাড বার বার না িলেখ
একবার িলেখই যতবার খD িশ ততবার বLবহার করা যায় ফাংশেনর মাধLেম। ফাংশন আর
লুেপর িভতের সব 4থেক বড় পাথJকL হেY, লুপেক আমরা কে˜াল করেত পাির না, িক~

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বিশ জর`ির।

Lংঃ কিVউটার সাধারণত সব িকছDই কের মLাথেমc িদেয়, িক~ আমরা


সাধারণ মানুেষরা অত ভাল মLাথেমc বD িঝ না। আমােদর জনL ভাল আমােদর িনেজেদর
ভাষা। িক~ কিVউটারেতা আবার আমােদর ভাষা বD ঝেব না। এই জনL িবিভ½ কLাের…ার
ইনেকািডং বLবহার কের আমােদর ভাষা কিVউটারেক 4বাঝােনা হয়। একজন 4:াEামােরর
দািয়N মানুেষর সমসLা Tেলােক কিVউটার বLবহার কের সমাধান করা, আর 4সই কাজ
করেত হেল আমােদরেক ভালভােব Åং (String) িনেয় কাজ করা বD ঝেত হেব। Åং হেY
অেনক Tেলা কLাের…ােরর সম¼ বা অLাের। এখােন আিম যা িলখিছ সব িকছDই Åং
আকাের কিVউটােরর কােছ 4Žার হেY। একটা Åং িকভােব কিVউটার তার ভাষায়
কনভাটJ কের, িকভােব Åং অপােরশন Tেলা ঘেট থােক, িকভােব দুইটা Åং 4জাড়া
লািগেয় একটা বড় Åং ]তির করেত হয়, িকভােব একটা Åং 4থেক িকছD ওয়াডJ খD ঁেজ 4বর
কের আনেত হয়, এইরকম 4ছােটাখােটা কাজ আমােদর িশখেত হেব।

পেয়Mারঃ কিVউটার সাইেSর খD বই Tর`NপূণJ একটা টিপc হেY এই পেয়;ার


(Pointer)। :িতটা লLাংTেয়েজই িডের…িল অথবা ইি³ের…িল এই কনেসµটা আমরা 4পেয়
থািক। এর আর এক নাম হেY 4রফােরS। আমােদর িডে£য়ার করা ভLািরেয়বল Tেলা
রLােমর 4কান 4লােকশেন রাখা আেছ তার 4রফােরS ধারণ কের রাখার কাজ কের এই
পেয়;ার। এটা একটD অLাডভাSড টিপc, িক~ :থম 4থেকই যিদ 4শখা _র` কেরন তাহেল
আয়– হেত খD ব 4বিশ সময় লাগার কথা না। িকভােব পেয়;ার কাজ কের, িকভােব িডে£য়ার
করেত হয়, িকভােব িবিভ½ অপােরশন ঘটােত হয়, পেয়;ার আর অLাের এর মেধL সVকJ িক,

28 courses.stackschool.co
পেয়;ার বLবহার কের 4যেকােনা জায়গা 4থেক িকভােব একটা ভLািরেয়বেলর ভLালু পিরবতJ ন
করা যায় এই রকম অসংখL কাজ আেছ যা আমােদর িশখেত হেব।

+মমির অEােলােকশনঃ হাই 4লেভল 4:াEািমং লLাংTেয়জ Tেলােত 4মেমাির


অLােলােকট (Memory Allocation) করা বা গােবJজ 4মেমাির (Garbage Collection)
ি£য়ার করা িনেয় আমােদর িচ@া করেত হয় না। তাই িকছD িশ1া সব সমেয়র জনLই অধরা
4থেক যায়। িক~ িস, িস++ এর মত িমড 4লেভল লLাংTেয়েজ আমােদর িনেজ 4থেকই 4মমির
অLােলােকট করেত হয়। 4যই 4মমির আর কােজ লাগেছ না 4সটােক ি} করেত হয়। এটা খD ব
কyন 4কােনা কাজ না। :েয়াজন অনুযায়ী আমরা রLাম এ নতDন 4মমির বরা{ কের িদেত
পাির 4মমির অLােলােকশন এর মাধLেম। :থম িদেক এটা খD ব কyন মেন হেব, কারণ আপিন
এর আসল বLবহার খD ঁেজ পােবন না। আসেল 4ছােটাখােটা কােজর জনL এTেলার :েয়াজন
হয় না। বড় অLািˆেকশন যখন ]তির করেবন তখন এরকম অLাডভাSড িফচার Tেলা
দরকার পরেব। তারপেরও িশেখ রাখেল হাই 4লেভল লLাংTেয়জ Tেলার কাজ বD ঝেত অেনক
সহজ হেব।

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বহার
করেবন।

িস 4:াEািমং এ যা যা িশখেত হেব

Step 1 - Environment Setup Step 2 - Basic Syntax


- Install GCC Compiler
- Variables

- Setup Environment Variable


- Data Types

- Install Text Editor


- Operators

- Install Necessary Plugins - Input and Output

Step 3 - Conditionals Step 4 - Functions


- If, If Else
- Function Declaration

- Switch Statement
- Arguments and Parameter

- For Loop
- Return Value

- While, Do While Loop


- Function Scope
- Break, Continue, Goto

Step 5 - Arrays and String Step 6 - Pointers


- Array Declaration
- Pointer Declaration

- Array Traversing
- Pointer Operations

- Multi Dimensional Array


- Array and Pointer

- String Declaration
- Memory Allocations

- String Operations - Dynamic Array

Step 7 - Struct & Union Step 8 - File Handling


- Struct Declaration
- Read, Write & Append

- Union Declaration - Copy, Delete, Renaming

30 courses.stackschool.co
4কন আিম মেন কির িস :থম লLাংTেয়জ হওয়া উিচত?

- িস 4:াEািমং লLাংTেয়জ হাই 4লেভল লLাংTেয়জ হেলও 4মিশেনর খD ব


কাছাকািছ একটা লLাংTেয়জ। সাধারণত এেক িমড 4লেভল লLাংTেয়জ বলা হয়।
তাই এখােন কাজ করেত হেল 4মিশেনর অেনক িকছD সVেকJ ই ভােলা ধারণা
থাকেত হয়। আর এই িবষয় Tেলা িস লLাংTেয়জ িশখেত িশখেতই 4শখা হেয়
যায়।
- িস 4:াEািমং লLাংTেয়েজ িভ½ িভ½ রকেমর ডাটা টাইপ (Data Type) থাকেলও
কিVউটার _ধD মাX ই»জার টাইেপর ডাটাই ধারণ করেত পাের। তাহেল
কLাের…ার (Char) বা 4Æাট (Float) বা ই»জার (int, long, short) টাইেপর
ডাটাই কিVউটার িকভােব 4Žার কের? িস লLাংTেয়েজ িভ½ িভ½ ধরেনর
ই»জার টাইেপর ডাটা আেছ সাইেজর ওপের িভি– কের, িক~ 4কন? িক ঘেট
একটা ভLািরেয়বল িডে£য়ার করেল? িকভােব কিVউটার এত ডাটা 4Žার কের
রােখ? এই িবষয় Tেলা :িতটা লLাংTেয়েজ থাকেলও ি¨প কের যাওয়ার সুেযাগ
4সখােন রেয়েছ। িক~ িস 4:াEািমং লLাংTেয়েজ আপনােক এই িবষয় Tেলা
জানেত হেব।
- পেয়;ার (Pointer) এবং অLাের (Array) এেক অেনLর সােথ সVৃ একটা
িবষয়। অনL লLাংTেয়জ Tেলােত অLাের িকভােব কাজ কের না বD েঝও আমরা
সম) কাজ করেত পাির। িক~ এখােন, িকভােব অLাের কাজ কের, িকভােব :িতটা
এিলেমে;র 4মমির অLােলােকট (Memory Allocation) হয়, িকভােব আমরা
অLােলােকেটড 4মমির 4থেক ডাটা তDেল আনেত পাির, পিরবতJ ন করেত পাির
পেয়;ার (4রফােরS) বLবহার কের 4সTেলা সবই জানেত হয়। যার ফেল
কিVউটার সাইেSর সব 4থেক Tর`NপূণJ একটা টিপc, আমােদর বLবহার করা
:থম ডাটা Äাকচার সVেকJ একটা ভােলা ধারণা ]তির হেয় যায়।
- আমরা যখন হাই 4লেভল লLাংTেয়েজ কাজ কির, তখন Åং (String) 4ক
একটা ডাটা টাইপ 4ভেবই কাজ কের যায়। 4বিশর ভাগ লLাংTেয়েজই Åং
একটা ডাটা টাইপ। িক~ িস 4:াEািমং লLাংTেয়জ আমােদর ভাবেত বাধL কের 4য

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বহার কের _র` করেত পােরন।

জনি:য় িকছD 4কাড এিডটর এবং IDE

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ািমং এর ইউTউব চEােনলঃ


- Anisul Islam (Bangla)
- Tamim Shahriar (Bangla)
- Stack Learner (Bangla)
- Neso Academy (English)
- Caleb Curry (English)

িস +QাRািমং ওেয়বসাইটঃ
- Geeks For Geeks
- C Programming
- Programmiz
- Learn-C

িস +QাRািমং +Vিনং +QাRাম এবং +কােসWসঃ


- Stack Learner Premium Courses
- Stack Learner Bootcamps (Training Program)

িবঃ«ঃ এক িন‚দƒ„ সমেয় এক িন‚দƒ„ িরেসাসJ 4মেন চলেবন

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ণ করেত পােরন।

পিরিচত িকছD অনলাইন জাজ

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ৎ :জŠেক।

+য িবষয় 1েলা মেন রাখেত হেব


❖ ফা³ােম;ালস িবষয় 4শখার পেরই :েম সিÃং _র` করা যায়

❖ অনলাইন জােজ :েম সà করেল 4কািডং দ1তা ব†ি^ পায়

❖ 4য 4কােনা লLাংTেয়জ বLবহার কেরই :েম সà করা যায়

❖ িস, িস++ এবং জাভা :েম সিÃং এর জন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 কথা

Programming Paradigm হেY 4:াEািমং লLাংTেয়জ Tেলােক তার িফচােরর


ওপের িভি– কের আলাদা করার 4টকিনক। আপিন এটােক :েম সà করার 4মথড
িহেসেব িচ@া করেত পােরন। এেককটা 4:াEািমং লLাংTেয়জ এক এক ভােব :েম
সÃ কের থােক। :িতটা 4:াEািমং লLাংTেয়েজরই িনজ? Paradigm আেছ। আবার
একটা 4:াEািমং লLাংTেয়েজ একািধক Paradigm 4মেন 4কাড করা 4যেত পাের।

সাধারণত Programming Paradigm 4ক আমরা দুইভােগ ভাগ করেত পাির।

Imperative: এই 41েX 4:াEামার কিVউটারেক ইS±া… কের িকভােব একটা


সমসLার সমাধান করা যায়। Imperative Paradigm এর অ@ভDJক Paradigm
Tেলা হেY -

- Procedural: এখােন অেনক Tেলা ইS±াকশন E`প আকাের থােক এবং


একটার পের একটা এিcিকউট হেত থােক।

- Object Oriented: এখােনও ইS±াকশন Tেলা E`প আকােরই থােক,


তেব এখােন ইS±াকশেনর সােথ সােথ state বা ভLালুও বাইি³ং অবsােত থােক।

Declarative: এই 41েX 4:াEামারেক _ধD মাX বেল িদেত হয় 4য 4স িক আউটপুট


চােY। 4কােনা রকম কিVউং লিজক িনেয় কাজ করেত হয় না।

- Functional: 4:াEামার 4যই আউটপুট টা 4পেত চােY 4সই আউটপুটটা


পাওয়ার জনL তােক অেনক Tেলা ফাংশন আকাের তার কাংিখত আউটপুটটা
িলখেত হেব।

িব)ািরত জানুন

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মথড বলা হয়।

ইনকEা\ুেলশন এবং অEাবNাকশনঃ অবেজ… অিরেয়ে;ড 4:াEািমং এর একটা


বড় ]বিশ„L হল, জল জল 4কাড Tেলা িনেজর কােছ লুিকেয় রাখা এবং অg কেয়কটা
ফাংশন বা 4মথড বাইের এcেপাস করা। 4যন এই অবেজে…র বLবহারকারী এই জল
4কাডTেলা সVেকJ 4কানভােবই জানেত না পাের। জাভােত এই কাজ Tেলা করার জনL
এেcস 4মািডফায়ার রেয়েছ, রেয়েছ অLাবÄা… £াস এবং ই;ারেফস।

আসেল অবেজ… অিরেয়ে;ড খ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 আরও কেয়কিদন পেরই হাত িদন।

Four Pillar of Object Oriented Programming

Encapsulation Abstraction Inheritance Polymorphism

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কােনা কাজ কিরনা। িক~ জাভার :িত আমার ক†ত|তা সারা জীবন থাকেব।

:থম লLাংTেয়জ িহেসেব জাভা

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পেত হেলও আপনােক জাভা
জানেত হেব।

- জাভা হেY একটা িপউর অবেজ… অিরেয়ে;ড লLাংTেয়জ। অবেজ…


অিরেয়ে;েডর 4যই 4Ÿিসিফেকশন আেছ তার 4:াপার ইমিˆেমে;শন পাওয়া
যায় জাভােত। তাই আপিন যিদ সিতLকার অেথJই অবেজ… অিরেয়ে;ড িশখেত
চান, িডজাইন পLাটানJ Tেলার ইমিˆেমে;শন ভােলা ভােব বD ঝেত চান তাহেল
আপনার জনL সব 4থেক ভােলা সােজশন হল জাভা িশখD ন।

44 courses.stackschool.co
4কন জাভা 4শখা উিচত

- জাভা িস 4:াEািমং লLাংTেয়েজর মত এতটাও 4লা 4লেভল না আবার


জাভািKেµর মত এতটাও হাই 4লেভল না। তাই এখােন আপনােক পেয়;ার,
4মমির মLােনজেম;, গােবJজ কােলকশেনর মত িবষয়Tেলা িনেয় কাজ করেত হেব
না। এই কাজ Tেলা কVাইলার আপনার হেয় কের 4দেব। িক~ জাভা ŽLাক
টাইপ লLাংTেয়জ হওয়ায় আপনােক ডাটা টাইপ িনেয় কাজ করেত হেব যার ফেল
আপনার 4কাড অেনক 4বিশ মLােনেজবল হেব।

- জাভার রেয়েছ িবরাট এক Žা³াডJ লাইেšরী কােলকশন, িবরাট বড় কিমউিন।


জাভা 4শখাও খD ব সহজ কারণ জাভার সােথ রেয়েছ একটা িরচ ডকDেমে;শন।
এছাড়াও 4যেকােনা 4ডেভলপেমে;র 41েXই জাভার ইেকা িসেŽম অনL 4যেকােনা
লLাংTেয়েজর 4থেক বড়। কারণ জাভা ব› বছর ধেরই িনেজর অবsান মােকJ েটর
শীেষJই ধের 4রেখেছ।

Widely Used Applications Of Java

Mobile Desktop Web Enterprise


Applications Applications Applications Applications

Scientific Cloud Big Data Game


Applications Applications Technologies Development

45 courses.stackschool.co
জাভা 4:াEািমং এ যা যা িশখেত হেব

Step 1 - Environment Setup


Step 3 - OOP

- Java Virtual Machine


- Understand OOP

- Java Development Kit


- Class and Object

- Install Eclipse or Intellij Idea - Inheritance

- Polymorphism

Step 2 - Basic Syntax


- Method Overloading

- Variables and Data Types


- Method Overriding

- Conditionals and Functions


- Encapsulation

- System IO
- Access Modifier

- Array and String


- Abstract Class & Method

- Fundamental Topics - Interface

Step 4 - OOP Practice

- Date Classes
Step 5 - Collection Framework

- Calendar Classes
- Generics in Java

- Wrapper Classes - ArrayList & LinkedList

- HashSet & TreeSet

Step 6 - Exception Handling


- Queue & Priority Queue

- Understanding Exception
- Dequeue

- Builtin Exceptions
- Map, HashMap & TreeMap

- Custom Exception - Collection and Sortable

- Comparable and Comparator

Step 7 - GUI Programming


Step 8 - Concurrency

- Java Swing
- Understanding Thread

- Java FX - Thread Pool, Thread Group

- Thread Priority and Joining

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স

জাভা +QাRািমং এর বই সমূহঃ


- Java: How to Program by Deitel, Deitel
- Head First Java by Bert Bates
- Java Complete Reference By Herbert Schildt
- Thinking in Java By Bruce Eckel
- Head First Object Oriented Analysis & Design by Brett Mclaughlin
- Head First Design Patterns By Freeman

জাভা +QাRািমং এর ইউTউব চEােনলঃ


- Anisul Islam (Bangla)
- Stack Learner (Bangla)
- Telusko Learning (English)
- Edureka (English)

জাভা +QাRািমং ওেয়বসাইটঃ


- Geeks For Geeks
- Programmiz
- Beginners Book
- Learn Java Online
- Oracle Official Tutorial
- Java Official Documentation

জাভা +QাRািমং +Vিনং +QাRাম এবং +কােসWসঃ


- Stack Learner Premium Courses
- Stack Learner Bootcamps (Training Program)

িবঃ«ঃ এক িন‚দƒ„ সমেয় এক িন‚দƒ„ িরেসাসJ 4মেন চলেবন

47 courses.stackschool.co
জনি:য় িকছD 4কাড এিডটর এবং IDE

Intellij Netbeans
VSCode Sublime Eclipse
Idea

জাভা সVেকJ িকছD Tর`NপূণJ কথা

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বহার কের করেত পারেবন।

Java EE: এ;ার:াইস অLাপিলেকশেনর জনL আলাদা ভােব িডজাইন করা এই


এিডশেনর পূণJ র®প হেY Java Enterprise Edition যা মূলত ŽLা³াডJ এিডশেনর
ওপের িভি– কেরই ]তির করা হেয়েছ। তেব এ;ার:াইস এিডশন বLবহার করা হয়
বড় এ;ার:াইস অLাপিলেকশেনর 41েX 4যখােন মাÍ 4¤েডর :চDর কাজ থােক,
4নটওয়াকJ িরকDেয়েŽর কাজ থােক এবং 4যই অLাপিলেকশন Tেলা :চDর 4¨ল করার
দরকার হয়। আপিন যিদ জাভার ŽLা³াডJ এিডশন সVেকJ |ান রােখন তাহেল খD ব
কম সমেয়ই আপিন এ;ার:াইস এিডশেনও কাজ করেত পারেবন।

িবঃ<ঃ জাভা Žা³াড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ােয় আেলািচত িবষয়ব,

✓ ডাটা Äাকচার এর Tর`N

✓ কমন ডাটা Äাকচারস

✓ অLালেগািরদেমর Tর`N

✓ কমন অLালেগািরদমস

✓ িডসি‰ট মLাথেমc

✓ িডসি‰ট মLাথেমেcর Tর`N

51 courses.stackschool.co

Powered by Stack School’s Boost Your Base Camp


কিVউটার সাইেSর সব 4থেক Tর`NপূণJ দুই িবষয় হেY ডাটা Äাকচার এবং
অLালেগািরদম। এত িদন 4তা আমরা অেনক ভােবই কিVউটােরর সােথ কথা বলা িশেখিছ।
কিVউটারেক িনেজর বqD বানােনার জনL তার ভাষা িশেখিছ। এখন আমরা _ধD
কিVউটারেক িনেদJশ িদব, আর কিVউটার 4সই অনুযায়ী কাজ করেব। িক~ এই িনেদJশ
4দওয়ার িভতেরও অেনক িবষয় আেছ। আমােদরেক এমন ভােব িনেদJশ িদেত হেব 4যন
কিVউটার খD ব কম সমেয়ই সব কাজ করেত পাের। আসেল 4দেখ মেন হয়, এই 4বাকা বাcটা
চDটিকেতই সব িকছD কের 4ফলেছ। িক~ যখন অেনক বড় বড় সব জল কLালকDেলশন করেত
4দওয়া হয়, যখন 4কা 4কা ডাটার িভতর 4থেক একটা ডাটা খD ঁেজ 4বর করেত বলা হয়,
তখন িক~ আমােদর কিVউটার মহাশয় একটD ঘাবেড় যায়। তখন তার কাজ করেত অেনক
সময় লােগ। তাই আমােদরেক ডাটা Tেলা রাখার সময় এমনভােব রাখেত হেব, 4যন
কিVউটার এক চDটিকেতই সব িকছD খD ঁেজ 4বর করেত পাের কেয়ক নLােনা 4সেকে³র মেধLই।

কি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।

ডাটা Äাকচার মােন হল ডাটাTেলােক সািজেয় Tিছেয় এমনভােব রাখা 4যন


:েয়াজেনর সময় সহেজ খD ঁেজ 4বর করা যায়, নতDন 4কান ডাটা যিদ যD  করেত হয় তাহেল খD ব
সহেজই 4যন যD  করা যায় এবং :েয়াজন না হেল 4যন খD ব সহেজই কিVউটার 4মমির 4থেক
মুেছ 4ফলা যায়। এই ডাটা Äাকচার িক~ ব› বছর আেগ 4থেকই আেছ, কারণ এ
মLাথেমেcর এক শাখা। কিVউটার সাইেSর সােথ এর সVেকJ র ব› আেগ 4থেকই
মানুষ এ বLবহার কের আসেছ আমােদর ]দনিjন জীবেনর িহেসব িনেকেশর কােজ।
কিVউটার সাইS আসার আেগও মানুষ 4কা 4কা ডাটার িহেসব 4রেখেছ, তখনও
মানুষেক 4কাননা 4কান ভােব ডাটা Tেলােক Tিছেয় রাখেত হেতা। তফাত হেY, এখন আমরা
4সই পুেরােনা সূX Tেলা নতDন ভােব বLবহার কের বড় বড় সমসLার সমাধান করােবা আমােদর
4বাকা 4মিশনেক িদেয়।

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াপারই হেব না।

ডাটা Äাকচার হল মLাথেমc। 4সট, মLা“c, “, Eাফ, িবনLাস সমাবেশর মত িবষয়।


এর সােথ 4:াEািমং এর 4কােনা সVকJ 4নই। আপনােক :থেম সম) ডাটা Äাকচােরর িথওির
ভােলা ভােব বD ঝেত হেব। কারণ খD ব অg িকছD সময় আপনােক িনেজ 4থেক এই ডাটা Äাকচার
Tেলা ইমিˆেম; কের কাজ করেত হেব। তেব যখন আপিন িশখেবন তখন িনেজর |ানেক
সমৃ^ করেত অবশLই 4য 4কান 4:াEািমং লLাংTেয়জ বLবহার কের :িতটা ডাটা Äাকচার
ইমিˆেম; করেবন। আপনার যিদ িথওির পিরºার থােক তাহেল 4য 4কান লLাংTেয়জ বLবহার
কেরই আপিন এTেলােক ইমিˆেম; করেত পারেবন। তেব তার জনL আপনার 4:াEািমং
লLাংTেয়জ এর |ানটাও ভােলা মতই থাকেত হেব।

ডাটা Äাকচারেক আমরা দুই ভােগ ভাগ করেত করেত পাির। 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দখেত পােবন।

িলিনয়ার ডাটা Äাকচারস

Basic Data Structures


Advanced Data Structures

- Array
- Map

- Linked List
- Doubly Linked List

- Set
- Priority Queue

- Stack
- Dequeue
- Queue

নন িলিনয়ার ডাটা ÄাকচারTেলা তDলনামূলক কyন। কারণ এখােন ডাটার িন‚দƒ„


4কান _র` বা 4শষ থােক না। 4য 4কান জায়গা 4থেকই ডাটােক এেcস করা যায়। তDলনামূলক
জল সব সমসLার সমাধান করেত এই ধরেনর ডাটা Äাকচার Tেলা বLবPত হয়। 4যমন
পৃিথবীর মLাপ ইমিˆেম; করার জনL Eাফ ডাটা Äাকচারটা বLবহার করা হেয়েছ। সব 4থেক
জনি:য় নন িলিনয়ার ডাটা Äাকচার Tেলা হেY “, িহপ এবং Eাফ। একটD কyন হেলও
আিম মেন কির এই ডাটা Äাকচার Tেলাও আপনার 4শখা উিচত। তাহেল আপনার :েম
সিÃং সVেকJ নতDন একটা ধারণা জŠ িনেব।

ননিলিনয়ার ডাটা Äাকচারস

Basic Data Structures


Advanced Data Structures

- Hash Map
- Multiway Trees

- Hash Table
- Trie

- Heaps
- Hash Tree

- Tree
- Decision Tree

- Binary Search Tree - Graphs

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ালেগািরদম ]তির করেত
পারব।

:থেমই আমােদর 4শখা উিচত অLালেগািরদম এনালাইিসস করা। 4কান


অLালেগািরদমটার পাফJ রেমS 4কমন হেব বা আমরা 4যই 4কাডটা িলখলাম 4সটা এিcিকউট
হেত কতটা 4মমির লাগেব, কতটা সময় লাগেব 4সই িবষেয় জানার একমাX উপায় হেY
অLালেগািরদম এনালাইিসস। একটা সমসLা অেনক ভােব সমাধান করা যায়, িক~ আপিন
4কান সমাধানটা 4বেছ িনেবন এটা আপিন বD ঝেবন অ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

- Quick Sort - Graph Shortest Path Algorithms

ডাটা Äাকচার এবং অ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 -

- Theoretical Computer Science


- Information Theory
- Logic
- Set Theory
- Combinatorics
- Graph Theory
- Probability
- Number Theory
- Algebraic Structures
- Calculus
- Geometry
- Topology
- Game Theory

57 courses.stackschool.co
- Decision Theory
- Discretisation

এই সব বড় বড় নাম 4দখেল ভয় 4লেগ যাওয়া ?াভািবক। আর আমােদর কােছ 4তা 4ছাট


4বলা 4থেকই মLাথেমc একটা িবভীিষকার নাম। তেব সিতL কথা বলেত িডসি‰ট
মLাথেমc এতটাও কyন 4কােনা িবষয় না। আপনােক অেনক1ণ ধের আিম ডাটা
Äাকচার িশখেত বলিছ, অLালেগািরদম িশখেত বলিছ। িডসি‰ট মLাথেমc হেY ডাটা
Äাকচার Tেলার গািণিতক মেডল। যিদ ভােলা ভােব ডাটা Äাকচার আয়– করেত চান তাহেল
সব সব 4থেক সহজ সমাধান হেব এই িডসি‰ট মLাথেমc। তাছাড়া িবিভ½
অLালেগািরদেমর কনেসµ বD ঝেত এবং িনেজ িনেজ অLালেগািরদম ]তির করেত সাহাযL করেব
িডসি‰ট মLাথেমc। কিVউটার সাইেSর 4যেকােনা িফে• কাজ করেত চাইেলই, এই
মLাথেমেcর |ান আপনার কােজ লাগেব। 4হাক 4সটা মLািশন লা‚নƒং বা 4হাক 4সটা 4গম
4ডেভলপেম;। আপনারা অেনেকই বেলন, ভাই লিজক আেস না। িসনটLাc 4তা বD িঝ,
আপিন যখন কের 4দখান তখন 4তা সহজই লােগ িক~ িনেজ করেত 4গেল পাির না। এই
সমসLার সমাধান আেছ িডসি‰ট মLাথেমেc। 4য 4কােনা একটা সাধারণ িবষয়েক িকভােব
লিজকLাল ভােব িরে:েস; করেত হয় তা 4শখােনা হেয়েছ মLাথেমেcর এই অনLতম সুjর
এই শাখােত।

িডসি‰ট ম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লেবন না।

িডসি‰ট মLাথেমেcর িবষয় সমূহ

Basic Concepts Advanced Concepts


- Logic & Proofs
- Relations

- Basic Structures
- Graps

- Fundamental Algorithms
- Trees

- Integers and Matrices


- Boolean Algebra

- Induction & Recursion


- Calculas

- Clouting Techniques
- Topology

- Discrete Probability - Decision Theory

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

ডাটা Äাকচার ইমিˆেম; করেবা 4কান লLাংTেয়েজ

িসঃ ডাটা Äাকচার এবং অ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স

ডাটা Nাকচার এবং অEালেগািরদেমর বই সমূহঃ


- Introduction to Algorithm By Thomas H. Cormen
- The Algorithm Design Manual By Steven Skiena
- Algorithms By Robert Sedgewick
- Data Structures and Algorithm in Java By Michael T. Goodrich
- Introduction to the Design and Analysis of Algorithms By Anany Levitin

ডাটা Nাকচার এবং অEালেগািরদেমর ইউTউব চEােনলঃ


- Tamim Shahriar (Bangla)
- LoveExtendsCode (Bangla)
- Stack Learner (Bangla) [Upcoming]
- MIT Open Course (English)
- Applied Course (English)
- Jenny’s Lectures (English)

ডাটা Nাকচার এবং অEালেগািরদেমর ওেয়বসাইটঃ


- Geeks For Geeks
- Programmiz
- JavaTPoint

ডাটা Nাকচার এবং অEালেগািরদম +Vিনং +QাRাম এবং +কােসWসঃ


- Stack Learner Premium Courses (Upcoming)
- Stack Learner Bootcamps (Training Program)

িবঃ«ঃ এক িন‚দƒ„ সমেয় এক িন‚দƒ„ িরেসাসJ 4মেন চলেবন

62 courses.stackschool.co
িডসি‰ট মLাথেমc 4শখার 4রফােরেSস

িডসি`ট মEাথেমTেaর বই সমূহঃ


- Discrete Mathematics And It’s Application By Kcnncih H. Roscn
- Discrete Mathematics: An Open Introduction By Oscar Levin
- Concrete Mathematics By Donald Knuth

িডসি`ট মEাথেমTেaর ইউTউব চEােনলঃ


- িŒিমক কিVউং (Bangla)
- Anisul Islam (Bangla)
- Judemy(Bangla)
- Stack Learner (Bangla) [Upcoming]
- Naso Academy (English)
- The Trev Tutor (English)
- Trefor Bazett (English)

িডসি`ট মEাথেমTa ওেয়বসাইটঃ


- Brilliant
- Discrete Mathematics - An Open Introduction
- Journals Elsevier

িবঃ«ঃ এক িন‚দƒ„ সমেয় এক িন‚দƒ„ িরেসাসJ 4মেন চলেবন

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ডেভলপেম;

✓ কমন 4ডেভলপেম; টDলস

66 courses.stackschool.co

Powered by Stack School’s Boost Your Base Camp


4ডেভলপেম; - কত রং 4বরং এর বাহাির রকেমর 4ডলপেম; 4য আেছ
দুিনয়ােত তার ইয়–া 4নই। 4গম 4ডেভলপেম;, অLাপ 4ডেভলপেম;, ওেয়ব
4ডেভলপেম;। পিরিচত এই 4ডেভলপেম; Tেলার নাম _েনই, 4ডেভলপারেদর
লাইফ Žাইল, সLালাির দূর 4থেক 4দেখই 4তা আমােদর মেন 4ডেভলপার হওয়ার
?uটা :থম উিx ক 4দয়। যখন আিম কিVউটারও ভােলা ভােব বLবহার করেত
জানতাম না, তখন একটা কথা িক~ খD ব ভােলা ভােবই জানা হেয় িগেয়িছল
আমার। 4কােনা ভােব একবার ভাল একজন 4ডেভলপার হেত পারেলই জীবেন
আর 4কােনা িকছDর চািহদা থাকেব না। ঘের বেসই বেসই তখন ডলার ছাপােত
পারেবা। কথাটা একটD 4বিশ 4বিশ মেন হেলও কথা িক~ সতL। ভাল একজন
4ডেভলপার অনL আর দশটা ভােলা 4পশার মানুেষর 4থেক িক~ 4বিশই উপাজJন
করেত পাের ঘের বেস 4থেকই। তেব ভাল মােপর 4ডেভলপার হেত হেব।

আমরা _র`র িদেক 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।

আমােদর 4দেশ সরাসির 4ডেভলপেমে; জাV করার বLাপারটা খD বই


সাধারণ। 4:াEািমং, ডাটা Äাকচার, অLালেগািরদম বা কিVউটার সাইেSর
সাধারণ িবষয় Tেলাও 4য Tর`NপূণJ, 4সই িবষয়টা মানুেষর জানার বাইেরই 4থেক

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মকািনক?

What is Software Development?


- Software development is the process of conceiving, specifying,
designing, programming, documenting, testing, and bug
fixing involved in creating and maintaining applications, frameworks,
or other software components. (Wikipedia)

দুঃখজনক হেলও সিতL আমােদর 4দেশ 4ডেভলপেম; 4স…রটা 4বিশরভাগ 41েXই


এরকম ভােব চলেছ। এর বাইেরও িকছD মানুষ আেছ, যারা িনেজর |ানেক সyক
ভােব ব†ি^ করেছ। আর তােদরেক তDেল িনেয় যােY, Tগল মাইে‰াসফট এর মত
4কাVািনরা, আমােদর 4দেশ Tগল মাইে‰াসফট ]তির হওয়ার ?uটােক ধÁ িলসাৎ

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 িক~ ব› বছর িতিন িনজ এলাকােতও উকালিত কেরেছন।

এত এত উদাহরণ িদেয় আিম আসেল িক 4বাঝােত চািY? 4বাঝােত চািY


কিVউটার সাইেSর Tর`N। আমার মেন হয় আমােদর 4দেশ কিVউটার
সাইেSর 4কান Tর`N 4নই। একজন সদL কিVউটার সাইেS ভ‚তƒ হওয়া িশ1াথী­
ি}লািSং ˆাটফেমJ অLািˆেকশন 4ডেভলপেমে;র কােজর জনL অLাˆাই কের।
অLাˆাই করাটা 4দােষর িকছD না, কারণ তার আেগ 4থেকই 4সই িবষেয় দ1তা
থাকেত পাের এবং এই সাইট Tেলােত সাধারণত খD ব 4ছাট 4ছাট কাজই পাওয়া

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চ„া কর`ন।

4ডেভলপেম; 4কােনা 4ছেলেখলার িবষয় নয়। এর জনL দরকার সyক


িদকিনেদJশনা এবং অধLাবসায়। 4:াEািমং হেY ভাষা, ডাটা Äাকচার এবং
অLালেগািরদম হেY ভাষার বLাকরণ আর 4ডেভলপেম; হেY এই ভাষায় রিচত
সািহতL। ভাষা এবং বLাকরণ না 4জেন যিদ আপিন সািহতL িলখেত বেস পেড়ন,
তাহেল 4লখা 4তা হেব, 4সটা সািহতL হেব িকনা তা িনেয় ভাবনা িচ@ার িবষয়
আেছ। অেনক বড় বড় মানুষ, বড় 4কাVািনর চটকদার সব িব|াপন 4দেখ
আপিন যিদ ভােবন 4য ২-৩ মােসই আপিন বড় 4ডেভলপার হেয় যােবন, তাহেল
আপিন এখেনা ?েuর রােজL বাস করেছন। এবার সময় হেয়েছ 4চাখটা 4মেল
বা)বতার সামনা সামিন হওয়ার। একটD সহজ ভােব ভাবেলই বLাপারটা আপনার
কােছ পিরºার হেয় যােব। 4ছাট 4বলা 4থেকই আমরা সবাই ি‰েকট 4খিল, িক~
একজন ভােলা ি‰েকটার হওয়ার জনL কত বছেরর অধLাবসায় দরকার?
4ডেভলপেম; িক ি‰েকট 4খলার 4থেকও সহজ?

আপনারা হয়ত ভাবেছন, আিম আপনােদরেক ভয় 4দখািY। না, আিম ভয়


4দখািY না। আিম _ধD আর সবার মত িমথLা আÉাস িদিY না, বা)বতাটা তDেল
ধরার 4চ„া করিছ। ব› মানুষ যD গ যD গ ধের আপনােদরেক 4মােভট কের আসেছ,
আর 4মােভেটড হেত হেতই 4দেশর সফটওয়Lার ই³াÅর আজেকর এই দশা।
তারা 4মােভট কেরেছ 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।

সব 4থেক মজার িবষয় িক জােনন, আপিন পারেবন। আপিন 4কাথায়


পড়ােশানা করেছন, আপিন সাইেSর ŽDেড; িকনা, আপিন কিVউটার সাইS
পেড়ন িকনা, 4কান িকছDই আসেল আপনার পেথর কঁ াটা হেত পারেব না যিদ
আপিন িনজ উে{Lােগ, ?িশ1ায় িশি1ত হেয় 4দেশর একজন সনামধনL
সফটওয়Lার ]সিনক িহেসেব িনেজেক ]তির করেত চান। আর তার জনL আপনােক
িক করেত হেব, িক িশখেত হেব তার অেনক িকছD আিম এই বই এর মাধLেম
জানােনার 4চ„া করেবা। অ@তপে1 একটা সুjর যাXার সা1ী হওয়ার 4চ„া
করেবা।

পৃিথবীেত অেনক রকেমর 4ডেভলপেম; আেছ। আপনার যিদ 4:াEািমং এর |ান


পিরºার থােক তাহেল আপিন 4যেকােনা িফে•ই অেনক ভাল করেত পারেবন।
তেব আিম িনেজ 4যেহতD ওেয়ব 4ডেভলপার, আর এই বইটাও ওেয়ব
4ডেভলপারেদর জনLই 4লখা তাই আিম এখােন _ধD ওেয়ব 4ডেভলপেম; িবষেয়ই
আেলাচনা করেবা। ওেয়ব 4ডেভলপেম;, একটা িবরাট বড় জা‚নƒ। এই জা‚নƒেত
আপনােক একা সাফার করেত হেব না। অেনক মানুষ িমেল জা‚নƒটােক সফল

72 courses.stackschool.co
কের। অেনক Tেলা 4স…র ওেয়ব 4ডেভলপেমে;র সােথ জিড়ত। আপিন ইেY
করেল 4য 4কান এক 4স…র 4বেছ িনেত পােরন, আবার ইেY করেলই সব Tেলা
4স…েরর সােথই িনেজেক জড়ােত পােরন। তেব একটা একটা কের 4স…ের িনেজর
পিরিধ িব)ার করাটাই সব 4থেক বD ি^মােনর কাজ হেব।

একটা অLাপিলেকশন 4সটা 4য 4কান ধরেনর অLাপিলেকশনই হেত পাের,


আইিডয়া 4থেক 4:াডাকশেন যাওয়া পযJ@ মােন ইউজােরর হােত বLবহােরর জনL
যাওয়া পযJ@ অেনকTেলা ধাপ পার করেত হয়। অেনক চড়াই উৎরােয়র পেরই
একটা অLাপিলেকশন জীবেনর মুখ 4দেখ। একজন 4ডেভলপার িহেসেব আমােদর
উিচৎ _র` 4থেক 4শষ পযJ@ সVূণJ :েসসটা সVেকJ নূনLতম হেলও একটা
আইিডয়া রাখা। এখােন আিম িক~ সাধারণ ওেয়ব সাইেটর কথা বলিছ না,
বলিছ অLাপিলেকশেনর কথা। আর একটা অLাপিলেকশন িকভােব 4ডেভলপড
হয়, 4সটা যিদ আেগ 4থেকই জানা থােক তাহেল িনেজর অবsান পিরºার করেত
সহজ হয়। িনেজেক 4য 4কােনা এক বা একািধক জায়গার জনL আেগ 4থেকই
:,ত কের 4নওয়া যায়। সফটওয়Lার 4ডেভলপেম; 4:ােসসটা 4য 4কােনা 4:াডা…
]তির করার 4থেক কম িকছD না। এখােনও অসংখL মানুষ কাজ কের িভ½ িভ½
ধরেনর অপােরশন সV½ করার জনL। একটা 4:াডা… ]তির করা আর
সফটওয়Lার 4ডেভলপ করার মেধL মূল পাথJকL হল, একটা 4:াডাে… িভ½ িভ½
কঁ াচামাল থােক আর এখােন আপিন, আপনার দ1তায় হেY কঁ াচামাল। আর
আপনার কিVউটারটা হেY 4:াডাকশন 4মিশন।

একটা আইিডয়া যখন EহণেযাগLতা পায়, তখন :থম কাজ হেY এই


আইিডয়াটােক বা)ব র®প 4দওয়ার জনL :েয়াজনীয় িরকDয়ারেম; কােল… করা।
সাধারণত সম) আইিডয়াই খD ব 4ছাট এবং িসVল থােক। এই আইিডয়ােক
বা)বায়ন করেত, মানুেষর বLবহােরর উপেযাগী কের গেড় তDলেত িক িক িবষয়
মাথায় রাখেত হেব, িক িক িফচার ইমিˆেম; করেত হেব এই সব খD ঁেজ 4বর করাই
িরকDয়ারেম; ইি‘িনয়ােরর কাজ। তারা অেনক িদন ধের িরসাসJ কের একটা
4Ÿিসিফেকশন ]তির কের যােক বলা হয় Software Requirement

73 courses.stackschool.co
Specification. িরকDয়ারেম; খD ব Tর`NপূণJ িবষয়, কারণ :থম যখন
অLাপিলেকশনটার আ‚কƒ েটকচার ]তির করা হয় তখন এই ইিনিশয়াল
িরকDয়ারেমে;র ওপের িভি– কেরই ]তির করা হয়। তেব পরবতী­েত িরকDয়ারেম;
পিরবতJ ন বা পিরবধJন হেত পাের।

িরকDয়ারেম; খD ঁেজ পাওয়ার পের এই 4Ÿিসিফেকশনটা চেল যােব িসেŽম


িডজাইনার এবং সফটওয়Lার আ‚কƒেট… এর কােছ। িসেŽম িডজাইনার এবং
আ‚কƒেট… িক~ দুইটা িভ½ পিজশন। িসেŽম িডজাইনার এর কাজ হেY
অLাপিলেকশনটা 4যই িসেŽেম চলেব তার আ‚কƒেটকচার ]তির করা। কত Tেলা
সাভJ ার লাগেব, 4কাথায় কLািশং লাগেব, ডাটােবেসর িডজাইনটা 4কমন হেব এই
রকম Tর`NপূণJ িবষয় Tেলার িডিসশন িনেয় থােক িসেŽম িডজাইনার। এছাড়াও
অLাপিলেকশনটা 4কান আ‚কƒেটকচার মেডল 4মেন ]তির করা হেব 4সই িস^া@ও
িনেয় থােক িসেŽম িডজাইনার। সফটওয়Lার আ‚কƒেটে…র কাজ হেY 4কােডর
িডজাইন এবং মেডল ]তির করা। এমন ভােব 4কাড Tেলা ]তির করা 4যন
4কাডTেলা িফউচার :`ফ হয়। কালেক যিদ নতDন 4কােনা িরকDয়ারেম; আেস,
4সই িরকDয়ারেম;টা এিcªং 4কাডেবেসর সােথ িকভােব যD  করেব, িকভােব
4কােডর িডজাইন করেল সব 4থেক 4বিশ মডDলার হেব, িফউচার 4কােনা আপেডট
এিcªং 4কাডেক 4šক করেত পারেব না, যিদ 4কান সমসLা ]তিরও হয় তাহেল
সােথ সােথই আেগর জায়গােত 4রালবLাক করা যােব ইতLািদ ধরেনর কাজ Tেলা
সাধারণত সফটওয়Lার আ‚কƒেট… কের থােক।

একটা িবি•ং ]তিরর পূেবJ 4যমন এর আ‚কƒেটকচার দরকার, yক এক


সফটওয়Lার ]তিরর পূেবJও এর আ‚কƒেটকচার দরকার। একটা িবি•ং 4যমন কতটা
4টকসই হেব 4সটা িনভJ র কের কতটা ভােলাভােব আ‚কƒেট… করা হেয়েছ তার
ওপের। একই ভােব একটা সফটওয়Lারও কতটা িনভJ র 4যাগL, কতটা িসিকউরড,
কত মানুষেক একসােথ সা‚ভƒস িদেত পারেব, এTেলা িনভJ র কের এর িসেŽম
িডজাইন এবং আ‚কƒেটকচােরর ওপের। আ‚কƒেটকচার ]তির হেয় 4গেলই আমরা

74 courses.stackschool.co
4ডেভলপেম; _র` করেত পাির। তেব সবার :থেম দরকার, আমরা িক 4ডেভলপ
করেত চাই তার 4:ােটাটাইপ। 4য 4কান 4:াডা… ]তিরর পূেবJ yক ওই রকম
4দখেত একটা ডািম 4:াডা… ]তির কের 4নওয়া হয়। সফটওয়Lােরর 41েXও এর
বLিত‰ম নয়।

System Design and Software Architecture

System Design: Systems design is the process of defining


the architecture, modules, interfaces, and data for a system to satisfy
specified requirements. Systems design could be seen as the application
of systems theory to product development. There is some overlap with the
disciplines of systems analysis, systems architecture and systems
engineering. (Wikipedia)

Software Architecture: Software architecture refers to the fundamental


structures of a software system and the discipline of creating such
structures and systems. Each structure comprises software elements,
relations among them, and properties of both elements and
relations. The architecture of a software system is a metaphor, analogous
to the architecture of a building. It functions as a blueprint for the system
and the developing project, laying out the tasks necessary to be executed
by the design teams. (Wikipedia)

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ডেভলপেম; িনেয়ই কথা বলা যাক।

িবিভ½ 4ডেভলপেম; িবিভ½ রকম, তেব ওেয়ব 4ডেভলপেমে;র কথা আসেলই


দুইটা টামJ চেল আেস, আর 4সটা হল }ে;³ এবং বLােক³। }ে;ে³র কাজ হল,
একটা অLাপিলেকশেনর }; পাটJ মােন ইউজার যা 4দখেব 4সই অংশটােক
4ডেভলপ করা। আর বLােক³ কাজ হল অLাপিলেকশনটা িকভােব চলেব 4সই
িবষয়টা 4ডেভলপ করা। আর 4যই বLি একই সােথ দুইটা অংেশর কাজই করেত
পাের তােক বলা হয় ফDলŽLাক 4ডেভলপার। সবাইেক ফDলŽLাক 4ডেভলপার হেত
হেব এমনটা না। তেব আিম মেন কির একজন }ে;³ 4ডেভলপােরর উিচৎ
বLােক³ 4ডেভলপেম; িকভােব হয় 4সটার একটা নূনLতম ধারণা রাখা। আবার
একজন বLােক³ 4ডেভলপােররও উিচৎ }ে;³ সVেকJ িকছDটা হেলও |ান রাখা।
তাহেল 4ডেভলপেম; :েসসটা অেনক সহজ হয়। আপিন 4যই 4কাডটা িলখেছন
4সটা অনL 4ডেভলপার িকভােব বLবহার করেব তা জানা থাকেল 4কাড করেতও
অেনক সুিবধা হয়। এছাড়াও বতJ মান বাজাের ফDলŽLাক 4ডেভলপােরর িডমা³
অেনক 4বেড় যােY। 4কাVািনTেলা কােজর জনL আজকাল ফDলŽLাক
4ডেভলপারেদরই 4বিশ :াধানL িদেY।

4ডেভলপেমে;, আপিন 4যই অংেশরই কাজ কেরন না 4কন আপনােক


অেনক 4বিশ টDলস িনেয় কাজ করেত হেব। নতDন নতDন টDলস, লাইেšরী,
4}মওয়াকJ :িতিনয়তই িশখেত হেব এবং বLবহার করেত হেব। :থম িদেক যা খD ব

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বিশ এ‘েয়বল।

4য 4কােনা 4ডেভলপেমে;ই আপিন হয়ত কেয়কশ টDলেসর একটা িলŽ পােবন,


4যTেলার নামও খD ব ভয়ানক। যিদ আপনার 4:াEািমং ি¨ল ভােলা থােক তাহেল
এই িলেŽর 4বিশর ভাগ টDলসই আপিন একিদেন িশেখ 4ফলেত পারেবন। 4যমন
িকছD উদাহরণ 4দওয়া যাক। JSON, নাম _েন অেনক ভাির ভাির মেন হেলও
এটা _ধD মাX একটা 4Ÿিসিফেকশন। িকভােব িকছD ডাটােক ফেমJট কের একটা
ফাইেল রাখেবন তারই িকছD িনয়ম কানুন 4দওয়া আেছ এখােন। মাX ৭-৮ টা
র`লস, যা মেন রাখেত ৩০ িমিনট সময়ই যেথ„। আপিন বLয় করেলন মাX ৩০
িমিনট সময়, িক~ আপনার ঝDিলেত একটা টDলস যD  হেয় 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:া হেত থাকেবন।

4ডেভলপেমে; আপনােক :িত িদন নতDন নতDন টDলস িশখেত হেব আর


এখন আপিন জােনন নতDন টDলস 4শখা আসেল বড় 4কােনা িবষয় না। িকছD
টDলস আেছ 4যTেলা ওেয়ব িডজাইেনর সােথ যD , িকছD টDলস }ে;³
4ডেভলপেমে; কােজ লাগেব, িকছD টDলস আবার বLােক³ বা 4ডভঅপস এ কােজ
লাগেব। িক~ িকছD টDলস আেছ 4য Tেলা আপনার সারা জীবনই কােজ লাগেব।
এই টDলস Tেলা িন‚দƒ„ 4কােনা 4ডেভলপেমে;র সােথ জিড়ত না, বর¹ সব
জায়গােতই বLবPত হয়। এই কমন টDলস Tেলা 4ডেভলপেমে; যাXার _র`েতই
4জেন 4নওয়া উিচত, তাহেল যাXাটা অেনক সহজ হেব। আিম এখােন 4যই টDলস
Tেলা সVেকJ না জানেলই না, _ধD মাX 4সTেলাই উে°খ করলাম।

+কাড এিডটরঃ একজন 4:াEামার িহেসেব, একজন 4ডেভলপার িহেসেব


আপনােক সারা জীবন 4কাড িলখেত হেব। তাই 4কাড 4লখার জনL ভােলা একটা
4টcট এিডটর 4বেছ 4নওয়া এবং তার সম) “c, সম) শটJকাট িশেখ 4নওয়া
খD ব জর`ির। এTেলা িশখেত 4মােটও সময় লাগেব না। খD ব ·ত িশেখ যােবন
আবার খD ব ·ত ভDেলও যােবন। বার বার :াকস করার মাধLেমই এই শটJকাট
“c Tেলা মেন রাখেত হয়। Tগেল সাচJ করেল আপিন ডজনখােনক ি} 4কাড
এিডটর 4পেয় যােবন। 4লাকাল িপিসেত কাজ করার জনL আমার পছেjর 4কাড
এিডটর হেY VSCode যা বতJ মােন সম) 4ডেভলপােররই পছেjর 4কাড
এিডটর। যারা সাভJ ার িনেয় কাজ কেরন তােদর জনL দরকার হয় টা‚মƒনাল 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পইড।

CLI: একজন সাধারণ কিVউটার বLবহারকারীর কাছ 4থেক যিদ


কিVউটার Eািফcেক সিরেয় 4নওয়া হয়, অথবা _ধD মাউসটাই সিরেয় 4নওয়া
হয় তার পে1 কিVউটার চালােনা :ায় অসব হেয় দঁ াড়ােব। িক~ একজন
4ডেভলপার _ধD মাX টা‚মƒনাল বLবহার কেরই কিVউটার অপােরট করেত পাের।
CLI, মােন Command Line Interface সVেকJ একটা 4বিসক ধারণা, CLI
বLবহার কের 4বিসক কিVউটার অপােরট সVেকJ জানা :েতLকটা 4ডেভলপােরর
জনL একা@ :েয়াজনীয় বেল আিম মেন কির। তেব CLI 4শখার 41েX linux এর
কমা³ িশখেবন। এর সােথ যিদ পােরন Shell বা Bash িKÇংটাও িশেখ
িনেবন যা আপনার কিVউটার ইউেজসেক আরও সহজ করেব।

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বহার িশখেতই
হেব।

Chrome Developer Tools: একজন ওেয়ব 4ডেভলপার িহেসেব কাজ


করেত হেল আপনােক সব সময়ই 4কােনা না 4কােনা šাউজার বLবহার করেতই
হেব। সাধারণতই 4ডেভলপারেদর :থম পছj হেY Tগল 4‰াম šাউজার। এর
িপছেনর বড় কারণ হেY এর 4ডেভলপার টDলেসর সােপাটJ। একজন ওেয়ব
4ডেভলপার িহেসেব Tগল 4‰ােমর 4ডেভলপার টDলস Tেলা সVেকJ জানা
একা@ই জর`ির। কারণ আপনার অLাপিলেকশন 4কান 4Žেট আেছ, 4নটওয়াকJ
িরকDেয়Ž yক ভােব হেY িকনা, অLাপিলেকশেনর পাফJ রেমS yক আেছ
িকনা এই সব িকছD আপিন জানেত পারেবন 4‰ােমর 4ডেভলপার টDলস বLবহার
কের।

Agile & Scrum: 4ডেভলপেম; একটা লÀা :েসস। একটা


অLাপিলেকশেনর _র` 4থেক 4শষ পযJ@ অেনক অেনক কাজ থােক 4যTেলা সyক
ভােব মLােনজ না করেল অLাপিলেকশন সyকভােব 4ডেভলপ করাই সব না।
এই জনL দরকার হয় িবিভ½ 4:ােজ… মLােনজেম; টDলস এর। িবিভ½ সময় িবিভ½
িথওির আিবºার হেয়েছ, 4ডেভলপেম; মেডল ]তির হেয়েছ 4:ােজ… Tেলা সyক
ভােব মLােনজ করার জনL। অসংখL মেডেলর িভতের সব 4থেক সফল এবং
জনি:য় একটা মেডল হেY Agile. আর এই মেডেলর একটা 4}মওয়াকJ হেY
Scrum. Scrum বLবহার কের একটা 4:ােজ… মLােনজ করেত 4শখাটা খD বই
জর`ির একটা িবষয়। এটা িশখেত খD ব একটা সময় লাগেব না, িক~ সyক ভােব
অLাˆাই করা িশখেত অেনক সমেয়র বLাপার। তাই আিম মেন কির :থম 4থেকই

80 courses.stackschool.co
অg অg িশেখ অg অg কের :াকস করা 4যেত পাের। তাহেল একটা জনি:য়
4:ােজ… মLােনজেম; 4}মওয়াকJ ও 4শখা হল, সােথ িনেজর 4:ােজ…ও মLােনজ
করা হল।

4ডেভলপেম; একটা মজার জা‚নƒ, এই জা‚নƒেত সব িকছDই আেছ। এই জা‚নƒেত


ভয় আেছ, ি¤ল আেছ, মজা আেছ আর সব 4থেক 4বিশ আেছ 4নশা।
4ডেভলপেম;, 4ডেভলপেমে;র সােথ জিড়ত থাকা ভয়ংকর িকছD নাম, আর রং
4বরং এর নতDন নতDন 4টকেনালিজর :িত 4কন জািন অজানা একটা 4নশা কাজ
কের। আপিন না চাইেলও আে) আে) 4নশাEs হেয় যােবন আর একবার 4নশা
Es হেয় 4গেল সফল হওয়ার পেরও থামেত পারেবন না। মেন হেব _ধD িশেখই যাই
আর িশেখই যাই। আমােক অেনেকই :— কের 4য, আিম িকভােব এত ·ত নতDন
4টকেনালিজ িশখেত পাির? আিম পাির কারণ আিম 4নশাEs এবং িভি– ]তির
করার সমেয় আিম িনেজেক 4কােনা ফঁ ািক 4দইিন। িনেজর সােথ 4কােনা রকেমর
ছলচাতDির কিরিন। িনেজেক কখেনা 4ধঁাকা 4দই িন। আপিন যিদ সৎ থােকন,
িনেজেক 4ধঁাকা না িদেয় িনেজর িভি–টা মজবD ত কের গেড় 4তােলন তাহেল
আপিনও পারেবন। িনেজর িভি– যিদ yক থােক, 4ডেভলপেম;েক 4ছেলর
হােতর 4মায়াই মেন হেব।

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

Powered by Stack School’s Frontend Bootcamp


একটা অLাপিলেকশন মানুষ বLবহার করেব িক না 4সটা িনভJ র কের অLাপিলেকশনটা
4দখেত 4কমন, বLবহার করা কতটা সহজ, ইউজােরর অLাকশেনর িবপরীেত কতটা ভােলা
ভােব িফডবLাক 4দয় এবং কতটা ভােলা ভােব পাফJ রম করেছ, এই সম) িবষয়Tেলার ওপের।
সহজ কথায় বলেত চাইেল অLাপিলেকশেনর }ে;³টা 4কমন হেব তার ওপেরই িনভJ র কের
ইউজার এই অLাপিলেকশনটা বLবহার করেব িক না। িসিকউির বা অনLানL িবষয় Tেলা
সাধারণত পেরই মানুষ িচ@া কের। তার মেন বলা 4যেতই পাের }ে;³ 4ডেভলপাররা একটা
িবরাট বড় 4রাল 4ˆ করেছ এই 41েX। :িতটা িফচার 4দখেত 4কমন হেব, ইউজার িকভােব
বLবহার করেব, িকভােব িডজাইন করেল ইউজার সব 4থেক সহেজ অLাপিলেকশনটা বLবহার
করেত পারেব, িক িক ই;ােরকশন যD  করেত হেব, অLাপিলেকশেনর কালার 4কমন হেব,
4কান ফ; বLবহার করা হেব, একটা এিলেম; 4থেক আর একটা এিলেমে;র দূরN কতটDকD
হেব এই রকম অসংখL Tর`NপূণJ িবষেয় িস^া@ িনেত হয় একজন }ে;³ 4ডেভলপারেক।
কারণ এই সম) িবষেয়র ওপেরই একটা িডজাইেনর 4সৗjযJ িনভJ র কের। একজন }ে;³
4ডেভলপারেক একই সােথ িডজাইন 4সS এবং 4ডেভলপেম; 4সS রাখেত হয়।

}ে;³ 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ফলেত
পারেবন।

এর পের আেস UX - User Experience িডজাইনার। আমরা 4য িডজাইন করিছ 4সটা


কতটা লিজকLাল, কতটা ইউজার সLােÒকশন এেন 4দেব, িকভােব 4কান কেVােন;টা
4কাথায় রাখেল ইউজার সহেজ খD ঁেজ পােব, অLাপিলেকশেনর কালার, ফ;, ফ; সাইজ,
অLালাইনেম; 4কমন হেল ইউজােরর অLাপিলেকশনটা বLবহার করেত িবর লাগেব না, এই
রকম সব ি‰কLাল িবষেয় িরসাসJ করার কাজ কের থােক UX Designers. আপনার
বLবসা সV‚কƒত যাবতীয় তথL 4জেন তারপেরই এরা একটা িডজাইন িডিসশন ]তির কের।
4যমন যিদ আপনার অLাপিলেকশনটা 4মেয়েদর জনL ]তির হয়, তাহেল এর িডজাইন
একরকম ভােব হেব। আবার যিদ 4ছেলেদরেক টােগJট কের করা হয় তাহেল আর এক রকম
হেব। আবার যিদ দুইজনেকই টােগJট করা হয় তাহেল িভ½ রকম হেব। আপনার বLবসার
:িতটা িবষয় মাথায় 4রেখই UX িডজাইনাররা একটা অLাপিলেকশন িডজাইন কের থােক।
সাধারণত UX িডজাইনাররাই আপনার জনL UI িডজাইন কের থােক এবং একই সােথ একটা
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.

UI/UX িডজাইেন যা যা িশখেত হেব

UX Topics UI Topics

- Business Research - Color Theory


- User Research - Balance
- Competitor Research - Contrast
- Usability Testing - Grid System
- Typography
- Consistency

জনি:য় িকছD UI/UX টDলস

Adobe
Sketch Figma InVision ProtoPie
XD

88 courses.stackschool.co
UI/UX 4শখার 4রফােরেSস

Must Read UI/UX Books:


- Don’t Make Me Think By Steve Krug
- Design in Everyday Life By Don Norman
- Non Designers Design Book By Robin William
- UX Strategy By Jame Levy
- Design Pattern for Design System (Diana Macdonald)
- Inclusive Design for Digital World (Regine Gilbert)

Youtube Channels to Learn UI/UX

- Design Course (English)


- Maex (English)
- Jessy Showalter (English)
- UXPin (English)
- Career Foundry (English)
- Robert Smith (English)
- Stack Learner (Bangla) [Upcoming]

Websites to Get UI/UX Inspiration


- Awwwards
- Pttrns
- UI Movement
- Collect UI
- Dribble

Training Program for UI/UX

- Stack Learner Premium Courses [Upcoming]


- Stack Learner Offline Bootcamps

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নওয়া।

CSS খD বই সহজ একটা লLাংTেয়জ যা িশখেত আপনার HTML এর 4থেকও কম সময়


লাগেব। িক~ সহজ হেলও এর :চDর Žাইল র`লস আেছ। 4যTেলা মেন রাখেত িকছDটা সময়
আপনার বLয় হেব। আপিন _ধD মাX CSS বLবহার কেরই একটা িসVল ওেয়বেপজেক
সেবJা¿ 4সৗjেযJর কাতাের িনেয় 4যেত পােরন। এিনেমশন, 4রŸিSভ িডজােনর মত কাজ
Tেলাও আপিন _ধD মাX CSS বLবহার কেরই করেত পােরন। তাই CSS সহজ হেলও এটােত
মা„ার হেত িক~ অেনক সময় এবং অিভ|তা 4লেগ যায়।

CSS Architecture: CSS হেY একটা 4Ÿিসিফেকশন টাইেপর লLাংTেয়জ। এর


মাধLেম আমরা ধের ধের :িতটা এিলেমে;র 4চহার 4কমন হেব বেল 4দই। যার ফেল একটা
4ছা ওেয়ব সাইেটর িডজাইন করেলও 4দখা যায় হাজার হাজার লাইেনর CSS 4কাড 4লখা
হেয় 4গেছ। হাজার লাইেনর 4কাড হওয়াটা 4কান সমসLা না, সমসLা হেY এই 4কাড Tেলােক
সyক ভােব মLােনজ করেত পারাটা। CSS 4কাডেক সyক ভােব মLােনজ করেত আমােদর
িকছD 4কাড আ‚কƒেটকচার 4মেন চলা উিচৎ। 4যই আ‚কƒেটকচার Tেলা অেনক বছর ধের CSS

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।

বাজাের অেনক রকেমর Preprocessors থাকেলও সব 4থেক জনি:য় কেয়কটা


Preprocessor হেY Sass, Less and Stylus। আপিন 4য 4কােনা একটা
Preprocessor যিদ িশখেত চান তাহেল আিম আপনােক সােজŽ করেবা Sass 4শখার
জনL, কারণ এর জনি:য়তা সব 4থেক 4বিশ এবং 4বিশর ভাগ 4কাVািন এটাই বLবহার
করেছ। Sass িশখেত আপনার খD ব 4বিশ সময় লাগেব না। যিদ আপিন 4:াEামার হেয়
4ডেভলপেম; করেত আেসন, তাহেল কেয়ক ঘ‹ার িভতেরই আপনার CSS 4লখার Žাইল
পােË 4ফলেত পারেবন Sass 4শখার মাধLেম। আর Sass 4শখা হেয় 4গেল অনL 4য 4কান
Preprocessor আপিন তDিড় 4মেরই িশেখ 4ফলেত পারেবন। এমনিক আেগ 4থেক না িশেখ
_ধD মাX তার ডকDেমে;শন 4দেখই কাজ করেত পারেবন।

Responsive Web Design: বাজাের যখন 4থেক 4মাবাইল 4ফােন ই;ারেনট


বLবহারকারীর সংখLা ব†ি^ 4পেয়েছ তখন 4থেকই সবাই 4রŸিSভ িডজাইেনর :িত ঝDঁেকেছ।
বতJ মােন 4বিশর ভাগ সাইট িডজাইন করা হয় 4মাবাইল ফাŽJ িথওির 4মেন। মােন :থেম
4মাবাইল 4ফােনর জনL িডজাইন কের পরবতী­েত 4ড¨টপ বা অনLানL বড় িডভাইেজর জনL
িডজাইন করা হয়। 4রŸিSভ িডজাইেনর অথJ আপনার ওেয়বসাইট িবিভ½ সাইেজর
মিনটেরর জনL িভ½ ভােব 4রসপS করেব। মেন কেরন আপিন একটা ওেয়ব সাইট িডজাইন
করেলন যা ১৫ ইি¹র লLাপটপ িKেন খD ব ভাল 4দখা যােY, িক~ 4সই একই ওেয়বসাইট িক
৫ ইি¹র বা ৫০ ইি¹র িKেন ভাল লাগেব? অবশLই লাগেব না। তারমােন যিদ আপিন ওেয়ব
সাইটেক 4রŸিSভ না কেরন তাহেল _ধD মাX যােদর কিVউটার িKন ১৫ ইি¹ তারাই সব
4থেক ভােলাভােব আপনার ওেয়বসাইটটা বLবহার করেত পারেব, বািক ইউজাররা 4মােটও মজা
পােব না। তারমােন 4রŸিSভ না করেল আপিন িবরাট একটা অিডেয়S হািরেয় 4ফলেবন।

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

CSS এ যা যা িশখেত হেব


- CSS Selectors - Pseudo Classes & Elements
- CSS Values & Units - CSS Layout using Float & Div
- Text & Font Styles - Flexbox and Grid System
- CSS Box Model - Responsive Design & Media Query
- Style Link, List & Tables - CSS Animations and Effects
- CSS Display & Positions - Style Media Elements

SASS এ যা যা িশখেত হেব


- Sass Installation - Sass String & Numeric Functions
- Sass Variables - Sass List Function
- Sass Nesting - Sass Map Function
- Sass @import - Sass Selector
- Sass @mixin - Sass Introspection
- Sass @extend - Sass Color

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

JQuery এ যা যা িশখেত হেব


- JQuery Selectors - JQuery Effects
- JQuery DOM Traversing - JQuery Collections
- JQuery DOM Manipulation - JQuery AJAX
- JQuery Events - JQuery Utilities
- JQuery Forms - JQuery Plugins

িকছD Tর`NপূণJ 4‰াম এcেটনশন এবং টDলস

- Dom Flags - VisBug


- Sizzy - Web Developer
- CheckBot - What Font
- GistBox Clipper - Color Zilla
- Wappalyzer - Awesome Screenshot

97 courses.stackschool.co
HTML, CSS and Bootstrap 4শখার 4রফােরেSস

Must Read HTML, CSS & Bootstrap Books:


- HTML & CSS: Design and Build Web Sites By John Duckett
- Web Design with HTML, CSS, Javascript and JQuery Set By John Duckett
- Responsive Web Design with HTML5 and CSS3 By Ben Frain
- Beginning HTML5 and CSS3 By Appress Publication
- Mastering Bootstrap 4 By Benjamin Jakobus
- Bootstrap 4 Quick Start: A Beginner’s Guide to Building Responsive Layouts
with Bootstrap 4 By Jacob Lett

Youtube Channels to Learn HTML & CSS

- Moshiur (Bangla)
- Anisul Islam (Bangla)
- Stack Learner (Bangla)
- Design Course (English)
- Traversy Media (English)
- Dev Tips (English)

Websites to Learn HTML & CSS


- W3Schools
- Mozilla Developer Networks
- Get Bootstrap
- JQuery Official Documentation
- CSS Tricks

Training Program for HTML & CSS

- Stack Learner Premium Courses


- Stack Learner Offline Bootcamps

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ডেভলপেমে;র :েসসটােক সহজ কের িদেয়েছ NodeJS. NodeJS হেY


একটা রানটাইম যা বLবহার কের আমরা জাভািKেµর 4কাডেক šাউজােরর বাইের 4যেকান
জায়গায় রান করােত পাির। NodeJS এর সােথ আর একটা টDলস আেছ যার নাম NPM বা
Node Package Manager যা আমরা ব›িবধ কােজ বLবহার করিছ। 4যমন এটাই একটা
িবউ• টDল িহেসেব কাজ করেছ। 4নাড পLােকজ মLােনজােরর কােছ আেছ ৫ লে1র ও 4বিশ
থাডJ পাJ জাভািKµ লাইেšরী যা আমরা টা‚মƒনাল বা কমা³ লাইন বLবহার কের 4ছা
একটা 4কাড িলেখই ইSটল কের আমােদর 4:ােজে… বLবহার করেত পাির। 4নােডর কারেণই
আমরা }ে;ে³ Webpack এর মত বাে³লার বLবহার করেত পাির এবং JEST, Enzyme
এর মত অেটােমেটড 4টŽ টDল Tেলার বLবহার করেত পাির। এক কথায় বলেত 4গেল ওেয়ব
িডজাইন 4থেক }ে;³ 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 ছ িদেত পারব।

BabelJS এর সােথ সােথ আমরা Webpack ও বLবহার কের থািক। Webpack


হেY একটা বাে³লার। এর কাজ অেনক Tেলা জাভািKµ ফাইলেক িনেয় একটা মাX
ফাইেল র®পা@র করা। যখন আমরা কাজ করেবা, তখন আমােদর কেয়কশ ফাইল িনেয় কাজ
করার :েয়াজন হেত পাের। িক~ এত ফাইল বারবার 4লাড করেত বারবার 4নটওয়াকJ
িরকDেয়েŽর দরকার পের আর 4যটা :চDর সময় ন„ কের। এই জনL একটা বাে³লার বLবহার
কের সব Tেলা ফাইলেক কমে:স কের এক জায়গায় 4রেখ 4দওয়া হয়। এেত সব Tেলা ফাইল
একটা ফাইেল র®পা@িরত হেয় যায়। এবং ওেয়ব সাইট 4লাড 4নওয়ার সময় একবােরই সম)
জাভািKµ 4কাড šাউজােরর কােছ িগেয় জমা হয়।

}ে;³ 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ােয় আেলািচত িবষয়ব,

✓ জাভািKµ 4:াEািমং লLাংTেয়জ

✓ জাভািKµ এর 4মইন কনেসµ

✓ জাভািKেµ যা যা িশখেত হেব

✓ টাইপিKµ এ যা যা িশখেত হেব

109 courses.stackschool.co

Powered by Stack School’s Frontend Bootcamp


4ডেভলপেম; করেত হেল দরকার 4:াEািমং লLাংTেয়জ, আর ওেয়ব 4ডেভলপেমে;র
কথা আসেল দুইটা নাম সবার :থেমই 4শানা যায়। এক হেY জাভািKµ, অনL হেY
িপএইচিপ। বতJ মােন ওেয়েবর আিদ িপতা িপএইচিপ 4ক বাদ িদেয়ও 4ডেভলপেম; চলেব,
িক~ জাভািKµেক বাদ িদেয় ওেয়বেক কgনায় করা যােব না, অ@তপে1 মডানJ ওেয়বেক
না। তেব জাভািKµেক িঘের নতDন 4:াEামারেদর িভতের রেয়েছ :চDর 4কৗতÁহল, :চDর ভয়
এবং :চDর কনিফউশন। এর িপছেন সব 4থেক 4বিশ দায়ী অধJিশি1ত িকছD 4ডেভলপার যারা
জাভািKেµর নােম :চDর Tজব ছিড়েয় নতDনেদর মেন ভেয়র স¹ার কেরেছ। আিম মানিছ
জাভািKµ িকছDটা অØDত, তেব এর :িতটা অØDত িসনটLাc এর িপছেন যD ি রেয়েছ। হয়ত
আিম জািননা বা এখেনা িশিখিন 4য জাভািKµ কVাইলার এই িবষয়টােক িকভােব
ই;ারে:ট কের। তাই বেল আিম কখেনাই জাভািKেµর নােম Tজব ছড়ােনার অিধকার
রািখ না। জাভািKµ একটা 4:াEািমং লLাংTেয়জ। অনL আর দশটা 4:াEািমং
লLাংTেয়েজর মত জাভািKেµরও িনজ? স–া থাকেতই পাের এবং 4সই স–া Tেলা আমার
কােছ িকছDটা অØDত লাগেতই পাের। এেত ভয় পাওয়ার মেতা 4কােনা কারণ আিম 4দিখ না।

আিম অেনক 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শখা _র`
করলাম।

জাভািKµ অØDত িক~ জাভািKµ সুjর, জাভািKµ ডাইনািমক িক~ এখােন


আেগ 4থেক িকছD 4:িড… করা যায় না কথাটা শতভাগ সিতL নয়। জাভািKµ একটা
অনLরকম ি‰েয়শন। আপিন যিদ জাভািKµ িশখেত চান আপনােক জাভািKেµর মত
কের 4:াEািমং 4ক 4দখেত হেব। জাভািKেµর কVাইলােরর মত কের আপনােক িচ@া করেত
হেব। জাভািKµ 4ছা একটা লLাংTেয়জ, অg কেয়কটা িফচারেকই এমনভােব বার বার
বLবহার করা হেয়েছ, মেন হয় 4যন একটা পােজল সÃ করেত 4দওয়া হেয়েছ। যখন আিম
জাভািKµেক তার িনেজর মত কের 4দখার 4চ„া করলাম খD ব 4বিশ সময় আমার লােগ িন
এেক বD ঝেত। ১ মােসর িভতেরই :ায় এর সম) মূখL িবষয় Tেলা আয়– করা হেয় িগেয়িছল।

পৃিথবীেত অসংখ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:েম।

জাভািKµ এত সুjর, এত আকষJণীয় 4:াEািমং লLাংTেয়জ হওয়ার পেরও আমরা


অেনেকই জাভািKµেক দাম িদেত চাই না। এখেনা জাভািKµেক 4:াEািমং লLাংTেয়জ
ভাবেত অেনেকই নারাজ। তেব আিম তােদরেক 4দাষ িদেত চাই না। ১৯৯৫ সােল যখন
জাভািKµ এেসিছল তখন তার কাজ িছল ওেয়ব 4পেজ িকছDটা ই;ারLাকিভ যD  করা।
:ায় ১৫ বছর ধেরই 4স এই একটা মাX কাজই কের আসিছল। ২০০৯ সােল :থম
জাভািKµ িনেয় অনLরকম ?u 4দেখন Ryan Dahl নামক একজন 4ডেভলপার। িতিনই
:থম িচ@া কেরন এত সুjর একটা ভাষােক 4কন আমরা অনL 4কান কােজ বLবহার করিছ
না? তাই িতিন তখনই NodeJS িনেয় কাজ _র` কেরন এবং ২০১১ সাল 4থেক মানুষ
জাভািKেµর আসল 4সৗjযJ, আসল 1মতা বD ঝেত _র` কের NodeJS এর বেদৗলেত।

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যেত চাইেবন
না।

জাভািKেµর ইেকা িসেŽমটা গেড় উেঠেছ 4নাডেক 4কD কের। তারমােন এই না 4য


আপনােক 4নাডেজএস ও জানেত হেব। আপনােক _ধD জানেত হেব 4নাড পLােকজ মLােনজার,
যা 4নাডেজএস এর সােথ অেটােমকLািল ইSটল হেয় যায় এবং টা‚মƒনাল বা কমা³
লাইেনর মাধLেম এেক বLবহার করেত হয়। খD ব অg িকছD কমা³ আেছ এ অপােরট করার
জনL। এই একটা টDলস আপনার সামেন সাবনার দুয়ার খD েল িদেব। অLাপিলেকশন িবউ•
করা, 4টŽ করা, 4ডপলয় করা, 4ডেভলপেম; সাভJ ার, ল1 ল1 থাডJ পাJ লাইেšরী সব
আপনার হােতর মুেঠায় চেল আসেব _ধD এই এক মাX টDলেসর কারেণ। 4নাডেজএস এর
জনি:য়তার িপছেনর সব 4থেক বড় রহসL হেY এই 4নাড পLােকজ মLােনজার। আপিন যখন
জাভািKµ িশখেবন অথবা জাভািKµ বLবহার কের 4য 4কান ˆাটফেমJ কাজ করেবন তখন
আপনার সবেথেক :েয়াজনীয় টDলস হেব এই 4নাডেজএস এবং 4নাড পLােকজ মLােনজার।

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পেয়িছ
যা আমােদর জীবনটােক অেনক সহজ কের িদেয়েছ।

এই িহেসেব ধরেল জাভািKেµর দুইটা ভাসJন। আর একজন ভােলা জাভািKµ 4:াEামার


হেত হেল দুইটা ভাসJন সVেকJ ই পূণJ |ান রাখেত হেব। আপিন যিদ ও• ভাসJন যােক আমরা
ES5 বেল থািক, 4সটা ভােলাভােব িশখেত পােরন তাহেল ES6 এ এেস আপনােক _ধD সহজ
িকছD িসনটLাc িশখেত হেব। 4:াEািমং এর ফা³ােম;ালটা জাভািKেµ একবার ঝালাই
কের িনেয়ই আপিন এর ফাংশনাল অংশটা িনেয় কাজ _র` করেত পােরন। এখােন আপিন
িশখেবন জাভািKেµ ফাংশন িকভােব কাজ কের, িকভােব ফাংশনেক একটা সাধারণ ভLালু
িহেসেব বLবহার করা যায়, িকভােব একটা ফাংশেনর িভতের ফাংশন পাস কের 4সখান 4থেক
আর একটা নতDন ফাংশন িরটানJ করা যায়। এর সােথ সােথ ফাংশেনর 4¨াপ, 4লিcকLাল
4¨াপ, 4£াজার সVেকJ অg িকছD ধারণা িনেয় 4নওয়া 4যেতই পাের। যখন আপিন এই িবষয়
ভােলাভােব বD ঝেত 4চ„া করেবন তখন 4দখেবন সব িকছDই 4কমন জািন ঝাপসা ঝাপসা
লাগেছ। এই িবষয়েক পিরºার করার জনL এিcিকউশন কে;cট সVেকJ িব)ািরত 4জেন
িনেত হেব। িপউর ফাংশন, ফাŽJ £াস ফাংশন, হায়ার অডJার ফাংশন, কলবLাক ফাংশেনর
মত কনেসµ Tেলােক ভােলাভােব ঝালাই কের িনেত হেব। কারণ জাভািKেµ সব সময়
আপিন এই িবষয় Tেলা িনেয়ই কাজ করেবন।

ফাংশেনর কনেসµ 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েµ যা যা িশখেত হেব

- Programming Fundamentals - Object Oriented Theory


- Data Types and Type Coercion - Object Creation Patterns
- Conditions, Loops and Basic - Prototype and Inheritance
Function - Global Object & this
- Arrays and Objects - Bind, Call & Apply
- Basic Functional Programming - Object and Object References
Concepts - Asynchronous Programming
- Global and Lexical Scope - Error Handling
- Execution Context - ECMA Script 6
- Variable Object and Hoisting - Overview of Javascript Engine
- Scope Chain and Closure

+নাটঃ জাভািKµ 4শখার সময় জাভািKµেক কখেনাই }ে;³ লLাংTেয়জ িহেসেব িশখেবন না। এেক
অনLানL 4:াEািমং লLাংTেয়েজর মতই Tর`N সহকাের এবং অLাবÄা… ভােব িশখেবন যা আপনার
পরবতী­েত 4নাডেজএস 4শখার সময় অেনক কােজ িদেব।

118 courses.stackschool.co
জাভািKµ 4শখার 4রফােরেSস

Must Read Javascript Books:


- Eloquent Javascript: A Modern Introduction to Programming By Marjin Heverbeke
- Javascript: The Definitive Guide By David Flanagan
- Effective Javascript By David Herman
- You Don’t Know JS By Kyle Simpson
- Javascript: The Good Parts By Douglas Crockford

Youtube Channels to Learn Javascript

- Learn with Hasin Haydar (Bangla)


- JS Bangladesh (Bangla)
- Web Developer BD (Bangla)
- Stack Learner (Bangla)
- Traversy Media (English)
- Academind (English)
- Wes Bos (English)
- Fun Fun Function (English)

Websites to Learn Javascript


- Javascript.info
- Mozilla Developer Networks
- Zonayed JS
- Free Code Camp
- Geeks For Geeks

Training Program for Javascript

- Stack Learner Premium Courses


- Stack Learner Offline Bootcamps

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কাড করেছন।

টাইপিKµ হেY জাভািKেµর একটা ±াSপাই• লLাংTেয়জ। এখােন আপিন মজার


মজার সব িফচার পােবন যা জাভািKেµ 4নই, সােথ জাভািKেµ 4য Tেলা আেছ
4সTেলােতা পােবনই। 4সই িহেসেব বলা যায় টাইপিKµ হেY জাভািKেµর সুপারেসট। এর
:ধান িবেশষN হেY Äংিল টাইপড। জাভািKেµ টাইপ িসেŽেমর 4যই সমসLাটা িছল
টাইপিKµ 4সই সমসLাটার একটা পাকােপা সমাধান কেরেছ। এর সােথ সােথ আপিন
পােবন িফচার িরচ অবেজ… অিরেয়ে;ড িসনটLাc। আপিন যিদ জাভা বা িস শাপJ 4থেক
আেসন তাহেল বD ঝেতই পারেবন না আপিন অনL লLাংTেয়েজ কাজ করেছন।

টাইপিKµ খD বই জনি:য় একটা লLাংTেয়জ। আপিন যিদ জাভািKেµর দুিনয়ােত এেসও


আপনার পুরাতন Žাইেল, 4সফ 4কাড িলখেত চান তাহেল টাইপিKেµর 4কান জুিড় 4নই।
িনঃসেjেহ এটা িশেখ িনেত পােরন এবং অিফিসয়াল ডকDেমে;শন 4দেখ িশখেত সেবJা¿
একিদন সময় লাগেত পাের। তেব জাভািKµ না িশেখই টাইপিKµ িশখেত চাওয়ার মত
4বাকািম আর 4কােনা িকছDেতই হেব না। আপিন জাভািKµ 4শখার পেরই টাইপিKµ
িশখেত পারেবন এবং এটা িশখেবন _ধD মাX 4সফ 4কাড 4লখার জনL।

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বিশ সময়ও লাগেব না।

টাইপিKেµ যা যা িশখেত হেব

- Basic Types & Variable - Symbols


Declarations - Functions
- Classes - Type Inferences
- Interfaces - Decorators
- Generics - Mixins
- Enums - Triple Slash Directives
- Advanced Types - Utility Types
- Iterators
- Generators
- Modules
- Namespaces

Visit Typescript Official Documentation

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ােয় আেলািচত িবষয়ব,

✓ িসে¡ল 4পজ অLাপিলেকশন

✓ SPA 4}মওয়াকJ স

✓ ReactJS লাইেšরী

✓ ReactJS এ যা যা িশখেত হেব

✓ ReactJS টDলস

124 courses.stackschool.co

Powered by Stack School’s Frontend Bootcamp


4ডেভলপেমে;র জগতটা খD ব 4বিশ পিরবতJ নশীল। আর এই 41েX ওেয়ব
4ডেভলপেম; মেন হয় কেয়ক ধাপ 4বিশই এিগেয় আেছ। কেয়ক বছর আেগর ওেয়ব
4ডেভলপেম; 4টকিনক আর এখনকার ওেয়ব 4ডেভলপেম; 4টকিনেকর িভতেরই আপিন
আকাশ পাতাল ফারাক 4দখেত পারেবন। এইেতা কয়িদন আেগও মাÍেপজ ওেয়ব
অLাপিলেকশন 4ডেভলপ করা হেতা। :িতটা 4নটওয়াকJ িরকDেয়েŽর সােথই একবার কের 4পজ
িরে}শ করেত হেতা সাভJ ােরর সােথ কিমউিনেকট করার জনL। অLাপিলেকশেনর সম)
লিজক এবং িডজাইন পুেরাটাই মLােনজ করেত হেতা সাভJ ার সাইেডর অLাপিলেকশেনর
মাধLেম। }ে;³ বলেত _ধD িছল িকছD িনজী­ব HTML, CSS ফাইেলর 4টVেলট। আমােদর
সাভJ ার বাবাজী :িতটা িরকDেয়Ž পেড় বD েঝ 4সই অনুযায়ী HTML ফাইল ]তির কের £ােয়;
মােন šাউজােরর কােছ পাyেয় িদত।

িক~ আজেক ওেয়ব অLাপিলেকশন Tেলা yক এভােব 4ডেভলপড হয় না। ওেয়ব


অLাপিলেকশন 4ডেভলপেমে;র ধারাটা পুেরাপুির ভােব পিরব‚তƒত হেয় িগেয়েছ। এখন ওেয়ব
অLাপিলেকশন বলেত দুইটা িভ½ িভ½ অLাপিলেকশনেক 4বাঝায় - }ে;³ এবং বLােক³।
দুইটা অLাপিলেকশনই সVূণJ িভ½ িভ½ ভােব িভ½ িভ½ 4:ােসেসর মধL িদেয় ]তির করেত
হয়। }ে;³ অLাপিলেকশন Tেলা এখন ŽLা³এেলান অLাপিলেকশন, যার সােথ বLােকে³র
4কােনা সVকJ 4নই। আপিন 4কান 4টকেনালিজ, 4কান লLাংTেয়জ বLবহার কের আপনার
সাভJ ার অLাপিলেকশনটা 4ডেভলপ কেরেছন, 4কাথায় আপনার সাভJ ার অLাপিলেকশনটােক
4ডপলয় বা 4হাŽ কেরেছন, িক লিজক িলেখেছন আপনার অLাপিলেকশেন, }ে;³
অLাপিলেকশেনর 4কােনা িকছDেতই যায় আেস না। 4স _ধD আপনার কােছ এcেপ… কের তার
:েয়াজন অনুযায়ী ডাটা আপিন তােক 4:াভাইড করেবন এবং 4যই ডাটা Tেলা সাভJ াের
জিমেয় রাখা দরকার 4সই ডাটা Tেলা 4স আপনােক 4কােনা না 4কান ভােব পাyেয় িদেব আর
আপিন 4সTেলােক 4Žার কের রাখেবন। এই পুেরা কাজটা 4যই িসেŽেম ঘটেব তার নাম হেY
REST API.

বত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 সময় লাগেব।

React হেY জাভািKেµর একটা লাইেšরী যা বLবহার কের আপিন খD ব সহেজ


ই;ােরÓভ ইউজার ই;ারেফস ]তির করেত পােরন। React সVেকJ বলার মত আর 4কান
কথা 4নই। React 4ক আর 4কােনা ভােব িডফাইন করা সব না। বড় বড় অLাপিলেকশন

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েলা সবই :ায় একই রকম
এবং একই ওেয়েতই কাজ কের থােক।

িকছD }ে;³ লাইেšরী, 4}মওয়াকJ এবং কVাইলারস

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

অনL 4যই টDলস Tেলা লাগেব সVুণJ অLাপ 4ডেভলপেম; করেত


- Material UI (Component Library) - Redux Form
- Ant Design (Component Library) - Formik
- ReactStrap (Component Library) - React Hook Form
- React Router (Routing) - Use React (use-react)
- Reach Router (Routing) - React DND (Drag and Drop)
- Axios (AJAX) - React Spring (Animation)
- Redux (State Management) - React Transition Group (Animation)
- React Redux (Redux Bindings) - React Developer Tool (Extension)
- MobX (State Management) - Redux Developer Tool (Extension)
- Easy Peasy (State Management)

131 courses.stackschool.co
React Redux 4শখার 4রফােরেSস

Must Read React Redux Books:


- Learning React: Fundamental Web Development with React Redux By Alex Banks
- React: Up & Running: Building Web Applications By Stoyan Stefanov
- Building ReactJS Applications with Redux By David Geary
- Redux in Action By Garreau and Will Faurot
- Learn React Hooks: Build and Refactor Modern ReactJS Applications Using Hooks
By Daniel Bugl
- Mastering React Test Driven Development By Daniel Irvine

Youtube Channels to React Redux

- Digitaloy (Bangla)
- Learn Hunter (Bangla)
- Stack Learner (Bangla)
- Codevolution (English)
- Free Code Camp (English)
- Learn Code Academy (English)

Websites to Learn React Redux


- React Official Docs
- Redux Official Docs
- ReactJS Examples
- React Design Patterns
- React For Beginners - Wes Bos

Training Program for React Redux

- Stack Learner Premium Courses


- Stack Learner Offline Bootcamps

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ােয় আেলািচত িবষয়ব,

✓ ওেয়ব 4ডেভলপেমে;র ভDল ধারণা

✓ বLােক³ 4ডেভলপেম;

✓ 4বŽ বLােক³ লLাংTেয়জ

✓ বLােক³ লLা¡ুেয়েজস এবং 4}মওয়াকJ স

135 courses.stackschool.co

Powered by Stack School’s Backend Bootcamp


4কউ যখন :থম HTML 4শখা _র` কের তখনই তার মেনর মেধL একটা ?েuর স¹ার
হয়। একিদন আিম একজন বড় 4ডেভলপার হব। অেনক বড় বড় সব ওেয়ব অLাপিলেকশন
4ডেভলপ করেবা। ল1 ল1 মানুষ আমার ]তির করা অLাপিলেকশন বLবহার করেব। আিম
যখন 4:াEািমং লLাংTেয়জ 4শখা _র`ই কিরিন তখন 4থেকই আমার ?u আিম ওেয়ব
4ডেভলপার হব। তখন অবশL ওেয়ব 4ডেভলপেম; বলেত বLােক³ 4ডেভলপেম; বা সাভJ ার
সাইড অLাপিলেকশনেকই 4বাঝােতা। কারণ তখনও }ে;³ 4ডেভলপেম; টামJসটার সােথ
সবাই পিরিচত িছলাম না। 4ডেভলপেম; বলেত _ধD বLােক³ 4ডেভলপেম;েকই আমরা
বD ঝতাম। িক~ মজার িবষয় হেY ৯-১০ বছর পের এেসও আমােদর 4দেশ 4বিশরভাগ মানুষ
4ডেভলপেম; বলেত বLােক³ 4ডেভলপেম;েকই 4বােঝ, আর ওেয়ব িডজাইনেকই }ে;³
4ডেভলপেম; মেন কের। খD ব সীিমত সংখLক মানুষ বLতীত 4বিশরভাগ মানুষই তােদর ি¨ল
আপেEড করেত পািরিন এখেনা, এটা খD বই হতাশাজনক।

আমােদর 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ফলেছ।

ওেয়ব 4ডেভলপেম; মােনই িপএইচিপ, এই একটা হাইপ িক পিরমাণ 1িত কেরেছ


একটD িহেসব করেলই আপিন বD ঝেত পারেবন। িপএইচিপ 4ডেভলপােরর সংখLা এত আমােদর
4দেশ 4য ১০ হাজার টাকা সLালািরেতও মানুষ 4ডেভলপেমে;র কাজ করেত রািজ হেয় যায়।
যারা অিভ|, অেনক িদন 4থেক মােকJ ট 4ˆেস কাজ করেছ, বা জব করেছ তােদর কােজর
4কােনা সমসLা হেব না। িক~ 4য িকছD িদন হেলা িপএইচিপ িশেখেছ, বা আজেক িপএইচিপ
4শখা _র` করেছ একটা িসিকউরড লাইেফর আশায়, িকভােব তারা আপনােদর মত অিভ|
বLিেদরেক টপেক িনেজর একটা অবsান কের 4নেব? 4যখােন অিভ| বLিরায় অেনক
41েX ঘের বেস আেছন, নতDন নতDন 4টকেনালিজ িশেখ িনেজেক আপেEড করার 4চ„া
করেছন। তেকJ র খািতের আিম ধের িনলাম ১০% নতDন 4ডেভলপার িনেজর জায়গা yকই
কের 4নেব, িক~ বািক ৯০% এর িক হেব? তারা এত ক„ কের 4ডেভলপেমে; িনেজর 4বস
]তির করেলা িক 4বকার বেস থাকার আশায়? এই অবsায় িক তারা নতDন কের 4কােনা
আপেডেটড 4টকেনালিজ 4শখার মানুিষকতাও রােখ? এই মানুষ Tেলাই যিদ এই সময় Tেলা
অনL 4টকেনালিজ Tেলা িশখত 4যখােন কিVশন অেনক কম িক~ িডমা³ অেনক 4বিশ
তাহেল িক তার সমেয়র সyক বLবহার করা হেতা না? তাহেল িক 4দেশ আরও িকছD 4বিশ
]বেদিশক মু«া আসার 41X ]তির হেতা না? আমােদর 4দেশও িকছD ?uবাজ মানুষ িক বড় বড়
সফটওয়Lার 4কাVানী িদেয় িনেজর সফটওয়Lার সা‚ভƒস িবি‰ করার ?u 4দখত না?
ইি³িভজুয়াল ি}লাSার ]তির না হেয় হাজার হাজার এেজিS ]তির হেতা না? সফটওয়Lার
খাত 4থেক আমােদর 4দশ িক সব 4থেক 4বিশ ]বেদিশক মু«া অজJন করেত পারেতা না?
অেনক িকছDই ঘটেত পারত, িক~ যার 4কানটাই ঘেটিন। পূেবJ িক ঘেটেছ 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 িকনা?

বLােক³ 4ডেভলপেম; হেY সব 4থেক পাওয়ারফDল, সব 4থেক 4Æিcবল এবং সব 4থেক


কনিফউিসং একটা 4ডেভলপেম; 4স…র। এখােন আপনার সামেন অসংখL অপশন 4দওয়া
আেছ, আপনার পছj মত এবং :েয়াজন মত টDলস আপনােক 4বেছ িনেত হেব 4কােনা একটা
কাজ সV½ করার জনL। }ে;³ 4ডেভলপেমে;র 41েX আমরা 4দেখিছ আমােদর ওপের
জাভািKµেক চািপেয় 4দওয়া হেয়েছ। িক~ বLােক³ 4ডেভলপেমে;র 41েX িস^া@
আপনােকই িনেত হেব। আর এখােনই আমরা সব 4থেক বড় ভDল কাজটা কের থািক।

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 ার িক, এবং িকভােব
কাজ কের?

সহজ কথায় সাভJ ার হল একটা কিVউটার। এই কিVউটারটা পৃিথবীর 4যেকান জায়গায়


অবsান করেত পাের, এমনিক আপনার আমার বাসার িভতেরও থাকেত পাের। এই
কিVউটারটা ই;ারেনেটর সােথ কােনে…ড 4থেক, ২৪/৭ ওেপন 4থেক আমােদর
অLাপিলেকশন Tেলােক সাভJ করেছ। আর বাইের 4থেক আসা িরকDেয়Ž Tেলােক হLাে³ল
করার জনL এই কিVউটার Tেলার িভতের ইSটল করেত হয় িবিভ½ সাভJ ার সফটওয়Lার
4যমন Apache, Nginx, Tomcat বা NodeJS. এই সাভJ ার সফটওয়Lার Tেলা িরকDেয়Ž
Tেলােক হLাে³ল কের ২৪/৭ রািনং থাকা আমােদর অLাপিলেকশেনর সােথ কােন… কের 4দয়।
তখন আমােদর অLাপিলেকশন Tেলা িরকDেয়Žটা িরড কের এবং িরকDেয়েŽ যা করেত বলা
হেয়েছ 4সই অনুযায়ী কাজ কের একটা 4রসপS ]তির কের। 4রŸS ]তির হেয় 4গেল সাভJ ার
অLাপিলেকশন Tেলা এই 4রসপS আবার ইউজােরর কােছ বLাক পাyেয় 4দয়। এই পুেরা
4:ােসসটা ঘেট থােক HTTP 4:ােটাকেলর মাধLেম।

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েলা লােগ
না?

4যেকােনা একটা অLাপিলেকশন ]তিরর পূ েবJ আপনােক জানেত হেব এই


অLাপিলেকশনটা আপিন কত মানুেষর জনL 4ডেভলপ করেছন। এর পের আপনােক 4দখেত
হেব এই অLাপিলেকশন িক _ধD ডাটা িনেয়ই কাজ করেব নািক কিVউং এরও :চDর কাজ
থাকেব। ১ িমিলয়ন মানুষ বLবহার করেব এই রকম একটা ইকমাসJ সাইট এবং িভিডও Åিমং
সাইট িক~ এক না। দুইটা 4ডেভলপ করেত সVূণJ িভ½ িভ½ 4টকেনালিজ লাগেব। আবার
একই 4টকনলিজ বLবহার কের দুইটা অLাপিলেকশনই 4ডেভলপ করা যায়। তেব আপিন যিদ
িপএইচিপ, 4নাডেজএস বা পাইথন বLবহার কের Þিমং অLাপিলেকশন 4ডেভলপ কেরন
তাহেল আপনার অেনক 4বিশ সাভJ ার :েয়াজন হেব। যখন আপনার ইউজার অেনক 4বিশ
হেব তখন এমন একটা লLাংTেয়জ আপনােক 4বেছ িনেত হেব যার এিcিকউশন Ÿীড
অেনক 4বিশ, কম 4মমিরেতও অেনক 4বিশ কাজ করেত পাের। এখােন আপিন িক 4কাড
িলখেছন 4সটাও অেনক Tর`NপূণJ িবষয়। আর এখােনই কােজ লােগ ডাটা Äাকচার এবং
অLালেগািরদম এর িথওির Tেলা। বড় বড় 4কাVািন Tেলা 4কা 4কা টাকা সLালাির িদেয়

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 ব বড়।

PHP: বLােক³ 4ডেভলপেম; 4শখার জনL এর 4থেক সহজ লLাংTেয়জ আর 4নই।


কারণ এই লLা¡ুেয়জটা ]তিরই করা হেয়েছ ওেয়েবর বLােক³ িনেয় কাজ করার জনL। ওেয়েবর
আিদিপতা বলা হয় এই লLাংTেয়জেক। 4যেকােনা ধরেনর ওেয়বসাইট 4ডেভলপ করার জনL
িপএইচিপ এর 4কােনা জুিড় 4নই। তেব বLবহারকারীর সংখLা ব†ি^ 4পেল িপএইচিপ তখন আর
4পের ওেঠ না। অবশLই আপিন সাভJ ার 4¨ল করার মাধLেম সােপাটJ বজায় রাখেত পােরন,
িক~ এেত আপনার :চDর অথJ অযথায় খরচ হেব। তাই পােসJানাল ওেয়বসাইট বা

143 courses.stackschool.co
ইনফরেমশন 4শয়ার করেব এরকম ওেয়ব সাইট ]তির করার জনLই িপএইচিপ 4বঁেছ 4নওয়া
উিচত।

ওেয়ব অLাপিলেকশন 4ডেভলপেমে;র দুইটা আ‚কƒেটকচার খD বই জনি:য়। একটা হেY


মেনািলিথক যা অেনক পুরাতন একটা আ‚কƒেটকচার আর একটা হেY মাইে‰া সা‚ভƒস
আ‚কƒেটকচার। মেনািলিথক আ‚কƒেটকচাের একটা অLাপিলেকশন যত বড়ই 4হাক না 4কন
সম) 4কাড 4বস এক জায়গােতই থােক। যার ফেল এই আ‚কƒেটকচার বLবহার কের একটা
অLাপিলেকশন _র` করা অেনক সহজ। িক~ আপনার অLাপিলেকশনটা যিদ এমন হয় 4য,
এখােন :িতিনয়ত নতDন নতDন িফচার ইমিˆেম; হেY তাহেল অg িকছDিদেনর িভতেরই
আপনার অLাপিলেকশন মLােনজ করা :ায় অসব হেয় যােব। একটা 4ছা বাগ িফিcং এর
জনLও আপনার অেনক পLারা সহL করেত হেব। আে) আে) ম বড় হেত থাকেব এবং
4ডেভলপেম; 4:ােসস, নতDন আপেডট সব িকছD 4Õা হেত থাকেব। এই সমসLার কারেণ
বতJ মােন :ায় সব অLাপিলেকশনই মাইে‰া সা‚ভƒস আ‚কƒেটকচার ফেলা কের ]তির করা হয়।
এই 41েX পুেরা অLািˆেকশনটােক 4ছাট 4ছাট অসংখL সা‚ভƒেস ভাগ করা হয়। একটা সা‚ভƒস
একটা িন‚দƒ„ কাজ, একটা িন‚দƒ„ অLাপ। এই অLাপটা মLােনজ করা হেব ইি³িভজুয়ািল, 4টŽ
করা হেব ইি³িভজুয়ািল এবং 4ডপলয় করা হেব ইি³িভজুয়ািল। একটা অLাপিলেকশন
থাকেব যার নাম এিপআই 4গটওেয়, 4য সম) 4ছাট 4ছাট অLাপিলেকশন Tেলােক একX করেব
এবং ইউজােরর সােথ ই;াের… করেব। এই ধরেনর মাইে‰াসা‚ভƒস 4বসড অLাপিলেকশন
Tেলা ]তির করার _র`র িদেক 4তা আপনােক অেনক 4পইন িনেত হেব, িক~ পরবতী­েত সব
িকছD এতটাই ¬ুথিল চলেব, টাইম টD টাইম আপেডট, ফাŽ বাগ িফিcং সব িকছDই হেব, 4য
আপনার ইউজার বD েঝই উঠেত পারেব না িবহাই³ দLা িসন িক ঘটেছ।

িপএইচিপ ব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শখা উিচত।

অেনেকই মেন কেরন ওয়াে:Jস িপএইচিপ এর একটা 4}মওয়াকJ । ওয়াডJে:স এর িথম


4ডেভলপ করার অথJ হেY ওেয়ব 4ডেভলপ করা। _নেত একটD খারাপ 4শানা 4গেলও বিল,
আপিন ওেয়ব 4ডেভলপেম; করেছন না। ওয়াডJে:স 4কােনা 4}মওয়াকJ না, এটা একটা
কে;; মLােনজেম; িসেŽম। 4যখােন বেস আপিন আপনার ওেয়বসাইেটর 4চহারা 4কমন হেব,
ওেয়বসাইেট িক িক কে;; থাকেব তা মLােনজ করেত পােরন। ওয়াডJে:স এর সােথ একটা
ডLাসেবাডJও িদেয়েছ, যার ফেল আপনার অLাপিলেকশেনর অনLানL িকছD কাজও এখােন বেসই
করা যায়। িক~ 4কােনা ভােবই এটা 4কােনা ওেয়ব 4}মওয়াকJ না। আপিন যিদ ওয়াডJে:েসর
জনL ˆািগন ]তির কেরন আপিন ওয়াডJে:স ˆািগন 4ডেভলপার, আর যিদ িথম ]তির কেরন
তাহেল ওয়াডJ 4:স িথম 4ডেভলপার যার 4কােনাটার সােথই ওেয়ব অLাপিলেকশন
4ডেভলপেমে;র 4কােনা সVকJ 4নই। আপিন যিদ লারােভল বLবহার কেরন, অথবা 4কার
িপএইচিপ বLবহার কের একটা ওেয়বসাইট 4ডেভলপ কেরন, আপিন অবশLই একজন ওেয়ব
4ডেভলপার।

NodeJS & Javascript: আমােদর 4দেশর জনL খD বই নতDন একটা 4টকেনালিজ


হেY NodeJS, যা মূলত একটা রানটাইম। আপিন এেক জাভািKেµর কVাইলার ভাবেত
পােরন। যা বLবহার কের আমরা জাভািKµ 4কাড আমােদর িপিসেত রান করেত পাির।
মডানJ ওেয়ব 4ডেভলপেমে;র জনL 4নাডেজএস এখন 4ডেভলপার 4দর :থম পছj। ২০১১
সাল 4থেক সফল ভােব 4নাডেজএস তার িব)†িত লাভ করেছ এবং সবার মন জয় করেছ। বড়
বড় 4কাVানী Tেলা এখন :চDর কােজ 4নাডেজএস বLবহার করেছ। আজেক আমরা
জাভািKেµর 4যই জয়গান _িন তার িপছেনর 4য কািরগর, 4স হল 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বহার
করেছ তাই আিম মেন কির এটা একটা ভােলা সমাধান হেত পাের।

একজন }ে;³ 4ডেভলপােরর জনL আমার মেন হয় না 4য 4নাডেজএস এর 4থেক ভােলা


4কােনা সমাধান আেছ। কারণ এখােন আপনােক বLবহার করেত হেব জাভািKµ। আর
একজন }ে;³ 4ডেভলপার িহেসেব আপনােক সব সময় জাভািKµ িনেয়ই কাজ করেত

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নই।

রLািপড অLাপিলেকশন 4ডেভলপেমে;র জনL আপিন িপএইচিপ এর বদেল পাইথন,


লারােভল এর বদেল জLাংেগা 4বঁেছ িনেত পােরন। তেব এই 41েXও মাথায় রাখেত হেব যিদ
আপনার ইউজার 4বস অেনক 4বিশ হেয় যায় 4সইে1েX িক~ আপিন :েেমর সœুখীন
হেবন। ŽাটJাপ 4কাVািন Tেলার :থম চেয়স পাইথন। কারণ খD ব ·ত বাজাের আসেত
চাইেল আপনােক জLাংেগার কােছই আসেত হেব। যিদ আপিন িপএইচিপ িশখেত না চান
তাহেল আমার :থম িরকেমে³শন থাকেব পাইথন। আর যিদ আপনার জাভািKµ জানা
থােক তাহেল আিম বলেবা 4নাডেজএস। তেব ওেয়ব 4ডেভলপেম; বােদ যিদ আপিন িচ@া
কেরন তাহেল আিম বলব পাইথন িশখD ন। আিম সবাইেক নূনLতম িতনটা লLাংTেয়জ 4শখার
সােজশন িদেয় থািক। :থমটা হেY িস, িŒতীয়টা হেY জাভািKµ আর ত†তীয়টা হেY
পাইথন। যিদ কােরার সময় কম থােক, আর ·ত কLািরয়ার গড়েত চাই তােদর জনL আমার
এই সােজশনটা।

Java: এ;ার:াইজ অLাপিলেকশেনর কথা আসেলই :থম 4য নামটা সবার মেন


আেস তা হেলা জাভা। ব› বছর ধের জাভা সব 4থেক বড় বড় অLাপিলেকশন 4ডেভলপ কের
আসেছ। 4যখােন পাফJ রেমেSর দরকার হয়, 4যখােন িসকDির দরকার হয় 4সখােনই জাভা।
4ছােটাখােটা 4কােনা কােজর জনL জাভার নাম মেনও আনেবন না, তাহেল জাভােক অসœান
করা হেব আর আপনার সময়, আপনার অেথJর বােরাটা বাজেব। :থম 4থেকই বেল আসিছ
িপএইচিপ, পাইথন, 4নাডেজএস বLবহার কের িসিপইউ ইে;িSভ কাজ Tেলা করেবন না।
তাহেল করেবা িক িদেয়? িসিপইউ ইে;িSভ কাজ বলেত আসেল 4বাঝায় 4যই কাজ Tেলা
করেত :চDর িসিপইউ পাওয়ার লাগেব, মাÍপল 4¤ড লাগেব। এই কাজ Tেলা এমন
লLাংTেয়জ বLবহার কের করা উিচত যা খD ব ·ত কম 4মেমাির খরচ কের এিcিকউট হেত
পাের। জাভা এর উৎক†„ একটা উদাহরণ। জাভার 4থেকও ফাŽ 4:াEািমং লLাংTেয়জ বাজাের
আেছ, িক~ ওেয়েবর জনL জাভার মত সােপাটJ এবং এিcিকউশন পাওয়ার আর 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ত হয়।

ASP.NET & C#: রLািপড এ;ার:াইজ অLাপিলেকশন ]তিরর অনL আর একটা


সলুLশন হেY ASP.NET যা জাভা এর 4থেক সামানL পিরমাণ 4Õা। আপিন 4যই কাজ
Tেলােত জাভা বLবহার করেতন yক একই কােজ িসশাপJ এবং ASP.NET বLবহার করা
যায়। C# হেY একটা 4:াEািমং লLাংTেয়জ যা মাইে‰াসফেটর ]তির এবং অেনকটা জাভার
মতই, তেব িকছD িকছD 41েX জাভার 4থেক এর ইমিˆেমে;শনটা আমার কােছ 4বিশ ভােলা
মেন হেয়েছ। আর ASP.NET হেY 4}মওয়াকJ যা MVC পLাটােনJ কাজ কের থােক। এই
4}মওয়াকJ বLবহার কের আপিন খD ব কম সমেয়ই একটা বড় সড় অLাপিলেকশন ]তির করেত
পারেবন। এবং পাফJ রেমSও খD ব ভােলা হেব। আমােদর 4দেশ _র` 4থেকই ASP.NET এর
চািহদা িছল, এখেনা আেছ।

Special Mention: বLােকে³র লLাংTেয়েজর আসেল 4শষ 4নই, যত বলব ততই


বলা যােব। তেব আিম এখােন সমসামিয়ক বLবPত সব 4থেক জনি:য় লLাংTেয়জ Tেলার
কথায় উে°খ করলাম। তেব আরও কেয়কটা লLাংTেয়জ এবং ˆাটফমJ সVেকJ না বলেলই
নয়, 4যTেলা এর মেধLই বাজাের চেল এেসেছ। 4ডেভলপেমে;র কােজ বLবPতও হেY,
মানুেষর ভােলাবাসাও পােY। তেব এখেনা পুেরাপুির ভােব িনেজর অবsান পিরºার করেত
পােরিন। সবার :থেম যার নাম বলেত হয় 4সটা হেY Golang. Tগেলর 4ডেভলপ করা
একটা 4:াEািমং লLাংTেয়জ যা িকনা িস, িস++ এর মতই ফাŽ, 4লা 4লেভল, 4লা
এিcিকউশন টাইম এবং অেনক সহজ। মাইে‰াসা‚ভƒস ]তিরেত 4গালLাং এর 4কান জুিড়
4নই। অg িকছD িদেনর িভতেরই আমরা হয়ত টপ িলেŽ 4গালLাং 4ক 4দখেত পারেবা। কারণ

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বহার কের।

সব 4শেষ যার কথা বলেবা 4স হল একটা রানটাইম। 4নাডেজএস এর মেতাই জাভািKµ,


টাইপিKেµর একটা রানটাইম। 4নাডেজএস ]তিরেত 4য ভDল Tেলা কেরিছেলন Ryan
Dehl, 4নাডেজএস এ 4যই িবষয় Tেলা না থাকেল আর 4যই িফচার Tেলা থাকেল ভােলা হেত
বেল িতিন মেন কেরন, 4সই িবষয় Tেলা িনেয়ই দীঘJিদন ধের নতDন একটা রান টাইম ]তির
করেছন 4নাডেজএস এর জনক Ryan Dehl যার নাম Deno. এর মেধLই আমরা ি:িরিলজ
ভাসJন 4দেখিছ এবং 4দেখই মুá হেয়িছ।

আিম :থেমই বেলিছ বLােক³ 4ডেভলপেমে; আমােদর অেনক 4বিশ 4Æিcিবিল


আেছ, কারণ এখােন অসংখL অপশন আেছ। এcLা… 4কান টDলসটা আপনার কােজ লাগেব
4সটা আপনােকই খD ঁেজ 4বর করেত হেব। আপনার যিদ িপএইচিপ বLবহার কেরই কাজ হেয়
যায় তাহেল আপিন িপএইচিপ বLবহার করেবন। যিদ 4কাথাও 4নাড লােগ তাহেল 4নাড, রাŽ
লাগেল রাŽ আর জাভা লাগেল জাভা। কখেনা কখেনা একটা লLাংTেয়জ িদেয়ই আপনার
পুেরা অLাপিলেকশন 4ডেভলপ করা সব হেব আবার কখেনা কখেনা আপনার একািধক
লLাংTেয়জ লাগেব। 4যমন 4নটিÆেcর কথায় িচ@া করা যাক। এখােন আমরা 4যই িভিডও
Åিমং 4দিখ তার বLােকে³ আেছ জাভা, 4নটিÆc আমােদর ই;ােরেŽর ওপের িভি– কের
4যই সােজশন 4:াভাইড কের থােক তার িপছেন আেছ পাইথন আর যার মাধLেম বLােক³
আর }ে;³ কােন… হেY মােন এিপআই তার িপছেন আেছ 4নাডেজএস।

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স

Must Read PHP Books:


- PHP in Action: Objects, Design, Agility By Daginn Reiersol
- Programming PHP: Creating Dynamic Web Pages By Kevin Tatroe
- PHP and MySQL Web Development By Laura Thompson
- PHP & MySQL Novice to Ninja By Tom Butler
- Head First PHP & MySQL By Lynn Beighley
- PHP Objects, Patterns and Practice By Matt Zandstra

Youtube Channels to Learn PHP

- Learn with Hasin Hayder (Bangla)


- Training with Live Projects (Bangla)
- Learn Hunter (Bangla)
- Dev Marketer (English)
- The New Boston (English)
- The Net Ninja (English)

Websites to Learn PHP


- PHP Manual
- PHP T Point
- Learn PHP
- PHP The Right Way
- Killer PHP

Training Program for PHP

- Learn with Hasin Hyder Courses


- Learn Hunter Live

152 courses.stackschool.co
Python 4শখার 4রফােরেSস

Must Read Python:


- পাইথন পিরিচিত By Tamim Shahriar Subeen
- সহজ ভাষায় পাইথন By মাকসুদুর রহমান মান
- Python Crash Course By Eric Matthews
- Head First Python By Paul Berry
- Python Programming: Am Introduction to Computer Science By John Zelle
- Fluent Python: Clear, Concise and Effective Programming By Luciano Ramalho
- Programming Python: Powerful Object Oriented Programming By Mark Lutz

Youtube Channels to Learn Python

- Tamim Shahriar (Bangla)


- Anisul Islam (Bangla)
- Stack Learner (Bangla) [Upcoming]
- Corey Schafer (English)
- Telusko Learning (English)
- Programming Knowledge (English)

Websites to Learn Python


- Python Bangla
- সহজ ভাষায় পাইথন
- Google's Python Class
- Programmiz
- Real Python

Training Program for Python

- Stack Learner Premium Courses (Upcoming)


- Stack Learner Offline Bootcamps (Upcoming)

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 নন িকং

✓ বLােকে³ িক িক িশখেত হেব

156 courses.stackschool.co

Powered by Stack School’s Boost Your Base Camp


বLােক³ 4ডেভলপেমে;র জনL আমােদর সামেন ডজনখােনক অপশন থাকেলও _র`
করার জনL আমার মেত 4নাডেজএস সব 4থেক সহজ সমাধান। 4নাডেজএস িশখেল
অ@তপে1 খD ব অg সমেয়ই িনেজেক ফDলŽLাক 4ডেভলপার িহেসেব দাবী করা যায়। বLােক³
4ডেভলপেম; আপিন যখন খD িশ তখনই _র` করেত পােরন। তেব _র` করার পূেবJ ওেয়ব
সVেকJ নূনLতম ধারণা আপনােক অজJন কের িনেতই হেব। ওেয়ব িকভােব কাজ কের,
িকভােব ওেয়ব িডজাইন করেত হয়, HTML, CSS আর অg ?g জাভািKµ িশেখ না
আসেল বLােক³ 4ডেভলপেমে;র আগা মাথা বD ঝেতই অেনক সময় 4লেগ যায়। আর 4যেহতD
এই সব জানেত জানেত িকছDটা হেলও জাভািKµ সVেকJ |ান অজJন হেয়ই যায়, তাই নতDন
কের আবার লLাংTেয়জ 4শখার িপছেন সময় িদেয় লাভ িক, 4নাডেজএস িদেয়ই _র` কর`ন।
আর আপিন যিদ }ে;³ 4ডেভলপার হন, 4সই 41েX 4তা আর 4কােনা কথায় 4নই।

আমােদর 4দেশ 4নাডেজএস এখেনা একটা নতDন 4টকেনালিজ। তাই হরহােমশায়


4নাডেজএসেক জাভািKেµর 4}মওয়াকJ মেন কের ভDল করেত 4দখা যায়। 4নাডেজএস
জাভািKেµর 4কােনা 4}মওয়াকJ না, এটা একটা জাভািKµ রানটাইম। কেয়ক বছর আেগ
জাভািKµ 4কাড šাউজাের HTML এর সােথ রান করেত হেতা, এর বাইের 4কােনা ভােবই
রান করা 4যত না। কারণ জাভািKেµর ŽLা³এেলান 4কােনা কVাইলার বা রানটাইম িছল
না। জাভািKµেক সবাই 4খলনা লLাংTেয়জ িহেসেবই ধারণা করেতা, তাই 4কউ কখেনা এই
লLাংTেয়জটােক šাউজােরর বাইের রান করােতও চাইিন। ২০০৯ সােল :থম এই িনেয় কাজ
_র` কের Ryan Dahl. কাজ _র` করার পের অেনক তািYেলLর ?ীকারও হন িতিন, কারণ
তখনও 4গাটা িবÉ জাভািKেµর 1মতা সVেকJ অবগত িছল না। আমরা Tগল 4‰ােম
জাভািKেµর 4যই ইি‘ন বLবহার কির, V8 ইি‘ন, 4সই একই ইি‘ন বLবহার কের, একটD
মিডফাই কের সােথ 4ড¨টেপ চালােনার জনL িকছD লাইেšরী সােপাটJ িদেয় একটা রানটাইম
অLাপিলেকশন ]তির করেলা। আর এটাই হেলা 4নাডেজএস।

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নাডেজএস বতJ মােন ওেয়ব অLাপিলেকশন ]তিরর 41েX খD বই জনি:য়। এই জনি:য়তার


:ধান কারণ এর আ‚কƒেটকচার। 4নাডেজএস িসে¡ল 4¤েডড নন িকং আইও, 4নাডেজএস
4ক িডফাইন করার জনL সবাই এই একটা টামJই বLবহার কের থােক। িক~ এখােন আসেল িক
4বাঝােনা হেY? িসে¡ল 4¤েডড মােন হল 4নাডেজএস কিVউটােরর এক মাX 4¤ড
বLবহার করেব যখন একটা অLাপিলেকশন রান করা হেব। যিদ আপনার কিVউটাের ২, ৪,
৬, ৮ টা 4¤ডও থােক 4নাডেজএস বািক একটা 4¤ডও বLবহার করেব না। নন িকং মােন
আমরা সবাই বD ঝেত পারিছ 4য এটা ক করেব না। িক~ িক ক করেব না? ইনপুট এবং
আউটপুট ক করেব না। এখােন ইনপুট আর আউটপুট হেY িরকDেয়Ž এবং 4রসপS।
আরও সহজ ভােব বLাপারটা 4বাঝার 4চ„া করা যাক।

ধর`ন আপিন এক 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 ।

এcে:স হেY একটা মাইে‰াে}মওয়াকJ । মাইে‰াে}মওয়াকJ কনেসµ িনেয়ও অেনেকর


অেনক ভDল ধারণা আেছ। অেনেকই মেন কেরন 4যেহতD এটা মাইে‰াে}মওয়াকJ তাই মেন হয়
সব িকছD এখােন করা যায় না। িক~ বLাপারটা এমন না। মাইে‰াে}মওয়ােকJ ও আপিন সব
িকছDই করেত পারেবন। তেব এখােন িমিনমািলŽ ভােব একটা ইমিˆেমে;শন দঁ াড় করােনা
হেয়েছ, যখন যা আপনার দরকার তা ইমিˆেম; করার সুেযাগ 4রেখ 4দওয়া হেয়েছ এবং বািক
কাজ আপনার ওপের 4ছেড় 4দওয়া হেয়েছ। লারােভল, জLাংেগা এই 4}মওয়াকJ Tেলা কমিˆট
4}মওয়াকJ । এখােন আেগ 4থেকই সব িকছD িদেয় 4দওয়া হেয়েছ, যা আপনার দরকার তাও
এখােন আেছ, যা আপনার দরকার না তাও আেছ। এরা আেগ 4থেকই সম) িসেŽম িডফাইন
কের 4রেখেছ যার ফেল আপনার িনেজর পছj অনুযায়ী টDলস বLবহার করা এখােন
ঝােমলাদায়ক। অনL িদেক এcে:েস আপিন আপনার মন মত যা খD িশ তাই করেত পােরন,
4যই টDলস খD িশ 4সই টDলস বLবহার করেত পােরন। সব িকছDই এখােন করেত পারেবন।
মাইে‰াে}মওয়াকJ বLবহার কের 4ডেভলপেম; 4শখার আর একটা মজা হেY 4ডেভলপেমে;র
:িতটা কাজ সVেকJ আপিন অবগত থাকেবন। 4কাথায় িক হেY, 4কন হেY সব িকছDই
আপনার নখদপJেন থাকেব।

এcে:স খD বই পাওয়ারফDল একটা 4}মওয়াকJ । এ বLবহার কের আপিন িপএইচিপ এর মত


মাÍেপজ অLাপিলেকশন ]তির করেত পারেবন, REST API সা‚ভƒস ]তির করেত পারেবন,
GraphQL সাভJ ার ]তির করেত পারেবন। 4নাডেজএস নন িকং হওয়ায় িরেয়ল টাইম
অLাপিলেকশেনর জনL 4নাডেজএস সব 4থেক 4বিশ জনি:য় আর এcে:স বLবহার কের
আপিন িরেয়ল টাইম অLাপিলেকশনও ]তির করেত পারেবন খD ব সহেজই। এত িকছD ]তির
করেত পারেবন _ধD মাX এই 4ছা মাইে‰াে}মওয়াকJ বLবহার কের। _েন হয়ত মেন হেY
এcে:স না জািন কত কyন িকছD। আসেল এcে:স খD বই সহজ একটা 4}মওয়াকJ । এ
বLবহার করার জনL আপনার পূবJ 4কােনা অিভ|তা থাকার :েয়াজন পরেব না। এমনিক
4নাডেজএস এর 4কার লাইেšরী সVেকJ |ান না থাকেলও আপিন এcে:স বLবহার কের
ওেয়ব অLাপিলেকশন ]তির করেত পারেবন। আিম িনেজও 4নাডেজএেসর 4কার লাইেšরী
িনেয় ঘাটাঘা কেরিছ অেনক পের।

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 িশেখ
িনেল এই |ানটা আপনার িবফেল যােব না, বর¹ এডভাে;জই পােবন সব জায়গায়।

বLােক³ হেY আপনার অLাপিলেকশেনর সব িকছD। তাই এখােন িক করা লাগেব, িক


4শখা লাগেব 4সটা আেগ 4থেকই বেল 4দওয়া যায় না। ওপের 4যই িবষয় Tেলা িনেয়
আেলাচনা করা হেয়েছ 4সTেলা খD বই কমন িবষয় বLােকে³র জনL। 4যেকােনা
অLাপিলেকশেনর জনLই এই িবষয় Tেলা আপনার দরকার হেব। িক~ _ধD মাX এTেলা িশেখ
বেস থাকেলই চলেব না, £াইে;র িরকDয়ারেমে;র ওপের িভি– কের আপনার 4যেকােনা সময়
4যেকােনা নতDন 4টকেনালিজ 4শখার :েয়াজন হেত পাের। আপনার £াই; যিদ একটা িভিডও
Åিমং সাইট চাই, 4সখােন আপনােক িভ½ িভ½ িভিডও ফেমJট িনেয় কাজ করা লাগেত
পাের। £াই; যিদ বেল ইনভেয়স এর িপিডএফ ইেমইল করেত হেব 4সে1েX িপিডএফ
4জনােরশন িনেয় কাজ করা লাগেত পাের। £াই; যিদ বেল বাÑ 4:াডা… ইেVাটJ করেত হেব
4সে1েX CSV ফাইল িনেয় কাজ করা লাগেত পাের। ইউজার Tগল, 4ফসবD ক, অLামাজন এর

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েয়জ এবং ইমিˆেমে;শেনর ধারাটা পিরব‚তƒত হেয় যােব।

বLােকে³র সােথ আর একটা িবষয়ও এখন Tর`Nপূণ।J আর 4সটা হেY DevOps.


নতDন একটা টামJস যার মােন হেY 4ডেভলপেম; অপােরশনস। এটা সVূণJ নতDন একটা
টাইেটল, যারা কাজ কের 4ডেভলেম; এবং 4:াডাকশেনর মাঝখােন। যােদর কাজ একটা
অLাপিলেকশন সyকভােব 4ডেভলপড হওয়ার পের আেটােমেটড ভােব 4টªং, 4Žিজং কের
4:াডাকশেন 4ডপলয় করা। একজন 4ডেভলপার িহেসেব DevOps সVেকJ অg িকছD |ান
আমােদর রাখা উিচত। 4যমন আেটােমেটড 4টªং। একটা 4কাড 4লখার পের তার ইউিনট
4টŽ, ই»েEশন 4টŽ করাটা একজন 4ডেভলপােরর জনL জর`ির। এর জনL আপনার িবিভ½
অেটােমেটড 4টŽ টDলস সVেকJ ধারণা রাখেত হেব। এর সােথ সােথ CI/CD টDলস 4যমন
TravisCI, CircleCI সVেকJ ও একটা ধারণা রাখা উিচত।

বত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 িশেখ
িনেত পারেবন।

ফDলŽLাক 4ডেভলপার হওয়ার জা‚নƒটা একটা িবরাট জা‚নƒ। এই জা‚নƒ আপিন অg


কেয়কিদেনও 4শষ কের 4ফলেত পােরন। অg কেয়ক িদেনই আপিন িনেজেক ফDলŽLাক
4ডেভলপার বেল দািব করেতই পােরন। তেব 4যেকােনা অLাপিলেকশন 4ডেভলপ করার মত
4যাগLতা ]তির হেত অেনক সময় লােগ। একটা গ সাইেটর }ে;³, বLােক³ িনেজ িনেজ
]তির কের 4যেকােনা একটা Pass সা‚ভƒেস 4ডপলয় করেল দুিনয়ােতা আপনােক একজন
ফDলŽLাক 4ডেভলপার বলেবই। আপিন আসেলই ফDলŽLাক 4ডেভলপার, কারণ আপিন
সVূণJ 4:ােসসটা জােনন এবং করেত পােরন। িক~ _ধD মাX আপিনই জােনন আপিন কতটা
িনেজেক ]তির করেত 4পেরেছন। এইজগেত িশ1ার 4কােনা িবকg 4নই, :িতটা রাতই পার
করেত হয় নতDন িকছD না িকছD িশখেত, তেব এই িশ1ার িপছেন আেছ ভােলাবাসা, আেছ
4নশা।

NodeJS এ যা যা িশখেত হেব

- NodeJS Architecture - MongoDB with Mongoose


- NodeJS Builtin Modules - MySQL with Sequelize
- Express Frameworks - Email with Nodemailer
- Route and Middleware - Twilio, Sendgrid and Pusher
- Template Engines - Socket.io
- Session & Cookies - GraphQL, Prisma & Apollo
- Authentication Techniques - Cloudinary, AWS S3, Vimeo
- File Upload and Public Directory - Test Driven Development
- Error Handling & Debugging - NodeJS Design Patterns
- REST API Specifications

165 courses.stackschool.co
NodeJS 4শখার 4রফােরেSস

Must Read NodeJS:


- NodeJS in Action By Mike Cantelon
- Express in Action By Evan Hahn
- Professional NodeJS: Building Javascript Based Scalable Software By Pedro
- Practical NodeJS: Building Real World Scalable Web Apps By Azat Mardan
- Node: Up & Running By Mike Wilson
- Node.js Design Patterns By Mario Casciaro

Youtube Channels to NodeJS

- Web Developer BD (Bangla)


- Stack Learner (Bangla)
- Academind (English)
- Programming Knowledge (English)
- The Net Ninja (English)
- Codedamn (English)

Websites to Learn NodeJS

- NodeJS Official Docs


- NodeJS Dev
- Node School

Training Program for NodeJS


- Stack Learner Premium Courses
- Stack Learner Offline Bootcamps

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ল ধারণা

✓ আমােদর িক করা উিচত

✓ 4কন আমােদর মডানJ 4টকেনালিজ 4শখা উিচত

169 courses.stackschool.co

Powered by Stack School’s Boost Your Base Camp


?াগতম, 4ডেভলপেমে;র এই িবভীিষকাময় যাXা পার কের আপিন এই পযJ@
এেসেছন এই জনL আপনােক ?াগতম। এই পযJ@ আসার মােঝ আপিন অেনক 4টকেনালিজ
এর নাম _েনেছন, অেনক লLাংTেয়জ, অেনক 4}মওয়ােকJ র নাম _েনেছন। অেনেকর মেন
হেত পাের আিম ভয় 4দখােনার জনLই এই সব িলেখ 4রেখিছ, অেনক 4টকেনালিজেক
অসœান কেরিছ। িক~ আিম 4কােনাটাই কির িন। আপনােদর মেন যত সংশয় ঘD রপাক
খােY, সম) সংশয় সম) ভDল আিম ভা¡ার 4চ„া করেবা এখােন।

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ন]

4:াEািমং আর 4ডেভলপেম;ও একই রকম। আপিন যত ভােলা 4:াEামার হেবন, তত ভােলা


4ডেভলপেম; করেত পারেবন। তাই সময় লাগেলও 4:াEািমং এবং :েম সিÃং এর |ানটা
সবার :থেমই অজJন কের 4নওয়া উিচত। 4ডেভলপেমে; আপিন :চDর টDলস পােবন, যা
আপিন ধীের ধীের িশখেবন। এমনটা না 4য সব Tেলা না িশখেল কাজ করা যােব না।
আপিন অg িশখেবন, কাজ করেবন আবার িনেজেক আপেEড করেবন। একটা সুjর
4:ােসেসর িভতর িদেয় আগােত হেব আপনােক। তাহেল কাজও হেব, উপাজJনও হেব, নতDন
নতDন িবষয় 4শখাও হেব। :িতিদন ১ ঘ‹া বা ২ ঘ‹া সময় বরা{ থাকেব _ধD মাX নতDন
িকছD 4শখার জনL।

4ডেভলপেমে;র এই যাXায় হাজার হাজার 4টকেনালিজ আমােদর সামেন আসেব। 4কােনা


4টকেনালিজ কােরার কিVটর না। 4কউ 4ছাট বা বড় না, 4কােনাটা জল বা সহজ না।
আমরা যতটা পারেবা ততটাই 4শখার 4চ„া করেবা। কারণ সম) 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

You might also like