MERN Stack പഠിച്ചുകൊണ്ടുള്ള 49-ാം ദിവസം
ഒരു ഫുൾ-സ്റ്റാക്ക് എഞ്ചിനീയർ ആകാനുള്ള എന്റെ യാത്രയുടെ 49-ാം ദിവസമാണിന്ന്.
ഇന്നലെ ഞാൻ JavaScript ക്ലാസുകളെക്കുറിച്ചും async ഫയൽ ഡാറ്റയെക്കുറിച്ചും പഠിച്ചു. ഇന്ന് ഞാൻ backend routing-ൽ ശ്രദ്ധ കേന്ദ്രീകരിച്ചു. Dynamic routing-ഉം variable path parameters-ഉം ഞാൻ പഠിച്ചു.
വലിയ പ്ലാറ്റ്ഫോമുകൾ നിർമ്മിക്കുമ്പോൾ static paths ഉപയോഗിക്കുന്നത് പ്രായോഗികമല്ല. ഒരു ഡാറ്റാബേസിലെ ഓരോ ഉൽപ്പന്നത്തിനോ റെന്റൽ ലിസ്റ്റിംഗിനോ വേണ്ടി പ്രത്യേകം റൂട്ടുകൾ നിർമ്മിക്കുന്നത് അസാധ്യമാണ്. ഇത് സ്കെയിൽ ചെയ്യാൻ (scale) പ്രയാസമുണ്ടാക്കും.
ഇന്ന് ഞാൻ ഫ്ലെക്സിബിൾ എൻഡ്പോയിന്റുകൾ (flexible endpoints) നിർമ്മിച്ചു. URL-ലെ ഡാറ്റയ്ക്ക് അനുസരിച്ച് ഈ എൻഡ്പോയിന്റുകൾ മാറിക്കൊണ്ടിരിക്കും.
Pattern-matching routes ഉപയോഗിക്കുന്നത് സെർവർ പ്രോസസ്സിംഗ് കൂടുതൽ വേഗതയുള്ളതും വൃത്തിയുള്ളതുമാക്കുന്നു.
Express-ൽ ഇത് എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്ന് നോക്കാം:
- ഒരു പാത്ത് ഫ്രാഗ്മെന്റിന് (path fragment) മുമ്പ് ഒരു കോളൻ (:) നൽകുക.
- ഈ ബ്ലോക്ക് ഒരു വേരിയബിൾ ആണെന്നും ഒരു literal string അല്ലെന്നും ഇത് എൻജിനെ അറിയിക്കുന്നു.
- നിങ്ങളുടെ കോഡിൽ ഈ ഡാറ്റ ആക്സസ് ചെയ്യാൻ
req.paramsഉപയോഗിക്കുക.
എന്റെ storeRouter.js ഫയലിൽ ഞാൻ ഈ പാറ്റേൺ ഉപയോഗിച്ചു:
storeRouter.get('/home/:homeId', storeController.getHomeDetails);
:homeId ഒരു wildcard ആയി പ്രവർത്തിക്കുന്നു. ഇത് ഒരു റൂട്ട് ഉപയോഗിച്ച് ആയിരക്കണക്കിന് വ്യത്യസ്ത home IDs കൈകാര്യം ചെയ്യാൻ സഹായിക്കുന്നു.
Source: https://dev.to/ali_hamza_589ec7b3eb6688d/day-49-of-learning-mern-stack-2ape