रूबी ऑन रेल्स 8 का अन्वेषण करें:नई सुविधाएँ और संवर्द्धन
<पी> पहला रेल्स 8 बीटा आधिकारिक तौर पर जारी किया गया है, जो सुविधाओं, बग फिक्स और सुधारों का एक रोमांचक सेट लेकर आया है। यह संस्करण रेल्स 7.2 की नींव पर आधारित है, साथ ही रेल के विकास को और भी अधिक उत्पादक और आनंददायक बनाने के लिए नई सुविधाओं और अनुकूलन को पेश किया गया है। <पी> मुख्य हाइलाइट्स में परेशानी मुक्त तैनाती के लिए कमल 2 के साथ एकीकरण, नई डिफॉल्ट एसेट पाइपलाइन के रूप में प्रॉपशाफ्ट की शुरूआत और व्यापक एक्टिवरिकॉर्ड संवर्द्धन शामिल हैं। रेल्स 8 कई SQLite एकीकरण उन्नयन भी लाता है जो इसे उत्पादन उपयोग के लिए एक व्यवहार्य विकल्प बनाता है। <पी> आइए इसमें गोता लगाएँ और रेल्स 8 द्वारा प्रदान की जाने वाली हर चीज़ का अन्वेषण करें! कमल 2 और थ्रस्टर के साथ सहज तैनाती
<पी> रेल्स 8 आपके एप्लिकेशन को कमल 2 और थ्रस्टर के साथ तैनात करना आसान बनाता है। <पी> कमल 2 कुछ ही मिनटों में क्लाउड वीएम, बेअर मेटल सर्वर या वीपीएनवायरमेंट पर त्वरित और आसान तैनाती को सक्षम करके प्रबंधित क्लाउड सेवाओं और एक सेवा के रूप में प्लेटफ़ॉर्म (PaaS) प्लेटफ़ॉर्म पर निर्भरता की आवश्यकता को कम कर देता है। <पी> एक ही कमांड के साथ (kamal setup ), आप एक मानक लिनक्स बॉक्स पर उत्पादन-तैयार रेल वातावरण स्थापित कर सकते हैं, जिससे तैनाती आसान और लागत प्रभावी दोनों हो जाती है। <पी> कमल 2 थ्रस्टर के साथ भी एकीकृत है, विशेष रूप से रेल्स के लिए निर्मित एक कस्टम प्रॉक्सी जो शून्य-डाउनटाइम परिनियोजन, HTTP/2 समर्थन, लेट्स एनक्रिप्ट के साथ स्वचालित एसएसएल, जीज़िप संपीड़न, और एक ही सर्वर पर कई ऐप्स की आसान होस्टिंग को सक्षम बनाता है - यह सब जटिल सेटअप के बिना। <पी> कमल 2 और थ्रस्टर के साथ, रेल्स 8 ऐप्स को तैनात करना पहले से कहीं अधिक आसान बना देता है। और यदि आप एक अलग परिनियोजन सेटअप पसंद करते हैं, तो आप --skip-kamal का उपयोग करके ऑप्ट आउट कर सकते हैं अपने मौजूदा वर्कफ़्लो को बनाए रखने के लिए फ़्लैग करें। सॉलिड एडेप्टर के साथ लीनर रेल्स परिनियोजन
<पी> रेल्स 8 में बड़े सुधारों में से एक सामान्य वेब एप्लिकेशन आवश्यकताओं को लागू करने के लिए आवश्यक अतिरिक्त सेवाओं की संख्या को कम करके सरल तैनाती है। <पी> परंपरागत रूप से, यदि आपको जॉब क्यू, कैशिंग और पब/सबमैसेजिंग जैसी सुविधाओं की आवश्यकता है, तो आप सहायक कार्यों के लिए Redis के साथ PostgreSQL जैसे डेटाबेस के संयोजन का उपयोग करेंगे। <पी> रेल्स 8 के साथ, आप इन सभी को केवल SQLite के साथ संभाल सकते हैं, तीन नए डेटाबेस-समर्थित एडेप्टर के लिए धन्यवाद:सॉलिड केबल, सॉलिड कैश और सॉलिड क्यू। - <पी> ठोस केबल रेल्स का नया डिफॉल्ट एक्शन केबल एडाप्टर उत्पादन में है और इसका मतलब है कि आप रेडिस पर सामान्य निर्भरता को छोड़ सकते हैं। यह पब/सब सर्वर के रूप में कार्य करता है, जो SQLite के माध्यम से तेज़ पोलिंग का उपयोग करके ऐप और कनेक्टेड क्लाइंट के बीच संदेशों को रिले करता है। मतदान के बावजूद, अधिकांश स्थितियों में सॉलिड केबल का प्रदर्शन रेडिस के बराबर है।
- <पी> ठोस कैश कैशिंग के लिए RAM के बजाय डिस्क स्टोरेज का उपयोग करके Redis की आवश्यकता को प्रतिस्थापित करता है। यह दृष्टिकोण बहुत बड़े, अधिक लागत प्रभावी कैश की अनुमति देता है जो लंबे समय तक चलता है और प्रदर्शन से समझौता किए बिना अधिक अनुरोधों को संभालता है। यह गोपनीयता आवश्यकताओं को पूरा करने के लिए एन्क्रिप्टेड स्टोरेज और रिटेंशन नीतियों का भी समर्थन करता है।
- <पी> ठोस कतार
FOR UPDATE SKIP LOCKED का उपयोग करके रेडिस फॉरएक्टिव जॉबबैकग्राउंड प्रोसेसिंग को प्रतिस्थापित करता है कुशल कार्य प्रबंधन तंत्र (PostgreSQL, MySQL, या SQLite के साथ संगत)। इसमें समवर्ती नियंत्रण, पुनः प्रयास और आवर्ती नौकरियों जैसी आवश्यक सुविधाएं शामिल हैं, और इसने खुद को HEY में साबित किया है, जहां अब यह प्रति दिन 20 मिलियन नौकरियों का प्रबंधन करता है।
<पी> ये तीन एडेप्टर एक सरल विचार के आधार पर डिज़ाइन किए गए हैं:आधुनिक SSDs और NVMedrives कई कार्यों को संभालने के लिए पर्याप्त तेज़ हैं जिनके लिए पहले इन-मेमोरी समाधान की आवश्यकता होती थी। इन तेज़ ड्राइवों का उपयोग करके, रेल्स रेडिस जैसे अलग रैम-आधारित टूल की आवश्यकता को समाप्त कर देता है। SQLite उत्पादन के लिए तैयार है
<पी> SQLite एडाप्टर और रूबीड्राइवर पर व्यापक काम के लिए धन्यवाद, रेल 8 SQLite को एक हल्के विकास उपकरण से उत्पादन उपयोग के लिए एक विश्वसनीय विकल्प में ले जाता है। <पी> ऊपर चर्चा किए गए ठोस एडेप्टर की शुरूआत के साथ, SQLite के पास अब एक्शन केबल, रेल्स.कैश और एक्टिव जॉब को प्रभावी ढंग से पावर देने की क्षमता है, जो केवल प्रोटोटाइप या परीक्षण वातावरण से परे अपनी भूमिका का विस्तार करता है। <पी> रेल 8 में SQLite एकीकरण में कुछ प्रमुख सुधार यहां दिए गए हैं: - पूर्ण-पाठ खोज और वर्चुअल टेबल अब
create_virtual_table का उपयोग करके समर्थित हैं .
- एडेप्टर अब उन्नत डेटा सीडिंग प्रदर्शन के लिए बल्क इंसर्ट फिक्स्चर की अनुमति देता है।
- लेन-देन डिफ़ॉल्ट रूप से
IMMEDIATE पर होता है समवर्तीता में सुधार करने के लिए मोड।
SQLite3::BusyException का अनुवाद करके त्रुटि प्रबंधन को बढ़ाया गया ActiveRecord::StatementTimeout में .
प्रॉपशाफ्ट के साथ एसेट पाइपलाइन के लिए एक नया युग
<पी> रेल्स 8 लंबे समय से चली आ रही स्प्रोकेट प्रणाली की जगह प्रॉपशाफ्ट को नए एसेट पाइपलाइन डिफॉल्ट के रूप में भी पेश करता है। स्प्रोकेट ने एक दशक से अधिक समय तक रेल्सडेवलपर्स को अच्छी सेवा दी, लेकिन इसे एक अलग युग में डिजाइन किया गया था - जावास्क्रिप्ट बिल्ड टूल्स और आधुनिक ब्राउज़र सुधारों के विस्फोट से पहले। <पी> प्रॉपशाफ्ट परिसंपत्तियों के प्रबंधन के लिए एक सरल, आधुनिक दृष्टिकोण को दर्शाता है, जो आज के डेवलपर्स की मुख्य जरूरतों के अनुरूप बनाया गया है। इसका उद्देश्य सीधा है:परिसंपत्तियों के लिए स्पष्ट पथ प्रदान करना और कैशिंग के लिए डाइजेस्ट स्टैम्प लागू करना। <पी> स्प्रोकेट के विपरीत, जिसने कई अतिरिक्त कार्य किए, प्रॉपशाफ्ट केवल आवश्यक चीज़ों पर ध्यान केंद्रित करता है, जो परिसंपत्ति पाइपलाइनों को दुबला रखने के नए रेल दर्शन के साथ स्वाभाविक रूप से फिट बैठता है (जबकि जटिल जावास्क्रिप्ट हैंडलिंग को एस्बिल्ड या वाइट जैसे विशेष उपकरणों के लिए छोड़ दिया गया है)। अंतर्निहित प्रमाणीकरण को सरल बनाया गया
<पी> रेल्स has_secure_password से वर्षों से प्रमाणीकरण के प्रमुख घटकों का निर्माण कर रहा है रेल्स 5 से normalizes में , generates_token_for औरauthenticate_by इनरेल 7.1. <पी> रेल्स 8 के साथ, ये सभी घटक आपको एक सुरक्षित, सत्र-आधारित प्रमाणीकरण प्रणाली के निर्माण के लिए एक सीधा शुरुआती बिंदु देने के लिए एक साथ आते हैं। <पी> एकल कमांड चलाकर, आप डेटाबेस-समर्थित सत्रों और पासवर्ड रीसेट कार्यक्षमता के साथ प्रमाणीकरण प्रणाली के लिए सभी आवश्यक चीजें सेट कर सकते हैं: <पी> यह कमांड मॉडल, नियंत्रक, मेलर्स और व्यू सहित प्रमुख फ़ाइलें उत्पन्न करता है: <पी> यह प्रभावी रूप से आपको सुरक्षित, उत्पादन-तैयार प्रमाणीकरण के लिए तेज़ ट्रैक पर रखता है। जो कुछ बचा है वह आपके एप्लिकेशन की आवश्यकताओं के अनुरूप उपयोगकर्ता साइन-अप प्रवाह को एकीकृत करना है। नया स्क्रिप्ट फ़ोल्डर और जेनरेटर
<पी> रेल्स 8 एक नया script प्रस्तुत करता है एक-बारगी सामान्य-उद्देश्य वाली स्क्रिप्ट, जैसे डेटा माइग्रेशन, क्लीनअप कार्य, या अन्य उपयोगिता संचालन को रखने के लिए समर्पित फ़ोल्डर। यह जोड़ इन स्क्रिप्ट्स को आपके मुख्य एप्लिकेशन लॉजिक से अलग रखते हुए, बड़े करीने से व्यवस्थित करने में मदद करता है। <पी> स्क्रिप्ट निर्माण को आसान बनाने के लिए, एक नया स्क्रिप्ट जनरेटर उपलब्ध है। आप एक साधारण कमांड से स्क्रिप्ट तैयार कर सकते हैं: <पी> ये कमांड संबंधित स्क्रिप्ट फ़ाइलें बनाते हैं, जिन्हें आप इसके साथ निष्पादित कर सकते हैं: <पी> यह सुव्यवस्थित दृष्टिकोण आपके एप्लिकेशन को व्यवस्थित रखता है और कस्टम स्क्रिप्ट को संभालने को अधिक सुविधाजनक और रखरखाव योग्य बनाता है। कई सक्रिय रिकॉर्ड सुधार
<पी> सक्रिय रिकॉर्ड ने प्रदर्शन में सुधार करने, माइग्रेशन को सरल बनाने, समस्या निवारण में सुधार करने और जटिल डेटाबेस उपयोग मामलों के लिए बेहतर समर्थन प्रदान करने के लिए रेल 8 में प्रमुख संवर्द्धन भी देखा है। <पी> इस नवीनतम संस्करण में पेश किए गए कुछ प्रमुख परिवर्तन नीचे दिए गए हैं: - रेल 8 अब
float4 के बीच अंतर करता है और float8 PostgreSQL में.
drop_table अब एक साथ कई तालिकाओं को छोड़ने का समर्थन करता है।
- PostgreSQL के साथ एक तालिका बनाते समय उन्नत विकल्पों के लिए समर्थन, जिसमें वंशानुक्रम और विभाजन शामिल है।
- डेटा सीडिंग प्रदर्शन को बेहतर बनाने के लिए अब फिक्स्चर के थोक इंसर्ट का समर्थन किया जाता है।
- एक नए डेटाबेस को माइग्रेट करना अब माइग्रेशन चलाने से पहले डेटाबेस स्कीमा को लोड करके शुरू होता है।
create_schema और drop_schema परिचालन अब प्रतिवर्ती हैं।
- डेटाटाइमविथ प्रिसिजन जैसी प्रगति के कारण रेल 8 को अब MySQL 5.6.4 या बाद के संस्करण की आवश्यकता है।
- एप्लिकेशन कोड पर वापस SQLस्टेटमेंट का पता लगाने और यह पहचानने के लिए कि कौन सा डेटाबेस उपयोग में है, विकास परिवेश में क्वेरी लॉग टैग डिफ़ॉल्ट रूप से सक्षम होते हैं।
समापन
<पी> रेल्स 8 प्रभावशाली अपडेट की एक श्रृंखला प्रस्तुत करता है, जिसमें कमल के साथ आसान तैनाती और एक आधुनिक परिसंपत्ति पाइपलाइन से लेकर महत्वपूर्ण एक्टिवरिकॉर्ड संवर्द्धन और SQLite के लिए बेहतर उत्पादन क्षमताएं शामिल हैं। <पी> ये प्रगति न केवल डेवलपर उत्पादकता को बढ़ावा देती है बल्कि आधुनिक सर्वोत्तम प्रथाओं के साथ संरेखित होती है, जिससे आप बुनियादी ढांचे की जटिलताओं से निपटने के बजाय अपने एप्लिकेशन के निर्माण पर ध्यान केंद्रित कर सकते हैं। <पी> सभी नई सुविधाओं, अनुकूलन और परिवर्तनों की विस्तृत सूची के लिए, आधिकारिक रेल 8 रिलीज़ नोट्स देखें। <पी> यदि आप रेल्स में योगदान देने में शामिल होना चाहते हैं, तो खुले मुद्दों का पता लगाने और योगदान दिशानिर्देशों की समीक्षा करने के लिए रेल्स गिटहब रिपोजिटरी पर जाएं। <पी> पढ़ने के लिए धन्यवाद! <पी> पी.एस. यदि आप प्रेस से हटते ही रूबी मैजिक पोस्ट पढ़ना चाहते हैं, तो हमारे रूबी मैजिक न्यूज़लेटर की सदस्यता लें और एक भी पोस्ट न चूकें! पी>
डेमिलोला ओलाटुनजी
<पी> डेमिलोला नाइजीरिया के लागोस में स्थित एक स्वतंत्र तकनीकी लेखक और सॉफ्टवेयर डेवलपर हैं। वह जावास्क्रिप्ट और Node.js में विशेषज्ञ हैं, और उनका लक्ष्य डेवलपर्स के लिए संक्षिप्त और व्यावहारिक लेख वितरित करना है। जब वह लिख या कोडिंग नहीं कर रहा होता, तो उसे पढ़ना, गेम खेलना और यात्रा करना अच्छा लगता है। <पी> डेमिलोला ओलाटुनजी द्वारा सभी लेख