𝗠𝗮𝘀𝘁𝗲𝗿 𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗶𝗻𝗴 𝗕𝘆 𝗥𝗲𝗰𝗿𝗲𝗮𝘁𝗶𝗻𝗴 𝗧𝗲𝗰𝗵𝗻𝗼𝗹𝗼𝗴𝗶𝗲𝘀

ਤੁਸੀਂ ਹਰ ਰੋਜ਼ ਫਰੇਮਵਰਕ (frameworks) ਅਤੇ ਲਾਇਬ੍ਰੇਰੀਆਂ (libraries) ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ। ਤੁਸੀਂ ਜਾਣਦੇ ਹੋ ਕਿ ਉਹਨਾਂ ਦੀਆਂ APIs ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ। ਪਰ ਤੁਸੀਂ ਇਹ ਨਹੀਂ ਜਾਣਦੇ ਕਿ ਉਹ ਅੰਦਰੋਂ ਕਿਵੇਂ ਕੰਮ ਕਰਦੀਆਂ ਹਨ।

'Build Your Own X' ਦਾ ਫਲਸਫਾ ਇਸ ਨੂੰ ਬਦਲ ਦਿੰਦਾ ਹੈ। ਤੁਸੀਂ ਸਾਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਨੂੰ ਸਮਝਣ ਲਈ ਬੁਨਿਆਦੀ ਟੂਲਸ ਨੂੰ ਸ਼ੁਰੂ ਤੋਂ (from scratch) ਦੁਬਾਰਾ ਬਣਾਉਂਦੇ ਹੋ।

ਆਧੁਨਿਕ ਟੂਲਸ ਗੁੰਝਲਦਾਰਤਾ ਨੂੰ ਛੁਪਾਉਂਦੇ ਹਨ। ਇਹ ਤਰੀਕਾ ਉਹਨਾਂ ਪਰਤਾਂ ਨੂੰ ਹਟਾ ਦਿੰਦਾ ਹੈ। ਤੁਸੀਂ ਉਹਨਾਂ ਅਸਲ ਸਮੱਸਿਆਵਾਂ ਦਾ ਸਾਹਮਣਾ ਕਰਦੇ ਹੋ ਜੋ ਇੰਜੀਨੀਅਰ ਹਰ ਰੋਜ਼ ਹੱਲ ਕਰਦੇ ਹਨ।

ਤੁਹਾਨੂੰ ਇਹ ਕਿਉਂ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ:

• ਡੂੰਘੀ ਸਮਝ: ਤੁਸੀਂ ਸਿੱਖਦੇ ਹੋ ਕਿ ਟੂਲਸ ਕਿਉਂ ਮੌਜੂਦ ਹਨ ਅਤੇ ਉਹਨਾਂ ਦੇ ਫਾਇਦੇ-ਨੁਕਸਾਨ (trade-offs) ਕੀ ਹਨ। • ਸਮੱਸਿਆ ਦਾ ਹੱਲ: ਤੁਸੀਂ ਡਿਜ਼ਾਈਨ ਦੀਆਂ ਚੁਣੌਤੀਆਂ ਦਾ ਸਾਹਮਣਾ ਕਰਦੇ ਹੋ ਜੋ ਤੁਹਾਡੀ ਆਰਕੀਟੈਕਚਰਲ ਸੋਚ (architectural thinking) ਨੂੰ ਬਣਾਉਂਦੀਆਂ ਹਨ। • ਬਿਹਤਰ ਡੀਬੱਗਿੰਗ: ਜਦੋਂ ਕੋਡ ਫੇਲ ਹੋ ਜਾਂਦਾ ਹੈ ਤਾਂ ਤੁਸੀਂ ਜਾਣਦੇ ਹੋ ਕਿ ਕਿੱਥੇ ਦੇਖਣਾ ਹੈ ਕਿਉਂਕਿ ਤੁਸੀਂ ਉਹਨਾਂ ਦੇ ਅੰਦਰੂਨੀ ਕੰਮਕਾਜ ਨੂੰ ਜਾਣਦੇ ਹੋ। • ਕਰੀਅਰ ਵਿੱਚ ਵਾਧਾ: ਇੰਟਰਵਿਊ ਲੈਣ ਵਾਲੇ ਉਹਨਾਂ ਉਮੀਦਵਾਰਾਂ ਨੂੰ ਮਹੱਤਵ ਦਿੰਦੇ ਹਨ ਜੋ ਕਿਸੇ ਟੂਲ ਦੇ ਪਿੱਛੇ ਦੇ 'ਕਿਵੇਂ' ਅਤੇ 'ਕਿਉਂ' ਨੂੰ ਸਮਝਾ ਸਕਦੇ ਹਨ।

