रूबी बंद पटरियों


114

कभी-कभी यह महसूस होता है कि मेरी कंपनी रूबी का उपयोग करने वाली दुनिया की एकमात्र कंपनी है, लेकिन रूबी ऑन रेल्स का उपयोग नहीं करती है, इस बिंदु पर कि रेल लगभग रूबी का पर्याय बन गई है।

मुझे यकीन है कि यह वास्तव में सच नहीं है, लेकिन गैर-रूबी रूबी के बारे में कुछ कहानियाँ सुनने में मज़ा आएगा।

जवाबों:


51

रूबी के विशाल लाभों में से एक डीएसएल को बहुत आसानी से बनाने की क्षमता है। रूबी आपको एक प्राकृतिक भाषा तरीके से "व्यावसायिक नियम" बनाने की अनुमति देता है जो आमतौर पर एक व्यापार विश्लेषक के लिए उपयोग करने के लिए पर्याप्त आसान होता है। वेब विकास के बाहर कई रूबी ऐप इस उद्देश्य के लिए मौजूद हैं।

मैं कुछ उत्कृष्ट पढ़ने के लिए Googling "रूबी डीएसएल" की सिफारिश करता हूं, लेकिन मैं आपको विशेष रूप से एक पोस्ट के साथ छोड़ना चाहूंगा। Russ Olsen ने DSLs पर एक दो भाग ब्लॉग पोस्ट लिखा । मैंने उसे डीएसएलएस पर एक प्रस्तुति देते देखा और यह बहुत अच्छा था। मैं इन पोस्टों को पढ़ने की अत्यधिक सलाह देता हूं।

मुझे ओबी फर्नांडीज द्वारा रूबी डीएसएल पर यह उत्कृष्ट प्रस्तुति भी मिली । अत्यधिक पढ़ने की सिफारिश की!


4
रूबी में डिजिटल सब्सक्राइबर लाइन?

5
डोमेन विशिष्ट भाषा
छत्तीसगढ़

18

मैं अपने काम में बड़े पैमाने पर रूबी का उपयोग करता हूं, और इसमें से कोई भी रेल (या यहां तक ​​कि वेब) आधारित नहीं है।

मेरा डोमेन आमतौर पर क्लाइंट-साइड विंडोज एप्लिकेशन (wxRuby GUI) और स्क्रिप्ट, ऑटोमेटिंग एक्सेल, इंटरनेट एक्सप्लोरर, SQL सर्वर क्वेरी और रिपोर्ट जनरेशन (win32ole COM ऑटोमेशन) है। मैं विभिन्न डेटा मुंगिंग और ग्राफ पीढ़ी के कार्यों के लिए साइक्लाइट, पीडीएफ-लेखक और ग्रूफ़ लाइब्रेरीज़ का भी उपयोग करता हूं।

रूबी के लिए रेल्स की सफलता बहुत अच्छी रही है, लेकिन मैं सहमत हूं कि रेल्स को इतना ध्यान दिया गया है कि वेब से परे रूबी के मूल्य की अक्सर अनदेखी की जाती है।


17

हम मुख्य रूप से एक C ++ दुकान हैं, लेकिन हमने कई ऐसे क्षेत्र पाए हैं जहाँ रूबी काफी उपयोगी साबित हुई है। यहाँ कुछ है:

  • कोड जेनरेशन - सिंगल इनपुट फाइल्स से C ++ / Java / C # कोड जनरेट करने के लिए कई डीएसएल बनाए गए
  • समर्थन बनाएँ
    • स्क्रिप्ट दृश्य स्टूडियो प्रोजेक्ट फ़ाइलों से यूनिक्स के लिए मेकफाइल्स उत्पन्न करने के लिए
    • परियोजनाओं के निर्माण और क्रूज़ नियंत्रण के लिए आउटपुट स्वरूपण के लिए स्क्रिप्ट
    • हमारी यूनिट परीक्षण चलाने और क्रूज़ नियंत्रण के लिए आउटपुट स्वरूपण के लिए स्क्रिप्ट
    • दृश्य स्टूडियो परियोजनाओं और कमांड लाइन से समाधान में हेरफेर करने के लिए स्क्रिप्ट
  • एकीकरण टेस्ट - हम C ++ की तुलना में रूबी का उपयोग करके बहुत तेज और क्लीनर परीक्षणों को क्रैंक कर सकते हैं
  • क्यूए का पूरा परीक्षण सूट रूबी में लिखा गया है

