ഹോം പേജ്
/
ലേഖനങ്ങൾ
/
ജാവാസ്ക്രിപ്റ്റിലെ അൽഗോരിതം കാര്യക്ഷമത എങ്ങനെ മനസ്സിലാക്കാം, ഒപ്റ്റിമൈസ് ചെയ്യാം

ജാവാസ്ക്രിപ്റ്റിലെ അൽഗോരിതം കാര്യക്ഷമത എങ്ങനെ മനസ്സിലാക്കാം, ഒപ്റ്റിമൈസ് ചെയ്യാം

Arjun

Arjun പ്രസിദ്ധീകരിച്ചത്

2026 ജൂലൈ 4 ന് പ്രസിദ്ധീകരിച്ചു

പ്രൊഫൈലിംഗ്, ഡാറ്റ വലുപ്പം, ബ്രൗസർ പ്രവർത്തനം, പ്രകടനത്തെ നിശബ്ദമായി തകർക്കുന്ന ചെറിയ തെറ്റുകൾ എന്നിവയെക്കുറിച്ചുള്ള പാഠങ്ങൾ ഉൾക്കൊള്ളുന്ന, മന്ദഗതിയിലുള്ള ജാവാസ്ക്രിപ്റ്റ് ട്രാക്ക് ചെയ്യുന്നതിനെക്കുറിച്ചുള്ള പ്രായോഗികവും യഥാർത്ഥവുമായ ഒരു കഥ.

ജാവാസ്ക്രിപ്റ്റ് ബിഗ് ഒ നൊട്ടേഷൻ അനലൈസർ

പൂർണ്ണ ആപ്പ് കാണുക

ജാവാസ്ക്രിപ്റ്റിലെ അൽഗോരിതം കാര്യക്ഷമത എങ്ങനെ മനസ്സിലാക്കാം, ഒപ്റ്റിമൈസ് ചെയ്യാം

എനിക്കറിയാവുന്ന ഒരു ഡെവലപ്പർ ഒരിക്കൽ ഒരു പെർഫോമൻസ് ബഗിനെ "മോശം മാനസികാവസ്ഥയുള്ള ആപ്പ്" എന്നാണ് വിശേഷിപ്പിച്ചത്. അത് ശരിയാണെന്ന് തോന്നി. സാങ്കേതികമായി പേജ് ലോഡ് ആയി. ബട്ടണുകൾ മിക്കവാറും പ്രവർത്തിച്ചു. എന്നാൽ ഉപഭോക്താവ് ഓർഡർ ഹിസ്റ്ററി സ്ക്രീൻ തുറക്കുമ്പോഴെല്ലാം മുഴുവൻ കാര്യവും സ്റ്റിക്കി ആയി. സ്ക്രോൾ ചെയ്യുക, കാത്തിരിക്കുക. ക്ലിക്ക് ചെയ്യുക, കാത്തിരിക്കുക. സെർച്ച് ബോക്സിൽ ടൈപ്പ് ചെയ്യുക, മെയിൽ വഴി അയയ്ക്കുന്നത് പോലെ കത്തുകൾ എത്തുന്നത് കാണുക.

ഇതും ഒരു ഭീമൻ എന്റർപ്രൈസ് ഭീമൻ ആയിരുന്നില്ല. ഒരു ചെറിയ ഓപ്പറേഷൻസ് ടീമിനുള്ള ഒരു സാധാരണ ജാവാസ്ക്രിപ്റ്റ് വെബ് ആപ്പ്. ഇടതുവശത്ത് ഓർഡറുകൾ, വലതുവശത്ത് വിശദാംശങ്ങൾ, മുകളിൽ ഉടനീളം ഫിൽട്ടറുകൾ. ലളിതമായി ആരംഭിച്ച് കുറച്ച് വർഷത്തിനുള്ളിൽ ബാർനക്കിളുകൾ വളർത്തുന്ന തരം. ഒരു ഡ്രോപ്പ്ഡൗൺ കൂടി. ഒരു ബാഡ്ജ് കൂടി. ഒരു “നമുക്ക് ഈ ഫീൽഡും കാണിക്കാമോ?” പിന്നെ ഒരു ചൊവ്വാഴ്ച രാവിലെ, ഒരാൾ ചോദിക്കുന്നു, “എന്തുകൊണ്ടാണ് ഇപ്പോൾ ഇത് ഇത്ര മന്ദഗതിയിലായത്?”

