Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Ruby

रेल 8 का अनावरण:मुख्य विशेषताएं और तैनाती की स्वतंत्रता

<पी> रेल्स 8 अंततः यहाँ है, और यह बहुत ही रोमांचक तरीके से चीजों को हिला रहा है। यदि आप पहले से ही रेल समुदाय में सक्रिय हैं, तो आपने टैगलाइन सुनी होगी:"कोई PaaS आवश्यक नहीं।"

<पी> यह एक असामान्य (लेकिन आश्चर्य की बात नहीं) मिशन है - यह रिलीज़ पूरी तरह से फीचर्ड प्लेटफ़ॉर्म-ए-ए-सर्विस (PaaS) की आवश्यकता के बिना आपके रेल ऐप्स को तैनात करना आसान बनाने के बारे में है।

<पी> प्लेटफ़ॉर्म डेवलपर्स को उनके कोड को चलाने वाले अंतर्निहित बुनियादी ढांचे को प्रबंधित किए बिना अपने ऐप्स को वेब पर लाने का एक तरीका प्रदान करते हैं। हेरोकू, रेंडर, फ्लाई और रेलवे जैसे व्यवसाय रेल समुदाय में लोकप्रिय विकल्प रहे हैं। डेवलपर अक्सर डेवलपर अनुभव प्लेटफ़ॉर्म ऑफ़र के लिए कुछ अतिरिक्त होस्टिंग लागतों का व्यापार करने को तैयार रहते हैं, लेकिन रेल्स की यह रिलीज़ उस व्यापार को थोड़ा कम आकर्षक बनाने की कोशिश कर रही है।

<पी> इस लेख में, हम उन नई और बेहतर सुविधाओं की समीक्षा करेंगे जिन्होंने इसे संभव बनाया है। सॉलिड कैश, सॉलिड क्यू और सॉलिड केबल जैसी चीजें रेल्स 8 में नई हैं और कुछ निर्भरताएँ हटा देती हैं जिनकी हमें ज़रूरत होती थी (जैसे कि रेडिस)। कमल 2 अब तैनाती के लिए डिफ़ॉल्ट है, और नए प्रमाणीकरण जनरेटर हैं जो एक और रत्न की आवश्यकता को दूर करते हैं। आइए इसमें शामिल हों।

रेल 8 में क्या बदलाव आया?

<पी> रेल (और विशेष रूप से रेल 8) वास्तव में चाहता है आपके लिए प्लेटफ़ॉर्म के लिए भुगतान किए बिना एप्लिकेशन को उत्पादन के लिए भेजना आसान बनाना। रेल्स की इस रिलीज़ में अधिकांश बदलाव उसी मिशन के इर्द-गिर्द घूमते हैं - बिना किसी PaaS की आवश्यकता के, रेल अनुप्रयोगों को स्वयं होस्ट करने में लगने वाले काम को कम करना!

<पी> रेल 8 का अनावरण:मुख्य विशेषताएं और तैनाती की स्वतंत्रता आइए प्रत्येक बड़े बदलाव पर करीब से नज़र डालें।

रेडिस-मुक्त कैशिंग के लिए सॉलिड कैश

<पी> रेल ActiveSupport का उपयोग करती है चीजों को कैश करना, जो वेब ऐप्स को प्रदर्शनशील बनाने के लिए महत्वपूर्ण है। ऐतिहासिक रूप से लोग कैशिंग के लिए रेडिस पर निर्भर रहे हैं क्योंकि यह तेज़ और विश्वसनीय है।

<पी> सॉलिड कैश को कुछ समय पहले ActiveSupport के लिए रेडिस-मुक्त कैश स्टोर के रूप में जारी किया गया था पिछले कुछ समय से इसका उपयोग 37सिग्नल और अन्य पर किया जा रहा है, और रेल्स अब इसे डिफ़ॉल्ट विकल्प के रूप में प्रचारित कर रहा है। क्योंकि यह रैम के बजाय कैश स्टोर के लिए डेटाबेस (डिफ़ॉल्ट रूप से SQLite) का उपयोग करता है, आपके पास सामान्य से कहीं अधिक कैश करने में सक्षम होने का अतिरिक्त बोनस है। डेटाबेस स्थान RAM की तुलना में सस्ता है, इसलिए कैशिंग सिस्टम का समर्थन करने के लिए डेटाबेस का उपयोग करना RAM का उपयोग करने की तुलना में धीमा है, अधिक चीजों को लंबे समय तक कैश करने की क्षमता कुछ ऐप्स को और भी अधिक प्रदर्शनशील बना सकती है।

