डेवलपर के लिए पूर्ण noob से तार्किक छलांग बनाना?


12

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

मैं प्रिंट स्टेटमेंट, चर इत्यादि से अधिक जटिल सामान करने के लिए कैसे जा सकता हूं?

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

एक डेवलपर अपने टूलबॉक्स के फ़ंक्शंस और स्टेटमेंट का उपयोग बैक एंड पर कुछ इस तरह से कैसे करेगा?

मुझे खेद है कि अगर यह प्रश्न वास्तव में व्यापक लगता है, तो यह मुझे निराश कर रहा है। मैं जैसे मैं बुनियादी अवधारणाओं की एक सभ्य को समझना होता है लग रहा है, लेकिन पता नहीं कैसे वास्तव में करने के लिए है ऐसा कुछ भी।


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

अब तक कई अद्भुत जवाब, दोस्तों। यह सब अब थोड़ा स्पष्ट हो रहा है। सबको धन्यवाद!
ब्लेयर बेकविथ

जवाबों:


12

कुंजी कार्य को असतत चरणों में तोड़ना है जो आप जानते हैं कि कैसे करना है (या पता कर सकते हैं कि कैसे करना है)। आप जो जानते हैं कि कैसे करना है यह आपके अनुभव के स्तर पर आधारित है।

आइए अपने आसन ईमेल उदाहरण लें:

आवश्यकताएँ: @ postific.com ईमेल स्वीकार करें, प्रारूप करें और उन्हें वेबसाइट पर पोस्ट करें।

कार्य 1) ​​ईमेल स्वीकार करें।

ईमेल की सबसे अधिक संभावना एक मेल सर्वर से प्राप्त करने की होगी। आपको अपने विशेष मेल सर्वर से ईमेल प्राप्त करने के लिए एपीआई कॉल पर शोध करना होगा। आपको यह भी पता लगाना होगा कि ईमेल के शरीर से सामग्री को कैसे निकालना है (शायद एक और एपीआई कॉल)।

टास्क 2) ईमेल को फॉर्मेट करें।

कार्य 1 से, संभवतः आपके पास कहीं न कहीं स्मृति में बैठी सामग्री है। इसे प्रारूपित करें ताकि यह चरण 3 के अनुरूप हो ...

टास्क 3) ब्लॉग पर सामग्री पोस्ट करें।

यदि आप इस ईमेल 2blog सुविधा को जोड़ रहे हैं, तो संभवतः आपके पास पहले से ही ब्लॉग पोस्ट करने के लिए एक तंत्र है। उस तंत्र का उपयोग करें और अपनी वेबसाइट पर एक textarea से इनपुट को स्वीकार करने के बजाय, इसे चरण 2 से सामग्री के साथ बदलें।

अब, हम प्रिंट कथनों से कैसे प्राप्त करते हैं, यदि कथन और कार्य प्रत्येक कार्य को पूरा करने के लिए।

ध्यान दें कि कार्य 1 में, मैंने दो बार एपीआई कॉल का उल्लेख किया है? एपीआई कॉल अनिवार्य रूप से कार्य हैं जो किसी और ने लिखे हैं ताकि आप उनकी कार्यक्षमता का उपयोग कर सकें। यदि आप जानते हैं कि कार्यों को कैसे करना है, तो आप सही एपीआई कॉल पर शोध कर सकते हैं जो आपको मेल सर्वर से मेल प्राप्त करने के लिए चाहिए।

मैंने प्रारूपण के बारे में ज्यादा चर्चा नहीं की, लेकिन अगर आप जानते हैं कि स्ट्रिंग हेरफेर कैसे करना है, तो आप प्रारूपण करना जानते हैं। Html पेज को फॉर्मेट करना <b>bolded text</b>कहीं न कहीं आपके स्ट्रिंग के भीतर टैग जोड़ने का एक अभ्यास है।

टास्क 3 में, मैंने उल्लेख किया कि ब्लॉग पोस्ट करने के लिए किसी प्रकार का तंत्र था। यदि यह एक मौजूदा ब्लॉगिंग प्लेटफ़ॉर्म है, तो आप इससे परिचित होंगे। लेकिन यदि नहीं, तो आपको HTTP पोस्ट और अन्य वेब फ्रेमवर्क से संबंधित सामान के बारे में जानने की आवश्यकता है।

यदि यह सब पढ़ने के बाद भी आपके पास कोई सुराग नहीं है कि मैं किस बारे में बात कर रहा हूं, तो मुझे आशा है कि मैंने आपको आश्वस्त किया है कि अनुभव का कोई विकल्प नहीं है। तो बस वहाँ जाओ और कुछ का निर्माण! Noob गलतियाँ करने के बारे में बहुत चिंता न करें क्योंकि हर डेवलपर एक बार noob था।


5

मुख्य बात यह है कि कुछ ऐसा है जिसे आप करना चाहते हैं और कर रहे हैं