ആദ്യത്തെ ഊഹം നെറ്റ്‌വർക്ക് ആയിരുന്നു. എപ്പോഴും അങ്ങനെയാണ്. API സ്ലോ ആയിരിക്കണം, അല്ലേ? പക്ഷേ API പ്രതികരണം ഏകദേശം 280 മില്ലിസെക്കൻഡിനുള്ളിൽ തിരിച്ചെത്തി. അതിശയകരമല്ല, ഭയങ്കരവുമല്ല. ഡാറ്റ വന്നതിനുശേഷവും പേജ് നാലോ അഞ്ചോ സെക്കൻഡ് നേരത്തേക്ക് മരവിച്ചു. ആ വിടവ്, ബ്രൗസർ ചവയ്ക്കുന്ന നിശബ്ദമായ ഒന്ന്, ആയിരുന്നു യഥാർത്ഥ സൂചന.

വേഗത കുറഞ്ഞ ഭാഗം അല്ലായിരുന്നു എല്ലാവരും കുറ്റപ്പെടുത്തിയത്.

അവർ ബ്രൗസർ പെർഫോമൻസ് ടൂളുകൾ തുറന്ന് ഒരു സെഷൻ റെക്കോർഡ് ചെയ്തു. ഒന്നും ആഡംബരമില്ല. റെക്കോർഡ് ക്ലിക്ക് ചെയ്യുക, പേജ് റീലോഡ് ചെയ്യുക, അത് ദുരിതപൂർണമാകുമ്പോൾ നിർത്തുക. ഒരു ഭൂകമ്പത്തിന് ശേഷമുള്ള ഒരു നഗര സ്കൈലൈൻ പോലെ ഫ്ലെയിം ചാർട്ട് കാണപ്പെട്ടു. സ്ക്രിപ്റ്റിംഗ് സമയത്തിന്റെ വലിയ ഭാഗങ്ങൾ, ധാരാളം ലേഔട്ട് റീകണക്കുകൂട്ടൽ, കൂടാതെ സെർച്ച് ബോക്സ് മാറുമ്പോഴെല്ലാം സംശയാസ്പദമായ ജോലികൾ നടക്കുന്നു.

ആപ്പ് ഓർഡറുകളുടെ ഒരു ലിസ്റ്റ് എടുക്കുകയും ഉപഭോക്തൃ ഡാറ്റയിൽ ചേരുകയും തീയതികൾ ഫോർമാറ്റ് ചെയ്യുകയും ആകെത്തുക കണക്കാക്കുകയും ഡിസ്പ്ലേ ലേബലുകൾ സൃഷ്ടിക്കുകയും അടുക്കുകയും ഫിൽട്ടർ ചെയ്യുകയും തുടർന്ന് നൂറുകണക്കിന് വരികൾ റെൻഡർ ചെയ്യുകയും ചെയ്തു. ഒരു തവണയല്ല. വീണ്ടും വീണ്ടും. തിരയൽ ഇൻപുട്ടിലെ ഒരു കീസ്ട്രോക്ക് മുഴുവൻ പരേഡിനെയും വീണ്ടും ട്രിഗർ ചെയ്യും. അതിലും മികച്ചത്, ചില ഫോർമാറ്റിംഗ് ഫംഗ്ഷനുകൾ ഇതിനകം നിർമ്മിച്ച ഒബ്‌ജക്റ്റുകൾ പുനർനിർമ്മിക്കുന്നുണ്ടായിരുന്നു, കാരണം കോഡ് "ആ രീതിയിൽ കൂടുതൽ വൃത്തിയുള്ളതായിരുന്നു." തീർച്ചയായും വൃത്തിയുള്ളതാണ്. ക്ഷീണിപ്പിക്കുന്നതുമാണ്.