<पी> यह प्रदर्शन ट्रेडऑफ़ कुछ उपयोग के मामलों के लिए बहुत अच्छा है लेकिन दूसरों के लिए आदर्श नहीं हो सकता है, इसलिए अन्य कैश स्टोर में से किसी एक का उपयोग करना अभी भी आसान है। डिफ़ॉल्ट रूप से Redis या Memcached की आवश्यकता को हटाने से आप रेल्स के "No Paa Required" मिशन के एक कदम और करीब पहुँच जाते हैं।

रेडिस-मुक्त पृष्ठभूमि नौकरियों के लिए ठोस कतार

<पी> आप शायद पहले से ही जानते हैं कि रेल ActiveJob का उपयोग करती है आपके लिए पृष्ठभूमि कार्य लिखना और चलाना आसान बनाने के लिए लाइब्रेरी। कैशिंग की तरह, रेल्स आपको उस बैकएंड का चयन करने देता है जो ActiveJob को शक्ति प्रदान करता है . बहुत से लोग साइडकीक या अच्छी नौकरी पसंद करते हैं, लेकिन आज अधिकांश विकल्पों में दो समस्याएं हैं:

  • वे आयात, प्रबंधन और संभावित रूप से भुगतान करने के लिए एक और निर्भरता हैं
  • वे Redis जैसी किसी अन्य सेवा पर निर्भर रहते हैं (जिसे आपको होस्ट करना, प्रबंधित करना और संभावित रूप से भुगतान करना होता है)
<पी> सॉलिड क्यू रेडिस पर भरोसा किए बिना पृष्ठभूमि नौकरियों का प्रबंधन करके इन दोनों को हल करना चाहता है। यदि आप साइडकीक या किसी अन्य कतार प्रदाता का उपयोग कर रहे हैं जो रेडिस पर निर्भर है, तो सॉलिड क्यू एक विकल्प है जो जटिलता को कम करता है और होस्टिंग को आसान बनाता है। सॉलिड कैश की तरह, सॉलिड क्यू पृष्ठभूमि नौकरियों पर नज़र रखने के लिए रैम के बजाय एप्लिकेशन के डेटाबेस का उपयोग करता है। यह एक और सुविधा है जो रेल अब निर्भरता को कम करने और उत्पादन परिनियोजन को सरल बनाने के लिए डिफ़ॉल्ट रूप से प्रदान कर रही है।

रेडिस-मुक्त वेब सॉकेट के लिए सॉलिड केबल

<पी> डेवलपर्स के लिए रीयल-टाइम सुविधाओं के लिए वेब सॉकेट का उपयोग करना आसान बनाने के लिए रेल एक्शन केबल का उपयोग करता है। ऐतिहासिक रूप से, इसके लिए रेडिस की आवश्यकता है। आप शायद अनुमान लगा सकते हैं कि यह कहाँ जा रहा है!

<पी> 'सॉलिड' थीम को ध्यान में रखते हुए, रेल्स 8 एक अन्य डिफ़ॉल्ट डेटाबेस-समर्थित एडाप्टर के साथ आता है। आपको ज़रूरत नहीं है इसका उपयोग करने के लिए, लेकिन यदि आप वेब सॉकेट का उपयोग करना चाह रहे हैं और आप Redis को कॉन्फ़िगर करने और बनाए रखने से बचना चाहते हैं, तो यह एक उत्कृष्ट प्रथम-पक्ष विकल्प है। सॉलिड कैश और सॉलिड क्यू के साथ, सॉलिड केबल रेडिस की आवश्यकता को हटाकर और डेटाबेस पर झुकाव करके PaaS के बिना रेल एप्लिकेशन को शिप करना और भी आसान बना देता है।

आसान तैनाती के लिए कमल 2

<पी> रेल्स 8 में अगली नई सुविधा सॉलिड एडेप्टर से काफी अलग है। फिर भी, कमल (और विशेष रूप से कमल 2) आपके अपने हार्डवेयर के साथ एप्लिकेशन शिप करना अधिक सरल बनाता है। क्योंकि डॉकर ने सॉफ्टवेयर को मॉड्यूलर बनाना आसान बना दिया है, भाषा की परवाह किए बिना डॉकर कंटेनरों को शिप करने के लिए सॉफ्टवेयर का एक टुकड़ा रखना पूरी तरह से समझ में आता है।

