2008-10-08 12 views
29

मैं वर्तमान में ग्रोवी और ग्रेल्स के साथ काम कर रहा हूं। जबकि ग्रोवी मूल रूप से जावा के बाद से बहुत सीधी आगे है, मैं नहीं कह सकता कि मैं ग्रिल ग्रेल्स हूं। मैंने पढ़ा है कि ग्रोवी Grails के लिए है क्योंकि रूबी रेल पर रूबी है, लेकिन इसका क्या मतलब है?प्रोग्रामिंग भाषा के लिए "रेल पर" होने का क्या अर्थ है?

उत्तर

38

रूपक के साथ आपके भ्रम को दूर करने के लिए (हालांकि इसे अन्य शब्दों में उत्तर दिया गया है आपका प्रश्न):

ग्रोवी ग्रेल्स के लिए है क्योंकि रूबी रेल पर रूबी है, लेकिन इसका क्या अर्थ है?

Grails ग्रोवी प्रोग्रामिंग भाषा के साथ/साथ ग्रोवी के लिए एक ही काम करने के लिए बनाया गया एक वेब ढांचा था जो रूबी के लिए रेल (रूबी के लिए एक वेब ढांचा) करता है।


"रेल पर" होने का क्या अर्थ है?

इसका उत्तर इन वेब ढांचे के सार के नीचे आता है।

ये वेब चौखटे (Grails & रेल) ​​"विन्यास से अधिक सम्मेलन" के आधार, कि आम सम्मेलनों का उपयोग कर वेब अनुप्रयोगों को विकसित करने में अधिक उत्पादकता और अधिक maintainable अनुप्रयोगों (यह एक सकल सामान्यीकरण है) को जन्म दे सकता है जिसका मतलब है पर बनाया जाता है ।और एक सम्मेलन को परिभाषित करके और उस पर चिपके हुए आप पाएंगे कि आपके अनुप्रयोग उत्पन्न करने के लिए आसान हैं और उठने और चलाने के लिए जल्दी हैं।

यह ट्रेन के समान ही "रेल पर" होने का मतलब है। जब एक नया ट्रेन मार्ग विकसित किया जाता है तो ट्रेन को एक स्थान से दूसरे स्थान पर जाने के तरीके को पुनर्जीवित करने की कोई चिंता नहीं होती है, इसे दशकों तक एक ही सम्मेलन द्वारा हल किया जाता है: रेल। जैसे ही ट्रेन मार्ग पर ट्रैक दो स्थानों से अपना रास्ता बाधित करते हैं, सम्मेलन-आधारित वेब ढांचे अनुप्रयोग डेवलपर्स की लचीलापन के लिए सम्मेलनों का उपयोग करते हैं ताकि वे अपने आवेदन की आवश्यक व्यावसायिक समस्या पर ध्यान केंद्रित कर सकें।

वेब ढांचे के लिए एक सम्मेलन का एक प्रमुख लाभ यह है कि वेब ढांचा अब इस बात पर धारणा कर सकता है कि आवेदन की कुछ परतें कैसे हुक करती हैं। रेल में, कोई आमतौर पर यह मान सकता है कि यदि किसी की डेटाबेस तालिका में बहुवचन नाम है, तो उस तालिका में मैप किए गए ActiveRecord क्लास के समान एकवचन नाम होगा। नतीजतन, रेल कोड जनरेटर डाटा-मैपिंग जानकारी का उपयोग डेटा एक्सेस कोड जैसे गतिशील खोजकर्ता, माइग्रेशन, आलसी लोडेड एसोसिएशन ट्रैवर्सल इत्यादि उत्पन्न करने के लिए कर सकते हैं। कॉन्फ़िगरेशन-आधारित ढांचे में यह डेटा एक्सेस कोड हाथ से कोड के लिए श्रमिक है।

7

Rails डेटाबेस बैक-एंड के साथ वेब अनुप्रयोगों के विकास के लिए एक ढांचा है। मुझे लगता है कि मूल रूप से नाम शब्दों पर एक खेल था। एक ट्रेन आपको वास्तव में तेज ले सकती है, लेकिन केवल रेलवे कहां जाती है।

1

यह एक मोटर वाहन अभिव्यक्ति है। जब कोई कार असाधारण रूप से अच्छी तरह से संभालती है, तो इसे "रेल पर ड्राइविंग की तरह कोने" कहा जाता है (यानी यह आपको उत्कृष्ट नियंत्रण देता है)।

मुझे नहीं पता कि रेलवे लोगों को वह नाम कहाँ मिला है, लेकिन इस तरह मैंने इसका अर्थ लिया।

0

यह एक रूपक है, और मुझे लगभग कहा गया है कि समझाए जाने की आवश्यकता है। वैसे भी, यह रूबी पर रूबी के लिए एक बेहद अच्छा रूपक है। यह सामान्य सामान (जाने के लिए) करना बेहद आसान बनाता है, i। ई। परीक्षण, सत्यापन, तैनाती, एमवीसी।

8