ഇവിടെയാണ് ജാവാസ്ക്രിപ്റ്റ് പ്രകടനം തന്ത്രപരമായി മാറുന്നത്. കറുത്ത തൊപ്പി ധരിച്ച ഒരു വില്ലൻ കോഡ് വരിയല്ല പലപ്പോഴും പ്രശ്നം. മുപ്പത് നിഷ്കളങ്കമായി തോന്നുന്ന വരികളാണ്, ഓരോന്നും ന്യായമായ ചെറിയ കാര്യങ്ങൾ ചെയ്യുന്നു, ആരും സങ്കൽപ്പിച്ചതിലും കൂടുതൽ തവണ ആവർത്തിക്കുന്നു.

യഥാർത്ഥ ഉപയോക്താക്കൾ യഥാർത്ഥ ഡാറ്റ കൊണ്ടുവരുന്നു, യഥാർത്ഥ ഡാറ്റ പരുഷമാണ്.

ഡെവലപ്പറുടെ ലാപ്‌ടോപ്പിൽ, ഓർഡർ ഹിസ്റ്ററി സ്‌ക്രീനിൽ 50 വ്യാജ റെക്കോർഡുകൾ ഉണ്ടായിരുന്നിരിക്കാം. എല്ലാം തൽക്ഷണം സംഭവിച്ചു. പ്രൊഡക്ഷനിൽ, ഒരു ഉപഭോക്താവിന് 18,000 ഹിസ്റ്റോറിക്കൽ ഓർഡറുകൾ ഉണ്ടായിരുന്നു. മറ്റൊരാൾക്ക് വിചിത്രമായ നീണ്ട ഉൽപ്പന്ന പേരുകൾ, കാണാതായ ഫീൽഡുകൾ, പഴയ റദ്ദാക്കിയ ഓർഡറുകൾ, പകുതി ഇമെയിൽ ത്രെഡിൽ ആരോ ഒട്ടിച്ചതുപോലെ തോന്നിക്കുന്ന ഉപഭോക്തൃ കുറിപ്പുകൾ എന്നിവ ഉണ്ടായിരുന്നു. ടെസ്റ്റ് ഡാറ്റ പ്രവർത്തിക്കുന്നു. പ്രൊഡക്ഷൻ ഡാറ്റ ലഘുഭക്ഷണങ്ങൾ കൊണ്ടുവന്ന് രാത്രി മുഴുവൻ തങ്ങുന്നു.

ആ വിടവ് ജാവാസ്ക്രിപ്റ്റ് ജോലികളിലെ ഏറ്റവും സാധാരണമായ പ്രകടന കെണികളിൽ ഒന്നാണ്. ചെറുതും വൃത്തിയുള്ളതുമായ ഉദാഹരണങ്ങൾക്കനുസൃതമായി ഒരു സവിശേഷത നിർമ്മിച്ചിരിക്കുന്നു. അപ്പോൾ യഥാർത്ഥ ഉപയോക്താക്കൾ വർഷങ്ങളുടെ റെക്കോർഡുകളോ 43 എക്സ്റ്റൻഷനുകൾ ഇൻസ്റ്റാൾ ചെയ്ത ഓഫീസ് മെഷീനിൽ നിന്നുള്ള ഒരു ബ്രൗസറോ ഉപയോഗിച്ച് എത്തുന്നു. പെട്ടെന്ന് വെളിച്ചം അനുഭവപ്പെട്ട ഒരു പേജ് ഫർണിച്ചറുകൾ തറയിലുടനീളം വലിച്ചിടുന്നു.

