Подтвердить что ты не робот

Как работает сайт github (архитектура)?

Github - действительно потрясающий сервис. Я очень хочу понять, какова их архитектура и как они сочетаются друг с другом; как они хранят репозитории, как они обращаются к этим репозиториям, чтобы показать содержимое файла, как они обрабатывают отображение различий и т.д. Может ли кто-нибудь дать обзор технологий и методов, которые они используют, поэтому я могу изучить их, чтобы расширить свои знания и, в свою очередь, навыки

4b9b3361

Ответ 1

Ядром Github является программное обеспечение с открытым исходным кодом git, которое является распределенным управлением версиями и программным обеспечением для управления исходным кодом. Github добавляет множество функций в функциональность git, включая отслеживание проблем, вики, контроль доступа и т.д.

Однако Github - это проприетарное программное обеспечение, и многие из его внутренних компонентов остаются неизвестными широкой общественности.

Чтобы узнать, как штуки подходят друг к другу, я предлагаю следующие ссылки ниже:

  • Официальный технический блог Github, который охватывает широкий круг тем, посвященных дизайну платформы.
    • особенно в этой статье, обширный обзор, написанный техническим директором Github.
  • Проекты, которые поддерживают Github, официально кураторский список проектов с открытым исходным кодом, которые управляют Github. Вот несколько основных моментов:
    • рельсы - веб-сервер
    • jekyll - движок блога за страницами Github
    • elasticsearch - поисковая система
    • hubot - бот-чат для автоматизации задач
    • ace - редактор кода на основе browswer
    • d3 - js lib для графиков и диаграмм
    • resque - фоновые работы
  • GitLab, альтернатива GITUB с открытым исходным кодом, которая предлагает практически те же функциональные возможности.
    • Прочитайте исходный код GitLab, и вы узнаете, как работает GitLab (и Github) под капотом.
    • Обзор архитектуры GitLab. Эта статья, безусловно, хорошая точка входа.

Я украл схему компоновки системы из Обзор архитектуры Gitlab. Ставка на то, что вы уже знаете, как работает gitlab с этой диаграммы.

(Конечно, есть большая разница между Github и GitLab. Но проект с открытым исходным кодом всегда лучше для тех, кто хочет учиться, не так ли?)

Схема компоновки системы GitLab

Ответ 2

Они используют Git, которая представляет собой систему управления распределенной версией с открытым исходным кодом и открытым исходным кодом, предназначенную для обработки всего от небольших до очень крупных проектов со скоростью и эффективностью. см. https://git-scm.com.