क्या रूबी ऑन रेल्स को एक कठिन सीखने की अवस्था है या यह सिर्फ मेरे लिए है? [बन्द है]


17

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

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

तो मेरा सवाल शीर्षक में है: क्या आरओआर को सीखने में लंबा समय लगना चाहिए या मैं अभी धीमा हूं? क्या ऐसा हो सकता है कि मैं गलत किताब से सीख रहा हूं? मेरी सीखने की शैली ऐसी है कि मैं या तो कुछ नहीं समझता या सब कुछ समझता हूं, अगर यह समझ में आता है।


1
लर्निंग हमेशा इन्क्रीमेंटल होता है , आप हर बार जब आप कुछ सीखते हैं तो थोड़ा और समझ लेते हैं। पेरोलम को हल करना कठिन होता है और इसके लिए धैर्य (प्रोग्रामिंग लैंग्वेज विशेषज्ञता की परवाह किए बिना) की आवश्यकता होती है, जितनी जल्दी आप इसे स्वीकार कर लेते हैं उतना ही आसान है कि यह आपके लिए एक शांत दिमाग से निपटना होगा।
आदित्य पी

मैंने सोचा था कि यह किया गया था, लेकिन शायद इसलिए कि मेरे मामले में इसकी बहुत ही परंपरा उन्मुख है। बहुत से सामान को कॉन्फ़िगर करने के लिए उपयोग किया जाता है जो यह सम्मेलन के रूप में करता है।
ऋग्वेद

जवाबों:


17

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

दूसरी ओर, रेल के पास आपके पास कोई विकल्प नहीं है - आपको सभी तीनों सीखना होगा: एम, वी और सी, एमवीसी से , सभी एक ही समय में, लेकिन यही स्थिति किसी भी एमवीसी ढांचे के साथ होगी, जिसमें रेल सबसे आसान होगी। , मेरे अनुसार।

इसके बजाय आप जो कुछ कर सकते हैं, वह सिनात्रा जैसे कुछ सरल ढाँचे के साथ शुरू करना है, जब तक कि आप रूबी और एचटीटीपी की बुनियादी अवधारणाओं के साथ सहज नहीं हो जाते हैं, और फिर धीरे-धीरे समृद्ध प्रस्तुति (विचार और सीएसएस) और डेटाबेस-आधारित मॉडल की ओर आगे बढ़ते हैं।


10

जब आप रेल सीख रहे हैं और आपकी एकमात्र पृष्ठभूमि जावा है, तो आप केवल एक नया वेब फ्रेमवर्क नहीं सीख रहे हैं। आप एक नई प्रोग्रामिंग भाषा भी सीख रहे हैं, और एक जो जावा से काफी अलग है।

रूबी को पहले सीखने और फिर रेल और उसके सम्मेलनों को देखने में मदद मिल सकती है। यह सीखना कि रेल क्या करती है और कैसे होती है यह मेरे लिए बहुत आसान हो गया क्योंकि मुझे अब रूबी को समझने के लिए संघर्ष नहीं करना पड़ा और रेल्स कोड / टेम्प्लेट पढ़ और लिख सकता था।

मैं रूबी ट्यूटोरियल पर रूबी के माध्यम से गया और इसे बहुत उपयोगी पाया। ट्यूटोरियल पुस्तक नि: शुल्क है और वहाँ रेल 2.3 और 3.0 के लिए एक संस्करण है। आपको MVC (मॉडल-व्यू-कंट्रोलर) और वेब विकास / पृष्ठ जीवनचक्र पर सामान्य रूप से पढ़ना उपयोगी हो सकता है।


6

अनीता, मुझे भी तुम्हारे जैसा ही अनुभव हुआ है। लेकिन मुझे लगता है कि अब मुझे समझ आ गया है कि सीखना इतना मुश्किल क्यों है:

  • RoR एक भाषा नहीं है, यह प्रौद्योगिकियों, भाषाओं और तकनीकों का एक विस्तृत संग्रह है।
  • यह जावा, सी ++ या अन्य भाषाओं की तरह नहीं है जिनमें तार्किक संरचना है
  • सीखने का कोई एक तरीका नहीं है और कोई एक किताब जो आपको सिखा सकती है (इस पर बाद में)
  • मेरी राय में, समुदाय को कुछ हद तक "राय" वाला रवैया दिखाई देता है जो सीखने के दौरान अन्य समुदायों की तरह माफ नहीं करता है। लोग नियमित रूप से असहमत हैं कि चीजों को "कैसे" किया जाना चाहिए। यह ऊपर से आता है, उस लड़के से जिसने आरओआर का आविष्कार किया था
  • अधिकांश आरओआर पाठों में परीक्षण को विकास का एक मुख्य हिस्सा होने के लिए प्रोत्साहित किया जाता है, और परीक्षण भाषाएं डीएसएल हैं जो पहले से ही उच्च शिक्षण भार को भी जोड़ सकती हैं।
  • भाषा के लिए उचित दस्तावेज नहीं है, केवल एक एपीआई, कुछ गाइड और जो भी किताबें आपको मिल सकती हैं।
  • कुछ मुख्य विधियां और तकनीक "ऑटोमैटिक" हैं और यह स्पष्ट नहीं है कि वे कैसे काम करते हैं। उदाहरण के लिए, has_secure_password विधियाँ।

