एक वेबसाइट पर कई लोग कैसे काम कर सकते हैं?


11

मैंने हाल ही में द सोशल नेटवर्क देखा, और यह एक मूर्खतापूर्ण प्रश्न हो सकता है, लेकिन एक वेबसाइट पर कई लोगों के लिए काम करना कैसे संभव है? मेरा मतलब है, यदि वे एक ही पृष्ठ पर काम कर रहे हैं, तो यह कैसे संभव है? और यह भी, क्या उन्हें लाइव किए बिना फ़ाइलों को ऑनलाइन होस्ट पर अपलोड करना संभव है?


12
स्रोत नियंत्रण। प्रत्येक डेवलपर स्थानीय रूप से फाइलों पर काम करता है, फिर उस फ़ाइल को देखना होता है जो अन्य डेवलपर्स को फ़ाइल में चेक किए जाने तक सामग्री को बदलने से रोकती है। en.wikipedia.org/wiki/List_of_revision_control_software

3
जब तक वे बाइनरी नहीं होते तब तक फ़ाइलों पर संस्करण नियंत्रण की लॉक कार्यक्षमता का उपयोग कभी न करें।
कॉलिन गौडी

@ गोम्मो: 'बाइनरी' से आपका क्या तात्पर्य है? क्या आप उस पर विस्तार कर सकते हैं?
कैम

1
@Cam: इस संदर्भ में "द्विआधारी" = "कुछ भी जो एक पाठ फ़ाइल नहीं है"
कोनराड रूडोल्फ

जवाबों:


27

आमतौर पर जब कई लोगों को एक ही फाइल में बदलाव करने की आवश्यकता होती है, तो वे इस बात का ध्यान रखने के लिए किसी प्रकार के संस्करण नियंत्रण प्रणाली का उपयोग करते हैं कि किसने क्या परिवर्तन किए। यह उन्हें अलग-अलग लोगों द्वारा किए गए परिवर्तनों को मर्ज और सिंक्रनाइज़ करने देता है।


1
सरल, अभी तक सुरुचिपूर्ण।
रयान हेस

14

बहुत कम वेबसाइटों में केवल एक "पेज" होता है और, ऐसे मामलों के लिए जहां कई लोग एक ही पृष्ठ पर काम करेंगे, अधिकांश संशोधन नियंत्रण प्रणालियों में बदलाव को एक एकीकृत फ़ाइल में एक साथ विलय करने के लिए निर्मित तंत्र हैं।


बस picky होने के लिए :) जब तक कि यह एक सीएमएस आधारित प्रणाली नहीं होती है, जहां सभी पृष्ठ आभासी होते हैं और केवल एक डेटाबेस में मौजूद होते हैं।
अंधेरी

6

एक ही फाइलों में काम करने वाले एकाधिक व्यक्ति: स्रोत नियंत्रण

उन्हें लाइव किए बिना: विकास सर्वर और डेटाबेस, जो वास्तविक वेबसाइट के समान शाखा नहीं हैं।


3

उन्हें किसी तरह के मैनेजर की जरूरत होती है।

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

यह दाहिने हाथ का एक क्लासिक मामला है, जो यह नहीं जानता कि बाएं हाथ क्या कर रहा है, जो स्पष्ट रूप से गलती को दिखाता है, जो शायद मेरा है।

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

आप इसके लिए मुझे धन्यवाद देंगे, और फिर कभी ऐसा नहीं करेंगे।

बेशक आप 'यहाँ' से बात करते हुए किसी तरह की सामान्य बात कर सकते हैं, लेकिन क्या मज़ा है?


1

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


2
टीएफएस सबसे अच्छा था जो आप एक स्रोत नियंत्रण प्रबंधन प्रणाली के उदाहरण के लिए आ सकते हैं? चलो भी अब।
मैट फिलिप्स

1

वे या तो:

  • SSH सत्र (जैसे vi, vim, nano, emacs) के माध्यम से एक संपादक में प्रोग्रामिंग करें।
  • एफ़टीपी के माध्यम से अपनी आईडीई के साथ संपादन करें (उदाहरण के लिए, नोटपैड ++)।
  • एक संस्करण नियंत्रण प्रणाली का उपयोग करना।

पिछले एक के लिए, लोग अब इस तरह के रूप में वितरित संस्करण नियंत्रण का उपयोग तेज , Git और बाज़ार के बजाय इस तरह के सीवीएस और तोड़फोड़ के रूप में केंद्रीकृत संस्करण नियंत्रण। Mercurial के लिए, bitbucket.org और Google कोड प्रोजेक्ट होस्टिंग की जाँच करें, git के लिए, github की जाँच करें , जो ऐसी साइटें हैं जो आपके लिए एक सर्वर सेट करने की आवश्यकता के बिना सहयोगी साझा करने के लिए कोड होस्ट करती हैं।

इसके अलावा:


1

एक पूर्ण के रूप में घटकों वी.एस. पेज के साथ पृष्ठों का विकास करना

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


