मोजो एक ऐसी भाषा है जो पायथन की पठनीयता को C++ की गति के साथ जोड़ती है। यह विभिन्न चीज़ों के लिए उपयोगी है, निम्न-स्तरीय कोड से जो हार्डवेयर के करीब है, बैक-एंड एपीआई डिज़ाइन के माध्यम से, फ्रंट-एंड और वेब की दुनिया तक। मोजो संपूर्ण आधुनिक स्टैक को स्केल करने के लिए पर्याप्त शक्तिशाली है। भाषा को एआई और मशीन लर्निंग को ध्यान में रखकर भी डिजाइन किया गया है - इसलिए यह एआई डेवलपर्स और डेटा वैज्ञानिकों के लिए विशेष रूप से उपयोगी होगी। हालाँकि मोजो अभी भी जवान है। पारिस्थितिकी तंत्र में रोजमर्रा के सॉफ्टवेयर विकास के लिए नेटवर्किंग या बुनियादी HTTP संचालन जैसे उपकरणों की कमी हो रही है। यहीं पर उड़ता है। लाइटबग 🔥🐝 शुद्ध मोजो में लिखा गया एक सरल HTTP फ्रेमवर्क है, जिसमें डिफ़ॉल्ट रूप से कोई बाहरी निर्भरता नहीं है। इसका उद्देश्य अधिक जटिल परियोजनाओं के लिए एक आधार के रूप में काम करना है और यह आपको एपीआई जैसी वेब सेवाओं को विकसित करने, बुनियादी रूटिंग स्थापित करने या यहां तक कि मोजो के साथ HTML पेजों की सेवा करने की अनुमति देता है, जबकि इस भाषा की स्थिर टाइपिंग और शानदार प्रदर्शन जैसी सुविधाओं का लाभ उठाता है। . लाइटबग 🔥🐝 आरंभ करने के लिए, बस और इंस्टॉल करें, फिर लाइटबग जीथब रेपो को क्लोन करें: मोजो गिट git clone https://github.com/saviorand/lightbug_http.git एक बार यह क्लोन हो जाए, तो अपनी कमांड लाइन में निर्देशिका पर स्विच करें: cd lightbug_http फिर सर्वर चलाएँ (हाँ, वह मोजो फ़ाइल एक्सटेंशन है! 🔥): mojo lightbug.🔥 आपको कंसोल पर मुद्रित निम्न पंक्ति दिखनी चाहिए: 🔥🐝 Lightbug is listening on 0.0.0.0:8080 Ready to accept connections... अब, आप अपने सर्वर से अनुरोध करना शुरू कर सकते हैं या ब्राउज़र में या खोलने का प्रयास कर सकते हैं - आपको परिचय स्क्रीन देखनी चाहिए। वेब, मोजो-शैली में आपका स्वागत है! अब आइए कुछ वास्तविक कोडिंग पर आते हैं। localhost:8080 0.0.0.0:8080 जबकि लाइटबग अभी भी युवा है, लोग आधुनिक वेब के लिए जिस मुख्य कार्यक्षमता को विकसित करने की उम्मीद करते हैं वह पहले से ही मौजूद है। ध्यान दें कि चूंकि अभी तक कोई पैकेज मैनेजर नहीं है, इसलिए आपको बस अपने प्रोजेक्ट के अंदर एक सबफ़ोल्डर के रूप में शामिल करना चाहिए। यह के रूप में काम करेगा और आपको लाइटबग से वेब प्रिमिटिव, सर्वर और अन्य टूल आयात करने की अनुमति देगा। lightbug_http मोजो पैकेज उदाहरण के लिए, सर्वर को आयात करने के लिए इसे अपनी फ़ाइल के शीर्ष पर जोड़ें: from lightbug_http.sys.server import SysServer यह शुद्ध मोजो में एक सर्वर कार्यान्वयन आयात करेगा। यदि आप Python कार्यान्वयन का उपयोग करना चाहते हैं, तो इसके बजाय आयात करें। यह उसी तरीके से काम करेगा. PythonServer एक HTTP सेवा बनाने के लिए, बस एक संरचना बनाएं जो संतुष्ट करती है, जिसका अर्थ है कि इसमें निम्नलिखित हस्ताक्षर के साथ एक विधि है: HTTPService विशेषता को func trait HTTPService: fn func(self, req: HTTPRequest) raises -> HTTPResponse: ... यह लेने के लिए अंतर्निहित प्राइमेटिव का उपयोग करता है, मोजो या पायथन में आपके द्वारा लिखे गए किसी भी कस्टम तर्क को निष्पादित करता है, और एपीआई उपभोक्ता को कुछ डेटा के साथ ऑब्जेक्ट लौटाता है। HTTPRequest HTTPResponse आइए एक ऐसी सेवा बनाएं जो पर भेजे गए सभी अनुरोधों को कंसोल पर प्रिंट करे। ऐसा करने के लिए, नामक एक फ़ाइल बनाएं और निम्नलिखित पेस्ट करें: 0.0.0.0:8080 my_awesome_service.🔥 from lightbug_http import * @value struct Printer(HTTPService): fn func(self, req: HTTPRequest) raises -> HTTPResponse: let body = req.body_raw print(String(body)) return OK(body) fn main() raises: var server = SysServer() let handler = Printer() server.listen_and_serve("0.0.0.0:8080", handler) चलाएँ, और या जैसे अपने पसंदीदा एपीआई क्लाइंट से पर अनुरोध भेजें। आपको कंसोल पर मुद्रित अनुरोध के बारे में कुछ विवरण देखना चाहिए। mojo my_awesome_service.🔥 इनसोम्निया ब्रूनो 0.0.0.0:8080 बधाई! अब आप आधिकारिक तौर पर मोजो वेब डेवलपर हैं 🔥। उदाहरण में, हम नामक एक वेरिएबल को के साथ प्रारंभ करते हैं (जिसका अर्थ है कि इसे दोबारा असाइन नहीं किया जा सकता है) और इसे स्पष्टता के लिए दूसरे पैरामीटर के रूप में को पास कर देते हैं। handler let listen_and_serve डेकोरेटर जोड़ना वैकल्पिक है: यदि आप एक उन्नत मोजिशियन हैं, तो आप इसके बजाय एक जोड़ सकते हैं। यह वैसे ही काम करेगा; इसे और अन्य उपयोगी तरीकों को स्वचालित रूप से उत्पन्न करता है। @value __init__ कंस्ट्रक्टर विधि @value struct Printer(HTTPService): fn __init__(inout self): print("Printer initialized!") fn func(self, req: HTTPRequest) raises -> HTTPResponse: let body = req.body_raw print(String(body)) return OK(body) आप कह सकते हैं, लेकिन यह सिर्फ एक मार्ग है! आधुनिक एपीआई को इससे कहीं अधिक की आवश्यकता होती है। लाइटबग कुछ बुनियादी रूटिंग भी कर सकता है: @value struct ExampleRouter(HTTPService): fn func(self, req: HTTPRequest) raises -> HTTPResponse: let body = req.body_raw let uri = req.uri() if uri.path() == "/": print("I'm on the index path!") if uri.path() == "/first": print("I'm on /first!") elif uri.path() == "/second": print("I'm on /second!") return OK(body) इसे अपनी में जोड़ें, और इसे सर्वर पर हैंडलर के रूप में पास करें: my_awesome_service.🔥 fn main() raises: var server = SysServer() let handler = ExampleRouter() server.listen_and_serve("0.0.0.0:8080", handler) अब आप अपना ब्राउज़र खोल सकते हैं और परिवर्तनों को देखने के लिए , पर जा सकते हैं। localhost:8080/first localhost:8080/second इस कार्यक्षमता से आपको अपने स्वयं के ऐप्स, लाइब्रेरीज़ और सेवाओं को विकसित करने का आधार मिलना चाहिए जो HTTP का उपयोग करते हैं, साथ ही हल्के ढांचे/टूलकिट जो कि प्रदान कर सकता है, लचीलेपन और अनुकूलन विकल्पों का लाभ उठाते हुए। lightbug_http हम रूटिंग के साथ-साथ ओपनएपीआई विनिर्देश से एपीआई को संलेखन और उत्पन्न करने, आपके डेटा मॉडल को डिजाइन करने और और पैकेज बनाकर भविष्य में वेब अनुप्रयोगों को और भी अधिक मनोरंजक बनाने जैसे अन्य कार्य करने की योजना बना रहे हैं। विवरण के लिए हमारा देखें। lightbug_api lightbug_web रोडमैप के परिचय के लिए बस इतना ही ! आशा है यह उपयोगी था. लाइटबग 🔥🐝 यह एक ओपन-सोर्स, गैर-व्यावसायिक सामुदायिक परियोजना है। कृपया हमारे स्टार करें, में शामिल हों और देखें कि अपने कोड के साथ योगदान कैसे करें, ताकि हम इसे साथी मोजिशियंस के लिए और भी बेहतर बना सकें। जीथब रेपो को डिस्कॉर्ड अगली बार तक!