প্রোগ্ৰামিং কি? কিভাবে এটা করা হয়? কি করলে প্রোগ্ৰামার হওয়া যায়?
প্রোগ্ৰামিং
যখন আমি জীবনের প্রথম প্রোগ্রামিং ল্যাঙ্গুয়েজ
শিখি । আমিও একটা প্রশ্নে আটকে যেতাম , হ্যাকিং টুল বানাবো কিভাবে এখন ?
আমার মনে হয় আপনিও এই প্রশ্নের সম্মুখীন হয়েছেন অথবা রয়েছেন তাহলেই আপনার জন্যই লেখা ।
প্রোগ্রামিং মানেই নিজের চিন্তা ভাবনাকে অটোমেশন করা । বুঝলেন না ? ০.১ প্রোগ্রামিং পড়ে আসুন ।
আমি যখন কোডিং শিখি , আমি সব কিছুই শিখি নাই । যেমন আপনাদের মত আনিসুল ইসলাম , কোড উইথ হ্যারি , ঝংকার মাহবুব এইসব জায়গা থেকে শিখি নাই । আমি যেখান থেকে শিখেছি আপনি ফলো করলে সারাজীবনেও পারবেন না । কারণ তার শিখানোর ওয়ে ভিন্ন ছিল অনেক । আমি আপনাদের মত OOP ( Object Orianted Programming ) , Class , Attribute , List , Tuple এমনকি ফাংশন পর্যন্ত শিখি নাই । আমি শুধু শিখেছিলাম ডাটা টাইপ , if else , input , while loop ইত্যাদি । এইসবের বাইরে কিছুই শিখি নাই । এই কয়েকটা জিনিস শিখে আমি চিন্তায় নিহত এখন কিভাবে টুল বানাবো ?
টানা ২ দিন চিন্তা করলাম । অতঃপর আমার নজরে পড়লো একটি GitHub এর কোড ।
কোডিংয়ের মধ্যে আমি যা শিখেছিলাম তা দিয়ে একটি সিম্পল প্রোগ্রাম বানানো হয়েছিল । আমি কোড পড়লাম একেবারে সম্পূর্ণ কোড বুঝলাম । আবার আরেকজনের GitHub অ্যাকাউন্টে কোড পড়লাম , এইভাবে ৩-৪ টা কোড পড়লাম বুঝতে পারলাম তাদের কোড ।
তখন আইডিয়া আসলো তাদের কোড গুলোকে এডিট বা মোডিফাই করবো আর নিজের নাম বসাবো । যেই কথা সেই কাজ । করেও ফেললাম , এইধরনের কাজ । একটি কোড ডাউনলোড করে সম্পূর্ণ এডিট করে যতো প্রিন্ট আছে সব বদলে আমার নাম করলাম । এবং রান করলাম । ভালই কাজ করলো । তার পর আমি এডিট করতে করতে ভাবলাম এইখানে যদি আমি নিজের অন্য কোনো প্রোগ্রাম বসাতে চাই কিভাবে করবো ?
এডিট করে কিছুক্ষন মাথা লাগিয়ে বানিয়ে ফেললাম । এইভাবে ২১ টা প্রোগ্রাম এডিট করে বানালাম । এবং আমি পরবর্তীতে বিভন্ন কোডের মধ্যে থাকা লাইন কপি করে আরেক ফাইলে সেভ করে নতুন কিছু করার চেষ্টা করতাম । এবং আরেকটি কাজ সবসময় করতাম ,
ধরুন আমি কোড কপি করলাম ৬০ লাইন আমি একটি একটি করে লাইন কেটে দিতাম আর লক্ষ্য করতাম কোন লাইন না থাকলে এরর আসে যেই লাইন কেটে দিলে এরর আসে সেইটা রেখে দিতাম । এইভাবে আমার ৬০ লাইনের কোড থেকে কখনো ১৫ লাইনে কোড চলে আসতো ।
একদিন cupp ( password generator programm ) প্রোগ্রামের কোডিং দেখছিলাম , হটাৎ চিন্তা আসলো আমিও তো এইরকম বানাতে পড়ি । কিন্তু কিভাবে ? ব্রেইনের মধ্যে প্রোগ্রামার ব্লু প্রিন্ট বানালাম । যেমন এইটা বানাতে হলে আগে আমার ইউজার থেকে ইনপুট নিতে হবে ভিক্টিমের বিভন্ন ইনফরমেশন নিতে হবে তাহলে ইনপুট ব্যাবহার করতে হবে । তার পর আমার ইনপুট গুলোর সাথে নম্বর যোগ করতে হবে , এবং একটি তথ্যের সাথে আরেকটি তথ্য যোগ করতে হবে । তাহলে আমার ইউজারের ডাটা গুলোকে একটি ভ্যারিয়েবলের মধ্যে রাখতে হবে । এবং সবার শেষে একটি পাসওয়ার্ডের ফাইল ফেরত দেবে আমাকে , এই কাজের জন্য একটি ফাইল হ্যান্ডলিং করতে হবে । মাথায় ব্লু প্রিন্ট বানিয়ে নেমে গেলাম কাজে । সত্যি বলতে আমার কাজটি একদিনের মধ্যেই শেষ হয়ে গেলো । যদি আমি ব্লু প্রিন্ট না বানাতাম আমার একটি কাজ করতে ২-৩ দিন লাগতো ।
আইডিয়া করুন , আইডিয়াকে রূপ দেয়ার চেষ্টা করুন । সেই প্রোগ্রাম শেষ হওয়ার পর আমি চেষ্টা করলাম এইবার এমন ভাবে বানাবো যাতে এতো তথ্য নেবে না শুধু ফেসবুক বা অন্য কোনো আইডির লিংক নেবে আর অটোমেটিক তথ্য সংগ্রহ করবে আর পাসওয়ার্ড লিস্ট বানাবে । এই কাজের ক্ষেত্রেও আমি ব্লু প্রিন্ট বানালাম যদি বিভন্ন জায়গা থেকে ইনফরমেশন বের করে তাহলে একটি ব্রাউজার বানাতে হবে । ব্রাউজার কিভাবে বানানো হয় পাইথনের মধ্যে stackoverflow তে প্রশ্ন করলাম একজন উত্তর দিলো mechanize লাইব্রেরী দিয়ে । Mechanize নাম শুনে অনেক অবাক হয়ে গেলাম । কারণ আগে আমি ফেসবুক আইডি ক্রাকিং টুল ব্যাবহার করতাম সেটা ব্যাবহার করতে হলে mechanize ইনস্টল করতে হতো । Mechanize লাইব্রেরী ব্যবহারবিধি শিখলাম geeksforgeeks সাইট থেকে । শেখার পর ব্লু প্রিন্টে ফেরত । যেহুতু mechanize দিয়ে একটি ব্রাউজার বানানো হয় তাহলে আমি ওয়েবসাইটের মধ্যে থাকা HTML , CSS , js কোড পাবো তাহলে আমি কীভাবে সেই সোর্স কোড থেকে ডাটা বের করবো ।
এই প্রশ্নের উত্তরে গুগল জানালো Beautiful Soup 4 নামে একটি লাইব্রেরী আছে সেটা ব্যবহার করতে পারবো । একটি জিনিস লক্ষ করেছেন এরই মধ্যে আমি লাইব্রেরী বিষয়টা সাথে ফাংশন বিষয় গুলো শিখে গেলাম । Beautiful Soup 4 ব্যবহারবিধি শিখলাম । প্রথমে mechanize ব্যাবহার করে ব্রাউজার বানালাম এবং একটি ইনপুট ব্যাবহার করে ইউজার থেকে ডাটা হিসেবে ভিক্টিমের লিংক নিলাম এবং লিংকটি ব্রাউজারে ওপেন করানোর জন্য প্রোগ্রাম লিখলাম আর beautiful Soup 4 দিয়ে লিংক থেকে ডাটা এক্সট্র্যাক্ট করে ডাটা গুলোর সাথে 123 , 1234 যোগ করে একটি ফাইলের মধ্যে সেভ করে দিলাম । আর হয়ে গেলো আমার প্রোগ্রাম আধ ঘণ্টার মধ্যেই ।
এই ছিল আমার ব্লু প্রিন্ট ইতিহাস । আমার জীবনের প্রথম প্রোগ্রাম ছিল । আর তাও এই প্রোগ্রাম বানাতে বানাতে আমি list , Tuple , peramitar , argument , function , loop , for loop , while loop , class , attribute শিখে গেলাম তাও কোনো বড় ভাই , ইউটিউব থেকে সাহায্য না নিয়েই ।
আমি বলছি না আপনি না শিখে করুন । কিন্তু আমার বলা কথার মধ্যে আপনার প্রশ্নের উত্তর আছে ।
প্রথমে আপনি আইডিয়া বানান কি প্রোগ্রাম বানাবেন । ধরলাম আমি একটি প্রোগ্রাম বানাবো যা , আমার ফেসবুকের সমস্ত ফ্রেন্ডের আইডির লিংক বের করে আমাকে শো করবে বা একটি ফাইলে সেভ করে দেবে ।
আইডিয়া বানানোর পর ব্লু প্রিন্ট বানান কিভাবে আপনার প্রোগ্রাম কাজ করবে , কি কি লাগবে বানাতে । কীভাবে আপনার একটি ফাইলের মধ্যে ডাটা এনে দেবে । প্রশ্ন করুন নিজেকে । তাহলেই আপনিও বানাতে পারবেন । একজন প্রোগ্রামার হওয়ার আগে একজন ক্রিয়েটিভ মানুষ হন । যারাই ক্রিয়েটিভ তারাই আর্ট শিখতে পারে । আর প্রোগ্রামিং আর্ট থেকে কম না । আপনি শুধু প্রোগ্রামিং না , আপনি গানের লাইন লিখতে গেলেও আগে চিন্তা করুন এই লাইনের অর্থ কি হবে এইটা বসালে কেমন হবে শুনতে । এরর কে ভয় পাবেন না । আমি যখন কোডিং করি আমি একটাই আশা রাখি আমার কোডের মধ্যে আমি জেনো ১০০০ এরর পাই । কারণ আমি এরর পেলে সেই গুলো ঠিক করার ক্ষেত্রে অনেক কিছু শিখতে পারবো । আপনি একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখলে , বাকি গুলো শেখা বা বোঝা কোনো ব্যাপার না । আমি জীবনে python শিখেছি php , js , bash , c , java পাইথনের মতোই GitHub থেকে কোড পড়েছি বাকিগুলোও শিখে গিয়েছি ।
কোডিং মজার একটি জিনিস আপনি যত ক্রিয়েটিভ ততোভালো কোড বানাতে পারবেন । আপনাকে যে কোনো প্রোগ্রাম দেয়া হক আগে চিন্তা করুন কীভাবে কাজ করবে । কি কি লাগবে এইরকম প্রোগ্রাম বানাতে হলে । আপনার নিজেকে করা প্রশ্ন আপনাকে সাহায্য করবে । একটা কোডের আসল পরিচয় কোডের মধ্যে থাকা রংবেরংয়ের ডিজাইন থেকে নয় , আপনার কোড পড়তে অন্য প্রোগ্রামারের ভালো এবং বুঝতে সুবিধা হবে সেটাই একজন আসল প্রোগ্রামারের সার্থকতা ।
• কোড মোডিফাই করতে থাকুন যতোদিননা আপনি নিজের প্রোগ্রাম বনানোর আইডিয়া পাচ্ছেন ।
• • সব সময় চেষ্টা করবেন এমন প্রোগ্রাম বানানোর যা আসল জীবনের কোনো জিনিসের উদ্দেশ্যে বানানো হয় । যেমন একটি কভিড ট্র্যাকার বর্তমান জীবনে কাজের একটি প্রোগ্রাম , একটি ব্যাবসায় হিসাব নিকাশের জন্য প্রোগ্রাম বানাতে পারেন । এই জিনিসকেই বলা হয় OOP ।
• এরর তৈরি করুন । যতো এরর ততো আপনার প্রোগ্রাম ভালো হবে ।
• • ব্লু প্রিন্ট ছাড়া কাজ করবেন না ।
• চেষ্টা করবেন গুগল , ইউটিউব থেকে প্রবলেম এর সলিউশন খোঁজার । অন্য কারো সহোগিতা নেবেন না ।
• • এবং প্রবলেম হলে মাথায় ততো জোর না দিয়ে সলিউশন খোঁজার দিকে সময় দিন । অনেক লাভজনক হবে আপনার জন্য ।
• কোডিং করার সময় মিউজিক প্লে করে কাজ করুন । এমন না যে মানতেই হবে , আমি করি এইরকম , সং প্লে করে কোডিং করলে অন্য চিন্তা মাথায় আসে না । আপনি মিউজিকের জায়গার ধার্মিক সঙ্গীত গুলো শুনতে পারেন । যা আপনাকে প্রশান্তি দেয় সেটাই শুনুন । কারণ কোডিং করতে করতে মাঝে মাঝে কান্না আসতে পারে আপনার । বা পাগলের মত হাসতে হাসতে আধা মরা হয়ে যেতে পারেন ।
ব্লু প্রিন্ট বানান কাজের আগেই কাজ ৭০% সহজ হয়ে যাবে । আপনার আমার কথায় ডাউট থাকলে এমন কোনো প্রোগ্রামার কে জিজ্ঞেস করুন যিনি আগে প্রোগ্রাম বানিয়েছেন তিনি আপনাকে এই কথাই বলবে , ব্লু প্রিন্ট বানানোর ।
ভালো লাগলে ঘুরে আসতে পারেন ফেসবুক পেজ থেকে
No comments
Post a Comment