क्या आप जानते हैं कि एक वेब पोर्टल क्या है? (संकेत, यह मैशप नहीं है। पुराने समय के याहू के बारे में सोचें)
जेवियर

हाँ, मैं एक उदाहरण का उपयोग करने की कोशिश कर रहा था जो दिखाता है कि एक तकनीक पृष्ठों को घटकों में तोड़ने के लिए है। इसका एक अच्छा उदाहरण एक पोर्टल है, इसके अलावा उपयोगकर्ता पोर्टल विजेट्स को अंदर / बाहर छोड़ सकते हैं, जबकि घटकों का उपयोग करने वाले पृष्ठों का निर्माण केवल देव पक्ष से हो सकता है। पोर्टल्स एक अच्छा दृश्य उदाहरण है।
रयान हेस

0

आप किसी प्रकार की लाइव सिंकिंग प्रणाली का उपयोग कर सकते थे जैसे OneNote का उपयोग करता है .... इसके अलावा, आप फ़ाइलों को होस्ट में अपलोड कर सकते हैं, लेकिन उनके लिए अपना मुख्य डोमेन लिंक नहीं बना सकते हैं।


0

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

कई सामग्री प्रबंधन प्रणालियों में एक पूर्वावलोकन सुविधा होगी जो लेखकों को सार्वजनिक रूप से सुलभ बनाने से पहले सामग्री को देखने की अनुमति दे सकती है।


0

वर्णित ये सभी उपकरण सहायक हैं, लेकिन मेरे लिए यह अधिक अच्छा लगता है जैसे ओपी अधिक पूछ रहा है कि लोग दूसरों के मार्ग में आने से कैसे बचते हैं।

उन संघर्षों को हल करने के लिए उपकरणों का उपयोग करने के अलावा, आमतौर पर कुछ विभाजन को ढेर या स्तरों में विभाजित किया जाता है ताकि पहली जगह में संघर्ष से बचने में मदद मिल सके।

स्टैक दृष्टिकोण के साथ आपके पास प्रत्येक व्यक्ति एक असंबंधित सुविधा पर काम कर रहा है (एक व्यक्ति खाता साइन-अप कर सकता है और एक व्यक्ति सब-सबमिट कर सकता है)। कुछ संघर्ष होंगे जहां दोनों पार हो सकते हैं (संभवतः इस उदाहरण में उपयोगकर्ता रिकॉर्ड) और जो अगले निर्माण के लिए मर्ज के भाग के रूप में नियंत्रित किया जाता है।

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

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


0

दूसरे भाग का उत्तर देने के लिए, फ़ाइलों को अपलोड किए बिना उन्हें लाइव करने का एक तरीका उन्हें एक ऐसा नाम देना है जिसे लिंक नहीं किया जाएगा। जैसे किसी index.htmlपृष्ठ का नया संस्करण बनाने के लिए , उसे नाम के साथ अपलोड करें index2.html, फिर देखें http://yoursite.com/index2.htmlऔर जांचें कि वह ठीक काम करता है। एक बार जब आप संतुष्ट हो जाते हैं, तो इसका नाम बदल दें index.html। यह वास्तव में केवल बहुत छोटी साइटों के लिए है, और यह थोड़ा गड़बड़ हो जाता है यदि आप पृष्ठ के लिए कुछ बाहरी बदलना चाहते हैं, जैसे कि छवियां, सीएसएस या जावास्क्रिप्ट फाइलें, क्योंकि आपके पास होना है image2.png, तो index2.htmlजिसका एकमात्र अंतर यह है कि यह इंगित करता है नया चित्र।

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

जब कई डेवलपर्स एक साथ काम करते हैं, तो प्रत्येक के पास काम करने के लिए अपनी स्वयं की परीक्षण प्रणाली होगी, फिर अपने परिवर्तनों को एक संस्करण नियंत्रण प्रणाली पर अपलोड करें जो सभी अलग-अलग लोगों से सभी परिवर्तनों का ट्रैक रखता है। यह कैसे काम करता है, इसके लिए दृष्टांत देखें ।

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


0

स्थापित करने के लिए पहली बात यह है कि कई साइटें स्थैतिक पृष्ठों का संग्रह नहीं हैं जो एक या अधिक लोगों द्वारा काम की जाती हैं।

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

साइट स्वामी स्थिर पृष्ठों के बजाय सामग्री और लेआउट टेम्प्लेट में परिवर्तन करते हैं। उस पर से आगे बढ़ना आपके उत्तर में परिवर्तन के प्रकार और उसे करने वाले व्यक्ति की भूमिका पर निर्भर करता है:

  1. एक साइट सार्वजनिक उपयोगकर्ता , एक ब्लॉग या टिप्पणी पोस्ट कर रहा है
  2. यदि आप साइट पर सामग्री बदल रहे हैं (सामग्री निर्माता की भूमिका, उदाहरण के लिए वेबसाइट के मालिक के लिए काम करने वाले पत्रकार) या
  3. साइट की कार्यक्षमता को जोड़ना और बदलना (साइट के मालिक के लिए काम करने वाले साइट डेवलपर)।

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

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

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