প্রযুক্তি পুনর্নির্মাণের মাধ্যমে প্রোগ্রামিংয়ে দক্ষতা অর্জন করুন
আপনি প্রতিদিন framework এবং library ব্যবহার করেন। আপনি জানেন কীভাবে তাদের API ব্যবহার করতে হয়। কিন্তু আপনি জানেন না যে সেগুলো ভেতর থেকে কীভাবে কাজ করে।
'Build Your Own X' দর্শনটি এই ধারণা বদলে দেয়। সফটওয়্যার ডেভেলপমেন্ট বোঝার জন্য আপনি একদম শুরু থেকে মৌলিক টুলগুলো পুনরায় তৈরি করেন।
আধুনিক টুলগুলো জটিলতা লুকিয়ে রাখে। এই পদ্ধতিটি সেই স্তরগুলো সরিয়ে দেয়। আপনি সেই প্রকৃত সমস্যাগুলোর মুখোমুখি হন যা ইঞ্জিনিয়াররা প্রতিদিন সমাধান করেন।
কেন আপনার এটি করা উচিত:
• গভীর উপলব্ধি: আপনি শিখতে পারেন কেন টুলগুলো প্রয়োজন এবং সেগুলো ব্যবহারের সুবিধা ও অসুবিধা (trade-offs) কী। • সমস্যা সমাধান: আপনি ডিজাইনের চ্যালেঞ্জগুলোর মুখোমুখি হন যা আপনার আর্কিটেকচারাল চিন্তাভাবনা গড়ে তোলে। • উন্নত ডিবাগিং: কোড কাজ না করলে আপনি জানেন কোথায় খুঁজতে হবে, কারণ আপনি এর অভ্যন্তরীণ কার্যপদ্ধতি জানেন। • ক্যারিয়ারের উন্নতি: ইন্টারভিউয়াররা সেই প্রার্থীদের বেশি গুরুত্ব দেন যারা কোনো টুলের পেছনের 'কীভাবে' এবং 'কেন' ব্যাখ্যা করতে পারেন।
ছোট থেকে শুরু করুন। এমন কিছু বেছে নিন যা আপনি প্রায়ই ব্যবহার করেন।
আপনার প্রথম প্রজেক্টের জন্য কিছু আইডিয়া:
- HTTP রিকোয়েস্ট হ্যান্ডেল করার জন্য একটি সাধারণ ওয়েব সার্ভার।
- বড় লিঙ্কগুলোকে ছোট কোডে রূপান্তর করার জন্য একটি URL shortener।
- মেমোরিতে ডেটা সেভ করার জন্য একটি key-value store।
- একটি command-line argument parser।
- রাউটিং এবং ভিউ-এর জন্য একটি ছোট MVC framework।
কোনো প্রোডাকশন টুল তৈরির চেষ্টা করবেন না। নিরাপত্তা বা গতি নিয়ে এখনই চিন্তা করার প্রয়োজন নেই। মূল লজিকের ওপর মনোযোগ দিন।
এই ধাপগুলো অনুসরণ করুন:
- আসল টুলটি নিয়ে গবেষণা করুন। ডিজাইন ডকুমেন্ট পড়ুন এবং ওপেন-সোর্স কোড দেখুন।
- মূল অংশগুলো চিহ্নিত করুন। একটি ওয়েব সার্ভারের জন্য sockets, একটি parser এবং রেসপন্স পাঠানোর উপায় প্রয়োজন।
- ন্যূনতম ফিচার সেট নির্ধারণ করুন। আপনি যদি একটি URL shortener তৈরি করেন, তবে ম্যাপিং এবং রিডাইরেকশনের ওপর মনোযোগ দিন। আপাতত ইউজার অ্যাকাউন্ট এবং অ্যানালিটিক্স বাদ দিন।
এমন একটি ভাষা বেছে নিন যা আপনি জানেন বা শিখতে চান। লক্ষ্য হলো লজিক বোঝা, সিনট্যাক্স নয়।