Як на одному веб-сайті могли працювати кілька людей?


11

Нещодавно я переглядав «Соціальну мережу», і це може бути дурним питанням, але як можливо, щоб один чоловік працював на одному веб-сайті? Я маю на увазі, якщо вони працюють на одній сторінці, як це можливо? А також, чи можна завантажувати файли на Інтернет-хост, не роблячи їх живими?


12
Контроль джерела. Кожен розробник працює на файлах локально, тобто , щоб перевірити файл , який забороняє іншим розробникам замінювати вміст в файлі , поки не перевіряється. En.wikipedia.org/wiki/List_of_revision_control_software

3
Ніколи не використовуйте функцію блокування контролю версій у файлах, якщо вони не є двійковими.
Колін Ґуді

@gommo: Що ви маєте на увазі під "бінарним"? Чи можете ви розширити це?
Cam

1
@Cam: у цьому контексті “binary” = “все, що не є текстовим файлом”
Konrad Rudolph

Відповіді:


27

Зазвичай, коли багатьом людям потрібно внести зміни в один і той же файл, вони використовують якусь систему контролю версій, щоб відстежувати, хто змінив. Це також дозволяє їм об'єднувати та синхронізувати зміни, які вносять різні люди.


1
Простий, але елегантний.
Райан Хейс

14

Дуже мало веб-сайтів складається лише з однієї "сторінки", і для випадків, коли на одній сторінці працюють декілька людей, більшість систем контролю версій мають вбудовані механізми для об'єднання змін назад у єдиний файл.


Просто бути вибагливим :), якщо це не система CMS, де всі сторінки є віртуальними і існують лише в базі даних.
Темна ніч

6

Кілька осіб, які працюють в одних і тих же файлах: Управління джерелами

Без використання їх: сервери розробки та бази даних, які не є такою ж галуззю, як реальний веб-сайт.


3

Їм потрібен якийсь менеджер.

Зазвичай команди розбиваються на сегменти, які ніколи не повинні заважати одна одній (відомі останні слова). Наприклад, якщо API foo залежить від помічників людей, які кодують C, поломка повинна (ніколи не відбудеться), але якщо це станеться, це станеться тому, що допоміжна програма не розуміє, що ви їй передаєте.

Це класичний випадок правої руки, який не знає, що робить ліва рука, що чітко ілюструє помилку, яка, ймовірно, моя.

Якщо ви натискаєте код, не попередньо витягуючи та не вирішуючи злиття (порушуючи те, що зробив інший розробник, просто видаливши все, що ви не написали), перш ніж спілкуватися з іншими, хто редагує те саме, я збираюся дозувати вас високою напругою. Після цього я виведу вас на вечерю (щоб виплатити кошти за 1,21 гігаватт) і переконаюся, що ви поглинете якусь божевільну, огидну і досить екзотичну їжу. Подумайте ... Клінгон .

Тоді ви будете дякувати мені за це, і більше ніколи цього не зробите.

Звичайно, ви можете замінити якусь нормальну «розмову» з цим, але що це весело?


1

Напевно ви побачите, що у них є розробники, які працюють на різних сторінках. Шаблон або майстер сайту зазвичай створюється таким чином, щоб кожна сторінка мала однаковий вигляд. Наприклад, якщо компанія використовує Source Control, такий як Team Foundation Server, кожен розробник перевірить свій вихідний код, і це дозволить іншим розробникам отримати останні зміни.


2
TFS - це найкраще, що ви могли придумати для прикладу системи управління джерелами? Давай зараз.
Метт Філліпс

1

Вони могли:

  • Програмуйте в редакторі за допомогою сеансу SSH (наприклад, vi, vim, nano, emacs).
  • Редагуйте через FTP за допомогою їх IDE (наприклад, emacs, notepad ++).
  • Використання системи контролю версій.

Для останнього зараз люди використовують розподілене управління версіями, таким як mercurial , git та bazar , замість централізованого контролю версій, такого як CVS та subversion. Для вимірювання перевірте бітбукеткінг.org і проект коду google, хостинг git, перевірте github - це сайти, на яких розміщений код для спільного доступу, без необхідності налаштування сервера.

Також:

  • Щоб дізнатись про вбивство, перейдіть на сторінку http://hginit.com/
  • Щоб дізнатися git, перейдіть на сторінку http://progit.org/book/

1

Розробка сторінок з компонентами VS Pages як ціле

Я працював на багатьох масштабних веб-сайтах, і те, як на одній сторінці працюють декілька людей, полягає в тому, що більшість веб-сайтів - це портали . Загалом, багато сайтів, таких як facebook, містять багато елементів керування, таких як фотографії, оголошення, місця з невеликим розмиттям тощо, над якими працюватимуть кілька людей. Крім того, заголовки та колонтитули, як правило, розбиваються на власні файли для багаторазового використання. Це розбиває сайт на компоненти, над якими можна не тільки працювати окремо, але також можна повторно використовувати на декількох сайтах і областях.


чи знаєте ви, що таке веб-портал? (натяк, це не маш. Подумайте про старі часи Yahoo)
Хав'єр

Так, я намагався використовувати приклад, який показує, що одна техніка - це розбивати сторінки на компоненти. Хорошим прикладом цього є портал, за винятком того, що користувачі можуть випускати / відпускати віджети порталу, тоді як створювати сторінки за допомогою компонентів можна лише з боку розробника. Портали - хороший наочний приклад.
Райан Хейс

0

Ви можете використовувати якусь систему живої синхронізації, як OneNote використовує .... Крім того, ви можете завантажувати файли на хост, але не робити основне посилання на домен до них.