रूबी मूल रूप से मेरे लिए उपकरण है जहां यह समझ में आता है। और यह बहुत सारी जगहों पर समझ में आता है।


1
यूनिक्स (मेकफाइल्स) और विंडोज (विजुअल स्टूडियो) दोनों के लिए फ़ाइलों का निर्माण करने के लिए आपको सीएमके का उपयोग करने पर गंभीरता से विचार करना चाहिए।
जेसपेरे

13

Google स्केचअप रूबी को एक एम्बेडेड स्क्रिप्टिंग भाषा के रूप में उपयोग करता है। आप इसका उपयोग सभी प्रकार के 3D मॉडलिंग और आयात / निर्यात कार्यों को करने के लिए कर सकते हैं। स्क्रिप्टिंग मुक्त संस्करण के साथ काम करती है और यहां तक ​​कि सभ्य प्रलेखन भी है ।


हम्म, दिलचस्प। मुझे स्केचअप के साथ खेलने के लिए कुछ समय निकालने की कोशिश करनी चाहिए।
जेस्पर

9

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


8

हम अपने .net वेब एप्लिकेशन का परीक्षण करने के लिए वॉटिर (रूबी लाइब्रेरी) का उपयोग करते हैं।


वटिर बेहद उपयोगी है। हम कभी-कभी रूबी के माध्यम से सेलेनियम का उपयोग भी करते हैं।
स्वानंद ४'०

7

जूते की जाँच करें , नौसिखिया प्रोग्रामर के उद्देश्य से रूबी में GUIs के निर्माण के लिए एक सरल एपीआई।


6

या आप रूबी का उपयोग संगीत अला गाइल्स बॉकेट के आर्कियोप्टेरिक्स बनाने में कर सकते हैं। आर्कियोप्टेरिक्स के बारे में गिल्स की यह प्रस्तुति अब तक की सबसे अच्छी प्रस्तुतियों में से एक है। मैं इसकी पुरजोर सलाह देता हूँ।


1
अविश्वसनीय रूप से आकर्षक सामान, जेनेरिक संगीत।
आयनो

6

RubyCocoa और MacRuby। रेल के बिना पूर्ण कोको आधारित जीयूआई ऐप बनाना संभव। और फिर आप इंटरफ़ेस बिल्डर का उपयोग करने के लिए भी।


6