<पी> मेरी राय में, कमल, बाकी रेल्स 8 के साथ जोड़े जाने पर भी, वास्तव में अधिकांश प्लेटफार्मों के डेवलपर अनुभव को नहीं छू सकता है। फिर भी, यह इसे बहुत आसान बनाता है अपने स्वयं के वेब सर्वर पर सॉफ़्टवेयर भेजने के लिए, भले ही आप रेल का उपयोग नहीं कर रहे हों! हो सकता है कि यह PaaS का पूर्ण प्रतिस्थापन न हो, लेकिन एक बार जब आपका आरंभिक सेटअप पूरा हो जाए, तो kamal deploy चालू हो जाएगा स्वयं तैनाती करने की तुलना में यह एक बड़ा सुधार है।

प्रमाणीकरण जनरेटर (बिना डिवाइस के!)

<पी> यदि आप एक रेल ऐप बना रहे हैं जिसमें उपयोगकर्ता हैं , आपको संभवतः प्रमाणीकरण की आवश्यकता होगी। अब तक, रेल्स ने ढांचे के हिस्से के रूप में प्रमाणीकरण को शामिल नहीं किया है। रेल डेवलपर्स को प्रमाणीकरण लिखने में मदद करने के लिए समुदाय के पास कई बेहतरीन समाधान हैं, जिनमें से सबसे लोकप्रिय डेविस है।

<पी> प्रमाणीकरण जनरेटर के साथ 8 जहाजों को रेल करता है . यह पूर्ण प्रमाणीकरण प्रणाली नहीं है, लेकिन यह आपको महत्वपूर्ण भागों (जैसे सुरक्षा) को ठीक करने में मदद करने के लिए पर्याप्त है। लॉगिन और उपयोगकर्ता साइन-अप प्रवाह को संभालने के लिए दृश्य लिखना डेवलपर पर निर्भर है, लेकिन जनरेटर सत्र, पासवर्ड प्रमाणीकरण और यहां तक ​​कि पासवर्ड ईमेल भी संभाल लेंगे। डीएचएच ने इस बारे में थोड़ी बात की है कि कैसे प्रमाणिकताओं में विचारों को बाहर करने का विकल्प जानबूझकर किया गया है ताकि रेल ऐप्स को सभी समान दिखने से रोका जा सके।

<पी> इन नए जनरेटरों को जोड़ने से शिपिंग अनुप्रयोगों को सीधे तौर पर सरल नहीं बनाया जा सकता है, लेकिन यह वेब अनुप्रयोगों के निर्माण में एक आम समस्या के लिए प्रथम-पक्ष समाधान प्रदान करता है जो रेल बहुत लंबे समय से गायब है।

एसेट पाइपलाइन के लिए प्रॉपशाफ्ट

<पी> रेल्स 8 में सबसे बड़े (हुड के नीचे) परिवर्तनों में से एक डिफ़ॉल्ट परिसंपत्ति पाइपलाइन के लिए स्प्रोकेट से प्रॉपशाफ्ट की ओर बढ़ना है। यदि आप चाहते हैं या इसका उपयोग करने की आवश्यकता है, तो रेल अभी भी स्प्रोकेट का समर्थन करती है, लेकिन नई रेल 8 8 एप्लिकेशन प्रॉपशाफ्ट पर डिफ़ॉल्ट हैं।

<पी> प्रॉपशाफ्ट नहीं के बारे में बहुत विचारशील है संपत्तियों को बंडल करना या छोटा करना। जिस तरह रेल्स PaaS को अनावश्यक बनाने की कोशिश कर रही है, उसी तरह वह जटिल निर्माण पाइपलाइनों को भी अनावश्यक बनाने की कोशिश कर रही है। रेल्स 8 में कई अन्य नए डिफॉल्ट्स की तरह, आप रेल्स के पुराने संस्करणों के साथ प्रॉपशाफ्ट का उपयोग कर सकते हैं और फिर भी रेल्स 8 के लिए स्प्रोकेट का उपयोग कर सकते हैं!

SQLite और रेल्स

<पी> जबकि SQLite वास्तव में रेल्स का हिस्सा नहीं है, इस रिलीज़ के साथ रेल्स SQLite पर और भी अधिक झुक रहा है। SQLite एक सर्वर रहित डेटाबेस इंजन है, जो इसे Postgres जैसी किसी चीज़ से सरल बनाता है। यदि आपका रेल एप्लिकेशन SQLite का उपयोग करता है, तो आपको अपनी वेब प्रक्रिया से अलग से चलने वाली डेटाबेस प्रक्रिया की आवश्यकता नहीं होगी। बेशक, यह रेल्स 8 के मिशन के बहुत अनुरूप है, जिससे वेब एप्लिकेशन शिप करना आसान हो गया है।