0

Не забувайте, що також можуть існувати системи управління вмістом, які деякі веб-сайти використовують для розміщення вмісту, так що, хоча ви можете подумати, що щось є веб-сторінкою, це справді це поєднання речей.

Багато систем управління контентом матимуть функцію попереднього перегляду, щоб автори могли переглядати вміст перед тим, як зробити його загальнодоступним.


0

Всі ці згадані інструменти є корисними, але мені це здається більше схожим на те, як ОП більше запитує, як люди перешкоджають стати на шляху інших.

Окрім використання інструментів для вирішення цих конфліктів, зазвичай існує певний поділ на стеки або яруси, які допомагають уникнути конфліктів в першу чергу.

За допомогою підходу до стеку ви маєте наділення кожною особою, яка працює над незв’язаною функцією (одна людина може робити реєстрацію в обліковому записі, а одна може надсилати вміст). Буде якийсь конфлікт, коли вони можуть перетинатися (ймовірно, записи користувача в цьому прикладі), і це обробляється як частина об'єднання в наступну збірку.

З рівнем підходу хтось будує всі найпотаємніші біти, коли одна частина закінчується, інша людина записує шматочки, які сидять поверх них тощо. конфлікти, що виникають тут, як правило, коли щось потрібно повернути на нижній рівень для наступної модифікації, яка може вплинути на наступний рівень вище, і обробляється аналогічно до наступної збірки.

Частина про файли, які рекламуються, але не в прямому ефірі, має широкий спектр відповідей / реалізацій, однак окремий сервер для попереднього перегляду, конкретний режим попереднього перегляду або клас користувача або права, що тягне за собою версію крайової версії, а постійні користувачі отримують стабільну версію. ті, які я, як правило, бачу найчастіше.


0

Щоб відповісти на другу частину першим, один із способів завантаження файлів, не створюючи їх у прямому ефірі, - це дати їм ім’я, з яким не буде пов’язано. Наприклад, щоб створити нову версію index.htmlсторінки, завантажити її з назвою index2.html, потім відвідайте http://yoursite.com/index2.htmlі перевірте, чи працює вона добре. Після задоволення перейменуйте його на index.html. Це дійсно лише для дуже маленьких сайтів, і він стає трохи безладним, якщо ви хочете змінити щось зовнішнє на сторінці, наприклад, файли зображень, CSS або JavaScript, тому що вам це доведеться мати image2.png, тоді index2.htmlчия різниця лише в тому, що він вказує на новий образ.

Професійний програміст завжди матиме тест-систему, над якою працюватиме, а потім завантажувати їх у "Інтернет-хост", як тільки вони будуть задоволені змінами. Ви можете налаштувати на своєму комп’ютері веб-сервер, який обслуговуватиме сторінки лише у вашій локальній мережі. Звичайно, ви також можете використовувати окремий комп'ютер або (як я це роблю) віртуальну машину, що працює на вашому головному комп'ютері.

Коли кілька розробників працюють разом, кожен з них має власну тестову систему, над якою працюватиме, а потім завантажуйте свої зміни в систему контролю версій, яка відстежує всі зміни від різних людей. Дивіться притчу про git, як це працює.

Система управління версіями дозволяє легко зрозуміти, хто змінив, що і чому. Це може перевірити той, хто відповідає, а потім з’єднати його з майстром та здати його у відділ тестування / контролю якості. Після того, як вони повністю перевірять нові функції, вони затвердять її для завантаження на веб-сайт, що перебуває в реальному часі.


0

Перше, що потрібно встановити, це те, що багато сайтів не є набором статичних сторінок, над якими працює один чи кілька людей.

Сторінки, які ви бачите як відвідувачі, не існують на веб-сайті, щоб внести зміни, оскільки на таких сайтах вони автоматично збираються системою управління вмістом - програмним забезпеченням, що працює на хостинг-сервері, використовуючи вміст, який веб-сайт власники виробили. CMS збирає сторінку із вмісту, викладеного за допомогою файлів шаблонів (власні конфігураційні файли CSS та CMS), а отримана сторінка подається у ваш браузер.

Власники сайтів вносять зміни до вмісту та шаблонів макета, а не статичних сторінок. На основі цього ваша відповідь залежить від типу змін та ролі особи, яка це робить:

  1. публічний користувач сайту , розміщуючи щоденник чи коментар
  2. якщо ви змінюєте вміст на сайті (роль виробника контенту, наприклад, журналіст, який працює для власника веб-сайту) або
  3. додавання та зміна функціональності сайту (розробник сайту, який працює для власника сайту).

Drupal - це безкоштовна і потужна система управління вмістом, яка забезпечує багатокористувацьке управління для обробки оновлень вмісту, що, в свою чергу, впливає на те, що відвідувачі бачать на сторінках. Drupal також надасть засоби для зміни поведінки сторінок, наприклад, як вони викладаються або якщо коментарі до статті можуть розміщуватися, стосуючись 1-го та 2-го типів змін. Якщо робити зміни в Drupal, вони зберігатимуться в базі даних SQL. Drupal забезпечує деякий контроль версій / редагування вмісту.

Повна система контролю версій потрібна для більш активних змін поведінки сайту, 3-го типу змін, наприклад, для введення додаткових функцій, отримання оновлень від Drupal або виправлення помилок на власному доданому коді, то це означає зміну коду та, як тут розмістили інші. Системи контролю версій, такі як GIT, Subversion або Mercurial - все це безкоштовно - використовуються для управління змінами, внесеними декількома розробниками сайту.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.