मैं हाल ही में इस क्यू / ए में आया था और लगभग एक साल पहले या जब मैंने इस रास्ते से यात्रा शुरू की थी; मुझे अपने स्वयं के संबंधित प्रश्नों के संबंध में यह एक बहुत अच्छा संसाधन और संदर्भ पृष्ठ होना चाहिए।
भाग 1:
-Preface-
थोड़ा अपने बारे में:
80 के दशक के मध्य में जब मैं अभी भी एलिमेंट्री स्कूल में था, मैं 80 के दशक के 50 के दशक के कबाड़ स्टीरियो, वीसीआर और अन्य इलेक्ट्रॉन उपकरणों को अलग से ले जाऊंगा और सर्किट बोर्डों को देखूंगा और हमेशा यह जानना चाहता हूं कि उन्होंने कैसे किया काम ... उन्होंने वास्तव में प्रसारण सिग्नल कैसे प्राप्त किया, ऑडियो, वीडियो का उत्पादन किया, यह और वह आदि करें ... मैं यहां और अलग-अलग हिस्सों को पहचान सकता था जैसे कि एक रिसिस्टर, कैपेसिटर, डायोड और ट्रांजिस्टर, लेकिन नहीं जानते हैं कि उन्होंने इतनी कम उम्र में क्या किया या कैसे काम किया।
वर्षों के दौरान मैं हमेशा गणित, भौतिकी और रसायन विज्ञान में असाधारण रहा हूं। मैंने गणित को उच्च स्तर तक समझा और मैं अपने मिडिल स्कूल और हाई स्कूल के दिनों से कुछ सरल या बुनियादी सर्किटरी भी पढ़ सकता था, जो बाद में आया, लेकिन मैंने तर्क गेट्स के बारे में जानने के लिए इसे कभी नहीं बनाया और उनका निर्माण कैसे हुआ ... मैंने फिर भी किया मेरे तर्क, संभाव्यता और सांख्यिकी ऑनर्स कक्षा से हाई स्कूल में बुलियन बीजगणित सीखें। मेरे सभी गणित और विज्ञान वर्ग ऑनर्स क्लास थे। मैंने एक कॉलेज में अपने दूसरे सेमेस्टर तक कैलकुलस नहीं लिया। मैंने कॉलेज बीजगणित से बाहर का परीक्षण किया और रिफ्रेशर कोर्स के रूप में त्रिकोणमिति लिया। कक्षा से गणित का मेरा उच्चतम स्तर एक एकल चर का पथरी II है।
जब मैं लगभग 3 या 4 साल का था तब से वीडियो गेम खेल रहा हूं। एक बच्चे के रूप में मेरे पास अटारी, एनईएस, सेगा जेनेसिस और पीएस 1 था। जैसे-जैसे मैं बूढ़ा होता गया और मेरी स्वर्गीय किशोरावस्था में और शुरुआती 20 की उम्र में मैंने PS2 और SNES को पसंदीदा चयन खिताब के साथ हासिल कर लिया। यह भी पीसी गेमिंग के लिए खाता नहीं है जो कि कयामत तक वापस चला जाता है!
मैं हमेशा एक शौकीन चावला कंसोल और पीसी गेमर रहा हूं और इसमें पिनबॉल और आर्केड गेम शामिल नहीं हैं।
मुझे अपना पहला पीसी दिया गया था जब मैं 90 के दशक की शुरुआत में क्रिसमस के लिए लगभग 12 साल का था। DOS 6.0 के दिन और या तो 3.11 या OS / 2 जीतें। तब से मैं हमेशा ऑपरेटिंग सिस्टम के "विंडोज" परिवार से परिचित रहा हूं और मेरे पास मौजूद सभी सिस्टम इंटेल आर्किटेक्चर थे। मुझे स्कूल या कॉलेज से Apple या Mac के साथ सीमित अनुभव है, लेकिन मुझे लिनक्स सिस्टम पर काम करने का सौभाग्य कभी नहीं मिला। मेरे पास साइगविन है और मैंने सीखने की कोशिश में अपना हाथ आजमाया है, लेकिन मैं डॉस या कमांड प्रॉम्प्ट सिंटैक्स का आदी हूं।
90 के दशक की शुरुआत में मुझे पीसी-वर्ल्ड की एक कॉपी या दो मिल जाती थी और QBasic में कोड स्निपेट में टाइप होता था जो मुझे बहुत अच्छी तरह से नहीं पता था और मैं उन कार्यक्रमों को काम करने की कोशिश करूंगा। केवल एक ही सफल था जो विभिन्न रिंग टोन ध्वनियों में कुंजी की घरेलू पंक्ति पर मुख्य प्रेस को चालू करने का कार्यक्रम था। मेरा मतलब यह नहीं है कि सेल फोन पर रिंग टोन का मतलब है कि जब तक आप कुंजी को पकड़ते हैं तब तक एक निरंतर आवृत्ति होती है।
यह हमेशा मेरा जुनून रहा है कि न केवल यह जानना चाहता हूं कि इलेक्ट्रॉनिक उपकरणों ने डिजिटल और तार्किक स्तर पर कैसे काम किया, ताकि कंप्यूटर को कैसे सीखा जा सके, लेकिन मुझे हमेशा अपने वीडियो बनाने की इच्छा थी खेल। यहां तक कि 90 के दशक की शुरुआत में मैं गेम को फ्रॉगर और टेट्रिस बनाना चाहता था ...
यह कंप्यूटर विज्ञान के क्षेत्र में सबसे कठिन प्रकार की प्रोग्रामिंग या सॉफ्टवेयर विकास में से एक से निपटने के लिए मेरी अग्रणी प्रेरणा और इच्छा बन गई और वह है 3D गेम इंजन डिज़ाइन। कंप्यूटर विज्ञान में अन्य क्षेत्र भी हैं जो उतने ही कठिन हैं, हालांकि किसी भी परिष्कृत गेम इंजन में आमतौर पर या आमतौर पर लगभग सभी शामिल होते हैं क्योंकि व्यक्तिगत घटकों या उप इंजनों को उनकी तकनीकों और गुणों की आवश्यकता होती है।
मेरे हाई स्कूल के दिनों से प्रोग्रामिंग में कुछ पृष्ठभूमि थी, लेकिन यह भयानक विज़ुअल बेसिक तक सीमित थी। मैंने 2002 - 2003 के आसपास C / C ++ सीखना शुरू किया और 1999 में हाई स्कूल से स्नातक होने के कुछ साल बाद तक नहीं। यहां तक कि आज तक मुझे कंप्यूटर साइंस या कंप्यूटर इंजीनियरिंग में कॉलेज का कोई भी अनुभव नहीं है, लेकिन समर्पण और दृढ़ संकल्प, मैंने बस हर अवधारणा के बारे में सीखा है, जब यह कंप्यूटर, हार्डवेयर, प्रोग्रामिंग, एल्गोरिदम, आदि की बात आती है और मैं अभी भी उतना ही सीखता हूं जितना मैं कर सकता हूं ...
C / C ++ सीखने के शुरुआती दिनों के दौरान, मेरे पास इंटरनेट तक पहुंच थी, लेकिन इंटरनेट तब अपने शुरुआती दौर में था, Amazon, Youtube, Facebook आदि जैसी वेबसाइटें अभी तक मौजूद नहीं थीं, यह अभी भी 56k का दिन था। यदि आपके पास एक दूसरी समर्पित लाइन नहीं है, तो अपने फ़ोन लाइन पर ज्वार-भाटे को डायल करें। एक छवि को स्क्रीन पर प्रस्तुत करने के लिए सिर्फ मिनट लगेंगे, कभी भी निरंतर वीडियो प्लेबैक को ध्यान में न रखें।
इसलिए जब यह शोध और सीखने के लिए आया कि C ++ में प्रोग्राम कैसे किया जाए, तो संसाधन सीमित थे और अधिकांश पाठ प्रारूप में थे। शुरुआती इंटरनेट ट्यूटोरियल दिनों से परियोजनाओं से निपटने की कोशिश करते समय, उन परियोजनाओं में से कई पूरी तरह से पूरी नहीं थीं, लेखक या तो पेशेवर या कॉलेज के छात्र थे और उन्होंने कई धारणाएं बनाईं कि पाठक पहले से ही आवश्यक अवधारणाओं जैसे संकलन से कई परिचित थे। , जोड़ने और डिबगिंग और पुस्तकालय एकीकरण।
किसी के लिए जो उन विषयों के बारे में कुछ भी नहीं जानते हैं, वे नुकसान में हैं क्योंकि वे नहीं जानते कि क्या गलत हुआ, न ही इसे कैसे ठीक किया जाए, और इसे ठीक से काम करने के लिए कैसे प्राप्त किया जाए। मुझे उन दिनों बहुत सीमित संसाधनों के साथ कई घंटों का परीक्षण और त्रुटि हुई। इस वेबसाइट से अब हम मदद के लिए पूछ सकते हैं या विस्तृत स्पष्टीकरण की तलाश कर सकते हैं जो आप cppreference पर पा सकते हैं उपलब्ध नहीं था! यदि आप व्यक्तिगत रूप से किसी को नहीं जानते हैं, तो आप सहायता के लिए बहुत से लोग नहीं कर सकते थे!
जैसे-जैसे समय बीतता गया मैंने अपना कुछ ज्ञान इधर-उधर सुधारा, और अंततः इंटरनेट डीएसएल में सुधर गया, और अब हाई स्पीड इंटरनेट, वेबसाइट्स अधिक संवादात्मक हो गए, वीडियो दिखाई देने लगे, वीडियो की गुणवत्ता समय के साथ बेहतर होती गई, जैसे साइट्स जैसा कि Youtube ने दिखाना शुरू किया और शोध पक्ष पर चीजें थोड़ी आसान हो गईं। अधिक से अधिक ट्यूटोरियल आसानी से उपलब्ध हो गए, कुछ अच्छे और उपयोगी थे जहां अन्य ने बुरी प्रथाओं को सिखाया ...
मैंने विकास के लिए आवश्यक उपकरणों को खोजने और प्राप्त करने में बहुत समय बिताया था। मुझे भाषा सिंटैक्स, कंपाइलर और संकलन प्रक्रिया, लिंकिंग, बिल्डिंग और डीबगिंग सीखना था। फिर मुझे उन विभिन्न उपलब्ध पुस्तकालयों और एपीआई के बारे में सीखना पड़ा जो वहाँ हैं और उन सभी आश्रितों को जोड़ने के लिए अपनी परियोजनाओं या समाधानों को कैसे कॉन्फ़िगर किया जाए।
पिछले कुछ वर्षों में मैंने C ++ भाषा देखी है, समय के साथ विकसित और अनुकूलित हुई है। शुरुआत में यह कई वर्षों तक लगभग एक जैसा रहा, लेकिन पिछले 10 वर्षों में इसकी शुरुआत के बाद से इस छोटी अवधि में नाटकीय रूप से बदल गया है।
मैं इस सब का उल्लेख करता हूं क्योंकि सी ++ अपनी बहुमुखी प्रतिभा, शक्ति, समृद्ध विशेषता सेट और आपको पैर में खुद को शूट करने की अनुमति देने की क्षमता के कारण पूरी तरह से मास्टर करने के लिए सबसे कठिन भाषाओं में से एक है! और यहां तक कि अपने सभी केवेट के साथ, यह सबसे शक्तिशाली और पसंदीदा भाषाओं में से एक है जो इस प्रकार के विकास के लिए एक शीर्ष मानक उद्योग में उपयोग किया जाता है क्योंकि जब यह सही ढंग से किया जाता है तो यह तेज, संक्षिप्त, विश्वसनीय और उपयोग करता है। सबसे छोटा पैर प्रिंट।
तब से मैं 3 डी ग्राफिक्स प्रोग्रामिंग और गेम इंजन डिज़ाइन सीखने के इरादे से कई वर्षों के लिए सी / सी ++ में स्वयं पढ़ाया गया हूं। मैंने 100 से 1,000 से एक घंटे के खोज, अनुसंधान और बहुत कुछ पढ़ने, सीखने और उपयोगी काम करने वाले उत्पादों और अनुप्रयोगों के डिजाइन में उस ज्ञान को लागू करने में लगाया है। मुझे हमेशा अपने कौशल सेट और शिल्प में सुधार करने के लिए और अधिक सीखने की इच्छा रखने की इच्छा और इच्छा हुई है।
यह पहला चरण था, तब मैंने शुरू में डायरेक्टएक्स 9. सी के साथ पढ़ना और काम करना शुरू कर दिया था, जो मैंने सी / सी ++ और यहां तक कि सी # में किया है। फिर मैं डायरेक्टएक्स 10 और लिगेसी ओपनजीएल 1.0 पर चला गया। उनके आने से डायरेक्टएक्स 11 और ओपनजीएल 3.x - 4.x और अब मैंने वुलकन में भी अपना हाथ आजमाया है।
मैंने पाठ और वीडियो प्रारूपों दोनों में विभिन्न ऑनलाइन ट्यूटोरियल के माध्यम से काम करने वाले सफल गेम इंजन बनाए हैं। मैंने पहले ही कहा था कि मेरी गणित में एक मजबूत पृष्ठभूमि थी लेकिन यह कैलकुलस I & II तक सीमित थी। मुझे अपने आप को वेक्टर कैलकुलस सिखाना था जिसके बारे में मुझे कॉलेज के अपने कैलकुलस आधारित फिजिक्स क्लास से कुछ ज्ञान था, लेकिन जैसा कि अफारे ट्रांसफॉर्मेशन और एनालिटिकल ज्योमेट्री के साथ रैखिक बीजगणित के लिए था, जब मुझे कुछ समीकरणों, कार्यों, विधियों, एल्गोरिदम और अवधारणाओं की आवश्यकता थी। तब मुझे यह सीखना था कि उन लोगों को कुशल, पठनीय, विश्वसनीय, पुन: प्रयोज्य कोड में कैसे अनुवाद किया जाए जो सामान्य और बग मुक्त था और सैकड़ों से हजारों घंटों के डिबगिंग में संभव था।
यह विषयों और एल्गोरिदम को सीखने वाली एक अद्भुत यात्रा रही है जिसमें मेमोरी मैनेजमेंट, रेफरेंस काउंटिंग, इंस्टेंसिंग, रिकर्सन और बहुत कुछ शामिल है जो कि एक गेम इंजन के सभी घटकों के लिए उपयोग नहीं किए जाते हैं जहाँ वे विशाल हैं। मैं उन सभी को यहाँ सूचीबद्ध कर सकता हूँ, लेकिन यह पर्याप्त जानकारी होगी जो कि लिखने के लिए 3 या 4 उत्तर देने लायक स्थान भरेगी। हालाँकि, मैं सामान्य विषयों की सूची को शामिल करूँगा, न कि उनके उप विषयों को।
यहाँ उन विषयों या विषय सूची को शामिल किया गया है जिनमें एक पूरी तरह कार्यात्मक खेल इंजन शामिल है, जिसमें विभिन्न प्रकार की रेंडिंग तकनीकें शामिल हैं, जिसमें रेंडरिंग और शेडर पाइपलाइनों की स्थापना, शेडिंग और पूर्व प्रसंस्करण, फ्रेम बफ़र्स, बैक बफ़र्स के माध्यम से छायांकन और प्रकाश तकनीक शामिल हैं। , छवि लोड हो रहा है, ऑडियो और मॉडल लोड हो रहा है और पार्सिंग, रंग सामग्री गुणों, बनावट और मैनुअल बनावट मानचित्रण, वस्तु परिवर्तनों, कैमरा प्रकार, दृश्य ग्राफ पदानुक्रम, बनावट के लिए प्रबंधक वर्गों, ऑडियो, फोंट, और shaders और के साथ सामान्य निर्देशांक के साथ आदिम आकार बनाने। स्मृति प्रबंधन, अपवाद हैंडलिंग, बहु-थ्रेडेड और समानांतर प्रोग्रामिंग तकनीक, नेटवर्किंग, भौतिकी इंजन, टक्कर का पता लगाने, कण जनरेटर, एनीमेशन, गेम AI, इलाके पीढ़ी, आकाश बक्से और आकाश गुंबदों, जल प्रतिपादन, के साथ लॉगिंग सिस्टमपत्ते और अधिक ..., पाठ प्रतिपादन, HUD ओवरले, इन्वेंट्री, मैप और मैक्रो जेनरेशन, स्टेट सिस्टम और स्टेट मशीन के लिए GUI की बनावट फ़ॉन्ट के साथ है, और अंत में इन ऑब्जेक्ट्स के बहुत से स्वचालित करने के लिए अपनी स्क्रिप्टिंग भाषा बनाने के लिए एक पार्सर लिख रहा है एप्लिकेशन स्टार्टअप पर अपने संबंधित कंटेनरों के भीतर डेटा ऑब्जेक्ट्स और संरचनाओं को पॉप्युलेट करने के लिए डेटा फ़ाइलों में लोड करके सिर्फ कंप्यूटर को फिर से जोड़ने के बिना इंजन के भीतर डेटा मूल्यों को बदलने की क्षमता।और अंत में अपनी खुद की स्क्रिप्टिंग भाषा बनाने के लिए अपनी खुद की स्क्रिप्टिंग भाषा बनाने के लिए इन वस्तुओं को स्वचालित करने के लिए इंजन के भीतर डेटा मूल्यों को बदलने की क्षमता है बिना डेटा फ़ाइलों में लोड करके केवल डेटा को लोड करने के लिए अपने संबंधित कंटेनरों के भीतर और संरचनाओं को पॉप्युलेट करने के लिए। एप्लिकेशन स्टार्टअप पर।और अंत में अपनी खुद की स्क्रिप्टिंग भाषा बनाने के लिए अपनी खुद की स्क्रिप्टिंग भाषा बनाने के लिए इन वस्तुओं को स्वचालित करने के लिए इंजन के भीतर डेटा मूल्यों को बदलने की क्षमता है बिना डेटा फ़ाइलों में लोड करके केवल डेटा को लोड करने के लिए अपने संबंधित कंटेनरों के भीतर और संरचनाओं को पॉप्युलेट करने के लिए। एप्लिकेशन स्टार्टअप पर।
इन वर्षों के दौरान और बाद में मुझे असेंबली भाषा सीखने की इच्छा हुई है, मैं उनसे कंपाइलर, असेम्बलर्स और सिंपल ऑपरेटिंग सिस्टम के बारे में सीखना चाहता था। मेरा मतलब है कि उनके आंतरिक कामकाज, उनका निर्माण और डिजाइन कैसे किया जाता है।
समय बीतता गया और फिर मैंने थोड़ा सा कदम बढ़ाया और हार्डवेयर इम्यूलेशन सीखना शुरू कर दिया। मैंने विशेष रूप से एनईएस पर ध्यान केंद्रित किया, लेकिन सामान्य रूप से सीपीयू के हार्डवेयर अनुकरण सीखना चाहता था। इससे मुझे उस निर्देश सेट के बारे में जानने में मदद मिली, जिसमें मुझे पहले से ही यह पता था कि अवधारणा क्या है और मैं पहले से ही इंटेल के x86 परिवार से कुछ हद तक परिचित था, लेकिन अब मुझे 6502 इंस्ट्रक्शन सेट सीखना था।
फिर भी इसमें गोता लगाकर, मैंने और अधिक शोध करना समाप्त कर दिया और इंजीनियरिंग के दृष्टिकोण से इंस्ट्रक्शन सेट आर्किटेक्चर के बारे में सीखना शुरू कर दिया। इससे मुझे यह पता चला कि सीपीयू को लॉजिक गेट्स से कैसे बनाया जाता है और अन्य विभिन्न विद्युत घटकों के साथ ट्रांजिस्टर से लॉजिक गेट कैसे बनाए जाते हैं। इसलिए मैंने इस बारे में दो दृष्टिकोणों से ऊपर और नीचे से सीखना शुरू किया। दोनों विधियाँ बहुत प्रभावी थीं और मुझे लगता है कि दोनों से सीखने से उस पुल या गैप को बनाने में मदद मिलती है जहाँ सॉफ्टवेयर हार्डवेयर को बनाता है।
इस से, मुझे अपने बूलियन बीजगणित पर ताज़ा करना पड़ा और मैंने के-मैप्स, इम्प्लीकेशन टेबल्स, स्टेट मशीन्स दोनों मैली और मूर और कई अन्य चीजों के बारे में सीखना शुरू कर दिया जो बाइनरी लॉजिक और अरिथमेटिक से फिजिकल लॉजिकल गेट्स और इंटीग्रेटेड सर्किट से संबंधित हैं। और यह मुझे उस नाराज अतीत में ले जाता है जहां मैंने लॉजिम के साथ काम करना शुरू किया, और एचडीएल, वीएचडीएल, वेरिलोग आदि सीखना शुरू कर दिया ...
मैं यह सब अपने खाली समय पर सीख रहा हूं जब मैं पिछले 15 - 18 वर्षों में कर सकता था।
यहां कुछ ऐसी साइटें और लिंक हैं, जिन्होंने मुझे वर्षों तक मार्गदर्शन किया है। इनमें से कई हाल ही में उन साइटों में से कई हैं जिन्हें मैंने मूल रूप से सीखा है या तो अब मौजूद नहीं है, मैंने उनके लिंक खो दिए हैं और याद नहीं है, या खोज इंजन ने उन्हें अपनी खोज सूचियों के बहुत पीछे धकेल दिया है ...
भाषाएँ - सी ++
3 डी ग्राफिक्स ट्यूटोरियल और संसाधन वेबसाइट
Youtube श्रृंखला और चैनल इन विषयों को ऊपर के साथ-साथ हार्डवेयर, कंप्यूटर और इलेक्ट्रिकल इंजीनियरिंग को कवर करते हैं। सूची में बहुत सारे हैं इसलिए मैं उनमें से कुछ को यहां सूचीबद्ध करूंगा कि मुझे सबसे उपयोगी और संसाधन मिलें। मैं लिंक प्रदान नहीं करूंगा लेकिन आप इन चैनलों के लिए youtube खोज सकते हैं।
- 3Blue1Brown - उन्नत गणित
- बिसकविट - उन्नत सी / सी ++ प्रोग्रामिंग (एप्लीकेशन प्रोजेक्ट्स) - एनईएस हार्डवेयर एमुलेटर
- जेसन टर्नर - उन्नत आधुनिक सी ++ प्रोग्रामिंग तकनीक
- javidx9 - उन्नत C / C ++ प्रोग्रामिंग (एप्लिकेशन प्रोजेक्ट) - NES हार्डवेयर एमुलेटर / कुछ असेंबली
- एमआईटी ओपनकोर्स - गणित और कंप्यूटर विज्ञान में कॉलेज पाठ्यक्रम
- बिल्केंट ऑनलाइन पाठ्यक्रम - कंप्यूटर विज्ञान और कंप्यूटर इंजीनियरिंग में कॉलेज पाठ्यक्रम (सीपीयू डिजाइन एमआइपी)
- द चेरनो - एडवांस्ड सी / सी ++ प्रोग्रामिंग टॉपिक्स एंड एप्लिकेशन - गेम इंजन डेवलपमेंट
- बेन इटर - हार्डवेयर इंजीनियरिंग - ब्रेडबोर्ड के माध्यम से व्यावहारिक अनुप्रयोग
- नेसो एकेडमी - हार्डवेयर इंजीनियरिंग - थ्योरी एंड कॉन्सेप्ट्स
- सुकराती - पायथन प्रोग्रामिंग
- सीधे शब्दों में कहें - हार्डवेयर इंजीनियरिंग - सिद्धांत और अवधारणाओं
- बिटवाइज़ - एडवांस्ड सी / सी ++ हार्डवेयर एमुलेशन के माध्यम से एक असेंबलर डिज़ाइन करना
- बो कियान - सी ++ डेटा संरचनाओं और एल्गोरिदम में विषय।
- लाइनबायलाइन - वल्कन प्रोग्रामिंग
- जोशुआ शकर - वल्कन प्रोग्रामिंग
- www.MarekKnows.com - C ++, 3D गणित और गेम इंजन विकास
और इन विषयों पर मेरे पास विभिन्न पुस्तकों में से कुछ को ध्यान में नहीं रखा गया है।
-नोट- कृपया इस पर वोट न करें क्योंकि यह केवल मेरे अपने व्यक्तिगत अनुभव के पाठक के लिए एक संदेश है और मूल प्रश्न का उत्तर या संदर्भ देने के किसी भी प्रयास से शून्य है। अगले कुछ दिनों में जब मेरे पास समय होगा; मैं एक संदर्भ और संसाधनों के सेट के रूप में उपयोगी लिंक प्रदान करते समय ओपी के प्रश्न के बारे में अपने विचार देने के लिए एक अनुवर्ती उत्तर जोड़ूंगा और इस उत्तर को अद्यतन करने के साथ-साथ कुछ लिंक भी शामिल करूंगा और इस नोट को संशोधित करूंगा। यह देर हो चुकी है और मेरे पास वर्तमान में मेरे द्वारा पहले से लिखी गई बातों को प्रमाणित करने और संपादित करने का समय नहीं है। मैं यह करूँगा जब मैं करूँगा ”।