Niedawno obejrzałem The Social Network i może to być głupie pytanie, ale jak to możliwe, że wiele osób może pracować na jednej stronie? To znaczy, jeśli pracują na tej samej stronie, jak to możliwe? A także, czy można przesyłać pliki do hosta online bez udostępniania ich na żywo?
11
Odpowiedzi:
Zwykle, gdy wiele osób musi wprowadzić zmiany w tym samym pliku, używają pewnego rodzaju systemu kontroli wersji, aby śledzić, kto dokonał zmian. Pozwala im także łączyć i synchronizować zmiany dokonywane przez różne osoby.
źródło
Bardzo niewiele witryn składa się tylko z jednej „strony”, a w przypadkach, gdy wiele osób będzie pracować na tej samej stronie, większość systemów kontroli wersji ma wbudowane mechanizmy scalania zmian z powrotem w zunifikowany plik.
źródło
Wiele osób pracujących w tych samych plikach: kontrola źródła
Bez uruchomienia ich: serwery programistyczne i bazy danych, które nie są tą samą gałęzią co prawdziwa strona internetowa.
źródło
Potrzebują jakiegoś menedżera.
Zazwyczaj zespoły dzielą się na segmenty, które nigdy nie powinny się ze sobą kolidować (słynne ostatnie słowa). Na przykład, jeśli interfejs API foo zależy od pomocników osób, które kodują w C, złamanie powinno (nigdy się nie zdarzy), ale jeśli tak, dzieje się tak, ponieważ aplikacja pomocnicza nie rozumie, co mu przekazujesz.
Jest to klasyczny przypadek prawej ręki, która nie wie, co robi lewa ręka, co wyraźnie ilustruje błąd, który prawdopodobnie jest mój.
Jeśli pchasz kod bez uprzedniego ściągania i rozwiązywania fuzji (jednocześnie niszcząc to, co zrobił drugi programista, po prostu usuwając to, czego nie napisałeś), przed komunikowaniem się z innymi, którzy to samo edytują, dam ci wysokie napięcie. Potem zabiorę cię na kolację (aby zrobić poprawki dla 1,21 gigawatów) i upewnię się, że spożywasz jakieś szalone, obrzydliwe i dość egzotyczne jedzenie. Pomyśl ... Klingon .
Podziękujesz mi za to i nigdy więcej tego nie zrobisz.
Oczywiście możesz zastąpić tutaj normalne „rozmawianie”, ale co to za zabawa?
źródło
Prawdopodobnie przekonasz się, że mają programistów pracujących na różnych stronach. Szablon lub wzorzec strony jest zwykle tworzony, aby każda strona miała taki sam wygląd i działanie. Na przykład, jeśli firma korzysta z Kontroli źródła, takiej jak Team Foundation Server, każdy programista sprawdziłby swój kod źródłowy, co pozwoli innym programistom uzyskać najnowsze zmiany.
źródło
Mogą albo:
W ostatnim przypadku ludzie używają teraz rozproszonej kontroli wersji, takiej jak mercurial , git i bazar , zamiast scentralizowanej kontroli wersji, takiej jak CVS i subversion. Jeśli chodzi o mercurial, sprawdź bitbucket.org i hosting projektu kodu Google , w przypadku git sprawdź github , które są witrynami, które udostępniają kod, abyś mógł udostępniać go wspólnie bez konieczności konfigurowania serwera.
Również:
źródło
Tworzenie stron ze składnikami VS Strony jako całość
Pracowałem na wielu dużych stronach internetowych, a sposób, w jaki wiele osób pracuje na tej samej stronie, polega na tym, że większość witryn to portale . Zasadniczo wiele witryn, takich jak Facebook, zawiera wiele elementów sterujących, takich jak zdjęcia, reklamy, małe obszary blurb itp., Nad którymi będzie pracować wiele osób. Ponadto nagłówki i stopki są generalnie dzielone na własne pliki dołączane wielokrotnego użytku. To dzieli witrynę na komponenty, nad którymi można nie tylko pracować indywidualnie, ale można je również ponownie wykorzystać w wielu witrynach i obszarach.
źródło
Możesz użyć systemu synchronizacji na żywo, takiego jak OneNote ... Ponadto możesz przesyłać pliki do hosta, ale nie tworzyć linku do nich z domeny głównej.
źródło
Nie zapominaj, że mogą istnieć systemy zarządzania treścią, których niektóre witryny używają do udostępniania treści, więc chociaż możesz myśleć, że coś jest stroną internetową, to tak naprawdę jest to połączenie różnych rzeczy.
Wiele systemów zarządzania treścią ma funkcję podglądu, która umożliwia autorom przeglądanie treści przed ich publicznym udostępnieniem.
źródło
Wszystkie wymienione narzędzia są pomocne, ale dla mnie brzmi to tak, jakby OP bardziej pytał, w jaki sposób ludzie powstrzymują się przed wejściem na ścieżkę innych.
Oprócz używania narzędzi do rozwiązywania tych konfliktów zwykle istnieje pewien podział na stosy lub poziomy, aby przede wszystkim uniknąć konfliktów.
Dzięki podejściu stosowemu każda osoba pracuje nad niepowiązaną funkcją (jedna osoba może rejestrować konto, a druga może przesyłać treści). Wystąpi konflikt, w którym mogą się krzyżować (prawdopodobnie w tym przykładzie rekordy użytkownika) i zostanie to rozwiązane w ramach scalania do następnej kompilacji.
Przy podejściu poziomowym ktoś buduje wszystkie najgłębsze bity, kiedy kończy się jedna porcja, inna osoba zapisuje bity, które leżą na nich i tak dalej. generowane tutaj konflikty zwykle mają miejsce, gdy trzeba powrócić do czegoś na niższym poziomie w celu późniejszej modyfikacji, która może wpłynąć na następny poziom powyżej i są obsługiwane w podobny sposób przed następną kompilacją.
Część o plikach promowanych, ale nie na żywo, zawiera wiele odpowiedzi / implementacji, ale osobny serwer do podglądu, określony tryb podglądu lub klasę użytkownika lub uprawnienia, które pobierają najnowszą wersję, podczas gdy zwykli użytkownicy otrzymują wersję stabilną. te, które najczęściej widuję.
źródło
Aby odpowiedzieć na drugą część w pierwszej kolejności, jednym ze sposobów przesyłania plików bez udostępniania ich na żywo jest nadanie im nazwy, z którą nie będzie się łączyło. Np. Aby utworzyć nową wersję
index.html
strony, prześlij ją z nazwąindex2.html
, a następnie odwiedźhttp://yoursite.com/index2.html
i sprawdź, czy działa poprawnie. Gdy będziesz zadowolony, zmień jego nazwę naindex.html
. Jest to tak naprawdę tylko w przypadku bardzo małych witryn i robi się nieco niechlujne, jeśli chcesz zmienić coś zewnętrznego na stronę, takie jak obrazy, pliki CSS lub JavaScript, ponieważ musisz to zrobićimage2.png
, aindex2.html
jedyną różnicą jest to, że wskazuje nowy wygląd.Profesjonalny programista zawsze będzie miał system testowy do pracy, a następnie prześle go do swojego „hosta online”, gdy tylko będzie zadowolony ze zmian. Możesz skonfigurować serwer WWW na swoim komputerze, który będzie obsługiwał tylko strony w sieci lokalnej. Oczywiście możesz również użyć osobnego komputera lub (tak jak ja) maszyny wirtualnej działającej na twoim komputerze głównym.
Gdy wielu programistów współpracuje ze sobą, każdy z nich ma swój własny system testowy do pracy, a następnie przesyła swoje zmiany do systemu kontroli wersji, który śledzi wszystkie zmiany od różnych osób. Zobacz przypowieść git, jak to działa.
System kontroli wersji ułatwia sprawdzenie, kto i co zmienił. Może to sprawdzić każdy, kto jest odpowiedzialny, a następnie scalić go z modułem głównym i przekazać do działu testowania / kontroli jakości. Po pełnym przetestowaniu nowych funkcji zatwierdzi je w celu przesłania do witryny na żywo.
źródło
Pierwszą rzeczą do ustalenia jest to, że wiele witryn nie jest zbiorem stron statycznych, nad którymi pracuje jedna lub więcej osób.
Strony, które widzisz jako odwiedzający, nie istnieją w witrynie, aby wprowadzić zmiany, ponieważ w takich witrynach są one automatycznie montowane w locie przez system zarządzania treścią - oprogramowanie działające na serwerze hostingowym, wykorzystujące treści, które witryna internetowa właściciele wyprodukowali. CMS składa stronę z treści ułożonych przy użyciu plików szablonów (CSS i własne pliki konfiguracyjne CMS), a wynikowa strona jest wyświetlana w przeglądarce.
Właściciele witryn dokonują zmian treści i szablonów układu, a nie stron statycznych. W dalszej kolejności twoja odpowiedź zależy od rodzaju zmiany i roli osoby, która to robi:
Drupal to darmowy i wydajny system zarządzania treścią, który zapewnia zarządzanie wieloma użytkownikami w celu obsługi aktualizacji treści, co z kolei wpływa na to, co widzą użytkownicy na stronach. Drupal zapewni również środki do zmiany zachowania stron, np. Sposób ich rozmieszczenia lub zamieszczania komentarzy do artykułu, odnosząc się do pierwszego i drugiego rodzaju zmian. Jeśli dokonasz zmian w Drupal, zostaną one zapisane w bazie danych SQL. Drupal zapewnia kontrolę treści / kontroli wersji.
Pełny system kontroli wersji jest potrzebny do bardziej zaangażowanych zmian w zachowaniu strony, trzeciego rodzaju zmiany, np. Wprowadzenia większej liczby funkcji, otrzymywania aktualizacji od Drupala lub naprawiania błędów we własnym dodanym kodzie, oznacza to zmianę kodu i, jak napisali inni. Systemy kontroli wersji, takie jak GIT, Subversion lub Mercurial - wszystkie bezpłatne - służą do zarządzania zmianami wprowadzonymi przez kilku programistów strony.
źródło