സാങ്കേതികവിദ്യകൾ പുനർനിർമ്മിച്ചുകൊണ്ട് പ്രോഗ്രാമിംഗിൽ വൈദഗ്ധ്യം നേടുക
നിങ്ങൾ ദിവസവും ഫ്രെയിംവർക്കുകളും (frameworks) ലൈബ്രറികളും ഉപയോഗിക്കുന്നുണ്ടാകാം. അവയുടെ APIs എങ്ങനെ ഉപയോഗിക്കണമെന്ന് നിങ്ങൾക്കറിയാം. എന്നാൽ അവ ഉള്ളിൽ എങ്ങനെയാണ് പ്രവർത്തിക്കുന്നതെന്ന് നിങ്ങൾക്കറിയില്ലായിരിക്കാം.
'Build Your Own X' എന്ന തത്വം ഇത് മാറ്റുന്നു. സോഫ്റ്റ്വെയർ ഡെവലപ്മെന്റ് കൂടുതൽ ആഴത്തിൽ മനസ്സിലാക്കാൻ അടിസ്ഥാനപരമായ ടൂളുകൾ നിങ്ങൾ സ്വയം നിർമ്മിച്ചെടുക്കുന്നു.
ആധുനിക ടൂളുകൾ സങ്കീർണ്ണതകൾ മറച്ചുവെക്കുന്നു. എന്നാൽ ഈ രീതി ആ പാളികളെ നീക്കം ചെയ്യുന്നു. എഞ്ചിനീയർമാർ ദിവസവും നേരിടുന്ന യഥാർത്ഥ പ്രശ്നങ്ങളെ നിങ്ങൾക്ക് നേരിടാൻ ഇത് സഹായിക്കുന്നു.
നിങ്ങൾ ഇത് എന്തിന് ചെയ്യണം:
• ആഴത്തിലുള്ള അറിവ്: ടൂളുകൾ എന്തിനാണ് നിലനിൽക്കുന്നതെന്നും അവ ഉപയോഗിക്കുമ്പോൾ ഉണ്ടാകുന്ന ഗുണദോഷങ്ങളെക്കുറിച്ചും (trade-offs) നിങ്ങൾ പഠിക്കുന്നു. • പ്രശ്നപരിഹാര ശേഷി: നിങ്ങളുടെ ആർക്കിടെക്ചറൽ ചിന്താഗതി വളർത്തുന്ന ഡിസൈൻ വെല്ലുവിളികൾ നിങ്ങൾ നേരിടുന്നു. • മികച്ച ഡീബഗ്ഗിംഗ് (Debugging): കോഡ് പരാജയപ്പെടുമ്പോൾ എവിടെയാണ് പരിശോധിക്കേണ്ടതെന്ന് നിങ്ങൾക്ക് കൃത്യമായി അറിയാം, കാരണം അതിന്റെ ആന്തരിക പ്രവർത്തനങ്ങൾ നിങ്ങൾക്ക് അറിയാം. • കരിയർ വളർച്ച: ഒരു ടൂളിന് പിന്നിലെ 'എങ്ങനെ', 'എന്തുകൊണ്ട്' എന്നിവ വിശദീകരിക്കാൻ കഴിയുന്ന ഉദ്യോഗാർത്ഥികളെ ഇന്റർവ്യൂവർമാർ വിലമതിക്കുന്നു.
ചെറിയ കാര്യങ്ങളിൽ നിന്ന് തുടങ്ങുക. നിങ്ങൾ ഇടയ്ക്കിടെ ഉപയോഗിക്കുന്ന എന്തെങ്കിലും തിരഞ്ഞെടുക്കുക.
നിങ്ങളുടെ ആദ്യ പ്രോജക്റ്റിനായുള്ള ചില ആശയങ്ങൾ:
- HTTP റിക്വസ്റ്റുകൾ കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഒരു ലളിതമായ വെബ് സെർവർ.
- നീളമുള്ള ലിങ്കുകളെ ചെറിയ കോഡുകളാക്കി മാറ്റുന്ന ഒരു URL ഷോർട്ട്നർ.
- മെമ്മറിയിൽ ഡാറ്റ സേവ് ചെയ്യുന്നതിനുള്ള ഒരു കീ-വാല്യൂ സ്റ്റോർ (key-value store).
- ഒരു കമാൻഡ്-ലൈൻ ആർഗ്യുമെന്റ് പാർസർ (command-line argument parser).
- റൂട്ടിംഗിനും വ്യൂസിനും (views) വേണ്ടിയുള്ള ഒരു ചെറിയ MVC ഫ്രെയിംവർക്ക്.
ഒരു പ്രൊഡക്ഷൻ ടൂൾ നിർമ്മിക്കാൻ ശ്രമിക്കരുത്. സുരക്ഷയെക്കുറിച്ചോ വേഗതയെക്കുറിച്ചോ ഇപ്പോൾ ആശങ്കപ്പെടേണ്ടതില്ല. അതിന്റെ അടിസ്ഥാന ലോജിക്കിൽ (core logic) മാത്രം ശ്രദ്ധ കേന്ദ്രീകരിക്കുക.
ഈ ഘട്ടങ്ങൾ പിന്തുടരുക:
- യഥാർത്ഥ ടൂളിനെക്കുറിച്ച് ഗവേഷണം നടത്തുക. ഡിസൈൻ ഡോക്യുമെന്റുകൾ വായിക്കുകയും ഓപ്പൺ സോഴ്സ് കോഡുകൾ പരിശോധിക്കുകയും ചെയ്യുക.
- പ്രധാന ഭാഗങ്ങൾ തിരിച്ചറിയുക. ഒരു വെബ് സെർവർക്ക് സോക്കറ്റുകൾ (sockets), ഒരു പാർസർ, പ്രതികരണങ്ങൾ അയക്കാനുള്ള ഒരു മാർഗ്ഗം എന്നിവ ആവശ്യമാണ്.
- കുറഞ്ഞ ഫീച്ചറുകൾ മാത്രം നിശ്ചയിക്കുക. നിങ്ങൾ ഒരു URL ഷോർട്ട്നർ ആണ് നിർമ്മിക്കുന്നതെങ്കിൽ, മാപ്പിംഗിലും റീഡയറക്റ്റിംഗിലും മാത്രം ശ്രദ്ധ കേന്ദ്രീകരിക്കുക. യൂസർ അക്കൗണ്ടുകളും അനലിറ്റിക്സും ഇപ്പോൾ ഒഴിവാക്കാം.
നിങ്ങൾക്ക് അറിയാവുന്ന അല്ലെങ്കിൽ പഠിക്കാൻ ആഗ്രഹമുള്ള ഒരു ഭാഷ തിരഞ്ഞെടുക്കുക. ലക്ഷ്യം ലോജിക് ആണ്, സിന്റാക്സ് (syntax) അല്ല.