मुझे लगता है कि एक रूपरेखा है कि "रेल की तरह" होने का प्रयास कई बातें करने के लिए संदर्भित करता है:

  • मॉडल स्तरीय: एक एआर नमूनों ORM (बल्कि datamapper से), माइग्रेशन या कुछ स्वचालित स्कीमा और मॉडल-परत प्रबंधन, आवेदन में विदेशी कुंजी से निपटने (डेटाबेस स्कीमा में नहीं, और भी संग्रहित प्रक्रियाओं या शुद्ध डीबीएमएस तर्क का उपयोग नहीं)

  • TDD प्रोत्साहित किया: यूनिट-परीक्षण के लिए स्वचालित रूप से उत्पन्न कंकाल,

  • नामकरण सम्मेलनों डेटाबेस तालिका नाम और मॉडल के नाम, नियंत्रक जोड़ने और ajax libs के साथ बाकी वास्तुकला पर

  • सुव्यवस्थित मार्ग मान्यता और मार्ग पीढ़ी योजना

  • जोर कार्यों और एचटीएमएल टेम्पलेट्स देखने

  • एकीकरण: आर.जे. , प्रोटोटाइप और स्क्रिप्टैकस

1

वास्तव में संक्षिप्त और सरल उत्तर: कॉन्फ़िगरेशन पर सम्मेलन।

+0

अच्छा, छोटा और मीठा, मेरा जवाब circumlocution की श्रेणी के अंतर्गत आ सकता है ... – codeLes

1

जैसा कि ऊपर बताया गया है, रेल और Grails वेब अनुप्रयोग विकास के लिए सम्मेलन प्रदान करते हैं - अपने टुकड़ों को एक निश्चित तरीके से नामित करते हैं और उन्हें सही जगहों पर डालकर आपके आवेदन को बिना किसी अतिरिक्त कॉन्फ़िगरेशन के डिफ़ॉल्ट रूप से काम करते हैं। जब आप सम्मेलन से विचलित होना चाहते हैं, तो आप वहां अपना रास्ता कॉन्फ़िगर कर सकते हैं।

14

कई लोगों ने रेल/ग्रेल्स को जो कुछ भी बनाया है, उसकी तकनीकीताओं का उल्लेख किया है। रेल लोगों/Grails में "रेल" होने के नाते कई लोगों ने "विन्यास पर सम्मेलन" का भी उल्लेख किया है। यह सच के करीब हो रहा है। लेकिन यह रेल की व्यापक philisophy की सिर्फ एक विशेषता है, जो opinionated software की अवधारणा है।

ओपिनियोनेटेड सॉफ़्टवेयर को केवल तकनीकी शर्तों में वर्णित नहीं किया जा सकता है; यह एक दर्शन है; एक आचार; an attitude। इसकी तरह या hate it, कि रेल के दिल में क्या है।

रेल स्वच्छंद है सॉफ्टवेयर:

यहाँ एक 2005 interview with David Heinemeier Hansson, रेल के निर्माता से एक exceprt है। यह प्राथमिक स्थिति में सॉफ्टवेयर के पुराने आदर्शों को रखने में मदद करता है। उन आदर्शों में से एक लचीलापन है-धारणा है कि हमें जितना संभव हो सके उतने दृष्टिकोण को समायोजित करने की कोशिश करनी चाहिए, कि हमें एक दूसरे के विकास पर निर्णय नहीं देना चाहिए। खैर, रेल करता है, और मेरा मानना ​​है कि यही कारण है कि यह काम करता है।

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

बाद में साक्षात्कार भी है कि explores the subject

तो 'रेल पर' होने के नाते 'राय' होने के लिए एक रूपक है, यही कारण है कि इसे नाम दिया गया है। वह और तथ्य यह है कि "रूबी ऑन रेल" आवंटित है, जो कोई भी पत्रकार या लेखक आपको बताएगा, लोगों का ध्यान आकर्षित करने का एक निश्चित तरीका है।

0

मैं "रेल पर विन्यास पर सम्मेलन के बारे में एक दर्शन है" की अन्य टिप्पणियों से असहमत हूं।

जबकि रेल उन दर्शनों का पालन करते हैं, "रूबी ऑन रेल" एक वेब ढांचे का नाम है। न कुछ ज्यादा, न कुछ कम। यह इसके बारे में किसी विशिष्ट "ऑन-रेलनेस" का जिक्र नहीं कर रहा है, यह मैकडॉनल्ड्स का ब्रांड नाम है, वैसे ही यह एक ब्रांड नाम है।

यदि कोई और कोई अन्य ढांचा लिखता है और इसे "रेल पर पाइथन" कहते हैं तो एक और ब्रांड नाम होगा। यदि नहीं, "रेल पर XYZ" का मतलब है कि लोगों को भ्रमित किया जा रहा है।

4

रेलों पर होने का मतलब है कि आप कहां जा रहे हैं इसे नियंत्रित नहीं कर सकते हैं। इसका मतलब है, आप केवल तभी जा सकते हैं जहां रेल लगाए गए हैं। रेलवे रखने वाले लोगों ने जाने का कोई प्रयास नहीं किया था, जिससे आप निराशा की ओर अग्रसर होंगे।

+1

+1 वह वह वह :-) हालांकि मुझे पूरा यकीन नहीं है कि मैं आपसे सहमत हूं, यह एक मजेदार जवाब है और यह मारा जाता है रेल समुदाय में सबसे गर्म बहस। –

1

रुबी और ग्रोवी भाषाएं हैं।

रेल पर रूबी एक ग्राउंड ब्रेकिंग वेबपैप फ्रेमवर्क है। उपरोक्त राय वाले सॉफ्टवेयर पर उत्कृष्ट उत्तर देखें।

इतिहास के मामले में, ग्रोवी वेबैप ढांचे के लिए एक कार्य शीर्षक रेल पर ग्रोवी था। हालांकि आरओआर समुदाय ने विरोध किया। टीम ने Grails इसके बजाय चुना।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^