ആ പരിഹാരം വീരോചിതമായിരുന്നില്ല. അവർ കുറച്ച് വിരസമായ കാര്യങ്ങൾ ചെയ്തു, പലപ്പോഴും മികച്ച പ്രകടനം തത്സമയം വിജയിക്കുന്നിടത്താണ് ഇത്. ഓരോ റെൻഡറിലും ഡിറൈവ്ഡ് ഫീൽഡുകൾ വീണ്ടും കണക്കാക്കുന്നത് അവർ നിർത്തി. ഉപയോക്താവ് ടൈപ്പിംഗ് താൽക്കാലികമായി നിർത്തുന്നതുവരെ അവർ തിരയൽ വൈകിപ്പിച്ചു. ഒരേസമയം കുറച്ച് വരികൾ അവർ റെൻഡർ ചെയ്തു. അറേകൾ ആവർത്തിച്ച് സ്കാൻ ചെയ്യുന്നതിന് പകരം അവർ രണ്ട് വിലയേറിയ ലുക്കപ്പുകൾ മാപ്പുകളിലേക്ക് നീക്കി. ജാവാസ്ക്രിപ്റ്റ് DOM ഘടകങ്ങൾ അളക്കുകയും ശൈലികൾ മാറ്റുകയും പിന്നീട് വീണ്ടും അളക്കുകയും ചെയ്യുന്ന ഒരു ലേഔട്ട് പാറ്റേൺ അവർ നീക്കം ചെയ്തു, ഇത് ഒരു വ്യക്തി ഒരു സ്യൂട്ട്കേസ് പായ്ക്ക് ചെയ്യാൻ ശ്രമിക്കുമ്പോൾ അത് അൺപാക്ക് ചെയ്യുന്നത് പോലെ ബ്രൗസറിനെ വീണ്ടും പ്രവർത്തിപ്പിച്ചു.

പുനരാഖ്യാനമില്ല. ഫ്രെയിംവർക്ക് മൈഗ്രേഷനില്ല. നാടകീയമായ "മൂന്ന് ആഴ്ചകൾക്കുള്ളിൽ ഞങ്ങൾ ഫ്രണ്ട് എൻഡ് പുനർനിർമ്മിച്ചു" എന്ന പ്രസംഗമില്ല. സമയം യഥാർത്ഥത്തിൽ എവിടേക്കാണ് പോകുന്നതെന്ന് ശ്രദ്ധിച്ചുകൊണ്ട്.

ചട്ടക്കൂടിനെ കുറ്റപ്പെടുത്തുന്നതിന് മുമ്പ് എന്താണ് പരിശോധിക്കേണ്ടത്

