𝗠𝗮𝘀𝘁𝗲𝗿 𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗶𝗻𝗴 𝗯𝘆 𝗥𝗲𝗰𝗿𝗲𝗮𝘁𝗶𝗻𝗴 𝗧𝗲𝗰𝗵𝗻𝗼𝗹𝗼𝗴𝗶𝗲𝘀
கருவிகள் எவ்வாறு செயல்படுகின்றன என்று தெரியாமலேயே நீங்கள் அவற்றை ஒவ்வொரு நாளும் பயன்படுத்துகிறீர்கள். Frameworks மற்றும் libraries ஆகியவை நீங்கள் வேகமாக வேலை செய்வதற்கு உதவும் வகையில் அதன் சிக்கல்களை மறைத்து வைக்கின்றன. இது உங்கள் அறிவில் இடைவெளிகளை உருவாக்குகிறது.
'build-your-own-x' முறை இதைச் சரிசெய்கிறது. நீங்கள் பயன்படுத்தும் ஒரு கருவியின் எளிமைப்படுத்தப்பட்ட பதிப்பை ஆரம்பத்திலிருந்து (from scratch) நீங்களே உருவாக்குகிறீர்கள். நீங்கள் தொழில்நுட்பத்தைப் பயன்படுத்துவதை நிறுத்திவிட்டு, அதை வடிவமைக்க (architecting) தொடங்குகிறீர்கள்.
இது ஏன் வேலை செய்கிறது:
இது மர்மங்களை நீக்குகிறது. கருவிகளை நீங்கள் மந்திரமாகப் பார்ப்பதை நிறுத்துவீர்கள். ஒரு web server எவ்வாறு ஒரு கோரிக்கையை (request) வழிநடத்துகிறது அல்லது Git எவ்வாறு தரவைச் சேமிக்கிறது என்பதை நீங்கள் கற்றுக்கொள்வீர்கள்.
இது அடிப்படைகளைக் கற்பிக்கிறது. ஒரு server-ஐ உருவாக்குவது உங்களை sockets மற்றும் HTTP பற்றி கற்கத் தூண்டுகிறது. ஒரு hash map-ஐ உருவாக்குவது collision resolution பற்றி உங்களுக்குக் கற்பிக்கிறது. இவை மென்பொருளின் கட்டுமானக் கூறுகள் (building blocks) ஆகும்.
இது சிக்கலைத் தீர்க்கும் திறனை மேம்படுத்துகிறது. நீங்கள் ஒரு விஷயத்தை ஆரம்பத்திலிருந்து உருவாக்கும்போது, இணையத்திலிருந்து ஒரு தீர்வை அப்படியே நகலெடுக்க முடியாது. நீங்கள் சிக்கல்களைப் பகுப்பாய்வு செய்து உங்களுக்கான பதில்களைக் கண்டறிய வேண்டும்.
இது தன்னம்பிக்கையை வளர்க்கிறது. ஒரு சிக்கலான அமைப்பை உருவாக்குவது, பெரிய திட்டங்களைக் கையாளுவதற்கான திறனை உங்களுக்கு வழங்குகிறது.
இது கோட்பாடுகளைப் பயன்படுத்துகிறது. networking மற்றும் algorithms பற்றிய வகுப்பறைப் பாடங்களை நீங்கள் நடைமுறைத் திறன்களாக மாற்றுகிறீர்கள்.
நீங்கள் சிறிய அளவில் தொடங்கலாம். ஒரு database அல்லது command-line tool போன்ற ஒரு கருவியைத் தேர்ந்தெடுத்து, அதன் அடிப்படைச் செயல்பாடுகளை மீண்டும் உருவாக்க முயற்சி செய்யுங்கள்.