<पी> SQLite के लिए प्रथम-पक्ष समर्थन के साथ रेल 8 जहाज, यह सुनिश्चित करते हुए कि यह आपके पारंपरिक डेटाबेस की जरूरतों को संभालने और नए डेटाबेस-समर्थित सॉलिड एडेप्टर का समर्थन करने के लिए पर्याप्त शक्तिशाली है।

रेल 8 में हर नई चीज़ प्लेटफ़ॉर्म को कम आवश्यक बनाने के बारे में है

<पी> यदि आप मौजूदा रेल्स ऐप को रेल्स 8 में अपग्रेड कर रहे हैं, तो अपग्रेड पूरा करने के लिए आपको बहुत कुछ करने की ज़रूरत नहीं है। केवल कुछ चीज़ें हटाई गईं, अधिकतर Active Record में , जिसके पास पहले से ही कुछ समय के लिए अवमूल्यन नोटिस थे। बेशक, आप अपने एप्लिकेशन परिनियोजन को सरल बनाने के लिए सभी "रेल 8 में नए" डिफ़ॉल्ट का लाभ उठा सकते हैं, लेकिन यह वैकल्पिक है।

<पी> रेल्स 8 में सबसे बड़ा बदलाव नए रेल ऐप्स के लिए है! नए रेल ऐप्स बैकग्राउंड जॉब के लिए सॉलिड क्यू, कैशिंग के लिए सॉलिड कैश, वेब सॉकेट के लिए सॉलिड केबल, एसेट पाइपलाइन के लिए प्रॉपशाफ्ट और तैनाती के लिए कमल 2 पर डिफ़ॉल्ट होंगे।

<पी> रेल्स हाल ही में जटिलता को कम करने और आधुनिक वेब ऐप्स बनाने के लिए एक पूर्ण-विशेषताओं वाला ढांचा प्रदान करने के मिशन पर है। रेल्स 8 बनाने से आगे बढ़ती है वेब ऐप्स और शिपिंग में मौजूदा विकल्पों के साथ संगत रहते हुए वेब ऐप्स।

<पी> आप रेल्स 8 डिफॉल्ट्स में से सभी, कुछ या किसी का भी उपयोग कर सकते हैं और यदि आप डेवलपर अनुभव को पसंद करते हैं तो फिर भी एक प्लेटफ़ॉर्म का उपयोग कर सकते हैं। लेकिन इस रिलीज़ का उद्देश्य आपको प्लेटफ़ॉर्म को छोड़ने और अपने बुनियादी ढांचे का अधिक स्वामित्व लेने का विकल्प देना है।

<पी> यदि आपको यह लेख अच्छा लगा हो, तो सीधे अपने इनबॉक्स में अधिक रूबी और रेल्स समाचार और ट्यूटोरियल के लिए हनीबेजर न्यूज़लेटर के लिए साइन अप करें!


  1. HTML DOM इनपुट टेक्स्ट ऑटोफोकस प्रॉपर्टी HTML DOM इनपुट टेक्स्ट ऑटोफोकस प्रॉपर्टी

    HTML DOM इनपुट टेक्स्ट ऑटोफोकस गुण HTML तत्व के ऑटोफोकस विशेषता से जुड़ा है। इस संपत्ति का उपयोग यह निर्धारित करने या वापस करने के लिए किया जाता है कि पृष्ठ लोड होने पर इनपुट टेक्स्ट फ़ील्ड स्वचालित रूप से केंद्रित होनी चाहिए या नहीं। सिंटैक्स − . के लिए वाक्य रचना निम्नलिखित है ऑटोफोकस गुण सेट क

  1. जब आप एक पूर्णकालिक नौकरी वाले माता-पिता हों तो कोड करना सीखना [देव साक्षात्कार] जब आप एक पूर्णकालिक नौकरी वाले माता-पिता हों तो कोड करना सीखना [देव साक्षात्कार]

    अरे सब लोग! मैं एक नई श्रृंखला शुरू करना, उन डेवलपर्स के साथ चैट करना जो कोडिंग सीख रहे हैं या जिन्होंने करियर में बदलाव किया है। यह इंटरव्यू ओवेन के साथ है, जो इंस्टाग्राम पर प्रोग्रामर कम्युनिटी का हिस्सा हैं। मुझे लगा कि पूर्णकालिक नौकरी करते हुए कोडिंग सीखने की उनकी ईमानदार साझेदारी और एक छो

  1. एंड्रॉइड में बाएं से दाएं स्लाइड एनीमेशन बनाएं? एंड्रॉइड में बाएं से दाएं स्लाइड एनीमेशन बनाएं?

    यह उदाहरण दर्शाता है कि मैं android में बाएँ से दाएँ ओर एनिमेशन कैसे बना सकता हूँ। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें। चरण 3 -