এক গুণ পরিশ্রমে দশ গুণ কাজ করা শিখুন
দশ বছর ধরে ওয়েব অটোমেশন আর স্ক্র্যাপিং করার পরও নতুন নতুন কত কিছু শিখতে হচ্ছে। ওয়েব ডেভেলপার, ফ্রন্টএন্ড ডেভেলপার, ইউআই টেস্টার, ডাটা এন্ট্রি, ওয়েব রিসার্চ, ইত্যাদি যেই কাজই করি না কেন, প্রোগ্রামিং জানা থাকা স্বত্ত্বেও অটোমেশনের যুগে বোরিং কাজগুলা ম্যানুয়ালি করার কোন মানে হয় না। ওয়েব অটোমেশনের মাধ্যমে আমি প্রায় দশ গুণ কাজ করতে পারি, প্রচুর সময় বাঁচাতে পারি, জটিল জটিল সব কাজ করতে পারি যেগুলা হাতে করতে গেলেও অনেক সময় সম্ভবও না।
এই কাজগুলো পারে এমন ডেভেলপারও খুব বেশি নাই। ফ্রন্টএন্ড ডেভেলপার হিসাবে কোডে একটা টেস্টও নাই, কাজ করলেই ত হলো। এই সমস্ত টপিক নিয়ে কোর্স নাই বললেই চলে। যদিও দুই চারটা ইউটিউবে ভিডিও আছে, কিন্তু এমন কিছু নাই যে সিলেবাস ধরে লাইভ এসে আপনার প্রশ্নের উত্তরগুলা দিয়া দিবে। এইসব কথা ভেবে দুঃখ নিয়ে একটা কোর্সের কাজে হাত দিলাম। কেউ যেহেতু শিখাচ্ছে না, তাই আমিই শুরু করে দিই।
দুই মাস ব্যাপী এই বিশাল কোর্সে আপনারা ওয়েব অটোমেশন, ওয়েব স্ক্র্যাপিং, টেস্টিং সহ অনেক মজাদার বিষয়ে শিখতে পারবেন। যা আপনাদের বাস্তব জীবন, ও কর্মক্ষেত্রে অনেক কাজে আসবে।
কোর্সের আউটলাইন
ওয়েব অটোমেশন, ওয়েব স্ক্র্যাপিং, ইউআই টেস্টিং ইত্যাদি কি, কেন, কখন, কোথায় ইত্যাদি দিয়ে শুরু হবে। এরপর অনেকগুলো ছোট ছোট প্রজেক্ট যা একদম বাস্তব প্রজেক্টগুলোর অনুরূপভাবে তৈরি করা, এরপর টেস্টিং আর ডিপ্লয়মেন্ট নিয়ে কিছু কাজ হবে।
মডিউল ১ঃ বেসিকের বেসিকগুলা
প্রয়োজনীয় টুলসগুলার ব্যাপারে বেসিক ডিটেইলস
- শুরুর জন্য NodeJS, debug, dotenv
- এডিটর, গিটহাব, থিম সহ সবকিছু দিয়ে কাজের উপযোগী একটা সিস্টেম তৈরি করা
- ওয়েব অটোমেশন সহজ করার জন্য কিছু লাইব্রেরী Puppeteer, Jsdom, Cheerio, jQuery
- হাজার হাজার ওয়েবসাইট অল্প সময়ে প্রসেস করার জন্য বিভিন্ন টুল Bull, SocketIO, Pubsub, PM2
- ডাটাগুলো সেইভ করার জন্য MongoDB, EnMap, Prisma
- এপিআই হিসাবে Express, GraphQL
ডাটা কালেক্ট করার অনেক উপায়
- সোর্স কোড কালেক্ট করার জন্য Headless browser, Curl, Wget, Axios ব্যবহার
- সিএসএস সিলেক্টর বের করার জন্য Inspect Element, ও বিভিন্ন এক্সটেনশন ব্যবহার
- রেগুলার এক্সপ্রেশন দিয়ে ইমেইল, ফোন নাম্বার ইত্যাদি বের করার সিস্টেম
পাপেটার কি জিনিস?
- ক্লিক, টাইপ, ইভালুয়েট, স্ক্রিনশট ইত্যাদি জরুরী বিষয়গুলো
- বাহিরের স্ক্রিপ্ট যেমন জেকুয়েরী ইত্যাদি ব্যবহার করা
- HTML আর MHTML ফাইল সেইভ করা ও সেগুলো লোড করার উপায়
- পিডিএফ তৈরি করা
- স্ক্রিন সাইজ পাল্টানো
- ইউজার এজেন্ট পরিবর্তন করা
- বিভিন্ন এক্সটেনশন ব্যবহার করা
- রিকুয়েস্ট আর রেসপন্স গুলো ঘাটাঘাটি করা
- সার্ভার সাইড রেন্ডারিং করা
- পেইজে একটা লেখা আসা না পর্যন্ত অপেক্ষা করা
- ডায়লগ, প্রম্পোট, কনসোল, এরর এইসব হ্যান্ডেল করা
- আইফ্রেমের ডাটা স্ক্র্যাপ করা
- ক্লিক আর নেভিগেশন একসাথে হ্যান্ডেল করা
হাজার হাজার পেইজের ডাটা নেয়ার উপায়,
- কিউ কি জিনিস
- p-queue দিয়ে কিউ ম্যানেজ করা
- রেডিসের টুকিটাকি, ও bull দিয়ে কিউ ম্যানেজ করা
ডকুমেন্টেশন
- কিভাবে গিটহাব প্রফাইল সাজাতে হবে
- কিভাবে রিপোজিটরির ডকুমেন্টেশন অসাধারণ সুন্দর করতে হবে
- JSDoc ব্যবহারের অনেকগুলো উপায়
- বিভিন্ন উপায়ে অসাধারণ সব এপিআই ডকুমেন্টেশন তৈরি করা
মডিউল ২ঃ প্রজেক্ট আর প্রজেক্ট
প্রজেক্টঃ হরেক রকম ওয়েবসাইট হতে ডাটা কালেক্ট করা
- নরমাল ওয়েবসাইট যেমন Example.com হতে ডাটা নেয়া
- নরমাল উপায়ে লগিন করা ও কুকি দিয়ে লগিন করা
- SSO আর 2FA দিয়ে লগিন করা
- নরমাল Next বাটন দিয়ে পেজিনেশন করা
- ইনফিনিটি স্ক্রোলিং করার কিছু উপায়
- এমাজন, গুগল, বুকিং, ইউটিউব, ডাকডাকগো ইত্যাদি সাইটে সার্চ করা
- শপিফাই, ওয়ালমার্ট ইত্যাদি সাইটে শপিং কার্টগুলা চেক করা
- ফেইসবুক, গুগল, ইয়েল্প ইত্যাদি সাইট হতে রিভিউ কালেক্ট করা
- Yahoo Finance, WSJ ইত্যাদি সাইট হতে অর্থনৈতিক তথ্য নেয়া
প্রজেক্টঃ বট নিয়া বটাবটি
- বট ডিটেকশন, আইন কানুন, বৈধতা বা অবৈধতা নিয়ে কিছু কথা
- প্রক্সির ব্যবহার
- জিওলোকেশন ফেইক করা
- ভিপিএন ব্যবহার করার উপায়
- ক্যাপচা সলভ করার উপায়
প্রজেক্টঃ জাভাস্ক্রিপ্ট আর ওয়েবসকেট দিয়ে একটা ছোট এডমিন প্যানেল তৈরি করা
- একটা ছোট এপিআই তৈরি করা
- একটা ওয়েবসকেট এপিআই তৈরি করা
- একটা ছোট কন্ট্রোলার প্যানেল তৈরি করা
- ডাটাবেইজ হতে ডাটা নেয়া, সবকিছু ক্যাশ করা
- সিএসভি ফাইল হতে ডাটা নেয়া আর ডাটাগুলো সিএসভিতে সেইভ করা
প্রজেক্টঃ জ্যাপিয়ারের জ্যাপিয়ারি
- Zapier, Ifttt, N8n.io এইসব কি, কেন, কিভাবে
- একটা নরমাল HTML ফর্ম সাবমিট করলে সেটা Zapier দিয়ে গুগল স্প্রেডশিটে নিয়ে যাওয়া
- গুগল ফর্ম সাবমিট করলে সেটার তথ্য ইমেইল, ফেসবুক, হোয়াটসএপ, কনভার্টকিট ইত্যাদিতে পাঠানো
মডিউল ৩ঃ টেস্টিংয়ের প্রজেক্টগুলা
প্রজেক্টঃ ডকার নিয়ে টুকটাক
- Headless, Headful ইত্যাদি সম্পর্কে আরো গভীর ধারণা
- ভার্চুয়াল ডিসপ্লে কি জিনিস ও কিভাবে ব্যবহার করবো
- ডকার ও ডকার কম্পোজ কি ও কিভাবে
- স্ক্রিপ্টগুলো Digitalocean কিংবা অন্য কোন সার্ভারে রান করা
প্রজেক্টঃ টেস্টিং নিয়ে টুকটাক
- Jest, Mocha, Chai, Cucumber, Jasmine, CodeceptJS টুলগুলার পরিচয়
- Cypress, Selenium, Nightmare, Playwright ইত্যাদি টুলগুলার পরিচয়
- স্ন্যাপশট ও ভিজুয়াল রিগ্রেশন টেস্টিং করা
- লাইটহাউজ ব্যবহার করে সাইটের পারফর্মেন্স, এসইও, Accessibility ইত্যাদি বিষয়গুলো দেখা
- একটা ওয়েবসাইট ফায়ারফক্স, ক্রোম, ওয়েবকিট ইত্যাদিতে কিভাবে কাজ করবে সেটা টেস্ট করা
প্রজেক্টঃ একটা স্ল্যাকের বট
- CI/CD কি, কেন, কিভাবে
- BDD, TDD কি এবং কেন
- রিপোর্টিং কিভাবে কাজে লাগে
- গিটহাব একশন কি, কেন, কিভাবে
- প্রতিবার গিটহাবে কোড পুশ করলেই যেন টেস্ট রান করে তার ব্যবস্থা করা
প্রশ্নোত্তর
এই কোর্স করার জন্য কি কি জানা থাকা লাগবে?
- HTML এবং CSS নিয়ে স্বচ্ছ ধারণা থাকতে হবে। সিলেক্টর কি জিনিস কিংবা কিভাবে কাজ করে তা নিয়ে কনফিউশন থাকলে চলবে না।
- কোর্স টি করার জন্য আপনাকে অবশ্যই জাভাস্ক্রিপ্ট (বিশেষ করে async await) জানতে হবে।
- রেগুলার এক্সপ্রেশন জানা থাকলে উপকার হবে, তবে না পারলেও সমস্যা নেই।
কোর্স কি ভিডিও রেকর্ড করা নাকি লাইভ?
- কোর্সটি প্রাথমিক অবস্থায় সরাসরি ক্লাস হবে, তবে প্রতিটি ক্লাস রেকর্ড কিংবা স্ট্রিম করার ব্যবস্থা থাকবে।
- সাধারণত সপ্তাহে পরপর দুইদিন সন্ধ্যা বা রাতে অনলাইনে ক্লাসের আয়োজন করা হবে।
- ক্লাসে উপস্থিত থাকা ও এসাইনমেন্ট করার ব্যাপারে খুবই কঠোরতা মানা হবে। সব রেকর্ডেড আছে বলে ক্লাসে অংশ না নিলে কিংবা এসাইনমেন্ট ঠিকমত না করতে পারলে পরবর্তী মডিউলে অংশ নিতে দেয়া হবে না।
- তিনটি মডিউল হাতে কলমে করতে গেলেও প্রায় ৩০ ঘন্টার বেশি সময় দেয়া লাগবে। প্রশ্নোত্তর পর্ব সহ বাকি পর্বের জন্য কিছু সময় হাতে রাখতে হবে। আর প্রতিটা অংশ প্রাকটিস + এসাইনমেন্ট করে করতে গেলে আপনাকে অন্তত আরো ৫০ ঘন্টার মত সময় দেয়া লাগবে।
কোর্সটা কত টাকা লাগবে?
- প্রতিটা মডিউল ৫ হাজার করে তিনটা মডিউল ১৫ হাজার টাকা।
- শুধু মডিউল ১ কিংবা মডিউল ২ আলাদা করে নিতে ৬ হাজার টাকা পড়বে। সেক্ষেত্রে আপনাকে অন্যান্য মডিউল হতেও কিছু কিছু প্রয়োজনীয় ক্লাসে অংশ নিতে দেয়া হবে।
- মডিউল ৩ আলাদা নেবার কোন অপশন নেই। মডিউল ৩ ও অতিরিক্ত সবকিছুর জন্য পুরো ১৫ হাজার পরিশোধ করতে হবে।
- আগের কোন ওয়ার্কশপ, এসাইনমেন্ট, প্রজেক্ট অংশ নিয়ে থাকলে, ৩৪% ছাড়ে মোট ফি হবে দশ হাজার টাকা, যা দুইটি ইন্সটলমেন্টে মডিউল এক ও দুইয়ের আগে পরিশোধ করতে পারবেন, সেক্ষেত্রে মডিউল তিনের জন্য কোন ফি লাগবে না।
- প্রতিটি মডিউল শুরুর আগে ফি পরিশোধ করতে হবে।
- আপাতত স্কলারশীপের অপশন বন্ধ করা হয়েছে। স্কলারশীপের জন্য যথেষ্ট আবেদন পেয়েছি এবং এ নিয়ে পরবর্তীতে আরো কাজ করা হবে।
পেমেন্টের লাস্ট ডেড কখন? ক্লাস কখন হবে?
- রেজিস্ট্রেশন ও পেমেন্টের সর্বশেষ সময় আগস্টের ২৬ তারিখ।
- ক্লাসটি আনুমানিক ২৮ শে আগস্ট শুক্রুবার হতে শুরু হবে।
কোর্সটি করার পর কি ফ্রিল্যান্সিং বা জবের জন্য কোন সাপোর্ট পাবো?
- আমরা কোর্সটিতে আপাতত মার্কেটপ্লেস কিংবা সার্টিফিকেট নিয়ে সরাসরি কোন কিছু করবো না, তবে আপনার এই বিশাল স্কিল ব্যবহার করে আপনি যেকোন মার্কেটপ্লেস ও কর্মক্ষেত্রে কাজে লাগাতে পারবেন। এখানকার যেকোন একটা মডিউল সঠিকভাবে কাজে লাগাতে পারলেও আপনি বাকিদের তুলনায় অনেক এগিয়ে যেতে পারবেন।