मैं इसे एक साल से अधिक समय से सीख रहा हूं और यहां कुछ चीजें हैं जो मुझे लगता है कि यह सीखना आसान है, कि मैं अनुभव से आया हूं:

  • इसे कई कोणों से हमला करें। जब आपके पास काम करने के लिए कई किताबें, ट्यूटोरियल और ब्लॉग हैं, तो यह आपके लिए सीखने का एक तरीका "खोल" सकता है। इस पर एक एकल पुस्तक या ब्लॉग आपको "अटक" छोड़ सकता है।
  • कुछ सीखने पर विचार करें HTML / CSS और रूबी । यह सब नहीं, बस पाने के लिए पर्याप्त है, इससे पहले कि आप आरएआर से बहुत दूर जाएं।
  • RSpec (या समान परीक्षण पद्धति) पर एक कोर्स करें। RSpec पर एक कोडस्कूल विशेष रूप से अच्छा है और यह आपको RoR पाठ में फंसना बंद कर देगा क्योंकि आप परीक्षण का पालन नहीं कर सकते हैं।
  • लगभग 3 पुस्तकें प्राप्त करें। ओबी फर्नांडीज "द रेल्स 3 वे" एक जरूरी है, संदर्भ के लिए उपयोग किया जाता है जब कुछ ऐसा होता है जो आपको बस नहीं मिलता है (पढ़ने के लिए कवर करने के लिए कवर नहीं)। जिस फुर्तीले का आपने जिक्र किया, उसने मुझे भ्रमित कर दिया। "लेयरिंग रेल 3" एक अलग दिशा से चीजों पर आता है और कुछ मुद्दों को तोड़ने में मदद कर सकता है जो आप अन्य ट्यूटोरियल से नहीं प्राप्त कर सकते हैं।
  • एक शिकंजा या ऑनलाइन शिक्षण पाठ्यक्रम करें। माइकल हार्टल का ट्यूटोरियल अच्छा है, लेकिन बहुत सीखने वाला है। मैंने पाया कि ऊपर की किताबें, प्लस कोडस्कूल पाठ्यक्रम आरएसपीईसी ने मुझे इसके माध्यम से प्राप्त करने में मदद की - लेकिन मुझे अभी भी कुछ छोटे बिंदुओं पर लेखक तक पहुंचना था।
  • पूछो, पूछो, पूछो! वहाँ एक रूबी फोरम, रेल्स फोरम, आईआरसी कमरे और StackExchange आदि है - उन सभी का उपयोग करें, अक्सर !

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


4

हो सकता है कि यह मुद्दा कम माणिक (और या रेल) ​​हो और अधिक तथ्य यह हो कि आपके पास केवल HTML / CSS / JavaScript और SQL और डेटाबेस का 'अस्थिर रूप' है।

रेल एक 'फुल-स्टैक फ्रेमवर्क' है। यदि आपका पूर्व प्रोग्रामिंग अनुभव कोर जावा है जिसमें शायद कुछ स्विंग हैं, तो एक ही समय में सीखने के लिए बहुत सारी अवधारणाएं हैं।

यदि मैं इस समस्या से संपर्क कर रहा था, तो मैं SQL प्राप्त करना शुरू करूंगा और संबंधपरक मॉडलिंग पहले nailed (SQL के साथ कोई ब्राउज़र लेआउट समस्याएँ नहीं हैं!)। जब आप डेटाबेस परत के साथ आश्वस्त होते हैं, तो ActiveRecord के साथ खेलते हैं और सीखते हैं कि कैसे db से रेल tuples को लपेटता है।

अगला कदम नियंत्रक और रूटिंग और फिर UI (html / जावास्क्रिप्ट आदि) सीखना होगा।

यदि आप किसी भी वेब फ्रेमवर्क का उपयोग करके कोई वेब विकास करने जा रहे हैं, तो आपको SQL और संबंधपरक मॉडलिंग (भले ही आप बाद में NoSQL मार्ग चुनें) को समझने की आवश्यकता होगी।


1

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


1