ഫ്രെയിംവർക്കുകൾ വേഗത്തിൽ കുറ്റപ്പെടുത്തപ്പെടുന്നു. റിയാക്റ്റ് മന്ദഗതിയിലാണ്. വ്യൂ മന്ദഗതിയിലാണ്. ബ്രൗസർ മന്ദഗതിയിലാണ്. നോഡ് മന്ദഗതിയിലാണ്. ചിലപ്പോൾ ശരിയാണ്, ഇടുങ്ങിയ രീതിയിൽ, പക്ഷേ സാധാരണയായി ഉപയോഗപ്രദമാകാൻ കഴിയാത്തത്ര അവ്യക്തമാണ്. ഉപകരണത്തെ കുറ്റപ്പെടുത്തുന്നതിനുമുമ്പ്, അതിൽ ആവശ്യപ്പെടുന്ന ജോലി പരിശോധിക്കുന്നത് സഹായകരമാണ്.

  • ആദ്യം അളക്കുക. ബ്രൗസർ ഡെവലപ്പ്‌ടൂളുകൾ, നോഡ് പ്രൊഫൈലിംഗ്, സംശയാസ്‌പദമായ കോഡിന് ചുറ്റുമുള്ള ലളിതമായ ടൈംസ്റ്റാമ്പുകൾ, നിങ്ങളെ വസ്തുതകളിലേക്ക് അടുപ്പിക്കുന്നതെന്തും. ഊഹിക്കുന്നത് രസകരമാണ്, പക്ഷേ അത് വ്യാജമാണ്.
  • ദൈർഘ്യം മാത്രമല്ല, ആവൃത്തിയും നോക്കൂ. 2 മില്ലിസെക്കൻഡ് എടുക്കുന്ന ഒരു ഫംഗ്ഷൻ ഓരോ ക്ലിക്കിനു ശേഷവും 2,000 തവണ പ്രവർത്തിച്ചാലും അത് ഇപ്പോഴും ദോഷം ചെയ്യും.
  • പ്രൊഡക്ഷൻ ആകൃതിയിലുള്ള ഡാറ്റ ഉപയോഗിക്കുക. പ്രൊഡക്ഷൻ ഡാറ്റ അശ്രദ്ധമായി പകർത്തിയതല്ല, വ്യക്തമായും, മറിച്ച് യഥാർത്ഥമായ വോള്യവും കുഴപ്പമുള്ള ഘടനയും. വലിയ ലിസ്റ്റുകൾ, ശൂന്യതകൾ, നീണ്ട സ്ട്രിംഗുകൾ, ഡ്യൂപ്ലിക്കേറ്റ് റെക്കോർഡുകൾ, ഉപയോക്താക്കൾക്ക് യഥാർത്ഥത്തിൽ ഉള്ളതെല്ലാം.
  • പ്രധാന ത്രെഡ് ശ്രദ്ധിക്കുക. ബ്രൗസറിൽ, ജാവാസ്ക്രിപ്റ്റ്, റെൻഡറിംഗ്, ലേഔട്ട്, ഉപയോക്തൃ ഇൻപുട്ട് എന്നിവ പലപ്പോഴും ശ്രദ്ധയ്ക്കായി മത്സരിക്കുന്നു. പ്രധാന ത്രെഡ് തിരക്കിലാണെങ്കിൽ, കോഡ് "പ്രവർത്തിക്കുന്നുണ്ടെങ്കിൽ" പോലും പേജ് മരവിച്ചതായി തോന്നുന്നു.
  • ക്ലയന്റ് ജോലിയിൽ നിന്ന് നെറ്റ്‌വർക്ക് സമയം വേർതിരിക്കുക. വേഗതയേറിയ API വേഗതയേറിയ പേജ് ഉറപ്പുനൽകുന്നില്ല. പാഴ്‌സിംഗ്, ട്രാൻസ്‌ഫോർമിംഗ്, സോർട്ടിംഗ്, റെൻഡറിംഗ് എന്നിവ ചെലവേറിയ ഭാഗമാകാം.

ജാവാസ്ക്രിപ്റ്റിനെ ഭാരമേറിയതായി തോന്നിപ്പിക്കുന്ന സാധാരണ തെറ്റുകൾ

ഒരു വലിയ തെറ്റ്, ഓരോ ഘടകവും സ്വയംപര്യാപ്തമാകാൻ ആഗ്രഹിക്കുന്നതിനാൽ, ഒരേ ജോലി ഒന്നിലധികം സ്ഥലങ്ങളിൽ ചെയ്യുക എന്നതാണ്. അഞ്ച് ഘടകങ്ങളും ഒരേ തീയതി സ്ട്രിംഗ് പാഴ്‌സ് ചെയ്യുന്നതുവരെയോ ഒരേ പട്ടികയിൽ തിരയുന്നതുവരെയോ അത് വൃത്തിയായി തോന്നുന്നു. മറ്റൊന്ന് റെൻഡർ പാതകൾക്കുള്ളിൽ അടുക്കുകയോ ഫിൽട്ടർ ചെയ്യുകയോ ചെയ്യുക എന്നതാണ്, അവിടെ അവസ്ഥ മാറുമ്പോഴെല്ലാം അത് നിശബ്ദമായി വീണ്ടും പ്രവർത്തിക്കുന്നു. 20 ഇനങ്ങൾക്ക് ഇത് ശരിയായിരിക്കാം. 20,000-ത്തിന്, ഇനി ഭംഗിയില്ല.