ਛੋਟੇ ਪੱਧਰ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ। ਕੋਈ ਅਜਿਹੀ ਚੀਜ਼ ਚੁਣੋ ਜਿਸਦੀ ਤੁਸੀਂ ਅਕਸਰ ਵਰਤੋਂ ਕਰਦੇ ਹੋ।

ਤੁਹਾਡੇ ਪਹਿਲੇ ਪ੍ਰੋਜੈਕਟ ਲਈ ਵਿਚਾਰ:

ਕੋਈ ਪ੍ਰੋਡਕਸ਼ਨ ਟੂਲ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਨਾ ਕਰੋ। ਅਜੇ ਸੁਰੱਖਿਆ ਜਾਂ ਰਫਤਾਰ ਬਾਰੇ ਚਿੰਤਾ ਨਾ ਕਰੋ। ਮੁੱਖ ਲੌਜਿਕ (core logic) 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰੋ।

ਇਹਨਾਂ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ:

  1. ਅਸਲ ਟੂਲ 'ਤੇ ਖੋਜ ਕਰੋ। ਡਿਜ਼ਾਈਨ ਦਸਤਾਵੇਜ਼ ਪੜ੍ਹੋ ਅਤੇ ਓਪਨ-ਸੋਰਸ ਕੋਡ ਦੇਖੋ।
  2. ਮੁੱਖ ਹਿੱਸਿਆਂ ਦੀ ਪਛਾਣ ਕਰੋ। ਇੱਕ ਵੈੱਬ ਸਰਵਰ ਨੂੰ ਸੌਕੇਟਸ (sockets), ਇੱਕ ਪਾਰਸਰ ਅਤੇ ਜਵਾਬ ਭੇਜਣ ਦੇ ਤਰੀਕੇ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
  3. ਘੱਟੋ-ਘੱਟ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ (features) ਤੈਅ ਕਰੋ। ਜੇਕਰ ਤੁਸੀਂ URL ਸ਼ਾਰਟਨਰ ਬਣਾਉਂਦੇ ਹੋ, ਤਾਂ ਮੈਪਿੰਗ ਅਤੇ ਰੀਡਾਇਰੈਕਟਿੰਗ 'ਤੇ ਧਿਆਨ ਦਿਓ। ਫਿਲਹਾਲ ਯੂਜ਼ਰ ਅਕਾਊਂਟ ਅਤੇ ਐਨਾਲਿਟਿਕਸ ਨੂੰ ਛੱਡ ਦਿਓ।

ਕੋਈ ਅਜਿਹੀ ਭਾਸ਼ਾ ਚੁਣੋ ਜੋ ਤੁਸੀਂ ਜਾਣਦੇ ਹੋ ਜਾਂ ਸਿੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ। ਮਕਸਦ ਲੌਜਿਕ ਹੈ, ਸਿੰਟੈਕਸ (syntax) ਨਹੀਂ।

ਸਰੋਤ: https://dev.to/kelvin_kariuki_20f4bec616/master-programming-by-recreating-your-favorite-technologies-from-scratch-21b7