आपके शब्द, "कभी-कभी पूरे दिन, कभी-कभी कई हफ्तों तक कुछ नहीं होता है" मुझे वह सब बताएं जो मुझे जानना चाहिए। यदि आप एक नई भाषा और ढाँचा सीख रहे हैं (मेरा मानना ​​है कि आप जो कर रहे हैं क्योंकि आप "रूबी ऑन रेल्स" का उल्लेख करते हैं, न कि केवल "रूबी"), तो संगति भुगतान करती है। मुझे एकमात्र तरीका मिल गया है जिसे मैं सीखता हूं और अवधारणाओं को बनाए रखना है, प्रति दिन लगभग आधे घंटे का अध्ययन करना है, आमतौर पर दिन के अंत में, सोने से ठीक पहले। अगर मैं आधे घंटे से अधिक समय तक अध्ययन करता हूं, तो मुझे फिजूलखर्ची मिलती है और ध्यान केंद्रित नहीं हो पाता है। यदि मैं कम अध्ययन करता हूं, तो मैंने जो सीखा है उसे बरकरार नहीं रखता।

ध्यान भंग करना - यह मेरी सबसे अच्छी सलाह है। और सप्ताह के हर एक दिन अध्ययन करें। इससे पहले कि आप इसे जानें, चीजें जगह में गिरने लगेंगी।

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


0

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

उत्तर: नहीं, यह एक मजबूत सीखने की अवस्था नहीं है, आपकी पृष्ठभूमि के आधार पर वक्र अलग है।


0

यह। मुझे पता है कि मैं हर बार "सीखने की अवस्था" में दौड़ता हूं, मैं वास्तव में बैठकर सीखने की कोशिश करता हूं और रेल सीखने पर ध्यान देता हूं (हर कुछ महीनों में लगभग 2+ साल)। समस्या इतनी है कि बिजली की तेज गति से रेल में बहुत सी चीजें बदल जाती हैं, और अक्सर आपको जो संसाधन मिलते हैं वे लगभग तुरंत पुराने हो जाते हैं।

मेरी सलाह है कि आप रूबी (कम से कम मूल बातें) और फिर रेल पर ध्यान केंद्रित करना शुरू करें, ताकि आप सब कुछ संभालने के लिए रेल ढांचे पर 100% भरोसा न करें। आपको स्पष्ट कारणों के लिए HTML / CSS / जावास्क्रिप्ट पर भी ब्रश करना चाहिए। इसके अलावा अनुभव से रेल दुनिया के निरंतर मंथन में नहीं फंसते हैं: यदि आप सभी नई चीजों को अनदेखा कर सकते हैं, तो रेल कॉग्निओसेंटी को हम्ल, सास, आरएसपीईसी / बीडीडी, ककड़ी, इत्यादि जैसे प्रचारित कर सकते हैं या होने में डूब जाएंगे। अपने कोड को लिखने के लिए BDD और RSpec सीखें, फ्रंट-एंड आदि को कोड करने के लिए Haml और Sass (कठिन नहीं है लेकिन फिर भी, यह सीखना दूसरी बात है) सीखना, जितना संभव हो उतना सरल शुरू करें।


0

किसी भी प्रोग्रामिंग भाषा के लिए सीखने की अवस्था है। हम वास्तव में पारंपरिक तरीके से भाषा नहीं सीख रहे हैं। सी / सी ++ की तरह लेकिन जब चीजें वास्तविक तस्वीर में आती हैं तो हमें कुछ तकनीकों के नट और बोल्ट भी जानना होगा।

इसे अप्रोच करने का सबसे अच्छा तरीका है, किस करना सीखना। इसे करने के लिए सभी दर्द उठाएं। आमतौर पर हम चीजों को पढ़ते हैं लेकिन जब यह वास्तविक तस्वीर की बात आती है तो हम इससे चिपक जाएंगे। मैं एक मूल C ++ प्रोग्रामर हूं, मैं C # में भी कोड कर सकता हूं। मुझे पता है कि एक सार बिंदु में उस भाषा और पुस्तकालय में बहुत सारी अच्छाई है, लेकिन कई विषयों को मैंने अभी पढ़ा और छोड़ दिया है। इसलिए यदि आप मुझसे पूछते हैं, तो मैं वास्तव में विकलांग हूं।

मैं Django के ढांचे को सीख रहा हूं। मैंने जिस पुस्तक को चुना है वह दिलचस्प है और यह एक सामाजिक बुकमार्क अनुप्रयोग बनाती है। तो यह परियोजना पर एक असली हाथ करके खरोंच से उन्नत स्तर तक चीजें सीखने जैसा है। मेरा सुझाव है कि आप इस तरीके से संपर्क करें क्योंकि हम इसे स्वयं सीख रहे हैं।


0

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

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

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