മറ്റൊരു കൗശലമുള്ള കാര്യം: പ്രശ്നത്തിന്റെ ആകൃതിയെക്കുറിച്ച് ചിന്തിക്കാതെ അറേ രീതികൾ ഉപയോഗിക്കുക. മാപ്പ് , ഫിൽറ്റർ , റിഡ്യൂസ് , ഫൈൻഡ് തുടങ്ങിയ രീതികൾ വായിക്കാൻ കഴിയുന്നവയാണ്, വായിക്കാൻ കഴിയുന്നതും നല്ലതാണ്, പക്ഷേ വലിയ അറേകളിൽ അവയെ ചങ്ങലയ്ക്കിടുന്നത് ഡാറ്റയിലൂടെ നിരവധി പൂർണ്ണ പാസുകൾ അർത്ഥമാക്കും. ചിലപ്പോൾ അത് നല്ലതാണ്. ചിലപ്പോൾ ഇത് ഒരേ മുറിയിൽ അങ്ങോട്ടും ഇങ്ങോട്ടും അധികമായി നടക്കുക എന്നതാണ്.

DOM വർക്ക് മറ്റൊരു ക്ലാസിക് കുഴപ്പമാണ്. ലേഔട്ട് മൂല്യങ്ങൾ വായിക്കുന്നതും, ശൈലികൾ മാറ്റുന്നതും, ഘടകങ്ങൾ ചേർക്കുന്നതും, തുടർന്ന് ലേഔട്ട് വീണ്ടും വായിക്കുന്നതും ആവർത്തിച്ചുള്ള കണക്കുകൂട്ടലിന് കാരണമാകും. ഓരോ വരിയും ചെറുതായതിനാൽ കോഡ് നിരുപദ്രവകരമായി തോന്നുന്നു. ബ്രൗസർ അതിനെ പേപ്പർ വർക്ക് ആയി കാണുന്നു. ധാരാളം പേപ്പർ വർക്ക്.

പിന്നെ ലോഗിംഗ് ഉണ്ട്. ആളുകൾ ലോഗിംഗ് മറക്കുന്നു. ഒരു ലൂപ്പിലെ കുറച്ച് കൺസോൾ സ്റ്റേറ്റ്‌മെന്റുകൾ, അല്ലെങ്കിൽ ഡാറ്റ കൂടുതലുള്ള സ്‌ക്രീനിൽ അവശേഷിക്കുന്ന വെർബോസ് ഡീബഗ് ഔട്ട്‌പുട്ട്, പ്രത്യേകിച്ച് വികസനത്തിൽ കാര്യങ്ങൾ ക്രാൾ ചെയ്യാൻ ഇടയാക്കും. ഇത് ലജ്ജാകരമാണ്, അതുകൊണ്ടാണ് എല്ലാവരും ഒരു തവണയെങ്കിലും ഇത് ചെയ്‌ത് "എന്തെങ്കിലും പരിശോധിക്കുന്നുണ്ടെന്ന്" നടിച്ചിരിക്കുന്നത്.

പിന്നീട് വേദന ഒഴിവാക്കുന്ന പ്രായോഗിക ശീലങ്ങൾ

