Информатика

Тема 6: Цифровое творчество

Урок 9: Системы контроля версий. GitHub. Хакатоны. Docker

  • Видео
  • Тренажер
  • Теория
Заметили ошибку?

Почти всегда над одним проектом работает несколько программистов. Чтобы не запутаться, они пользуются системами контроля версий и инструментами групповой разработки.

Системы контроля версий — это программные инструменты, помогающие командам разработчиков управлять и отслеживать изменения в коде с течением времени. Такие системы позволяют создавать ответвления разработки (бранчи), быстро откатываться на любую из предыдущих версий программы и многое другое.

Системы контроля версий — не эксклюзивная «фишка» программистов. Их можно использовать и для написания сценария к фильму.

Самая популярная распределенная система контроля версий — Git. Она разработана в 2005 году Линусом Торвальдсом, создателем Linux, чтобы другие разработчики могли вносить свой вклад в ядро Linux. Позже она стала использоваться во многих других проектах. Сейчас Git — самая быстрая система, использующая самое компактное хранилище ревизий.

Но Гит работает только на вашем компьютере. Чтобы сотрудничать с разработчиками за другими компьютерами, создали централизованные системы контроля версий (ЦСКВ). В них есть центральный сервер, на котором хранятся все файлы под версионным контролем, а ряд клиентов получают с него копии файлов. 


GitHub — это пример ЦСКВ, сервиса онлайн-хостинга репозиториев со всеми функциями распределённого контроля версий и функциональностью управления исходным кодом. По Гитхабу можно отслеживать активность написания кода ваших проектов. Как только вы публикуете или обновляете код (делаете коммит) Гитхаб показывает вашу активность в красивой серо-зелёной табличке.
 

Коммит — это фиксация изменений в программном коде.

Если у вас активный Гитхаб и интересные проекты, вас могут заметить рекрутеры и предложить работу.


Как использовать Гитхаб? Самое простое — программа GitHub Desktop. В ней у вас будет папка, которая синхронизируется с сервером Гитхаба и по вашей команде делает коммиты с новым кодом. Но в реальной работе вы будете использовать либо командную строку, либо встроенную систему Git в вашей IDE — это эффективнее всего. В конце урока мы оставим ссылку на увлекательный тренажёр по Git.


Когда вы сделаете несколько своих проектов, можно начать участвовать в хакатонах, чтобы тренировать работу в команде. Команды программистов на несколько дней собираются в одном месте и активно пишут код, чтобы решить поставленную организатором задачу — например, сделать прототип соц. сети с уникальным нововведением. Каким? Выбирать будете вместе с командой. Если победите, вас наградят деньгами или призами и могут взять на работу.

С помощью хакатона вы можете попасть туда, куда не прошли бы традиционный отбор с интервью.


Публиковать и тестировать проекты в интернете можно с помощью облачных сервисов, например, Яндекс Облако. Документация о использовании облака у Яндекса хорошая. Можно использовать их сервис облачных функций (Cloud Functions) для разработки навыка для голосового помощника Алисы.  
 


Как такое облачное приложение работает? Пользователь голосом запускает навык в своем приложении Яндекса, а приложение отправляет запрос на сервер (в Яндекс Облако). В Яндекс Облаке развернут код, например, на языке C#. Этот код обрабатывает запрос на ресурсах Облака и отправляет ответ пользователю. Если вы внимательно почитаете документацию, то сможете разработать и свой навык.

И в конце расскажем о супер современном подходе к развертыванию приложений — контейнерах
Докер. Это платформа контейнеризации с открытым исходным кодом, с помощью которой можно автоматизировать создание приложений, их доставку и управление.

Достаточно упаковать приложение со всеми зависимостями и процессами в виртуальную среду — контейнер, чтобы запускать в любых системах: Linux, Windows и macOS.

 

 Если говорить простыми словами, Докер — виртуальная копия готового для работы компьютера со всем необходимым: операционной системой, сервером и развернутым приложением.


Среда разработки Visual Studio, например, поддерживает Докер при создании проектов. И в Яндекс Облаке тоже можно Докер контейнер развернуть. Вряд ли вам пригодится Докер для учебных проектов, но для реальных задач и работы эту тему знать необходимо.

 

Дополнительные материалы:

Откройте на компьютере сайт https://learngitbranching.js.org/ и пройдите хотя бы несколько уроков — это интерактивное обучение принципам Git. Они точно понадобятся вам в учёбе и работе.