पुराने डेवलपर्स और इंजीनियरों को LAMP स्टैक याद हो सकता है और यद्यपि इसे फिर से तैयार किया गया है, अगर हम सब कुछ मूल बातों तक सीमित कर दें तो हमें जो मिलता है और जिसकी आवश्यकता होती है वह है:
एक ऑपरेटिंग सिस्टम
एक वेब सर्वर
एक डेटाबेस
एक प्रोग्रामिंग भाषा
आज मैं आपसे बात करने जा रहा हूँ कि कैसे मैंने LAMP स्टैक को वैकल्पिक प्रारूप में पुनः परिकल्पित किया:
आजकल, मैं अक्सर यही सुनता हूँ: “मैं डेवलपर बनना चाहता हूँ, मैं इसकी शुरुआत कैसे करूँ?”, “मैं डेवलपर बनना चाहता हूँ, मुझे किस लैपटॉप की आवश्यकता है?” या “क्या मुझे डेवलपर बनने के लिए नवीनतम मैकबुक खरीदने की आवश्यकता है?” और ईमानदारी से कहूँ तो, यह बात मुझे परेशान करने लगी है।
नहीं बच्चों , आपको डेवलपर बनने के लिए नवीनतम फैंसी तकनीक या रॉकेट की आवश्यकता नहीं है, आपको एक ऑपरेटिंग सिस्टम की आवश्यकता है जो प्रोग्रामिंग पैकेज स्थापित करने में सक्षम हो और उन्हें संकलित कर सके; आप अपनी दादी के पुराने लैपटॉप का भी उपयोग कर सकते हैं। और अब आप पूछते हैं: "यह कैसे हो सकता है?!"
आइए यादों के गलियारे में एक छोटी सी यात्रा करें; लगभग साढ़े तीन साल पहले, मैंने एक एसबीसी - सिंगल बोर्ड कंप्यूटर के साथ छेड़छाड़ करना शुरू किया, जिसकी खरीद 50 ई. से कम है, और इस समय, मेरे पास एक वेब सर्वर, एक डाटाबेस है, मैं प्रति घंटे सैकड़ों वेब-स्क्रैप कर रहा हूं, और इसके अलावा, मैं एक एपीआई एंडपॉइंट विकसित करने पर काम कर रहा हूं।
यह एसबीसी अपनी श्रेणी में नवीनतम भी नहीं है और इसमें निम्नलिखित विशेषताएं हैं:
8GB LPDDR4 आंतरिक मेमोरी
1.5GHz क्वाड-कोर ARM Cortex-A72 CPU (2015 में लॉन्च किया गया) - जिसे आप आसानी से और सुरक्षित रूप से 2GHz पर ओवरक्लॉक कर सकते हैं (+फैन एक्सटेंशन और हीट सिंक)
GPT का इन विशिष्टताओं के बारे में क्या कहना है: आपके द्वारा प्रदान की गई विशिष्टताएँ कुछ प्रकार के कंप्यूटिंग कार्यों के लिए अच्छी हैं, लेकिन वे अन्य के लिए पर्याप्त नहीं हो सकती हैं। यहाँ एक मूल्यांकन है:
ARM Cortex-A72 एक सक्षम प्रोसेसर डिज़ाइन है जो आमतौर पर स्मार्टफोन, टैबलेट और अन्य मोबाइल उपकरणों में पाया जाता है।
क्वाड-कोर कॉन्फ़िगरेशन का अर्थ है कि इसमें चार कोर हैं, जिससे यह एक साथ कई कार्यों को अधिक कुशलता से पूरा कर सकता है।
1.5GHz की क्लॉक स्पीड सामान्य प्रयोजन के कंप्यूटिंग कार्यों के लिए अच्छी है, जिसमें वेब ब्राउज़िंग, मीडिया उपभोग और उत्पादकता अनुप्रयोग शामिल हैं।
हालाँकि, गेमिंग, वीडियो एडिटिंग या जटिल सॉफ़्टवेयर चलाने जैसे ज़्यादा मांग वाले कामों के लिए, ज़्यादा क्लॉक स्पीड और संभवतः ज़्यादा कोर बेहतर प्रदर्शन प्रदान करेंगे। संक्षेप में, ये विनिर्देश हल्के से मध्यम कंप्यूटिंग कार्यों, जैसे कि रोज़मर्रा की उत्पादकता, वेब ब्राउज़िंग और मल्टीमीडिया खपत के लिए उपयुक्त हैं। हालाँकि, ज़्यादा मांग वाले कामों या भविष्य की सुरक्षा के लिए, आप ज़्यादा RAM और तेज़ CPU वाले सिस्टम में अपग्रेड करने पर विचार कर सकते हैं।
मेरा विश्वास करें, शुरुआत में, हल्का से मध्यम पर्याप्त से अधिक होता है, इसलिए एक पाई बोर्ड के साथ, आप आसानी से एक कार्यशील डेस्कटॉप वातावरण बना सकते हैं जिसमें आप कोडिंग करना सीख सकते हैं, और न केवल फ्रंटएंड बल्कि बैकएंड प्रोग्रामिंग भाषाएं भी सीख सकते हैं जैसे कि पायथन, सी++ (जो और भी अधिक ऊर्जा कुशल है), या जावास्क्रिप्ट।
मैं क्या उपयोग करूँ?
मैं अपने रास्पबेरी पाई पर निम्नलिखित कोड विकसित कर रहा हूँ:
उबंटू डेस्कटॉप -डेस्कटॉपफाई के सौजन्य से:
फ़ायरवाल
एंटीवायरस
घुसपैठ रोकथाम सॉफ्टवेयर आईपीएस
नेटवर्किंग
मजबूत पासवर्ड प्रबंधन
VSCode सर्वर से दूरस्थ रूप से कनेक्ट हो रहा है
पायथन3 स्क्रिप्ट जो वेब को स्क्रैप करती है और CSS द्वारा सन्निहित HTML वेबपेज बनाती है
अनुरोध
सेलेनियम
पांडा
समानांतर प्रसंस्करण - concurrent.futures
जावास्क्रिप्ट को यहां-वहां PHP के साथ जोड़ा गया है।
पायथन3 स्क्रिप्ट जो स्वचालित रूप से मेरे SQLite3 डेटाबेस में JSON प्रारूप में लिखती हैं।
फ्लास्क ऐप, एक छोटा और हल्का पायथन वेब फ्रेमवर्क है जो उपयोगी उपकरण और सुविधाएँ प्रदान करता है जो पायथन में वेब एप्लिकेशन बनाना आसान बनाते हैं।
और अंत में, कोड का एक जावास्क्रिप्ट टुकड़ा जो फ्लास्क एंडपॉइंट को कॉल करता है - एक RESTful API एंडपॉइंट
लगभग 4 वर्षों के लिए निश्चित रूप से 120E की परिशोधित लागत और <4E प्रति माह बिजली🔌 पर।
संक्षेप में कहें तो बेरीन्यूज़ सिस्टम आर्किटेक्चर इस प्रकार है:
यहां मुख्य कारक कुशल संसाधन उपयोग + संसाधन उपयोग बाधाएं हैं।
जब आप कुशल कोड लिख सकते हैं तो पैसा क्यों खर्च करें?
यदि हम सब कुछ संक्षेप में कहें तो हमें 100 डॉलर वाले कंप्यूटर पर इस प्रकार की तालिका प्राप्त होगी:
वर्ग | कीवर्ड |
---|---|
प्रोग्रामिंग भाषा | पायथन3, जावास्क्रिप्ट, PHP, CSS, HTML, SQL |
डेटा प्रारूप | जेएसओएन |
फ़्रेमवर्क | फ्लास्क, सेलेनियम, समवर्ती.फ्यूचर्स |
डेटाबेस | एसक्यूलाइट3 |
नेटवर्किंग | राउटर कॉन्फ़िगरेशन, DNS |
साइबर सुरक्षा | UFW ( फ़ायरवॉल ), ClamAV ( एंटीवायरस ), Fail2ban ( IPS ), पासवर्ड प्रबंधन, SSH कुंजियाँ, लेट्स एनक्रिप्ट ( SSL प्रमाणपत्र ) |
लिनक्स | रास्पबेरी पाई, उबंटू डेस्कटॉप, वीएसकोड |
तो, मुझे बताइए, क्या आप अब भी सोचते हैं कि डेवलपर बनने के लिए आपको नवीनतम लैपटॉप स्पेसिफिकेशन की आवश्यकता है?