പ്രധാനപ്പെട്ട സ്‌ക്രീനുകൾക്കായി ഒരു ഏകദേശ പ്രകടന ബജറ്റ് സജ്ജമാക്കുക. ഒരു കോർപ്പറേറ്റ് ചടങ്ങല്ല, എല്ലാവർക്കും മനസ്സിലാകുന്ന ഒരു സംഖ്യ മാത്രം. ഒരു മിഡ്-റേഞ്ച് ലാപ്‌ടോപ്പിൽ ഓർഡർ പേജ് ന്യായമായ സമയത്തിനുള്ളിൽ സംവേദനാത്മകമാകണം. തിരയൽ ടൈപ്പിംഗ് മരവിപ്പിക്കരുത്. 10,000 റെക്കോർഡുകളുള്ള ഒരു ലിസ്റ്റ് ഇപ്പോഴും ഉപയോഗയോഗ്യമായിരിക്കണം, അല്ലെങ്കിൽ അത് ഒരേസമയം 10,000 റെക്കോർഡുകൾ റെൻഡർ ചെയ്യാൻ ശ്രമിക്കരുത്. ലളിതമായ ഭാഷ അവ്യക്തമായ പ്രതീക്ഷയെ മറികടക്കുന്നു.

സാധ്യമാകുമ്പോഴെല്ലാം ഡാറ്റ ലെയറിനടുത്തായി ചെലവേറിയ പരിവർത്തനങ്ങൾ നടത്തുക. അഞ്ച് വ്യൂകൾക്ക് ഒരേ തയ്യാറാക്കിയ ഘടന ആവശ്യമുണ്ടെങ്കിൽ, അത് ഒരിക്കൽ തയ്യാറാക്കുക. ഒരു ലുക്കപ്പ് നിരന്തരം സംഭവിക്കുകയാണെങ്കിൽ, ഐഡി ഉപയോഗിച്ച് കീ ചെയ്ത ഒരു മാപ്പോ ഒബ്ജക്റ്റോ ഒരു അറേ വീണ്ടും വീണ്ടും സ്കാൻ ചെയ്യുന്നതിനേക്കാൾ കൂടുതൽ അർത്ഥവത്താണോ എന്ന് പരിഗണിക്കുക. ഡാറ്റയിൽ ലൂപ്പ് ചെയ്യുന്ന കോഡ് അവലോകനം ചെയ്യുമ്പോൾ, ജാവാസ്ക്രിപ്റ്റ് ബിഗ് ഒ നൊട്ടേഷൻ അനലൈസർ പോലുള്ള ഒരു ഉപകരണം പെട്ടെന്ന് ഒരു രണ്ടാം കൂട്ടം കണ്ണുകളാകാം, പ്രത്യേകിച്ചും ഒരു ചെറിയ ലൂപ്പ് മറ്റൊരു ചെറിയ ലൂപ്പിനുള്ളിൽ മറഞ്ഞിരിക്കുമ്പോൾ.

കൂടാതെ, ചിലപ്പോൾ ത്രോട്ടിലിംഗ് ഉപയോഗിച്ച് പരീക്ഷിക്കുക. ബ്രൗസർ ടൂളുകളിലെ സ്ലോ സിപിയു മോഡ് വിനാനകരമാണ്. വിലകുറഞ്ഞ ഫോണിലോ പഴയ ഓഫീസ് ഡെസ്‌ക്‌ടോപ്പിലോ ആപ്പ് പരീക്ഷിക്കുന്നതും അങ്ങനെ തന്നെ. ഡെവലപ്പർമാർ ശക്തമായ മെഷീനുകളും വൃത്തിയുള്ള ബ്രൗസറുകളും ഉപയോഗിക്കാറുണ്ട്, പിന്നെ ഉപയോക്താക്കൾ എന്തിനാണ് പരാതിപ്പെടുന്നത് എന്ന് ചിന്തിക്കുന്നു. ഉപയോക്താക്കൾ നിങ്ങളുടെ ആപ്പ് ഒരു മ്യൂസിയം ഡിസ്‌പ്ലേ കേസിൽ പ്രവർത്തിപ്പിക്കുന്നില്ല. അവർക്ക് സ്ലാക്ക് ഓപ്പൺ, പന്ത്രണ്ട് ടാബുകൾ, ഒരു ആന്റിവൈറസ് സ്‌കാൻ, ഇൻഫ്രാസ്ട്രക്ചറായി യോഗ്യത നേടുന്നതിന് ആവശ്യമായ വലിപ്പമുള്ള ഒരു സ്‌പ്രെഡ്‌ഷീറ്റ് എന്നിവയുണ്ട്.

