paint-brush
बड़े, बालों वाले कोडबेस को नेविगेट करना आसान होना चाहिएद्वारा@datastax
740 रीडिंग
740 रीडिंग

बड़े, बालों वाले कोडबेस को नेविगेट करना आसान होना चाहिए

द्वारा DataStax5m2023/03/12
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

इस अंतर्दृष्टि के साथ कि बड़ा कोड बड़ा डेटा है, सोर्सग्राफ डेवलपर्स को दुनिया में किसी भी कोडबेस को खोजने और समझने में मदद करने के लिए ज्ञान ग्राफ की शक्ति का उपयोग करता है।
featured image - बड़े, बालों वाले कोडबेस को नेविगेट करना आसान होना चाहिए
DataStax HackerNoon profile picture


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


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

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


इस अंतर्दृष्टि के साथ कि बड़ा कोड बड़ा डेटा है, हम दुनिया में किसी भी कोडबेस को खोजने और समझने में मदद करने के लिए ज्ञान ग्राफ की शक्ति का उपयोग कर सकते हैं।


मैंने हाल ही में लियू के साथ सोर्सग्राफ के साथ उनकी यात्रा और उनके दीर्घकालिक लक्ष्यों के बारे में बात की थी (पूरी बातचीत सुनने के लिए, ओपन सोर्स डेटा पॉडकास्ट सुनें)।

सोर्सग्राफ क्या है?

सोर्सग्राफ एक मुक्त, मुक्त स्रोत तकनीक है जो आपको अपने संपूर्ण कोडबेस में खोज करने में सक्षम बनाती है। इसका प्राथमिक लक्ष्य सॉफ्टवेयर इंजीनियर के काम के सबसे महत्वपूर्ण हिस्से से निपटने में मदद करना है: मौजूदा कोड को समझना।


यह ऐसा करता है:


  • क्लोनिंग और स्थानीय खोज के बिना एक बार में सब कुछ खोजना।
  • कोड की आवश्यक पंक्तियों को आसानी से साझा करना।
  • एकीकृत विकास पर्यावरण (आईडीई) से प्रेरित सुविधाओं के साथ प्रबंध करना।


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

सोर्सग्राफ के दो मूलभूत घटक हैं: खोज घटक और वैश्विक संदर्भ ग्राफ

खोज घटक

अधिकांश खोज इंजनों की तरह, सोर्सग्राफ का खोज घटक एक प्रश्न लेता है और सर्वोत्तम परिणाम प्रस्तुत करता है। कहते हैं कि एक डेवलपर एक विशिष्ट रिपॉजिटरी में टू-डॉस की तलाश कर रहा है। डेवलपर इस repo:facebook/react content:TODO जैसी खोज क्वेरी दर्ज कर सकता है और यह निर्दिष्ट निर्देशिका में किसी भी टू-डॉस की खोज करेगा। आप यहां फेसबुक रिएक्ट-नेटिव रिपॉजिटरी की खोज का एक वास्तविक उदाहरण देख सकते हैं। इसे संभव बनाने के लिए प्रमुख तकनीकों में से एक खोज कोड के लिए अनुकूलित एक अनुक्रमणिका प्रारूप है।


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


"उस अनुभव का केंद्र बिंदु यह कोड सर्च इंजन था जिसने Google पर सभी कोडों को अनुक्रमित किया और इसे प्रत्येक डेवलपर के लिए सुलभ बना दिया, चाहे आप इंटर्न हों या जेफ डीन-स्तरीय इंजीनियर, बहुत वरिष्ठ इंजीनियर," लियू ने कहा।

वैश्विक संदर्भ ग्राफ

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


सोर्सग्राफ इसे प्राप्त करने के लिए कंपाइलर लाइब्रेरी और ओपन प्रोटोकॉल की एक श्रृंखला का उपयोग करता है और इसके अपने प्रोटोकॉल हैं, जैसे सोर्स लिब और एससीआईपी , जो सोर्सग्राफ की आवश्यकताओं के लिए अधिक उपयुक्त हैं।

"यह इन भाषा-विशिष्ट इंडेक्सर्स को यह भाषा-अज्ञेयवादी इंटरफ़ेस प्रदान करने के बारे में है जो वैश्विक संदर्भ ग्राफ बनाने के लिए संकलक ज्ञान का उपयोग करते हैं," लियू ने कहा।

कैओस से एक्शन तक

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


"मुझे इस बड़े, जटिल कोडबेस में ड्रॉप-शिप किया गया था जो कि कई मालिकों के माध्यम से किया गया था," लियू ने याद किया। "यह थोड़ा गड़बड़ था, और मुझे याद है, उस पहले महीने के अंत में, पीछे मुड़कर देखा और खुद से पूछा, 'मैंने यहां क्या हासिल किया है? मैं अपना सारा समय इस कोड में क्या हो रहा है और यह पता लगाने की कोशिश कर रहा हूं कि यह जिस तरह से लिखा गया है, उसे समझने की कोशिश कर रहा हूं। ऐसा लगता है कि मेरा अधिक काम सिर्फ मौजूदा कोड की खोज करना है और यह पता लगाना है कि मैं जिस अपेक्षाकृत छोटे टुकड़े को जोड़ने की कोशिश कर रहा हूं वह उस व्यापक तस्वीर में कैसे फिट बैठता है।'"


Google में लियू के समय ने उन्हें आंतरिक डेवलपर टूल के एक सूट से अवगत कराया, जिनमें से एक Google Code Search था, जिसने Google पर सभी कोड को एक्सेस करने योग्य बना दिया। पलान्टिर में ऑनबोर्डिंग दर्द के साथ इस अनुभव ने लियू को कुछ ऐसा बनाने के लिए प्रेरित किया जो अन्य सॉफ्टवेयर इंजीनियरों को समान मुद्दों से बचने में मदद करेगा।


एक सार्वभौमिक कोड खोज के लिए एक उपकरण बनाने के बारे में पलंतिर में लियू के एक सहयोगी क्विन स्लैक के साथ बातचीत कार्रवाई में बदल गई, जिसमें से सोर्सग्राफ आया।

सोर्सग्राफ का भविष्य

2011 में, मार्क एंड्रीसेन ने लिखा था कि कैसे सॉफ्टवेयर दुनिया को खा रहा है । संकेत हर जगह हैं: आपके द्वारा ऑर्डर किए गए भोजन से लेकर राइड बुक करने तक, अपने घर के हीटिंग को नियंत्रित करने तक।

लेकिन लियू को लगता है कि हम केवल हिमशैल का सिरा देख रहे हैं। उन्होंने कहा कि कोड समझना रोजमर्रा की बात हो जाएगी।


उन्होंने इसकी तुलना साक्षरता से करते हुए कहा, "हम एक बार एक ऐसी दुनिया में रहते थे जहाँ पढ़ने और लिखने में सक्षम होना समाज के एक बहुत छोटे, कुलीन हिस्से तक सीमित था, जिससे मानव सभ्यता आगे बढ़ सकती थी।"


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


सैम रामजी द्वारा, डेटास्टैक्स

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


डेटास्टैक्स के बारे में और जानें


यहाँ भी प्रकाशित