इस तरह से ज्यादातर बड़ी कंपनियों की शुरुआत हुई।

  • गूगल? ब्रिन और पेज वेब को इंडेक्स करने के बारे में भावुक थे।

  • MetaFilter? मैट हाउघे को लिखने और साझा करने का शौक था।

  • ट्विटर? डोरसी सादगी के बारे में भावुक थे, और आपको 140 पात्रों की तुलना में अधिक सरल नहीं है।

  • स्टैक ओवरफ़्लो? जोएल और चालक दल के जवाब के बारे में भावुक थे।

PHP, Perl, Python, और Ruby जैसी भाषाएँ सभी एक ही तरह से डिज़ाइन की गई थीं। तो GNU / Linux था। किसी को एक खरोंच था, और उस खरोंच को खुजली करना शुरू कर दिया, और फिर सामान्य उपभोग के लिए अपने उपकरण जारी किए।

तो चारों ओर एक नज़र डालें और तय करें कि आपकी खुजली कहाँ है, और फिर उस खुजली को खरोंचने के लिए एक कार्यक्रम लिखना शुरू करें। हो सकता है कि आपको गेम खेलना पसंद है, इसलिए आप कुछ गेम लिख सकते हैं। हो सकता है कि आपको अपने एमपी 3 संग्रह पर ID3 टैग के साथ कोई समस्या है और इसे ठीक करने की आवश्यकता है। या शायद आप परिवार के इतिहास में रुचि रखते हैं और अपने इतिहास में लोगों या स्थानों के संदर्भ की तलाश में वेब को क्रॉल करना चाहते हैं। या शायद आप किसी तरह वास्तविक दुनिया के साथ बातचीत करना चाहते हैं। या हो सकता है कि आप FLOS सॉफ्टवेयर विकसित करना चाहते हैं - GitHub, Gitorious और Sourceforge पर एक नज़र डालें।

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


2

धीरे-धीरे और धीरे-धीरे।

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

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


1

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


1

मुझे इस चुनौती का भी सामना करना पड़ा, और बड़े और मुझे अपना समाधान मिल गया: मुझे अधिक उत्पादक होने के लिए मुझे ड्राइव करने के लिए एक बाहरी स्रोत की आवश्यकता थी।

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

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

यह वास्तव में एक खुले संपादक या कागज के एक खाली टुकड़े के सामने बैठना कठिन है और कहते हैं "ठीक है, मस्तिष्क, निर्माण! " लेकिन अगर आप इसे तोड़ते हैं, तो सोचें कि आपके पास किस तरह की चीज बनाने का कारण हो सकता है, और अपने आप को वहां से चलाएं, आप आगे बढ़ सकते हैं।

और, यदि आप पाते हैं कि आप केवल अपने आप को कोड नहीं बना सकते हैं , तो किसी को एक समय सीमा और आवश्यकताओं और सभी के साथ आपको नौकरी देने के लिए प्राप्त करें। यह आपको गियर में मार देगा।


1

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

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

व्यक्तिगत रूप से मैंने गुग्लिंग द्वारा सीखा, मैंने पहले भी मूल बातें नहीं उठाईं, जो मुझे करनी चाहिए थीं, लेकिन जब तक मैं पहले से ही कुछ अच्छा सामान बना रहा था, तब भी मुझे नहीं पता था कि "सरणी" क्या थी। ;)


0

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

मैं अपने लिए जानता हूं कि मुझे बड़ी परियोजनाओं पर अच्छी समझ नहीं मिली, जब तक कि मैं कई तरह के डेटा एक्सेस और फाइल मैनिपुलेशन के साथ सहज महसूस नहीं करता।


0

किसी ऐसी चीज़ में कूदना जो आपके सिर पर थोड़ी हो और यह पता लगाना कि आपके कौशल का विस्तार करने का एक शानदार तरीका हो सकता है। आप ओ'रिली कुकबुक श्रृंखला में से कुछ को देखने की कोशिश कर सकते हैं:

http://oreilly.com/store/series/cookbooks.html

ऐसा लगता है कि समस्या / समाधान / चर्चा प्रारूप लगता है कि वास्तव में आप, कोड 'व्यंजनों' कि लिए क्या देख रहे हो सकता है क्या कुछ दिलचस्प और यह कैसे काम करता के बारे में कुछ चर्चा।


1
आप खरीद का फैसला करते हैं पहले एक कूपन कोड को खोजने के लिए सुनिश्चित हो: retailmenot.com/view/oreilly.com
DKnight

0

मुझे लगता है कि आपकी बस खुद को और अधिक करने के लिए चुनौती देने में विफल रही।

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

आपके पास सबसे अच्छा उपकरण है जो आपकी ज़रूरत है, इंटरनेट।


0

परियोजना को कार्यों में तोड़ने के अलावा, कुंजी कोड कोड का पुन: उपयोग करना भी है। अपने कोड को उन मॉड्यूलों में विभाजित करें जिन्हें आप अन्य परियोजनाओं में पुन: उपयोग कर सकते हैं जहां आपको एक ही काम करने की आवश्यकता है।

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

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