Transcript for:
JavaScript का Back-End विकास

हमने HTML को देखा, CSS को देखा, JavaScript for the client site को देखा, अब हम लोग JavaScript को back-end में किस तरह से इस्तिमाल करेंगे, इसके बारे में देखेंगे, और उसी के साथ साथ मैं आप लोगों को Node.js और NPM के basics बताऊंगा, किस तरह से एक नए प्रोजेक्ट सेटब किया जाता है, कि अ जो यह प्रोजेक्ट टू स्पॉटीफाइट लोन है यह था वीडियो 84 तो मैं इसको रिनेम करके वीडियो 84 कर देता हूं और अब हम लोग बनाने वाले वीडियो 85 तो वीडियो 85 का फोल्डर बनाते हैं और आज का जो वीडियो है ना वह है नोट जिस पर और बहुत ही आराम से इसको हम लोग समझेंगे और चीजें कई नई होने वाली है आप लोगों को लगेंगे मैं आप लोगों को बताता हूं बेसिकली क्या है अभी तक हमने जितनी भी जावास्क्रिप्ट सीखी हमने प्रंट एंड वाली जावास्क्रिप्� अब जो मैं आप लोगों को जावास्क्रिप्ट बताने जा रहा हूँ, वो हम इस्तेमाल करेंगे, back-end वाली जावास्क्रिप्ट, यानि कि जावास्क्रिप्ट for the back-end, और उसके लिए हम लोग install करेंगे Node.js को, अगर आप लोगों ने Node.js install नहीं कराए, course के starting में, तो आप लोग यहाँ download पर click करें, तो Windows installer इसका download कर लूँगा, अगर आप एक 32-bit system में है, और आपने 64-bit install कर लिया है, अब 54-bit system में आपने 32-bit install कर लिया, है दिक्कत होगी तो अगर आप सिस्टी फॉर बिट सिस्टम में आप सिंपली क्या करें कि यहां पर अब आउट पीसी लिख दें यहां पर आप लिखें सिस्टम इनफॉरमेशन वह जैसे आप सिस्टम इनफॉरमेशन लिखते हैं तो आपके कंप्यूटर के बारे में एक पीस पर दिखा रहा है ठीक है तो यह क्योंकि मुझे बता रहा है कि सिस्टी फॉर बिट तो मैं इस डाउनलोड करूंगा यह बात बड़ बहुत ज्यादा important है, ठीक है, इसके बाद यहाँ पर installer को run कर दे, अगर आपने install कर रखा है, तो कोई दिक्कत नहीं है, बट मैंने already install यहाँ पर कर रखा है, आप चाहें तो इसको change भी कर सकते हैं, next, next पर click कर सकते हैं, और यह update हो जाएगा, तो जो भी updated version है, उसको install कर कि आप लोग यहां पर लिख सकते हो नोट माइनस माइनस वर्जन और देखो 20.10 आ रहा है एनपीएम माइनस माइनस वर्जन आप लोग लिखोगे तो एनपीएम का वर्जन आ रहा है ठीक है वैसे आने वाले टाइम में वर्जन बदलेंगे बहुत जल्दी बदलते ह है जो concept मैं आप लोगों बताने जा रहा हूँ इस वीडियो में there is a good chance कि वो near future में नहीं बदलने वाले ठीक है तो बहुत दियान से सुनना कभी भी हम एक back end का project बनाते हैं तब हम लोग node.js का इस्तेमाल करते हैं मालों मैं आपको server.js नाम से एक file पाइल बनाओ और यहां पर लिखो कॉनसोल डॉट लॉग हेलो वर्ड ठीक है और यह करने के बाद मैं इसको रन करूं या फिर मैं सिंपली लिख दूं यहां पर नोट सर्वर डॉट जस और मैं ऐसे दबाकर टैप दबाऊंगा तो यह ऑटो कंप्लीट कर आ गया यह तरीका बहुत बढ़िया है एक जीएस फाइल को रन करने का अपने कंप्यूटर में अब डिफरेंस किया यहां के browser में javascript को run करते थे यहाँ पर चीज़े बदल गई है हम लोग back-end में कर रहे हैं इस्तेमाल क्योंकि javascript को इसलिए यहाँ पर server.js जो है उसको हम लोग run कर रहे हैं यहाँ computer में अब आप लोग समझो flow को कि back-end किस तरह से काम करता है आपका जो back-end server है वो आपके clients को नहीं दिखेगा यह वो password authentication करूँगा और उसी के साथ साथ मैं अपने business logic की इंटेग्रेट करना चाहता हूं अपनी application में for example मान लो कि इस website का code node.js में लिखा हुआ है क्या होगा जब मैं LTS पर click करूँगा सर्वर के पास request जाएगी कि user ने LTS पर click किया और मतलब ऐसा कर सकते हैं हम fetch API के थरू कि हम कह सकते हैं कि भाई click is equal to LTS endpoint is equal to slash LTS अब सर्वर क्या करके क्या नहीं होगा अब यह तरीका बहुत अच्छा है फाइल को रन करने का नोट के थ्रू लेकिन जब भी हम बात करते हैं एक बैक एंड की एक ऐसे कोड की जिसको हम लोग मेंटेन करना चाहेंगे एक ऐसे कोड की जिसके साथ हम लॉन्ग कि यह पैकेज का नाम बताओ इस प्रोजेक्ट का नाम बताओ क्या है मालूम मैं स्पोर्टीफाई क्लोन बना रहा हूं प्लेटिज इस यू में बना रहा हूं स्पोर्टीफाई क्लोन मैं वह स्पोर्टीफाई वर्जन बताओ इसको बाय-डिफर्ट में एंट्री पॉइंट यह सब्सक्राइब करूंगा कि वर्ड्स के मेबी स्पोर्टीफाई म्यूजिक आप ऑथर कौन है है लाइसेंस क्या अभी के लिए ब्लैंक छोड़ूंगा यह सब कुछ इंफोर्मेशन ठीक है ना आप देख लो एक बार यह ठीक है और क्या होगा एक पैकेज डॉट जेसन बन जाएगी अब होता क्या ऐसा करने से यह तरीके से पायदा हमको यह मिलता है कि हम इसको as a single entity initialize कर चुके अब मैं बताओंगा आपको इसका क्या मतलब है आप लोग confused मतलब है मैं बताओंगा आपको क्या मतलब है इसका अब मैं कह सकता हूँ npm install और मैं यहाँ पर कुछ भी install कर सकता हूँ for example मैं एक package install कर सकता हूँ जिसका नाम है मैं यहाँ पर कोई google करता हूँ package npm package npm package for time मान लो कोई time formatting के लिए package हो date and time नाम का package है time.js है मान लो time.js में install करना जाता हूँ for example या फिर मैं date and time install करना चाहता हूँ, या फिर मान लो मैं कोई एक ऐसा package install करना चाहता हूँ, मैं यहाँ पर लिखता हूँ, मान लो slug, slugify नाम का एक होता है, slugify, slugify नाम का एक package होता है, जो कि आपको slug से related functions बताता है, तो मैं क्या करूँगा, यहाँ पर मैं npm i slugify, npm install भी लिख सकते हो, npm i भी लिख सकते हो, npm i shortcut होता है, तो मैं npm install slugify लिखूँगा, node.js नाम से, sorry, node modules नाम से, और note module साम का जो folder है वो मेरे सारे packages hold करेगा, कभी-कभी packages की dependency और further packages होते हैं, तो वो भी hold करता है, ठीक है, तो यहां तक I hope आपको समझ में आया, हमने npm install किया, तकि हम packages को अपने manage कर सकें, इस तरह से हम npm install करके, note.js क्या होता है, note.js basically कुछ नहीं है, javascript का v8 engine है, chrome का v8 engine, कूगल क्रोम पर पहले उपलब था सिर्फ, जो की ब्राउजर्स में उपलब था सिर्फ पहले, उसको अब उठाकर एक C++ प्रोग्राम के अंदर, रैंड डाल नाम के बंदे ने रख दिया, ठीक है, और उसको हमने basically क्या किया, बनाया ताकि हम लोग ब्राउजर की शक्तियों का, जो JavaScript को प्रोसेस करने की शक्तियां है, उसको हम इस्तेमाल करते हुए, JS में, तो जब JS इतनी popular होने लग गई तो लोगों ने कहा कि या JavaScript को सिर्फ इन सब चीजों के लिए क्यों use किया जाए, for the web क्यों use किया जाए, जब JavaScript को actually use किया जा सकता है for even more functions, for example हम JavaScript को एक folder के अंदर के folders list करने के लिए use कर सकते हैं, हम file copy करने के लिए use कर सकते हैं, बहुत सारी ची� जावास्क्रिप्ट को एक बैकेंड की लैंग्वेज यानि की सर्वर में चलाना चाहेंगे, तब हम Node.js और NPM का इस्तेमाल करेंगे. NPM का क्यों इस्तेमाल करेंगे, जब भी हमने एक Node.js पैकेज बना लिया है, तब हम लोग उसके अंदर NPM इंस्टॉल करके Node मॉड्यूल्स में कुछ पैकेजेज इंस्टॉल करना चाहेंगे, और जब हम ऐसा करना चाहेंगे, तो हम कर पाएंगे, क्योंकि NPM हमारे कंप्यूट as node modules, और उसकी information package.json में चले जाएगी, तो package.json पे double click अगर आप करो, तो आपको यहाँ पर दिखेगा, कि dependencies क्या क्या है, dependencies इसकी slugify है, आप देख सकते हो, तो मालो किसी ने node modules delete कर दिया, अब क्या होता है, कि जब मैं git पे push करूँगा, या यह code किसी को भी दूँगा, तब मैं node modules नहीं दूँगा, तो node modules delete की दबाकर, और आप लोग देखो ही यह, जो node modules था, वो मैं नोड मॉड्यूल को दुबारा रिक्रेट कर सकता हूं एनपीएम इंस्टॉल लिखकर बस एनपीएम इंस्टॉल कुछ भी पैकेज पर इसका नोड मॉड्यूल के अंदर बहुत सारा कोड होता है कांप्लेक्स प्रोजेक्ट के नोड मॉड्यूल बहुत बड़े होते न्यूरोन स्टार न्यूट्रोन स्टार ब्लैक होल नोड मॉडिल्स पूरा पार कर गया फ्रेम को तो यहां पर बहुत सारी चीजें हैं जो कि आप लोग देख सकते हो नेट पर और आपको समझ में अच्छी कोई मीम्स के तरह भी सीखना चाहिए मैं तो अभी अच्छी लगती है मीम्स कोडिंग की तो कुल मिलाकर बात यह है कि आप लोग नोट जस का इस्तेमाल कर सकते और उसके बाद आप लोग इसको use भी कर सकते हैं, तो मैं यह code और आऊंगा मैं वापस अपने यहाँ पर सर्वर डॉट जीएस में और स्लगी फाइज इकल टो रिक्वेस्ट लगी फाइड करके मैंने यहां पर इस पर इस बीच गल्ड बटन लेड भी नहीं करता हूं कांसोल डॉट लॉग भी तो इस लगी पाकेज जो कि एक स्ट्रिंग को एज़ लग बनाता है अगर आपको इस लग नहीं पता क्या है तो यह जो यूअरल में दिखती है ना चीजें इसलिए इसमें इसको इसने क्या किया कुछ इस तरह से बना दिया सच दाट यह एक वालेड स्लग अभी है ठीक है तो जब भी हम ब्लॉग वगैरह की एप्लीकेशन मनाते हैं तो इस तरह के पैकेश का इस्तेमाल करते हैं तो हमें यह कोड नहीं लिखना पड़ा यह एक लॉजिक लिखा हु� है तो आपको बता चला नोट क्या होता है आपको बता चला नोट पैकेज मैनेजर जिसके तुरूप आप लोग नोट मॉड्यूज के अंदर अपनी जो जो पैकेज उनको इंस्टॉल कर सकते हो ठीक है एक चीज हो गई और एक और चीज अब यह है nodejs.org tutorials मैं देखता हूँ एक मिनट nodejs.org slash learn तो nodejs के ने बहुत अच्छे tutorials दिया है वहाँ है nodejs की website पर और आप यहाँ पर एक example node application को इस तरह से जब आप copy करोगे न और मैं आप पर एक काम करता हूँ यह वाला function रहने देता हूँ यह वाला जो और इसका नाम मैं बनाऊंगा myserver.js ठीक है तो मैं अगर यहाँ पर लिखूं, node my server.js, तो देखो एक server चल गया, और मैं इस server को खोलूं अगर, यहाँ पर click करूं, मैं, तो यह देखो hello world दिख रहा है, अब यह कैसे काम करा, काम यह ऐसे करा कि, यहाँ पर एक code लिखा हुआ है, हमने node http को import किया, हमने कहा host name यह है, port यह है तो मैं बस यूज कर सकता हूँ इसलिए मैंने पैकेज इंपोर्ट किया मुझे लिखना नहीं था तभी तो मैंने पैकेज इंपोर्ट किया तो पैकेज का मतलब कुछ ऐसा समझ दो एक ब्लैक बॉक्स है जैसे कि आप यूज करते हो आपको पता है कि उसके अंदर क्या हो रहा हमें बस इतना पता है कि create server को हमें एक function देंगे, request, response देंगे, और फिर इसके बाद हम लोग rest.status code दे सकते हैं, header set कर सकते हैं, क्या हमको उसके अंदर डालना है content, वो दे सकते हैं, और finally इसको बंद करके, server को चालू कर सकते हैं, server listen कर रहा है on port 3000, और host name यह है, यानि कि local host पर यह run कर रहा है, and हम जब जाएंगे इस website पर, है तो हम फाइल्स को सर्व कर सकते हैं वह सारी चीजें हो सकते हैं इन फैक्ट एक पैकेज होता है एक्सप्रेस नाम का जिसको एनपीएम आई एक्सप्रेस करके इंस्टॉल कर सकते हैं अगर आपको नोड जैसे एक्सप्रेस कर आप लोग लिखोगे तो एक्सप्रेस का जो यहां पर एनपीएम इंस्टॉल एक्स� एंड पीएम इंस्टॉल एक्सप्रेस में सुनाओ सी करता है इस प्रेस माइनस माइनस से व जैसे आप एंड विश्वाल एक्सप्रेस करोगे आप यहां पर देख सकते हो कि एक्सप्रेस जो इंस्टॉल हो गया और देखो क्या-क्या इंस्टॉल आ चुका है और एक्सप्रेस यहां पर आ गया है क्योंकि इसीलिए अब अगर मैंने node modules को delete किया, मालो मैं करता हूँ delete node modules को, और npm i लिख दूँ बस मैं, npm install लिखने की भी ज़रूरत नहीं है, npm i मैं लिख सकता हूँ सिर्फ, और जैसे ही मैं npm i लिखूँगा, सिर्फ npm i लिखूँगा, यहाँ पर लिख कर आ रहा है, folder access denied, एक मिरेंट मैं इसको ज़रूरत access दे दू, delete permanently, ओके हो गया, अब मैं सिर्फ npm i लिखूँगा यहाँ पर, जो express को चाहिए और sluggify को चाहिए, तो इस तरह से एक basic node.js का project setup किया जाता है, मैं इस वीडियो में बहुत ज़्यादा डिटेल में और नहीं जाना चाहता हूँ कि आने वाले वीडियो में हम लोग इस सारे काम करेंगे, लेकिन Express जो है वो इस्तेमाल किया जाता है Majorly, Backend Applications को बनाने के लिए, ठीक है, आने वाले टाइम में React, Next.js ये सब चीज़े आप लो तो express को सीख कर आप next.js का सीखना असान मनाओगे क्योंकि javascript के back-end जो होते हैं लेट मी टेली यू जिस तरह से next.js के अंदर आप code लिखोगे और जो code आप express में लिखोगे काफी similar होगा middleware का concept काफी चीज़े होती हैं वो सब चीज़े same होने वाली है तो I hope कि आप लोगों समझ में आया और आप लोगों को जो source code है वो मैं दे दूँगा मैं आपको सिर्फ इतना बढ़ाऊंगा जितना आप लोगों को चाहिए express सीखने के लिए back-end applications बनाने के लिए और बहुत साथा detail में नहीं जाओंगा जैसे कि इस tutorial जा रहा है इस tutorial बहुत detail में जाता है और कई जीज़े आप लोगों को बताता है बिसिकली यहाँ पर हमने header set किया, status code set किया और इसके बाद क्या content हमें देना है वो हमने यहाँ पर set किया and that's it कई जीज़े यहाँ पर बताई गई हैं बट इसको पढ़ना आपकी comprehensive knowledge को इसका link यहाँ पर डाल देता हूँ at the top ठीक है और मैं यहाँ पर लिख देता हूँ further reading लेकिन यार course कैसा चल रहा है मुझे नीचे comment section में जरूर बताना और उसी के साथ साथ playlist को access करते हुए bookmark करके पहले वीडियो में जाकर मुझे एक review दे देना कि यार ये course कैसा लगा आपलोगों को दिल से अच्छा लगेगा अबी के लि