मैंने पिछले साल एक म्यूजियम प्रोजेक्ट पर काम किया था जिसमें रूबी का बहुत इस्तेमाल किया गया था। ( http: // http: //ourspace.tepapa.com/home )

जिस हिस्से पर मैंने अपना ज्यादातर समय बिताया वह एक इंटरेक्टिव फ्लोर मैप था। फर्श पर स्थित मानचित्र में सेंसर लगे होते हैं, जब लोग इस पर चलते हैं तो रोशनी चालू हो जाती है और दीवार में प्रदर्शित चित्र या वीडियो और ऑडियो ट्रैक चलाए जाते हैं।

प्रदर्शनी के इस भाग के लिए सभी नियंत्रण कोड माणिक हैं। मैंने फर्श के सेंसरों और प्रकाश नियंत्रकों के साथ संवाद करने के लिए रूबी रैपरों के साथ सी इंटरफेस लिखा। सिस्टम मीडिया फ़ाइलों को प्रदर्शित करने के लिए एक MYSQL डेटाबेस पर सवाल करता है और फिर यूडीपी के माध्यम से मीडिया को चलाने के लिए दीवारों में कंप्यूटर को बताता है।

यह पूरे प्रदर्शन का सबसे विश्वसनीय हिस्सा है।

रूबी का उपयोग प्रदर्शन के अन्य प्रमुख भाग, दीवार के लिए किया गया था, हालांकि मेरे पास ऐसा करने के लिए बहुत कुछ नहीं था। ज्यादातर ग्राफिक्स ओबीजीएल, थोड़ी कोको और एक भौतिकी पुस्तकालय के लिए इंटरफेस का उपयोग करके रूबी में प्रोटोटाइप किए गए थे, शुद्ध ओब्ज-सी में पोर्ट किए जाने से पहले।


6

कठपुतली और बावर्ची: देवोप्स

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

DevOps क्षेत्र काफी रूबी बारे में पता है। आज, पर्ल के पास एक प्रतियोगी है। हालांकि एक बहुत ही सरल स्क्रिप्ट अक्सर अभी भी sh(1),एक जटिल कार्य के लिए सीधे लिखी जा सकती है जो अब पर्ल के बजाय रूबी में हो सकती है।


5

रूबी के साथ काम करने वाली एकमात्र साइट रेल का उपयोग कर रही है, लेकिन मैं मार्क की कोशिश करना चाहूंगा

इसके अलावा, मैं रूबी में बहुत कम उपयोगिता कार्यक्रम करता हूं - उदाहरण के लिए एक ऐप जो आरएसएस पढ़ता है और एक नए पोस्ट को एक डबास में आयात करता है।

यह मजेदार है, इसलिए मैं कुछ गूंगा सामान भी लिखता हूं क्योंकि यह बहुत जल्दी है। कल मैंने एक प्रोफेसर को अपने प्रोफेसर को समझाने में मदद करने के लिए 100,000 बार मोंटी हॉल समस्या खेलने के लिए एक ऐप लिखा था कि स्विच करना सही रणनीति है।


1
हे, प्रोफेसर को इस खेल के पीछे के शुद्ध तर्क को समझने में सक्षम होना चाहिए, वहां सिमुलेशन की कोई आवश्यकता नहीं है।
वाव

मुझे आपकी एल्गोरिथ्म देखने में दिलचस्पी होगी।
मयंक

अगर मैं सही तरीके से समझूं, तो मर्ब को बहुत अधिक अवशोषित कर लिया गया है - या कम से कम क्रॉस-निषेचित, या जो भी आप इसे कॉल करना चाहते हैं - रेल 3. में
एंडी

4

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

मैं सभी चर्चाओं से आरओआर में शामिल होने पर विचार कर रहा था और यह कितना सरल / सरल है, लेकिन रेल की तलाश के बाद मुझे ऐसा कुछ भी दिखाई नहीं दिया जो किसी अन्य की तुलना में अपने विकास के बारे में आश्चर्यजनक या कम से कम अभिनव या तेजी से तेज था। ढांचा। एकमात्र लाभ जो मैंने देखा कि मैं रूबी में कोड कर सकता था, जो कि अच्छा होगा, लेकिन प्रारंभिक सेटअप, सर्वर रखरखाव और स्केलिंग अधिक कठिन है, इस प्रकार माणिक में कोडिंग के आनंद को फिर से ऑफसेट करना है।


4

मैंने रैक-आधारित वेब अनुप्रयोगों पर चर्चा करने के लिए एक प्रस्तुति बनाई - संयोग से ऑफ द रेल्स -

https://github.com/alexch/Off-The-Rails

गिट रेपो में मार्कडाउन प्रारूप और नमूना कोड (रनिंग एप्लिकेशन और मिडलवेयर के रूप में) में स्लाइड शामिल हैं। यहाँ सार है:

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

और यहाँ कुछ संदर्भ हैं:

उम्मीद है यह आपको उपयोगी होगा!


4

मैं ज्यादातर एक वेब डेवलपर हूं, और मैंने रूबी को रेल का उपयोग करने के लिए सीखा है, लेकिन मुझे भाषा इतनी पसंद है कि मैंने रूबी में एक डेस्कटॉप स्विंगिंग एप्लिकेशन विकसित करना शुरू कर दिया, जेरीबी और मंकीबार का उपयोग किया। मैं जावा में सक्षम हूं, लेकिन इसका उपयोग करना ज्यादा पसंद नहीं है, और स्विंग एपीआई भयानक है, इसलिए रूबी को शीर्ष पर रखना एक बड़ी जीत है।


3

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

ओह, और अच्छे पुराने भूल मत भूलना :-)