വിരസമായ അവസാനമാണ് ഉപയോഗപ്രദമായ ഭാഗം.

പരിഹാരങ്ങൾക്ക് ശേഷം, ആ ഓർഡർ ചരിത്ര പേജ് മാന്ത്രികമായി മാറിയില്ല. അത് ആളുകളെ ശല്യപ്പെടുത്തുന്നത് നിർത്തി. തിരയൽ സാധാരണമാണെന്ന് തോന്നി. സ്ക്രോളിംഗ് പ്രവർത്തിച്ചു. ഓപ്പറേഷൻസ് ടീം മീറ്റിംഗുകളിൽ ഇത് പരാമർശിക്കുന്നത് നിർത്തി, സാധാരണയായി ലഭിക്കുന്ന ഏറ്റവും ഉയർന്ന അഭിനന്ദനമാണിത്.

ആ തരത്തിലുള്ള ബഗിൽ നിന്നുള്ള പാഠം ലളിതമാണ്, പക്ഷേ മറക്കാൻ എളുപ്പമാണ്: ജാവാസ്ക്രിപ്റ്റ് പ്രകടനം അപൂർവ്വമായി സമർത്ഥമായ തന്ത്രങ്ങൾ കാണിക്കുന്നതിനെക്കുറിച്ചാണ്. ആവർത്തിച്ചുള്ള ജോലി ശ്രദ്ധിക്കുക, ഡാറ്റ വലുപ്പത്തെ ബഹുമാനിക്കുക, ബ്രൗസർ നിങ്ങളുടെ പ്രവർത്തനങ്ങൾ പ്രവർത്തിപ്പിക്കുന്നതിനേക്കാൾ കൂടുതൽ ചെയ്യുന്നുണ്ടെന്ന് ഓർമ്മിക്കുക എന്നിവയാണ് ഇത്. വേഗത കുറഞ്ഞ ഭാഗം അളക്കുക. ഡാറ്റ യാഥാർത്ഥ്യമാക്കുക. നിങ്ങൾക്ക് കാണാൻ കഴിയുന്ന മാലിന്യങ്ങൾ പരിഹരിക്കുക. പിന്നീട് വീണ്ടും അളക്കുക, കാരണം ചിലപ്പോൾ നിങ്ങൾക്ക് ഉറപ്പുണ്ടായിരുന്ന കാര്യം, പ്രധാനമല്ലായിരുന്നു, ചെറിയ വിരസമായ കാര്യം മുഴുവൻ പ്രശ്‌നമായിരുന്നു.

രചയിതാവിനെക്കുറിച്ച്

Arjun

Arjun

പ്രായോഗിക കാൽക്കുലേറ്ററുകളിലും വിദ്യാഭ്യാസ ഉപകരണങ്ങളിലും ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്ന ഒരു പ്ലാറ്റ്‌ഫോമായ കാർത്തമയുടെ സ്രഷ്ടാവാണ് അർജുൻ. സംവേദനാത്മക ടൂളുകളിലൂടെയും വ്യവസ്ഥാപിതമായ ഗൈഡുകളിലൂടെയും സങ്കീർണ്ണമായ കണക്കുകൂട്ടലുകൾ ലളിതവും പ്രാപ്യവുമാക്കുക എന്ന ലക്ഷ്യത്തോടെ അദ്ദേഹം സോഫ്റ്റ്‌വെയറും AI-പവർഡ് ആപ്ലിക്കേഷനുകളും നിർമ്മിക്കുന്നു.