3

रूबी का उपयोग डेस्कटॉप एप्लिकेशन के लिए भी किया जाता है। विशेष रूप से स्विंग डेस्कटॉप एप्लिकेशन को विकसित करने के लिए JRuby का उपयोग।


3

मैंने काम के लिए रूबी का उपयोग किया है

  • एक डेटा एक्सट्रैक्टर, बाइनरी आउटपुट से सीएसवी फाइलें उत्पन्न करता है।
  • एक .ini फ़ाइल जनरेटर, एक सरल वाक्यविन्यास को दोहरावनी .ini प्रारूप में बदल देता है।
  • एक साधारण टीसीपी / आईपी सर्वर, परीक्षण के दौरान ग्राहक की प्रणाली के लिए स्टैंड-इन के रूप में कार्य करता है।

3

हम अपने परीक्षण स्वचालन सॉफ्टवेयर को लागू करने के लिए रूबी का उपयोग करते हैं। इसमें सेलेनियम आरसी, वॉटर और ऑटोिट के लिए टेस्ट फ्रेमवर्क और ड्राइवर कोड शामिल हैं।

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

अशुद्ध सिंटैक्स नए और अनुभवहीन प्रोग्रामर को पढ़ने के लिए आदर्श बनाता है। जबकि इसकी पूरी तरह से OO प्रकृति शुरू से ही इन प्रोग्रामर्स के लिए अच्छे (हाल ही में सीखे हुए) OO तकनीकों को लागू करना आसान बनाती है।

रूबी के सिंटैक्स की लचीली प्रकृति भी डीएसएल के उपयोग और निर्माण को बहुत आसान बनाती है। यह कम-तकनीकी लोगों को इनवॉल्ड करने, पढ़ने और संभवतः अपने स्वयं के परीक्षण बनाने की अनुमति देता है।


सभी रत्न खिड़कियों पर अच्छी तरह से नहीं चलते हैं। लिनक्स मेरे अनुभव में रूबी को चलाने के लिए एक बहुत अच्छा वातावरण है।
लाश

3

मैंने अस्थिर आवश्यकताओं के साथ एक परियोजना में सी # और टी-एसक्यूएल संग्रहीत प्रक्रियाओं की कोड पीढ़ी के लिए रूबी का उपयोग किया है। डेटा मॉडल को एक YAML फ़ाइल में एन्कोड किया गया था। कक्षाओं और संग्रहीत प्रक्रियाओं के लिए .erb टेम्प्लेट का उपयोग किया गया था। यह बहुत अधिक DRY समाधान के लिए अनुमति देता है की तुलना में सीधे C # के साथ संभव हो सकता है क्योंकि repetitve कोड को कोड जनरेटर में एकल विधि में फैक्टर किया जा सकता है।


3

जहां मैं काम करता हूं, हम कई अलग-अलग प्रकार के बैच की नौकरियों के लिए रूबी का उपयोग करते हैं। इसका एक उदाहरण एक नौकरी है जो अमेज़ॅन की एस 3 सेवा के साथ बातचीत करती है। उस समय, रूबी एस 3 पुस्तकालय शायद हमारे लिए सबसे आसान समय था, जो कम समय में उठने और चलने के लिए था।


3

मैंने एक ऑर्डर प्रोसेसिंग विशेषज्ञ प्रणाली (डीएसएल उत्तर भी देखें) लिखी, दर्जनों विशिष्ट ग्राहकों के बारे में 10k लाइनों को रूबी हैंडलिंग के दर्जनों ग्राहकों में परिवर्तित किया। कोई वेब घटक नहीं, कोई रेल नहीं।


3

मैं वेबड्राइवर उपयोगकर्ता हूं। रूबी का उपयोग वेबराइवर द्वारा रेक के लिए निर्माण प्रक्रिया को स्वचालित करने के लिए किया जाता है। देख http://code.google.com/p/webdriver/ जानकारी के लिए


3

हे, महान प्रश्न।

मैंने पायलटों के लिए ऐप बनाते समय एंड्रॉइड फोन प्लेटफॉर्म के लिए एक्सेल स्प्रेडशीट एयरपोर्ट सुविधा डेटा को sqlite3 में बदलने के लिए रूबी का इस्तेमाल किया।


3

मैं सिनात्रा के साथ रूबी का उपयोग करता हूं जो रेल की तुलना में बहुत सरल है। मैंने रेल का उपयोग किया, लेकिन बस यह पाया कि यह एक राक्षस के एक बिट में बदल गया है, हालांकि रेल जावा के लिए उपलब्ध वेब फ्रेमवर्क की तुलना में अभी भी अद्भुत है।

रूबी की मुख्य विशेषता जो मुझे बहुत पसंद है, वह है "eval" और "method_missing", जो कि रेल वास्तव में ActiveRecord में उदाहरण के लिए उपयोग करती है ताकि आप अद्भुत "find_by-field-name-" क्वेरी का उपयोग कर सकें।


3

मैंने बहुत सारे बैक-एंड कोड के लिए रूबी का उपयोग किया, क्योंकि मैं एकमात्र व्यक्ति था जिसे इसे करने का जिम्मा दिया गया था और उसे एक अच्छी साफ-सुथरी भाषा की आवश्यकता थी, जिसने मुझे बहुत उत्पादक होने और कोड को बनाए रखने के लिए आसान लिखने की अनुमति दी। मुझे लगता है कि रूबी मुझे पर्ल और पायथन की तुलना में आसान करने की अनुमति देती है। अन्य लोगों का माइलेज उस पर भिन्न हो सकता है लेकिन यह मेरे लिए अच्छा काम करता है।

इसके अलावा, मुझे पसंद है कि सीक्वल और नोकोगिरी कैसे काम करते हैं। मैंने थोड़ी देर के लिए Rails से अलग से ActiveRecord का भी उपयोग किया।


2

हम फ़ाइल हेरफेर के लिए कुछ रूबी का उपयोग करते हैं लेकिन अभी तक रेल को शामिल नहीं कर पाए हैं।


2

मैंने रूबी का उपयोग व्यावसायिक रूप से त्वरित स्क्रिप्ट के लिए किया है। मैं उसी तरह से हूं कि मैं रूबी को छूने से पहले रूबी का उपयोग कर रहा था।


2

बोल्डर में रूबी उपयोगकर्ताओं का एक उत्कृष्ट समूह था जो मासिक रूप से मिलते थे। यह बिंदु बनाया गया था - कि रूबी रेल्स में इसके उपयोग के बगल में एक अस्तित्व रखता है। सादा रूबी उपयोगकर्ता मौजूद हैं, ध्यान के लिए भीख माँग रहे हैं, दिखाने के लिए साफ-सुथरी चीजें हैं, और उपयोगकर्ता समूह की बैठकों में एक-दूसरे को ढूंढ सकते हैं।

उनके पास अजगर समूह की तुलना में बेहतर पिज्जा भी था, जो महीने के उसी दिन मिलते थे। केवल एक चुन सकते हैं ...


1
हाँ, लेकिन Python समूह के पास बेहतर Py था! (लंगड़ा मजाक, मुझे पता है, मुझे पता है ...)
डेगाराग्लिया

इतना मज़ेदार कि मैं तो हंसना ही भूल गया! 8 पी
डैरनव

2

जबकि हमारे पास काम के दौरान कई रेल ऐप्स हैं, हम रूबी का उपयोग कुछ काफी गहन गैर-वेब सामानों के लिए भी करते हैं।

हमें एक एसएमएस डिलीवरी डेमॉन मिला है, जो एक कतार से संदेशों को खींचता है और फिर उन्हें डिलीवर करता है, और क्रेडिट कार्ड प्रोसेसिंग डेमॉन जिसे अन्य ऐप कॉल कर सकते हैं, जिससे यह सुनिश्चित होता है कि केंद्रीय ऑडिट ट्रेल है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.